diff --git a/.github/workflows/.tests-python.yml b/.github/workflows/.tests-python.yml index e019e23a..894df0b4 100644 --- a/.github/workflows/.tests-python.yml +++ b/.github/workflows/.tests-python.yml @@ -68,6 +68,14 @@ jobs: --health-retries 5 selenium: image: selenium/standalone-firefox + mailhog: + image: mailhog/mailhog:latest + redis: + image: redis:latest + env: + APP_SETTINGS: fittrackee.config.End2EndTestingConfig + EMAIL_URL: "smtp://mailhog:1025" + REDIS_URL: "redis://redis:6379" steps: - uses: actions/checkout@v2 - name: Install Poetry and Dependencies @@ -83,4 +91,5 @@ jobs: setsid nohup flask run --with-threads -h 0.0.0.0 -p 5000 >> nohup.out 2>&1 & export TEST_APP_URL=http://$(hostname --ip-address):5000 sleep 5 + nohup flask worker --processes=1 >> nohup.out 2>&1 & pytest e2e --driver Remote --capability browserName firefox --host selenium --port 4444 diff --git a/docs/_sources/api/auth.rst.txt b/docs/_sources/api/auth.rst.txt index 9195d865..8d54d004 100644 --- a/docs/_sources/api/auth.rst.txt +++ b/docs/_sources/api/auth.rst.txt @@ -4,8 +4,9 @@ Authentication .. autoflask:: fittrackee:create_app() :endpoints: auth.register_user, + auth.confirm_account, + auth.resend_account_confirmation_email, auth.login_user, - auth.logout_user, auth.get_authenticated_user_profile, auth.edit_user, auth.edit_user_preferences, @@ -14,4 +15,6 @@ Authentication auth.edit_picture, auth.del_picture, auth.request_password_reset, - auth.update_password + auth.update_user_account, + auth.update_password, + auth.update_email diff --git a/docs/_sources/features.rst.txt b/docs/_sources/features.rst.txt index e013b0bd..4f917b52 100644 --- a/docs/_sources/features.rst.txt +++ b/docs/_sources/features.rst.txt @@ -44,9 +44,13 @@ Workouts - average speed (**new in 0.5.1**) - User records by sports: - average speed - - farest distance + - farthest distance - longest duration - maximum speed + +.. note:: + Records may differ from records displayed by the application that originally generated the gpx files. + - Workouts list and filter. Only sports with workouts are displayed in sport dropdown. .. note:: @@ -58,6 +62,7 @@ Account & preferences - A user can create, update and deleted his account - A user can set language, timezone and first day of week. - A user can reset his password (*new in 0.3.0*) +- A user can change his email address (*new in 0.6.0*) - A user can choose between metric system and imperial system for distance, elevation and speed display (*new in 0.5.0*) - A user can set sport preferences (*new in 0.5.0*): - change sport color (used for sport image and charts) @@ -82,6 +87,7 @@ Administration - maximum size of uploaded files - maximum size of zip archive - maximum number of files in the zip archive. If an archive contains more files, only the configured number of files is processed, without raising errors. + - administrator email for contact (*new in 0.6.0*) .. warning:: Updating server configuration may be necessary to handle large files (like `nginx `_ for instance). @@ -89,8 +95,12 @@ Administration - **Users** - - display users list and details - - edit a user to add/remove administration rights + - display and filter users list + - edit a user to: + - add/remove administration rights + - activate his account (*new in 0.6.0*) + - update his email (in case his account is locked) (*new in 0.6.0*) + - reset his password (in case his account is locked) (*new in 0.6.0*) - delete a user - **Sports** diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt index b9d46376..66e03bda 100644 --- a/docs/_sources/installation.rst.txt +++ b/docs/_sources/installation.rst.txt @@ -298,6 +298,8 @@ For instance, copy and update ``.env`` file from ``.env.example`` and source the $ fittrackee_set_admin +.. note:: + If the user account is inactive, it activates it. From sources ^^^^^^^^^^^^ diff --git a/docs/api/auth.html b/docs/api/auth.html index 751b5193..f5e0a0db 100644 --- a/docs/api/auth.html +++ b/docs/api/auth.html @@ -130,7 +130,9 @@
POST /api/auth/register
-

register a user

+

register a user and send confirmation email.

+

The newly created account is inactive. The user must confirm his email +to activate it.

Example request:

POST /api/auth/register HTTP/1.1
 Content-Type: application/json
@@ -138,14 +140,12 @@
 

Example responses:

    -
  • successful registration

  • +
  • success

-
HTTP/1.1 201 CREATED
+
HTTP/1.1 200 SUCCESS
 Content-Type: application/json
 
 {
-  "auth_token": "JSON Web Token",
-  "message": "successfully registered",
   "status": "success"
 }
 
@@ -165,23 +165,24 @@
Request JSON Object
    -
  • username (string) – user name (3 to 12 characters required)

  • +
  • username (string) – username (3 to 30 characters required)

  • email (string) – user email

  • password (string) – password (8 characters required)

  • -
  • password_conf (string) – password confirmation

Status Codes
    -
  • 201 Created – successfully registered

  • +
  • 200 OK – success

  • 400 Bad Request

    • invalid payload

    • -
    • sorry, that user already exists

    • +
    • sorry, that username is already taken

    • Errors:
        -
      • username: 3 to 12 characters required

      • +
      • username: 3 to 30 characters required

      • +
      • username: +only alphanumeric characters and the underscore +character “_” allowed

      • email: valid email must be provided

      • -
      • password: password and password confirmation don’t match

      • password: 8 characters required

      @@ -196,10 +197,82 @@
+
+
+POST /api/auth/account/confirm
+

activate user account after registration

+

Example request:

+
POST /api/auth/account/confirm HTTP/1.1
+Content-Type: application/json
+
+
+

Example response:

+
HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+  "auth_token": "JSON Web Token",
+  "message": "account confirmation successful",
+  "status": "success"
+}
+
+
+
+
Request JSON Object
+
    +
  • token (string) – confirmation token

  • +
+
+
Status Codes
+
+
+
+
+ +
+
+POST /api/auth/account/resend-confirmation
+

resend email with instructions to confirm account

+

Example request:

+
POST /api/auth/account/resend-confirmation HTTP/1.1
+Content-Type: application/json
+
+
+

Example response:

+
HTTP/1.1 200 OK
+Content-Type: application/json
+
+{
+  "message": "confirmation email resent",
+  "status": "success"
+}
+
+
+
+
Request JSON Object
+
    +
  • email (string) – user email

  • +
+
+
Status Codes
+
+
+
+
+
POST /api/auth/login

user login

+

Only user with an active account can log in.

Example request:

POST /api/auth/login HTTP/1.1
 Content-Type: application/json
@@ -222,7 +295,7 @@
 
  • error on login

-
HTTP/1.1 404 NOT FOUND
+
HTTP/1.1 401 UNAUTHORIZED
 Content-Type: application/json
 
 {
@@ -235,7 +308,7 @@
 
Request JSON Object
  • email (string) – user email

  • -
  • password_conf (string) – password confirmation

  • +
  • password (string) – password

Status Codes
@@ -249,59 +322,10 @@
-
-
-GET /api/auth/logout
-

user logout

-

Example request:

-
GET /api/auth/logout HTTP/1.1
-Content-Type: application/json
-
-
-

Example responses:

-
    -
  • successful logout

  • -
-
HTTP/1.1 200 OK
-Content-Type: application/json
-
-{
-  "message": "successfully logged out",
-  "status": "success"
-}
-
-
-
    -
  • error on login

  • -
-
HTTP/1.1 401 UNAUTHORIZED
-Content-Type: application/json
-
-{
-  "message": "provide a valid auth token",
-  "status": "error"
-}
-
-
-
-
Request Headers
-
-
-
Status Codes
-
-
-
-
-
GET /api/auth/profile
-

get authenticated user info

+

get authenticated user info (profile, account, preferences)

Example request:

GET /api/auth/profile HTTP/1.1
 Content-Type: application/json
@@ -320,6 +344,7 @@
     "email": "sam@example.com",
     "first_name": null,
     "imperial_units": false,
+    "is_active": true,
     "language": "en",
     "last_name": null,
     "location": null,
@@ -402,7 +427,7 @@
 
POST /api/auth/profile/edit
-

edit authenticated user

+

edit authenticated user profile

Example request:

POST /api/auth/profile/edit HTTP/1.1
 Content-Type: application/json
@@ -421,6 +446,7 @@
     "email": "sam@example.com",
     "first_name": null,
     "imperial_units": false,
+    "is_active": true,
     "language": "en",
     "last_name": null,
     "location": null,
@@ -489,8 +515,6 @@
 
  • location (string) – user location

  • bio (string) – user biography

  • birth_date (string) – user birth date (format: %Y-%m-%d)

  • -
  • password (string) – user password

  • -
  • password_conf (string) – user password confirmation

  • Request Headers
    @@ -503,7 +527,6 @@
  • 200 OK – user profile updated

  • 400 Bad Request

    • invalid payload

    • -
    • password: password and password confirmation don’t match

  • 401 Unauthorized

      @@ -540,6 +563,7 @@ "email": "sam@example.com", "first_name": null, "imperial_units": false, + "is_active": true, "language": "en", "last_name": null, "location": null, @@ -862,10 +886,140 @@
  • +
    +
    +PATCH /api/auth/profile/edit/account
    +

    update authenticated user email and password

    +

    It sends emails:

    +
      +
    • Password change

    • +
    • Email change:

      +
        +
      • one to the current address to inform user

      • +
      • another one to the new address to confirm it.

      • +
      +
    • +
    +

    Example request:

    +
    PATCH /api/auth/profile/edit/account HTTP/1.1
    +Content-Type: application/json
    +
    +
    +

    Example response:

    +
    HTTP/1.1 200 OK
    +Content-Type: application/json
    +
    +{
    +  "data": {
    +    "admin": false,
    +    "bio": null,
    +    "birth_date": null,
    +    "created_at": "Sun, 14 Jul 2019 14:09:58 GMT",
    +    "email": "sam@example.com",
    +    "first_name": null,
    +    "imperial_units": false,
    +    "is_active": true,
    +    "language": "en",
    +    "last_name": null,
    +    "location": null,
    +    "nb_sports": 3,
    +    "nb_workouts": 6,
    +    "picture": false,
    +    "records": [
    +      {
    +        "id": 9,
    +        "record_type": "AS",
    +        "sport_id": 1,
    +        "user": "sam",
    +        "value": 18,
    +        "workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
    +        "workout_id": "hvYBqYBRa7wwXpaStWR4V2"
    +      },
    +      {
    +        "id": 10,
    +        "record_type": "FD",
    +        "sport_id": 1,
    +        "user": "sam",
    +        "value": 18,
    +        "workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
    +        "workout_id": "hvYBqYBRa7wwXpaStWR4V2"
    +      },
    +      {
    +        "id": 11,
    +        "record_type": "LD",
    +        "sport_id": 1,
    +        "user": "sam",
    +        "value": "1:01:00",
    +        "workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
    +        "workout_id": "hvYBqYBRa7wwXpaStWR4V2"
    +      },
    +      {
    +        "id": 12,
    +        "record_type": "MS",
    +        "sport_id": 1,
    +        "user": "sam",
    +        "value": 18,
    +        "workout_date": "Sun, 07 Jul 2019 08:00:00 GMT",
    +        "workout_id": "hvYBqYBRa7wwXpaStWR4V2"
    +      }
    +    ],
    +    "sports_list": [
    +        1,
    +        4,
    +        6
    +    ],
    +    "timezone": "Europe/Paris",
    +    "total_distance": 67.895,
    +    "total_duration": "6:50:27",
    +    "username": "sam"
    +    "weekm": true,
    +  },
    +  "message": "user account updated",
    +  "status": "success"
    +}
    +
    +
    +
    +
    Request JSON Object
    +
      +
    • email (string) – user email

    • +
    • password (string) – user current password

    • +
    • new_password (string) – user new password

    • +
    +
    +
    Request Headers
    +
    +
    +
    Status Codes
    +
      +
    • 200 OK – user account updated

    • +
    • 400 Bad Request

        +
      • invalid payload

      • +
      • email is missing

      • +
      • current password is missing

      • +
      • email: valid email must be provided

      • +
      • password: 8 characters required

      • +
      +

    • +
    • 401 Unauthorized

        +
      • provide a valid auth token

      • +
      • signature expired, please log in again

      • +
      • invalid token, please log in again

      • +
      • invalid credentials

      • +
      +

    • +
    • 500 Internal Server Error – error, please try again or contact the administrator

    • +
    +
    +
    +
    +
    POST /api/auth/password/update
    -

    update user password

    +

    update user password after password reset request

    Example request:

    POST /api/auth/password/update HTTP/1.1
     Content-Type: application/json
    @@ -885,7 +1039,6 @@
     
    Request JSON Object
    • password (string) – password (8 characters required)

    • -
    • password_conf (string) – password confirmation

    • token (string) – password reset token

    @@ -900,6 +1053,41 @@
    +
    +
    +POST /api/auth/email/update
    +

    update user email after confirmation

    +

    Example request:

    +
    POST /api/auth/email/update HTTP/1.1
    +Content-Type: application/json
    +
    +
    +

    Example response:

    +
    HTTP/1.1 200 OK
    +Content-Type: application/json
    +
    +{
    +  "message": "email updated",
    +  "status": "success"
    +}
    +
    +
    +
    +
    Request JSON Object
    +
      +
    • token (string) – password reset token

    • +
    +
    +
    Status Codes
    +
    +
    +
    +
    + diff --git a/docs/api/configuration.html b/docs/api/configuration.html index 362aa3d7..266b8652 100644 --- a/docs/api/configuration.html +++ b/docs/api/configuration.html @@ -180,6 +180,7 @@ { "data": { + "admin_contact": "admin@example.com", "gpx_limit_import": 10, "is_registration_enabled": true, "max_single_file_size": 1048576, @@ -193,6 +194,7 @@
    Request JSON Object
      +
    • admin_contact (string) – email to contact the administrator

    • gpx_limit_import (integer) – max number of files in zip archive

    • is_registration_enabled (boolean) – is registration enabled ?

    • max_single_file_size (integer) – max size of a single file

    • @@ -213,6 +215,7 @@
    • provide a valid auth token

    • signature expired, please log in again

    • invalid token, please log in again

    • +
    • valid email must be provided for admin contact

  • 403 Forbidden – you do not have permissions

  • diff --git a/docs/api/users.html b/docs/api/users.html index 6c73e489..b23ab042 100644 --- a/docs/api/users.html +++ b/docs/api/users.html @@ -130,7 +130,9 @@
    GET /api/users
    -

    Get all users

    +

    Get all users (regardless their account status), if authenticated user +has admin rights

    +

    It returns user preferences only for authenticated user.

    Example request:

    • without parameters

    • @@ -160,6 +162,7 @@ "created_at": "Sun, 14 Jul 2019 14:09:58 GMT", "email": "admin@example.com", "first_name": null, + "is_admin": true, "imperial_units": false, "language": "en", "last_name": null, @@ -213,7 +216,8 @@ "timezone": "Europe/Paris", "total_distance": 67.895, "total_duration": "6:50:27", - "username": "admin" + "username": "admin", + "weekm": false }, { "admin": false, @@ -222,6 +226,7 @@ "created_at": "Sat, 20 Jul 2019 11:27:03 GMT", "email": "sam@example.com", "first_name": null, + "is_admin": false, "language": "fr", "last_name": null, "location": null, @@ -248,7 +253,7 @@
    • per_page (integer) – number of users per page (default: 10, max: 50)

    • q (string) – query on user name

    • order_by (string) – sorting criteria (username, created_at, -workouts_count, admin)

    • +workouts_count, admin, is_active)

    • order (string) – sorting order (default: asc)

    @@ -274,7 +279,8 @@
    GET /api/users/(user_name)
    -

    Get single user details

    +

    Get single user details. Only user with admin rights can get user details.

    +

    It returns user preferences only for authenticated user.

    Example request:

    GET /api/users/admin HTTP/1.1
     Content-Type: application/json
    @@ -294,6 +300,7 @@
           "email": "admin@example.com",
           "first_name": null,
           "imperial_units": false,
    +      "is_admin": true,
           "language": "en",
           "last_name": null,
           "location": null,
    @@ -418,10 +425,16 @@
     
    PATCH /api/users/(user_name)
    -

    Update user to add admin rights

    +

    Update user account

    +
      +
    • add/remove admin rights (regardless user account status)

    • +
    • reset password (and send email to update user password)

    • +
    • update user email (and send email to update user password)

    • +
    • activate account for an inactive user

    • +

    Only user with admin rights can modify another user

    Example request:

    -
    PATCH api/users/<user_name> HTTP/1.1
    +
    PATCH /api/users/<user_name> HTTP/1.1
     Content-Type: application/json
     
    @@ -439,6 +452,7 @@ "email": "admin@example.com", "first_name": null, "imperial_units": false, + "is_active": true, "language": "en", "last_name": null, "location": null, @@ -506,7 +520,10 @@
    Request JSON Object
      +
    • activate (boolean) – activate user account

    • admin (boolean) – does the user have administrator rights

    • +
    • new_email (boolean) – new user email

    • +
    • reset_password (boolean) – reset user password

    Request Headers
    @@ -517,6 +534,12 @@
    Status Codes
    • 200 OK – success

    • +
    • 400 Bad Request

        +
      • invalid payload

      • +
      • valid email must be provided

      • +
      • new email must be different than curent email

      • +
      +

    • 401 Unauthorized

      • provide a valid auth token

      • signature expired, please log in again

      • diff --git a/docs/features.html b/docs/features.html index 29f8c19b..065ef29e 100644 --- a/docs/features.html +++ b/docs/features.html @@ -209,13 +209,19 @@
      • User records by sports:
        • average speed

        • -
        • farest distance

        • +
        • farthest distance

        • longest duration

        • maximum speed

      • +
      +
      +

      Note

      +

      Records may differ from records displayed by the application that originally generated the gpx files.

      +
      +
      • Workouts list and filter. Only sports with workouts are displayed in sport dropdown.

      @@ -229,6 +235,7 @@
    • A user can create, update and deleted his account

    • A user can set language, timezone and first day of week.

    • A user can reset his password (new in 0.3.0)

    • +
    • A user can change his email address (new in 0.6.0)

    • A user can choose between metric system and imperial system for distance, elevation and speed display (new in 0.5.0)

    • A user can set sport preferences (new in 0.5.0):
        @@ -260,6 +267,7 @@
      • maximum size of uploaded files

      • maximum size of zip archive

      • maximum number of files in the zip archive. If an archive contains more files, only the configured number of files is processed, without raising errors.

      • +
      • administrator email for contact (new in 0.6.0)

      Warning

      @@ -268,8 +276,17 @@
    • Users

        -
      • display users list and details

      • -
      • edit a user to add/remove administration rights

      • +
      • display and filter users list

      • +
      • +
        edit a user to:
          +
        • add/remove administration rights

        • +
        • activate his account (new in 0.6.0)

        • +
        • update his email (in case his account is locked) (new in 0.6.0)

        • +
        • reset his password (in case his account is locked) (new in 0.6.0)

        • +
        +
        +
        +
      • delete a user

    • diff --git a/docs/http-routingtable.html b/docs/http-routingtable.html index 8bfbcb2a..b2f6ddc1 100644 --- a/docs/http-routingtable.html +++ b/docs/http-routingtable.html @@ -125,11 +125,6 @@   /api - - - - GET /api/auth/logout - @@ -235,6 +230,21 @@ GET /api/workouts/map_tile/(s)/(z)/(x)/(y).png + + + + POST /api/auth/account/confirm + + + + + POST /api/auth/account/resend-confirmation + + + + + POST /api/auth/email/update + @@ -305,6 +315,11 @@ DELETE /api/workouts/(string:workout_short_id) + + + + PATCH /api/auth/profile/edit/account + diff --git a/docs/installation.html b/docs/installation.html index 6450d409..b4f8a0f3 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -557,6 +557,10 @@ $ source .env
      $ fittrackee_set_admin <username>
       
      +
      +

      Note

      +

      If the user account is inactive, it activates it.

      +

      From sources

      diff --git a/docs/objects.inv b/docs/objects.inv index 7a181023..2714876a 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/searchindex.js b/docs/searchindex.js index 231434f9..050c87a3 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["api/auth","api/configuration","api/index","api/records","api/sports","api/stats","api/users","api/workouts","changelog","features","index","installation","troubleshooting/administrator","troubleshooting/index","troubleshooting/user"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/auth.rst","api/configuration.rst","api/index.rst","api/records.rst","api/sports.rst","api/stats.rst","api/users.rst","api/workouts.rst","changelog.md","features.rst","index.rst","installation.rst","troubleshooting/administrator.rst","troubleshooting/index.rst","troubleshooting/user.rst"],objects:{"":[[0,0,1,"post--api-auth-login","/api/auth/login"],[0,1,1,"get--api-auth-logout","/api/auth/logout"],[0,0,1,"post--api-auth-password-reset-request","/api/auth/password/reset-request"],[0,0,1,"post--api-auth-password-update","/api/auth/password/update"],[0,2,1,"delete--api-auth-picture","/api/auth/picture"],[0,0,1,"post--api-auth-picture","/api/auth/picture"],[0,1,1,"get--api-auth-profile","/api/auth/profile"],[0,0,1,"post--api-auth-profile-edit","/api/auth/profile/edit"],[0,0,1,"post--api-auth-profile-edit-preferences","/api/auth/profile/edit/preferences"],[0,0,1,"post--api-auth-profile-edit-sports","/api/auth/profile/edit/sports"],[0,2,1,"delete--api-auth-profile-reset-sports-(sport_id)","/api/auth/profile/reset/sports/(sport_id)"],[0,0,1,"post--api-auth-register","/api/auth/register"],[1,1,1,"get--api-config","/api/config"],[1,3,1,"patch--api-config","/api/config"],[1,1,1,"get--api-ping","/api/ping"],[3,1,1,"get--api-records","/api/records"],[4,1,1,"get--api-sports","/api/sports"],[4,1,1,"get--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[4,3,1,"patch--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[5,1,1,"get--api-stats-(user_name)-by_sport","/api/stats/(user_name)/by_sport"],[5,1,1,"get--api-stats-(user_name)-by_time","/api/stats/(user_name)/by_time"],[5,1,1,"get--api-stats-all","/api/stats/all"],[6,1,1,"get--api-users","/api/users"],[6,2,1,"delete--api-users-(user_name)","/api/users/(user_name)"],[6,1,1,"get--api-users-(user_name)","/api/users/(user_name)"],[6,3,1,"patch--api-users-(user_name)","/api/users/(user_name)"],[6,1,1,"get--api-users-(user_name)-picture","/api/users/(user_name)/picture"],[7,1,1,"get--api-workouts","/api/workouts"],[7,0,1,"post--api-workouts","/api/workouts"],[7,2,1,"delete--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,3,1,"patch--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data","/api/workouts/(string:workout_short_id)/chart_data"],[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx","/api/workouts/(string:workout_short_id)/gpx"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx-download","/api/workouts/(string:workout_short_id)/gpx/download"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"],[7,1,1,"get--api-workouts-map-(map_id)","/api/workouts/map/(map_id)"],[7,0,1,"post--api-workouts-no_gpx","/api/workouts/no_gpx"],[11,4,1,"-","APP_LOG"],[11,4,1,"-","APP_SECRET_KEY"],[11,4,1,"-","APP_SETTINGS"],[11,4,1,"-","APP_WORKERS"],[11,4,1,"-","DATABASE_DISABLE_POOLING"],[11,4,1,"-","DATABASE_URL"],[11,4,1,"envvar-DEFAULT_STATICMAP","DEFAULT_STATICMAP \ud83c\udd95"],[11,4,1,"-","EMAIL_URL"],[11,4,1,"-","FLASK_APP"],[11,4,1,"-","HOST"],[11,4,1,"-","MAP_ATTRIBUTION"],[11,4,1,"-","PORT"],[11,4,1,"-","REDIS_URL"],[11,4,1,"-","SENDER_EMAIL"],[11,4,1,"-","TILE_SERVER_URL"],[11,4,1,"-","UI_URL"],[11,4,1,"-","UPLOAD_FOLDER"],[11,4,1,"-","VUE_APP_API_URL"],[11,4,1,"-","WEATHER_API_KEY"],[11,4,1,"-","WORKERS_PROCESSES"]],"/api/workouts/map_tile/(s)/(z)/(x)/(y)":[[7,1,1,"get--api-workouts-map_tile-(s)-(z)-(x)-(y).png","png"]]},objnames:{"0":["http","post","HTTP post"],"1":["http","get","HTTP get"],"2":["http","delete","HTTP delete"],"3":["http","patch","HTTP patch"],"4":["std","envvar","environment variable"]},objtypes:{"0":"http:post","1":"http:get","2":"http:delete","3":"http:patch","4":"std:envvar"},terms:{"0":[0,1,3,4,5,6,7,9,11],"00":[0,3,6,7],"000000":0,"01":[0,3,5,6,7],"02":7,"03":[6,7],"04":7,"06":5,"07":[0,3,6,7],"08":[0,3,6],"09":[0,6],"0mb":[0,7],"1":[0,1,3,4,5,6,7,9,11],"10":[0,1,3,6,7,11],"100":[7,8,9],"1000":5,"101":8,"104":8,"1048576":1,"10485760":1,"109":8,"11":[0,3,6,9],"115":8,"116":8,"12":[0,3,6,7],"121":8,"123":8,"1232004":7,"12341":5,"1234538":7,"1267":5,"127":[8,11],"129":8,"13":7,"131":8,"134":8,"135":8,"138":8,"14":[0,6,7],"140":8,"145":8,"146":8,"149":8,"15":[5,7],"150":5,"151":8,"152":8,"156":5,"1563529507772":7,"16":[5,7],"17":[7,11],"178":5,"18":[0,3,6,7,8],"2":[0,1,3,4,5,6,7,9,11],"20":6,"200":[0,1,3,4,5,6,7],"201":[0,7],"2017":[5,7],"2018":[5,7],"2019":[0,3,5,6,7],"203":5,"204":[0,6,7],"22":[7,8],"24":8,"25":[8,11],"26":8,"27":[0,6],"279":7,"28":8,"280":7,"282":5,"2930":7,"2e1ee2c":8,"3":[0,4,5,6,7,9,11],"30":5,"3000":11,"301":11,"31":7,"33":8,"34":8,"34614d5":8,"36":8,"37":8,"39":7,"4":[0,4,5,6,7,11],"40":8,"400":[0,1,4,7],"401":[0,1,3,4,5,6,7],"403":[0,1,4,5,6,7],"404":[0,4,5,6,7],"41":8,"4109":7,"413":[0,7],"43":8,"44":[7,8],"443":11,"45":7,"46":[5,8],"465":11,"47":[5,7,8],"48":5,"4c3fc34":8,"5":[1,4,5,6,7,9,11],"50":[0,6,8],"500":[0,1,4,6,7],"5000":11,"5078118":7,"5079733":7,"51":7,"53":8,"54":8,"5432":11,"57":[7,8],"58":[0,6,8],"587":11,"59":8,"6":[0,4,6,7],"613":5,"62":8,"63":7,"64":8,"66":8,"67":[0,6],"7":[1,7,11],"70":8,"71":8,"72":8,"7380":7,"75":8,"78":5,"79":8,"8":[0,7],"80":[8,11],"8025":11,"81":8,"82":8,"83":8,"84":8,"877fa0f":8,"895":[0,6],"9":[0,3,6,11],"90":8,"91":8,"93":8,"95":[5,8],"98":8,"99":[5,8],"9960":5,"boolean":[0,1,6],"case":9,"default":[5,6,7,8,9,11],"do":[1,4,5,6,7],"export":10,"float":[0,7],"import":[8,11],"int":[4,7],"new":[0,9,11],"null":[0,4,6,7],"return":[3,7,11],"short":7,"static":[8,11],"switch":8,"true":[0,1,4,6,8,11],"try":[0,6,7],A:[6,8,9],AS:[0,3,6,7],And:8,For:[9,11],If:[9,11],In:[8,9],It:[8,9,10,12],NO:[0,6,7],NOT:[0,4,7],No:[0,6,7,8,10],Not:[0,4,5,6,7],OF:11,ON:11,On:11,One:11,TO:11,The:[8,9,11],There:11,To:11,WITH:11,With:11,_:8,__main__:11,_blank:11,access:11,account:[6,8,11],acit:7,activ:[4,8,9,10,11],ad:[0,8,9],adapt:11,add:[6,8,9,10],addit:11,address:11,admin:[0,1,3,4,5,6,7,8,9,11],administr:[0,6,7,13],after:[8,11],again:[0,1,3,4,5,6,7],agplv3:8,all:[3,4,5,6,11],allow:[0,1,7,8,9,10],along:7,alphanumer:8,alpin:9,alreadi:0,also:[8,10,11],altitud:8,alwai:11,an:[1,4,6,7,8,9,11],android:10,anoth:[6,11],anymor:8,apach:10,api:[0,1,3,4,5,6,7,8,9,10,11],apikei:11,app:[8,10],app_log:11,app_secret_kei:11,app_set:11,app_work:11,appear:9,applic:[0,1,3,4,5,6,7,8,9,10,11],ar:[3,7,8,9,10,11,12],arch:11,archiv:[1,8,9,11],archlinux:11,arrow:9,asc:6,ascent:[7,9],attribut:11,auth:[0,1,3,4,5,6,7],auth_token:0,authent:[1,2,3,4,7],author:[0,1,3,4,5,6,7],autoescap:8,avail:[0,3,9,11],ave_spe:7,ave_speed_from:7,ave_speed_to:7,averag:[3,7,8,9],average_spe:5,avoid:8,axi:7,b862a77:8,b:11,background:8,backup:11,bad:[0,1,4,7],bearer:[0,1,3,4,5,6,7],becom:8,been:8,befor:[8,11],begin:11,better:8,between:9,bike:[4,7,8,9],bin:11,bio:[0,6],biographi:0,birth:[0,8],birth_dat:[0,6],bound:7,build:11,button:8,by_sport:5,by_tim:5,c:7,calcul:8,calendar:[8,9],can:[6,8,9,10,11,12],cannot:8,cd:11,chang:[9,10,11],changelog:11,charact:[0,8],chart:[7,8,9,11],chart_data:7,check:[1,8,11,12],choos:[8,9],client:[8,11],client_max_body_s:11,clone:11,code:[0,1,3,4,5,6,7],color:[0,4,8,9],com:[0,6,11],come:9,command:[8,11],complet:8,compos:11,config:[1,8,11],configur:[2,8,9,11],confirm:0,contact:[0,6,7],contain:[8,9,11],content:[0,1,3,4,5,6,7],contributor:[1,8,11],control:[8,9],coordin:11,copi:[1,11],copyright:[1,11],correctli:8,countri:9,cp:11,creat:[0,7,8,9,11],create_app:11,created_at:[0,6],creation:[8,9],creation_d:7,credenti:[0,11],criteria:6,cross:9,current:8,custom:11,cycl:[4,8,9],d:[0,5,7],dai:[8,9],danielsiersleben:8,dark:11,darkski:[8,9],dashboard:8,data:[0,1,3,4,5,6,7,8,9,10,11],databas:[8,9,11,12],database_disable_pool:11,database_url:[8,11],date:[0,5,7,8,9],db:11,debian:11,default_staticmap:[8,11],defin:9,definit:8,delet:[0,6,7,8,9],depend:[8,11],desc:7,descent:[7,9],describ:11,descript:11,detail:[6,8],develop:[8,10],dialect:12,differ:8,direct:[8,9],directli:11,directori:[8,11],disabl:[0,8,9,11],displai:[7,8,9,10,11,12],distanc:[3,7,8,9],distance_from:7,distance_to:7,distribut:11,docker:8,document:[8,10,11],doe:[0,5,6,7,8],don:0,dotenv:8,down:8,download:[7,8,9,11],dramatiq:[8,11],drop:8,dropdown:9,due:8,durat:[3,7,8,9],duration_from:7,duration_to:7,dure:[0,7],easi:8,edit:[0,8,9],electr:9,elev:[7,8,9,11],els:11,email:[0,6,8],email_url:11,empti:8,en:[0,6],enabl:[1,9],encount:11,end:[5,7],endpoint:[1,8],engin:[8,11,12],english:9,enter:[8,9],entiti:[0,7],entri:11,entrypoint:8,env:11,environ:[8,12],error:[0,1,4,6,7,8,9,11,12],europ:[0,6],evalu:[8,11],even:[8,9],exampl:[0,1,3,4,5,6,7,10,11],exc:12,exce:[0,7],exceed:8,except:6,execstart:11,exhaust:10,exist:[0,5,6,7,9,10,11],expir:[0,1,3,4,5,6,7],extens:[0,7],fa33f4d996844a5c73ecd1ae24456ab8:7,fail:[8,13],fals:[0,1,4,6,7,11],farest:[3,8,9],fd:[0,3,6,7],featur:[10,11],fetch:11,file:[0,1,7,8,9,10,11],filter:[8,9],finish:8,first:[0,9],first_nam:[0,6],fitotrack:10,fittracke:[9,11,13],fittrackee_cli:11,fittrackee_set_admin:11,fittrackee_upgrade_db:11,fittrackee_work:11,flask:11,flask_app:11,flaticon:11,fmstrat:8,follow:[3,9,11,12],forbidden:[0,1,4,5,6,7],forecast:11,form:[0,7],format:[0,5,7],former:11,forrunn:10,forward:11,found:[0,4,5,6,7],fr:6,frame:5,freepik:11,french:9,fri:7,from:[5,7,8,9,10],full:[8,9],fullchain:11,fullscreen:8,gener:[8,11],get:[0,1,3,4,5,6,7],gif:0,git:11,github:11,given:[0,11],gmt:[0,3,6,7],gpl:10,gpx:[7,8,9,10,11],gpx_limit_import:1,gpxpy:[0,9,11],grant:11,graph:8,greater:8,gunicorn:[11,12],gz:11,h:[7,9],ha:[6,9],handl:[0,9,11],has_workout:4,have:[1,4,5,6,7,8],he:6,header:[0,1,3,4,5,6,7],health:1,heavi:[10,11],hexadecim:0,hi:[6,8,9],hike:[4,8,9],home:11,host:11,href:[1,11],http2:11,http:[0,1,3,4,5,6,7,11],hvybqybra7wwxpastwr4v2:[0,3,6],i18n:8,icon:[8,11],id:[0,3,4,5,6,7],imag:[0,6,7,8,9,11],imperi:[8,9],imperial_unit:[0,6],includ:8,incorrect:8,index:7,indic:9,info:0,inform:[8,10,11],init:11,initi:[8,11],initialis:[8,11],input:8,insid:11,instal:[8,10],instanc:[1,9,11],instead:9,instruct:8,integ:[1,4,5,6,7],interceptor:8,interfac:11,intern:[0,1,4,6,7],introduc:8,invalid:[0,1,3,4,5,6,7,8,11],io:11,ip:11,is_act:[0,4],is_active_for_us:4,is_registration_en:1,issu:[10,11],jan:7,javascript:8,jinja:8,john_do:6,jpeg:6,jpg:0,js:11,json:[0,1,3,4,5,6,7],jul:[0,3,6,7],keep:[8,10,11],kei:[8,9,11],kjxavsturjvoah2wvcegef:7,km:[7,9],label:[4,8],languag:[0,6,9],larg:[0,7,9],larger:11,last:[0,11],last_nam:[0,6],latitud:7,launch:8,layer:[8,11],ld:[0,3,6,7],leaflet:[7,11],least:7,legitim:8,less:8,librari:11,licens:[8,10],like:[9,11],limit:[8,9],link:11,linux:11,list:[8,10,11],listen:11,load:[8,12],local:[8,10,11],localhost:[8,11],locat:[0,6,11],log:[0,1,3,4,5,6,7,10,11,12],logfil:11,login:0,logo:11,logout:[0,8],longer:[8,12],longest:[3,8,9],longitud:7,m:[0,5,7],made:11,mai:[9,10,11],mailhog:11,major:8,make:[8,11],makefil:11,manag:8,mandatori:[7,8,11],map:[7,8,9,10],map_attribut:[1,11],map_id:7,map_til:7,marker:8,match:0,max:[1,6,7,8],max_alt:7,max_single_file_s:1,max_spe:7,max_speed_from:7,max_speed_to:7,max_us:1,max_zip_file_s:1,maxim:7,maximum:[3,8,9],messag:[0,1,7,8],method:11,metric:9,migrat:[8,11],min:8,min_alt:7,minim:7,miss:8,mobil:10,model:8,modifi:[6,8],modification_d:7,modul:11,mon:7,mondai:[0,5,9],montain:8,month:[5,8,9],more:[8,9,10,11],morn:7,mountain:[4,9],mous:8,move:[7,8],movement:8,ms:[0,3,6,7],multi:11,multipart:[0,7],must:[0,1,4,8,9,11,12],mv:11,n:0,name:[0,5,6,11],nano:11,nb_sport:[0,6],nb_workout:[0,5,6],necessari:[9,11],need:11,network:11,newli:11,next:9,next_workout:7,nginx:[9,11],no_gpx:7,non:[4,10],noopen:11,noreferr:11,nosuchmoduleerror:12,note:[7,8,9,11],now:[8,9,11],number:[1,6,7,8,9,11],oauth:[0,1,3,4,5,6,7],object:[0,1,4,6,7],ok:[0,1,3,4,5,6,7],omit:11,one:[6,7,9],onli:[6,7,8,9,11],open:[10,11],openstreetmap:[1,8,11],opentrack:10,option:[8,11],order:[6,7,8],order_bi:6,org:[1,11],os:11,other:[6,11],out:0,outdoor:[8,10,11],over:8,overrid:9,overridden:9,overwrit:11,own:[6,10],owner:[8,9],packag:[8,11],paf38:8,page:[6,7],pagin:[6,7],par_pag:6,paramet:[0,4,5,6,7,8,9],pari:[0,6],pars:[8,11],part:[0,7],pass:11,password:[0,8,9,11],password_conf:0,patch:[1,4,6,7],path:11,paus:[7,8],payload:[0,1,4,7],pem:11,per:[6,7,8],per_pag:[6,7],period:9,permiss:[1,4,5,6,7],pg_dump:11,pictur:[0,6,7],ping:1,pip:11,pipenv:8,pleas:[0,1,3,4,5,6,7,8],plugin:12,png:[0,7,11],poetri:[8,11],point:[8,11],pong:1,pool:11,port:11,posit:[8,9],possibl:[8,10],post:[0,7],postgr:[8,12],postgresql:[8,11,12],prefer:[0,8],previous_workout:7,privileg:11,privkei:11,process:[0,9,11],product:8,productionconfig:11,profil:0,project:11,provid:[0,1,3,4,5,6,7,8,9,11],proxi:11,proxy_add_x_forwarded_for:11,proxy_pass:11,proxy_redirect:11,proxy_set_head:11,pull:11,purpos:[8,11],pwd:11,py:11,python:[8,11],q:6,queri:[5,6,7],queue:11,r:11,rais:9,read:8,real:11,rebuild:8,rechart:7,recommend:11,record:[0,2,6,7,8,9],record_typ:[0,3,6,7],redi:[8,11],redis_url:11,refactor:8,regist:[0,1,11],registr:[0,1,8,9],rel:11,relat:[9,11],releas:11,remain:8,remote_addr:11,remov:[8,9],renam:8,replac:[8,11],repo:11,report:8,repositori:11,request:[0,1,3,4,5,6,7],request_uri:11,requir:0,reset:[0,8,9],resolut:8,respons:[0,1,3,4,5,6,7],restart:11,restartsec:11,right:[6,8,9,11],rout:8,row:9,run:[4,8,9,11],runner:10,s:[6,7,8,11],sam:[0,6],same:8,samr1:11,sanit:8,sat:6,save:[8,9],schema:11,screen:[8,9],script:8,search:8,second:7,secret:11,see:[8,9,10,11],seem:8,segment:[7,8,9],segment_id:7,select:[0,7],send:[8,11],sender:11,sender_email:11,serv:[8,11],server:[0,1,4,6,7,8,9,10],server_nam:11,servic:11,set:[8,9,11],sever:[8,10,11],shell:11,should:11,show:8,shown:8,side:8,signatur:[0,1,3,4,5,6,7],simpl:11,simplifi:8,sinc:11,singl:[1,6],size:[0,1,7,8,9],ski:9,sky:11,slow:8,small:8,smtp:[8,11],snowsho:[8,9],some:[6,7,8,10,11],sorri:0,sort:[6,7],spawn:11,speed:[0,3,7,8,9,11],spinner:8,sport:[0,2,5,7,8,9,11],sport_id:[0,3,4,5,6,7],sports_list:[0,6],sql:11,sqlalchemi:[8,11,12],ssl:11,ssl_certif:11,ssl_certificate_kei:11,standard:[8,11],standarderror:11,standardoutput:11,start:[0,5,7,8,9,11,13],startlimitintervalsec:11,starttl:11,stat:[5,8],staticmap:11,statist:2,statu:[0,1,3,4,5,6,7],step:11,still:[9,10],stop:[0,8,9,11],stopped_speed_threshold:[0,4],store:[9,10],street:10,string:[0,4,5,6,7],subdomain:7,success:[0,1,3,4,5,6,7],successfulli:0,sun:[0,3,6,7],sundai:[5,7,9],support:[8,9,12],syslog:11,syslogidentifi:11,system:[9,11],systemd:11,t:[0,8,12],tar:11,target:11,task:11,templat:8,term:[8,11],test:11,textarea:8,than:8,thank:8,thei:11,them:10,thi:[7,8,9,10,11],threshold:[0,8,9],thunderforest:[8,11],tile:[7,8],tile_server_url:11,time:[0,5,7,8,9],timezon:[0,6,8,9],titl:7,tl:11,todo:14,token:[0,1,3,4,5,6,7],too:[0,7],tool:11,tooltip:[8,9],total:[8,9],total_asc:5,total_dist:[0,5,6],total_dur:[0,5,6],track:10,trail:9,transport:[4,8,9],troubleshoot:10,type:[0,1,3,4,5,6,7,11],typescript:11,u:11,ui:8,ui_url:11,unauthor:[0,1,3,4,5,6,7],under:[10,11],unencrypt:11,unit:[8,11],unstabl:[10,11],up:[9,10],updat:[0,1,4,6,7,8,9,11],upgrad:8,upload:[8,9,11],upload_fold:11,uploads_dir_s:5,uri:8,url:[8,11,12],us:[0,6,7,8,9,10,11],user:[0,1,2,3,4,5,7,8,9,11,13],user_id:0,user_nam:[5,6],usernam:[0,6,8,11],uuid:[7,8],v0:11,v3:10,valid:[0,1,3,4,5,6,7,8,11],valu:[0,3,6,7],variabl:[8,12],venv:11,version:[1,11],view:[8,9],virtualenv:11,vue3:11,vue:11,vue_app_api_url:11,vuex:11,w:8,wa:8,wai:11,walk:[4,8,9],wantedbi:11,warn:8,weather:[8,9,11],weather_api:11,weather_api_kei:11,weather_end:7,weather_start:7,web:[0,10,11],week:[0,5,8,9],weekend:8,weekm:[0,5],were:8,wget:11,when:[0,1,8,9,11],where:11,which:9,wind:[8,9],with_gpx:7,without:[5,6,7,8,9,10],worker:[8,11],workers_process:11,workingdirectori:11,workout:[0,2,5,8,10],workout_d:[0,3,6,7],workout_id:[0,3,6,7],workout_short_id:7,workouts_count:6,written:11,www:[1,11],x:[7,11],xml:7,xxxx:11,xzf:11,y:[0,5,7,11],yai:11,yarn:11,year:[5,9],yet:10,you:[1,4,5,6,7,10],your:[6,10,11],z:[7,11],zip:[1,7,8,9],zone:0,zoom:7},titles:["Authentication","Configuration","API documentation","Records","Sports","Statistics","Users","Workouts","Change log","Features","FitTrackee","Installation","Administrator","Troubleshooting","User"],titleterms:{"0":8,"01":8,"02":8,"03":8,"04":8,"05":8,"07":8,"09":8,"1":8,"10":8,"11":8,"12":8,"13":8,"14":8,"15":8,"16":8,"17":8,"19":8,"2":8,"2018":8,"2019":8,"2020":8,"2021":8,"2022":8,"21":8,"23":8,"29":8,"3":8,"30":8,"31":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"new":8,account:9,administr:[8,9,12],api:2,authent:0,avail:8,bug:8,chang:8,close:8,configur:1,content:10,dashboard:9,deploy:11,detail:9,dev:11,develop:11,docker:11,document:2,email:11,endpoint:[2,13],environ:11,fail:12,featur:[8,9],first:8,fittracke:[8,10,12],fix:8,french:8,from:11,improv:8,instal:11,issu:8,list:9,log:8,map:11,minor:8,misc:8,prefer:9,prerequisit:11,prod:11,product:11,pull:8,pypi:[8,11],record:3,releas:8,request:8,screenshot:9,secur:8,server:11,sourc:11,sport:4,start:12,statist:[5,8,9],tabl:10,tile:11,translat:9,troubleshoot:13,upgrad:11,user:[6,14],variabl:11,version:8,workout:[7,9]}}) \ No newline at end of file +Search.setIndex({docnames:["api/auth","api/configuration","api/index","api/records","api/sports","api/stats","api/users","api/workouts","changelog","features","index","installation","troubleshooting/administrator","troubleshooting/index","troubleshooting/user"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/auth.rst","api/configuration.rst","api/index.rst","api/records.rst","api/sports.rst","api/stats.rst","api/users.rst","api/workouts.rst","changelog.md","features.rst","index.rst","installation.rst","troubleshooting/administrator.rst","troubleshooting/index.rst","troubleshooting/user.rst"],objects:{"":[[0,0,1,"post--api-auth-account-confirm","/api/auth/account/confirm"],[0,0,1,"post--api-auth-account-resend-confirmation","/api/auth/account/resend-confirmation"],[0,0,1,"post--api-auth-email-update","/api/auth/email/update"],[0,0,1,"post--api-auth-login","/api/auth/login"],[0,0,1,"post--api-auth-password-reset-request","/api/auth/password/reset-request"],[0,0,1,"post--api-auth-password-update","/api/auth/password/update"],[0,1,1,"delete--api-auth-picture","/api/auth/picture"],[0,0,1,"post--api-auth-picture","/api/auth/picture"],[0,2,1,"get--api-auth-profile","/api/auth/profile"],[0,0,1,"post--api-auth-profile-edit","/api/auth/profile/edit"],[0,3,1,"patch--api-auth-profile-edit-account","/api/auth/profile/edit/account"],[0,0,1,"post--api-auth-profile-edit-preferences","/api/auth/profile/edit/preferences"],[0,0,1,"post--api-auth-profile-edit-sports","/api/auth/profile/edit/sports"],[0,1,1,"delete--api-auth-profile-reset-sports-(sport_id)","/api/auth/profile/reset/sports/(sport_id)"],[0,0,1,"post--api-auth-register","/api/auth/register"],[1,2,1,"get--api-config","/api/config"],[1,3,1,"patch--api-config","/api/config"],[1,2,1,"get--api-ping","/api/ping"],[3,2,1,"get--api-records","/api/records"],[4,2,1,"get--api-sports","/api/sports"],[4,2,1,"get--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[4,3,1,"patch--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[5,2,1,"get--api-stats-(user_name)-by_sport","/api/stats/(user_name)/by_sport"],[5,2,1,"get--api-stats-(user_name)-by_time","/api/stats/(user_name)/by_time"],[5,2,1,"get--api-stats-all","/api/stats/all"],[6,2,1,"get--api-users","/api/users"],[6,1,1,"delete--api-users-(user_name)","/api/users/(user_name)"],[6,2,1,"get--api-users-(user_name)","/api/users/(user_name)"],[6,3,1,"patch--api-users-(user_name)","/api/users/(user_name)"],[6,2,1,"get--api-users-(user_name)-picture","/api/users/(user_name)/picture"],[7,2,1,"get--api-workouts","/api/workouts"],[7,0,1,"post--api-workouts","/api/workouts"],[7,1,1,"delete--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,2,1,"get--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,3,1,"patch--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,2,1,"get--api-workouts-(string-workout_short_id)-chart_data","/api/workouts/(string:workout_short_id)/chart_data"],[7,2,1,"get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"],[7,2,1,"get--api-workouts-(string-workout_short_id)-gpx","/api/workouts/(string:workout_short_id)/gpx"],[7,2,1,"get--api-workouts-(string-workout_short_id)-gpx-download","/api/workouts/(string:workout_short_id)/gpx/download"],[7,2,1,"get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"],[7,2,1,"get--api-workouts-map-(map_id)","/api/workouts/map/(map_id)"],[7,0,1,"post--api-workouts-no_gpx","/api/workouts/no_gpx"],[11,4,1,"-","APP_LOG"],[11,4,1,"-","APP_SECRET_KEY"],[11,4,1,"-","APP_SETTINGS"],[11,4,1,"-","APP_WORKERS"],[11,4,1,"-","DATABASE_DISABLE_POOLING"],[11,4,1,"-","DATABASE_URL"],[11,4,1,"envvar-DEFAULT_STATICMAP","DEFAULT_STATICMAP \ud83c\udd95"],[11,4,1,"-","EMAIL_URL"],[11,4,1,"-","FLASK_APP"],[11,4,1,"-","HOST"],[11,4,1,"-","MAP_ATTRIBUTION"],[11,4,1,"-","PORT"],[11,4,1,"-","REDIS_URL"],[11,4,1,"-","SENDER_EMAIL"],[11,4,1,"-","TILE_SERVER_URL"],[11,4,1,"-","UI_URL"],[11,4,1,"-","UPLOAD_FOLDER"],[11,4,1,"-","VUE_APP_API_URL"],[11,4,1,"-","WEATHER_API_KEY"],[11,4,1,"-","WORKERS_PROCESSES"]],"/api/workouts/map_tile/(s)/(z)/(x)/(y)":[[7,2,1,"get--api-workouts-map_tile-(s)-(z)-(x)-(y).png","png"]]},objnames:{"0":["http","post","HTTP post"],"1":["http","delete","HTTP delete"],"2":["http","get","HTTP get"],"3":["http","patch","HTTP patch"],"4":["std","envvar","environment variable"]},objtypes:{"0":"http:post","1":"http:delete","2":"http:get","3":"http:patch","4":"std:envvar"},terms:{"0":[0,1,3,4,5,6,7,9,11],"00":[0,3,6,7],"000000":0,"01":[0,3,5,6,7],"02":7,"03":[6,7],"04":7,"06":5,"07":[0,3,6,7],"08":[0,3,6],"09":[0,6],"0mb":[0,7],"1":[0,1,3,4,5,6,7,9,11],"10":[0,1,3,6,7,11],"100":[7,8,9],"1000":5,"101":8,"104":8,"1048576":1,"10485760":1,"109":8,"11":[0,3,6,9],"115":8,"116":8,"12":[0,3,6,7],"121":8,"123":8,"1232004":7,"12341":5,"1234538":7,"1267":5,"127":[8,11],"129":8,"13":7,"131":8,"134":8,"135":8,"138":8,"14":[0,6,7],"140":8,"145":8,"146":8,"149":8,"15":[5,7],"150":5,"151":8,"152":8,"156":5,"1563529507772":7,"16":[5,7],"17":[7,11],"178":5,"18":[0,3,6,7,8],"2":[0,1,3,4,5,6,7,9,11],"20":6,"200":[0,1,3,4,5,6,7],"201":7,"2017":[5,7],"2018":[5,7],"2019":[0,3,5,6,7],"203":5,"204":[0,6,7],"22":[7,8],"24":8,"25":[8,11],"26":8,"27":[0,6],"279":7,"28":8,"280":7,"282":5,"2930":7,"2e1ee2c":8,"3":[0,4,5,6,7,9,11],"30":[0,5],"3000":11,"301":11,"31":7,"33":8,"34":8,"34614d5":8,"36":8,"37":8,"39":7,"4":[0,4,5,6,7,11],"40":8,"400":[0,1,4,6,7],"401":[0,1,3,4,5,6,7],"403":[0,1,4,5,6,7],"404":[0,4,5,6,7],"41":8,"4109":7,"413":[0,7],"43":8,"44":[7,8],"443":11,"45":7,"46":[5,8],"465":11,"47":[5,7,8],"48":5,"4c3fc34":8,"5":[1,4,5,6,7,9,11],"50":[0,6,8],"500":[0,1,4,6,7],"5000":11,"5078118":7,"5079733":7,"51":7,"53":8,"54":8,"5432":11,"57":[7,8],"58":[0,6,8],"587":11,"59":8,"6":[0,4,6,7,9],"613":5,"62":8,"63":7,"64":8,"66":8,"67":[0,6],"7":[1,7,11],"70":8,"71":8,"72":8,"7380":7,"75":8,"78":5,"79":8,"8":[0,7],"80":[8,11],"8025":11,"81":8,"82":8,"83":8,"84":8,"877fa0f":8,"895":[0,6],"9":[0,3,6,11],"90":8,"91":8,"93":8,"95":[5,8],"98":8,"99":[5,8],"9960":5,"boolean":[0,1,6],"case":9,"default":[5,6,7,8,9,11],"do":[1,4,5,6,7],"export":10,"float":[0,7],"import":[8,11],"int":[4,7],"new":[0,6,9,11],"null":[0,4,6,7],"return":[3,6,7,11],"short":7,"static":[8,11],"switch":8,"true":[0,1,4,6,8,11],"try":[0,6,7],A:[6,8,9],AS:[0,3,6,7],And:8,For:[9,11],If:[9,11],In:[8,9],It:[0,6,8,9,10,12],NO:[0,6,7],NOT:[4,7],No:[0,6,7,8,10],Not:[0,4,5,6,7],OF:11,ON:11,On:11,One:11,TO:11,The:[0,8,9,11],There:11,To:11,WITH:11,With:11,_:[0,8],__main__:11,_blank:11,access:11,account:[0,6,8,11],acit:7,activ:[0,4,6,8,9,10,11],ad:[0,8,9],adapt:11,add:[6,8,9,10],addit:11,address:[0,9,11],admin:[0,1,3,4,5,6,7,8,9,11],admin_contact:1,administr:[0,1,6,7,13],after:[0,8,11],again:[0,1,3,4,5,6,7],agplv3:8,all:[3,4,5,6,11],allow:[0,1,7,8,9,10],along:7,alphanumer:[0,8],alpin:9,alreadi:0,also:[8,10,11],altitud:8,alwai:11,an:[0,1,4,6,7,8,9,11],android:10,anoth:[0,6,11],anymor:8,apach:10,api:[0,1,3,4,5,6,7,8,9,10,11],apikei:11,app:[8,10],app_log:11,app_secret_kei:11,app_set:11,app_work:11,appear:9,applic:[0,1,3,4,5,6,7,8,9,10,11],ar:[3,7,8,9,10,11,12],arch:11,archiv:[1,8,9,11],archlinux:11,arrow:9,asc:6,ascent:[7,9],attribut:11,auth:[0,1,3,4,5,6,7],auth_token:0,authent:[1,2,3,4,6,7],author:[0,1,3,4,5,6,7],autoescap:8,avail:[0,3,9,11],ave_spe:7,ave_speed_from:7,ave_speed_to:7,averag:[3,7,8,9],average_spe:5,avoid:8,axi:7,b862a77:8,b:11,background:8,backup:11,bad:[0,1,4,6,7],bearer:[0,1,3,4,5,6,7],becom:8,been:8,befor:[8,11],begin:11,better:8,between:9,bike:[4,7,8,9],bin:11,bio:[0,6],biographi:0,birth:[0,8],birth_dat:[0,6],bound:7,build:11,button:8,by_sport:5,by_tim:5,c:7,calcul:8,calendar:[8,9],can:[0,6,8,9,10,11,12],cannot:8,cd:11,chang:[0,9,10,11],changelog:11,charact:[0,8],chart:[7,8,9,11],chart_data:7,check:[1,8,11,12],choos:[8,9],client:[8,11],client_max_body_s:11,clone:11,code:[0,1,3,4,5,6,7],color:[0,4,8,9],com:[0,1,6,11],come:9,command:[8,11],complet:8,compos:11,config:[1,8,11],configur:[2,8,9,11],confirm:0,contact:[0,1,6,7,9],contain:[8,9,11],content:[0,1,3,4,5,6,7],contributor:[1,8,11],control:[8,9],coordin:11,copi:[1,11],copyright:[1,11],correctli:8,countri:9,cp:11,creat:[0,7,8,9,11],create_app:11,created_at:[0,6],creation:[8,9],creation_d:7,credenti:[0,11],criteria:6,cross:9,curent:6,current:[0,8],custom:11,cycl:[4,8,9],d:[0,5,7],dai:[8,9],danielsiersleben:8,dark:11,darkski:[8,9],dashboard:8,data:[0,1,3,4,5,6,7,8,9,10,11],databas:[8,9,11,12],database_disable_pool:11,database_url:[8,11],date:[0,5,7,8,9],db:11,debian:11,default_staticmap:[8,11],defin:9,definit:8,delet:[0,6,7,8,9],depend:[8,11],desc:7,descent:[7,9],describ:11,descript:11,detail:[6,8],develop:[8,10],dialect:12,differ:[6,8,9],direct:[8,9],directli:11,directori:[8,11],disabl:[0,8,9,11],displai:[7,8,9,10,11,12],distanc:[3,7,8,9],distance_from:7,distance_to:7,distribut:11,docker:8,document:[8,10,11],doe:[0,5,6,7,8],don:0,dotenv:8,down:8,download:[7,8,9,11],dramatiq:[8,11],drop:8,dropdown:9,due:8,durat:[3,7,8,9],duration_from:7,duration_to:7,dure:[0,7],easi:8,edit:[0,8,9],electr:9,elev:[7,8,9,11],els:11,email:[0,1,6,8,9],email_url:11,empti:8,en:[0,6],enabl:[1,9],encount:11,end:[5,7],endpoint:[1,8],engin:[8,11,12],english:9,enter:[8,9],entiti:[0,7],entri:11,entrypoint:8,env:11,environ:[8,12],error:[0,1,4,6,7,8,9,11,12],europ:[0,6],evalu:[8,11],even:[8,9],exampl:[0,1,3,4,5,6,7,10,11],exc:12,exce:[0,7],exceed:8,except:6,execstart:11,exhaust:10,exist:[0,5,6,7,9,10,11],expir:[0,1,3,4,5,6,7],extens:[0,7],fa33f4d996844a5c73ecd1ae24456ab8:7,fail:[8,13],fals:[0,1,4,6,7,11],farest:[3,8],farthest:9,fd:[0,3,6,7],featur:[10,11],fetch:11,file:[0,1,7,8,9,10,11],filter:[8,9],finish:8,first:[0,9],first_nam:[0,6],fitotrack:10,fittracke:[9,11,13],fittrackee_cli:11,fittrackee_set_admin:11,fittrackee_upgrade_db:11,fittrackee_work:11,flask:11,flask_app:11,flaticon:11,fmstrat:8,follow:[3,9,11,12],forbidden:[0,1,4,5,6,7],forecast:11,form:[0,7],format:[0,5,7],former:11,forrunn:10,forward:11,found:[0,4,5,6,7],fr:6,frame:5,freepik:11,french:9,fri:7,from:[5,7,8,9,10],full:[8,9],fullchain:11,fullscreen:8,gener:[8,9,11],get:[0,1,3,4,5,6,7],gif:0,git:11,github:11,given:[0,11],gmt:[0,3,6,7],gpl:10,gpx:[7,8,9,10,11],gpx_limit_import:1,gpxpy:[0,9,11],grant:11,graph:8,greater:8,gunicorn:[11,12],gz:11,h:[7,9],ha:[6,9],handl:[0,9,11],has_workout:4,have:[1,4,5,6,7,8],he:6,header:[0,1,3,4,5,6,7],health:1,heavi:[10,11],hexadecim:0,hi:[0,6,8,9],hike:[4,8,9],home:11,host:11,href:[1,11],http2:11,http:[0,1,3,4,5,6,7,11],hvybqybra7wwxpastwr4v2:[0,3,6],i18n:8,icon:[8,11],id:[0,3,4,5,6,7],imag:[0,6,7,8,9,11],imperi:[8,9],imperial_unit:[0,6],inact:[0,6,11],includ:8,incorrect:8,index:7,indic:9,info:0,inform:[0,8,10,11],init:11,initi:[8,11],initialis:[8,11],input:8,insid:11,instal:[8,10],instanc:[1,9,11],instead:9,instruct:[0,8],integ:[1,4,5,6,7],interceptor:8,interfac:11,intern:[0,1,4,6,7],introduc:8,invalid:[0,1,3,4,5,6,7,8,11],io:11,ip:11,is_act:[0,4,6],is_active_for_us:4,is_admin:6,is_registration_en:1,issu:[10,11],jan:7,javascript:8,jinja:8,john_do:6,jpeg:6,jpg:0,js:11,json:[0,1,3,4,5,6,7],jul:[0,3,6,7],keep:[8,10,11],kei:[8,9,11],kjxavsturjvoah2wvcegef:7,km:[7,9],label:[4,8],languag:[0,6,9],larg:[0,7,9],larger:11,last:[0,11],last_nam:[0,6],latitud:7,launch:8,layer:[8,11],ld:[0,3,6,7],leaflet:[7,11],least:7,legitim:8,less:8,librari:11,licens:[8,10],like:[9,11],limit:[8,9],link:11,linux:11,list:[8,10,11],listen:11,load:[8,12],local:[8,10,11],localhost:[8,11],locat:[0,6,11],lock:9,log:[0,1,3,4,5,6,7,10,11,12],logfil:11,login:0,logo:11,logout:8,longer:[8,12],longest:[3,8,9],longitud:7,m:[0,5,7],made:11,mai:[9,10,11],mailhog:11,major:8,make:[8,11],makefil:11,manag:8,mandatori:[7,8,11],map:[7,8,9,10],map_attribut:[1,11],map_id:7,map_til:7,marker:8,match:0,max:[1,6,7,8],max_alt:7,max_single_file_s:1,max_spe:7,max_speed_from:7,max_speed_to:7,max_us:1,max_zip_file_s:1,maxim:7,maximum:[3,8,9],messag:[0,1,7,8],method:11,metric:9,migrat:[8,11],min:8,min_alt:7,minim:7,miss:[0,8],mobil:10,model:8,modifi:[6,8],modification_d:7,modul:11,mon:7,mondai:[0,5,9],montain:8,month:[5,8,9],more:[8,9,10,11],morn:7,mountain:[4,9],mous:8,move:[7,8],movement:8,ms:[0,3,6,7],multi:11,multipart:[0,7],must:[0,1,4,6,8,9,11,12],mv:11,n:0,name:[0,5,6,11],nano:11,nb_sport:[0,6],nb_workout:[0,5,6],necessari:[9,11],need:11,network:11,new_email:6,new_password:0,newli:[0,11],next:9,next_workout:7,nginx:[9,11],no_gpx:7,non:[4,10],noopen:11,noreferr:11,nosuchmoduleerror:12,note:[7,8,9,11],now:[8,9,11],number:[1,6,7,8,9,11],oauth:[0,1,3,4,5,6,7],object:[0,1,4,6,7],ok:[0,1,3,4,5,6,7],omit:11,one:[0,6,7,9],onli:[0,6,7,8,9,11],open:[10,11],openstreetmap:[1,8,11],opentrack:10,option:[8,11],order:[6,7,8],order_bi:6,org:[1,11],origin:9,os:11,other:[6,11],outdoor:[8,10,11],over:8,overrid:9,overridden:9,overwrit:11,own:[6,10],owner:[8,9],packag:[8,11],paf38:8,page:[6,7],pagin:[6,7],par_pag:6,paramet:[0,4,5,6,7,8,9],pari:[0,6],pars:[8,11],part:[0,7],pass:11,password:[0,6,8,9,11],patch:[0,1,4,6,7],path:11,paus:[7,8],payload:[0,1,4,6,7],pem:11,per:[6,7,8],per_pag:[6,7],period:9,permiss:[1,4,5,6,7],pg_dump:11,pictur:[0,6,7],ping:1,pip:11,pipenv:8,pleas:[0,1,3,4,5,6,7,8],plugin:12,png:[0,7,11],poetri:[8,11],point:[8,11],pong:1,pool:11,port:11,posit:[8,9],possibl:[8,10],post:[0,7],postgr:[8,12],postgresql:[8,11,12],prefer:[0,6,8],previous_workout:7,privileg:11,privkei:11,process:[0,9,11],product:8,productionconfig:11,profil:0,project:11,provid:[0,1,3,4,5,6,7,8,9,11],proxi:11,proxy_add_x_forwarded_for:11,proxy_pass:11,proxy_redirect:11,proxy_set_head:11,pull:11,purpos:[8,11],pwd:11,py:11,python:[8,11],q:6,queri:[5,6,7],queue:11,r:11,rais:9,read:8,real:11,rebuild:8,rechart:7,recommend:11,record:[0,2,6,7,8,9],record_typ:[0,3,6,7],redi:[8,11],redis_url:11,refactor:8,regardless:6,regist:[0,1,11],registr:[0,1,8,9],rel:11,relat:[9,11],releas:11,remain:8,remote_addr:11,remov:[6,8,9],renam:8,replac:[8,11],repo:11,report:8,repositori:11,request:[0,1,3,4,5,6,7],request_uri:11,requir:0,resend:0,resent:0,reset:[0,6,8,9],reset_password:6,resolut:8,respons:[0,1,3,4,5,6,7],restart:11,restartsec:11,right:[6,8,9,11],rout:8,row:9,run:[4,8,9,11],runner:10,s:[6,7,8,11],sam:[0,6],same:8,samr1:11,sanit:8,sat:6,save:[8,9],schema:11,screen:[8,9],script:8,search:8,second:7,secret:11,see:[8,9,10,11],seem:8,segment:[7,8,9],segment_id:7,select:[0,7],send:[0,6,8,11],sender:11,sender_email:11,serv:[8,11],server:[0,1,4,6,7,8,9,10],server_nam:11,servic:11,set:[8,9,11],sever:[8,10,11],shell:11,should:11,show:8,shown:8,side:8,signatur:[0,1,3,4,5,6,7],simpl:11,simplifi:8,sinc:11,singl:[1,6],size:[0,1,7,8,9],ski:9,sky:11,slow:8,small:8,smtp:[8,11],snowsho:[8,9],some:[6,7,8,10,11],sorri:0,sort:[6,7],spawn:11,speed:[0,3,7,8,9,11],spinner:8,sport:[0,2,5,7,8,9,11],sport_id:[0,3,4,5,6,7],sports_list:[0,6],sql:11,sqlalchemi:[8,11,12],ssl:11,ssl_certif:11,ssl_certificate_kei:11,standard:[8,11],standarderror:11,standardoutput:11,start:[0,5,7,8,9,11,13],startlimitintervalsec:11,starttl:11,stat:[5,8],staticmap:11,statist:2,statu:[0,1,3,4,5,6,7],step:11,still:[9,10],stop:[0,8,9,11],stopped_speed_threshold:[0,4],store:[9,10],street:10,string:[0,1,4,5,6,7],subdomain:7,success:[0,1,3,4,5,6,7],successfulli:0,sun:[0,3,6,7],sundai:[5,7,9],support:[8,9,12],syslog:11,syslogidentifi:11,system:[9,11],systemd:11,t:[0,8,12],taken:0,tar:11,target:11,task:11,templat:8,term:[8,11],test:11,textarea:8,than:[6,8],thank:8,thei:11,them:10,thi:[7,8,9,10,11],threshold:[0,8,9],thunderforest:[8,11],tile:[7,8],tile_server_url:11,time:[0,5,7,8,9],timezon:[0,6,8,9],titl:7,tl:11,todo:14,token:[0,1,3,4,5,6,7],too:[0,7],tool:11,tooltip:[8,9],total:[8,9],total_asc:5,total_dist:[0,5,6],total_dur:[0,5,6],track:10,trail:9,transport:[4,8,9],troubleshoot:10,type:[0,1,3,4,5,6,7,11],typescript:11,u:11,ui:8,ui_url:11,unauthor:[0,1,3,4,5,6,7],under:[10,11],underscor:0,unencrypt:11,unit:[8,11],unstabl:[10,11],up:[9,10],updat:[0,1,4,6,7,8,9,11],upgrad:8,upload:[8,9,11],upload_fold:11,uploads_dir_s:5,uri:8,url:[8,11,12],us:[0,6,7,8,9,10,11],user:[0,1,2,3,4,5,7,8,9,11,13],user_id:0,user_nam:[5,6],usernam:[0,6,8,11],uuid:[7,8],v0:11,v3:10,valid:[0,1,3,4,5,6,7,8,11],valu:[0,3,6,7],variabl:[8,12],venv:11,version:[1,11],view:[8,9],virtualenv:11,vue3:11,vue:11,vue_app_api_url:11,vuex:11,w:8,wa:8,wai:11,walk:[4,8,9],wantedbi:11,warn:8,weather:[8,9,11],weather_api:11,weather_api_kei:11,weather_end:7,weather_start:7,web:[0,10,11],week:[0,5,8,9],weekend:8,weekm:[0,5,6],were:8,wget:11,when:[0,1,8,9,11],where:11,which:9,wind:[8,9],with_gpx:7,without:[5,6,7,8,9,10],worker:[8,11],workers_process:11,workingdirectori:11,workout:[0,2,5,8,10],workout_d:[0,3,6,7],workout_id:[0,3,6,7],workout_short_id:7,workouts_count:6,written:11,www:[1,11],x:[7,11],xml:7,xxxx:11,xzf:11,y:[0,5,7,11],yai:11,yarn:11,year:[5,9],yet:10,you:[1,4,5,6,7,10],your:[6,10,11],z:[7,11],zip:[1,7,8,9],zone:0,zoom:7},titles:["Authentication","Configuration","API documentation","Records","Sports","Statistics","Users","Workouts","Change log","Features","FitTrackee","Installation","Administrator","Troubleshooting","User"],titleterms:{"0":8,"01":8,"02":8,"03":8,"04":8,"05":8,"07":8,"09":8,"1":8,"10":8,"11":8,"12":8,"13":8,"14":8,"15":8,"16":8,"17":8,"19":8,"2":8,"2018":8,"2019":8,"2020":8,"2021":8,"2022":8,"21":8,"23":8,"29":8,"3":8,"30":8,"31":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"new":8,account:9,administr:[8,9,12],api:2,authent:0,avail:8,bug:8,chang:8,close:8,configur:1,content:10,dashboard:9,deploy:11,detail:9,dev:11,develop:11,docker:11,document:2,email:11,endpoint:[2,13],environ:11,fail:12,featur:[8,9],first:8,fittracke:[8,10,12],fix:8,french:8,from:11,improv:8,instal:11,issu:8,list:9,log:8,map:11,minor:8,misc:8,prefer:9,prerequisit:11,prod:11,product:11,pull:8,pypi:[8,11],record:3,releas:8,request:8,screenshot:9,secur:8,server:11,sourc:11,sport:4,start:12,statist:[5,8,9],tabl:10,tile:11,translat:9,troubleshoot:13,upgrad:11,user:[6,14],variabl:11,version:8,workout:[7,9]}}) \ No newline at end of file diff --git a/docsrc/source/api/auth.rst b/docsrc/source/api/auth.rst index 9195d865..8d54d004 100644 --- a/docsrc/source/api/auth.rst +++ b/docsrc/source/api/auth.rst @@ -4,8 +4,9 @@ Authentication .. autoflask:: fittrackee:create_app() :endpoints: auth.register_user, + auth.confirm_account, + auth.resend_account_confirmation_email, auth.login_user, - auth.logout_user, auth.get_authenticated_user_profile, auth.edit_user, auth.edit_user_preferences, @@ -14,4 +15,6 @@ Authentication auth.edit_picture, auth.del_picture, auth.request_password_reset, - auth.update_password + auth.update_user_account, + auth.update_password, + auth.update_email diff --git a/docsrc/source/features.rst b/docsrc/source/features.rst index e013b0bd..4f917b52 100644 --- a/docsrc/source/features.rst +++ b/docsrc/source/features.rst @@ -44,9 +44,13 @@ Workouts - average speed (**new in 0.5.1**) - User records by sports: - average speed - - farest distance + - farthest distance - longest duration - maximum speed + +.. note:: + Records may differ from records displayed by the application that originally generated the gpx files. + - Workouts list and filter. Only sports with workouts are displayed in sport dropdown. .. note:: @@ -58,6 +62,7 @@ Account & preferences - A user can create, update and deleted his account - A user can set language, timezone and first day of week. - A user can reset his password (*new in 0.3.0*) +- A user can change his email address (*new in 0.6.0*) - A user can choose between metric system and imperial system for distance, elevation and speed display (*new in 0.5.0*) - A user can set sport preferences (*new in 0.5.0*): - change sport color (used for sport image and charts) @@ -82,6 +87,7 @@ Administration - maximum size of uploaded files - maximum size of zip archive - maximum number of files in the zip archive. If an archive contains more files, only the configured number of files is processed, without raising errors. + - administrator email for contact (*new in 0.6.0*) .. warning:: Updating server configuration may be necessary to handle large files (like `nginx `_ for instance). @@ -89,8 +95,12 @@ Administration - **Users** - - display users list and details - - edit a user to add/remove administration rights + - display and filter users list + - edit a user to: + - add/remove administration rights + - activate his account (*new in 0.6.0*) + - update his email (in case his account is locked) (*new in 0.6.0*) + - reset his password (in case his account is locked) (*new in 0.6.0*) - delete a user - **Sports** diff --git a/docsrc/source/installation.rst b/docsrc/source/installation.rst index b9d46376..66e03bda 100644 --- a/docsrc/source/installation.rst +++ b/docsrc/source/installation.rst @@ -298,6 +298,8 @@ For instance, copy and update ``.env`` file from ``.env.example`` and source the $ fittrackee_set_admin +.. note:: + If the user account is inactive, it activates it. From sources ^^^^^^^^^^^^ diff --git a/e2e/test_login.py b/e2e/test_login.py index 2bf47e5e..316ce783 100644 --- a/e2e/test_login.py +++ b/e2e/test_login.py @@ -1,9 +1,4 @@ -from .utils import ( - TEST_URL, - assert_navbar, - login_valid_user, - register_valid_user_and_logout, -) +from .utils import TEST_URL, login_valid_user, register_valid_user_and_logout URL = f'{TEST_URL}/login' @@ -34,10 +29,20 @@ class TestLogin: assert 'Register' in links[0].text assert links[1].tag_name == 'a' assert 'Forgot password?' in links[1].text + assert links[2].tag_name == 'a' + assert "Didn't received instructions?" in links[2].text def test_user_can_log_in(self, selenium): user = register_valid_user_and_logout(selenium) login_valid_user(selenium, user) - assert_navbar(selenium, user) + nav = selenium.find_element_by_id('nav').text + assert 'Register' not in nav + assert 'Login' not in nav + assert 'Dashboard' in nav + assert 'Workouts' in nav + assert 'Statistics' in nav + assert 'Add a workout' in nav + assert user['username'] in nav + assert 'Logout' in nav diff --git a/e2e/test_profile.py b/e2e/test_profile.py index 6159e980..0abd8c22 100644 --- a/e2e/test_profile.py +++ b/e2e/test_profile.py @@ -1,13 +1,15 @@ -from .utils import TEST_URL, register_valid_user - -URL = f'{TEST_URL}/profile' +from .utils import register_valid_user class TestProfile: def test_it_displays_user_profile(self, selenium): user = register_valid_user(selenium) - selenium.get(URL) + app_menu = selenium.find_element_by_class_name('nav-items-user-menu') + profile_link = app_menu.find_elements_by_class_name('nav-item')[1] + profile_link.click() + selenium.implicitly_wait(1) + user_header = selenium.find_element_by_class_name('user-header') assert user['username'] in user_header.text assert '0\nworkouts' in user_header.text diff --git a/e2e/test_registration.py b/e2e/test_registration.py index 9042e4b5..1bb7f3fb 100644 --- a/e2e/test_registration.py +++ b/e2e/test_registration.py @@ -1,9 +1,7 @@ from .utils import ( TEST_URL, - assert_navbar, random_string, register, - register_valid_user, register_valid_user_and_logout, ) @@ -23,21 +21,40 @@ class TestRegistration: assert inputs[1].get_attribute('type') == 'email' assert inputs[2].get_attribute('id') == 'password' assert inputs[2].get_attribute('type') == 'password' - assert inputs[3].get_attribute('id') == 'confirm-password' - assert inputs[3].get_attribute('type') == 'password' + + form_infos = selenium.find_elements_by_class_name('form-info') + assert len(form_infos) == 3 + assert form_infos[0].text == ( + '3 to 30 characters required, only alphanumeric characters and ' + 'the underscore character "_" allowed.' + ) + assert form_infos[1].text == 'Enter a valid email address.' + assert form_infos[2].text == 'At least 8 characters required.' button = selenium.find_element_by_tag_name('button') assert button.get_attribute('type') == 'submit' assert 'Register' in button.text - link = selenium.find_element_by_class_name('links') - assert link.tag_name == 'a' - assert 'Login' in link.text + links = selenium.find_elements_by_class_name('links') + assert links[0].tag_name == 'a' + assert 'Login' in links[0].text + assert links[1].tag_name == 'a' + assert "Didn't received instructions?" in links[1].text def test_user_can_register(self, selenium): - user = register_valid_user(selenium) + user = { + 'username': random_string(), + 'email': f'{random_string()}@example.com', + 'password': 'p@ssw0rd', + } - assert_navbar(selenium, user) + register(selenium, user) + + message = selenium.find_element_by_class_name('success-message').text + assert ( + 'A link to activate your account has been ' + 'emailed to the address provided.' + ) in message def test_user_can_not_register_with_invalid_email(self, selenium): user_name = random_string() @@ -45,7 +62,6 @@ class TestRegistration: 'username': user_name, 'email': user_name, 'password': 'p@ssw0rd', - 'password_conf': 'p@ssw0rd', } register(selenium, user_infos) @@ -65,29 +81,19 @@ class TestRegistration: assert selenium.current_url == URL errors = selenium.find_element_by_class_name('error-message').text - assert 'Sorry, that user already exists.' in errors + assert 'Sorry, that username is already taken.' in errors - def test_user_can_not_register_if_email_is_already_taken(self, selenium): + def test_user_does_not_return_error_if_email_is_already_taken( + self, selenium + ): user = register_valid_user_and_logout(selenium) user['username'] = random_string() register(selenium, user) - assert selenium.current_url == URL - errors = selenium.find_element_by_class_name('error-message').text - assert 'Sorry, that user already exists.' in errors - - def test_it_displays_error_if_passwords_do_not_match(self, selenium): - user_name = random_string() - user_infos = { - 'username': user_name, - 'email': f'{user_name}@example.com', - 'password': 'p@ssw0rd', - 'password_conf': 'password', - } - - register(selenium, user_infos) - - assert selenium.current_url == URL - errors = selenium.find_element_by_class_name('error-message').text - assert 'password and password confirmation don\'t match' in errors + assert selenium.current_url == f'{TEST_URL}/login' + message = selenium.find_element_by_class_name('success-message').text + assert ( + 'A link to activate your account has been ' + 'emailed to the address provided.' + ) in message diff --git a/e2e/utils.py b/e2e/utils.py index f8e379c0..67d0431d 100644 --- a/e2e/utils.py +++ b/e2e/utils.py @@ -1,18 +1,25 @@ import os import random +import re import string +import time +import requests from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait +from urllib3.util import parse_url TEST_APP_URL = os.getenv('TEST_APP_URL') TEST_CLIENT_URL = os.getenv('TEST_CLIENT_URL') E2E_ARGS = os.getenv('E2E_ARGS') TEST_URL = TEST_CLIENT_URL if E2E_ARGS == 'client' else TEST_APP_URL +EMAIL_URL = os.getenv('EMAIL_URL', 'smtp://none:none@0.0.0.0:1025') +parsed_email_url = parse_url(EMAIL_URL) +EMAIL_API_URL = f'http://{parsed_email_url.host}:8025' def random_string(length=8): - return ''.join(random.choice(string.ascii_letters) for x in range(length)) + return ''.join(random.choice(string.ascii_letters) for _ in range(length)) def register(selenium, user): @@ -24,8 +31,6 @@ def register(selenium, user): email.send_keys(user.get('email')) password = selenium.find_element_by_id('password') password.send_keys(user.get('password')) - password_conf = selenium.find_element_by_id('confirm-password') - password_conf.send_keys(user.get('password_conf')) submit_button = selenium.find_element_by_tag_name('button') submit_button.click() @@ -47,44 +52,36 @@ def register_valid_user(selenium): 'username': user_name, 'email': f'{user_name}@example.com', 'password': 'p@ssw0rd', - 'password_conf': 'p@ssw0rd', } register(selenium, user) - WebDriverWait(selenium, 15).until(EC.url_changes(f"{TEST_URL}/register")) + WebDriverWait(selenium, 30).until(EC.url_changes(f"{TEST_URL}/register")) + confirm_account(selenium, user) return user def register_valid_user_and_logout(selenium): - user_name = random_string() - user = { - 'username': user_name, - 'email': f'{user_name}@example.com', - 'password': 'p@ssw0rd', - 'password_conf': 'p@ssw0rd', - } - register(selenium, user) - WebDriverWait(selenium, 15).until(EC.url_changes(f"{TEST_URL}/register")) - + user = register_valid_user(selenium) user_menu = selenium.find_element_by_class_name('nav-items-user-menu') logout_link = user_menu.find_elements_by_class_name('nav-item')[2] logout_link.click() - selenium.implicitly_wait(1) return user +def confirm_account(selenium, user): + time.sleep(1) + response = requests.get( + f"{EMAIL_API_URL}/api/v2/search?kind=to&query={user['email']}" + ) + response.raise_for_status() + results = response.json() + message = results['items'][0]['Content']['Body'] + link = re.search(r'Verify your email: (.+?)\r\n', message).groups()[0] + link = link.replace('http://0.0.0.0:5000', TEST_URL) + selenium.get(link) + WebDriverWait(selenium, 15).until(EC.url_changes(link)) + + def login_valid_user(selenium, user): login(selenium, user) WebDriverWait(selenium, 10).until(EC.url_changes(f"{TEST_URL}/login")) return user - - -def assert_navbar(selenium, user): - nav = selenium.find_element_by_id('nav').text - assert 'Register' not in nav - assert 'Login' not in nav - assert 'Dashboard' in nav - assert 'Workouts' in nav - assert 'Statistics' in nav - assert 'Add a workout' in nav - assert user['username'] in nav - assert 'Logout' in nav diff --git a/fittrackee/__init__.py b/fittrackee/__init__.py index b5f6492f..68bd4558 100644 --- a/fittrackee/__init__.py +++ b/fittrackee/__init__.py @@ -1,5 +1,6 @@ import logging import os +import re import shutil from importlib import import_module, reload from typing import Any @@ -15,6 +16,7 @@ from flask_bcrypt import Bcrypt from flask_dramatiq import Dramatiq from flask_migrate import Migrate from flask_sqlalchemy import SQLAlchemy +from sqlalchemy.exc import ProgrammingError from fittrackee.emails.email import EmailService @@ -66,9 +68,16 @@ def create_app() -> Flask: with app.app_context(): # Note: check if "app_config" table exist to avoid errors when # dropping tables on dev environments - if db.engine.dialect.has_table(db.engine.connect(), 'app_config'): - db_app_config = get_or_init_config() - update_app_config_from_database(app, db_app_config) + try: + if db.engine.dialect.has_table(db.engine.connect(), 'app_config'): + db_app_config = get_or_init_config() + update_app_config_from_database(app, db_app_config) + except ProgrammingError as e: + # avoid error on AppConfig migration + if re.match( + r'psycopg2.errors.UndefinedColumn(.*)app_config.', str(e) + ): + pass from .application.app_config import config_blueprint # noqa from .users.auth import auth_blueprint # noqa diff --git a/fittrackee/application/app_config.py b/fittrackee/application/app_config.py index b3c91a84..e15ffcf0 100644 --- a/fittrackee/application/app_config.py +++ b/fittrackee/application/app_config.py @@ -11,6 +11,7 @@ from fittrackee.responses import ( ) from fittrackee.users.decorators import authenticate_as_admin from fittrackee.users.models import User +from fittrackee.users.utils.controls import is_valid_email from .models import AppConfig from .utils import update_app_config_from_database, verify_app_config @@ -87,6 +88,7 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]: { "data": { + "admin_contact": "admin@example.com", "gpx_limit_import": 10, "is_registration_enabled": true, "max_single_file_size": 1048576, @@ -96,6 +98,7 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]: "status": "success" } + : Union[Dict, HttpResponse]: - provide a valid auth token - signature expired, please log in again - invalid token, please log in again + - valid email must be provided for admin contact :statuscode 403: you do not have permissions :statuscode 500: error when updating configuration """ @@ -118,6 +122,9 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]: return InvalidPayloadErrorResponse() ret = verify_app_config(config_data) + admin_contact = config_data.get('admin_contact') + if admin_contact and not is_valid_email(admin_contact): + ret.append('valid email must be provided for admin contact') if ret: return InvalidPayloadErrorResponse(message=ret) @@ -133,6 +140,8 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]: config.max_zip_file_size = config_data.get('max_zip_file_size') if 'max_users' in config_data: config.max_users = config_data.get('max_users') + if 'admin_contact' in config_data: + config.admin_contact = admin_contact if admin_contact else None if config.max_zip_file_size < config.max_single_file_size: return InvalidPayloadErrorResponse( diff --git a/fittrackee/application/models.py b/fittrackee/application/models.py index c4d2cea8..e4fca065 100644 --- a/fittrackee/application/models.py +++ b/fittrackee/application/models.py @@ -23,6 +23,7 @@ class AppConfig(BaseModel): db.Integer, default=1048576, nullable=False ) max_zip_file_size = db.Column(db.Integer, default=10485760, nullable=False) + admin_contact = db.Column(db.String(255), nullable=True) @property def is_registration_enabled(self) -> bool: @@ -43,6 +44,7 @@ class AppConfig(BaseModel): def serialize(self) -> Dict: return { + 'admin_contact': self.admin_contact, 'gpx_limit_import': self.gpx_limit_import, 'is_registration_enabled': self.is_registration_enabled, 'max_single_file_size': self.max_single_file_size, diff --git a/fittrackee/config.py b/fittrackee/config.py index 668411b7..a210d7f1 100644 --- a/fittrackee/config.py +++ b/fittrackee/config.py @@ -12,7 +12,6 @@ else: class BaseConfig: - """Base configuration""" DEBUG = False TESTING = False @@ -49,8 +48,6 @@ class BaseConfig: class DevelopmentConfig(BaseConfig): - """Development configuration""" - DEBUG = True SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') SECRET_KEY = 'development key' @@ -59,8 +56,6 @@ class DevelopmentConfig(BaseConfig): class TestingConfig(BaseConfig): - """Testing configuration""" - DEBUG = True TESTING = True SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_TEST_URL') @@ -74,9 +69,11 @@ class TestingConfig(BaseConfig): SENDER_EMAIL = 'fittrackee@example.com' -class ProductionConfig(BaseConfig): - """Production configuration""" +class End2EndTestingConfig(TestingConfig): + DRAMATIQ_BROKER_URL = os.getenv('REDIS_URL', 'redis://') + +class ProductionConfig(BaseConfig): DEBUG = False # https://docs.sqlalchemy.org/en/13/core/pooling.html#using-connection-pools-with-multiprocessing-or-os-fork # noqa SQLALCHEMY_ENGINE_OPTIONS = ( diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index c2e08a77..16a51daf 100644 --- a/fittrackee/dist/index.html +++ b/fittrackee/dist/index.html @@ -1 +1 @@ -FitTrackee
      \ No newline at end of file +FitTrackee
      \ No newline at end of file diff --git a/fittrackee/dist/service-worker.js b/fittrackee/dist/service-worker.js index 2e9b4a3c..fcc873f4 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let s,e={};const i=(i,t)=>(i=new URL(i+".js",t).href,e[i]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()})).then((()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const l=s=>i(s,a),c={module:{uri:a},exports:n,require:l};e[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-03ef139c"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"a8631c4700027576ce99a9c0eee83fee"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.28b1f60f.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.c7bcad7f.css",revision:null},{url:"/static/css/reset.29e6e47c.css",revision:null},{url:"/static/css/statistics.ca46b7cd.css",revision:null},{url:"/static/css/workouts.4eac54c3.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.8b4f71d5.js",revision:null},{url:"/static/js/431.ce81b2a1.js",revision:null},{url:"/static/js/633.2b820738.js",revision:null},{url:"/static/js/858.af9267af.js",revision:null},{url:"/static/js/93.e92c6ca0.js",revision:null},{url:"/static/js/admin.92270942.js",revision:null},{url:"/static/js/app.3c006379.js",revision:null},{url:"/static/js/chunk-vendors.f76e2e3d.js",revision:null},{url:"/static/js/profile.97ac14b7.js",revision:null},{url:"/static/js/reset.75789a8c.js",revision:null},{url:"/static/js/statistics.221180ef.js",revision:null},{url:"/static/js/workouts.e6d6026d.js",revision:null}],{})})); +if(!self.define){let s,i={};const e=(e,t)=>(e=new URL(e+".js",t).href,i[e]||new Promise((i=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=i,document.head.appendChild(s)}else s=e,importScripts(e),i()})).then((()=>{let s=i[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(i[a])return;let n={};const l=s=>e(s,a),o={module:{uri:a},exports:n,require:l};i[a]=Promise.all(t.map((s=>o[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-03ef139c"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"dbf27596595ea55bd0eaa30f273d01c1"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.b6e7921a.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.91fe968e.css",revision:null},{url:"/static/css/workouts.2cfe4805.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.8b4f71d5.js",revision:null},{url:"/static/js/431.ce81b2a1.js",revision:null},{url:"/static/js/633.2b820738.js",revision:null},{url:"/static/js/858.af9267af.js",revision:null},{url:"/static/js/93.e92c6ca0.js",revision:null},{url:"/static/js/admin.92270942.js",revision:null},{url:"/static/js/app.b8a9753b.js",revision:null},{url:"/static/js/chunk-vendors.1308e452.js",revision:null},{url:"/static/js/password.49241a2f.js",revision:null},{url:"/static/js/profile.2bd853ba.js",revision:null},{url:"/static/js/reset.51a37b97.js",revision:null},{url:"/static/js/statistics.31ff9ae2.js",revision:null},{url:"/static/js/workouts.c0f5bb2b.js",revision:null}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/fittrackee/dist/service-worker.js.map b/fittrackee/dist/service-worker.js.map index 70cf8eed..4f3f426b 100644 --- a/fittrackee/dist/service-worker.js.map +++ b/fittrackee/dist/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/a207bcb96d431045e7e8baf5ff147b4b/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"a8631c4700027576ce99a9c0eee83fee\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.28b1f60f.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.c7bcad7f.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.29e6e47c.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.ca46b7cd.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.4eac54c3.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.8b4f71d5.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.ce81b2a1.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.2b820738.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.af9267af.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.e92c6ca0.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.92270942.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.3c006379.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.f76e2e3d.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.97ac14b7.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.75789a8c.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.221180ef.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.e6d6026d.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["prefix","self","addEventListener","event","data","type","skipWaiting"],"mappings":"gpBAiBiC,CAACA,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,oCAY2B,CAClC,KACS,yBACK,oCAEd,KACS,mCACK,oCAEd,KACS,sCACK,oCAEd,KACS,wCACK,oCAEd,KACS,mCACK,oCAEd,KACS,gCACK,oCAEd,KACS,8CACK,oCAEd,KACS,gDACK,oCAEd,KACS,sCACK,oCAEd,KACS,iCACK,oCAEd,KACS,kCACK,oCAEd,KACS,iCACK,oCAEd,KACS,wCACK,oCAEd,KACS,iCACK,oCAEd,KACS,oCACK,oCAEd,KACS,uCACK,oCAEd,KACS,mCACK,oCAEd,KACS,uBACK,oCAEd,KACS,0BACK,oCAEd,KACS,uBACK,oCAEd,KACS,0CACK,MAEd,KACS,wCACK,MAEd,KACS,4CACK,oCAEd,KACS,mCACK,oCAEd,KACS,4CACK,MAEd,KACS,0CACK,MAEd,KACS,+CACK,MAEd,KACS,6CACK,MAEd,KACS,iDACK,oCAEd,KACS,iDACK,oCAEd,KACS,iDACK,oCAEd,KACS,kDACK,oCAEd,KACS,mDACK,oCAEd,KACS,2DACK,MAEd,KACS,6DACK,MAEd,KACS,4DACK,MAEd,KACS,2DACK,MAEd,KACS,gEACK,MAEd,KACS,8DACK,MAEd,KACS,8DACK,MAEd,KACS,+DACK,MAEd,KACS,gEACK,MAEd,KACS,+DACK,MAEd,KACS,+DACK,MAEd,KACS,iEACK,MAEd,KACS,wCACK,MAEd,KACS,yDACK,MAEd,KACS,4DACK,MAEd,KACS,6DACK,MAEd,KACS,sCACK,MAEd,KACS,sCACK,MAEd,KACS,sCACK,MAEd,KACS,sCACK,MAEd,KACS,qCACK,MAEd,KACS,wCACK,MAEd,KACS,sCACK,MAEd,KACS,gDACK,MAEd,KACS,0CACK,MAEd,KACS,wCACK,MAEd,KACS,6CACK,MAEd,KACS,2CACK,OAEb"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/0d10043e49fe7893089e93a16da49ff8/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"dbf27596595ea55bd0eaa30f273d01c1\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.b6e7921a.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.91fe968e.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.2cfe4805.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.8b4f71d5.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.ce81b2a1.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.2b820738.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.af9267af.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.e92c6ca0.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.92270942.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.b8a9753b.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.1308e452.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/password.49241a2f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.2bd853ba.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.51a37b97.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.31ff9ae2.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.c0f5bb2b.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["prefix","self","addEventListener","event","data","type","skipWaiting"],"mappings":"gpBAiBiC,CAACA,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,oCAY2B,CAClC,KACS,yBACK,oCAEd,KACS,mCACK,oCAEd,KACS,sCACK,oCAEd,KACS,wCACK,oCAEd,KACS,mCACK,oCAEd,KACS,gCACK,oCAEd,KACS,8CACK,oCAEd,KACS,gDACK,oCAEd,KACS,sCACK,oCAEd,KACS,iCACK,oCAEd,KACS,kCACK,oCAEd,KACS,iCACK,oCAEd,KACS,wCACK,oCAEd,KACS,iCACK,oCAEd,KACS,oCACK,oCAEd,KACS,uCACK,oCAEd,KACS,mCACK,oCAEd,KACS,uBACK,oCAEd,KACS,0BACK,oCAEd,KACS,uBACK,oCAEd,KACS,0CACK,MAEd,KACS,wCACK,MAEd,KACS,4CACK,oCAEd,KACS,mCACK,oCAEd,KACS,4CACK,MAEd,KACS,0CACK,MAEd,KACS,+CACK,MAEd,KACS,6CACK,MAEd,KACS,iDACK,oCAEd,KACS,iDACK,oCAEd,KACS,iDACK,oCAEd,KACS,kDACK,oCAEd,KACS,mDACK,oCAEd,KACS,2DACK,MAEd,KACS,6DACK,MAEd,KACS,4DACK,MAEd,KACS,2DACK,MAEd,KACS,gEACK,MAEd,KACS,8DACK,MAEd,KACS,8DACK,MAEd,KACS,+DACK,MAEd,KACS,gEACK,MAEd,KACS,+DACK,MAEd,KACS,+DACK,MAEd,KACS,iEACK,MAEd,KACS,wCACK,MAEd,KACS,yDACK,MAEd,KACS,4DACK,MAEd,KACS,6DACK,MAEd,KACS,sCACK,MAEd,KACS,sCACK,MAEd,KACS,sCACK,MAEd,KACS,sCACK,MAEd,KACS,qCACK,MAEd,KACS,wCACK,MAEd,KACS,sCACK,MAEd,KACS,gDACK,MAEd,KACS,2CACK,MAEd,KACS,0CACK,MAEd,KACS,wCACK,MAEd,KACS,6CACK,MAEd,KACS,2CACK,OAEb"} \ No newline at end of file diff --git a/fittrackee/dist/static/css/app.28b1f60f.css b/fittrackee/dist/static/css/app.28b1f60f.css deleted file mode 100644 index e65fd205..00000000 --- a/fittrackee/dist/static/css/app.28b1f60f.css +++ /dev/null @@ -1 +0,0 @@ -#footer[data-v-75ada372]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-75ada372]{text-decoration:none}#footer .footer-items[data-v-75ada372]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-75ada372]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-75ada372]{font-size:.85em}#footer .footer-items .footer-item[data-v-75ada372]{padding:5px 5px}#footer .footer-items .bullet[data-v-75ada372]{padding:5px 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}[data-v-6259410f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color)) }#nav[data-v-6259410f]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-6259410f]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-6259410f]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-6259410f]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-6259410f]:hover{cursor:pointer}#nav .fa[data-v-6259410f]{font-size:1.2em}#nav .close-icon[data-v-6259410f],#nav .hamburger-icon[data-v-6259410f],#nav .nav-icon-open[data-v-6259410f]{display:none}#nav .nav-items[data-v-6259410f]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-6259410f]{display:none}#nav .nav-items .nav-items-app-menu[data-v-6259410f],#nav .nav-items .nav-items-user-menu[data-v-6259410f]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-6259410f]{display:flex}#nav .nav-items .nav-item[data-v-6259410f]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-6259410f]{width:60px}#nav .nav-items .nav-item[data-v-6259410f] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-6259410f]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-6259410f]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-6259410f] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-6259410f] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-6259410f]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-6259410f]{display:block}#nav .nav-icon-open[data-v-6259410f]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-6259410f]{display:none}#nav .close-icon[data-v-6259410f]{display:block}#nav .close-icon.menu-closed[data-v-6259410f],#nav .nav-items[data-v-6259410f]{display:none}#nav .nav-items.menu-open[data-v-6259410f]{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-app-menu[data-v-6259410f],#nav .nav-items.menu-open .nav-items-close[data-v-6259410f],#nav .nav-items.menu-open .nav-items-user-menu[data-v-6259410f]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-6259410f]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-6259410f]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-6259410f]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-6259410f]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-6259410f]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-6259410f]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}#no-config[data-v-1596efb7]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-1596efb7]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-1596efb7]{width:150px}#no-config .error-page .error-img svg .error-page-img[data-v-1596efb7]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-1596efb7]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-1596efb7]{font-size:1em}}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color)) }@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-regular.59a385b4.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.8293436e.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-italic.0b285c83.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.01a58da9.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700.6514157e.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-700.b8a7047e.svg#PTSans) format("svg")}#app,body{margin:0}#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);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea: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:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button: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(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-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);margin:10px}.box,.info-box{border-radius:4px;padding:10px}.info-box{background-color:var(--info-background-color);color:var(--info-color);font-size:.8em}.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}.upper{text-transform:uppercase}.view{padding-bottom:35px}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.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.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;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 auto}.center-card.with-margin{margin-top:0}}.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{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table 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 #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button{display:block}.user-limit-help[data-v-21d94c64]{display:flex}.user-limit-help span[data-v-21d94c64]{font-style:italic}.user-limit-help .fa-info-circle[data-v-21d94c64]{margin-right: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}}.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}#admin-menu[data-v-1bcb269a]{display:flex}#admin-menu.center-card[data-v-1bcb269a]{width:100%}#admin-menu[data-v-1bcb269a] .card{flex-grow:1}#admin-menu[data-v-1bcb269a] .card .admin-menu{padding:0 10px}#admin-menu[data-v-1bcb269a] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-1bcb269a] .card .admin-menu .registration-status{font-weight:700}#admin-sports table td[data-v-6d62af67]{font-size:1.1em}#admin-sports .sport-img[data-v-6d62af67]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d62af67]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-6d62af67]{padding-left:40px}#admin-sports .action-button[data-v-6d62af67]{display:block}#admin-sports .top-button[data-v-6d62af67]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d62af67]{padding-left:10px}#admin-sports .has-workouts[data-v-6d62af67]{padding-top:5px}#admin-sports .action-button[data-v-6d62af67]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d62af67]{display:block;margin-bottom:20px}}.table-selects[data-v-72463173]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-72463173]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-72463173]{flex-wrap:wrap}.table-selects label[data-v-72463173]{margin-bottom:10px}.table-selects label select[data-v-72463173]{margin-left:0}}.pagination-center[data-v-462fd850]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-462fd850]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-462fd850],.pagination-center .pagination .page-prev[data-v-462fd850],.pagination-center .pagination .page[data-v-462fd850]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-462fd850],.pagination-center .pagination .page-prev.active[data-v-462fd850],.pagination-center .pagination .page.active[data-v-462fd850]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-462fd850],.pagination-center .pagination .page-prev.disabled[data-v-462fd850],.pagination-center .pagination .page.disabled[data-v-462fd850]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-462fd850],.pagination-center .pagination .page-prev.disabled a[data-v-462fd850],.pagination-center .pagination .page.disabled a[data-v-462fd850]{color:var(--disabled-color)}.pagination-center .pagination .page[data-v-462fd850]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-462fd850]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-462fd850]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-462fd850]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-462fd850]{display:none}}#admin-users .top-button[data-v-047ae14e]{display:none}#admin-users table td[data-v-047ae14e]{font-size:1.1em}#admin-users .left-text[data-v-047ae14e]{text-align:left}#admin-users[data-v-047ae14e] .user-picture img{height:30px;width:30px}#admin-users[data-v-047ae14e] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-047ae14e]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-047ae14e]{margin-top:-30px}}.user-header[data-v-312cd857]{display:flex;align-items:stretch}.user-header .user-details[data-v-312cd857]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-312cd857]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-312cd857]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-312cd857]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-312cd857],.user-header .user-details .user-stats .user-stat .stat-number[data-v-312cd857]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-312cd857],.user-header .user-details .user-stats .user-stat[data-v-312cd857] .distance{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-312cd857]{font-size:1.5em}.user-header .user-details .user-stats[data-v-312cd857]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-312cd857],.user-header .user-details .user-stats .user-stat[data-v-312cd857] .distance{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-312cd857]{display:none}}.profile-tabs{margin:10px 0 10px}#user-profile[data-v-e26535e0]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-e26535e0]{width:100%;margin:0 auto 50px auto}}#user-infos .user-bio[data-v-7da6fc6b]{white-space:pre-wrap}.form-buttons{flex-direction:row}@media screen and (max-width:500px){.form-buttons{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-56c3f022]{display:flex;flex-direction:column}#user-picture-edition .user-picture-form form[data-v-56c3f022]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-56c3f022]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-56c3f022]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-56c3f022]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-56c3f022]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-56c3f022]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-56c3f022]{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-56c3f022],#user-picture-edition .user-picture-form .picture-help[data-v-56c3f022]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-47ea2903]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-47ea2903]{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-47ea2903]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-47ea2903]{background-color:var(--dropdown-hover-color)}#user-sport-preferences .sport-img[data-v-4775544a]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-4775544a]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-4775544a]{width:170px}#user-sport-preferences .disabled-sport[data-v-4775544a]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-4775544a]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-4775544a]{font-style:normal}#user-sport-preferences .action-buttons[data-v-4775544a]{width:70px}#user-sport-preferences .edition-buttons[data-v-4775544a]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-4775544a]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-4775544a]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-4775544a]{display:none}#user-sport-preferences div.error-message[data-v-4775544a]{margin:0}@media screen and (max-width:700px){#user-sport-preferences .action-buttons[data-v-4775544a],#user-sport-preferences .sport-label[data-v-4775544a]{width:45%}#user-sport-preferences .edition-buttons[data-v-4775544a]{justify-content:center}#user-sport-preferences .mobile-display[data-v-4775544a]{display:flex;margin:20px 0 10px}}@media screen and (max-width:500px){#user-sport-preferences .action-buttons[data-v-4775544a],#user-sport-preferences .sport-label[data-v-4775544a]{width:100%}}.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}.static-map .bg-map-image{background-size:cover;background-position:50%;opacity:.6;height:200px;width:100%}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{background-color:hsla(0,0%,100%,.7)}.mountains[data-v-c9d1f10c]{padding-right:5px}.timeline-workout[data-v-c9d1f10c]{margin-bottom:20px}.timeline-workout .box[data-v-c9d1f10c]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-c9d1f10c]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-c9d1f10c]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-c9d1f10c]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-map[data-v-c9d1f10c]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-c9d1f10c]{line-height:150px}.timeline-workout .box .workout-map[data-v-c9d1f10c] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-c9d1f10c]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-c9d1f10c]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-c9d1f10c],.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-c9d1f10c],.timeline-workout .box .workout-data .img .data-values[data-v-c9d1f10c]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-c9d1f10c],.timeline-workout .box .workout-data .elevation[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-c9d1f10c],.timeline-workout .box .workout-data.without-gpx .img[data-v-c9d1f10c]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-c9d1f10c],.timeline-workout .box .workout-map[data-v-c9d1f10c]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-c9d1f10c]{cursor:default}.timeline-workout .box .fa[data-v-c9d1f10c]{padding-right:10px}.no-workouts[data-v-4b4d15fb]{display:flex;justify-content:center}#timeline[data-v-9ef2a9ac]{margin-bottom:20px}#timeline .more-workouts[data-v-9ef2a9ac]{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-52d4310a]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-52d4310a]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{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-52d4310a]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-52d4310a]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{background:#f5f5f5;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px 10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-52d4310a]{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(--app-color-light)}.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}.start-chart .chart-radio[data-v-14aef866]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.start-chart .chart-radio label[data-v-14aef866]{font-size:.85em;font-weight:400}@media screen and (max-width:700px){.start-chart .chart-radio label[data-v-14aef866]{padding-bottom:10px}}.user-month-stats[data-v-1bcddc12] .card-content{padding:10px}.records-card[data-v-aee1f956]{width:100%;padding-bottom:3px}.records-card[data-v-aee1f956] .card{font-size:.9em}.records-card[data-v-aee1f956] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-aee1f956] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-aee1f956] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-aee1f956] .card .card-content .record{display:flex;justify-content:space-between}.records-card[data-v-aee1f956] .card .card-content .record span{padding:2px 5px}.records-card[data-v-aee1f956] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-aee1f956] .card .card-content .record .record-value{font-weight:700;padding-right:20px}@media screen and (max-width:1000px){.records-card[data-v-aee1f956] .card,.records-card[data-v-aee1f956] .card .card-title{font-size:1em}.records-card[data-v-aee1f956] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-ae25a82a]{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}#dashboard .dashboard-container[data-v-2f390f91]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-2f390f91]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-2f390f91]{width:32%}#dashboard .dashboard-container .right-container[data-v-2f390f91]{width:68%}#dashboard .mobile-menu[data-v-2f390f91]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-2f390f91]{padding-bottom:60px}#dashboard .dashboard-container[data-v-2f390f91]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-2f390f91],#dashboard .dashboard-container .right-container[data-v-2f390f91]{width:100%}#dashboard .mobile-menu[data-v-2f390f91]{display:flex}#dashboard .mobile-menu .box[data-v-2f390f91]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-2f390f91]{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-2f390f91]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-2f390f91]{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-2f390f91]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-2f390f91]{display:none}}#error[data-v-b60bfa80]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-b60bfa80]{margin-top:50px}#error .error-content h1[data-v-b60bfa80]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-b60bfa80]{font-size:1.2em;margin:30px 0}#bike[data-v-39d425b4]{display:flex;justify-content:center;padding:10px;height:100%}#bike .bike-img[data-v-39d425b4]{max-width:40%}[data-v-12d9495f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color)) }#user-auth-form[data-v-12d9495f]{display:flex;align-items:center;margin:10px 0;height:100%}#user-auth-form #user-form[data-v-12d9495f]{width:60%}#user-auth-form #user-form .account[data-v-12d9495f]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-12d9495f]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-12d9495f]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-12d9495f]:disabled{border-color:var(--disabled-color)}@media screen and (max-width:1000px){#user-auth-form[data-v-12d9495f]{height:auto;margin-bottom:50px}#user-auth-form #user-form[data-v-12d9495f]{margin-top:10px;width:100%}}#loginOrRegister[data-v-6a38125b]{display:flex;height:100%}#loginOrRegister .container[data-v-6a38125b]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-6a38125b]{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister[data-v-6a38125b]{height:auto}#loginOrRegister .container .container-sub[data-v-6a38125b]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-6a38125b]{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container[data-v-6a38125b]{flex-direction:column}}.alert-message[data-v-69d7e4ff]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.custom-textarea[data-v-3ec2aca2]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-3ec2aca2]{font-size:.8em;font-style:italic}.strong[data-v-f46ff1d6]{font-weight:700}.dropdown-list[data-v-ca61364c]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-ca61364c]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-ca61364c]:last-child{padding-bottom:5px}.dropdown-item[data-v-ca61364c]{cursor:default}.dropdown-item.selected[data-v-ca61364c]{font-weight:700}.dropdown-item.selected[data-v-ca61364c]:after{content:" ✔"}.error-message[data-v-2659a79a]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-4c9921ee]{-webkit-animation:spin-4c9921ee 2s linear infinite;animation:spin-4c9921ee 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}@-webkit-keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#modal[data-v-e8fcfaba]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-e8fcfaba]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-e8fcfaba]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-e8fcfaba]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-e8fcfaba] .card{border:0;margin:0}#modal .custom-modal[data-v-e8fcfaba] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/css/app.b6e7921a.css b/fittrackee/dist/static/css/app.b6e7921a.css new file mode 100644 index 00000000..5747c971 --- /dev/null +++ b/fittrackee/dist/static/css/app.b6e7921a.css @@ -0,0 +1 @@ +#footer[data-v-2c73279e]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-2c73279e]{text-decoration:none}#footer .footer-items[data-v-2c73279e]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-2c73279e]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-2c73279e]{font-size:.85em}#footer .footer-items .footer-item[data-v-2c73279e]{padding:5px 5px}#footer .footer-items .bullet[data-v-2c73279e]{padding:5px 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}[data-v-0d4f0b8f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--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-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--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}#nav[data-v-0d4f0b8f]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-0d4f0b8f]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-0d4f0b8f]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-0d4f0b8f]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-0d4f0b8f]:hover{cursor:pointer}#nav .fa[data-v-0d4f0b8f]{font-size:1.2em}#nav .close-icon[data-v-0d4f0b8f],#nav .hamburger-icon[data-v-0d4f0b8f],#nav .nav-icon-open[data-v-0d4f0b8f]{display:none}#nav .nav-items[data-v-0d4f0b8f]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-0d4f0b8f]{display:none}#nav .nav-items .nav-items-app-menu[data-v-0d4f0b8f],#nav .nav-items .nav-items-user-menu[data-v-0d4f0b8f]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-0d4f0b8f]{display:flex}#nav .nav-items .nav-item[data-v-0d4f0b8f]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-0d4f0b8f]{width:60px}#nav .nav-items .nav-item[data-v-0d4f0b8f] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-0d4f0b8f]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-0d4f0b8f]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-0d4f0b8f] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-0d4f0b8f] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-0d4f0b8f]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-0d4f0b8f]{display:block}#nav .nav-icon-open[data-v-0d4f0b8f]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-0d4f0b8f]{display:none}#nav .close-icon[data-v-0d4f0b8f]{display:block}#nav .close-icon.menu-closed[data-v-0d4f0b8f],#nav .nav-items[data-v-0d4f0b8f]{display:none}#nav .nav-items.menu-open[data-v-0d4f0b8f]{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-app-menu[data-v-0d4f0b8f],#nav .nav-items.menu-open .nav-items-close[data-v-0d4f0b8f],#nav .nav-items.menu-open .nav-items-user-menu[data-v-0d4f0b8f]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-0d4f0b8f]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-0d4f0b8f]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-0d4f0b8f]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-0d4f0b8f]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-0d4f0b8f]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-0d4f0b8f]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}#no-config[data-v-47759238]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-47759238]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-47759238]{width:150px}#no-config .error-page .error-img svg[data-v-47759238]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-47759238]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-47759238]{font-size:1em}}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--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-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--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}#app,body{margin:0}#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);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea: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:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button: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(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-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);margin:10px}.box,.info-box{border-radius:4px;padding:10px}.info-box{background-color:var(--info-background-color);color:var(--info-color);font-size:.8em}.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(--alert-color);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}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.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.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;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 auto}}.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{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table 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 #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button{display:block}.user-limit-help[data-v-24ec93e2]{display:flex}.user-limit-help span[data-v-24ec93e2]{font-style:italic}.user-limit-help .fa-info-circle[data-v-24ec93e2]{margin-right:10px}.no-contact[data-v-24ec93e2]{font-style:italic}.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}}.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}#admin-menu[data-v-1bcb269a]{display:flex}#admin-menu.center-card[data-v-1bcb269a]{width:100%}#admin-menu[data-v-1bcb269a] .card{flex-grow:1}#admin-menu[data-v-1bcb269a] .card .admin-menu{padding:0 10px}#admin-menu[data-v-1bcb269a] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-1bcb269a] .card .admin-menu .registration-status{font-weight:700}#admin-sports table td[data-v-6d62af67]{font-size:1.1em}#admin-sports .sport-img[data-v-6d62af67]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d62af67]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-6d62af67]{padding-left:40px}#admin-sports .action-button[data-v-6d62af67]{display:block}#admin-sports .top-button[data-v-6d62af67]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d62af67]{padding-left:10px}#admin-sports .has-workouts[data-v-6d62af67]{padding-top:5px}#admin-sports .action-button[data-v-6d62af67]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d62af67]{display:block;margin-bottom:20px}}.table-selects[data-v-72463173]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-72463173]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-72463173]{flex-wrap:wrap}.table-selects label[data-v-72463173]{margin-bottom:10px}.table-selects label select[data-v-72463173]{margin-left:0}}.pagination-center[data-v-f38ea1b8]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-f38ea1b8]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-f38ea1b8],.pagination-center .pagination .page-prev[data-v-f38ea1b8],.pagination-center .pagination .page[data-v-f38ea1b8]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-f38ea1b8],.pagination-center .pagination .page-prev.active[data-v-f38ea1b8],.pagination-center .pagination .page.active[data-v-f38ea1b8]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-f38ea1b8],.pagination-center .pagination .page-prev.disabled[data-v-f38ea1b8],.pagination-center .pagination .page.disabled[data-v-f38ea1b8]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-f38ea1b8],.pagination-center .pagination .page-prev.disabled a[data-v-f38ea1b8],.pagination-center .pagination .page.disabled a[data-v-f38ea1b8]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-f38ea1b8]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-f38ea1b8]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-f38ea1b8]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-f38ea1b8]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-f38ea1b8]{display:none}}.users-filters[data-v-627a8e91]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-627a8e91]{font-size:1.5em}.users-filters .fa-disabled[data-v-627a8e91]{color:var(--disabled-color)}.users-filters .search-username[data-v-627a8e91]{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-627a8e91]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-627a8e91]:focus{outline:none}.users-filters .search-username .fa-times[data-v-627a8e91]{padding-right:10px}@media screen and (max-width:700px){.users-filters .search-username[data-v-627a8e91]{width:400px}}@media screen and (max-width:500px){.users-filters .search-username[data-v-627a8e91]{width:90%}}#admin-users .top-button[data-v-4735c10f]{display:none}#admin-users .no-users[data-v-4735c10f]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-4735c10f]{font-size:1.1em}#admin-users .left-text[data-v-4735c10f]{text-align:left}#admin-users[data-v-4735c10f] .user-picture img{height:30px;width:30px}#admin-users[data-v-4735c10f] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-4735c10f]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-4735c10f]{margin-top:-30px}}.user-header[data-v-20291951]{display:flex;align-items:stretch}.user-header .user-details[data-v-20291951]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-20291951]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-20291951]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-20291951]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-20291951],.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-20291951]{font-size:1.5em}.user-header .user-details .user-stats[data-v-20291951]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-20291951]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}#user-profile[data-v-e26535e0]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-e26535e0]{width:100%;margin:0 auto 50px auto}}#user-infos .user-bio[data-v-8f7f2d5c]{white-space:pre-wrap}#user-infos .alert-message[data-v-8f7f2d5c]{margin:0}#user-infos .profile-buttons[data-v-8f7f2d5c]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-8f7f2d5c]{display:flex}#user-infos .email-form form[data-v-8f7f2d5c]{width:100%}#user-infos .email-form .form-buttons[data-v-8f7f2d5c]{display:flex;gap:10px;margin-top:10px}.password-strength[data-v-79c9693d]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-79c9693d]{-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-79c9693d],.password-strength .strength-1[data-v-79c9693d]{background:var(--password-bg-color);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-79c9693d]{background:var(--password-bg-color);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-79c9693d]{background:var(--password-bg-color);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-79c9693d]{background:var(--password-bg-color);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-79c9693d]::-moz-range-thumb,.password-strength .password-slider[data-v-79c9693d]::-webkit-slider-thumb{opacity:0}.password-strength .password-slider[data-v-79c9693d]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-79c9693d]::-moz-range-thumb{-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-79c9693d]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-79c9693d]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-79c9693d]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-79c9693d]{padding-left:20px}.password-input[data-v-5a126514]{display:flex;flex-direction:column}.password-input .show-password[data-v-5a126514]{font-style:italic;font-size:.85em;text-align:right;margin-top:-7.5px;padding-right:10px;cursor:pointer}.form-items .password-input[data-v-46fcf129] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-46fcf129] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-46fcf129] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-46fcf129]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-46fcf129]{flex-direction:column}}.form-items .password-input[data-v-b6bacea0] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-b6bacea0]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-b6bacea0]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-3edb2249]{display:flex;flex-direction:column}#user-picture-edition .user-picture-form form[data-v-3edb2249]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-3edb2249]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-3edb2249]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-3edb2249]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-3edb2249]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-3edb2249]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-3edb2249]{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-3edb2249],#user-picture-edition .user-picture-form .picture-help[data-v-3edb2249]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-47ea2903]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-47ea2903]{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-47ea2903]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-47ea2903]{background-color:var(--dropdown-hover-color)}#user-sport-preferences .sport-img[data-v-4775544a]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-4775544a]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-4775544a]{width:170px}#user-sport-preferences .disabled-sport[data-v-4775544a]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-4775544a]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-4775544a]{font-style:normal}#user-sport-preferences .action-buttons[data-v-4775544a]{width:70px}#user-sport-preferences .edition-buttons[data-v-4775544a]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-4775544a]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-4775544a]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-4775544a]{display:none}#user-sport-preferences div.error-message[data-v-4775544a]{margin:0}@media screen and (max-width:700px){#user-sport-preferences .action-buttons[data-v-4775544a],#user-sport-preferences .sport-label[data-v-4775544a]{width:45%}#user-sport-preferences .edition-buttons[data-v-4775544a]{justify-content:center}#user-sport-preferences .mobile-display[data-v-4775544a]{display:flex;margin:20px 0 10px}}@media screen and (max-width:500px){#user-sport-preferences .action-buttons[data-v-4775544a],#user-sport-preferences .sport-label[data-v-4775544a]{width:100%}}[data-v-74257266]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--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-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--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}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-regular.59a385b4.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.8293436e.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-italic.0b285c83.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.01a58da9.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700.6514157e.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-700.b8a7047e.svg#PTSans) format("svg")}body[data-v-74257266]{margin:0}#app[data-v-74257266]{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-74257266]{color:var(--app-a-color);text-decoration:none}img[data-v-74257266]{max-width:100%}input[data-v-74257266],select[data-v-74257266],textarea[data-v-74257266]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-74257266]:disabled,select[data-v-74257266]:disabled,textarea[data-v-74257266]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-74257266] :invalid{outline:2px solid var(--input-error-color)}label[data-v-74257266]{font-weight:700}button[data-v-74257266]{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[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-74257266]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-74257266]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-74257266]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-74257266]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-74257266]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-74257266]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-74257266]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-74257266]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-74257266]{display:flex;flex-direction:column}.form-box .form-items input[data-v-74257266]{margin:10px;padding:5px}.form-info[data-v-74257266]{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-74257266]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-74257266]{text-transform:uppercase}.view[data-v-74257266]{padding-bottom:35px}.fa-trophy[data-v-74257266]{color:var(--workout-trophy-color)}.mountains[data-v-74257266]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-74257266]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-74257266]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-74257266]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-74257266]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-74257266]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-74257266]{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-74257266]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-74257266]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-74257266]{font-weight:700}.description-list dl dd[data-v-74257266]{margin-bottom:10px}.center-card[data-v-74257266]{margin:0 auto;width:700px}.center-card.with-margin[data-v-74257266]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-74257266]{width:100%;margin:0 auto 50px auto}}.text-center[data-v-74257266]{text-align:center}.text-left[data-v-74257266]{text-align:left}.responsive-table[data-v-74257266]{margin-bottom:15px}.responsive-table table[data-v-74257266]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-74257266]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-74257266]{font-size:.95em}.responsive-table table tbody td[data-v-74257266]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:none}.responsive-table table .cell-heading[data-v-74257266]{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-74257266]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-74257266]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-74257266]{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-74257266]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-74257266]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-74257266]{width:100%}}.profile-buttons[data-v-74257266]{display:flex;gap:10px}.medium-sport-img[data-v-74257266]{height:35px;width:35px;margin:0 auto}.about-text[data-v-74257266]{margin-top:200px}@media screen and (max-width:700px){.about-text[data-v-74257266]{margin-top:0}}.about-text .fa-padding[data-v-74257266]{padding-right:10px}#bike[data-v-795f7f5f]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-795f7f5f]{max-width:200px}@media screen and (max-width:700px){#bike[data-v-795f7f5f]{margin-top:10px}#bike .bike-img[data-v-795f7f5f]{max-width:150px}}#about[data-v-bffb50d0]{display:flex;height:100%}#about .container[data-v-bffb50d0]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-bffb50d0]{min-width:50%;height:100%}#about .container .about-details[data-v-bffb50d0]{width:100%}@media screen and (max-width:1000px){#about[data-v-bffb50d0]{height:auto}#about .container .container-sub[data-v-bffb50d0]{align-items:center}#about .container .container-sub .bike-img[data-v-bffb50d0]{max-width:60%}}@media screen and (max-width:700px){#about .container[data-v-bffb50d0]{flex-direction:column}}.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}.static-map .bg-map-image{background-size:cover;background-position:50%;opacity:.6;height:200px;width:100%}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{background-color:hsla(0,0%,100%,.7)}.mountains[data-v-c9d1f10c]{padding-right:5px}.timeline-workout[data-v-c9d1f10c]{margin-bottom:20px}.timeline-workout .box[data-v-c9d1f10c]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-c9d1f10c]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-c9d1f10c]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-c9d1f10c]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-map[data-v-c9d1f10c]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-c9d1f10c]{line-height:150px}.timeline-workout .box .workout-map[data-v-c9d1f10c] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-c9d1f10c]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-c9d1f10c]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-c9d1f10c],.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-c9d1f10c],.timeline-workout .box .workout-data .img .data-values[data-v-c9d1f10c]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-c9d1f10c],.timeline-workout .box .workout-data .elevation[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-c9d1f10c],.timeline-workout .box .workout-data.without-gpx .img[data-v-c9d1f10c]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-c9d1f10c],.timeline-workout .box .workout-map[data-v-c9d1f10c]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-c9d1f10c]{cursor:default}.timeline-workout .box .fa[data-v-c9d1f10c]{padding-right:10px}.no-workouts[data-v-4b4d15fb]{display:flex;justify-content:center}#timeline[data-v-9ef2a9ac]{margin-bottom:20px}#timeline .more-workouts[data-v-9ef2a9ac]{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-52d4310a]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-52d4310a]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{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-52d4310a]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-52d4310a]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{background:#f5f5f5;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px 10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-52d4310a]{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(--app-color-light)}.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}.start-chart .chart-radio[data-v-68a6a495]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.start-chart .chart-radio label[data-v-68a6a495]{font-size:.85em;font-weight:400}@media screen and (max-width:700px){.start-chart .chart-radio label[data-v-68a6a495]{padding-bottom:10px}}.user-month-stats[data-v-1bcddc12] .card-content{padding:10px}.records-card[data-v-aee1f956]{width:100%;padding-bottom:3px}.records-card[data-v-aee1f956] .card{font-size:.9em}.records-card[data-v-aee1f956] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-aee1f956] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-aee1f956] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-aee1f956] .card .card-content .record{display:flex;justify-content:space-between}.records-card[data-v-aee1f956] .card .card-content .record span{padding:2px 5px}.records-card[data-v-aee1f956] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-aee1f956] .card .card-content .record .record-value{font-weight:700;padding-right:20px}@media screen and (max-width:1000px){.records-card[data-v-aee1f956] .card,.records-card[data-v-aee1f956] .card .card-title{font-size:1em}.records-card[data-v-aee1f956] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-ae25a82a]{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}#dashboard .dashboard-container[data-v-20e19721]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-20e19721]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-20e19721]{width:32%}#dashboard .dashboard-container .right-container[data-v-20e19721]{width:68%}#dashboard .mobile-menu[data-v-20e19721]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-20e19721]{padding-bottom:60px}#dashboard .dashboard-container[data-v-20e19721]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-20e19721],#dashboard .dashboard-container .right-container[data-v-20e19721]{width:100%}#dashboard .mobile-menu[data-v-20e19721]{display:flex}#dashboard .mobile-menu .box[data-v-20e19721]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-20e19721]{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-20e19721]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-20e19721]{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-20e19721]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-20e19721]{display:none}}#error[data-v-b60bfa80]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-b60bfa80]{margin-top:50px}#error .error-content h1[data-v-b60bfa80]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-b60bfa80]{font-size:1.2em;margin:30px 0}[data-v-21d76483]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--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-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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:#666;--cell-heading-bg-color:#eee;--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}#user-auth-form[data-v-21d76483]{display:flex}#user-auth-form #user-form[data-v-21d76483]{width:60%}#user-auth-form #user-form .account[data-v-21d76483]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-21d76483]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-21d76483]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-21d76483]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-21d76483]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-21d76483]{margin-bottom:50px}#user-auth-form #user-form[data-v-21d76483]{width:100%}}.user-form[data-v-21d76483]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-21d76483]{margin-top:10px}}#loginOrRegister[data-v-6a38125b]{display:flex;height:100%}#loginOrRegister .container[data-v-6a38125b]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-6a38125b]{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister[data-v-6a38125b]{height:auto}#loginOrRegister .container .container-sub[data-v-6a38125b]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-6a38125b]{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container[data-v-6a38125b]{flex-direction:column}}.alert-message[data-v-69d7e4ff]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.custom-textarea[data-v-3ec2aca2]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-3ec2aca2]{font-size:.8em;font-style:italic}.strong[data-v-f46ff1d6]{font-weight:700}.dropdown-list[data-v-ca61364c]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-ca61364c]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-ca61364c]:last-child{padding-bottom:5px}.dropdown-item[data-v-ca61364c]{cursor:default}.dropdown-item.selected[data-v-ca61364c]{font-weight:700}.dropdown-item.selected[data-v-ca61364c]:after{content:" ✔"}.error-message[data-v-2659a79a]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-4c9921ee]{-webkit-animation:spin-4c9921ee 2s linear infinite;animation:spin-4c9921ee 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}@-webkit-keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#modal[data-v-e8fcfaba]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-e8fcfaba]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-e8fcfaba]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-e8fcfaba]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-e8fcfaba] .card{border:0;margin:0}#modal .custom-modal[data-v-e8fcfaba] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/css/profile.203e78e2.css b/fittrackee/dist/static/css/profile.203e78e2.css new file mode 100644 index 00000000..a3493eda --- /dev/null +++ b/fittrackee/dist/static/css/profile.203e78e2.css @@ -0,0 +1 @@ +#account-confirmation[data-v-785df978]{display:flex;flex-direction:column;align-items:center}#account-confirmation svg[data-v-785df978]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#account-confirmation .error-message[data-v-785df978]{font-size:1.1em;text-align:center;display:flex;flex-direction:column}@media screen and (max-width:1000px){#account-confirmation .error-message[data-v-785df978]{font-size:1em}}#email-update[data-v-8c2ec9ce]{display:flex;flex-direction:column;align-items:center}#email-update svg[data-v-8c2ec9ce]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#email-update .error-message[data-v-8c2ec9ce]{font-size:1.1em;text-align:center;display:flex;flex-direction:column}@media screen and (max-width:1000px){#email-update .error-message[data-v-8c2ec9ce]{font-size:1em}}#profile[data-v-05463732],#profile[data-v-05463732] .profile-form{display:flex;flex-direction:column}#profile[data-v-05463732] .profile-form hr{border-color:var(--card-border-color);border-width:1px 0 0 0}#profile[data-v-05463732] .profile-form .form-items{display:flex;flex-direction:column}#profile[data-v-05463732] .profile-form .form-items input{margin:5px 0}#profile[data-v-05463732] .profile-form .form-items select{height:35px;padding:5px 0}#profile[data-v-05463732] .profile-form .form-items ::v-deep(.custom-textarea) textarea{padding:5px}#profile[data-v-05463732] .profile-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#profile[data-v-05463732] .profile-form .form-items .birth-date{height:20px}#profile[data-v-05463732] .profile-form .form-buttons{display:flex;margin-top:10px;padding:10px 0;gap:10px}#user[data-v-af7007f4]{margin:auto;width:700px}@media screen and (max-width:1000px){#user[data-v-af7007f4]{width:100%;margin:0 auto 50px auto}} \ No newline at end of file diff --git a/fittrackee/dist/static/css/profile.c7bcad7f.css b/fittrackee/dist/static/css/profile.c7bcad7f.css deleted file mode 100644 index 41353a85..00000000 --- a/fittrackee/dist/static/css/profile.c7bcad7f.css +++ /dev/null @@ -1 +0,0 @@ -#profile[data-v-163d82f7],#profile[data-v-163d82f7] .profile-form{display:flex;flex-direction:column}#profile[data-v-163d82f7] .profile-form hr{border-color:var(--card-border-color);border-width:1px 0 0 0}#profile[data-v-163d82f7] .profile-form .form-items{display:flex;flex-direction:column}#profile[data-v-163d82f7] .profile-form .form-items input{margin:5px 0}#profile[data-v-163d82f7] .profile-form .form-items select{height:35px;padding:5px 0}#profile[data-v-163d82f7] .profile-form .form-items ::v-deep(.custom-textarea) textarea{padding:5px}#profile[data-v-163d82f7] .profile-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#profile[data-v-163d82f7] .profile-form .form-items .birth-date{height:20px}#profile[data-v-163d82f7] .profile-form .form-buttons{display:flex;margin-top:10px;padding:10px 0;gap:10px}#user[data-v-10e7b479]{margin:auto;width:700px}@media screen and (max-width:1000px){#user[data-v-10e7b479]{width:100%;margin:0 auto 50px auto}} \ No newline at end of file diff --git a/fittrackee/dist/static/css/reset.29e6e47c.css b/fittrackee/dist/static/css/reset.29e6e47c.css deleted file mode 100644 index 077bda3f..00000000 --- a/fittrackee/dist/static/css/reset.29e6e47c.css +++ /dev/null @@ -1 +0,0 @@ -#password-action-done[data-v-18334f6d]{display:flex;flex-direction:column;align-items:center}#password-action-done svg[data-v-18334f6d]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#password-action-done .password-message[data-v-18334f6d]{font-size:1.1em;text-align:center}@media screen and (max-width:1000px){#password-action-done .password-message[data-v-18334f6d]{font-size:1em}}#password-reset-request[data-v-68377e44] .card .card-content #user-form{width:100%}#password-reset[data-v-f5e39b60]{display:flex}#password-reset .container[data-v-f5e39b60]{display:flex;justify-content:center;width:50%}@media screen and (max-width:700px){#password-reset .container[data-v-f5e39b60]{width:100%;margin:0 auto 50px auto}} \ No newline at end of file diff --git a/fittrackee/dist/static/css/reset.e2527ec6.css b/fittrackee/dist/static/css/reset.e2527ec6.css new file mode 100644 index 00000000..0214ab85 --- /dev/null +++ b/fittrackee/dist/static/css/reset.e2527ec6.css @@ -0,0 +1 @@ +#account-confirmation-email[data-v-66aca424]{display:flex;flex-direction:column}#account-confirmation-email .email-sent[data-v-66aca424]{display:flex;flex-direction:column;align-items:center}#account-confirmation-email .email-sent svg[data-v-66aca424]{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-66aca424]{font-size:1.1em;text-align:center}@media screen and (max-width:1000px){#account-confirmation-email .email-sent .email-sent-message[data-v-66aca424]{font-size:1em}}#account-confirmation-email[data-v-66aca424] .card .card-content #user-auth-form{margin-top:0}#account-confirmation-email[data-v-66aca424] .card .card-content #user-auth-form #user-form{width:100%}#account-confirmation[data-v-35aad344]{display:flex}#account-confirmation .container[data-v-35aad344]{display:flex;justify-content:center;width:50%}@media screen and (max-width:700px){#account-confirmation .container[data-v-35aad344]{width:100%}}#password-action-done[data-v-eac78356]{display:flex;flex-direction:column;align-items:center}#password-action-done svg[data-v-eac78356]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter);width:100px}#password-action-done .password-message[data-v-eac78356]{font-size:1.1em;text-align:center}@media screen and (max-width:1000px){#password-action-done .password-message[data-v-eac78356]{font-size:1em}}#password-reset-request[data-v-68377e44] .card .card-content #user-form{width:100%}#password-reset[data-v-a1cc55c4]{display:flex}#password-reset .container[data-v-a1cc55c4]{display:flex;justify-content:center;width:50%}@media screen and (max-width:700px){#password-reset .container[data-v-a1cc55c4]{width:100%}} \ No newline at end of file diff --git a/fittrackee/dist/static/css/statistics.ca46b7cd.css b/fittrackee/dist/static/css/statistics.91fe968e.css similarity index 80% rename from fittrackee/dist/static/css/statistics.ca46b7cd.css rename to fittrackee/dist/static/css/statistics.91fe968e.css index 983aee7a..682aa990 100644 --- a/fittrackee/dist/static/css/statistics.ca46b7cd.css +++ b/fittrackee/dist/static/css/statistics.91fe968e.css @@ -1 +1 @@ -.chart-menu[data-v-af15954c]{display:flex}.chart-menu .chart-arrow[data-v-af15954c],.chart-menu .time-frames[data-v-af15954c]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-af15954c]{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-7d54529b]{opacity:.3;pointer-events:none}#user-statistics[data-v-7d54529b] .chart-radio{justify-content:space-around;padding:30px 10px 10px 10px}#statistics[data-v-0d93da6e]{display:flex;width:100%}#statistics .container[data-v-0d93da6e]{display:flex;flex-direction:column;width:100%} \ No newline at end of file +.chart-menu[data-v-af15954c]{display:flex}.chart-menu .chart-arrow[data-v-af15954c],.chart-menu .time-frames[data-v-af15954c]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-af15954c]{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-7d54529b]{opacity:.3;pointer-events:none}#user-statistics[data-v-7d54529b] .chart-radio{justify-content:space-around;padding:30px 10px 10px 10px}#statistics[data-v-2e341d4e]{display:flex;width:100%}#statistics .container[data-v-2e341d4e]{display:flex;flex-direction:column;width:100%} \ No newline at end of file diff --git a/fittrackee/dist/static/css/workouts.4eac54c3.css b/fittrackee/dist/static/css/workouts.2cfe4805.css similarity index 90% rename from fittrackee/dist/static/css/workouts.4eac54c3.css rename to fittrackee/dist/static/css/workouts.2cfe4805.css index 7d2a6ad1..397c6983 100644 --- a/fittrackee/dist/static/css/workouts.4eac54c3.css +++ b/fittrackee/dist/static/css/workouts.2cfe4805.css @@ -1 +1 @@ -.workouts-filters .form[data-v-241c23ba]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-241c23ba]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-241c23ba]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-241c23ba]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-241c23ba]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-241c23ba]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-241c23ba]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-241c23ba]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-241c23ba]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-241c23ba]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-241c23ba]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-241c23ba]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-241c23ba]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-241c23ba]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-241c23ba]{width:75%}.workouts-filters .form-button[data-v-241c23ba]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-241c23ba]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-241c23ba]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-241c23ba]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-241c23ba]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-241c23ba]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-241c23ba]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-241c23ba]{padding:5px}.workouts-filters .form-button[data-v-241c23ba]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-241c23ba]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-241c23ba]{flex-wrap:wrap}}.workouts-list[data-v-3be47bc9]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-3be47bc9]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-3be47bc9]{display:none}}.workouts-list .box .total[data-v-3be47bc9]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-3be47bc9]{font-weight:700}.workouts-list .box .top-pagination[data-v-3be47bc9]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-3be47bc9]{display:flex}.workouts-list .box[data-v-3be47bc9] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-3be47bc9]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-3be47bc9]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-3be47bc9]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-3be47bc9]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-3be47bc9]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-3be47bc9]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-3be47bc9]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-3be47bc9]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-3be47bc9]{display:none}}.workouts-list .more-workouts[data-v-3be47bc9]{display:flex;justify-content:center;padding:10px}#workouts[data-v-03de0ddc]{height:100%}#workouts .workouts-container[data-v-03de0ddc]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-03de0ddc]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-03de0ddc],#workouts .workouts-container .list-container[data-v-03de0ddc]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-03de0ddc]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-03de0ddc]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-03de0ddc]{display:none}}#workouts .workouts-container .display-filters[data-v-03de0ddc]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-03de0ddc]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-03de0ddc]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-03de0ddc]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-03de0ddc]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-03de0ddc]{width:100%}}#workout-card-title[data-v-4d9f9a8a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-4d9f9a8a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-4d9f9a8a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-4d9f9a8a]{display:flex;flex-grow:1;align-items:center}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a]{padding:0 10px}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a] svg{height:35px;width:35px}#workout-card-title .workout-card-title .workout-title span[data-v-4d9f9a8a]{margin-right:5px}#workout-card-title .workout-card-title .workout-date[data-v-4d9f9a8a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-4d9f9a8a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-4d9f9a8a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-4d9f9a8a]{cursor:pointer;padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-download[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-edit[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-trash[data-v-4d9f9a8a]{padding:0 7px}}.workout-record sup[data-v-1a5282f6]{font-size:75%;line-height:0}.wind[data-v-46a7c31c]{display:flex;justify-content:center}.wind .wind-bearing[data-v-46a7c31c]{padding-left:5px}#workout-weather[data-v-76e9ab62]{padding-top:10px}#workout-weather .weather-img[data-v-76e9ab62]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-76e9ab62]{height:20px}#workout-weather .weather-table[data-v-76e9ab62]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-76e9ab62]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-76e9ab62]{font-size:.8em}#workout-info[data-v-dc2fbc66]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-dc2fbc66],#workout-info .mountains[data-v-dc2fbc66]{padding-right:5px}#workout-info .workout-data[data-v-dc2fbc66]{padding:5px 0}#workout-info .workout-data .label[data-v-dc2fbc66]{text-transform:capitalize}#workout-info .workout-data .value[data-v-dc2fbc66]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-dc2fbc66]{padding:10px}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline:0}.leaflet-container a{color:#0078a8}.leaflet-container a.leaflet-active{outline:2px solid orange}.leaflet-zoom-box{border:2px dotted #38f;background:hsla(0,0%,100%,.5)}.leaflet-container{font:12px/1.5 Helvetica Neue,Arial,Helvetica,sans-serif}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:hsla(0,0%,100%,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:#fff;background:hsla(0,0%,100%,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;font-weight:700;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}#workout-map[data-v-6b490f5d]{padding:10px 0}#workout-map .leaflet-container[data-v-6b490f5d],#workout-map .no-map[data-v-6b490f5d]{height:400px;width:600px}#workout-map .no-map[data-v-6b490f5d]{line-height:400px}#workout-map .map-control[data-v-6b490f5d]{background:#fff;padding:5px 10px;border:2px solid #bfc0ab;border-radius:3px;color:#000}#workout-map[data-v-6b490f5d] .fullscreen{display:flex;align-items:center;z-index:1000}#workout-map[data-v-6b490f5d] .fullscreen .fullscreen-map{height:100%;width:100%}@media screen and (max-width:700px){#workout-map[data-v-6b490f5d]{padding:0}#workout-map .leaflet-container[data-v-6b490f5d]{width:100%;height:300px}#workout-map .no-map[data-v-6b490f5d]{display:none}}.workout-detail[data-v-578bb8ea]{display:flex}.workout-detail[data-v-578bb8ea] .card{width:100%}.workout-detail[data-v-578bb8ea] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-578bb8ea] .card .card-content{flex-direction:column}}#workout-chart[data-v-7b25bb74] .card .card-title{text-transform:capitalize}#workout-chart[data-v-7b25bb74] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-7b25bb74] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-7b25bb74] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-7b25bb74] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-7b25bb74] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-7b25bb74] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-7b25bb74] .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}@media screen and (max-width:700px){#workout-chart[data-v-7b25bb74] .card .card-content{padding:10px 0}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}#workout-note[data-v-028ad527] .card-content{font-style:italic;white-space:pre-wrap}#workout-segments[data-v-6b8a27cd] .card .card-title{text-transform:capitalize}#workout-segments[data-v-6b8a27cd] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-6b8a27cd] .card .card-content a{font-weight:700}#workout-segments[data-v-6b8a27cd] .card .card-content ul{padding:0 10px;list-style:square}#workout[data-v-d146d84a]{display:flex}#workout .container[data-v-d146d84a]{width:100%;padding:0}#workout .container .workout-container[data-v-d146d84a]{width:100%}#workout .container .workout-loading[data-v-d146d84a]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-d146d84a]{display:flex;align-items:center;height:100%}@media screen and (max-width:700px){#workout-edition.center-form[data-v-22f139f6]{margin:50px auto}}#workout-edition[data-v-22f139f6] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-22f139f6] .card .card-content{padding:10px 0}}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-22f139f6] .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-22f139f6] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-22f139f6] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-22f139f6] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px} \ No newline at end of file +.workouts-filters .form[data-v-241c23ba]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-241c23ba]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-241c23ba]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-241c23ba]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-241c23ba]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-241c23ba]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-241c23ba]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-241c23ba]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-241c23ba]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-241c23ba]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-241c23ba]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-241c23ba]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-241c23ba]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-241c23ba]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-241c23ba]{width:75%}.workouts-filters .form-button[data-v-241c23ba]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-241c23ba]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-241c23ba]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-241c23ba]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-241c23ba]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-241c23ba]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-241c23ba]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-241c23ba]{padding:5px}.workouts-filters .form-button[data-v-241c23ba]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-241c23ba]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-241c23ba]{flex-wrap:wrap}}.workouts-list[data-v-3be47bc9]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-3be47bc9]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-3be47bc9]{display:none}}.workouts-list .box .total[data-v-3be47bc9]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-3be47bc9]{font-weight:700}.workouts-list .box .top-pagination[data-v-3be47bc9]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-3be47bc9]{display:flex}.workouts-list .box[data-v-3be47bc9] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-3be47bc9]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-3be47bc9]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-3be47bc9]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-3be47bc9]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-3be47bc9]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-3be47bc9]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-3be47bc9]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-3be47bc9]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-3be47bc9]{display:none}}.workouts-list .more-workouts[data-v-3be47bc9]{display:flex;justify-content:center;padding:10px}#workouts[data-v-77e54012]{height:100%}#workouts .workouts-container[data-v-77e54012]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-77e54012]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-77e54012],#workouts .workouts-container .list-container[data-v-77e54012]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-77e54012]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-77e54012]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-77e54012]{display:none}}#workouts .workouts-container .display-filters[data-v-77e54012]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-77e54012]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-77e54012]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-77e54012]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-77e54012]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-77e54012]{width:100%}}#workout-card-title[data-v-4d9f9a8a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-4d9f9a8a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-4d9f9a8a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-4d9f9a8a]{display:flex;flex-grow:1;align-items:center}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a]{padding:0 10px}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a] svg{height:35px;width:35px}#workout-card-title .workout-card-title .workout-title span[data-v-4d9f9a8a]{margin-right:5px}#workout-card-title .workout-card-title .workout-date[data-v-4d9f9a8a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-4d9f9a8a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-4d9f9a8a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-4d9f9a8a]{cursor:pointer;padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-download[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-edit[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-trash[data-v-4d9f9a8a]{padding:0 7px}}.workout-record sup[data-v-1a5282f6]{font-size:75%;line-height:0}.wind[data-v-46a7c31c]{display:flex;justify-content:center}.wind .wind-bearing[data-v-46a7c31c]{padding-left:5px}#workout-weather[data-v-76e9ab62]{padding-top:10px}#workout-weather .weather-img[data-v-76e9ab62]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-76e9ab62]{height:20px}#workout-weather .weather-table[data-v-76e9ab62]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-76e9ab62]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-76e9ab62]{font-size:.8em}#workout-info[data-v-dc2fbc66]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-dc2fbc66],#workout-info .mountains[data-v-dc2fbc66]{padding-right:5px}#workout-info .workout-data[data-v-dc2fbc66]{padding:5px 0}#workout-info .workout-data .label[data-v-dc2fbc66]{text-transform:capitalize}#workout-info .workout-data .value[data-v-dc2fbc66]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-dc2fbc66]{padding:10px}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-tile{will-change:opacity}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}.leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline:0}.leaflet-container a{color:#0078a8}.leaflet-container a.leaflet-active{outline:2px solid orange}.leaflet-zoom-box{border:2px dotted #38f;background:hsla(0,0%,100%,.5)}.leaflet-container{font:12px/1.5 Helvetica Neue,Arial,Helvetica,sans-serif}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a,.leaflet-bar a:hover{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:hsla(0,0%,100%,.7);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale{font-size:11px}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;font-size:11px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:#fff;background:hsla(0,0%,100%,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-content p{margin:18px 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;padding:4px 4px 0 0;border:none;text-align:center;width:18px;height:14px;font:16px/14px Tahoma,Verdana,sans-serif;color:#c3c3c3;text-decoration:none;font-weight:700;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover{color:#999}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-popup-tip-container{margin-top:-1px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-clickable{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}#workout-map[data-v-6b490f5d]{padding:10px 0}#workout-map .leaflet-container[data-v-6b490f5d],#workout-map .no-map[data-v-6b490f5d]{height:400px;width:600px}#workout-map .no-map[data-v-6b490f5d]{line-height:400px}#workout-map .map-control[data-v-6b490f5d]{background:#fff;padding:5px 10px;border:2px solid #bfc0ab;border-radius:3px;color:#000}#workout-map[data-v-6b490f5d] .fullscreen{display:flex;align-items:center;z-index:1000}#workout-map[data-v-6b490f5d] .fullscreen .fullscreen-map{height:100%;width:100%}@media screen and (max-width:700px){#workout-map[data-v-6b490f5d]{padding:0}#workout-map .leaflet-container[data-v-6b490f5d]{width:100%;height:300px}#workout-map .no-map[data-v-6b490f5d]{display:none}}.workout-detail[data-v-578bb8ea]{display:flex}.workout-detail[data-v-578bb8ea] .card{width:100%}.workout-detail[data-v-578bb8ea] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-578bb8ea] .card .card-content{flex-direction:column}}#workout-chart[data-v-7b25bb74] .card .card-title{text-transform:capitalize}#workout-chart[data-v-7b25bb74] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-7b25bb74] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-7b25bb74] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-7b25bb74] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-7b25bb74] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-7b25bb74] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-7b25bb74] .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}@media screen and (max-width:700px){#workout-chart[data-v-7b25bb74] .card .card-content{padding:10px 0}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-7b25bb74] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}#workout-note[data-v-028ad527] .card-content{font-style:italic;white-space:pre-wrap}#workout-segments[data-v-6b8a27cd] .card .card-title{text-transform:capitalize}#workout-segments[data-v-6b8a27cd] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-6b8a27cd] .card .card-content a{font-weight:700}#workout-segments[data-v-6b8a27cd] .card .card-content ul{padding:0 10px;list-style:square}#workout[data-v-85ac744a]{display:flex}#workout .container[data-v-85ac744a]{width:100%;padding:0}#workout .container .workout-container[data-v-85ac744a]{width:100%}#workout .container .workout-loading[data-v-85ac744a]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-85ac744a]{display:flex;align-items:center;height:100%}@media screen and (max-width:700px){#workout-edition.center-form[data-v-0050001d]{margin:50px auto}}#workout-edition[data-v-0050001d] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-0050001d] .card .card-content{padding:10px 0}}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-0050001d] .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-0050001d] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-0050001d] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-0050001d] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-0050001d] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-0050001d] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-0050001d] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.3c006379.js b/fittrackee/dist/static/js/app.3c006379.js deleted file mode 100644 index a24f50ea..00000000 --- a/fittrackee/dist/static/js/app.3c006379.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),s=n(12),o=n(8602),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=s.Z.getters[o.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:a()})},6804:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},a={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},s={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},o={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},l={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
      Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},c={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},m={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}},S={admin:r,api:a,buttons:s,common:o,dashboard:i,error:l,sports:c,statistics:u,user:d,workouts:m}},7754:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},a={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},s={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},o={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},l={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
      Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},c={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},m={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}},S={admin:r,api:a,buttons:s,common:o,dashboard:i,error:l,sports:c,statistics:u,user:d,workouts:m}},7566:function(e,t,n){"use strict";var r=n(3328),a=n(8278),s=n(9963),o=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-75ada372"),e=e(),(0,l.Cn)(),e),m={id:"footer"},S={class:"footer-items"},_={class:"footer-item"},p=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),E=(0,l.uE)('',4);var T=(0,l.aZ)({props:{version:null},setup(e){const t=e,{version:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",S,[(0,l._)("div",_,[p,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(n)),1)]),E])]))}}),A=n(3744);const O=(0,A.Z)(T,[["__scopeId","data-v-75ada372"]]);var U=O,R=n(3324),g=n(8660),I=n(8602),w=n(9917),f=n(6287);const v=e=>((0,l.dD)("data-v-6259410f"),e=e(),(0,l.Cn)(),e),N={id:"nav"},h={class:"nav-container"},k={class:"nav-app-name"},D={class:"nav-items-close"},z=v((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),P={key:0,class:"nav-items-group"},C=v((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),y={class:"nav-items-user-menu"},L={key:0,class:"nav-items-group"},M={class:"nav-item nav-profile-img"},b={key:1,class:"nav-items-group"},G=v((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var W=(0,l.aZ)({emits:["menuInteraction"],setup(e,{emit:t}){const{locale:n}=(0,R.QT)(),r=(0,w.o)(),a=(0,l.Fl)((()=>r.getters[I.YN.GETTERS.AUTH_USER_PROFILE])),s=(0,l.Fl)((()=>r.getters[I.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>r.getters[I.SY.GETTERS.LANGUAGE]));let i=(0,c.iH)(!1);function d(){i.value=!0,t("menuInteraction",!0)}function m(){i.value=!1,t("menuInteraction",!1)}function S(e){n.value=e.value.toString(),r.commit(I.SY.MUTATIONS.UPDATE_LANG,e.value)}function _(){r.dispatch(I.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),r=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",N,[(0,l._)("div",h,[(0,l._)("div",k,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>d())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("div",D,[z,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!(0,c.SU)(i)}]),onClick:t[2]||(t[2]=e=>m())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>m())},[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",P,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(s)&&(0,c.SU)(a).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),C])):(0,l.kq)("",!0)]),(0,l._)("div",y,[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",L,[(0,l._)("div",M,[(0,l.Wm)(g.Z,{user:(0,c.SU)(a)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",b,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(f.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(r,{key:2,class:"nav-item",options:(0,c.SU)(f.mT),selected:(0,c.SU)(o),onSelected:S},{default:(0,l.w5)((()=>[G])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const x=(0,A.Z)(W,[["__scopeId","data-v-6259410f"]]);var F=x;const Y={id:"no-config"},Z={class:"error-page"},K=(0,l.uE)('
      ',1),$=["innerHTML"];function B(e,t){return(0,l.wg)(),(0,l.iD)("div",Y,[(0,l._)("div",Z,[K,(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,$)])])}const H={},q=(0,A.Z)(H,[["render",B],["__scopeId","data-v-1596efb7"]]);var j=q;const X=(0,l._)("div",{id:"top"},null,-1),V={key:0,class:"app-container"},J={class:"app-loading"},Q={class:"container scroll"},ee=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),te=[ee];var ne=(0,l.aZ)({setup(e){const t=(0,w.o)(),n=(0,l.Fl)((()=>t.getters[I.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[I.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),s=(0,c.iH)(!1);function o(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{let e=document.querySelector("#bottom");s.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{s.value=!1}),300)}return(0,l.wF)((()=>t.dispatch(I.SY.ACTIONS.GET_APPLICATION_CONFIG))),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[X,(0,l.Wm)(F,{onMenuInteraction:o}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",J,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(j,{key:1}))],2)),(0,l._)("div",Q,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":s.value}]),onClick:m},te,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(U,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:""},null,8,["version"])):(0,l.kq)("",!0)],64)}}});const re=ne;var ae=re,se=n(2540),oe=n(7258),ie=n(12);const le={class:"alert-message"},ce=["innerHTML"];var ue=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",le,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,ce)]))}});const de=(0,A.Z)(ue,[["__scopeId","data-v-69d7e4ff"]]);var me=de,Se=n(2531);const _e={class:"custom-textarea"},pe=["id","name","maxLenght","disabled"],Ee={class:"remaining-chars"};var Te=(0,l.aZ)({props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e;let r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",_e,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>(0,c.dq)(r)?r.value=e:r=e),onInput:a},null,40,pe),[[s.nr,(0,c.SU)(r)]]),(0,l._)("div",Ee,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)((0,c.SU)(r).length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const Ae=(0,A.Z)(Te,[["__scopeId","data-v-3ec2aca2"]]);var Oe=Ae,Ue=n(3649);const Re=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var ge=(0,l.aZ)({props:{distance:null,unitFrom:null,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:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?Ue.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,Ue.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(S)),3),Re,(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(s)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const Ie=(0,A.Z)(ge,[["__scopeId","data-v-f46ff1d6"]]);var we=Ie,fe=n(2119);const ve={class:"dropdown-wrapper"},Ne={key:0,class:"dropdown-list"},he=["onClick"];var ke=(0,l.aZ)({props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,fe.yj)();let a=(0,c.iH)(!1),s=n.options.map((e=>e));function o(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",ve,[(0,l._)("div",{class:"dropdown-selected",onClick:o},[(0,l.WI)(t.$slots,"default")]),(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("ul",Ne,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(s),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,he)))),128))])):(0,l.kq)("",!0)]))}});const De=(0,A.Z)(ke,[["__scopeId","data-v-ca61364c"]]);var ze=De;const Pe={class:"error-message"},Ce={key:0},ye={key:1};var Le=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Pe,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",Ce,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",ye,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const Me=(0,A.Z)(Le,[["__scopeId","data-v-2659a79a"]]);var be=Me;const Ge={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 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},We=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),xe=(0,l._)("g",null,[(0,l._)("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),(0,l._)("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Fe=[We,xe];function Ye(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Ge,Fe)}var Ze={name:"CyclingSport"};const Ke=(0,A.Z)(Ze,[["render",Ye]]);var $e=Ke;const Be={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},He=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),qe=(0,l._)("g",{id:"g147"},[(0,l._)("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),(0,l._)("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),je=[He,qe];function Xe(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Be,je)}var Ve={name:"CyclingTransport"};const Je=(0,A.Z)(Ve,[["render",Xe]]);var Qe=Je;const et={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 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},tt=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),nt=(0,l._)("g",null,[(0,l._)("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),(0,l._)("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),rt=[tt,nt];function at(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",et,rt)}var st={name:"Hiking"};const ot=(0,A.Z)(st,[["render",at]]);var it=ot;const lt={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 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},ct=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),ut=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),(0,l._)("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),(0,l._)("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),dt=[ct,ut];function mt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",lt,dt)}var St={name:"MountainBiking"};const _t=(0,A.Z)(St,[["render",mt]]);var pt=_t;const Et={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},Tt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),At=[Tt];function Ot(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Et,At)}var Ut={name:"MountainBikingElectric"};const Rt=(0,A.Z)(Ut,[["render",Ot]]);var gt=Rt;const It={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 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},wt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),ft=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),vt=[wt,ft];function Nt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",It,vt)}var ht={name:"Rowing"};const kt=(0,A.Z)(ht,[["render",Nt]]);var Dt=kt;const zt={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 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},Pt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Ct=(0,l._)("g",null,[(0,l._)("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),(0,l._)("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),yt=[Pt,Ct];function Lt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",zt,yt)}var Mt={name:"Running"};const bt=(0,A.Z)(Mt,[["render",Lt]]);var Gt=bt;const Wt={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 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},xt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ft=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),Yt=[xt,Ft];function Zt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Wt,Yt)}var Kt={name:"SkiingAlpine"};const $t=(0,A.Z)(Kt,[["render",Zt]]);var Bt=$t;const Ht={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 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},qt=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),jt=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),Xt=[qt,jt];function Vt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Ht,Xt)}var Jt={name:"SkiingCrossCountry"};const Qt=(0,A.Z)(Jt,[["render",Vt]]);var en=Qt;const tn={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},nn=(0,l.uE)('silhouette of a person with snowshoes',6),rn=[nn];function an(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",tn,rn)}var sn={name:"Snowshoes"};const on=(0,A.Z)(sn,[["render",an]]);var ln=on;const cn={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 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},un=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),dn=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),mn=[un,dn];function Sn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",cn,mn)}var _n={name:"Trail"};const pn=(0,A.Z)(_n,[["render",Sn]]);var En=pn;const Tn={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},An=(0,l.uE)('silhouette of a walking person',3),On=[An];function Un(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Tn,On)}var Rn={name:"Walking"};const gn=(0,A.Z)(Rn,[["render",Un]]);var In=gn;const wn=["title"];var fn=(0,l.aZ)({props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),s=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(s)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)($e,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Qe,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(it,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(pt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gt,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Dt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Gt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Bt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(en,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ln,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(In,{key:11})):(0,l.kq)("",!0)],12,wn))}});const vn=fn;var Nn=vn;const hn={class:"loader"};function kn(e,t){return(0,l.wg)(),(0,l.iD)("div",hn)}const Dn={},zn=(0,A.Z)(Dn,[["render",kn],["__scopeId","data-v-4c9921ee"]]);var Pn=zn;const Cn={id:"modal"},yn={class:"custom-modal"},Ln={key:0,class:"modal-message"},Mn={key:1,class:"modal-message"},bn={class:"modal-buttons"};var Gn=(0,l.aZ)({props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,w.o)(),{title:a,message:s,strongMessage:o}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[I.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(I.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",Cn,[(0,l._)("div",yn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(o)?((0,l.wg)(),(0,l.iD)("div",Ln,[(0,l.Wm)(r,{keypath:(0,c.SU)(s)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(o)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",Mn,(0,u.zw)((0,c.SU)(s)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",bn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const Wn=(0,A.Z)(Gn,[["__scopeId","data-v-e8fcfaba"]]);var xn=Wn;const Fn=[{target:me,name:"AlertMessage"},{target:Se.Z,name:"Card"},{target:Oe,name:"CustomTextArea"},{target:we,name:"Distance"},{target:ze,name:"Dropdown"},{target:be,name:"ErrorMessage"},{target:Pn,name:"Loader"},{target:xn,name:"Modal"},{target:Nn,name:"SportImage"}],Yn={mounted:(e,t)=>{e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};var Zn=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const Kn=(0,s.ri)(ae).provide("sportColors",Zn.Zo).use(se.Z).use(ie.Z).use(oe.Z).use(o.ZP,{name:"VFullscreen"}).directive("click-outside",Yn);Fn.forEach((e=>{Kn.component(e.name,e.target)})),Kn.mount("#app")},7258:function(e,t,n){"use strict";n.d(t,{Z:function(){return _o}});var r=n(2119),a=n(6252),s=n(3577),o=n(9963),i=n(2262),l=n(8602),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-21d94c64"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},S=["onSubmit"],_={for:"max_users"},p=["disabled"],E={class:"user-limit-help"},T={class:"info-box"},A=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),O={for:"max_single_file_size"},U=["disabled"],R={for:"max_zip_file_size"},g=["disabled"],I={for:"gpx_limit_import"},w=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},N=["onClick"],h={key:2,class:"form-buttons"};var k=(0,a.aZ)({props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),d=(0,r.tv)(),k=(0,i.qj)({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),D=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function z(e){Object.keys(k).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?k[t]=(0,u.j)(e[t]):k[t]=e[t]}))}function P(){z(t.appConfig),n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.push("/admin/application")}function C(){const e=Object.assign({},k);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,n.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&z(t.appConfig)})),(t,n)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,o.iM)(C,["prevent"])},[(0,a._)("label",_,[(0,a.Uk)((0,s.zw)(t.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":n[0]||(n[0]=e=>(0,i.SU)(k).max_users=e),disabled:!e.edition},null,8,p),[[o.nr,(0,i.SU)(k).max_users]])]),(0,a._)("div",E,[(0,a._)("span",T,[A,(0,a.Uk)(" "+(0,s.zw)(t.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",O,[(0,a.Uk)((0,s.zw)(t.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[1]||(n[1]=e=>(0,i.SU)(k).max_single_file_size=e),disabled:!e.edition},null,8,U),[[o.nr,(0,i.SU)(k).max_single_file_size]])]),(0,a._)("label",R,[(0,a.Uk)((0,s.zw)(t.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[2]||(n[2]=e=>(0,i.SU)(k).max_zip_file_size=e),disabled:!e.edition},null,8,g),[[o.nr,(0,i.SU)(k).max_zip_file_size]])]),(0,a._)("label",I,[(0,a.Uk)((0,s.zw)(t.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":n[3]||(n[3]=e=>(0,i.SU)(k).gpx_limit_import=e),disabled:!e.edition},null,8,w),[[o.nr,(0,i.SU)(k).gpx_limit_import]])]),(0,i.SU)(D)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(D)},null,8,["message"])):(0,a.kq)("",!0),e.edition?((0,a.wg)(),(0,a.iD)("div",f,[(0,a._)("button",v,(0,s.zw)(t.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,o.iM)(P,["prevent"])},(0,s.zw)(t.$t("buttons.CANCEL")),9,N)])):((0,a.wg)(),(0,a.iD)("div",h,[(0,a._)("button",{class:"confirm",onClick:n[4]||(n[4]=(0,o.iM)((e=>t.$router.push("/admin/application/edit")),["prevent"]))},(0,s.zw)(t.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:n[5]||(n[5]=(0,o.iM)((e=>t.$router.push("/admin")),["prevent"]))},(0,s.zw)(t.$t("admin.BACK_TO_ADMIN")),1)]))],40,S)])),_:1})])}}}),D=n(3744);const z=(0,D.Z)(k,[["__scopeId","data-v-21d94c64"]]);var P=z;const C={class:"stat-card"},y={class:"stat-content box"},L={class:"stat-icon"},M={class:"stat-details"},b={class:"stat-huge"},G={class:"stat"};var W=(0,a.aZ)({props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:o}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",C,[(0,a._)("div",y,[(0,a._)("div",L,[(0,a._)("i",{class:(0,s.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",M,[(0,a._)("div",b,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("div",G,(0,s.zw)((0,i.SU)(r)),1)])])]))}});const x=W;var F=x;const Y={id:"user-stats"};var Z=(0,a.aZ)({props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Y,[(0,a.Wm)(F,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(F,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(F,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(F,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const K=Z;var $=K,B=n(2531);const H=e=>((0,a.dD)("data-v-1bcb269a"),e=e(),(0,a.Cn)(),e),q={id:"admin-menu",class:"center-card"},j={class:"admin-menu description-list"},X=H((()=>(0,a._)("br",null,null,-1))),V={class:"registration-status"};var J=(0,a.aZ)({props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",q,[(0,a.Wm)(B.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)($,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",j,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",null,[(0,a.Uk)((0,s.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),X,(0,a._)("span",V,(0,s.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const Q=(0,D.Z)(J,[["__scopeId","data-v-1bcb269a"]]);var ee=Q,te=n(3324),ne=n(631);const re=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ae={id:"admin-sports",class:"admin-card"},se={class:"responsive-table"},oe=re((()=>(0,a._)("th",null,"#",-1))),ie={class:"text-left"},le={class:"text-left sport-action"},ce=re((()=>(0,a._)("th",null,null,-1))),ue={class:"text-center"},de=re((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),me={class:"cell-heading"},Se={class:"sport-label"},_e={class:"cell-heading"},pe={class:"text-center"},Ee={class:"cell-heading"},Te={class:"sport-action"},Ae={class:"cell-heading"},Oe={class:"action-button"},Ue=["onClick"],Re={key:0,class:"has-workouts"},ge=re((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var Ie=(0,a.aZ)({setup(e){const{t:t}=(0,te.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,ne.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ae,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",se,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[oe,(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",ie,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",le,(0,s.zw)(e.$t("admin.ACTION")),1),ce])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",ue,[de,(0,a.Uk)(" "+(0,s.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",me,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",Se,[(0,a._)("span",_e,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(t.translatedLabel),1)]),(0,a._)("td",pe,[(0,a._)("span",Ee,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",Te,[(0,a._)("span",Ae,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",Oe,[(0,a._)("button",{class:(0,s.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,s.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,Ue),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",Re,[ge,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const we=(0,D.Z)(Ie,[["__scopeId","data-v-6d62af67"]]);var fe=we,ve=n(4850),Ne=n(8626),he=n(8193),ke=n(8660),De=n(2766),ze=n(6558);const Pe=e=>((0,a.dD)("data-v-047ae14e"),e=e(),(0,a.Cn)(),e),Ce={id:"admin-users",class:"admin-card"},ye={class:"responsive-table"},Le=Pe((()=>(0,a._)("th",null,"#",-1))),Me={class:"left-text"},be={class:"left-text"},Ge={class:"left-text"},We={class:"cell-heading"},xe={class:"cell-heading"},Fe={class:"cell-heading"},Ye={class:"cell-heading"},Ze={class:"text-center"},Ke={class:"cell-heading"},$e={class:"text-center"},Be={class:"cell-heading"},He={class:"text-center"},qe={class:"cell-heading"},je=["disabled","onClick"];var Xe=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["admin","created_at","username","workouts_count"],m="created_at";let S=(0,i.qj)((0,De.pm)(n.query,d,m));const _=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),p=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),E=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),T=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function O(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function U(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,De.pm)(e,d,m,{query:S}),A(S)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Ce,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(Ne.Z,{sort:(0,i.SU)(De.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:U},null,8,["sort","query"]),(0,a._)("div",ye,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[Le,(0,a._)("th",Me,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",be,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Ge,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(p),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",We,(0,s.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(ke.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",xe,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",Fe,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,s.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",Ye,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(ve.Z)((0,i.SU)(ze.eB)(t.created_at,(0,i.SU)(_).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",Ze,[(0,a._)("span",Ke,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,s.zw)(t.nb_workouts),1)]),(0,a._)("td",$e,[(0,a._)("span",Be,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",He,[(0,a._)("span",qe,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,s.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(_).username,onClick:e=>O(t.username,!t.admin)},(0,s.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,je)])])))),128))])]),(0,i.SU)(E).page?((0,a.wg)(),(0,a.j4)(he.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(E),query:(0,i.SU)(S)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(T)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(T)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ve=(0,D.Z)(Xe,[["__scopeId","data-v-047ae14e"]]);var Je=Ve,Qe=n(5160);const et={class:"profile-tabs custom-checkboxes-group"},tt={class:"profile-tabs-checkboxes custom-checkboxes"},nt=["id","name","checked","disabled","onInput"];var rt=(0,a.aZ)({props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:o}=(0,i.BK)(t);function l(e){switch(e){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",et,[(0,a._)("div",tt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r)===t,disabled:(0,i.SU)(o),onInput:n=>e.$router.push(l(t))},null,40,nt),(0,a._)("span",null,(0,s.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const at=rt;var st=at;const ot={id:"user-profile"},it={class:"box"};var lt=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),s=["PROFILE","PREFERENCES","SPORTS"];return(e,t)=>{const o=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",ot,[(0,a.Wm)(Qe.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",it,[(0,a.Wm)(st,{tabs:s,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(o,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const ct=(0,D.Z)(lt,[["__scopeId","data-v-e26535e0"]]);var ut=ct,dt=n(2165),mt=n(6287);const St={id:"user-preferences",class:"description-list"},_t={class:"profile-buttons"};var pt=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?mt.zK[t.user.language]:mt.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),o=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",St,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(n)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t(`user.PROFILE.${(0,i.SU)(r)}`)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),(0,a._)("div",_t,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,s.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,s.zw)(t.$t("common.HOME")),1)])]))}});const Et=pt;var Tt=Et;const At={id:"user-profile-edition",class:"center-card"};var Ot=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:o}=(0,i.BK)(t),u=["PROFILE","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",At,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t(`user.PROFILE.${(0,i.SU)(o)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(st,{tabs:u,selectedTab:(0,i.SU)(o),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const Ut=Ot;var Rt=Ut;const gt={id:"user-infos-edition"},It={class:"profile-form form-box"},wt=["onSubmit"],ft={class:"form-items",for:"email"},vt=["value"],Nt={class:"form-items",for:"registrationDate"},ht=["value"],kt={class:"form-items",for:"password"},Dt=["disabled"],zt={class:"form-items",for:"passwordConfirmation"},Pt=["disabled"],Ct=(0,a._)("hr",null,null,-1),yt={class:"form-items",for:"first_name"},Lt=["disabled"],Mt={class:"form-items",for:"last_name"},bt={class:"form-items",for:"birth_date"},Gt=["disabled"],Wt={class:"form-items",for:"location"},xt=["disabled"],Ft={class:"form-items"},Yt={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Kt=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),u=(0,i.qj)({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),d=(0,a.Fl)((()=>t.user.created_at?(0,ve.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));let _=(0,i.iH)(!1);function p(e){u.first_name=e.first_name?e.first_name:"",u.last_name=e.last_name?e.last_name:"",u.birth_date=e.birth_date?(0,ve.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",u.location=e.location?e.location:"",u.bio=e.bio?e.bio:""}function E(e){u.bio=e}function T(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,u)}function A(e){_.value=e}function O(e){n.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&p(t.user)})),(e,t)=>{const n=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",gt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>O((0,i.SU)(r).username)),onCancelAction:t[1]||(t[1]=e=>A(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",It,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(T,["prevent"])},[(0,a._)("label",ft,[(0,a.Uk)((0,s.zw)(e.$t("user.EMAIL"))+" ",1),(0,a._)("input",{id:"email",value:(0,i.SU)(r).email,disabled:""},null,8,vt)]),(0,a._)("label",Nt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(d),disabled:""},null,8,ht)]),(0,a._)("label",kt,[(0,a.Uk)((0,s.zw)(e.$t("user.PASSWORD"))+" ",1),(0,a.wy)((0,a._)("input",{id:"password",type:"password","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(u).password=e),disabled:(0,i.SU)(m)},null,8,Dt),[[o.nr,(0,i.SU)(u).password]])]),(0,a._)("label",zt,[(0,a.Uk)((0,s.zw)(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(u).password_conf=e),disabled:(0,i.SU)(m)},null,8,Pt),[[o.nr,(0,i.SU)(u).password_conf]])]),Ct,(0,a._)("label",yt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[4]||(t[4]=e=>(0,i.SU)(u).first_name=e),disabled:(0,i.SU)(m)},null,8,Lt),[[o.nr,(0,i.SU)(u).first_name]])]),(0,a._)("label",Mt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[5]||(t[5]=e=>(0,i.SU)(u).last_name=e)},null,512),[[o.nr,(0,i.SU)(u).last_name]])]),(0,a._)("label",bt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[6]||(t[6]=e=>(0,i.SU)(u).birth_date=e),disabled:(0,i.SU)(m)},null,8,Gt),[[o.nr,(0,i.SU)(u).birth_date]])]),(0,a._)("label",Wt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[7]||(t[7]=e=>(0,i.SU)(u).location=e),disabled:(0,i.SU)(m)},null,8,xt),[[o.nr,(0,i.SU)(u).location]])]),(0,a._)("label",Ft,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(c,{name:"bio",charLimit:200,input:(0,i.SU)(u).bio,disabled:(0,i.SU)(m),onUpdateValue:E},null,8,["input","disabled"])]),(0,a._)("div",Yt,[(0,a._)("button",Zt,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[8]||(t[8]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[9]||(t[9]=(0,o.iM)((e=>A(!0)),["prevent"]))},(0,s.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],40,wt)])])}}});const $t=Kt;var Bt=$t;const Ht=e=>((0,a.dD)("data-v-56c3f022"),e=e(),(0,a.Cn)(),e),qt={id:"user-picture-edition"},jt={class:"user-picture-form"},Xt=["onSubmit"],Vt={class:"picture-help"},Jt={class:"info-box"},Qt=Ht((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),en={class:"picture-buttons"},tn=["disabled"];var nn=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"";let _=(0,i.iH)(null);function p(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function E(e){e.target.files&&(_.value=e.target.files[0])}function T(){_.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:_.value})}return(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",qt,[(0,a._)("div",jt,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(ke.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,o.iM)(T,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:E},null,32),(0,a._)("div",Vt,[(0,a._)("span",Jt,[Qt,(0,a.Uk)(" "+(0,s.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,s.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",en,[(0,a._)("button",{type:"submit",disabled:!(0,i.SU)(_)},(0,s.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,tn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:p},(0,s.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,s.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,Xt)])])}}});const rn=(0,D.Z)(nn,[["__scopeId","data-v-56c3f022"]]);var an=rn;const sn=["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"],on={id:"tz-dropdown"},ln=["value","disabled","onKeydown"],cn=["onClick","onMouseover","autofocus"];var un=(0,a.aZ)({props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function S(e){return e.toLowerCase().match(c.value.toLowerCase())}function _(e){m.value=e}function p(e){c.value=e,u.value=!1,t("updateTimezone",e)}function E(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&p(d.value?.firstElementChild?.innerHTML)}function T(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",on,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,o.D2)((e=>p((0,i.SU)(r))),["esc"])),(0,o.D2)(E,["enter"])],onInput:T},null,40,ln),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(sn).filter((e=>S(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,s.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>p(e),onMouseover:e=>_(t),autofocus:t===m.value},(0,s.zw)(e),43,cn)))),128))],512)):(0,a.kq)("",!0)]))}});const dn=(0,D.Z)(un,[["__scopeId","data-v-47ea2903"]]);var mn=dn;const Sn={id:"user-preferences-edition"},_n={class:"profile-form form-box"},pn=["onSubmit"],En={class:"form-items"},Tn=["disabled"],An=["value"],On={class:"form-items"},Un={class:"form-items"},Rn=["disabled"],gn=["value"],In={class:"form-items"},wn=["disabled"],fn=["value"],vn={class:"form-buttons"},Nn={class:"confirm",type:"submit"};var hn=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function p(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function E(e){r.timezone=e}return(0,a.bv)((()=>{t.user&&_(t.user)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Sn,[(0,a._)("div",_n,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(p,["prevent"])},[(0,a._)("label",En,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).language=e),disabled:(0,i.SU)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(mt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,s.zw)(e.label),9,An)))),128))],8,Tn),[[o.bM,(0,i.SU)(r).language]])]),(0,a._)("label",On,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(mn,{input:(0,i.SU)(r).timezone,disabled:(0,i.SU)(m),onUpdateTimezone:E},null,8,["input","disabled"])]),(0,a._)("label",Un,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.${t.label}`)),9,gn))),64))],8,Rn),[[o.bM,(0,i.SU)(r).weekm]])]),(0,a._)("label",In,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,fn))),64))],8,wn),[[o.bM,(0,i.SU)(r).imperial_units]])]),(0,a._)("div",vn,[(0,a._)("button",Nn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,pn)])])}}});const kn=hn;var Dn=kn;const zn={id:"user-sport-preferences"},Pn={key:0,class:"responsive-table"},Cn={class:"mobile-display"},yn={key:0,class:"profile-buttons mobile-display"},Ln={key:1,class:"profile-buttons"},Mn={class:"text-left"},bn={key:0},Gn={class:"cell-heading"},Wn=["value"],xn={class:"cell-heading"},Fn={key:0,class:"disabled-message"},Yn={key:1,class:"fa fa-refresh fa-spin fa-fw"},Zn={class:"cell-heading"},Kn={class:"cell-heading"},$n=["checked"],Bn={class:"cell-heading"},Hn=["value"],qn={key:1},jn={key:0,class:"action-buttons"},Xn={class:"cell-heading"},Vn=["onClick"],Jn={key:1,class:"edition-buttons"},Qn=["disabled"],er=["disabled","onClick"],tr=["disabled"],nr={key:0,class:"profile-buttons"},rr={key:1,class:"profile-buttons"};var ar=(0,a.aZ)({props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,te.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),_=(0,a.Fl)((()=>(0,ne.xH)(S.value,r,"is_active",d.value.sports_list))),p=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),E=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(T.sport_id=e.id,T.color=e.color?e.color:m[e.label],T.is_active=e.is_active_for_user,T.stopped_speed_threshold=e.stopped_speed_threshold):I()}function O(e){return T.sport_id===e}function U(e){T.color=e.target.value}function R(e){T.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){T.is_active=e.target.checked}function I(){T.sport_id=0,T.color=null,T.is_active=!0,T.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function w(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,T)}function f(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>p.value),(e=>{e||E.value||I()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",zn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",Pn,[(0,a._)("div",Cn,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",yn,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ln,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",Mn,(0,s.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",bn,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(o=>((0,a.wg)(),(0,a.iD)("tr",{key:o.id},[(0,a._)("td",null,[(0,a._)("span",Gn,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),O(o.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:(0,i.SU)(T).color,onInput:U},null,40,Wn)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:o.translatedLabel,"sport-label":o.label,color:o.color?o.color:(0,i.SU)(m)[o.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,s.C_)(["sport-label",{"disabled-sport":!o.is_active}])},[(0,a._)("span",xn,(0,s.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(o.translatedLabel)+" ",1),o.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",Fn," ("+(0,s.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(p)&&O(o.id)?((0,a.wg)(),(0,a.iD)("i",Yn)):(0,a.kq)("",!0),(0,i.SU)(E)&&(0,i.SU)(T).sport_id===o.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(E)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",Zn,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(o.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",Kn,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),O(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:o.is_active_for_user,onChange:g},null,40,$n)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,s.C_)("fa fa"+(o.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",Bn,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),O(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:(0,i.SU)(T).stopped_speed_threshold,onInput:R},null,40,Hn)):((0,a.wg)(),(0,a.iD)("span",qn,(0,s.zw)(o.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",jn,[(0,a._)("span",Xn,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===(0,i.SU)(T).sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(o)},(0,s.zw)(e.$t("buttons.EDIT")),9,Vn)):(0,a.kq)("",!0),O(o.id)?((0,a.wg)(),(0,a.iD)("div",Jn,[(0,a._)("button",{disabled:(0,i.SU)(p),onClick:w},(0,s.zw)(e.$t("buttons.SUBMIT")),9,Qn),(0,a._)("button",{disabled:(0,i.SU)(p),onClick:e=>f(e,o.id)},(0,s.zw)(e.$t("buttons.RESET")),9,er),(0,a._)("button",{disabled:(0,i.SU)(p),onClick:t[3]||(t[3]=e=>A(null))},(0,s.zw)(e.$t("buttons.CANCEL")),9,tr)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",nr,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",rr,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const sr=(0,D.Z)(ar,[["__scopeId","data-v-4775544a"]]);var or=sr,ir=n(12),lr=n(1818),cr=n(2056);const ur=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),dr={class:"timeline-workout"},mr={class:"box"},Sr={class:"workout-user-date"},_r={class:"workout-user"},pr=["title"],Er={key:0},Tr={key:1,class:"no-map"},Ar={class:"img"},Or={class:"data"},Ur=ur((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),Rr={key:0},gr={class:"data"},Ir=ur((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),wr={key:0,class:"data elevation"},fr=["alt"],vr={class:"data-values"},Nr=(0,a.Uk)("/ "),hr={key:1,class:"data altitude"},kr=ur((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),Dr={class:"data-values"},zr=(0,a.Uk)(" +"),Pr=(0,a.Uk)("/- ");var Cr=(0,a.aZ)({props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:o,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",dr,[(0,a._)("div",mr,[(0,a._)("div",Sr,[(0,a._)("div",_r,[(0,a.Wm)(ke.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(o).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(o).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(o).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(ve.Z)((0,i.SU)(ze.eB)((0,i.SU)(o).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,s.zw)((0,i.SU)(lr.Z)(new Date((0,i.SU)(o).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,pr)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,s.C_)(["workout-map",{"no-cursor":!(0,i.SU)(o)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("div",Er,[(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.j4)(cr.Z,{key:0,workout:(0,i.SU)(o)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Tr,(0,s.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,s.C_)(["workout-data",{"without-gpx":(0,i.SU)(o)&&!(0,i.SU)(o).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,a._)("div",Ar,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",Or,[Ur,(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("span",Rr,(0,s.zw)((0,i.SU)(o).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",gr,[Ir,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",wr,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,fr),(0,a._)("div",vr,[(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),Nr,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",hr,[kr,(0,a._)("div",Dr,[zr,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),Pr,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const yr=(0,D.Z)(Cr,[["__scopeId","data-v-c9d1f10c"]]);var Lr=yr,Mr=n(5630),br=n(3768);const Gr={id:"timeline"},Wr={class:"section-title"},xr={key:0},Fr={key:1},Yr={key:1,class:"more-workouts"};var Zr=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t);let u=(0,i.iH)(1);const d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>p()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),_=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function p(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...br.eR})}function E(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...br.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Gr,[(0,a._)("div",Wr,(0,s.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(o).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",xr,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(Lr,{user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Fr,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(Lr,{workout:e,sport:(0,i.SU)(S).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.j4)(Mr.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Yr,[(0,a._)("button",{onClick:E},(0,s.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const Kr=(0,D.Z)(Zr,[["__scopeId","data-v-9ef2a9ac"]]);var $r=Kr,Br=n(1640),Hr=n(4559),qr=n(7349),jr=n(1743),Xr=n(9160),Vr=n(1085);const Jr=["title"];var Qr=(0,a.aZ)({props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(n).id}}))},[(0,a.Wm)(o,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Jr)):(0,a.kq)("",!0)])])}}});const ea=Qr;var ta=ea;const na={class:"donut-chart"},ra={height:"34",width:"34",viewBox:"0 0 34 34"},aa=["stroke","stroke-dashoffset","transform"];var sa=(0,a.aZ)({props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let s=-90;const o=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${s}, ${o}, ${l})`;return s=360*t+s,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",na,[((0,a.wg)(),(0,a.iD)("svg",ra,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:o,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,aa)])))),128))]))]))}});const oa=sa;var ia=oa;const la={class:"calendar-workouts-chart"},ca={class:"workouts-count"},ua={key:0,class:"workouts-pane"},da={class:"more-workouts"};var ma=(0,a.aZ)({props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:o,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",la,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",ca,(0,s.zw)((0,i.SU)(l).length),1),(0,a.Wm)(ia,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",ua,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",da,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(ta,{key:t,workout:e,sportLabel:(0,i.SU)(ne.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(ne.CM)(e,(0,i.SU)(o))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const Sa=(0,D.Z)(ma,[["__scopeId","data-v-52d4310a"]]);var _a=Sa;const pa={class:"calendar-workouts"},Ea={class:"desktop-display"},Ta={key:0,class:"workouts-display"},Aa={key:1,class:"donut-display"},Oa={class:"mobile-display"},Ua={key:0,class:"donut-display"};var Ra=(0,a.aZ)({props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,br.BN)(t.workouts))),o=(0,a.Fl)((()=>(0,ne.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",pa,[(0,a._)("div",Ea,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",Ta,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(ta,{key:t,workout:e,sportLabel:(0,i.SU)(ne.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(ne.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Aa,[(0,a.Wm)(_a,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",Oa,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",Ua,[(0,a.Wm)(_a,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const ga=Ra;var Ia=ga;const wa={class:"calendar-cells"},fa={class:"calendar-cell-day"};var va=(0,a.aZ)({props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:o,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,qr.Z)(e,1);m.value.push(t)}}function _(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function p(e,t){return t?t.filter((t=>(0,jr.Z)((0,ze.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",wa,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,s.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)(Xr.Z)(e,(0,i.SU)(n)),"week-end":_(t),today:(0,i.SU)(Vr.Z)(e)}]),key:t},[(0,a.Wm)(Ia,{workouts:p(e,(0,i.SU)(d)),sports:(0,i.SU)(o)},null,8,["workouts","sports"]),(0,a._)("div",fa,(0,s.zw)((0,i.SU)(ve.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const Na=va;var ha=Na;const ka={class:"calendar-days"};var Da=(0,a.aZ)({props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,qr.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",ka,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,s.zw)((0,i.SU)(ve.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const za=Da;var Pa=za;const Ca={class:"calendar-header"},ya=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),La=[ya],Ma={class:"calendar-month"},ba=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),Ga=[ba];var Wa=(0,a.aZ)({props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:o}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",Ca,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},La),(0,a._)("div",Ma,[(0,a._)("span",null,(0,s.zw)((0,i.SU)(ve.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(o)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},Ga)]))}});const xa=Wa;var Fa=xa;const Ya={id:"user-calendar"},Za={class:"calendar-card box"};var Ka=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),o="yyyy-MM-dd";let u=(0,i.iH)(new Date),d=(0,i.iH)((0,ze.yx)(u.value,t.user.weekm));const m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function _(){d.value=(0,ze.yx)(u.value,t.user.weekm);const e={from:(0,ve.Z)(d.value.start,o),to:(0,ve.Z)(d.value.end,o),page:1,per_page:100,...br.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function p(){u.value=(0,Br.Z)(u.value,1),_()}function E(){u.value=(0,Hr.Z)(u.value,1),_()}return(0,a.wF)((()=>_())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ya,[(0,a._)("div",Za,[(0,a.Wm)(Fa,{day:(0,i.SU)(u),"locale-options":(0,i.SU)(S),onDisplayNextMonth:p,onDisplayPreviousMonth:E},null,8,["day","locale-options"]),(0,a.Wm)(Pa,{"start-date":(0,i.SU)(d).start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(ha,{currentDay:(0,i.SU)(u),"end-date":(0,i.SU)(d).end,sports:(0,i.SU)(r),"start-date":(0,i.SU)(d).start,timezone:(0,i.SU)(s).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(s).weekm},null,8,["currentDay","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const $a=Ka;var Ba=$a,Ha=n(3703),qa=n(4135),ja=n(9472);const Xa={class:"user-month-stats"};var Va=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),o=new Date,l={duration:"week",start:(0,Ha.Z)(o),end:(0,qa.Z)(o)},c=t.sports.map((e=>e.id));return(e,t)=>{const o=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Xa,[(0,a.Wm)(o,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(ja.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Ja=(0,D.Z)(Va,[["__scopeId","data-v-1bcddc12"]]);var Qa=Ja;const es={class:"records-card"},ts={class:"record-type"},ns={class:"record-value"},rs={class:"record-date"};var as=(0,a.aZ)({props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage"),l=(0,a.up)("router-link"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",es,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Wm)(o,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).records,(t=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:t.id},[(0,a._)("span",ts,(0,s.zw)(e.$t(`workouts.RECORD_${t.record_type}`)),1),(0,a._)("span",ns,(0,s.zw)(t.value),1),(0,a._)("span",rs,[(0,a.Wm)(l,{to:{name:"Workout",params:{workoutId:t.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const ss=(0,D.Z)(as,[["__scopeId","data-v-aee1f956"]]);var os=ss,is=(n(1703),n(3649));const ls=(e,t,n)=>{const r="km",a=n?is.Dl[r].defaultTarget:r;let s;switch(e.record_type){case"AS":case"MS":s=`${(0,is.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":s=`${(0,is.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":s=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,ze.Jo)((0,ze.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:s}},cs=(e,t,n,r)=>e.reduce(((e,a)=>{const s=t.find((e=>e.id===a.sport_id));return s&&s.label&&(void 0===e[s.translatedLabel]&&(e[s.translatedLabel]={label:s.label,color:s.color,records:[]}),e[s.translatedLabel].records.push(ls(a,n,r))),e}),{}),us=e=>((0,a.dD)("data-v-ae25a82a"),e=e(),(0,a.Cn)(),e),ds={class:"user-records-section"},ms={class:"section-title"},Ss=us((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),_s={class:"user-records"},ps={key:0,class:"no-records"};var Es=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,te.QT)(),r=(0,a.Fl)((()=>cs(t.user.records,(0,ne.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",ds,[(0,a._)("div",ms,[Ss,(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",_s,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",ps,(0,s.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(os,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const Ts=(0,D.Z)(Es,[["__scopeId","data-v-ae25a82a"]]);var As=Ts;const Os={id:"user-stats"};var Us=(0,a.aZ)({props:{user:null},setup(e){const t=e,{t:n}=(0,te.QT)(),{user:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>t.user.total_duration)),o=(0,a.Fl)((()=>d(s))),l="km",c=r.value.imperial_units?is.Dl[l].defaultTarget:l,u=r.value.imperial_units?(0,is.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2));function d(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Os,[(0,a.Wm)(F,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(F,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(F,{icon:"clock-o",value:(0,i.SU)(o).days,text:(0,i.SU)(o).duration},null,8,["value","text"]),(0,a.Wm)(F,{icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"])]))}});const Rs=Us;var gs=Rs;const Is=e=>((0,a.dD)("data-v-2f390f91"),e=e(),(0,a.Cn)(),e),ws={key:0,id:"dashboard",class:"view"},fs={class:"container mobile-menu"},vs={class:"box"},Ns=Is((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),hs=[Ns],ks=Is((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),Ds=[ks],zs=Is((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Ps=[zs],Cs=Is((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ys=[Cs],Ls={class:"container"},Ms={class:"container dashboard-container"},bs={class:"left-container dashboard-sub-container"},Gs={class:"right-container dashboard-sub-container"},Ws=Is((()=>(0,a._)("div",{id:"bottom"},null,-1))),xs={key:1,class:"app-loading"};var Fs=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),o=(0,i.iH)("calendar");function u(e){o.value=e}return(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",ws,[(0,a._)("div",fs,[(0,a._)("div",vs,[(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"calendar"===o.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},hs,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"chart"===o.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},Ds,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"timeline"===o.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Ps,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"records"===o.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ys,2)])]),(0,a._)("div",Ls,[(0,a.Wm)(gs,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Ms,[(0,a._)("div",bs,[(0,a.Wm)(Qa,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("chart"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(As,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("records"===o.value)})},null,8,["sports","user","class"])]),(0,a._)("div",Gs,[(0,a.Wm)(Ba,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("calendar"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)($r,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("timeline"===o.value)})},null,8,["sports","user","class"])])]),Ws])):((0,a.wg)(),(0,a.iD)("div",xs,[(0,a.Wm)(l)]))}}});const Ys=(0,D.Z)(Fs,[["__scopeId","data-v-2f390f91"]]);var Zs=Ys,Ks=n(8273);const $s={class:"not-found view"};var Bs=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",$s,[(0,a.Wm)(Ks.Z)]))}});const Hs=Bs;var qs=Hs;const js={id:"bike"},Xs=["src"];function Vs(e,t){return(0,a.wg)(),(0,a.iD)("div",js,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,Xs)])}const Js={},Qs=(0,D.Z)(Js,[["render",Vs],["__scopeId","data-v-39d425b4"]]);var eo=Qs,to=n(7203);const no={id:"loginOrRegister",class:"view"},ro={class:"container"},ao={class:"container-sub"},so={class:"container-sub"};var oo=(0,a.aZ)({props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",no,[(0,a._)("div",ro,[(0,a._)("div",ao,[(0,a.Wm)(eo)]),(0,a._)("div",so,[(0,a.Wm)(to.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const io=(0,D.Z)(oo,[["__scopeId","data-v-6a38125b"]]);var lo=io;const co=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},uo=[{path:"/",name:"Dashboard",component:Zs},{path:"/login",name:"Login",component:lo,props:{action:"login"}},{path:"/register",name:"Register",component:lo,props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,2886)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,2886)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,2886)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,2886)),props:{action:"reset"}},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,2023)),children:[{path:"",name:"UserProfile",component:ut,props:e=>({tab:co(e.path)}),children:[{path:"",name:"UserInfos",component:dt.Z},{path:"preferences",name:"UserPreferences",component:Tt},{path:"sports",name:"UserSportPreferences",component:or,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Rt,props:e=>({tab:co(e.path)}),children:[{path:"",name:"UserInfosEdition",component:Bt},{path:"picture",name:"UserPictureEdition",component:an},{path:"preferences",name:"UserPreferencesEdition",component:Dn},{path:"sports",name:"UserSportPreferencesEdition",component:or,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,2319))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,8368))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,9346))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,5509)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,5509)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:ee},{path:"application",name:"ApplicationAdministration",component:P},{path:"application/edit",name:"ApplicationAdministrationEdition",component:P,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:fe},{path:"users",name:"UsersAdministration",component:Je}]},{path:"/:pathMatch(.*)*",name:"not-found",component:qs}],mo=(0,r.p7)({history:(0,r.PO)("/"),routes:uo}),So=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];mo.beforeEach(((e,t,n)=>{ir.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(ir.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&So.includes(e.path))return n("/");if(ir.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||So.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var _o=mo},8602:function(e,t,n){"use strict";var r,a,s,o,i,l,c,u,d,m,S,_,p,E,T;n.d(t,{YN:function(){return g},SY:function(){return O},O8:function(){return U},gu:function(){return R},RT:function(){return I},aX:function(){return w}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(s||(s={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(o||(o={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(i||(i={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(_||(_={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(p||(p={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(E||(E={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(T||(T={}));var A=n(52);const O={ACTIONS:o,GETTERS:i,MUTATIONS:l},U={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:_},g={ACTIONS:r,GETTERS:a,MUTATIONS:s},I={ACTIONS:p,GETTERS:E,MUTATIONS:T},w={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(8637),a=(n(1703),n(5167)),s=n(9669),o=n.n(s),i=n(2024);const l=o().create({baseURL:(0,i.k)()});var c=l,u=n(2540),d=n(7258),m=n(8602);const S=(e,t)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?d.Z.push("/admin/users"):e.dispatch(m.YN.ACTIONS.LOGOUT).then((()=>d.Z.push("/"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},_={[m.RT.ACTIONS.EMPTY_USER](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USER,{})},[m.RT.ACTIONS.EMPTY_USERS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[m.RT.ACTIONS.GET_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(m.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.GET_USERS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.UPDATE_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`users/${t.username}`,{admin:t.admin}).then((t=>{"success"===t.data.status?e.commit(m.RT.MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){S(e,{username:t.username,fromAdmin:!0})}},{locale:p}=u.Z.global,E=e=>{localStorage.removeItem("authToken"),e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),d.Z.push("/login")},T={[m.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[m.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE))},[m.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),p.value=t.data.data.language),e.dispatch(m.O8.ACTIONS.GET_SPORTS)):((0,i.S)(e,null),E(e))})).catch((t=>{(0,i.S)(e,t),E(e)}))},[m.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.LOGOUT](e){E(e)},[m.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),d.Z.push("/profile")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),p.value=t.data.data.language,d.Z.push("/profile/preferences")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.DELETE_ACCOUNT](e,t){S(e,t)},[m.YN.ACTIONS.DELETE_PICTURE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/password-updated"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},A={[m.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[m.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[m.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[m.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[m.YN.GETTERS.USER_LOADING]:e=>e.loading},O={[m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[m.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[m.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},U={authToken:null,authUserProfile:{},loading:!1},R={state:U,actions:T,getters:A,mutations:O};var g=R;const I={[m.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[m.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),d.Z.push("/admin/application")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},w={[m.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[m.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[m.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[m.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[m.SY.GETTERS.LANGUAGE]:e=>e.language,[m.SY.GETTERS.LOCALE]:e=>e.locale};var f=n(6287);const v={[m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[m.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[m.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=f.v1[t]}};var N=n(5826);const h={root:!0,language:"en",locale:N.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},k={[m.O8.ACTIONS.GET_SPORTS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(m.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},D={[m.O8.GETTERS.SPORTS]:e=>e.sports},z={[m.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},P={sports:[]},C={state:P,actions:k,getters:D,mutations:z};var y=C;const L={[m.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(m.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},M={[m.gu.GETTERS.USER_STATS]:e=>e.statistics},b={[m.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[m.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},W={state:G,actions:L,getters:M,mutations:b};var x=W;const F={[m.RT.GETTERS.USER]:e=>e.user,[m.RT.GETTERS.USERS]:e=>e.users,[m.RT.GETTERS.USERS_LOADING]:e=>e.loading,[m.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},Y={[m.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[m.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[m.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[m.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[m.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t}},Z={user:{},users:[],loading:!1,pagination:{}},K={state:Z,actions:_,getters:F,mutations:Y};var $=K,B=n(52);const H=(e,t,n)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.aX.MUTATIONS[n],t.data.data.workouts),n===B.CW.SET_USER_WORKOUTS&&e.commit(m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},q={[m.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,B.CW.SET_CALENDAR_WORKOUTS)},[m.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,B.CW.SET_USER_WORKOUTS)},[m.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.SET_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.ADD_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const s=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===s.segments.length||!s.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(m.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,null)})).catch((t=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),d.Z.push("/")})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(m.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{d.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},j={[m.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[m.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[m.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[m.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[m.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},X={[m.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[m.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[m.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[m.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[m.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[m.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[m.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},V={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:V,actions:q,getters:j,mutations:X};var Q=J;const ee={authUserModule:g,sportsModule:y,statsModule:x,usersModule:$,workoutsModule:Q},te={state:h,actions:I,getters:w,mutations:v,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},52:function(e,t,n){"use strict";var r,a,s;n.d(t,{tW:function(){return r},JP:function(){return a},CW:function(){return s}}),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(a||(a={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(s||(s={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(8637);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{fS:function(){return r},pm:function(){return l},Ne:function(){return c},lM:function(){return d}});const r=["asc","desc"],a=1,s=10,o=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=o(e.page,a),d.per_page=o(e.per_page,s),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,s.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},_=(e,t)=>{switch(e){case"week":return(0,o.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},p=(e,t)=>(0,m.Z)(new Date(e),t),E=(e,t)=>{const n=(0,s.Z)(e),a=(0,c.Z)(e),o=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:o}),end:(0,u.Z)(a,{weekStartsOn:o})}},T=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return s}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),s=r[n];return t?`${a}${s}`:{size:a,suffix:s}},s=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{k:function(){return a},S:function(){return s}});var r=n(8602);const a=()=>"/api/",s=(e,t,n="UNKNOWN")=>{const a=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},6287:function(e,t,n){"use strict";n.d(t,{v1:function(){return o},zK:function(){return i},mT:function(){return c}});var r=n(5826),a=n(5830),s=n(2540);const o={en:r.Z,fr:a.Z},i={en:"English",fr:"Français"},{availableLocales:l}=s.Z.global,c=l.map((e=>({label:i[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{Zo:function(){return r},Yx:function(){return a},xH:function(){return o},PA:function(){return i},CM:function(){return l}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},s=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(s),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{v1:function(){return f},aZ:function(){return v},FN:function(){return N}});var r=n(4850),a=n(8148),s=n(9319),o=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),S=n(7982),_=n(3500),p=n(1640),E=n(6558),T=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},U=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],R=(e,t)=>{const n=[];for(let r=(0,E.Nh)(e.duration,e.start,t);r<=e.end;r=(0,E.xA)(e.duration,r))n.push(r);return n},g=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},I=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:T.Zo[e.label];t.average_speed.push(g(e.label,n,!0)),t.nb_workouts.push(g(e.label,n)),t.total_distance.push(g(e.label,n)),t.total_duration.push(g(e.label,n)),t.total_ascent.push(g(e.label,n)),t.total_descent.push(g(e.label,n))})),t},w=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},f=(e,t,n,a,s,o)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=I(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(s!=={}&&t in s&&m[n.label]in s[t]?w(e,s[t][m[n.label]][e],o):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},v=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,s.Z)(e,9)):"week"===t?(0,o.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},N=(e,t,n)=>{const{duration:r,start:E,end:T}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,s.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,u.Z)(t?(0,S.Z)(T,1):(0,_.Z)(T,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(T,1):(0,p.Z)(T,1)),start:"year"===r?(0,a.Z)(t?(0,s.Z)(E,1):(0,m.Z)(E,1)):"week"===r?(0,o.Z)(t?(0,S.Z)(E,1):(0,_.Z)(E,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(E,1):(0,p.Z)(E,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},sC:function(){return s},f3:function(){return o}});const r={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"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},s=(e,t,n,s=3)=>{const o=r[t],i=r[n],l=e*o.multiplier*a[o.system][i.system]/i.multiplier;return null!==s?parseFloat(l.toFixed(s)):l},o=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?s(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{EX:function(){return a},BN:function(){return s},eR:function(){return o}});var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},s=[],o=[],i=[];return e.map((e=>{s.push(e.distance),o.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:s,duration_labels:o,datasets:a,coordinates:i}},s=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},o={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},s={class:"card-title"},o={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",s,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",o,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(6252),a=n(3577),s=n(2262);const o={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var S=(0,r.aZ)({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:S,query:_,sort:p,message:E}=(0,s.BK)(n),T=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,s.SU)(_).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(S),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,s.SU)(E)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,s.SU)(_).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(p),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,s.SU)(_).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(T,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),_=n(3744);const p=(0,_.Z)(S,[["__scopeId","data-v-72463173"]]);var E=p},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),s=n(3577);const o={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",i,[(0,r._)("h1",null,(0,s.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,s.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,s.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var _=S},8193:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(6252),a=n(3577),s=n(2262),o=n(2766);const i=e=>((0,r.dD)("data-v-462fd850"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var S=(0,r.aZ)({props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,s.BK)(t);function _(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,s.SU)(n).has_prev}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,-1)},event:(0,s.SU)(n).has_prev?"click":"",disabled:!(0,s.SU)(n).has_prev},{default:(0,r.w5)((()=>[u,(0,r.Uk)(" "+(0,a.zw)(e.$t("api.PAGINATION.PREVIOUS")),1)])),_:1},8,["to","event","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(o.lM)((0,s.SU)(n).pages,(0,s.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,s.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(S,{key:1,class:"page-link",to:{path:(0,s.SU)(i),query:_(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,s.SU)(n).has_next}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,1)},event:(0,s.SU)(n).has_next?"click":"",disabled:!(0,s.SU)(n).has_next},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m])),_:1},8,["to","event","disabled"])],2)])])}}}),_=n(3744);const p=(0,_.Z)(S,[["__scopeId","data-v-462fd850"]]);var E=p},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),s=n(2262),o=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,s.BK)(t),l=`${(0,o.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,s.SU)(n)}])},[(0,s.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},9472:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(6252),a=n(3577);const s={class:"start-chart"},o={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},S=["checked"],_={key:1},p=["checked"],E={key:2},T=["checked"];function A(e,t,n,A,O,U){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",s,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",o,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,S),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",_,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,p),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",E,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,T),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var O=n(4850),U=n(2262);const R={class:"chart"};function g(e,t,n,a,s,o){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var I=n(2820),w=n(3324);const f=(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?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${s}s`:`${"00"===r?"":`${r}:`}${a}:${s}`};var v=n(3649);const N=(e,t,n,r=!0)=>{const a="km",s=n?v.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${s}/h`;case"total_duration":return f(t,r);case"total_distance":return`${t.toFixed(2)} ${s}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${s}`;default:return t.toString()}};var h=(0,r.aZ)({name:"Chart",components:{BarChart:I.vz},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,w.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}let s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))})));const o=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return N(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return N(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?N(e.displayedData,t,e.useImperialUnits,!1):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=N(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+N(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,I.xZ)({chartData:s,options:o});return{barChartProps:i}}}),k=n(3744);const D=(0,k.Z)(h,[["render",g]]);var z=D,P=n(8602),C=n(9917),y=n(9318),L=(0,r.aZ)({name:"UserMonthStats",components:{Chart:z},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,C.o)();let n=(0,U.iH)("total_distance");const a=(0,r.Fl)((()=>t.getters[P.gu.GETTERS.USER_STATS])),s=(0,r.Fl)((()=>(0,y.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units)));function o(n){t.dispatch(P.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,O.Z)(e.start,"yyyy-MM-dd"),to:(0,O.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>o(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{o(l(t,e.user))})),{datasets:(0,r.Fl)((()=>s.value.datasets[n.value])),labels:(0,r.Fl)((()=>s.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const M=(0,k.Z)(L,[["render",A],["__scopeId","data-v-14aef866"]]);var b=M},5160:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(6252),a=n(2262),s=n(3577),o=n(8660);const i={class:"box user-header"},l={class:"user-details"},c={class:"user-name"},u={class:"user-stats"},d={class:"user-stat"},m={class:"stat-number"},S={class:"stat-label"},_={class:"user-stat"},p={class:"stat-label"},E={class:"user-stat hide-small"},T={class:"stat-number"},A={class:"stat-label"};var O=(0,r.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t);return(e,t)=>{const O=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",i,[(0,r.Wm)(o.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",l,[(0,r._)("div",c,(0,s.zw)((0,a.SU)(n).username),1),(0,r._)("div",u,[(0,r._)("div",d,[(0,r._)("span",m,(0,s.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",S,(0,s.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",_,[(0,r.Wm)(O,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(n).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,s.zw)((0,a.SU)(n).imperial_units?"miles":"km"),1)]),(0,r._)("div",E,[(0,r._)("span",T,(0,s.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",A,(0,s.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),U=n(3744);const R=(0,U.Z)(O,[["__scopeId","data-v-312cd857"]]);var g=R},2165:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(2262),s=n(3577),o=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={class:"user-bio"},m={key:1,class:"profile-buttons"},S={key:2,class:"profile-buttons"};var _=(0,r.aZ)({props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:_,fromAdmin:p}=(0,a.BK)(t),E=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),T=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),A=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):""));let O=(0,a.iH)(!1);function U(e){O.value=e}function R(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}return(e,t)=>{const n=(0,r.up)("Modal");return(0,r.wg)(),(0,r.iD)("div",u,[(0,a.SU)(O)?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:(0,a.SU)(_).username,onConfirmAction:t[0]||(t[0]=e=>R((0,a.SU)(_).username)),onCancelAction:t[1]||(t[1]=e=>U(!1))},null,8,["title","strongMessage"])):(0,r.kq)("",!0),(0,r._)("dl",null,[(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(T)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(_).first_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(_).last_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(A)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(_).location),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",d,(0,s.zw)((0,a.SU)(_).bio),1)]),(0,a.SU)(p)?((0,r.wg)(),(0,r.iD)("div",m,[(0,a.SU)(E).username!==(0,a.SU)(_).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[2]||(t[2]=(0,o.iM)((e=>U(!0)),["prevent"]))},(0,s.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[3]||(t[3]=t=>e.$router.go(-1))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",S,[(0,r._)("button",{onClick:t[4]||(t[4]=t=>e.$router.push("/profile/edit"))},(0,s.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))])}}}),p=n(3744);const E=(0,p.Z)(_,[["__scopeId","data-v-7da6fc6b"]]);var T=E},7203:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(6252),a=n(3577),s=n(2262),o=n(9963),i=n(2119),l=n(8602),c=n(9917);const u={id:"user-auth-form"},d={id:"user-form"},m={class:"form-items"},S=["disabled","placeholder"],_=["disabled","placeholder"],p=["disabled","placeholder"],E=["disabled","placeholder"],T=["disabled"],A={key:1},O=(0,r.Uk)(" - "),U={key:2},R={class:"account"};var g=(0,r.aZ)({props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),g=(0,c.o)(),{action:I}=(0,s.BK)(t),w=(0,s.qj)({username:"",email:"",password:"",password_conf:""}),f=(0,r.Fl)((()=>D(t.action))),v=(0,r.Fl)((()=>g.getters[l.SY.GETTERS.ERROR_MESSAGES])),N=(0,r.Fl)((()=>g.getters[l.SY.GETTERS.APP_CONFIG])),h=(0,r.Fl)((()=>"register"===t.action&&!N.value.is_registration_enabled)),k=(0,s.iH)(!1);function D(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function z(){k.value=!0}function P(e){switch(e){case"reset":return t.token?g.dispatch(l.YN.ACTIONS.RESET_USER_PASSWORD,{password:w.password,password_conf:w.password_conf,token:t.token}):g.commit(l.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return g.dispatch(l.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:w.email});default:g.dispatch(l.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:w,redirectUrl:n.query.from})}}function C(){w.username="",w.email="",w.password="",w.password_conf=""}return(0,r.YP)((()=>n.path),(async()=>{g.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),k.value=!1,C()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",u,[(0,r._)("div",d,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,s.SU)(h)}])},[(0,s.SU)(h)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,o.iM)((e=>P((0,s.SU)(I))),["prevent"]))},[(0,r._)("div",m,["register"===(0,s.SU)(I)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,s.SU)(h),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"12",onInvalid:z,"onUpdate:modelValue":t[0]||(t[0]=e=>(0,s.SU)(w).username=e),placeholder:e.$t("user.USERNAME")},null,40,S)),[[o.nr,(0,s.SU)(w).username]]):(0,r.kq)("",!0),"reset"!==(0,s.SU)(I)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:1,id:"email",disabled:(0,s.SU)(h),required:"",onInvalid:z,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>(0,s.SU)(w).email=e),placeholder:"reset-request"===(0,s.SU)(I)?e.$t("user.ENTER_EMAIL"):e.$t("user.EMAIL")},null,40,_)),[[o.nr,(0,s.SU)(w).email]]):(0,r.kq)("",!0),"reset-request"!==(0,s.SU)(I)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"password",disabled:(0,s.SU)(h),required:"",onInvalid:z,type:"password",minlength:"8","onUpdate:modelValue":t[2]||(t[2]=e=>(0,s.SU)(w).password=e),placeholder:"reset"===(0,s.SU)(I)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD")},null,40,p)),[[o.nr,(0,s.SU)(w).password]]):(0,r.kq)("",!0),["register","reset"].includes((0,s.SU)(I))?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:3,id:"confirm-password",disabled:(0,s.SU)(h),type:"password",minlength:"8",required:"",onInvalid:z,"onUpdate:modelValue":t[3]||(t[3]=e=>(0,s.SU)(w).password_conf=e),placeholder:"reset"===(0,s.SU)(I)?e.$t("user.ENTER_PASSWORD_CONFIRMATION"):e.$t("user.PASSWORD_CONFIRM")},null,40,E)),[[o.nr,(0,s.SU)(w).password_conf]]):(0,r.kq)("",!0)]),(0,r._)("button",{type:"submit",disabled:(0,s.SU)(h)},(0,a.zw)(e.$t((0,s.SU)(f))),9,T)],34),"login"===(0,s.SU)(I)?((0,r.wg)(),(0,r.iD)("div",A,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),O,(0,r.Wm)(i,{class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})])):(0,r.kq)("",!0),"register"===(0,s.SU)(I)?((0,r.wg)(),(0,r.iD)("div",U,[(0,r._)("span",R,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),(0,s.SU)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,s.SU)(v)},null,8,["message"])):(0,r.kq)("",!0)],2)])])}}}),I=n(3744);const w=(0,I.Z)(g,[["__scopeId","data-v-12d9495f"]]);var f=w},8660:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(6252),a=n(2262),s=n(2024);const o={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,s.k)()}users/${t.user.username}/picture`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var S=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const s={class:"no-workouts box"};function o(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",o],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./en/en.ts":6804,"./fr/fr.ts":7754};function a(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=s,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,s){if(!r){var o=1/0;for(u=0;u=s)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[r,a,s]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var s=Object.create(null);n.r(s);var o={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){o[e]=function(){return r[e]}}));return o["default"]=function(){return r},n.d(s,o),s}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]||e)+"."+{24:"75789a8c",93:"e92c6ca0",193:"221180ef",243:"8b4f71d5",328:"92270942",401:"e6d6026d",431:"ce81b2a1",633:"2b820738",845:"97ac14b7",858:"af9267af"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"29e6e47c",193:"ca46b7cd",328:"73df498d",401:"4eac54c3",845:"c7bcad7f"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,s,o){if(e[r])e[r].push(a);else{var i,l;if(void 0!==s)for(var c=document.getElementsByTagName("script"),u=0;u {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that user already exists.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems encounter some issues.
      Please try later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter an email address\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm the password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm Password\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password confirmation\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer le compte de \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les drois d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les drois d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, cet utilisateur existe déjà.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
      Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-75ada372\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/_createStaticVNode(\"
      \", 4)\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n }\n\n \n\n const { version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=75ada372&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-75ada372\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6259410f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=6259410f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6259410f\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./NoConfig.vue?vue&type=template&id=1596efb7&scoped=true\"\nconst script = {}\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=1596efb7&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1596efb7\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : ''\n }, null, 8, [\"version\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=54363c57&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3ec2aca2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=3ec2aca2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3ec2aca2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\nimport VueFullscreen from 'vue-fullscreen'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21d94c64\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"max_users\" }\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = { class: \"user-limit-help\" }\nconst _hoisted_6 = { class: \"info-box\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = { for: \"max_single_file_size\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = { for: \"max_zip_file_size\" }\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = { for: \"gpx_limit_import\" }\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_16 = [\"onClick\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_4), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_13), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (__props.edition)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_16)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=21d94c64&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21d94c64\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcb269a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=1bcb269a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcb269a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-047ae14e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"left-text\" }\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"cell-heading\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"text-center\" }\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-center\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-center\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_17)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=047ae14e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-047ae14e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=75d6a844&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e26535e0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=e26535e0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e26535e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"password\"\n}\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = {\n class: \"form-items\",\n for: \"passwordConfirmation\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_13 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_16 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_19 = [\"disabled\"]\nconst _hoisted_20 = { class: \"form-items\" }\nconst _hoisted_21 = { class: \"form-buttons\" }\nconst _hoisted_22 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"email\",\n value: _unref(user).email,\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_7)\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).password) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(userForm).password]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_CONFIRMATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"passwordConfirmation\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).password_conf) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(userForm).password_conf]\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_17), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_18, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_19), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_20, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"button\", _hoisted_22, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[8] || (_cache[8] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[9] || (_cache[9] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=183e33e0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-56c3f022\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=56c3f022&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-56c3f022\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4775544a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=4775544a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4775544a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c9d1f10c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport }\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=c9d1f10c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c9d1f10c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9ef2a9ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n let page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=9ef2a9ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9ef2a9ac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records.map(\n (record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`\n )\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n }\n\n \n\n const { colors, datasets } = toRefs(props)\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n currentDay: null,\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n\n \n\n const {\n currentDay,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports)\n }, null, 8, [\"workouts\", \"sports\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n }\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n }\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n let day = ref(new Date())\n let calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: _unref(day),\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": _unref(calendarDates).start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: _unref(day),\n \"end-date\": _unref(calendarDates).end,\n sports: _unref(sports),\n \"start-date\": _unref(calendarDates).start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=c1cc8fc8&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-aee1f956\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n\n import { IRecordsBySports } from '@/types/workouts'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(records).records, (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(`workouts.RECORD_${record.record_type}`)), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=aee1f956&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-aee1f956\"]])\n\nexport default __exports__","import { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean\n): IRecordsBySports =>\n records.reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits)\n )\n }\n return sportList\n }, {})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ae25a82a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=ae25a82a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ae25a82a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const defaultUnitFrom: TUnit = 'km'\n const unitTo: TUnit = user.value.imperial_units\n ? units[defaultUnitFrom].defaultTarget\n : defaultUnitFrom\n const totalDistance = user.value.imperial_units\n ? convertDistance(user.value.total_distance, defaultUnitFrom, unitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2))\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(unitTo) === 'mi' ? 'miles' : _unref(unitTo)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=376a0fe8&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2f390f91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('calendar')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=2f390f91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2f390f91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=39d425b4&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=39d425b4&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-39d425b4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a38125b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n }\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=6a38125b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6a38125b\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n removeAuthUserData(context)\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string,\n isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string }\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { toRefs, withDefaults } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string }\n\n \n const { target } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-462fd850\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(page: number, cursor?: number): TWorkoutsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n event: _unref(pagination).has_prev ? 'click' : '',\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')), 1)\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n event: _unref(pagination).has_next ? 'click' : '',\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=462fd850&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-462fd850\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean }\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-14aef866\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\n ]))\n}","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true\n): string => {\n const unitFrom = 'km'\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n useImperialUnits: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n let chartData: ComputedRef> = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return props.fullStats && context.chart.chartArea.width < 300\n ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(\n props.displayedData,\n total,\n props.useImperialUnits,\n false\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y,\n props.useImperialUnits\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits\n )\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=7eb1257c&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n let displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value,\n props.user.imperial_units\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=14aef866&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=14aef866&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-14aef866\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-312cd857\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(user).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=312cd857&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-312cd857\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7da6fc6b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"user-bio\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_4 = {\n key: 2,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, Ref, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { AUTH_USER_STORE, USERS_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \"admin.CONFIRM_USER_ACCOUNT_DELETION\",\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteUserAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_2, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=7da6fc6b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7da6fc6b\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-12d9495f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-auth-form\" }\nconst _hoisted_2 = { id: \"user-form\" }\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = [\"disabled\", \"placeholder\"]\nconst _hoisted_6 = [\"disabled\", \"placeholder\"]\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = [\"disabled\"]\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\" - \")\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = { class: \"account\" }\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n password_conf: '',\n })\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const formErrors = ref(false)\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n password_conf: formData.password_conf,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n default:\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n formData.password_conf = ''\n }\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"12\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(formData).username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, _unref(formData).username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"email\",\n disabled: _unref(registration_disabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(formData).email) = $event)),\n placeholder: \n _unref(action) === 'reset-request'\n ? _ctx.$t('user.ENTER_EMAIL')\n : _ctx.$t('user.EMAIL')\n \n }, null, 40, _hoisted_5)), [\n [_vModelText, _unref(formData).email]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset-request')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"password\",\n disabled: _unref(registration_disabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"password\",\n minlength: \"8\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(formData).password) = $event)),\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n \n }, null, 40, _hoisted_6)), [\n [_vModelText, _unref(formData).password]\n ])\n : _createCommentVNode(\"\", true),\n (['register', 'reset'].includes(_unref(action)))\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 3,\n id: \"confirm-password\",\n disabled: _unref(registration_disabled),\n type: \"password\",\n minlength: \"8\",\n required: \"\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(formData).password_conf) = $event)),\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD_CONFIRMATION')\n : _ctx.$t('user.PASSWORD_CONFIRM')\n \n }, null, 40, _hoisted_7)), [\n [_vModelText, _unref(formData).password_conf]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_8)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n _hoisted_10,\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=12d9495f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-12d9495f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=626a8c6d&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./en/en.ts\": 6804,\n\t\"./fr/fr.ts\": 7754\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 4612;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] || chunkId) + \".\" + {\"24\":\"75789a8c\",\"93\":\"e92c6ca0\",\"193\":\"221180ef\",\"243\":\"8b4f71d5\",\"328\":\"92270942\",\"401\":\"e6d6026d\",\"431\":\"ce81b2a1\",\"633\":\"2b820738\",\"845\":\"97ac14b7\",\"858\":\"af9267af\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"29e6e47c\",\"193\":\"ca46b7cd\",\"328\":\"73df498d\",\"401\":\"4eac54c3\",\"845\":\"c7bcad7f\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(7566); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_createStaticVNode","_defineComponent","props","version","setup","__props","toRefs","_ctx","_cache","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","__exports__","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","emits","emit","useI18n","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","toString","commit","logout","dispatch","_component_router_link","_resolveComponent","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","_createVNode","to","_withCtx","$t","_","capitalize","_createBlock","_createCommentVNode","UserPicture","username","availableLanguages","options","selected","onSelected","innerHTML","script","render","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","message","name","charLimit","disabled","type","Boolean","input","text","updateText","event","target","watch","_withDirectives","maxLenght","_isRef","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","strongMessage","errorMessages","onUnmounted","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","_hoisted_18","_hoisted_19","t","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","orderByList","defaultOrderBy","query","getQuery","USERS_STORE","pagination","loadUsers","queryParams","updateUser","reloadUsers","queryParam","queryValue","page","newQuery","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","_hoisted_21","_hoisted_22","userForm","password","password_conf","first_name","last_name","birth_date","location","bio","registrationDate","Date","displayModal","updateUserForm","updateBio","updateProfile","updateDisplayModal","deleteAccount","_component_Modal","_component_CustomTextArea","onConfirmAction","onCancelAction","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","trim","required","onKeydown","_withKeys","ref_key","filter","tz","focus","onMouseover","autofocus","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","e","workout","_component_Distance","params","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","src","alt","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","sportTranslatedLabel","workout_id","formatRecord","Error","formatWorkoutDate","getRecordsBySports","reduce","sportList","find","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","split","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","BikePic","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","payload","res","status","fromAdmin","handleError","actions","finally","removeAuthUserData","localStorage","removeItem","actionType","token","auth_token","setItem","redirectUrl","form","FormData","append","state","authUserProfile","mutations","authUserState","application","localeFromLanguage","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","en","fr","availableLocales","l","sortSports","a","b","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","cursor","has_prev","active","has_next","href","rel","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","JSON","parse","stringify","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","async","newParams","birthDate","go","getButtonText","registration_disabled","formErrors","invalidateForm","resetFormData","_component_AlertMessage","errors","pattern","minlength","maxlength","onInvalid","placeholder","authUserPictureUrl","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.b8a9753b.js b/fittrackee/dist/static/js/app.b8a9753b.js new file mode 100644 index 00000000..a435cbd9 --- /dev/null +++ b/fittrackee/dist/static/js/app.b8a9753b.js @@ -0,0 +1,2 @@ +(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),s=n(12),o=n(8602),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=s.Z.getters[o.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(3324);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:a()})},9350:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},s={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for admininstrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems to have encountered some issues.
      Please try again later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},u={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},d={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},m={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farthest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}},_={about:r,admin:a,api:s,buttons:o,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},1079:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous license ",n(r(0))," (en)"])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},s={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse email doit être differente de l'adresse actuelle"])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse email doit être fournie pour le contact de l'administrateur."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Envoyer à nouveau l'email de confirmation"])},BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
      Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},u={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},d={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},m={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisir une adresse email valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe "])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants"])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex: date ou année de naissance)"])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex: date de naissance)"])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse email ou contacter l'administrateur"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boite email pour valider votre nouvelle adresse email."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse email fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau l'email de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère "_" sont autorisés.'])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}},_={about:r,admin:a,api:s,buttons:o,common:i,dashboard:l,error:c,sports:u,statistics:d,user:m,workouts:S}},811:function(e,t,n){"use strict";var r=n(3328),a=n(8278),s=n(9963),o=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},S={class:"footer-items"},_={class:"footer-item"},E=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),p=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),T={class:"footer-item"},A={key:0,class:"footer-item bullet"},U={key:1,class:"footer-item"},O=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),I={class:"footer-item"},g={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var w=(0,l.aZ)({props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",S,[(0,l._)("div",_,[E,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),p,(0,l._)("div",T,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",U,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,O)])):(0,l.kq)("",!0),R,(0,l._)("div",I,[(0,l._)("a",g,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),v=n(3744);const f=(0,v.Z)(w,[["__scopeId","data-v-2c73279e"]]);var N=f,h=n(3324),C=n(8660),D=n(8602),k=n(9917),z=n(6287);const P=e=>((0,l.dD)("data-v-0d4f0b8f"),e=e(),(0,l.Cn)(),e),M={id:"nav"},y={class:"nav-container"},b={class:"nav-app-name"},L={class:"nav-items-close"},G=P((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),F={key:0,class:"nav-items-group"},W=P((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),Y={class:"nav-items-user-menu"},x={key:0,class:"nav-items-group"},$={class:"nav-item nav-profile-img"},Z={key:1,class:"nav-items-group"},K=P((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var B=(0,l.aZ)({emits:["menuInteraction"],setup(e,{emit:t}){const{locale:n}=(0,h.QT)(),r=(0,k.o)(),a=(0,l.Fl)((()=>r.getters[D.YN.GETTERS.AUTH_USER_PROFILE])),s=(0,l.Fl)((()=>r.getters[D.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>r.getters[D.SY.GETTERS.LANGUAGE]));let i=(0,c.iH)(!1);function d(){i.value=!0,t("menuInteraction",!0)}function m(){i.value=!1,t("menuInteraction",!1)}function S(e){n.value=e.value.toString(),r.commit(D.SY.MUTATIONS.UPDATE_LANG,e.value)}function _(){r.dispatch(D.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),r=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",M,[(0,l._)("div",y,[(0,l._)("div",b,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>d())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":(0,c.SU)(i)}])},[(0,l._)("div",L,[G,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!(0,c.SU)(i)}]),onClick:t[2]||(t[2]=e=>m())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>m())},[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",F,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(s)&&(0,c.SU)(a).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),W])):(0,l.kq)("",!0)]),(0,l._)("div",Y,[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",x,[(0,l._)("div",$,[(0,l.Wm)(C.Z,{user:(0,c.SU)(a)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",Z,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:m},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(z.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(r,{key:2,class:"nav-item",options:(0,c.SU)(z.mT),selected:(0,c.SU)(o),onSelected:S},{default:(0,l.w5)((()=>[K])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const H=(0,v.Z)(B,[["__scopeId","data-v-0d4f0b8f"]]);var q=H,j=n(7167);const V={id:"no-config"},X={class:"error-page"},J={class:"error-img"},Q=["innerHTML"];var ee=(0,l.aZ)({setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",X,[(0,l._)("div",J,[(0,l.Wm)(j.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,Q)])]))}});const te=(0,v.Z)(ee,[["__scopeId","data-v-47759238"]]);var ne=te;const re=(0,l._)("div",{id:"top"},null,-1),ae={key:0,class:"app-container"},se={class:"app-loading"},oe={class:"container scroll"},ie=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),le=[ie];var ce=(0,l.aZ)({setup(e){const t=(0,k.o)(),n=(0,l.Fl)((()=>t.getters[D.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[D.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),s=(0,c.iH)(!1);function o(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{let e=document.querySelector("#bottom");s.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{s.value=!1}),300)}return(0,l.wF)((()=>t.dispatch(D.SY.ACTIONS.GET_APPLICATION_CONFIG))),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[re,(0,l.Wm)(q,{onMenuInteraction:o}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",ae,[(0,l._)("div",se,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(ne,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":s.value}]),onClick:m},le,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(N,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ue=ce;var de=ue,me=n(2540),Se=n(5504),_e=n(12);const Ee={class:"alert-message"},pe=["innerHTML"];var Te=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Ee,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,pe)]))}});const Ae=(0,v.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ue=Ae,Oe=n(2531);const Re={class:"custom-textarea"},Ie=["id","name","maxLenght","disabled"],ge={class:"remaining-chars"};var we=(0,l.aZ)({props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e;let r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Re,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>(0,c.dq)(r)?r.value=e:r=e),onInput:a},null,40,Ie),[[s.nr,(0,c.SU)(r)]]),(0,l._)("div",ge,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)((0,c.SU)(r).length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const ve=(0,v.Z)(we,[["__scopeId","data-v-3ec2aca2"]]);var fe=ve,Ne=n(3649);const he=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var Ce=(0,l.aZ)({props:{distance:null,unitFrom:null,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:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?Ne.Dl[i.value].defaultTarget:i.value)),S=(0,l.Fl)((()=>d.value?(0,Ne.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(S)),3),he,(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(o)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(s)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const De=(0,v.Z)(Ce,[["__scopeId","data-v-f46ff1d6"]]);var ke=De,ze=n(2119);const Pe={class:"dropdown-wrapper"},Me={key:0,class:"dropdown-list"},ye=["onClick"];var be=(0,l.aZ)({props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,ze.yj)();let a=(0,c.iH)(!1),s=n.options.map((e=>e));function o(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Pe,[(0,l._)("div",{class:"dropdown-selected",onClick:o},[(0,l.WI)(t.$slots,"default")]),(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("ul",Me,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(s),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,ye)))),128))])):(0,l.kq)("",!0)]))}});const Le=(0,v.Z)(be,[["__scopeId","data-v-ca61364c"]]);var Ge=Le;const Fe={class:"error-message"},We={key:0},Ye={key:1};var xe=(0,l.aZ)({props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Fe,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",We,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",Ye,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const $e=(0,v.Z)(xe,[["__scopeId","data-v-2659a79a"]]);var Ze=$e;const Ke={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 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},Be=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),He=(0,l._)("g",null,[(0,l._)("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),(0,l._)("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),qe=[Be,He];function je(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Ke,qe)}var Ve={name:"CyclingSport"};const Xe=(0,v.Z)(Ve,[["render",je]]);var Je=Xe;const Qe={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},et=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),tt=(0,l._)("g",{id:"g147"},[(0,l._)("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),(0,l._)("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),nt=[et,tt];function rt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Qe,nt)}var at={name:"CyclingTransport"};const st=(0,v.Z)(at,[["render",rt]]);var ot=st;const it={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 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},lt=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),ct=(0,l._)("g",null,[(0,l._)("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),(0,l._)("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),ut=[lt,ct];function dt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",it,ut)}var mt={name:"Hiking"};const St=(0,v.Z)(mt,[["render",dt]]);var _t=St;const Et={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 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},pt=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),(0,l._)("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),(0,l._)("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),At=[pt,Tt];function Ut(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Et,At)}var Ot={name:"MountainBiking"};const Rt=(0,v.Z)(Ot,[["render",Ut]]);var It=Rt;const gt={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},wt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),vt=[wt];function ft(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",gt,vt)}var Nt={name:"MountainBikingElectric"};const ht=(0,v.Z)(Nt,[["render",ft]]);var Ct=ht;const Dt={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 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},kt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),zt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),Pt=[kt,zt];function Mt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Dt,Pt)}var yt={name:"Rowing"};const bt=(0,v.Z)(yt,[["render",Mt]]);var Lt=bt;const Gt={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 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},Ft=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Wt=(0,l._)("g",null,[(0,l._)("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),(0,l._)("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Yt=[Ft,Wt];function xt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Gt,Yt)}var $t={name:"Running"};const Zt=(0,v.Z)($t,[["render",xt]]);var Kt=Zt;const Bt={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 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Ht=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),qt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),jt=[Ht,qt];function Vt(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",Bt,jt)}var Xt={name:"SkiingAlpine"};const Jt=(0,v.Z)(Xt,[["render",Vt]]);var Qt=Jt;const en={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 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},tn=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),nn=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),rn=[tn,nn];function an(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",en,rn)}var sn={name:"SkiingCrossCountry"};const on=(0,v.Z)(sn,[["render",an]]);var ln=on;const cn={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},un=(0,l.uE)('silhouette of a person with snowshoes',6),dn=[un];function mn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",cn,dn)}var Sn={name:"Snowshoes"};const _n=(0,v.Z)(Sn,[["render",mn]]);var En=_n;const pn={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 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),An=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),Un=[Tn,An];function On(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",pn,Un)}var Rn={name:"Trail"};const In=(0,v.Z)(Rn,[["render",On]]);var gn=In;const wn={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},vn=(0,l.uE)('silhouette of a walking person',3),fn=[vn];function Nn(e,t,n,r,a,s){return(0,l.wg)(),(0,l.iD)("svg",wn,fn)}var hn={name:"Walking"};const Cn=(0,v.Z)(hn,[["render",Nn]]);var Dn=Cn;const kn=["title"];var zn=(0,l.aZ)({props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),s=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(s)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Je,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(_t,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(It,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Ct,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Lt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Kt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Qt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ln,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(gn,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Dn,{key:11})):(0,l.kq)("",!0)],12,kn))}});const Pn=zn;var Mn=Pn;const yn={class:"loader"};function bn(e,t){return(0,l.wg)(),(0,l.iD)("div",yn)}const Ln={},Gn=(0,v.Z)(Ln,[["render",bn],["__scopeId","data-v-4c9921ee"]]);var Fn=Gn;const Wn={id:"modal"},Yn={class:"custom-modal"},xn={key:0,class:"modal-message"},$n={key:1,class:"modal-message"},Zn={class:"modal-buttons"};var Kn=(0,l.aZ)({props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,k.o)(),{title:a,message:s,strongMessage:o}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[D.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(D.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",Wn,[(0,l._)("div",Yn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(o)?((0,l.wg)(),(0,l.iD)("div",xn,[(0,l.Wm)(r,{keypath:(0,c.SU)(s)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(o)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",$n,(0,u.zw)((0,c.SU)(s)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",Zn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const Bn=(0,v.Z)(Kn,[["__scopeId","data-v-e8fcfaba"]]);var Hn=Bn;const qn=[{target:Ue,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:fe,name:"CustomTextArea"},{target:ke,name:"Distance"},{target:Ge,name:"Dropdown"},{target:Ze,name:"ErrorMessage"},{target:Fn,name:"Loader"},{target:Hn,name:"Modal"},{target:Mn,name:"SportImage"}],jn={mounted:(e,t)=>{e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};var Vn=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const Xn=(0,s.ri)(de).provide("sportColors",Vn.Zo).use(me.Z).use(_e.Z).use(Se.Z).use(o.ZP,{name:"VFullscreen"}).directive("click-outside",jn);qn.forEach((e=>{Xn.component(e.name,e.target)})),Xn.mount("#app")},5504:function(e,t,n){"use strict";n.d(t,{Z:function(){return ni}});var r=n(2119),a=n(6252),s=n(3577),o=n(9963),i=n(2262),l=n(8602),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},S=["onSubmit"],_={for:"admin_contact"},E=["value"],p=["disabled"],T={for:"max_users"},A=["disabled"],U={class:"user-limit-help"},O={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),I={for:"max_single_file_size"},g=["disabled"],w={for:"max_zip_file_size"},v=["disabled"],f={for:"gpx_limit_import"},N=["disabled"],h={key:1,class:"form-buttons"},C={class:"confirm",type:"submit"},D=["onClick"],k={key:2,class:"form-buttons"};var z=(0,a.aZ)({props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,i.BK)(t),d=(0,c.o)(),z=(0,r.tv)(),P=(0,i.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),M=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function y(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){y(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),z.push("/admin/application")}function L(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&y(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,o.iM)(L,["prevent"])},[(0,a._)("label",_,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,i.SU)(n)||(0,i.SU)(P).admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(P).admin_contact=e),disabled:!(0,i.SU)(n)},null,8,p)),[[o.nr,(0,i.SU)(P).admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,E))]),(0,a._)("label",T,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(P).max_users=e),disabled:!(0,i.SU)(n)},null,8,A),[[o.nr,(0,i.SU)(P).max_users]])]),(0,a._)("div",U,[(0,a._)("span",O,[R,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",I,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(P).max_single_file_size=e),disabled:!(0,i.SU)(n)},null,8,g),[[o.nr,(0,i.SU)(P).max_single_file_size]])]),(0,a._)("label",w,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(P).max_zip_file_size=e),disabled:!(0,i.SU)(n)},null,8,v),[[o.nr,(0,i.SU)(P).max_zip_file_size]])]),(0,a._)("label",f,[(0,a.Uk)((0,s.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>(0,i.SU)(P).gpx_limit_import=e),disabled:!(0,i.SU)(n)},null,8,N),[[o.nr,(0,i.SU)(P).gpx_limit_import]])]),(0,i.SU)(M)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(M)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(n)?((0,a.wg)(),(0,a.iD)("div",h,[(0,a._)("button",C,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,o.iM)(b,["prevent"])},(0,s.zw)(e.$t("buttons.CANCEL")),9,D)])):((0,a.wg)(),(0,a.iD)("div",k,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,o.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,s.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,S)])),_:1})])}}}),P=n(3744);const M=(0,P.Z)(z,[["__scopeId","data-v-24ec93e2"]]);var y=M;const b={class:"stat-card"},L={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},Y={class:"stat"};var x=(0,a.aZ)({props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:o}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",L,[(0,a._)("div",G,[(0,a._)("i",{class:(0,s.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("div",Y,(0,s.zw)((0,i.SU)(r)),1)])])]))}});const $=x;var Z=$;const K={id:"user-stats"};var B=(0,a.aZ)({props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",K,[(0,a.Wm)(Z,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=B;var q=H,j=n(2531);const V=e=>((0,a.dD)("data-v-1bcb269a"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q=V((()=>(0,a._)("br",null,null,-1))),ee={class:"registration-status"};var te=(0,a.aZ)({props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(j.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(q,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",null,[(0,a.Uk)((0,s.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Q,(0,a._)("span",ee,(0,s.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(o,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,s.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const ne=(0,P.Z)(te,[["__scopeId","data-v-1bcb269a"]]);var re=ne,ae=n(3324),se=n(631);const oe=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ie={id:"admin-sports",class:"admin-card"},le={class:"responsive-table"},ce=oe((()=>(0,a._)("th",null,"#",-1))),ue={class:"text-left"},de={class:"text-left sport-action"},me=oe((()=>(0,a._)("th",null,null,-1))),Se={class:"text-center"},_e=oe((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ee={class:"cell-heading"},pe={class:"sport-label"},Te={class:"cell-heading"},Ae={class:"text-center"},Ue={class:"cell-heading"},Oe={class:"sport-action"},Re={class:"cell-heading"},Ie={class:"action-button"},ge=["onClick"],we={key:0,class:"has-workouts"},ve=oe((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var fe=(0,a.aZ)({setup(e){const{t:t}=(0,ae.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,se.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ie,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",le,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[ce,(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",ue,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",de,(0,s.zw)(e.$t("admin.ACTION")),1),me])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Se,[_e,(0,a.Uk)(" "+(0,s.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ee,(0,s.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",pe,[(0,a._)("span",Te,(0,s.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(t.translatedLabel),1)]),(0,a._)("td",Ae,[(0,a._)("span",Ue,(0,s.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",Oe,[(0,a._)("span",Re,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",Ie,[(0,a._)("button",{class:(0,s.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,s.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,ge),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[ve,(0,a.Uk)(" "+(0,s.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ne=(0,P.Z)(fe,[["__scopeId","data-v-6d62af67"]]);var he=Ne,Ce=n(4850),De=n(8626),ke=n(6514),ze=n(8660);const Pe={class:"users-filters"},Me={class:"search-username"},ye=["onKeyup","placeholder"];var be=(0,a.aZ)({emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,i.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Pe,[(0,a._)("div",Me,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,o.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,ye),[[o.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,s.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const Le=(0,P.Z)(be,[["__scopeId","data-v-627a8e91"]]);var Ge=Le,Fe=n(2766),We=n(6558);const Ye=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),xe={id:"admin-users",class:"admin-card"},$e={key:0,class:"no-users"},Ze={key:1,class:"responsive-table"},Ke=Ye((()=>(0,a._)("th",null,"#",-1))),Be={class:"left-text"},He={class:"left-text"},qe={class:"left-text"},je={class:"cell-heading"},Ve={class:"cell-heading"},Xe={class:"cell-heading"},Je={class:"cell-heading"},Qe={class:"text-center"},et={class:"cell-heading"},tt={class:"text-center"},nt={class:"cell-heading"},rt={class:"text-center"},at={class:"cell-heading"},st={class:"text-center"},ot={class:"cell-heading"},it=["disabled","onClick"];var lt=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let S=(0,i.qj)((0,Fe.pm)(n.query,d,m));const _=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),E=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),p=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),T=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function U(e){R("q",e.value)}function O(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){S[e]=t,"per_page"===e&&(S.page=1),u.push({path:"/admin/users",query:S})}return(0,a.wF)((()=>A(S))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{S=(0,Fe.pm)(e,d,m,{query:S}),A(S)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",xe,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,s.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(Ge,{onFilterOnUsername:U}),(0,a.Wm)(De.Z,{sort:(0,i.SU)(Fe.fS),order_by:d,query:(0,i.SU)(S),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(E).length?((0,a.wg)(),(0,a.iD)("div",$e,(0,s.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",Ze,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[Ke,(0,a._)("th",Be,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",He,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",qe,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,s.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",je,(0,s.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(ze.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Ve,(0,s.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",Xe,(0,s.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,s.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",Je,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(Ce.Z)((0,i.SU)(We.eB)(t.created_at,(0,i.SU)(_).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",Qe,[(0,a._)("span",et,(0,s.zw)((0,s.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,s.zw)(t.nb_workouts),1)]),(0,a._)("td",tt,[(0,a._)("span",nt,(0,s.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",rt,[(0,a._)("span",at,(0,s.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,s.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",st,[(0,a._)("span",ot,(0,s.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,s.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(_).username,onClick:e=>O(t.username,!t.admin)},(0,s.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,it)])])))),128))])]),(0,i.SU)(p).page?((0,a.wg)(),(0,a.j4)(ke.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(p),query:(0,i.SU)(S)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(T)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(T)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,o.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,s.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const ct=(0,P.Z)(lt,[["__scopeId","data-v-4735c10f"]]);var ut=ct,dt=n(2179);const mt={class:"profile-tabs custom-checkboxes-group"},St={class:"profile-tabs-checkboxes custom-checkboxes"},_t=["id","name","checked","disabled","onInput"];var Et=(0,a.aZ)({props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:o}=(0,i.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",mt,[(0,a._)("div",St,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r)===t,disabled:(0,i.SU)(o),onInput:n=>e.$router.push(l(t))},null,40,_t),(0,a._)("span",null,(0,s.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const pt=Et;var Tt=pt;const At={id:"user-profile"},Ut={class:"box"};var Ot=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),s=["PROFILE","PREFERENCES","SPORTS"];return(e,t)=>{const o=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",At,[(0,a.Wm)(dt.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",Ut,[(0,a.Wm)(Tt,{tabs:s,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(o,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const Rt=(0,P.Z)(Ot,[["__scopeId","data-v-e26535e0"]]);var It=Rt,gt=n(4317),wt=n(6287);const vt={id:"user-preferences",class:"description-list"},ft={class:"profile-buttons"};var Nt=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?wt.zK[t.user.language]:wt.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),o=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris"));return(t,l)=>((0,a.wg)(),(0,a.iD)("div",vt,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(n)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,s.zw)((0,i.SU)(o)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t(`user.PROFILE.${(0,i.SU)(r)}`)),1),(0,a._)("dt",null,(0,s.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,s.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),(0,a._)("div",ft,[(0,a._)("button",{onClick:l[0]||(l[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,s.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:l[1]||(l[1]=e=>t.$router.push("/"))},(0,s.zw)(t.$t("common.HOME")),1)])]))}});const ht=Nt;var Ct=ht;const Dt={id:"user-profile-edition",class:"center-card"};var kt=(0,a.aZ)({props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:o}=(0,i.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Dt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t(`user.PROFILE.${(0,i.SU)(o)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Tt,{tabs:u,selectedTab:(0,i.SU)(o),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const zt=kt;var Pt=zt,Mt=n(2047);const yt={id:"user-infos-edition"},bt={class:"profile-form form-box"},Lt={key:1,class:"info-box success-message"},Gt=["onSubmit"],Ft={class:"form-items",for:"email"},Wt=["disabled"],Yt={class:"form-items",for:"password-field"},xt={class:"form-items",for:"new-password-field"},$t={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Kt=(0,a.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,i.BK)(t),r=(0,c.o)(),u=(0,i.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),S=(0,i.iH)(!1),_=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),E=(0,i.iH)(!1),p=(0,i.iH)(!1);function T(){E.value=!0}function A(e){u.email=e.email}function U(e){u.password=e}function O(e){u.new_password=e}function R(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),S.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function I(e){p.value=e}function g(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&A(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>m.value),(async e=>{e&&(U(""),O(""),A(n.value),E.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{A(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",yt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>g((0,i.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>I(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",bt,[(0,i.SU)(_)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(_)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(m)?((0,a.wg)(),(0,a.iD)("div",Lt,(0,s.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${S.value?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,s.C_)({errors:E.value}),onSubmit:(0,o.iM)(R,["prevent"])},[(0,a._)("label",Ft,[(0,a.Uk)((0,s.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(u).email=e),disabled:(0,i.SU)(d),required:!0,onInvalid:T},null,40,Wt),[[o.nr,(0,i.SU)(u).email]])]),(0,a._)("label",Yt,[(0,a.Uk)((0,s.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(Mt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:(0,i.SU)(u).password,required:!0,onUpdatePassword:U,onPasswordError:T},null,8,["disabled","password"])]),(0,a._)("label",xt,[(0,a.Uk)((0,s.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(Mt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:(0,i.SU)(u).new_password,isSuccess:!1,onUpdatePassword:O,onPasswordError:T},null,8,["disabled","password"])]),(0,a._)("div",$t,[(0,a._)("button",Zt,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,o.iM)((e=>I(!0)),["prevent"]))},(0,s.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Gt)])])}}});const Bt=(0,P.Z)(Kt,[["__scopeId","data-v-46fcf129"]]);var Ht=Bt;const qt={id:"user-infos-edition"},jt={class:"profile-form form-box"},Vt=["onSubmit"],Xt={class:"form-items",for:"registrationDate"},Jt=["value"],Qt={class:"form-items",for:"first_name"},en=["disabled"],tn={class:"form-items",for:"last_name"},nn={class:"form-items",for:"birth_date"},rn=["disabled"],an={class:"form-items",for:"location"},sn=["disabled"],on={class:"form-items"},ln={class:"form-buttons"},cn={class:"confirm",type:"submit"};var un=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,Ce.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,Ce.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function _(e){r.bio=e}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&S(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",qt,[(0,a._)("div",jt,[(0,i.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(E,["prevent"])},[(0,a._)("label",Xt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(u),disabled:""},null,8,Jt)]),(0,a._)("label",Qt,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).first_name=e),disabled:(0,i.SU)(d)},null,8,en),[[o.nr,(0,i.SU)(r).first_name]])]),(0,a._)("label",tn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).last_name=e)},null,512),[[o.nr,(0,i.SU)(r).last_name]])]),(0,a._)("label",nn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).birth_date=e),disabled:(0,i.SU)(d)},null,8,rn),[[o.nr,(0,i.SU)(r).birth_date]])]),(0,a._)("label",an,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>(0,i.SU)(r).location=e),disabled:(0,i.SU)(d)},null,8,sn),[[o.nr,(0,i.SU)(r).location]])]),(0,a._)("label",on,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:(0,i.SU)(r).bio,disabled:(0,i.SU)(d),onUpdateValue:_},null,8,["input","disabled"])]),(0,a._)("div",ln,[(0,a._)("button",cn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,Vt)])])}}});const dn=(0,P.Z)(un,[["__scopeId","data-v-b6bacea0"]]);var mn=dn;const Sn=e=>((0,a.dD)("data-v-3edb2249"),e=e(),(0,a.Cn)(),e),_n={id:"user-picture-edition"},En={class:"user-picture-form"},pn=["onSubmit"],Tn={class:"picture-help"},An={class:"info-box"},Un=Sn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),On={class:"picture-buttons"},Rn=["disabled"];var In=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),S=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"";let _=(0,i.iH)(null);function E(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function p(e){e.target.files&&(_.value=e.target.files[0])}function T(){_.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:_.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",_n,[(0,a._)("div",En,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(ze.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,o.iM)(T,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:p},null,32),(0,a._)("div",Tn,[(0,a._)("span",An,[Un,(0,a.Uk)(" "+(0,s.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,s.zw)((0,i.SU)(S)),1)])]),(0,a._)("div",On,[(0,a._)("button",{type:"submit",disabled:!(0,i.SU)(_)},(0,s.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Rn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:E},(0,s.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,s.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,pn)])])}}});const gn=(0,P.Z)(In,[["__scopeId","data-v-3edb2249"]]);var wn=gn;const vn=["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"],fn={id:"tz-dropdown"},Nn=["value","disabled","onKeydown"],hn=["onClick","onMouseover","autofocus"];var Cn=(0,a.aZ)({props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function S(e){return e.toLowerCase().match(c.value.toLowerCase())}function _(e){m.value=e}function E(e){c.value=e,u.value=!1,t("updateTimezone",e)}function p(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&E(d.value?.firstElementChild?.innerHTML)}function T(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",fn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,o.D2)((e=>E((0,i.SU)(r))),["esc"])),(0,o.D2)(p,["enter"])],onInput:T},null,40,Nn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(vn).filter((e=>S(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,s.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>E(e),onMouseover:e=>_(t),autofocus:t===m.value},(0,s.zw)(e),43,hn)))),128))],512)):(0,a.kq)("",!0)]))}});const Dn=(0,P.Z)(Cn,[["__scopeId","data-v-47ea2903"]]);var kn=Dn;const zn={id:"user-preferences-edition"},Pn={class:"profile-form form-box"},Mn=["onSubmit"],yn={class:"form-items"},bn=["disabled"],Ln=["value"],Gn={class:"form-items"},Fn={class:"form-items"},Wn=["disabled"],Yn=["value"],xn={class:"form-items"},$n=["disabled"],Zn=["value"],Kn={class:"form-buttons"},Bn={class:"confirm",type:"submit"};var Hn=(0,a.aZ)({props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],d=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],m=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function p(e){r.timezone=e}return(0,a.bv)((()=>{t.user&&_(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",zn,[(0,a._)("div",Pn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,o.iM)(E,["prevent"])},[(0,a._)("label",yn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>(0,i.SU)(r).language=e),disabled:(0,i.SU)(m)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(wt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,s.zw)(e.label),9,Ln)))),128))],8,bn),[[o.bM,(0,i.SU)(r).language]])]),(0,a._)("label",Gn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(kn,{input:(0,i.SU)(r).timezone,disabled:(0,i.SU)(m),onUpdateTimezone:p},null,8,["input","disabled"])]),(0,a._)("label",Fn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),(0,a.wy)((0,a._)("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=e=>(0,i.SU)(r).weekm=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.${t.label}`)),9,Yn))),64))],8,Wn),[[o.bM,(0,i.SU)(r).weekm]])]),(0,a._)("label",xn,[(0,a.Uk)((0,s.zw)(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),(0,a.wy)((0,a._)("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=e=>(0,i.SU)(r).imperial_units=e),disabled:(0,i.SU)(m)},[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("option",{value:t.value,key:t.value},(0,s.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),9,Zn))),64))],8,$n),[[o.bM,(0,i.SU)(r).imperial_units]])]),(0,a._)("div",Kn,[(0,a._)("button",Bn,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,o.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,s.zw)(e.$t("buttons.CANCEL")),1)])],40,Mn)])])}}});const qn=Hn;var jn=qn;const Vn={id:"user-sport-preferences"},Xn={key:0,class:"responsive-table"},Jn={class:"mobile-display"},Qn={key:0,class:"profile-buttons mobile-display"},er={key:1,class:"profile-buttons"},tr={class:"text-left"},nr={key:0},rr={class:"cell-heading"},ar=["value"],sr={class:"cell-heading"},or={key:0,class:"disabled-message"},ir={key:1,class:"fa fa-refresh fa-spin fa-fw"},lr={class:"cell-heading"},cr={class:"cell-heading"},ur=["checked"],dr={class:"cell-heading"},mr=["value"],Sr={key:1},_r={key:0,class:"action-buttons"},Er={class:"cell-heading"},pr=["onClick"],Tr={key:1,class:"edition-buttons"},Ar=["disabled"],Ur=["disabled","onClick"],Or=["disabled"],Rr={key:0,class:"profile-buttons"},Ir={key:1,class:"profile-buttons"};var gr=(0,a.aZ)({props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,ae.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),_=(0,a.Fl)((()=>(0,se.xH)(S.value,r,"is_active",d.value.sports_list))),E=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function A(e){null!==e?(T.sport_id=e.id,T.color=e.color?e.color:m[e.label],T.is_active=e.is_active_for_user,T.stopped_speed_threshold=e.stopped_speed_threshold):g()}function U(e){return T.sport_id===e}function O(e){T.color=e.target.value}function R(e){T.stopped_speed_threshold=parseFloat(e.target.value)}function I(e){T.is_active=e.target.checked}function g(){T.sport_id=0,T.color=null,T.is_active=!0,T.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function w(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,T)}function v(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>E.value),(e=>{e||p.value||g()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Vn,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",Xn,[(0,a._)("div",Jn,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Qn,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",er,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",tr,(0,s.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",nr,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(o=>((0,a.wg)(),(0,a.iD)("tr",{key:o.id},[(0,a._)("td",null,[(0,a._)("span",rr,(0,s.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),U(o.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:(0,i.SU)(T).color,onInput:O},null,40,ar)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:o.translatedLabel,"sport-label":o.label,color:o.color?o.color:(0,i.SU)(m)[o.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,s.C_)(["sport-label",{"disabled-sport":!o.is_active}])},[(0,a._)("span",sr,(0,s.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,s.zw)(o.translatedLabel)+" ",1),o.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",or," ("+(0,s.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(E)&&U(o.id)?((0,a.wg)(),(0,a.iD)("i",ir)):(0,a.kq)("",!0),(0,i.SU)(p)&&(0,i.SU)(T).sport_id===o.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",lr,(0,s.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,s.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(o.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",cr,(0,s.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),U(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:o.is_active_for_user,onChange:I},null,40,ur)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,s.C_)("fa fa"+(o.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,s.C_)(["text-center",{"disabled-sport":!o.is_active}])},[(0,a._)("span",dr,(0,s.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),U(o.id)&&o.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:(0,i.SU)(T).stopped_speed_threshold,onInput:R},null,40,mr)):((0,a.wg)(),(0,a.iD)("span",Sr,(0,s.zw)(o.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",_r,[(0,a._)("span",Er,(0,s.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===(0,i.SU)(T).sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>A(o)},(0,s.zw)(e.$t("buttons.EDIT")),9,pr)):(0,a.kq)("",!0),U(o.id)?((0,a.wg)(),(0,a.iD)("div",Tr,[(0,a._)("button",{disabled:(0,i.SU)(E),onClick:w},(0,s.zw)(e.$t("buttons.SUBMIT")),9,Ar),(0,a._)("button",{disabled:(0,i.SU)(E),onClick:e=>v(e,o.id)},(0,s.zw)(e.$t("buttons.RESET")),9,Ur),(0,a._)("button",{disabled:(0,i.SU)(E),onClick:t[3]||(t[3]=e=>A(null))},(0,s.zw)(e.$t("buttons.CANCEL")),9,Or)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Rr,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,o.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ir,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,s.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const wr=(0,P.Z)(gr,[["__scopeId","data-v-4775544a"]]);var vr=wr,fr=n(12);const Nr=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),hr={class:"about-text"},Cr=["innerHTML"],Dr=Nr((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),kr={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},zr=Nr((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),Pr={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},Mr=Nr((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),yr=Nr((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),br={key:0},Lr=Nr((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),Gr=["href"];var Fr=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",hr,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,Cr),(0,a._)("p",null,[Dr,(0,a._)("a",kr,(0,s.zw)((0,s.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[zr,(0,a._)("a",Pr,(0,s.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[Mr,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[yr])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",br,[Lr,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,s.zw)(e.$t("about.CONTACT_ADMIN")),9,Gr)])):(0,a.kq)("",!0)])])}}});const Wr=(0,P.Z)(Fr,[["__scopeId","data-v-74257266"]]);var Yr=Wr;const xr={id:"bike"},$r=["src"];function Zr(e,t){return(0,a.wg)(),(0,a.iD)("div",xr,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,$r)])}const Kr={},Br=(0,P.Z)(Kr,[["render",Zr],["__scopeId","data-v-795f7f5f"]]);var Hr=Br;const qr={id:"about",class:"view"},jr={class:"container"},Vr={class:"container-sub"},Xr={class:"container-sub about-details"};var Jr=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",qr,[(0,a._)("div",jr,[(0,a._)("div",Vr,[(0,a.Wm)(Hr)]),(0,a._)("div",Xr,[(0,a.Wm)(Yr)])])]))}});const Qr=(0,P.Z)(Jr,[["__scopeId","data-v-bffb50d0"]]);var ea=Qr,ta=n(1818),na=n(2056);const ra=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),aa={class:"timeline-workout"},sa={class:"box"},oa={class:"workout-user-date"},ia={class:"workout-user"},la=["title"],ca={key:0},ua={key:1,class:"no-map"},da={class:"img"},ma={class:"data"},Sa=ra((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),_a={key:0},Ea={class:"data"},pa=ra((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Ta={key:0,class:"data elevation"},Aa=["alt"],Ua={class:"data-values"},Oa=(0,a.Uk)("/ "),Ra={key:1,class:"data altitude"},Ia=ra((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),ga={class:"data-values"},wa=(0,a.Uk)(" +"),va=(0,a.Uk)("/- ");var fa=(0,a.aZ)({props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:o,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",aa,[(0,a._)("div",sa,[(0,a._)("div",oa,[(0,a._)("div",ia,[(0,a.Wm)(ze.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(o).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)((0,i.SU)(o).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(o).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(Ce.Z)((0,i.SU)(We.eB)((0,i.SU)(o).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,s.zw)((0,i.SU)(ta.Z)(new Date((0,i.SU)(o).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,la)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,s.C_)(["workout-map",{"no-cursor":!(0,i.SU)(o)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("div",ca,[(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.j4)(na.Z,{key:0,workout:(0,i.SU)(o)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",ua,(0,s.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,s.C_)(["workout-data",{"without-gpx":(0,i.SU)(o)&&!(0,i.SU)(o).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(o).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(o).id}}):null)},[(0,a._)("div",da,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",ma,[Sa,(0,i.SU)(o)?((0,a.wg)(),(0,a.iD)("span",_a,(0,s.zw)((0,i.SU)(o).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ea,[pa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",Ta,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Aa),(0,a._)("div",Ua,[(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),Oa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(o)&&(0,i.SU)(o).with_gpx?((0,a.wg)(),(0,a.iD)("div",Ra,[Ia,(0,a._)("div",ga,[wa,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(o).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),va,(0,i.SU)(o).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(o).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const Na=(0,P.Z)(fa,[["__scopeId","data-v-c9d1f10c"]]);var ha=Na,Ca=n(5630),Da=n(3768);const ka={id:"timeline"},za={class:"section-title"},Pa={key:0},Ma={key:1},ya={key:1,class:"more-workouts"};var ba=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t);let u=(0,i.iH)(1);const d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>E()));const S=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),_=(0,a.Fl)((()=>S.value.length>0&&null!==S.value[S.value.length-1].previous_workout));function E(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Da.eR})}function p(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Da.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ka,[(0,a._)("div",za,(0,s.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(o).nb_workouts>0&&0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",Pa,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(ha,{user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ma,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.j4)(ha,{workout:e,sport:(0,i.SU)(S).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(o),useImperialUnits:(0,i.SU)(o).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.j4)(Ca.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",ya,[(0,a._)("button",{onClick:p},(0,s.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const La=(0,P.Z)(ba,[["__scopeId","data-v-9ef2a9ac"]]);var Ga=La,Fa=n(1640),Wa=n(4559),Ya=n(7349),xa=n(1743),$a=n(9160),Za=n(1085);const Ka=["title"];var Ba=(0,a.aZ)({props:{workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{workout:n,sportLabel:r,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(n).id}}))},[(0,a.Wm)(o,{"sport-label":(0,i.SU)(r),title:(0,i.SU)(n).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(n).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(n).records.map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Ka)):(0,a.kq)("",!0)])])}}});const Ha=Ba;var qa=Ha;const ja={class:"donut-chart"},Va={height:"34",width:"34",viewBox:"0 0 34 34"},Xa=["stroke","stroke-dashoffset","transform"];var Ja=(0,a.aZ)({props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let s=-90;const o=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${s}, ${o}, ${l})`;return s=360*t+s,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ja,[((0,a.wg)(),(0,a.iD)("svg",Va,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:o,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Xa)])))),128))]))]))}});const Qa=Ja;var es=Qa;const ts={class:"calendar-workouts-chart"},ns={class:"workouts-count"},rs={key:0,class:"workouts-pane"},as={class:"more-workouts"};var ss=(0,a.aZ)({props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:o,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",ts,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",ns,(0,s.zw)((0,i.SU)(l).length),1),(0,a.Wm)(es,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",rs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(qa,{key:t,workout:e,sportLabel:(0,i.SU)(se.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(se.CM)(e,(0,i.SU)(o))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const os=(0,P.Z)(ss,[["__scopeId","data-v-52d4310a"]]);var is=os;const ls={class:"calendar-workouts"},cs={class:"desktop-display"},us={key:0,class:"workouts-display"},ds={key:1,class:"donut-display"},ms={class:"mobile-display"},Ss={key:0,class:"donut-display"};var _s=(0,a.aZ)({props:{workouts:null,sports:null},setup(e){const t=e,{workouts:n,sports:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,Da.BN)(t.workouts))),o=(0,a.Fl)((()=>(0,se.Yx)(t.sports))),l=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ls,[(0,a._)("div",cs,[(0,i.SU)(n).length<=l?((0,a.wg)(),(0,a.iD)("div",us,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).slice(0,l),((e,t)=>((0,a.wg)(),(0,a.j4)(qa,{key:t,workout:e,sportLabel:(0,i.SU)(se.PA)(e,(0,i.SU)(r)),sportColor:(0,i.SU)(se.CM)(e,(0,i.SU)(r))},null,8,["workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",ds,[(0,a.Wm)(is,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",ms,[(0,i.SU)(n).length>0?((0,a.wg)(),(0,a.iD)("div",Ss,[(0,a.Wm)(is,{workouts:(0,i.SU)(n),sports:(0,i.SU)(r),datasets:(0,i.SU)(s),colors:(0,i.SU)(o)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Es=_s;var ps=Es;const Ts={class:"calendar-cells"},As={class:"calendar-cell-day"};var Us=(0,a.aZ)({props:{currentDay:null,endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,endDate:r,sports:o,startDate:l,timezone:c,weekStartingMonday:u,workouts:d}=(0,i.BK)(t),m=(0,i.iH)([]);function S(){m.value=[];let e=l.value;while(e<=r.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,Ya.Z)(e,1);m.value.push(t)}}function _(e){return u.value?[5,6].includes(e):[0,6].includes(e)}function E(e,t){return t?t.filter((t=>(0,xa.Z)((0,We.eB)(t.workout_date,c.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ts,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(m.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,s.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)($a.Z)(e,(0,i.SU)(n)),"week-end":_(t),today:(0,i.SU)(Za.Z)(e)}]),key:t},[(0,a.Wm)(ps,{workouts:E(e,(0,i.SU)(d)),sports:(0,i.SU)(o)},null,8,["workouts","sports"]),(0,a._)("div",As,(0,s.zw)((0,i.SU)(Ce.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const Os=Us;var Rs=Os;const Is={class:"calendar-days"};var gs=(0,a.aZ)({props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,Ya.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",Is,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,s.zw)((0,i.SU)(Ce.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const ws=gs;var vs=ws;const fs={class:"calendar-header"},Ns=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),hs=[Ns],Cs={class:"calendar-month"},Ds=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ks=[Ds];var zs=(0,a.aZ)({props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:o}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",fs,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},hs),(0,a._)("div",Cs,[(0,a._)("span",null,(0,s.zw)((0,i.SU)(Ce.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(o)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},ks)]))}});const Ps=zs;var Ms=Ps;const ys={id:"user-calendar"},bs={class:"calendar-card box"};var Ls=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),o="yyyy-MM-dd";let u=(0,i.iH)(new Date),d=(0,i.iH)((0,We.yx)(u.value,t.user.weekm));const m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function _(){d.value=(0,We.yx)(u.value,t.user.weekm);const e={from:(0,Ce.Z)(d.value.start,o),to:(0,Ce.Z)(d.value.end,o),page:1,per_page:100,...Da.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function E(){u.value=(0,Fa.Z)(u.value,1),_()}function p(){u.value=(0,Wa.Z)(u.value,1),_()}return(0,a.wF)((()=>_())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ys,[(0,a._)("div",bs,[(0,a.Wm)(Ms,{day:(0,i.SU)(u),"locale-options":(0,i.SU)(S),onDisplayNextMonth:E,onDisplayPreviousMonth:p},null,8,["day","locale-options"]),(0,a.Wm)(vs,{"start-date":(0,i.SU)(d).start,"locale-options":(0,i.SU)(S)},null,8,["start-date","locale-options"]),(0,a.Wm)(Rs,{currentDay:(0,i.SU)(u),"end-date":(0,i.SU)(d).end,sports:(0,i.SU)(r),"start-date":(0,i.SU)(d).start,timezone:(0,i.SU)(s).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(s).weekm},null,8,["currentDay","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const Gs=Ls;var Fs=Gs,Ws=n(3703),Ys=n(4135),xs=n(7402);const $s={class:"user-month-stats"};var Zs=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),o=new Date,l={duration:"week",start:(0,Ws.Z)(o),end:(0,Ys.Z)(o)},c=t.sports.map((e=>e.id));return(e,t)=>{const o=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",$s,[(0,a.Wm)(o,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(xs.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Ks=(0,P.Z)(Zs,[["__scopeId","data-v-1bcddc12"]]);var Bs=Ks;const Hs={class:"records-card"},qs={class:"record-type"},js={class:"record-value"},Vs={class:"record-date"};var Xs=(0,a.aZ)({props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t);return(e,t)=>{const o=(0,a.up)("SportImage"),l=(0,a.up)("router-link"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Hs,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Wm)(o,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,s.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n).records,(t=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:t.id},[(0,a._)("span",qs,(0,s.zw)(e.$t(`workouts.RECORD_${t.record_type}`)),1),(0,a._)("span",js,(0,s.zw)(t.value),1),(0,a._)("span",Vs,[(0,a.Wm)(l,{to:{name:"Workout",params:{workoutId:t.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,s.zw)(t.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const Js=(0,P.Z)(Xs,[["__scopeId","data-v-aee1f956"]]);var Qs=Js,eo=(n(1703),n(3649));const to=(e,t,n)=>{const r="km",a=n?eo.Dl[r].defaultTarget:r;let s;switch(e.record_type){case"AS":case"MS":s=`${(0,eo.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":s=`${(0,eo.sC)(+e.value,r,a,3)} ${a}`;break;case"LD":s=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,We.Jo)((0,We.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:s}},no=(e,t,n,r)=>e.reduce(((e,a)=>{const s=t.find((e=>e.id===a.sport_id));return s&&s.label&&(void 0===e[s.translatedLabel]&&(e[s.translatedLabel]={label:s.label,color:s.color,records:[]}),e[s.translatedLabel].records.push(to(a,n,r))),e}),{}),ro=e=>((0,a.dD)("data-v-ae25a82a"),e=e(),(0,a.Cn)(),e),ao={class:"user-records-section"},so={class:"section-title"},oo=ro((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),io={class:"user-records"},lo={key:0,class:"no-records"};var co=(0,a.aZ)({props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ae.QT)(),r=(0,a.Fl)((()=>no(t.user.records,(0,se.xH)(t.sports,n),t.user.timezone,t.user.imperial_units)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",ao,[(0,a._)("div",so,[oo,(0,a.Uk)(" "+(0,s.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",io,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",lo,(0,s.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(Qs,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const uo=(0,P.Z)(co,[["__scopeId","data-v-ae25a82a"]]);var mo=uo;const So={id:"user-stats"};var _o=(0,a.aZ)({props:{user:null},setup(e){const t=e,{t:n}=(0,ae.QT)(),{user:r}=(0,i.BK)(t),s=(0,a.Fl)((()=>t.user.total_duration)),o=(0,a.Fl)((()=>d(s))),l="km",c=r.value.imperial_units?eo.Dl[l].defaultTarget:l,u=r.value.imperial_units?(0,eo.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2));function d(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",So,[(0,a.Wm)(Z,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"clock-o",value:(0,i.SU)(o).days,text:(0,i.SU)(o).duration},null,8,["value","text"]),(0,a.Wm)(Z,{icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"])]))}});const Eo=_o;var po=Eo;const To=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),Ao={key:0,id:"dashboard",class:"view"},Uo={class:"container mobile-menu"},Oo={class:"box"},Ro=To((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),Io=[Ro],go=To((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),wo=[go],vo=To((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),fo=[vo],No=To((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),ho=[No],Co={class:"container"},Do={class:"container dashboard-container"},ko={class:"left-container dashboard-sub-container"},zo={class:"right-container dashboard-sub-container"},Po=To((()=>(0,a._)("div",{id:"bottom"},null,-1))),Mo={key:1,class:"app-loading"};var yo=(0,a.aZ)({setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),o=(0,i.iH)("calendar");function u(e){o.value=e}return(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Ao,[(0,a._)("div",Uo,[(0,a._)("div",Oo,[(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"calendar"===o.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},Io,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"chart"===o.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},wo,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"timeline"===o.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},fo,2),(0,a._)("div",{class:(0,s.C_)(["mobile-menu-item",{"is-selected":"records"===o.value}]),onClick:t[3]||(t[3]=e=>u("records"))},ho,2)])]),(0,a._)("div",Co,[(0,a.Wm)(po,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Do,[(0,a._)("div",ko,[(0,a.Wm)(Bs,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("chart"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(mo,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("records"===o.value)})},null,8,["sports","user","class"])]),(0,a._)("div",zo,[(0,a.Wm)(Fs,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("calendar"===o.value)})},null,8,["sports","user","class"]),(0,a.Wm)(Ga,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,s.C_)({"is-hidden":!("timeline"===o.value)})},null,8,["sports","user","class"])])]),Po])):((0,a.wg)(),(0,a.iD)("div",Mo,[(0,a.Wm)(l)]))}}});const bo=(0,P.Z)(yo,[["__scopeId","data-v-20e19721"]]);var Lo=bo,Go=n(8273);const Fo={class:"not-found view"};var Wo=(0,a.aZ)({setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Fo,[(0,a.Wm)(Go.Z)]))}});const Yo=Wo;var xo=Yo,$o=n(7014);const Zo={id:"loginOrRegister",class:"view"},Ko={class:"container"},Bo={class:"container-sub"},Ho={class:"container-sub"};var qo=(0,a.aZ)({props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Zo,[(0,a._)("div",Ko,[(0,a._)("div",Bo,[(0,a.Wm)(Hr)]),(0,a._)("div",Ho,[(0,a.Wm)($o.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const jo=(0,P.Z)(qo,[["__scopeId","data-v-6a38125b"]]);var Vo=jo;const Xo=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Jo=[{path:"/",name:"Dashboard",component:Lo},{path:"/login",name:"Login",component:Vo,props:{action:"login"}},{path:"/register",name:"Register",component:Vo,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,6266)),children:[{path:"",name:"UserProfile",component:It,props:e=>({tab:Xo(e.path)}),children:[{path:"",name:"UserInfos",component:gt.Z},{path:"preferences",name:"UserPreferences",component:Ct},{path:"sports",name:"UserSportPreferences",component:vr,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Pt,props:e=>({tab:Xo(e.path)}),children:[{path:"",name:"UserInfosEdition",component:mn},{path:"account",name:"UserAccountEdition",component:Ht},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:jn},{path:"sports",name:"UserSportPreferencesEdition",component:vr,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7749))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,5298))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,8461)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,8461)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:re},{path:"application",name:"ApplicationAdministration",component:y},{path:"application/edit",name:"ApplicationAdministrationEdition",component:y,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:he},{path:"users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:ut}]},{path:"/about",name:"About",component:ea},{path:"/:pathMatch(.*)*",name:"not-found",component:xo}],Qo=(0,r.p7)({history:(0,r.PO)("/"),routes:Jo}),ei=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],ti=["/email-update","/about"];Qo.beforeEach(((e,t,n)=>{fr.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(ti.includes(e.path))return n();if(fr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&ei.includes(e.path))return n("/");if(fr.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||ei.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var ni=Qo},8602:function(e,t,n){"use strict";var r,a,s,o,i,l,c,u,d,m,S,_,E,p,T;n.d(t,{YN:function(){return I},SY:function(){return U},O8:function(){return O},gu:function(){return R},RT:function(){return g},aX:function(){return w}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(s||(s={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(o||(o={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(i||(i={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(l||(l={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(m||(m={})),function(e){e["USER_STATS"]="USER_STATS"}(S||(S={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(_||(_={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION",e["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(T||(T={}));var A=n(52);const U={ACTIONS:o,GETTERS:i,MUTATIONS:l},O={ACTIONS:c,GETTERS:u,MUTATIONS:d},R={ACTIONS:m,GETTERS:S,MUTATIONS:_},I={ACTIONS:r,GETTERS:a,MUTATIONS:s},g={ACTIONS:E,GETTERS:p,MUTATIONS:T},w={ACTIONS:A.tW,GETTERS:A.JP,MUTATIONS:A.CW}},12:function(e,t,n){"use strict";n.d(t,{Z:function(){return ae}});var r=n(8637),a=(n(1703),n(5167)),s=n(9669),o=n.n(s),i=n(2024);const l=o().create({baseURL:(0,i.k)()});var c=l,u=n(2540),d=n(5504),m=n(8602);const S=(e,t)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?d.Z.push("/admin/users"):e.dispatch(m.YN.ACTIONS.LOGOUT).then((()=>d.Z.push("/"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},_={[m.RT.ACTIONS.EMPTY_USER](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USER,{})},[m.RT.ACTIONS.EMPTY_USERS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[m.RT.ACTIONS.GET_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(m.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.GET_USERS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.UPDATE_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){S(e,{username:t.username,fromAdmin:!0})}},{locale:E}=u.Z.global,p=e=>{localStorage.removeItem("authToken"),e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),d.Z.push("/login")},T={[m.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[m.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE))},[m.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/")))}else(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[m.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),c.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile/edit/account"))),d.Z.push("/profile/edit/account")):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[m.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),E.value=t.data.data.language),e.dispatch(m.O8.ACTIONS.GET_SPORTS)):((0,i.S)(e,null),p(e))})).catch((t=>{(0,i.S)(e,t),p(e)}))},[m.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else d.Z.push("/login").then((()=>e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.LOGOUT](e){p(e)},[m.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),d.Z.push("/profile")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.SY.MUTATIONS.UPDATE_LANG,t.data.data.language),E.value=t.data.data.language,d.Z.push("/profile/preferences")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.DELETE_ACCOUNT](e,t){S(e,t)},[m.YN.ACTIONS.DELETE_PICTURE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?d.Z.push("/account-confirmation/email-sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/password-updated"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},A={[m.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[m.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[m.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[m.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[m.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[m.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[m.YN.GETTERS.USER_LOADING]:e=>e.loading},U={[m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[m.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[m.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[m.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},O={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},R={state:O,actions:T,getters:A,mutations:U};var I=R;const g={[m.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[m.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),d.Z.push("/admin/application")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},w={[m.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[m.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[m.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[m.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[m.SY.GETTERS.LANGUAGE]:e=>e.language,[m.SY.GETTERS.LOCALE]:e=>e.locale};var v=n(6287);const f={[m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[m.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[m.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=v.v1[t]}};var N=n(5826);const h={root:!0,language:"en",locale:N.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},C={[m.O8.ACTIONS.GET_SPORTS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(m.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[m.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},D={[m.O8.GETTERS.SPORTS]:e=>e.sports},k={[m.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},z={sports:[]},P={state:z,actions:C,getters:D,mutations:k};var M=P;const y={[m.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(m.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},b={[m.gu.GETTERS.USER_STATS]:e=>e.statistics},L={[m.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[m.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},G={statistics:{}},F={state:G,actions:y,getters:b,mutations:L};var W=F;const Y={[m.RT.GETTERS.USER]:e=>e.user,[m.RT.GETTERS.USERS]:e=>e.users,[m.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[m.RT.GETTERS.USERS_LOADING]:e=>e.loading,[m.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},x={[m.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[m.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[m.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[m.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[m.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[m.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},$={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},Z={state:$,actions:_,getters:Y,mutations:x};var K=Z,B=n(52);const H=(e,t,n)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.aX.MUTATIONS[n],t.data.data.workouts),n===B.CW.SET_USER_WORKOUTS&&e.commit(m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},q={[m.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),H(e,t,B.CW.SET_CALENDAR_WORKOUTS)},[m.aX.ACTIONS.GET_USER_WORKOUTS](e,t){H(e,t,B.CW.SET_USER_WORKOUTS)},[m.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.SET_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){H(e,t,B.CW.ADD_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const s=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===s.segments.length||!s.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(m.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,null)})).catch((t=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),d.Z.push("/")})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(m.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{d.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},j={[m.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[m.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[m.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[m.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[m.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},V={[m.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[m.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[m.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[m.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[m.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[m.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[m.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},X={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},J={state:X,actions:q,getters:j,mutations:V};var Q=J;const ee={authUserModule:I,sportsModule:M,statsModule:W,usersModule:K,workoutsModule:Q},te={state:h,actions:g,getters:w,mutations:f,modules:ee};var ne=te;const re=(0,r.MT)(ne);var ae=re},52:function(e,t,n){"use strict";var r,a,s;n.d(t,{tW:function(){return r},JP:function(){return a},CW:function(){return s}}),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(a||(a={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(s||(s={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(8637);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{fS:function(){return r},pm:function(){return l},Ne:function(){return c},lM:function(){return d}});const r=["asc","desc"],a=1,s=10,o=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=o(e.page,a),d.per_page=o(e.per_page,s),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,s.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},_=(e,t)=>{switch(e){case"week":return(0,o.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},E=(e,t)=>(0,m.Z)(new Date(e),t),p=(e,t)=>{const n=(0,s.Z)(e),a=(0,c.Z)(e),o=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:o}),end:(0,u.Z)(a,{weekStartsOn:o})}},T=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return s}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),s=r[n];return t?`${a}${s}`:{size:a,suffix:s}},s=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{k:function(){return a},S:function(){return s}});var r=n(8602);const a=()=>"/api/",s=(e,t,n="UNKNOWN")=>{const a=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},6287:function(e,t,n){"use strict";n.d(t,{v1:function(){return o},zK:function(){return i},mT:function(){return c}});var r=n(5826),a=n(5830),s=n(2540);const o={en:r.Z,fr:a.Z},i={en:"English",fr:"Français"},{availableLocales:l}=s.Z.global,c=l.map((e=>({label:i[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{Zo:function(){return r},Yx:function(){return a},xH:function(){return o},PA:function(){return i},CM:function(){return l}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},s=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(s),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{v1:function(){return v},aZ:function(){return f},FN:function(){return N}});var r=n(4850),a=n(8148),s=n(9319),o=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),S=n(7982),_=n(3500),E=n(1640),p=n(6558),T=n(631),A=n(3649);const U={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},O=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],R=(e,t)=>{const n=[];for(let r=(0,p.Nh)(e.duration,e.start,t);r<=e.end;r=(0,p.xA)(e.duration,r))n.push(r);return n},I=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},g=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:T.Zo[e.label];t.average_speed.push(I(e.label,n,!0)),t.nb_workouts.push(I(e.label,n)),t.total_distance.push(I(e.label,n)),t.total_duration.push(I(e.label,n)),t.total_ascent.push(I(e.label,n)),t.total_descent.push(I(e.label,n))})),t},w=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},v=(e,t,n,a,s,o)=>{const i=R(e,t),l=U[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=g(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),O.map((e=>{d[e].map((n=>{n.data.push(s!=={}&&t in s&&m[n.label]in s[t]?w(e,s[t][m[n.label]][e],o):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},f=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,s.Z)(e,9)):"week"===t?(0,o.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),S="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:S,start:m}},N=(e,t,n)=>{const{duration:r,start:p,end:T}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,s.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,u.Z)(t?(0,S.Z)(T,1):(0,_.Z)(T,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(T,1):(0,E.Z)(T,1)),start:"year"===r?(0,a.Z)(t?(0,s.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,o.Z)(t?(0,S.Z)(p,1):(0,_.Z)(p,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(p,1):(0,E.Z)(p,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},sC:function(){return s},f3:function(){return o}});const r={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"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},s=(e,t,n,s=3)=>{const o=r[t],i=r[n],l=e*o.multiplier*a[o.system][i.system]/i.multiplier;return null!==s?parseFloat(l.toFixed(s)):l},o=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?s(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{EX:function(){return a},BN:function(){return s},eR:function(){return o}});var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},s=[],o=[],i=[];return e.map((e=>{s.push(e.distance),o.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:s,duration_labels:o,datasets:a,coordinates:i}},s=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},o={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},s={class:"card-title"},o={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",s,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",o,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(6252),a=n(3577),s=n(2262);const o={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var S=(0,r.aZ)({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:S,query:_,sort:E,message:p}=(0,s.BK)(n),T=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,s.SU)(_).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(S),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,s.SU)(p)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,s.SU)(_).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(E),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,s.SU)(_).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(T,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),_=n(3744);const E=(0,_.Z)(S,[["__scopeId","data-v-72463173"]]);var p=E},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},s=(0,r.uE)('',1),o=[s];function i(e,t,n,s,i,l){return(0,r.wg)(),(0,r.iD)("svg",a,o)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",i]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),s=n(3577);const o={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",i,[(0,r._)("h1",null,(0,s.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,s.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,s.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const S=m;var _=S},6514:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(6252),a=n(3577),s=n(2262),o=n(2766);const i=e=>((0,r.dD)("data-v-f38ea1b8"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var S=(0,r.aZ)({props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:S}=(0,s.BK)(t);function _(e,t){const n=Object.assign({},S.value);return n.page=t?e+t:e,n}return(e,t)=>{const S=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,s.SU)(n).has_prev}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,-1)},disabled:!(0,s.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,s.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,s.SU)(o.lM)((0,s.SU)(n).pages,(0,s.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,s.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(S,{key:1,class:"page-link",to:{path:(0,s.SU)(i),query:_(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,s.SU)(n).has_next}])},[(0,r.Wm)(S,{class:"page-link",to:{path:(0,s.SU)(i),query:_((0,s.SU)(n).page,1)},disabled:!(0,s.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,s.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),_=n(3744);const E=(0,_.Z)(S,[["__scopeId","data-v-f38ea1b8"]]);var p=E},2047:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(2262),s=n(9963),o=n(3577),i=n(3257),l=n(8602),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),s={en:r,fr:a},o=s[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...o.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},S=["value"],_={key:0,class:"password-strength-details"},E={class:"password-strength-value"},p={key:0,class:"info-box"},T={class:"password-feedback"};var A=(0,r.aZ)({props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),s=(0,c.o)(),A=(0,r.Fl)((()=>s.getters[l.SY.GETTERS.LANGUAGE])),U=(0,r.Fl)((()=>s.getters[l.YN.GETTERS.IS_SUCCESS])),O=(0,a.iH)(0),R=(0,a.iH)(""),I=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function w(e){let t=(0,i.tu)(e);O.value=t.score,R.value=d(O.value),I.value=t.feedback.suggestions,g.value=100*O.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{U.value?R.value="":w(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,o.C_)(["password-slider",`strength-${O.value}`]),style:(0,o.j5)({backgroundSize:g.value}),type:"range",value:O.value,min:"0",max:"4",step:"1"},null,14,S),R.value?((0,r.wg)(),(0,r.iD)("div",_,[(0,r._)("span",E,(0,o.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,o.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),I.value.length>0?((0,r.wg)(),(0,r.iD)("div",p,[(0,r._)("ul",T,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(I.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,o.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),U=n(3744);const O=(0,U.Z)(A,[["__scopeId","data-v-79c9693d"]]);var R=O;const I=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),g={class:"password-input"},w=["id","disabled","placeholder","required","type"],v={key:0,class:"form-info"},f=I((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var N=(0,r.aZ)({props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:i,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),S=(0,a.iH)(!1),_=(0,a.iH)("");function E(){S.value=!S.value}function p(e){t("updatePassword",e.target.value)}function T(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(_.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",g,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:S.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>_.value=e),minlength:"8",onInput:p,onInvalid:T},null,40,w),[[s.YZ,_.value]]),(0,r._)("div",{class:"show-password",onClick:E},[(0,r.Uk)((0,o.zw)(e.$t(`user.${S.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,o.C_)(["fa","fa-eye"+(S.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",v,[f,(0,r.Uk)(" "+(0,o.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(i)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:_.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const h=(0,U.Z)(N,[["__scopeId","data-v-5a126514"]]);var C=h},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),s=n(2262),o=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,s.BK)(t),l=`${(0,o.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,s.SU)(n)}])},[(0,s.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},7402:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(6252),a=n(3577);const s={class:"start-chart"},o={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},S=["checked"],_={key:1},E=["checked"],p={key:2},T=["checked"];function A(e,t,n,A,U,O){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",s,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",o,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,S),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",_,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,E),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",p,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,T),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var U=n(4850),O=n(2262);const R={class:"chart"};function I(e,t,n,a,s,o){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var g=n(2820),w=n(3324);const v=(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?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${s}s`:`${"00"===r?"":`${r}:`}${a}:${s}`};var f=n(3649);const N=(e,t,n,r=!0)=>{const a="km",s=n?f.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${s}/h`;case"total_duration":return v(t,r);case"total_distance":return`${t.toFixed(2)} ${s}`;case"total_ascent":case"total_descent":return`${(t/1e3).toFixed(2)} ${s}`;default:return t.toString()}};var h=(0,r.aZ)({name:"Chart",components:{BarChart:g.vz},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,w.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}let s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))})));const o=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return N(e.displayedData,+t,e.useImperialUnits,!1)}},afterFit:function(t){t.width=e.fullStats?75:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return N(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?N(e.displayedData,t,e.useImperialUnits,!1):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=N(e.displayedData,n.parsed.y,e.useImperialUnits)),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+N(e.displayedData,r,e.useImperialUnits)}}}}}))),{barChartProps:i}=(0,g.xZ)({chartData:s,options:o});return{barChartProps:i}}}),C=n(3744);const D=(0,C.Z)(h,[["render",I]]);var k=D,z=n(8602),P=n(9917),M=n(9318),y=(0,r.aZ)({name:"UserMonthStats",components:{Chart:k},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)();let n=(0,O.iH)("total_distance");const a=(0,r.Fl)((()=>t.getters[z.gu.GETTERS.USER_STATS])),s=(0,r.Fl)((()=>(0,M.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units)));function o(n){t.dispatch(z.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,U.Z)(e.start,"yyyy-MM-dd"),to:(0,U.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>o(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{o(l(t,e.user))})),{datasets:(0,r.Fl)((()=>s.value.datasets[n.value])),labels:(0,r.Fl)((()=>s.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const b=(0,C.Z)(y,[["render",A],["__scopeId","data-v-68a6a495"]]);var L=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(6252),a=n(2262),s=n(3577),o=n(8660),i=n(8602),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},S={class:"user-stat"},_={class:"stat-number"},E={class:"stat-label"},p={class:"user-stat"},T={class:"stat-label"},A={class:"user-stat hide-small"},U={class:"stat-number"},O={class:"stat-label"};var R=(0,r.aZ)({props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),I=(0,r.Fl)((()=>R.getters[i.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const i=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(o.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,s.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",S,[(0,r._)("span",_,(0,s.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",E,(0,s.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",p,[(0,r.Wm)(i,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(I).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",T,(0,s.zw)((0,a.SU)(I).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",U,(0,s.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",O,(0,s.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),I=n(3744);const g=(0,I.Z)(R,[["__scopeId","data-v-20291951"]]);var w=g},4317:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(6252),a=n(2262),s=n(3577),o=n(9963),i=n(4850),l=n(8602),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},_={class:"form-items",for:"email"},E={class:"form-buttons"},p={class:"confirm",type:"submit"},T=["onClick"],A={key:5},U={class:"user-bio"},O={key:0,class:"profile-buttons"},R=["onClick"],I={key:1,class:"profile-buttons"};var g=(0,r.aZ)({props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:g,fromAdmin:w}=(0,a.BK)(t),v=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),f=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),N=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),h=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),C=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));let D=(0,a.iH)("");const k=(0,a.iH)(!1),z=(0,a.iH)(!1),P=(0,a.iH)(""),M=(0,a.iH)("");function y(e){D.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function b(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function L(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function G(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function F(){x(),P.value=g.value.email_to_confirm?g.value.email_to_confirm:"",z.value=!0,M.value="email-update"}function W(){P.value="",z.value=!1}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:P.value})}function x(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>x())),(0,r.YP)((()=>h.value),(e=>{e&&(y(""),W())})),(e,t)=>{const n=(0,r.up)("Modal"),i=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",u,[(0,a.SU)(D)?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===(0,a.SU)(D)?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(g).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===(0,a.SU)(D)?b((0,a.SU)(g).username):L((0,a.SU)(g).username)),onCancelAction:t[1]||(t[1]=e=>y(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(h)?((0,r.wg)(),(0,r.iD)("div",d,(0,s.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(i,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(C)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(C)},null,8,["message"])):(0,r.kq)("",!0),z.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,s.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,o.iM)((e=>Y((0,a.SU)(g).username)),["prevent"]))},[(0,r._)("label",S,[(0,r.Uk)((0,s.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(g).email=e),disabled:""},null,512),[[o.nr,(0,a.SU)(g).email]])]),(0,r._)("label",_,[(0,r.Uk)((0,s.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>P.value=e)},null,512),[[o.nr,P.value]])]),(0,r._)("div",E,[(0,r._)("button",p,(0,s.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,o.iM)(W,["prevent"])},(0,s.zw)(e.$t("buttons.CANCEL")),9,T)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(f)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).first_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).last_name),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(N)),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,s.zw)((0,a.SU)(g).location),1),(0,r._)("dt",null,(0,s.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",U,(0,s.zw)((0,a.SU)(g).bio),1)]),(0,a.SU)(w)?((0,r.wg)(),(0,r.iD)("div",O,[(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,o.iM)((e=>y("delete")),["prevent"]))},(0,s.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,o.iM)((e=>G((0,a.SU)(g).username)),["prevent"]))},(0,s.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,o.iM)(F,["prevent"])},(0,s.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(v).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,o.iM)((e=>y("reset")),["prevent"]))},(0,s.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,s.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,s.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,s.zw)(e.$t("common.HOME")),1)]))]))])}}}),w=n(3744);const v=(0,w.Z)(g,[["__scopeId","data-v-8f7f2d5c"]]);var f=v},7014:function(e,t,n){"use strict";n.d(t,{Z:function(){return D}});var r=n(6252),a=n(3577),s=n(2262),o=n(9963),i=n(2119),l=n(2047),c=n(8602),u=n(9917);const d=e=>((0,r.dD)("data-v-21d76483"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},S={key:1,class:"info-box success-message"},_={class:"form-items"},E=["disabled","placeholder"],p={key:1,class:"form-info"},T=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],U={key:3,class:"form-info"},O=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],I={key:2},g=(0,r.Uk)(" - "),w={key:3},v={class:"account"},f={key:4};var N=(0,r.aZ)({props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:N}=(0,s.BK)(t),h=(0,s.qj)({username:"",email:"",password:""}),C=(0,r.Fl)((()=>b(t.action))),D=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),z=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),y=(0,s.iH)(!1);function b(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function L(){y.value=!0}function G(e){h.password=e}function F(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:h.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:h.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:h.email});default:d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:h,redirectUrl:n.query.from})}}function W(){h.username="",h.email="",h.password=""}return(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,W()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,s.SU)(N))?(0,s.SU)(N):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,s.SU)(M)}])},[(0,s.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,s.SU)(z)||(0,s.SU)(k)?((0,r.wg)(),(0,r.iD)("div",S,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,s.SU)(k)?"REGISTRATION":"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,o.iM)((e=>F((0,s.SU)(N))),["prevent"]))},[(0,r._)("div",_,["register"===(0,s.SU)(N)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,s.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:L,"onUpdate:modelValue":t[0]||(t[0]=e=>(0,s.SU)(h).username=e),placeholder:e.$t("user.USERNAME")},null,40,E)),[[o.nr,(0,s.SU)(h).username]]):(0,r.kq)("",!0),"register"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",p,[T,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,s.SU)(N)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,s.SU)(M),required:"",onInvalid:L,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>(0,s.SU)(h).email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[o.nr,(0,s.SU)(h).email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,s.SU)(N))?((0,r.wg)(),(0,r.iD)("div",U,[O,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,s.SU)(N))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,s.SU)(M),required:!0,placeholder:"reset"===(0,s.SU)(N)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:(0,s.SU)(h).password,checkStrength:["reset","register"].includes((0,s.SU)(N)),onUpdatePassword:G,onPasswordError:L},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,s.SU)(M)},(0,a.zw)(e.$t((0,s.SU)(C))),9,R)],34),"login"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",I,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),g,(0,r.Wm)(i,{class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})])):(0,r.kq)("",!0),"register"===(0,s.SU)(N)?((0,r.wg)(),(0,r.iD)("div",w,[(0,r._)("span",v,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,s.SU)(N))?((0,r.wg)(),(0,r.iD)("div",f,[(0,r.Wm)(i,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,s.SU)(D)?((0,r.wg)(),(0,r.j4)(c,{key:5,message:(0,s.SU)(D)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),h=n(3744);const C=(0,h.Z)(N,[["__scopeId","data-v-21d76483"]]);var D=C},8660:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(6252),a=n(2262),s=n(2024);const o={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,s.k)()}users/${t.user.username}/picture`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",o,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var S=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const s={class:"no-workouts box"};function o(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",o],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./en/en.ts":9350,"./fr/fr.ts":1079};function a(e){var t=s(e);return n(t)}function s(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=s,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,n),s.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,s){if(!r){var o=1/0;for(u=0;u=s)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,s0&&e[u-1][2]>s;u--)e[u]=e[u-1];e[u]=[r,a,s]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var s=Object.create(null);n.r(s);var o={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){o[e]=function(){return r[e]}}));return o["default"]=function(){return r},n.d(s,o),s}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"51a37b97",93:"e92c6ca0",193:"31ff9ae2",243:"8b4f71d5",328:"92270942",401:"c0f5bb2b",431:"ce81b2a1",633:"2b820738",845:"2bd853ba",858:"af9267af",881:"49241a2f"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"91fe968e",328:"73df498d",401:"2cfe4805",845:"203e78e2"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,s,o){if(e[r])e[r].push(a);else{var i,l;if(void 0!==s)for(var c=document.getElementsByTagName("script"),u=0;u {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for admininstrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
      Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous license \", _interpolate(_list(0)), \" (en)\"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse email doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse email doit être fournie pour le contact de l'administrateur.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau l'email de confirmation\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
      Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Un nouvel email de confirmation a été envoyé à l'adresse email fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe \"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex: date ou année de naissance)\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex: date de naissance)\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse email ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boite email pour valider votre nouvelle adresse email.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse email fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau l'email de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère \\\"_\\\" sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n }\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d4f0b8f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=0d4f0b8f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d4f0b8f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c446fb44&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3ec2aca2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=3ec2aca2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3ec2aca2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\nimport VueFullscreen from 'vue-fullscreen'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !_unref(appData).admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, _unref(appData).admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcb269a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=1bcb269a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcb269a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4735c10f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\n }\n\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=4735c10f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4735c10f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=40025245&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e26535e0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=e26535e0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e26535e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-46fcf129\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(`user.PROFILE.SUCCESSFUL_${emailUpdate.value ? 'EMAIL_' : ''}UPDATE`)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, _unref(userForm).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: _unref(userForm).password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: _unref(userForm).new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=46fcf129&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-46fcf129\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b6bacea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=b6bacea0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b6bacea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3edb2249\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=3edb2249&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3edb2249\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4775544a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=4775544a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4775544a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c9d1f10c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport }\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=c9d1f10c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c9d1f10c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9ef2a9ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n let page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=9ef2a9ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9ef2a9ac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records.map(\n (record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`\n )\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=7de0052b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n }\n\n \n\n const { colors, datasets } = toRefs(props)\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=4663dbac&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n currentDay: null,\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n\n \n\n const {\n currentDay,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports)\n }, null, 8, [\"workouts\", \"sports\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=73426002&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n }\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n }\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n let day = ref(new Date())\n let calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: _unref(day),\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": _unref(calendarDates).start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: _unref(day),\n \"end-date\": _unref(calendarDates).end,\n sports: _unref(sports),\n \"start-date\": _unref(calendarDates).start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=4b0ade2c&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-aee1f956\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n\n import { IRecordsBySports } from '@/types/workouts'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(records).records, (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(`workouts.RECORD_${record.record_type}`)), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=aee1f956&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-aee1f956\"]])\n\nexport default __exports__","import { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const unitFrom: TUnit = 'km'\n const unitTo: TUnit = useImperialUnits\n ? units[unitFrom].defaultTarget\n : unitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n unitFrom,\n unitTo,\n 2\n )} ${unitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(+record.value, unitFrom, unitTo, 3)} ${unitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean\n): IRecordsBySports =>\n records.reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits)\n )\n }\n return sportList\n }, {})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ae25a82a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=ae25a82a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ae25a82a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const defaultUnitFrom: TUnit = 'km'\n const unitTo: TUnit = user.value.imperial_units\n ? units[defaultUnitFrom].defaultTarget\n : defaultUnitFrom\n const totalDistance = user.value.imperial_units\n ? convertDistance(user.value.total_distance, defaultUnitFrom, unitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2))\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(unitTo) === 'mi' ? 'miles' : _unref(unitTo)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=376a0fe8&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20e19721\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('calendar')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=20e19721&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20e19721\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a38125b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n }\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=6a38125b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6a38125b\"]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n removeAuthUserData(context)\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n isSuccess: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\n }\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\nimport { convertStatsDistance } from '@/utils/units'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string,\n isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string }\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { toRefs, withDefaults } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string }\n\n \n const { target } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f38ea1b8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TWorkoutsPayload | TPaginationPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=f38ea1b8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f38ea1b8\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-79c9693d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n }\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n let zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=79c9693d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-79c9693d\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean }\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean }\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-68a6a495\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\n ]))\n}","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true\n): string => {\n const unitFrom = 'km'\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n return `${value.toFixed(2)} ${unitTo}`\n case 'total_ascent':\n case 'total_descent':\n return `${(value / 1000).toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n useImperialUnits: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n let chartData: ComputedRef> = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return props.fullStats && context.chart.chartArea.width < 300\n ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(\n props.displayedData,\n total,\n props.useImperialUnits,\n false\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y,\n props.useImperialUnits\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits\n )\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=7eb1257c&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n let displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value,\n props.user.imperial_units\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IAuthUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=68a6a495&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=68a6a495&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68a6a495\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8f7f2d5c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n _unref(displayModal) === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(displayModal) === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=8f7f2d5c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8f7f2d5c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21d76483\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 2 }\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" - \")\nconst _hoisted_13 = { key: 3 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 4 }\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n })\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const formErrors = ref(false)\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess) ? 'REGISTRATION' : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(formData).username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, _unref(formData).username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(formData).email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, _unref(formData).email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: _unref(formData).password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n _hoisted_12,\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (['login', 'register'].includes(_unref(action)))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 5,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=21d76483&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21d76483\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=626a8c6d&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./en/en.ts\": 9350,\n\t\"./fr/fr.ts\": 1079\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 4612;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"51a37b97\",\"93\":\"e92c6ca0\",\"193\":\"31ff9ae2\",\"243\":\"8b4f71d5\",\"328\":\"92270942\",\"401\":\"c0f5bb2b\",\"431\":\"ce81b2a1\",\"633\":\"2b820738\",\"845\":\"2bd853ba\",\"858\":\"af9267af\",\"881\":\"49241a2f\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"91fe968e\",\"328\":\"73df498d\",\"401\":\"2cfe4805\",\"845\":\"203e78e2\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(811); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useI18n","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","toString","commit","logout","dispatch","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","message","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","_isRef","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","t","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","weekStart","imperialUnits","updateTZ","lang","_vModelSelect","TimezoneDropdown","start","unit","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","onChange","e","src","alt","BikePic","About","workout","_component_Distance","params","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","sportTranslatedLabel","workout_id","formatRecord","Error","formatWorkoutDate","getRecordsBySports","reduce","sportList","find","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","defaultUnitFrom","totalDistance","total_distance","split","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","status","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","state","authUserProfile","isRegistrationSuccess","mutations","authUserState","application","localeFromLanguage","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPage","defaultPerPage","getNumberQueryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","en","fr","availableLocales","l","sortSports","a","b","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_ascent","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnLangPackages","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","JSON","parse","stringify","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","resetFormData","pattern","maxlength","authUserPictureUrl","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.f76e2e3d.js b/fittrackee/dist/static/js/chunk-vendors.1308e452.js similarity index 82% rename from fittrackee/dist/static/js/chunk-vendors.f76e2e3d.js rename to fittrackee/dist/static/js/chunk-vendors.1308e452.js index 81b2ac70..70a92076 100644 --- a/fittrackee/dist/static/js/chunk-vendors.f76e2e3d.js +++ b/fittrackee/dist/static/js/chunk-vendors.1308e452.js @@ -1,10 +1,10 @@ -(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[998],{2262:function(t,e,n){"use strict";n.d(e,{Bj:function(){return o},qq:function(){return y},Fl:function(){return Vt},X3:function(){return Ot},PG:function(){return kt},dq:function(){return At},yT:function(){return St},Xl:function(){return Pt},Jd:function(){return k},WL:function(){return zt},qj:function(){return yt},iH:function(){return Lt},lk:function(){return M},Um:function(){return xt},XI:function(){return Ft},IU:function(){return Ct},BK:function(){return Ht},j:function(){return S},X$:function(){return C},SU:function(){return Nt}});var r=n(3577);let i;class o{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&i&&(this.parent=i,this.index=(i.scopes||(i.scopes=[])).push(this)-1)}run(t){if(this.active)try{return i=this,t()}finally{i=this.parent}else 0}on(){i=this}off(){i=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&p)>0,l=t=>(t.n&p)>0,u=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===e||e>=i)&&l.push(t)}));else switch(void 0!==n&&l.push(c.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&l.push(c.get("length")):(l.push(c.get(b)),(0,r._N)(t)&&l.push(c.get(v)));break;case"delete":(0,r.kJ)(t)||(l.push(c.get(b)),(0,r._N)(t)&&l.push(c.get(v)));break;case"set":(0,r._N)(t)&&l.push(c.get(b));break}if(1===l.length)l[0]&&P(l[0]);else{const t=[];for(const e of l)e&&t.push(...e);P(a(t))}}function P(t,e){for(const n of(0,r.kJ)(t)?t:[...t])(n!==m||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const T=(0,r.fY)("__proto__,__v_isRef,__isVue"),D=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(r.yk)),E=R(),j=R(!1,!0),A=R(!0),L=F();function F(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e{t[e]=function(...t){k();const n=Ct(this)[e].apply(this,t);return M(),n}})),t}function R(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&o===(t?e?mt:gt:e?pt:dt).get(n))return n;const s=(0,r.kJ)(n);if(!t&&s&&(0,r.RI)(L,i))return Reflect.get(L,i,o);const a=Reflect.get(n,i,o);if((0,r.yk)(i)?D.has(i):T(i))return a;if(t||S(n,"get",i),e)return a;if(At(a)){const t=!s||!(0,r.S0)(i);return t?a.value:a}return(0,r.Kn)(a)?t?_t(a):yt(a):a}}const I=W(),N=W(!0);function W(t=!1){return function(e,n,i,o){let s=e[n];if(Mt(s)&&At(s)&&!At(i))return!1;if(!t&&!Mt(i)&&(St(i)||(i=Ct(i),s=Ct(s)),!(0,r.kJ)(e)&&At(s)&&!At(i)))return s.value=i,!0;const a=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,Y=t=>Reflect.getPrototypeOf(t);function q(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ct(t),o=Ct(e);e!==o&&!n&&S(i,"get",e),!n&&S(i,"get",o);const{has:s}=Y(i),a=r?Z:n?Dt:Tt;return s.call(i,e)?a(t.get(e)):s.call(i,o)?a(t.get(o)):void(t!==i&&t.get(e))}function J(t,e=!1){const n=this["__v_raw"],r=Ct(n),i=Ct(t);return t!==i&&!e&&S(r,"has",t),!e&&S(r,"has",i),t===i?n.has(t):n.has(t)||n.has(i)}function X(t,e=!1){return t=t["__v_raw"],!e&&S(Ct(t),"iterate",b),Reflect.get(t,"size",t)}function G(t){t=Ct(t);const e=Ct(this),n=Y(e),r=n.has.call(e,t);return r||(e.add(t),C(e,"add",t,t)),this}function K(t,e){e=Ct(e);const n=Ct(this),{has:i,get:o}=Y(n);let s=i.call(n,t);s||(t=Ct(t),s=i.call(n,t));const a=o.call(n,t);return n.set(t,e),s?(0,r.aU)(e,a)&&C(n,"set",t,e,a):C(n,"add",t,e),this}function Q(t){const e=Ct(this),{has:n,get:r}=Y(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,s=e.delete(t);return i&&C(e,"delete",t,void 0,o),s}function tt(){const t=Ct(this),e=0!==t.size,n=void 0,r=t.clear();return e&&C(t,"clear",void 0,void 0,n),r}function et(t,e){return function(n,r){const i=this,o=i["__v_raw"],s=Ct(o),a=e?Z:t?Dt:Tt;return!t&&S(s,"iterate",b),o.forEach(((t,e)=>n.call(r,a(t),a(e),i)))}}function nt(t,e,n){return function(...i){const o=this["__v_raw"],s=Ct(o),a=(0,r._N)(s),c="entries"===t||t===Symbol.iterator&&a,l="keys"===t&&a,u=o[t](...i),h=n?Z:e?Dt:Tt;return!e&&S(s,"iterate",l?v:b),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:c?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function rt(t){return function(...e){return"delete"!==t&&this}}function it(){const t={get(t){return q(this,t)},get size(){return X(this)},has:J,add:G,set:K,delete:Q,clear:tt,forEach:et(!1,!1)},e={get(t){return q(this,t,!1,!0)},get size(){return X(this)},has:J,add:G,set:K,delete:Q,clear:tt,forEach:et(!1,!0)},n={get(t){return q(this,t,!0)},get size(){return X(this,!0)},has(t){return J.call(this,t,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:et(!0,!1)},r={get(t){return q(this,t,!0,!0)},get size(){return X(this,!0)},has(t){return J.call(this,t,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:et(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=nt(i,!1,!1),n[i]=nt(i,!0,!1),e[i]=nt(i,!1,!0),r[i]=nt(i,!0,!0)})),[t,n,e,r]}const[ot,st,at,ct]=it();function lt(t,e){const n=e?t?ct:at:t?st:ot;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,r.RI)(n,i)&&i in e?n:e,i,o)}const ut={get:lt(!1,!1)},ht={get:lt(!1,!0)},ft={get:lt(!0,!1)};const dt=new WeakMap,pt=new WeakMap,gt=new WeakMap,mt=new WeakMap;function bt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:bt((0,r.W7)(t))}function yt(t){return Mt(t)?t:wt(t,!1,$,ut,dt)}function xt(t){return wt(t,!1,V,ht,pt)}function _t(t){return wt(t,!0,U,ft,gt)}function wt(t,e,n,i,o){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const s=o.get(t);if(s)return s;const a=vt(t);if(0===a)return t;const c=new Proxy(t,2===a?i:n);return o.set(t,c),c}function kt(t){return Mt(t)?kt(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function Mt(t){return!(!t||!t["__v_isReadonly"])}function St(t){return!(!t||!t["__v_isShallow"])}function Ot(t){return kt(t)||Mt(t)}function Ct(t){const e=t&&t["__v_raw"];return e?Ct(e):t}function Pt(t){return(0,r.Nj)(t,"__v_skip",!0),t}const Tt=t=>(0,r.Kn)(t)?yt(t):t,Dt=t=>(0,r.Kn)(t)?_t(t):t;function Et(t){_&&m&&(t=Ct(t),O(t.dep||(t.dep=a())))}function jt(t,e){t=Ct(t),t.dep&&P(t.dep)}function At(t){return!(!t||!0!==t.__v_isRef)}function Lt(t){return Rt(t,!1)}function Ft(t){return Rt(t,!0)}function Rt(t,e){return At(t)?t:new It(t,e)}class It{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:Tt(t)}get value(){return Et(this),this._value}set value(t){t=this.__v_isShallow?t:Ct(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Tt(t),jt(this,t))}}function Nt(t){return At(t)?t.value:t}const Wt={get:(t,e,n)=>Nt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return At(i)&&!At(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function zt(t){return kt(t)?t:new Proxy(t,Wt)}function Ht(t){const e=(0,r.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=$t(t,n);return e}class Bt{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function $t(t,e,n){const r=t[e];return At(r)?r:new Bt(t,e,n)}class Ut{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new y(t,(()=>{this._dirty||(this._dirty=!0,jt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Ct(this);return Et(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Vt(t,e,n=!1){let i,o;const s=(0,r.mf)(t);s?(i=t,o=r.dG):(i=t.get,o=t.set);const a=new Ut(i,o,s||!o,n);return a}Promise.resolve()},6252:function(t,e,n){"use strict";n.d(e,{P$:function(){return ct},HY:function(){return He},lR:function(){return Ae},xv:function(){return Be},$d:function(){return s},Fl:function(){return Vn},j4:function(){return Qe},kq:function(){return dn},iD:function(){return Ke},_:function(){return sn},Us:function(){return _e},uE:function(){return fn},Uk:function(){return hn},Wm:function(){return an},aZ:function(){return gt},FN:function(){return Tn},Q6:function(){return pt},h:function(){return Zn},f3:function(){return K},dG:function(){return bn},Y3:function(){return w},wF:function(){return Ct},Jd:function(){return Et},bv:function(){return Pt},Ah:function(){return jt},ic:function(){return Dt},wg:function(){return Ye},Cn:function(){return H},JJ:function(){return G},dD:function(){return z},Ko:function(){return yn},WI:function(){return xn},up:function(){return Re},Q2:function(){return Ne},U2:function(){return ut},nK:function(){return dt},Y8:function(){return ot},YP:function(){return tt},w5:function(){return B},wy:function(){return de}});var r=n(2262),i=n(3577);function o(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){a(o,e,n)}return i}function s(t,e,n,r){if((0,i.mf)(t)){const s=o(t,e,n,r);return s&&(0,i.tI)(s)&&s.catch((t=>{a(t,e,n)})),s}const c=[];for(let i=0;i>>1,i=j(h[r]);if&&h.splice(e,1)}function C(t,e,n,r){(0,i.kJ)(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?r+1:r)||n.push(t),S()}function P(t){C(t,p,d,g)}function T(t){C(t,b,m,v)}function D(t,e=null){if(d.length){for(_=e,p=[...new Set(d)],d.length=0,g=0;gj(t)-j(e))),v=0;vnull==t.id?1/0:t.id;function A(t){u=!1,l=!0,D(t),h.sort(((t,e)=>j(t)-j(e)));i.dG;try{for(f=0;ft.trim())):e&&(o=n.map(i.He))}let l;let u=r[l=(0,i.hR)(e)]||r[l=(0,i.hR)((0,i._A)(e))];!u&&a&&(u=r[l=(0,i.hR)((0,i.rs)(e))]),u&&s(u,t,6,o);const h=r[l+"Once"];if(h){if(t.emitted){if(t.emitted[l])return}else t.emitted={};t.emitted[l]=!0,s(h,t,6,o)}}function F(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const s=t.emits;let a={},c=!1;if(!(0,i.mf)(t)){const r=t=>{const n=F(t,e,!0);n&&(c=!0,(0,i.l7)(a,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return s||c?((0,i.kJ)(s)?s.forEach((t=>a[t]=null)):(0,i.l7)(a,s),r.set(t,a),a):(r.set(t,null),null)}function R(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let I=null,N=null;function W(t){const e=I;return I=t,N=t&&t.type.__scopeId||null,e}function z(t){N=t}function H(){N=null}function B(t,e=I,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Xe(-1);const i=W(e),o=t(...n);return W(i),r._d&&Xe(1),o};return r._n=!0,r._c=!0,r._d=!0,r}function $(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[c],slots:l,attrs:u,emit:h,render:f,renderCache:d,data:p,setupState:g,ctx:m,inheritAttrs:b}=t;let v,y;const x=W(t);try{if(4&n.shapeFlag){const t=o||r;v=pn(f.call(t,t,d,s,g,p,m)),y=u}else{const t=e;0,v=pn(t.length>1?t(s,{attrs:u,slots:l,emit:h}):t(s,null)),y=e.props?u:U(u)}}catch(w){Ve.length=0,a(w,t,1),v=an($e)}let _=v;if(y&&!1!==b){const t=Object.keys(y),{shapeFlag:e}=_;t.length&&7&e&&(c&&t.some(i.tR)&&(y=V(y,c)),_=un(_,y))}return n.dirs&&(_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),v=_,W(x),v}const U=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},V=(t,e)=>{const n={};for(const r in t)(0,i.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function Z(t,e,n){const{props:r,children:i,component:o}=t,{props:s,children:a,patchFlag:c}=e,l=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&c>=0))return!(!i&&!a||a&&a.$stable)||r!==s&&(r?!s||Y(r,s,l):!!s);if(1024&c)return!0;if(16&c)return r?Y(r,s,l):!!s;if(8&c){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function X(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):T(t)}function G(t,e){if(Pn){let n=Pn.provides;const r=Pn.parent&&Pn.parent.provides;r===n&&(n=Pn.provides=Object.create(r)),n[t]=e}else 0}function K(t,e,n=!1){const r=Pn||I;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(r.proxy):e}else 0}const Q={};function tt(t,e,n){return et(t,e,n)}function et(t,e,{immediate:n,deep:a,flush:c,onTrack:l,onTrigger:u}=i.kT){const h=Pn;let f,d,p=!1,g=!1;if((0,r.dq)(t)?(f=()=>t.value,p=(0,r.yT)(t)):(0,r.PG)(t)?(f=()=>t,a=!0):(0,i.kJ)(t)?(g=!0,p=t.some(r.PG),f=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?it(t):(0,i.mf)(t)?o(t,h,2):void 0))):f=(0,i.mf)(t)?e?()=>o(t,h,2):()=>{if(!h||!h.isUnmounted)return d&&d(),s(t,h,3,[m])}:i.dG,e&&a){const t=f;f=()=>it(t())}let m=t=>{d=x.onStop=()=>{o(t,h,4)}};if(Fn)return m=i.dG,e?n&&s(e,h,3,[f(),g?[]:void 0,m]):f(),i.dG;let b=g?[]:Q;const v=()=>{if(x.active)if(e){const t=x.run();(a||p||(g?t.some(((t,e)=>(0,i.aU)(t,b[e]))):(0,i.aU)(t,b)))&&(d&&d(),s(e,h,3,[t,b===Q?void 0:b,m]),b=t)}else x.run()};let y;v.allowRecurse=!!e,y="sync"===c?v:"post"===c?()=>xe(v,h&&h.suspense):()=>{!h||h.isMounted?P(v):v()};const x=new r.qq(f,y);return e?n?v():b=x.run():"post"===c?xe(x.run.bind(x),h&&h.suspense):x.run(),()=>{x.stop(),h&&h.scope&&(0,i.Od)(h.scope.effects,x)}}function nt(t,e,n){const r=this.proxy,o=(0,i.HD)(t)?t.includes(".")?rt(r,t):()=>r[t]:t.bind(r,r);let s;(0,i.mf)(e)?s=e:(s=e.handler,n=e);const a=Pn;Dn(this);const c=et(o,s.bind(r),n);return a?Dn(a):En(),c}function rt(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{it(t,e)}));else if((0,i.PO)(t))for(const n in t)it(t[n],e);return t}function ot(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Pt((()=>{t.isMounted=!0})),Et((()=>{t.isUnmounting=!0})),t}const st=[Function,Array],at={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:st,onEnter:st,onAfterEnter:st,onEnterCancelled:st,onBeforeLeave:st,onLeave:st,onAfterLeave:st,onLeaveCancelled:st,onBeforeAppear:st,onAppear:st,onAfterAppear:st,onAppearCancelled:st},setup(t,{slots:e}){const n=Tn(),i=ot();let o;return()=>{const s=e.default&&pt(e.default(),!0);if(!s||!s.length)return;const a=(0,r.IU)(t),{mode:c}=a;const l=s[0];if(i.isLeaving)return ht(l);const u=ft(l);if(!u)return ht(l);const h=ut(u,a,i,n);dt(u,h);const f=n.subTree,d=f&&ft(f);let p=!1;const{getTransitionKey:g}=u.type;if(g){const t=g();void 0===o?o=t:t!==o&&(o=t,p=!0)}if(d&&d.type!==$e&&(!en(u,d)||p)){const t=ut(d,a,i,n);if(dt(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},ht(l);"in-out"===c&&u.type!==$e&&(t.delayLeave=(t,e,n)=>{const r=lt(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return l}}},ct=at;function lt(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function ut(t,e,n,r){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:h,onBeforeLeave:f,onLeave:d,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:m,onAppear:b,onAfterAppear:v,onAppearCancelled:y}=e,x=String(t.key),_=lt(n,t),w=(t,e)=>{t&&s(t,r,9,e)},k={mode:o,persisted:a,beforeEnter(e){let r=c;if(!n.isMounted){if(!i)return;r=m||c}e._leaveCb&&e._leaveCb(!0);const o=_[x];o&&en(t,o)&&o.el._leaveCb&&o.el._leaveCb(),w(r,[e])},enter(t){let e=l,r=u,o=h;if(!n.isMounted){if(!i)return;e=b||l,r=v||u,o=y||h}let s=!1;const a=t._enterCb=e=>{s||(s=!0,w(e?o:r,[t]),k.delayedLeave&&k.delayedLeave(),t._enterCb=void 0)};e?(e(t,a),e.length<=1&&a()):a()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();w(f,[e]);let o=!1;const s=e._leaveCb=n=>{o||(o=!0,r(),w(n?g:p,[e]),e._leaveCb=void 0,_[i]===t&&delete _[i])};_[i]=t,d?(d(e,s),d.length<=1&&s()):s()},clone(t){return ut(t,e,n,r)}};return k}function ht(t){if(bt(t))return t=un(t),t.children=null,t}function ft(t){return bt(t)?t.children?t.children[0]:void 0:t}function dt(t,e){6&t.shapeFlag&&t.component?dt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function pt(t,e=!1){let n=[],r=0;for(let i=0;i1)for(let i=0;i!!t.type.__asyncLoader;const bt=t=>t.type.__isKeepAlive;RegExp,RegExp;function vt(t,e){return(0,i.kJ)(t)?t.some((t=>vt(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function yt(t,e){_t(t,"a",e)}function xt(t,e){_t(t,"da",e)}function _t(t,e,n=Pn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(St(e,r,n),n){let t=n.parent;while(t&&t.parent)bt(t.parent.vnode)&&wt(r,e,n,t),t=t.parent}}function wt(t,e,n,r){const o=St(e,t,r,!0);jt((()=>{(0,i.Od)(r[e],o)}),n)}function kt(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function Mt(t){return 128&t.shapeFlag?t.ssContent:t}function St(t,e,n=Pn,i=!1){if(n){const o=n[t]||(n[t]=[]),a=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,r.Jd)(),Dn(n);const o=s(e,n,t,i);return En(),(0,r.lk)(),o});return i?o.unshift(a):o.push(a),a}}const Ot=t=>(e,n=Pn)=>(!Fn||"sp"===t)&&St(t,e,n),Ct=Ot("bm"),Pt=Ot("m"),Tt=Ot("bu"),Dt=Ot("u"),Et=Ot("bum"),jt=Ot("um"),At=Ot("sp"),Lt=Ot("rtg"),Ft=Ot("rtc");function Rt(t,e=Pn){St("ec",t,e)}let It=!0;function Nt(t){const e=Bt(t),n=t.proxy,o=t.ctx;It=!1,e.beforeCreate&&zt(e.beforeCreate,t,"bc");const{data:s,computed:a,methods:c,watch:l,provide:u,inject:h,created:f,beforeMount:d,mounted:p,beforeUpdate:g,updated:m,activated:b,deactivated:v,beforeDestroy:y,beforeUnmount:x,destroyed:_,unmounted:w,render:k,renderTracked:M,renderTriggered:S,errorCaptured:O,serverPrefetch:C,expose:P,inheritAttrs:T,components:D,directives:E,filters:j}=e,A=null;if(h&&Wt(h,o,A,t.appContext.config.unwrapInjectedRef),c)for(const r in c){const t=c[r];(0,i.mf)(t)&&(o[r]=t.bind(n))}if(s){0;const e=s.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,r.qj)(e))}if(It=!0,a)for(const r in a){const t=a[r],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const s=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,c=Vn({get:e,set:s});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>c.value,set:t=>c.value=t})}if(l)for(const r in l)Ht(l[r],o,n,r);if(u){const t=(0,i.mf)(u)?u.call(n):u;Reflect.ownKeys(t).forEach((e=>{G(e,t[e])}))}function L(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(f&&zt(f,t,"c"),L(Ct,d),L(Pt,p),L(Tt,g),L(Dt,m),L(yt,b),L(xt,v),L(Rt,O),L(Ft,M),L(Lt,S),L(Et,x),L(jt,w),L(At,C),(0,i.kJ)(P))if(P.length){const e=t.exposed||(t.exposed={});P.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===i.dG&&(t.render=k),null!=T&&(t.inheritAttrs=T),D&&(t.components=D),E&&(t.directives=E)}function Wt(t,e,n=i.dG,o=!1){(0,i.kJ)(t)&&(t=Yt(t));for(const s in t){const n=t[s];let a;a=(0,i.Kn)(n)?"default"in n?K(n.from||s,n.default,!0):K(n.from||s):K(n),(0,r.dq)(a)&&o?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>a.value,set:t=>a.value=t}):e[s]=a}}function zt(t,e,n){s((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Ht(t,e,n,r){const o=r.includes(".")?rt(n,r):()=>n[r];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&tt(o,n)}else if((0,i.mf)(t))tt(o,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Ht(t,e,n,r)));else{const r=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(r)&&tt(o,r,t)}else 0}function Bt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:i,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,a=o.get(e);let c;return a?c=a:i.length||n||r?(c={},i.length&&i.forEach((t=>$t(c,t,s,!0))),$t(c,e,s)):c=e,o.set(e,c),c}function $t(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&$t(t,o,n,!0),i&&i.forEach((e=>$t(t,e,n,!0)));for(const s in e)if(r&&"expose"===s);else{const r=Ut[s]||n&&n[s];t[s]=r?r(t[s],e[s]):e[s]}return t}const Ut={data:Vt,props:Jt,emits:Jt,methods:Jt,computed:Jt,beforeCreate:qt,created:qt,beforeMount:qt,mounted:qt,beforeUpdate:qt,updated:qt,beforeDestroy:qt,beforeUnmount:qt,destroyed:qt,unmounted:qt,activated:qt,deactivated:qt,errorCaptured:qt,serverPrefetch:qt,components:Jt,directives:Jt,watch:Xt,provide:Vt,inject:Zt};function Vt(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function Zt(t,e){return Jt(Yt(t),Yt(e))}function Yt(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&c){let r;Qt(t,e,s,a)&&(h=!0);for(const o in l)e&&((0,i.RI)(e,o)||(r=(0,i.rs)(o))!==o&&(0,i.RI)(e,r))||(u?!n||void 0===n[o]&&void 0===n[r]||(s[o]=te(u,l,o,void 0,t,!0)):delete s[o]);if(a!==l)for(const t in a)e&&(0,i.RI)(e,t)||(delete a[t],h=!0)}else if(8&c){const n=t.vnode.dynamicProps;for(let r=0;r{l=!0;const[n,r]=ee(t,e,!0);(0,i.l7)(a,n),r&&c.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!s&&!l)return r.set(t,i.Z6),i.Z6;if((0,i.kJ)(s))for(let h=0;h-1,r[1]=n<0||t-1||(0,i.RI)(r,"default"))&&c.push(e)}}}}const u=[a,c];return r.set(t,u),u}function ne(t){return"$"!==t[0]}function re(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function ie(t,e){return re(t)===re(e)}function oe(t,e){return(0,i.kJ)(e)?e.findIndex((e=>ie(e,t))):(0,i.mf)(e)&&ie(e,t)?0:-1}const se=t=>"_"===t[0]||"$stable"===t,ae=t=>(0,i.kJ)(t)?t.map(pn):[pn(t)],ce=(t,e,n)=>{const r=B(((...t)=>ae(e(...t))),n);return r._c=!1,r},le=(t,e,n)=>{const r=t._ctx;for(const o in t){if(se(o))continue;const n=t[o];if((0,i.mf)(n))e[o]=ce(o,n,r);else if(null!=n){0;const t=ae(n);e[o]=()=>t}}},ue=(t,e)=>{const n=ae(e);t.slots.default=()=>n},he=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,i.Nj)(e,"_",n)):le(e,t.slots={})}else t.slots={},e&&ue(t,e);(0,i.Nj)(t.slots,nn,1)},fe=(t,e,n)=>{const{vnode:r,slots:o}=t;let s=!0,a=i.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?s=!1:((0,i.l7)(o,e),n||1!==t||delete o._):(s=!e.$stable,le(e,o)),a=e}else e&&(ue(t,e),a={default:1});if(s)for(const i in o)se(i)||i in a||delete o[i]};function de(t,e){const n=I;if(null===n)return t;const r=n.proxy,o=t.dirs||(t.dirs=[]);for(let s=0;sve(t,e&&((0,i.kJ)(e)?e[r]:e),n,s,a)));if(mt(s)&&!a)return;const c=4&s.shapeFlag?Bn(s.component)||s.component.proxy:s.el,l=a?null:c,{i:u,r:h}=t;const f=e&&e.r,d=u.refs===i.kT?u.refs={}:u.refs,p=u.setupState;if(null!=f&&f!==h&&((0,i.HD)(f)?(d[f]=null,(0,i.RI)(p,f)&&(p[f]=null)):(0,r.dq)(f)&&(f.value=null)),(0,i.mf)(h))o(h,u,12,[l,d]);else{const e=(0,i.HD)(h),o=(0,r.dq)(h);if(e||o){const o=()=>{if(t.f){const n=e?d[h]:h.value;a?(0,i.kJ)(n)&&(0,i.Od)(n,c):(0,i.kJ)(n)?n.includes(c)||n.push(c):e?d[h]=[c]:(h.value=[c],t.k&&(d[t.k]=h.value))}else e?(d[h]=l,(0,i.RI)(p,h)&&(p[h]=l)):(0,r.dq)(h)&&(h.value=l,t.k&&(d[t.k]=l))};l?(o.id=-1,xe(o,n)):o()}else 0}}function ye(){}const xe=X;function _e(t){return we(t)}function we(t,e){ye();const n=(0,i.E9)();n.__VUE__=!0;const{insert:o,remove:s,patchProp:a,createElement:c,createText:l,createComment:u,setText:h,setElementText:f,parentNode:d,nextSibling:p,setScopeId:g=i.dG,cloneNode:m,insertStaticContent:b}=t,v=(t,e,n,r=null,i=null,o=null,s=!1,a=null,c=!!e.dynamicChildren)=>{if(t===e)return;t&&!en(t,e)&&(r=Q(t),Y(t,i,o,!0),t=null),-2===e.patchFlag&&(c=!1,e.dynamicChildren=null);const{type:l,ref:u,shapeFlag:h}=e;switch(l){case Be:y(t,e,n,r);break;case $e:x(t,e,n,r);break;case Ue:null==t&&_(e,n,r,s);break;case He:F(t,e,n,r,i,o,s,a,c);break;default:1&h?S(t,e,n,r,i,o,s,a,c):6&h?R(t,e,n,r,i,o,s,a,c):(64&h||128&h)&&l.process(t,e,n,r,i,o,s,a,c,et)}null!=u&&i&&ve(u,t&&t.ref,o,e||t,!e)},y=(t,e,n,r)=>{if(null==t)o(e.el=l(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},x=(t,e,n,r)=>{null==t?o(e.el=u(e.children||""),n,r):e.el=t.el},_=(t,e,n,r)=>{[t.el,t.anchor]=b(t.children,e,n,r,t.el,t.anchor)},w=({el:t,anchor:e},n,r)=>{let i;while(t&&t!==e)i=p(t),o(t,n,r),t=i;o(e,n,r)},k=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=p(t),s(t),t=n;s(e)},S=(t,e,n,r,i,o,s,a,c)=>{s=s||"svg"===e.type,null==t?C(e,n,r,i,o,s,a,c):j(t,e,i,o,s,a,c)},C=(t,e,n,r,s,l,u,h)=>{let d,p;const{type:g,props:b,shapeFlag:v,transition:y,patchFlag:x,dirs:_}=t;if(t.el&&void 0!==m&&-1===x)d=t.el=m(t.el);else{if(d=t.el=c(t.type,l,b&&b.is,b),8&v?f(d,t.children):16&v&&T(t.children,d,null,r,s,l&&"foreignObject"!==g,u,h),_&&pe(t,null,r,"created"),b){for(const e in b)"value"===e||(0,i.Gg)(e)||a(d,e,null,b[e],l,t.children,r,s,K);"value"in b&&a(d,"value",null,b.value),(p=b.onVnodeBeforeMount)&&vn(p,r,t)}P(d,t,t.scopeId,u,r)}_&&pe(t,null,r,"beforeMount");const w=(!s||s&&!s.pendingBranch)&&y&&!y.persisted;w&&y.beforeEnter(d),o(d,e,n),((p=b&&b.onVnodeMounted)||w||_)&&xe((()=>{p&&vn(p,r,t),w&&y.enter(d),_&&pe(t,null,r,"mounted")}),s)},P=(t,e,n,r,i)=>{if(n&&g(t,n),r)for(let o=0;o{for(let l=c;l{const l=e.el=t.el;let{patchFlag:u,dynamicChildren:h,dirs:d}=e;u|=16&t.patchFlag;const p=t.props||i.kT,g=e.props||i.kT;let m;n&&ke(n,!1),(m=g.onVnodeBeforeUpdate)&&vn(m,n,e,t),d&&pe(e,t,n,"beforeUpdate"),n&&ke(n,!0);const b=o&&"foreignObject"!==e.type;if(h?A(t.dynamicChildren,h,l,n,r,b,s):c||H(t,e,l,null,n,r,b,s,!1),u>0){if(16&u)L(l,e,p,g,n,r,o);else if(2&u&&p.class!==g.class&&a(l,"class",null,g.class,o),4&u&&a(l,"style",p.style,g.style,o),8&u){const i=e.dynamicProps;for(let e=0;e{m&&vn(m,n,e,t),d&&pe(e,t,n,"updated")}),r)},A=(t,e,n,r,i,o,s)=>{for(let a=0;a{if(n!==r){for(const l in r){if((0,i.Gg)(l))continue;const u=r[l],h=n[l];u!==h&&"value"!==l&&a(t,l,h,u,c,e.children,o,s,K)}if(n!==i.kT)for(const l in n)(0,i.Gg)(l)||l in r||a(t,l,n[l],null,c,e.children,o,s,K);"value"in r&&a(t,"value",n.value,r.value)}},F=(t,e,n,r,i,s,a,c,u)=>{const h=e.el=t?t.el:l(""),f=e.anchor=t?t.anchor:l("");let{patchFlag:d,dynamicChildren:p,slotScopeIds:g}=e;g&&(c=c?c.concat(g):g),null==t?(o(h,n,r),o(f,n,r),T(e.children,n,f,i,s,a,c,u)):d>0&&64&d&&p&&t.dynamicChildren?(A(t.dynamicChildren,p,n,i,s,a,c),(null!=e.key||i&&e===i.subTree)&&Me(t,e,!0)):H(t,e,n,f,i,s,a,c,u)},R=(t,e,n,r,i,o,s,a,c)=>{e.slotScopeIds=a,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,s,c):I(e,n,r,i,o,s,c):N(t,e,c)},I=(t,e,n,r,i,o,s)=>{const a=t.component=Cn(t,r,i);if(bt(t)&&(a.ctx.renderer=et),Rn(a),a.asyncDep){if(i&&i.registerDep(a,W),!t.el){const t=a.subTree=an($e);x(null,t,e,n)}}else W(a,t,e,n,i,o,s)},N=(t,e,n)=>{const r=e.component=t.component;if(Z(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void z(r,e,n);r.next=e,O(r.update),r.update()}else e.component=t.component,e.el=t.el,r.vnode=e},W=(t,e,n,o,s,a,c)=>{const l=()=>{if(t.isMounted){let e,{next:n,bu:r,u:o,parent:l,vnode:u}=t,h=n;0,ke(t,!1),n?(n.el=u.el,z(t,n,c)):n=u,r&&(0,i.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&vn(e,l,n,u),ke(t,!0);const f=$(t);0;const p=t.subTree;t.subTree=f,v(p,f,d(p.el),Q(p),t,s,a),n.el=f.el,null===h&&q(t,f.el),o&&xe(o,s),(e=n.props&&n.props.onVnodeUpdated)&&xe((()=>vn(e,l,n,u)),s)}else{let r;const{el:c,props:l}=e,{bm:u,m:h,parent:f}=t,d=mt(e);if(ke(t,!1),u&&(0,i.ir)(u),!d&&(r=l&&l.onVnodeBeforeMount)&&vn(r,f,e),ke(t,!0),c&&rt){const n=()=>{t.subTree=$(t),rt(c,t.subTree,t,s,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=$(t);0,v(null,r,n,o,t,s,a),e.el=r.el}if(h&&xe(h,s),!d&&(r=l&&l.onVnodeMounted)){const t=e;xe((()=>vn(r,f,t)),s)}256&e.shapeFlag&&t.a&&xe(t.a,s),t.isMounted=!0,e=n=o=null}},u=t.effect=new r.qq(l,(()=>M(t.update)),t.scope),h=t.update=u.run.bind(u);h.id=t.uid,ke(t,!0),h()},z=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,Kt(t,e.props,i,n),fe(t,e.children,n),(0,r.Jd)(),D(void 0,t.update),(0,r.lk)()},H=(t,e,n,r,i,o,s,a,c=!1)=>{const l=t&&t.children,u=t?t.shapeFlag:0,h=e.children,{patchFlag:d,shapeFlag:p}=e;if(d>0){if(128&d)return void U(l,h,n,r,i,o,s,a,c);if(256&d)return void B(l,h,n,r,i,o,s,a,c)}8&p?(16&u&&K(l,i,o),h!==l&&f(n,h)):16&u?16&p?U(l,h,n,r,i,o,s,a,c):K(l,i,o,!0):(8&u&&f(n,""),16&p&&T(h,n,r,i,o,s,a,c))},B=(t,e,n,r,o,s,a,c,l)=>{t=t||i.Z6,e=e||i.Z6;const u=t.length,h=e.length,f=Math.min(u,h);let d;for(d=0;dh?K(t,o,s,!0,!1,f):T(e,n,r,o,s,a,c,l,f)},U=(t,e,n,r,o,s,a,c,l)=>{let u=0;const h=e.length;let f=t.length-1,d=h-1;while(u<=f&&u<=d){const r=t[u],i=e[u]=l?gn(e[u]):pn(e[u]);if(!en(r,i))break;v(r,i,n,null,o,s,a,c,l),u++}while(u<=f&&u<=d){const r=t[f],i=e[d]=l?gn(e[d]):pn(e[d]);if(!en(r,i))break;v(r,i,n,null,o,s,a,c,l),f--,d--}if(u>f){if(u<=d){const t=d+1,i=td)while(u<=f)Y(t[u],o,s,!0),u++;else{const p=u,g=u,m=new Map;for(u=g;u<=d;u++){const t=e[u]=l?gn(e[u]):pn(e[u]);null!=t.key&&m.set(t.key,u)}let b,y=0;const x=d-g+1;let _=!1,w=0;const k=new Array(x);for(u=0;u=x){Y(r,o,s,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(b=g;b<=d;b++)if(0===k[b-g]&&en(r,e[b])){i=b;break}void 0===i?Y(r,o,s,!0):(k[i-g]=u+1,i>=w?w=i:_=!0,v(r,e[i],n,null,o,s,a,c,l),y++)}const M=_?Se(k):i.Z6;for(b=M.length-1,u=x-1;u>=0;u--){const t=g+u,i=e[t],f=t+1{const{el:s,type:a,transition:c,children:l,shapeFlag:u}=t;if(6&u)return void V(t.component.subTree,e,n,r);if(128&u)return void t.suspense.move(e,n,r);if(64&u)return void a.move(t,e,n,et);if(a===He){o(s,e,n);for(let t=0;tc.enter(s)),i);else{const{leave:t,delayLeave:r,afterLeave:i}=c,a=()=>o(s,e,n),l=()=>{t(s,(()=>{a(),i&&i()}))};r?r(s,a,l):l()}else o(s,e,n)},Y=(t,e,n,r=!1,i=!1)=>{const{type:o,props:s,ref:a,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:h,dirs:f}=t;if(null!=a&&ve(a,null,n,t,!0),256&u)return void e.ctx.deactivate(t);const d=1&u&&f,p=!mt(t);let g;if(p&&(g=s&&s.onVnodeBeforeUnmount)&&vn(g,e,t),6&u)G(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);d&&pe(t,null,e,"beforeUnmount"),64&u?t.type.remove(t,e,n,i,et,r):l&&(o!==He||h>0&&64&h)?K(l,e,n,!1,!0):(o===He&&384&h||!i&&16&u)&&K(c,e,n),r&&J(t)}(p&&(g=s&&s.onVnodeUnmounted)||d)&&xe((()=>{g&&vn(g,e,t),d&&pe(t,null,e,"unmounted")}),n)},J=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===He)return void X(n,r);if(e===Ue)return void k(t);const o=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,s=()=>e(n,o);r?r(t.el,o,s):s()}else o()},X=(t,e)=>{let n;while(t!==e)n=p(t),s(t),t=n;s(e)},G=(t,e,n)=>{const{bum:r,scope:o,update:s,subTree:a,um:c}=t;r&&(0,i.ir)(r),o.stop(),s&&(s.active=!1,Y(a,t,e,n)),c&&xe(c,e),xe((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},K=(t,e,n,r=!1,i=!1,o=0)=>{for(let s=o;s6&t.shapeFlag?Q(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),tt=(t,e,n)=>{null==t?e._vnode&&Y(e._vnode,null,null,!0):v(e._vnode||null,t,e,null,null,null,n),E(),e._vnode=t},et={p:v,um:Y,m:V,r:J,mt:I,mc:T,pc:H,pbc:A,n:Q,o:t};let nt,rt;return e&&([nt,rt]=e(et)),{render:tt,hydrate:nt,createApp:be(tt,nt)}}function ke({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Me(t,e,n=!1){const r=t.children,o=e.children;if((0,i.kJ)(r)&&(0,i.kJ)(o))for(let i=0;i>1,t[n[a]]0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,s=n[o-1];while(o-- >0)n[o]=s,s=e[s];return n}const Oe=t=>t.__isTeleport,Ce=t=>t&&(t.disabled||""===t.disabled),Pe=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,Te=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},De={__isTeleport:!0,process(t,e,n,r,i,o,s,a,c,l){const{mc:u,pc:h,pbc:f,o:{insert:d,querySelector:p,createText:g,createComment:m}}=l,b=Ce(e.props);let{shapeFlag:v,children:y,dynamicChildren:x}=e;if(null==t){const t=e.el=g(""),l=e.anchor=g("");d(t,n,r),d(l,n,r);const h=e.target=Te(e.props,p),f=e.targetAnchor=g("");h&&(d(f,h),s=s||Pe(h));const m=(t,e)=>{16&v&&u(y,t,e,i,o,s,a,c)};b?m(n,l):h&&m(h,f)}else{e.el=t.el;const r=e.anchor=t.anchor,u=e.target=t.target,d=e.targetAnchor=t.targetAnchor,g=Ce(t.props),m=g?n:u,v=g?r:d;if(s=s||Pe(u),x?(f(t.dynamicChildren,x,m,i,o,s,a),Me(t,e,!0)):c||h(t,e,m,v,i,o,s,a,!1),b)g||Ee(e,n,r,l,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=Te(e.props,p);t&&Ee(e,t,null,l,0)}else g&&Ee(e,u,d,l,1)}},remove(t,e,n,r,{um:i,o:{remove:o}},s){const{shapeFlag:a,children:c,anchor:l,targetAnchor:u,target:h,props:f}=t;if(h&&o(u),(s||!Ce(f))&&(o(l),16&a))for(let d=0;d0?Ze||i.Z6:null,qe(),Je>0&&Ze&&Ze.push(t),t}function Ke(t,e,n,r,i,o){return Ge(sn(t,e,n,r,i,o,!0))}function Qe(t,e,n,r,i){return Ge(an(t,e,n,r,i,!0))}function tn(t){return!!t&&!0===t.__v_isVNode}function en(t,e){return t.type===e.type&&t.key===e.key}const nn="__vInternal",rn=({key:t})=>null!=t?t:null,on=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,r.dq)(t)||(0,i.mf)(t)?{i:I,r:t,k:e,f:!!n}:t:null;function sn(t,e=null,n=null,r=0,o=null,s=(t===He?0:1),a=!1,c=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&rn(e),ref:e&&on(e),scopeId:N,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};return c?(mn(l,n),128&s&&t.normalize(l)):n&&(l.shapeFlag|=(0,i.HD)(n)?8:16),Je>0&&!a&&Ze&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Ze.push(l),l}const an=cn;function cn(t,e=null,n=null,o=0,s=null,a=!1){if(t&&t!==Ie||(t=$e),tn(t)){const r=un(t,e,!0);return n&&mn(r,n),r}if(Un(t)&&(t=t.__vccOpts),e){e=ln(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,r.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const c=(0,i.HD)(t)?1:J(t)?128:Oe(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return sn(t,e,n,o,s,c,a,!0)}function ln(t){return t?(0,r.X3)(t)||nn in t?(0,i.l7)({},t):t:null}function un(t,e,n=!1){const{props:r,ref:o,patchFlag:s,children:a}=t,c=e?bn(r||{},e):r,l={__v_isVNode:!0,__v_skip:!0,type:t.type,props:c,key:c&&rn(c),ref:e&&e.ref?n&&o?(0,i.kJ)(o)?o.concat(on(e)):[o,on(e)]:on(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==He?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&un(t.ssContent),ssFallback:t.ssFallback&&un(t.ssFallback),el:t.el,anchor:t.anchor};return l}function hn(t=" ",e=0){return an(Be,null,t,e)}function fn(t,e){const n=an(Ue,null,t);return n.staticCount=e,n}function dn(t="",e=!1){return e?(Ye(),Qe($e,null,t)):an($e,null,t)}function pn(t){return null==t||"boolean"===typeof t?an($e):(0,i.kJ)(t)?an(He,null,t.slice()):"object"===typeof t?gn(t):an(Be,null,String(t))}function gn(t){return null===t.el||t.memo?t:un(t)}function mn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),mn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||nn in e?3===r&&I&&(1===I.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=I}}else(0,i.mf)(e)?(e={default:e,_ctx:I},n=32):(e=String(e),64&r?(n=16,e=[hn(e)]):n=8);t.children=e,t.shapeFlag|=n}function bn(...t){const e={};for(let n=0;ne(t,n,void 0,s&&s[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let r=0,i=n.length;r!tn(t)||t.type!==$e&&!(t.type===He&&!_n(t.children))))?t:null}const wn=t=>t?jn(t)?Bn(t)||t.proxy:wn(t.parent):null,kn=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>wn(t.parent),$root:t=>wn(t.root),$emit:t=>t.emit,$options:t=>Bt(t),$forceUpdate:t=>()=>M(t.update),$nextTick:t=>w.bind(t.proxy),$watch:t=>nt.bind(t)}),Mn={get({_:t},e){const{ctx:n,setupState:o,data:s,props:a,accessCache:c,type:l,appContext:u}=t;let h;if("$"!==e[0]){const r=c[e];if(void 0!==r)switch(r){case 1:return o[e];case 2:return s[e];case 4:return n[e];case 3:return a[e]}else{if(o!==i.kT&&(0,i.RI)(o,e))return c[e]=1,o[e];if(s!==i.kT&&(0,i.RI)(s,e))return c[e]=2,s[e];if((h=t.propsOptions[0])&&(0,i.RI)(h,e))return c[e]=3,a[e];if(n!==i.kT&&(0,i.RI)(n,e))return c[e]=4,n[e];It&&(c[e]=0)}}const f=kn[e];let d,p;return f?("$attrs"===e&&(0,r.j)(t,"get",e),f(t)):(d=l.__cssModules)&&(d=d[e])?d:n!==i.kT&&(0,i.RI)(n,e)?(c[e]=4,n[e]):(p=u.config.globalProperties,(0,i.RI)(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:s}=t;return o!==i.kT&&(0,i.RI)(o,e)?(o[e]=n,!0):r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:s}},a){let c;return!!n[a]||t!==i.kT&&(0,i.RI)(t,a)||e!==i.kT&&(0,i.RI)(e,a)||(c=s[0])&&(0,i.RI)(c,a)||(0,i.RI)(r,a)||(0,i.RI)(kn,a)||(0,i.RI)(o.config.globalProperties,a)},defineProperty(t,e,n){return null!=n.get?this.set(t,e,n.get(),null):null!=n.value&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};const Sn=ge();let On=0;function Cn(t,e,n){const o=t.type,s=(e?e.appContext:t.appContext)||Sn,a={uid:On++,vnode:t,type:o,parent:e,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,scope:new r.Bj(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:e?e.provides:Object.create(s.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ee(o,s),emitsOptions:F(o,s),emit:null,emitted:null,propsDefaults:i.kT,inheritAttrs:o.inheritAttrs,ctx:i.kT,data:i.kT,props:i.kT,attrs:i.kT,slots:i.kT,refs:i.kT,setupState:i.kT,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return a.ctx={_:a},a.root=e?e.root:a,a.emit=L.bind(null,a),t.ce&&t.ce(a),a}let Pn=null;const Tn=()=>Pn||I,Dn=t=>{Pn=t,t.scope.on()},En=()=>{Pn&&Pn.scope.off(),Pn=null};function jn(t){return 4&t.vnode.shapeFlag}let An,Ln,Fn=!1;function Rn(t,e=!1){Fn=e;const{props:n,children:r}=t.vnode,i=jn(t);Gt(t,n,i,e),he(t,r);const o=i?In(t,e):void 0;return Fn=!1,o}function In(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Mn));const{setup:s}=n;if(s){const n=t.setupContext=s.length>1?Hn(t):null;Dn(t),(0,r.Jd)();const c=o(s,t,0,[t.props,n]);if((0,r.lk)(),En(),(0,i.tI)(c)){if(c.then(En,En),e)return c.then((n=>{Nn(t,n,e)})).catch((e=>{a(e,t,0)}));t.asyncDep=c}else Nn(t,c,e)}else Wn(t,e)}function Nn(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,r.WL)(e)),Wn(t,n)}function Wn(t,e,n){const o=t.type;if(!t.render){if(!e&&An&&!o.render){const e=o.template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:s,compilerOptions:a}=o,c=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:s},r),a);o.render=An(e,c)}}t.render=o.render||i.dG,Ln&&Ln(t)}Dn(t),(0,r.Jd)(),Nt(t),(0,r.lk)(),En()}function zn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function Hn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=zn(t))},slots:t.slots,emit:t.emit,expose:e}}function Bn(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in kn?kn[n](t):void 0}}))}function $n(t){return(0,i.mf)(t)&&t.displayName||t.name}function Un(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Vn=(t,e)=>(0,r.Fl)(t,e,Fn);function Zn(t,e,n){const r=arguments.length;return 2===r?(0,i.Kn)(e)&&!(0,i.kJ)(e)?tn(e)?an(t,null,[e]):an(t,e):an(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&tn(n)&&(n=[n]),an(t,e,n))}Symbol("");const Yn="3.2.31"},9963:function(t,e,n){"use strict";n.d(e,{ri:function(){return mt},sY:function(){return gt},bM:function(){return it},nr:function(){return rt},D2:function(){return ht},iM:function(){return lt}});var r=n(3577),i=n(6252);n(2262);const o="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,a=s&&s.createElement("template"),c={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?s.createElementNS(o,t):s.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>s.createTextNode(t),createComment:t=>s.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>s.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,r,i,o){const s=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===o||!(i=i.nextSibling))break}else{a.innerHTML=r?`${t}`:t;const i=a.content;if(r){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[s?s.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function l(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function u(t,e,n){const i=t.style,o=(0,r.HD)(n);if(n&&!o){for(const t in n)f(i,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&f(i,t,"")}else{const r=i.display;o?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=r)}}const h=/\s*!important$/;function f(t,e,n){if((0,r.kJ)(n))n.forEach((n=>f(t,e,n)));else if(e.startsWith("--"))t.setProperty(e,n);else{const i=g(t,e);h.test(n)?t.setProperty((0,r.rs)(i),n.replace(h,""),"important"):t[i]=n}}const d=["Webkit","Moz","ms"],p={};function g(t,e){const n=p[e];if(n)return n;let i=(0,r._A)(e);if("filter"!==i&&i in t)return p[e]=i;i=(0,r.kC)(i);for(let r=0;rdocument.createEvent("Event").timeStamp&&(y=()=>performance.now());const t=navigator.userAgent.match(/firefox\/(\d+)/i);x=!!(t&&Number(t[1])<=53)}let _=0;const w=Promise.resolve(),k=()=>{_=0},M=()=>_||(w.then(k),_=y());function S(t,e,n,r){t.addEventListener(e,n,r)}function O(t,e,n,r){t.removeEventListener(e,n,r)}function C(t,e,n,r,i=null){const o=t._vei||(t._vei={}),s=o[e];if(r&&s)s.value=r;else{const[n,a]=T(e);if(r){const s=o[e]=D(r,i);S(t,n,s,a)}else s&&(O(t,n,s,a),o[e]=void 0)}}const P=/(?:Once|Passive|Capture)$/;function T(t){let e;if(P.test(t)){let n;e={};while(n=t.match(P))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[(0,r.rs)(t.slice(2)),e]}function D(t,e){const n=t=>{const r=t.timeStamp||y();(x||r>=n.attached-1)&&(0,i.$d)(E(t,n.value),e,5,[t])};return n.value=t,n.attached=M(),n}function E(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const j=/^on[a-z]/,A=(t,e,n,i,o=!1,s,a,c,h)=>{"class"===e?l(t,i,o):"style"===e?u(t,n,i):(0,r.F7)(e)?(0,r.tR)(e)||C(t,e,n,i,a):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):L(t,e,i,o))?v(t,e,i,s,a,c,h):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),b(t,e,i,o))};function L(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&j.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!j.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const F="transition",R="animation",I=(t,{slots:e})=>(0,i.h)(i.P$,H(t),e);I.displayName="Transition";const N={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},W=(I.props=(0,r.l7)({},i.P$.props,N),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),z=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function H(t){const e={};for(const r in t)r in N||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:i,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=a,appearToClass:h=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,g=B(o),m=g&&g[0],b=g&&g[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:x,onLeave:_,onLeaveCancelled:w,onBeforeAppear:k=v,onAppear:M=y,onAppearCancelled:S=x}=e,O=(t,e,n)=>{V(t,e?h:c),V(t,e?u:a),n&&n()},C=(t,e)=>{V(t,p),V(t,d),e&&e()},P=t=>(e,n)=>{const r=t?M:y,o=()=>O(e,t,n);W(r,[e,o]),Z((()=>{V(e,t?l:s),U(e,t?h:c),z(r)||q(e,i,m,o)}))};return(0,r.l7)(e,{onBeforeEnter(t){W(v,[t]),U(t,s),U(t,a)},onBeforeAppear(t){W(k,[t]),U(t,l),U(t,u)},onEnter:P(!1),onAppear:P(!0),onLeave(t,e){const n=()=>C(t,e);U(t,f),K(),U(t,d),Z((()=>{V(t,f),U(t,p),z(_)||q(t,i,b,n)})),W(_,[t,n])},onEnterCancelled(t){O(t,!1),W(x,[t])},onAppearCancelled(t){O(t,!0),W(S,[t])},onLeaveCancelled(t){C(t),W(w,[t])}})}function B(t){if(null==t)return null;if((0,r.Kn)(t))return[$(t.enter),$(t.leave)];{const e=$(t);return[e,e]}}function $(t){const e=(0,r.He)(t);return e}function U(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function V(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Z(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let Y=0;function q(t,e,n,r){const i=t._endId=++Y,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:s,timeout:a,propCount:c}=J(t,e);if(!s)return r();const l=s+"end";let u=0;const h=()=>{t.removeEventListener(l,f),o()},f=e=>{e.target===t&&++u>=c&&h()};setTimeout((()=>{u(n[t]||"").split(", "),i=r(F+"Delay"),o=r(F+"Duration"),s=X(i,o),a=r(R+"Delay"),c=r(R+"Duration"),l=X(a,c);let u=null,h=0,f=0;e===F?s>0&&(u=F,h=s,f=o.length):e===R?l>0&&(u=R,h=l,f=c.length):(h=Math.max(s,l),u=h>0?s>l?F:R:null,f=u?u===F?o.length:c.length:0);const d=u===F&&/\b(transform|all)(,|$)/.test(n[F+"Property"]);return{type:u,timeout:h,propCount:f,hasTransform:d}}function X(t,e){while(t.lengthG(e)+G(t[n]))))}function G(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function K(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=t=>{const e=t.props["onUpdate:modelValue"];return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function tt(t){t.target.composing=!0}function et(t){const e=t.target;e.composing&&(e.composing=!1,nt(e,"input"))}function nt(t,e){const n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}const rt={created(t,{modifiers:{lazy:e,trim:n,number:i}},o){t._assign=Q(o);const s=i||o.props&&"number"===o.props.type;S(t,e?"change":"input",(e=>{if(e.target.composing)return;let i=t.value;n?i=i.trim():s&&(i=(0,r.He)(i)),t._assign(i)})),n&&S(t,"change",(()=>{t.value=t.value.trim()})),e||(S(t,"compositionstart",tt),S(t,"compositionend",et),S(t,"change",et))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:i,number:o}},s){if(t._assign=Q(s),t.composing)return;if(document.activeElement===t){if(n)return;if(i&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,r.He)(t.value)===e)return}const a=null==e?"":e;t.value!==a&&(t.value=a)}};const it={deep:!0,created(t,{value:e,modifiers:{number:n}},i){const o=(0,r.DM)(e);S(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,r.He)(st(t)):st(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=Q(i)},mounted(t,{value:e}){ot(t,e)},beforeUpdate(t,e,n){t._assign=Q(n)},updated(t,{value:e}){ot(t,e)}};function ot(t,e){const n=t.multiple;if(!n||(0,r.kJ)(e)||(0,r.DM)(e)){for(let i=0,o=t.options.length;i-1:o.selected=e.has(s);else if((0,r.WV)(st(o),e))return void(t.selectedIndex!==i&&(t.selectedIndex=i))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function st(t){return"_value"in t?t._value:t.value}const at=["ctrl","shift","alt","meta"],ct={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>at.some((n=>t[`${n}Key`]&&!e.includes(n)))},lt=(t,e)=>(n,...r)=>{for(let t=0;tn=>{if(!("key"in n))return;const i=(0,r.rs)(n.key);return e.some((t=>t===i||ut[t]===i))?t(n):void 0};const ft=(0,r.l7)({patchProp:A},c);let dt;function pt(){return dt||(dt=(0,i.Us)(ft))}const gt=(...t)=>{pt().render(...t)},mt=(...t)=>{const e=pt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=bt(t);if(!i)return;const o=e._component;(0,r.mf)(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const s=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},e};function bt(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{Z6:function(){return x},kT:function(){return y},NO:function(){return w},dG:function(){return _},_A:function(){return Y},kC:function(){return X},Nj:function(){return tt},l7:function(){return O},E9:function(){return rt},aU:function(){return K},RI:function(){return T},rs:function(){return J},yA:function(){return c},ir:function(){return Q},kJ:function(){return D},mf:function(){return L},e1:function(){return o},S0:function(){return $},_N:function(){return E},tR:function(){return S},Kn:function(){return I},F7:function(){return M},PO:function(){return B},tI:function(){return N},Gg:function(){return U},DM:function(){return j},Pq:function(){return a},HD:function(){return F},yk:function(){return R},WV:function(){return g},hq:function(){return m},fY:function(){return r},C_:function(){return d},j5:function(){return l},Od:function(){return C},zw:function(){return b},hR:function(){return G},He:function(){return et},W7:function(){return H}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);const s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",a=r(s);function c(t){return!!t||""===t}function l(t){if(D(t)){const e={};for(let n=0;n{if(t){const n=t.split(h);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function d(t){let e="";if(F(t))e=t;else if(D(t))for(let n=0;ng(t,e)))}const b=t=>F(t)?t:null==t?"":D(t)||I(t)&&(t.toString===W||!L(t.toString))?JSON.stringify(t,v,2):String(t),v=(t,e)=>e&&e.__v_isRef?v(t,e.value):E(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:j(e)?{[`Set(${e.size})`]:[...e.values()]}:!I(e)||D(e)||B(e)?e:String(e),y={},x=[],_=()=>{},w=()=>!1,k=/^on[^a-z]/,M=t=>k.test(t),S=t=>t.startsWith("onUpdate:"),O=Object.assign,C=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},P=Object.prototype.hasOwnProperty,T=(t,e)=>P.call(t,e),D=Array.isArray,E=t=>"[object Map]"===z(t),j=t=>"[object Set]"===z(t),A=t=>t instanceof Date,L=t=>"function"===typeof t,F=t=>"string"===typeof t,R=t=>"symbol"===typeof t,I=t=>null!==t&&"object"===typeof t,N=t=>I(t)&&L(t.then)&&L(t.catch),W=Object.prototype.toString,z=t=>W.call(t),H=t=>z(t).slice(8,-1),B=t=>"[object Object]"===z(t),$=t=>F(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,U=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),V=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Z=/-(\w)/g,Y=V((t=>t.replace(Z,((t,e)=>e?e.toUpperCase():"")))),q=/\B([A-Z])/g,J=V((t=>t.replace(q,"-$1").toLowerCase())),X=V((t=>t.charAt(0).toUpperCase()+t.slice(1))),G=V((t=>t?`on${X(t)}`:"")),K=(t,e)=>!Object.is(t,e),Q=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},et=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let nt;const rt=()=>nt||(nt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},9669:function(t,e,n){t.exports=n(1609)},5448:function(t,e,n){"use strict";var r=n(4867),i=n(6026),o=n(4372),s=n(5327),a=n(4097),c=n(4109),l=n(7985),u=n(5061),h=n(5655),f=n(5263);t.exports=function(t){return new Promise((function(e,n){var d,p=t.data,g=t.headers,m=t.responseType;function b(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(p)&&delete g["Content-Type"];var v=new XMLHttpRequest;if(t.auth){var y=t.auth.username||"",x=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(y+":"+x)}var _=a(t.baseURL,t.url);function w(){if(v){var r="getAllResponseHeaders"in v?c(v.getAllResponseHeaders()):null,o=m&&"text"!==m&&"json"!==m?v.response:v.responseText,s={data:o,status:v.status,statusText:v.statusText,headers:r,config:t,request:v};i((function(t){e(t),b()}),(function(t){n(t),b()}),s),v=null}}if(v.open(t.method.toUpperCase(),s(_,t.params,t.paramsSerializer),!0),v.timeout=t.timeout,"onloadend"in v?v.onloadend=w:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(w)},v.onabort=function(){v&&(n(u("Request aborted",t,"ECONNABORTED",v)),v=null)},v.onerror=function(){n(u("Network Error",t,null,v)),v=null},v.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||h.transitional;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(u(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",v)),v=null},r.isStandardBrowserEnv()){var k=(t.withCredentials||l(_))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;k&&(g[t.xsrfHeaderName]=k)}"setRequestHeader"in v&&r.forEach(g,(function(t,e){"undefined"===typeof p&&"content-type"===e.toLowerCase()?delete g[e]:v.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(v.withCredentials=!!t.withCredentials),m&&"json"!==m&&(v.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&v.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&v.upload&&v.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){v&&(n(!t||t&&t.type?new f("canceled"):t),v.abort(),v=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),p||(p=null),v.send(p)}))}},1609:function(t,e,n){"use strict";var r=n(4867),i=n(1849),o=n(321),s=n(7185),a=n(5655);function c(t){var e=new o(t),n=i(o.prototype.request,e);return r.extend(n,o.prototype,e),r.extend(n,e),n.create=function(e){return c(s(t,e))},n}var l=c(a);l.Axios=o,l.Cancel=n(5263),l.CancelToken=n(4972),l.isCancel=n(6502),l.VERSION=n(7288).version,l.all=function(t){return Promise.all(t)},l.spread=n(8713),l.isAxiosError=n(6268),t.exports=l,t.exports["default"]=l},5263:function(t){"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:function(t,e,n){"use strict";var r=n(5263);function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){u.headers[t]=r.merge(s)})),t.exports=u},7288:function(t){t.exports={version:"0.26.0"}},1849:function(t){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([n]):s[e]?s[e]+", "+n:n}})),s):s}},8713:function(t){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:function(t,e,n){"use strict";var r=n(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var o={};function s(t,e,n){if("object"!==typeof t)throw new TypeError("options must be an object");var r=Object.keys(t),i=r.length;while(i-- >0){var o=r[i],s=e[o];if(s){var a=t[o],c=void 0===a||s(a,o,t);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==n)throw Error("Unknown option "+o)}}i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,s){if(!1===t)throw new Error(i(r," has been removed"+(e?" in "+e:"")));return e&&!o[r]&&(o[r]=!0,console.warn(i(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}},t.exports={assertOptions:s,validators:i}},4867:function(t,e,n){"use strict";var r=n(1849),i=Object.prototype.toString;function o(t){return Array.isArray(t)}function s(t){return"undefined"===typeof t}function a(t){return null!==t&&!s(t)&&null!==t.constructor&&!s(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function c(t){return"[object ArrayBuffer]"===i.call(t)}function l(t){return"[object FormData]"===i.call(t)}function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&c(t.buffer),e}function h(t){return"string"===typeof t}function f(t){return"number"===typeof t}function d(t){return null!==t&&"object"===typeof t}function p(t){if("[object Object]"!==i.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function g(t){return"[object Date]"===i.call(t)}function m(t){return"[object File]"===i.call(t)}function b(t){return"[object Blob]"===i.call(t)}function v(t){return"[object Function]"===i.call(t)}function y(t){return d(t)&&v(t.pipe)}function x(t){return"[object URLSearchParams]"===i.call(t)}function _(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function k(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),o(t))for(var n=0,r=t.length;n{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&p)>0,l=t=>(t.n&p)>0,u=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===e||e>=i)&&l.push(t)}));else switch(void 0!==n&&l.push(c.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&l.push(c.get("length")):(l.push(c.get(b)),(0,r._N)(t)&&l.push(c.get(v)));break;case"delete":(0,r.kJ)(t)||(l.push(c.get(b)),(0,r._N)(t)&&l.push(c.get(v)));break;case"set":(0,r._N)(t)&&l.push(c.get(b));break}if(1===l.length)l[0]&&P(l[0]);else{const t=[];for(const e of l)e&&t.push(...e);P(a(t))}}function P(t,e){for(const n of(0,r.kJ)(t)?t:[...t])(n!==m||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const T=(0,r.fY)("__proto__,__v_isRef,__isVue"),D=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(r.yk)),E=I(),j=I(!1,!0),A=I(!0),L=F();function F(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e{t[e]=function(...t){k();const n=Ct(this)[e].apply(this,t);return M(),n}})),t}function I(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&o===(t?e?mt:gt:e?pt:dt).get(n))return n;const s=(0,r.kJ)(n);if(!t&&s&&(0,r.RI)(L,i))return Reflect.get(L,i,o);const a=Reflect.get(n,i,o);if((0,r.yk)(i)?D.has(i):T(i))return a;if(t||S(n,"get",i),e)return a;if(At(a)){const t=!s||!(0,r.S0)(i);return t?a.value:a}return(0,r.Kn)(a)?t?_t(a):yt(a):a}}const R=W(),N=W(!0);function W(t=!1){return function(e,n,i,o){let s=e[n];if(Mt(s)&&At(s)&&!At(i))return!1;if(!t&&!Mt(i)&&(St(i)||(i=Ct(i),s=Ct(s)),!(0,r.kJ)(e)&&At(s)&&!At(i)))return s.value=i,!0;const a=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,Y=t=>Reflect.getPrototypeOf(t);function q(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ct(t),o=Ct(e);e!==o&&!n&&S(i,"get",e),!n&&S(i,"get",o);const{has:s}=Y(i),a=r?Z:n?Dt:Tt;return s.call(i,e)?a(t.get(e)):s.call(i,o)?a(t.get(o)):void(t!==i&&t.get(e))}function J(t,e=!1){const n=this["__v_raw"],r=Ct(n),i=Ct(t);return t!==i&&!e&&S(r,"has",t),!e&&S(r,"has",i),t===i?n.has(t):n.has(t)||n.has(i)}function G(t,e=!1){return t=t["__v_raw"],!e&&S(Ct(t),"iterate",b),Reflect.get(t,"size",t)}function X(t){t=Ct(t);const e=Ct(this),n=Y(e),r=n.has.call(e,t);return r||(e.add(t),C(e,"add",t,t)),this}function K(t,e){e=Ct(e);const n=Ct(this),{has:i,get:o}=Y(n);let s=i.call(n,t);s||(t=Ct(t),s=i.call(n,t));const a=o.call(n,t);return n.set(t,e),s?(0,r.aU)(e,a)&&C(n,"set",t,e,a):C(n,"add",t,e),this}function Q(t){const e=Ct(this),{has:n,get:r}=Y(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,s=e.delete(t);return i&&C(e,"delete",t,void 0,o),s}function tt(){const t=Ct(this),e=0!==t.size,n=void 0,r=t.clear();return e&&C(t,"clear",void 0,void 0,n),r}function et(t,e){return function(n,r){const i=this,o=i["__v_raw"],s=Ct(o),a=e?Z:t?Dt:Tt;return!t&&S(s,"iterate",b),o.forEach(((t,e)=>n.call(r,a(t),a(e),i)))}}function nt(t,e,n){return function(...i){const o=this["__v_raw"],s=Ct(o),a=(0,r._N)(s),c="entries"===t||t===Symbol.iterator&&a,l="keys"===t&&a,u=o[t](...i),h=n?Z:e?Dt:Tt;return!e&&S(s,"iterate",l?v:b),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:c?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function rt(t){return function(...e){return"delete"!==t&&this}}function it(){const t={get(t){return q(this,t)},get size(){return G(this)},has:J,add:X,set:K,delete:Q,clear:tt,forEach:et(!1,!1)},e={get(t){return q(this,t,!1,!0)},get size(){return G(this)},has:J,add:X,set:K,delete:Q,clear:tt,forEach:et(!1,!0)},n={get(t){return q(this,t,!0)},get size(){return G(this,!0)},has(t){return J.call(this,t,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:et(!0,!1)},r={get(t){return q(this,t,!0,!0)},get size(){return G(this,!0)},has(t){return J.call(this,t,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:et(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=nt(i,!1,!1),n[i]=nt(i,!0,!1),e[i]=nt(i,!1,!0),r[i]=nt(i,!0,!0)})),[t,n,e,r]}const[ot,st,at,ct]=it();function lt(t,e){const n=e?t?ct:at:t?st:ot;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,r.RI)(n,i)&&i in e?n:e,i,o)}const ut={get:lt(!1,!1)},ht={get:lt(!1,!0)},ft={get:lt(!0,!1)};const dt=new WeakMap,pt=new WeakMap,gt=new WeakMap,mt=new WeakMap;function bt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:bt((0,r.W7)(t))}function yt(t){return Mt(t)?t:wt(t,!1,B,ut,dt)}function xt(t){return wt(t,!1,V,ht,pt)}function _t(t){return wt(t,!0,U,ft,gt)}function wt(t,e,n,i,o){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const s=o.get(t);if(s)return s;const a=vt(t);if(0===a)return t;const c=new Proxy(t,2===a?i:n);return o.set(t,c),c}function kt(t){return Mt(t)?kt(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function Mt(t){return!(!t||!t["__v_isReadonly"])}function St(t){return!(!t||!t["__v_isShallow"])}function Ot(t){return kt(t)||Mt(t)}function Ct(t){const e=t&&t["__v_raw"];return e?Ct(e):t}function Pt(t){return(0,r.Nj)(t,"__v_skip",!0),t}const Tt=t=>(0,r.Kn)(t)?yt(t):t,Dt=t=>(0,r.Kn)(t)?_t(t):t;function Et(t){_&&m&&(t=Ct(t),O(t.dep||(t.dep=a())))}function jt(t,e){t=Ct(t),t.dep&&P(t.dep)}function At(t){return!(!t||!0!==t.__v_isRef)}function Lt(t){return It(t,!1)}function Ft(t){return It(t,!0)}function It(t,e){return At(t)?t:new Rt(t,e)}class Rt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:Tt(t)}get value(){return Et(this),this._value}set value(t){t=this.__v_isShallow?t:Ct(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Tt(t),jt(this,t))}}function Nt(t){return At(t)?t.value:t}const Wt={get:(t,e,n)=>Nt(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return At(i)&&!At(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function zt(t){return kt(t)?t:new Proxy(t,Wt)}function Ht(t){const e=(0,r.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=Bt(t,n);return e}class $t{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Bt(t,e,n){const r=t[e];return At(r)?r:new $t(t,e,n)}class Ut{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new y(t,(()=>{this._dirty||(this._dirty=!0,jt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Ct(this);return Et(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Vt(t,e,n=!1){let i,o;const s=(0,r.mf)(t);s?(i=t,o=r.dG):(i=t.get,o=t.set);const a=new Ut(i,o,s||!o,n);return a}Promise.resolve()},6252:function(t,e,n){"use strict";n.d(e,{P$:function(){return ct},HY:function(){return He},lR:function(){return Ae},xv:function(){return $e},$d:function(){return s},Fl:function(){return Vn},j4:function(){return Qe},kq:function(){return dn},iD:function(){return Ke},_:function(){return sn},Us:function(){return _e},uE:function(){return fn},Uk:function(){return hn},Wm:function(){return an},aZ:function(){return gt},FN:function(){return Tn},Q6:function(){return pt},h:function(){return Zn},f3:function(){return K},dG:function(){return bn},Y3:function(){return w},wF:function(){return Ct},Jd:function(){return Et},bv:function(){return Pt},Ah:function(){return jt},ic:function(){return Dt},wg:function(){return Ye},Cn:function(){return H},JJ:function(){return X},dD:function(){return z},Ko:function(){return yn},WI:function(){return xn},up:function(){return Ie},Q2:function(){return Ne},U2:function(){return ut},nK:function(){return dt},Y8:function(){return ot},YP:function(){return tt},w5:function(){return $},wy:function(){return de}});var r=n(2262),i=n(3577);function o(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){a(o,e,n)}return i}function s(t,e,n,r){if((0,i.mf)(t)){const s=o(t,e,n,r);return s&&(0,i.tI)(s)&&s.catch((t=>{a(t,e,n)})),s}const c=[];for(let i=0;i>>1,i=j(h[r]);if&&h.splice(e,1)}function C(t,e,n,r){(0,i.kJ)(t)?n.push(...t):e&&e.includes(t,t.allowRecurse?r+1:r)||n.push(t),S()}function P(t){C(t,p,d,g)}function T(t){C(t,b,m,v)}function D(t,e=null){if(d.length){for(_=e,p=[...new Set(d)],d.length=0,g=0;gj(t)-j(e))),v=0;vnull==t.id?1/0:t.id;function A(t){u=!1,l=!0,D(t),h.sort(((t,e)=>j(t)-j(e)));i.dG;try{for(f=0;ft.trim())):e&&(o=n.map(i.He))}let l;let u=r[l=(0,i.hR)(e)]||r[l=(0,i.hR)((0,i._A)(e))];!u&&a&&(u=r[l=(0,i.hR)((0,i.rs)(e))]),u&&s(u,t,6,o);const h=r[l+"Once"];if(h){if(t.emitted){if(t.emitted[l])return}else t.emitted={};t.emitted[l]=!0,s(h,t,6,o)}}function F(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const s=t.emits;let a={},c=!1;if(!(0,i.mf)(t)){const r=t=>{const n=F(t,e,!0);n&&(c=!0,(0,i.l7)(a,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return s||c?((0,i.kJ)(s)?s.forEach((t=>a[t]=null)):(0,i.l7)(a,s),r.set(t,a),a):(r.set(t,null),null)}function I(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let R=null,N=null;function W(t){const e=R;return R=t,N=t&&t.type.__scopeId||null,e}function z(t){N=t}function H(){N=null}function $(t,e=R,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Ge(-1);const i=W(e),o=t(...n);return W(i),r._d&&Ge(1),o};return r._n=!0,r._c=!0,r._d=!0,r}function B(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[c],slots:l,attrs:u,emit:h,render:f,renderCache:d,data:p,setupState:g,ctx:m,inheritAttrs:b}=t;let v,y;const x=W(t);try{if(4&n.shapeFlag){const t=o||r;v=pn(f.call(t,t,d,s,g,p,m)),y=u}else{const t=e;0,v=pn(t.length>1?t(s,{attrs:u,slots:l,emit:h}):t(s,null)),y=e.props?u:U(u)}}catch(w){Ve.length=0,a(w,t,1),v=an(Be)}let _=v;if(y&&!1!==b){const t=Object.keys(y),{shapeFlag:e}=_;t.length&&7&e&&(c&&t.some(i.tR)&&(y=V(y,c)),_=un(_,y))}return n.dirs&&(_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),v=_,W(x),v}const U=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},V=(t,e)=>{const n={};for(const r in t)(0,i.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function Z(t,e,n){const{props:r,children:i,component:o}=t,{props:s,children:a,patchFlag:c}=e,l=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&c>=0))return!(!i&&!a||a&&a.$stable)||r!==s&&(r?!s||Y(r,s,l):!!s);if(1024&c)return!0;if(16&c)return r?Y(r,s,l):!!s;if(8&c){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function G(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):T(t)}function X(t,e){if(Pn){let n=Pn.provides;const r=Pn.parent&&Pn.parent.provides;r===n&&(n=Pn.provides=Object.create(r)),n[t]=e}else 0}function K(t,e,n=!1){const r=Pn||R;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(r.proxy):e}else 0}const Q={};function tt(t,e,n){return et(t,e,n)}function et(t,e,{immediate:n,deep:a,flush:c,onTrack:l,onTrigger:u}=i.kT){const h=Pn;let f,d,p=!1,g=!1;if((0,r.dq)(t)?(f=()=>t.value,p=(0,r.yT)(t)):(0,r.PG)(t)?(f=()=>t,a=!0):(0,i.kJ)(t)?(g=!0,p=t.some(r.PG),f=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?it(t):(0,i.mf)(t)?o(t,h,2):void 0))):f=(0,i.mf)(t)?e?()=>o(t,h,2):()=>{if(!h||!h.isUnmounted)return d&&d(),s(t,h,3,[m])}:i.dG,e&&a){const t=f;f=()=>it(t())}let m=t=>{d=x.onStop=()=>{o(t,h,4)}};if(Fn)return m=i.dG,e?n&&s(e,h,3,[f(),g?[]:void 0,m]):f(),i.dG;let b=g?[]:Q;const v=()=>{if(x.active)if(e){const t=x.run();(a||p||(g?t.some(((t,e)=>(0,i.aU)(t,b[e]))):(0,i.aU)(t,b)))&&(d&&d(),s(e,h,3,[t,b===Q?void 0:b,m]),b=t)}else x.run()};let y;v.allowRecurse=!!e,y="sync"===c?v:"post"===c?()=>xe(v,h&&h.suspense):()=>{!h||h.isMounted?P(v):v()};const x=new r.qq(f,y);return e?n?v():b=x.run():"post"===c?xe(x.run.bind(x),h&&h.suspense):x.run(),()=>{x.stop(),h&&h.scope&&(0,i.Od)(h.scope.effects,x)}}function nt(t,e,n){const r=this.proxy,o=(0,i.HD)(t)?t.includes(".")?rt(r,t):()=>r[t]:t.bind(r,r);let s;(0,i.mf)(e)?s=e:(s=e.handler,n=e);const a=Pn;Dn(this);const c=et(o,s.bind(r),n);return a?Dn(a):En(),c}function rt(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{it(t,e)}));else if((0,i.PO)(t))for(const n in t)it(t[n],e);return t}function ot(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Pt((()=>{t.isMounted=!0})),Et((()=>{t.isUnmounting=!0})),t}const st=[Function,Array],at={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:st,onEnter:st,onAfterEnter:st,onEnterCancelled:st,onBeforeLeave:st,onLeave:st,onAfterLeave:st,onLeaveCancelled:st,onBeforeAppear:st,onAppear:st,onAfterAppear:st,onAppearCancelled:st},setup(t,{slots:e}){const n=Tn(),i=ot();let o;return()=>{const s=e.default&&pt(e.default(),!0);if(!s||!s.length)return;const a=(0,r.IU)(t),{mode:c}=a;const l=s[0];if(i.isLeaving)return ht(l);const u=ft(l);if(!u)return ht(l);const h=ut(u,a,i,n);dt(u,h);const f=n.subTree,d=f&&ft(f);let p=!1;const{getTransitionKey:g}=u.type;if(g){const t=g();void 0===o?o=t:t!==o&&(o=t,p=!0)}if(d&&d.type!==Be&&(!en(u,d)||p)){const t=ut(d,a,i,n);if(dt(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},ht(l);"in-out"===c&&u.type!==Be&&(t.delayLeave=(t,e,n)=>{const r=lt(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return l}}},ct=at;function lt(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function ut(t,e,n,r){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:h,onBeforeLeave:f,onLeave:d,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:m,onAppear:b,onAfterAppear:v,onAppearCancelled:y}=e,x=String(t.key),_=lt(n,t),w=(t,e)=>{t&&s(t,r,9,e)},k={mode:o,persisted:a,beforeEnter(e){let r=c;if(!n.isMounted){if(!i)return;r=m||c}e._leaveCb&&e._leaveCb(!0);const o=_[x];o&&en(t,o)&&o.el._leaveCb&&o.el._leaveCb(),w(r,[e])},enter(t){let e=l,r=u,o=h;if(!n.isMounted){if(!i)return;e=b||l,r=v||u,o=y||h}let s=!1;const a=t._enterCb=e=>{s||(s=!0,w(e?o:r,[t]),k.delayedLeave&&k.delayedLeave(),t._enterCb=void 0)};e?(e(t,a),e.length<=1&&a()):a()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();w(f,[e]);let o=!1;const s=e._leaveCb=n=>{o||(o=!0,r(),w(n?g:p,[e]),e._leaveCb=void 0,_[i]===t&&delete _[i])};_[i]=t,d?(d(e,s),d.length<=1&&s()):s()},clone(t){return ut(t,e,n,r)}};return k}function ht(t){if(bt(t))return t=un(t),t.children=null,t}function ft(t){return bt(t)?t.children?t.children[0]:void 0:t}function dt(t,e){6&t.shapeFlag&&t.component?dt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function pt(t,e=!1){let n=[],r=0;for(let i=0;i1)for(let i=0;i!!t.type.__asyncLoader;const bt=t=>t.type.__isKeepAlive;RegExp,RegExp;function vt(t,e){return(0,i.kJ)(t)?t.some((t=>vt(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function yt(t,e){_t(t,"a",e)}function xt(t,e){_t(t,"da",e)}function _t(t,e,n=Pn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(St(e,r,n),n){let t=n.parent;while(t&&t.parent)bt(t.parent.vnode)&&wt(r,e,n,t),t=t.parent}}function wt(t,e,n,r){const o=St(e,t,r,!0);jt((()=>{(0,i.Od)(r[e],o)}),n)}function kt(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function Mt(t){return 128&t.shapeFlag?t.ssContent:t}function St(t,e,n=Pn,i=!1){if(n){const o=n[t]||(n[t]=[]),a=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,r.Jd)(),Dn(n);const o=s(e,n,t,i);return En(),(0,r.lk)(),o});return i?o.unshift(a):o.push(a),a}}const Ot=t=>(e,n=Pn)=>(!Fn||"sp"===t)&&St(t,e,n),Ct=Ot("bm"),Pt=Ot("m"),Tt=Ot("bu"),Dt=Ot("u"),Et=Ot("bum"),jt=Ot("um"),At=Ot("sp"),Lt=Ot("rtg"),Ft=Ot("rtc");function It(t,e=Pn){St("ec",t,e)}let Rt=!0;function Nt(t){const e=$t(t),n=t.proxy,o=t.ctx;Rt=!1,e.beforeCreate&&zt(e.beforeCreate,t,"bc");const{data:s,computed:a,methods:c,watch:l,provide:u,inject:h,created:f,beforeMount:d,mounted:p,beforeUpdate:g,updated:m,activated:b,deactivated:v,beforeDestroy:y,beforeUnmount:x,destroyed:_,unmounted:w,render:k,renderTracked:M,renderTriggered:S,errorCaptured:O,serverPrefetch:C,expose:P,inheritAttrs:T,components:D,directives:E,filters:j}=e,A=null;if(h&&Wt(h,o,A,t.appContext.config.unwrapInjectedRef),c)for(const r in c){const t=c[r];(0,i.mf)(t)&&(o[r]=t.bind(n))}if(s){0;const e=s.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,r.qj)(e))}if(Rt=!0,a)for(const r in a){const t=a[r],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const s=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,c=Vn({get:e,set:s});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>c.value,set:t=>c.value=t})}if(l)for(const r in l)Ht(l[r],o,n,r);if(u){const t=(0,i.mf)(u)?u.call(n):u;Reflect.ownKeys(t).forEach((e=>{X(e,t[e])}))}function L(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(f&&zt(f,t,"c"),L(Ct,d),L(Pt,p),L(Tt,g),L(Dt,m),L(yt,b),L(xt,v),L(It,O),L(Ft,M),L(Lt,S),L(Et,x),L(jt,w),L(At,C),(0,i.kJ)(P))if(P.length){const e=t.exposed||(t.exposed={});P.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===i.dG&&(t.render=k),null!=T&&(t.inheritAttrs=T),D&&(t.components=D),E&&(t.directives=E)}function Wt(t,e,n=i.dG,o=!1){(0,i.kJ)(t)&&(t=Yt(t));for(const s in t){const n=t[s];let a;a=(0,i.Kn)(n)?"default"in n?K(n.from||s,n.default,!0):K(n.from||s):K(n),(0,r.dq)(a)&&o?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>a.value,set:t=>a.value=t}):e[s]=a}}function zt(t,e,n){s((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Ht(t,e,n,r){const o=r.includes(".")?rt(n,r):()=>n[r];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&tt(o,n)}else if((0,i.mf)(t))tt(o,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Ht(t,e,n,r)));else{const r=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(r)&&tt(o,r,t)}else 0}function $t(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:i,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,a=o.get(e);let c;return a?c=a:i.length||n||r?(c={},i.length&&i.forEach((t=>Bt(c,t,s,!0))),Bt(c,e,s)):c=e,o.set(e,c),c}function Bt(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&Bt(t,o,n,!0),i&&i.forEach((e=>Bt(t,e,n,!0)));for(const s in e)if(r&&"expose"===s);else{const r=Ut[s]||n&&n[s];t[s]=r?r(t[s],e[s]):e[s]}return t}const Ut={data:Vt,props:Jt,emits:Jt,methods:Jt,computed:Jt,beforeCreate:qt,created:qt,beforeMount:qt,mounted:qt,beforeUpdate:qt,updated:qt,beforeDestroy:qt,beforeUnmount:qt,destroyed:qt,unmounted:qt,activated:qt,deactivated:qt,errorCaptured:qt,serverPrefetch:qt,components:Jt,directives:Jt,watch:Gt,provide:Vt,inject:Zt};function Vt(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function Zt(t,e){return Jt(Yt(t),Yt(e))}function Yt(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&c){let r;Qt(t,e,s,a)&&(h=!0);for(const o in l)e&&((0,i.RI)(e,o)||(r=(0,i.rs)(o))!==o&&(0,i.RI)(e,r))||(u?!n||void 0===n[o]&&void 0===n[r]||(s[o]=te(u,l,o,void 0,t,!0)):delete s[o]);if(a!==l)for(const t in a)e&&(0,i.RI)(e,t)||(delete a[t],h=!0)}else if(8&c){const n=t.vnode.dynamicProps;for(let r=0;r{l=!0;const[n,r]=ee(t,e,!0);(0,i.l7)(a,n),r&&c.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!s&&!l)return r.set(t,i.Z6),i.Z6;if((0,i.kJ)(s))for(let h=0;h-1,r[1]=n<0||t-1||(0,i.RI)(r,"default"))&&c.push(e)}}}}const u=[a,c];return r.set(t,u),u}function ne(t){return"$"!==t[0]}function re(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function ie(t,e){return re(t)===re(e)}function oe(t,e){return(0,i.kJ)(e)?e.findIndex((e=>ie(e,t))):(0,i.mf)(e)&&ie(e,t)?0:-1}const se=t=>"_"===t[0]||"$stable"===t,ae=t=>(0,i.kJ)(t)?t.map(pn):[pn(t)],ce=(t,e,n)=>{const r=$(((...t)=>ae(e(...t))),n);return r._c=!1,r},le=(t,e,n)=>{const r=t._ctx;for(const o in t){if(se(o))continue;const n=t[o];if((0,i.mf)(n))e[o]=ce(o,n,r);else if(null!=n){0;const t=ae(n);e[o]=()=>t}}},ue=(t,e)=>{const n=ae(e);t.slots.default=()=>n},he=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,i.Nj)(e,"_",n)):le(e,t.slots={})}else t.slots={},e&&ue(t,e);(0,i.Nj)(t.slots,nn,1)},fe=(t,e,n)=>{const{vnode:r,slots:o}=t;let s=!0,a=i.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?s=!1:((0,i.l7)(o,e),n||1!==t||delete o._):(s=!e.$stable,le(e,o)),a=e}else e&&(ue(t,e),a={default:1});if(s)for(const i in o)se(i)||i in a||delete o[i]};function de(t,e){const n=R;if(null===n)return t;const r=n.proxy,o=t.dirs||(t.dirs=[]);for(let s=0;sve(t,e&&((0,i.kJ)(e)?e[r]:e),n,s,a)));if(mt(s)&&!a)return;const c=4&s.shapeFlag?$n(s.component)||s.component.proxy:s.el,l=a?null:c,{i:u,r:h}=t;const f=e&&e.r,d=u.refs===i.kT?u.refs={}:u.refs,p=u.setupState;if(null!=f&&f!==h&&((0,i.HD)(f)?(d[f]=null,(0,i.RI)(p,f)&&(p[f]=null)):(0,r.dq)(f)&&(f.value=null)),(0,i.mf)(h))o(h,u,12,[l,d]);else{const e=(0,i.HD)(h),o=(0,r.dq)(h);if(e||o){const o=()=>{if(t.f){const n=e?d[h]:h.value;a?(0,i.kJ)(n)&&(0,i.Od)(n,c):(0,i.kJ)(n)?n.includes(c)||n.push(c):e?d[h]=[c]:(h.value=[c],t.k&&(d[t.k]=h.value))}else e?(d[h]=l,(0,i.RI)(p,h)&&(p[h]=l)):(0,r.dq)(h)&&(h.value=l,t.k&&(d[t.k]=l))};l?(o.id=-1,xe(o,n)):o()}else 0}}function ye(){}const xe=G;function _e(t){return we(t)}function we(t,e){ye();const n=(0,i.E9)();n.__VUE__=!0;const{insert:o,remove:s,patchProp:a,createElement:c,createText:l,createComment:u,setText:h,setElementText:f,parentNode:d,nextSibling:p,setScopeId:g=i.dG,cloneNode:m,insertStaticContent:b}=t,v=(t,e,n,r=null,i=null,o=null,s=!1,a=null,c=!!e.dynamicChildren)=>{if(t===e)return;t&&!en(t,e)&&(r=Q(t),Y(t,i,o,!0),t=null),-2===e.patchFlag&&(c=!1,e.dynamicChildren=null);const{type:l,ref:u,shapeFlag:h}=e;switch(l){case $e:y(t,e,n,r);break;case Be:x(t,e,n,r);break;case Ue:null==t&&_(e,n,r,s);break;case He:F(t,e,n,r,i,o,s,a,c);break;default:1&h?S(t,e,n,r,i,o,s,a,c):6&h?I(t,e,n,r,i,o,s,a,c):(64&h||128&h)&&l.process(t,e,n,r,i,o,s,a,c,et)}null!=u&&i&&ve(u,t&&t.ref,o,e||t,!e)},y=(t,e,n,r)=>{if(null==t)o(e.el=l(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},x=(t,e,n,r)=>{null==t?o(e.el=u(e.children||""),n,r):e.el=t.el},_=(t,e,n,r)=>{[t.el,t.anchor]=b(t.children,e,n,r,t.el,t.anchor)},w=({el:t,anchor:e},n,r)=>{let i;while(t&&t!==e)i=p(t),o(t,n,r),t=i;o(e,n,r)},k=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=p(t),s(t),t=n;s(e)},S=(t,e,n,r,i,o,s,a,c)=>{s=s||"svg"===e.type,null==t?C(e,n,r,i,o,s,a,c):j(t,e,i,o,s,a,c)},C=(t,e,n,r,s,l,u,h)=>{let d,p;const{type:g,props:b,shapeFlag:v,transition:y,patchFlag:x,dirs:_}=t;if(t.el&&void 0!==m&&-1===x)d=t.el=m(t.el);else{if(d=t.el=c(t.type,l,b&&b.is,b),8&v?f(d,t.children):16&v&&T(t.children,d,null,r,s,l&&"foreignObject"!==g,u,h),_&&pe(t,null,r,"created"),b){for(const e in b)"value"===e||(0,i.Gg)(e)||a(d,e,null,b[e],l,t.children,r,s,K);"value"in b&&a(d,"value",null,b.value),(p=b.onVnodeBeforeMount)&&vn(p,r,t)}P(d,t,t.scopeId,u,r)}_&&pe(t,null,r,"beforeMount");const w=(!s||s&&!s.pendingBranch)&&y&&!y.persisted;w&&y.beforeEnter(d),o(d,e,n),((p=b&&b.onVnodeMounted)||w||_)&&xe((()=>{p&&vn(p,r,t),w&&y.enter(d),_&&pe(t,null,r,"mounted")}),s)},P=(t,e,n,r,i)=>{if(n&&g(t,n),r)for(let o=0;o{for(let l=c;l{const l=e.el=t.el;let{patchFlag:u,dynamicChildren:h,dirs:d}=e;u|=16&t.patchFlag;const p=t.props||i.kT,g=e.props||i.kT;let m;n&&ke(n,!1),(m=g.onVnodeBeforeUpdate)&&vn(m,n,e,t),d&&pe(e,t,n,"beforeUpdate"),n&&ke(n,!0);const b=o&&"foreignObject"!==e.type;if(h?A(t.dynamicChildren,h,l,n,r,b,s):c||H(t,e,l,null,n,r,b,s,!1),u>0){if(16&u)L(l,e,p,g,n,r,o);else if(2&u&&p.class!==g.class&&a(l,"class",null,g.class,o),4&u&&a(l,"style",p.style,g.style,o),8&u){const i=e.dynamicProps;for(let e=0;e{m&&vn(m,n,e,t),d&&pe(e,t,n,"updated")}),r)},A=(t,e,n,r,i,o,s)=>{for(let a=0;a{if(n!==r){for(const l in r){if((0,i.Gg)(l))continue;const u=r[l],h=n[l];u!==h&&"value"!==l&&a(t,l,h,u,c,e.children,o,s,K)}if(n!==i.kT)for(const l in n)(0,i.Gg)(l)||l in r||a(t,l,n[l],null,c,e.children,o,s,K);"value"in r&&a(t,"value",n.value,r.value)}},F=(t,e,n,r,i,s,a,c,u)=>{const h=e.el=t?t.el:l(""),f=e.anchor=t?t.anchor:l("");let{patchFlag:d,dynamicChildren:p,slotScopeIds:g}=e;g&&(c=c?c.concat(g):g),null==t?(o(h,n,r),o(f,n,r),T(e.children,n,f,i,s,a,c,u)):d>0&&64&d&&p&&t.dynamicChildren?(A(t.dynamicChildren,p,n,i,s,a,c),(null!=e.key||i&&e===i.subTree)&&Me(t,e,!0)):H(t,e,n,f,i,s,a,c,u)},I=(t,e,n,r,i,o,s,a,c)=>{e.slotScopeIds=a,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,s,c):R(e,n,r,i,o,s,c):N(t,e,c)},R=(t,e,n,r,i,o,s)=>{const a=t.component=Cn(t,r,i);if(bt(t)&&(a.ctx.renderer=et),In(a),a.asyncDep){if(i&&i.registerDep(a,W),!t.el){const t=a.subTree=an(Be);x(null,t,e,n)}}else W(a,t,e,n,i,o,s)},N=(t,e,n)=>{const r=e.component=t.component;if(Z(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void z(r,e,n);r.next=e,O(r.update),r.update()}else e.component=t.component,e.el=t.el,r.vnode=e},W=(t,e,n,o,s,a,c)=>{const l=()=>{if(t.isMounted){let e,{next:n,bu:r,u:o,parent:l,vnode:u}=t,h=n;0,ke(t,!1),n?(n.el=u.el,z(t,n,c)):n=u,r&&(0,i.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&vn(e,l,n,u),ke(t,!0);const f=B(t);0;const p=t.subTree;t.subTree=f,v(p,f,d(p.el),Q(p),t,s,a),n.el=f.el,null===h&&q(t,f.el),o&&xe(o,s),(e=n.props&&n.props.onVnodeUpdated)&&xe((()=>vn(e,l,n,u)),s)}else{let r;const{el:c,props:l}=e,{bm:u,m:h,parent:f}=t,d=mt(e);if(ke(t,!1),u&&(0,i.ir)(u),!d&&(r=l&&l.onVnodeBeforeMount)&&vn(r,f,e),ke(t,!0),c&&rt){const n=()=>{t.subTree=B(t),rt(c,t.subTree,t,s,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=B(t);0,v(null,r,n,o,t,s,a),e.el=r.el}if(h&&xe(h,s),!d&&(r=l&&l.onVnodeMounted)){const t=e;xe((()=>vn(r,f,t)),s)}256&e.shapeFlag&&t.a&&xe(t.a,s),t.isMounted=!0,e=n=o=null}},u=t.effect=new r.qq(l,(()=>M(t.update)),t.scope),h=t.update=u.run.bind(u);h.id=t.uid,ke(t,!0),h()},z=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,Kt(t,e.props,i,n),fe(t,e.children,n),(0,r.Jd)(),D(void 0,t.update),(0,r.lk)()},H=(t,e,n,r,i,o,s,a,c=!1)=>{const l=t&&t.children,u=t?t.shapeFlag:0,h=e.children,{patchFlag:d,shapeFlag:p}=e;if(d>0){if(128&d)return void U(l,h,n,r,i,o,s,a,c);if(256&d)return void $(l,h,n,r,i,o,s,a,c)}8&p?(16&u&&K(l,i,o),h!==l&&f(n,h)):16&u?16&p?U(l,h,n,r,i,o,s,a,c):K(l,i,o,!0):(8&u&&f(n,""),16&p&&T(h,n,r,i,o,s,a,c))},$=(t,e,n,r,o,s,a,c,l)=>{t=t||i.Z6,e=e||i.Z6;const u=t.length,h=e.length,f=Math.min(u,h);let d;for(d=0;dh?K(t,o,s,!0,!1,f):T(e,n,r,o,s,a,c,l,f)},U=(t,e,n,r,o,s,a,c,l)=>{let u=0;const h=e.length;let f=t.length-1,d=h-1;while(u<=f&&u<=d){const r=t[u],i=e[u]=l?gn(e[u]):pn(e[u]);if(!en(r,i))break;v(r,i,n,null,o,s,a,c,l),u++}while(u<=f&&u<=d){const r=t[f],i=e[d]=l?gn(e[d]):pn(e[d]);if(!en(r,i))break;v(r,i,n,null,o,s,a,c,l),f--,d--}if(u>f){if(u<=d){const t=d+1,i=td)while(u<=f)Y(t[u],o,s,!0),u++;else{const p=u,g=u,m=new Map;for(u=g;u<=d;u++){const t=e[u]=l?gn(e[u]):pn(e[u]);null!=t.key&&m.set(t.key,u)}let b,y=0;const x=d-g+1;let _=!1,w=0;const k=new Array(x);for(u=0;u=x){Y(r,o,s,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(b=g;b<=d;b++)if(0===k[b-g]&&en(r,e[b])){i=b;break}void 0===i?Y(r,o,s,!0):(k[i-g]=u+1,i>=w?w=i:_=!0,v(r,e[i],n,null,o,s,a,c,l),y++)}const M=_?Se(k):i.Z6;for(b=M.length-1,u=x-1;u>=0;u--){const t=g+u,i=e[t],f=t+1{const{el:s,type:a,transition:c,children:l,shapeFlag:u}=t;if(6&u)return void V(t.component.subTree,e,n,r);if(128&u)return void t.suspense.move(e,n,r);if(64&u)return void a.move(t,e,n,et);if(a===He){o(s,e,n);for(let t=0;tc.enter(s)),i);else{const{leave:t,delayLeave:r,afterLeave:i}=c,a=()=>o(s,e,n),l=()=>{t(s,(()=>{a(),i&&i()}))};r?r(s,a,l):l()}else o(s,e,n)},Y=(t,e,n,r=!1,i=!1)=>{const{type:o,props:s,ref:a,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:h,dirs:f}=t;if(null!=a&&ve(a,null,n,t,!0),256&u)return void e.ctx.deactivate(t);const d=1&u&&f,p=!mt(t);let g;if(p&&(g=s&&s.onVnodeBeforeUnmount)&&vn(g,e,t),6&u)X(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);d&&pe(t,null,e,"beforeUnmount"),64&u?t.type.remove(t,e,n,i,et,r):l&&(o!==He||h>0&&64&h)?K(l,e,n,!1,!0):(o===He&&384&h||!i&&16&u)&&K(c,e,n),r&&J(t)}(p&&(g=s&&s.onVnodeUnmounted)||d)&&xe((()=>{g&&vn(g,e,t),d&&pe(t,null,e,"unmounted")}),n)},J=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===He)return void G(n,r);if(e===Ue)return void k(t);const o=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,s=()=>e(n,o);r?r(t.el,o,s):s()}else o()},G=(t,e)=>{let n;while(t!==e)n=p(t),s(t),t=n;s(e)},X=(t,e,n)=>{const{bum:r,scope:o,update:s,subTree:a,um:c}=t;r&&(0,i.ir)(r),o.stop(),s&&(s.active=!1,Y(a,t,e,n)),c&&xe(c,e),xe((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},K=(t,e,n,r=!1,i=!1,o=0)=>{for(let s=o;s6&t.shapeFlag?Q(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),tt=(t,e,n)=>{null==t?e._vnode&&Y(e._vnode,null,null,!0):v(e._vnode||null,t,e,null,null,null,n),E(),e._vnode=t},et={p:v,um:Y,m:V,r:J,mt:R,mc:T,pc:H,pbc:A,n:Q,o:t};let nt,rt;return e&&([nt,rt]=e(et)),{render:tt,hydrate:nt,createApp:be(tt,nt)}}function ke({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Me(t,e,n=!1){const r=t.children,o=e.children;if((0,i.kJ)(r)&&(0,i.kJ)(o))for(let i=0;i>1,t[n[a]]0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,s=n[o-1];while(o-- >0)n[o]=s,s=e[s];return n}const Oe=t=>t.__isTeleport,Ce=t=>t&&(t.disabled||""===t.disabled),Pe=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,Te=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},De={__isTeleport:!0,process(t,e,n,r,i,o,s,a,c,l){const{mc:u,pc:h,pbc:f,o:{insert:d,querySelector:p,createText:g,createComment:m}}=l,b=Ce(e.props);let{shapeFlag:v,children:y,dynamicChildren:x}=e;if(null==t){const t=e.el=g(""),l=e.anchor=g("");d(t,n,r),d(l,n,r);const h=e.target=Te(e.props,p),f=e.targetAnchor=g("");h&&(d(f,h),s=s||Pe(h));const m=(t,e)=>{16&v&&u(y,t,e,i,o,s,a,c)};b?m(n,l):h&&m(h,f)}else{e.el=t.el;const r=e.anchor=t.anchor,u=e.target=t.target,d=e.targetAnchor=t.targetAnchor,g=Ce(t.props),m=g?n:u,v=g?r:d;if(s=s||Pe(u),x?(f(t.dynamicChildren,x,m,i,o,s,a),Me(t,e,!0)):c||h(t,e,m,v,i,o,s,a,!1),b)g||Ee(e,n,r,l,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=Te(e.props,p);t&&Ee(e,t,null,l,0)}else g&&Ee(e,u,d,l,1)}},remove(t,e,n,r,{um:i,o:{remove:o}},s){const{shapeFlag:a,children:c,anchor:l,targetAnchor:u,target:h,props:f}=t;if(h&&o(u),(s||!Ce(f))&&(o(l),16&a))for(let d=0;d0?Ze||i.Z6:null,qe(),Je>0&&Ze&&Ze.push(t),t}function Ke(t,e,n,r,i,o){return Xe(sn(t,e,n,r,i,o,!0))}function Qe(t,e,n,r,i){return Xe(an(t,e,n,r,i,!0))}function tn(t){return!!t&&!0===t.__v_isVNode}function en(t,e){return t.type===e.type&&t.key===e.key}const nn="__vInternal",rn=({key:t})=>null!=t?t:null,on=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,r.dq)(t)||(0,i.mf)(t)?{i:R,r:t,k:e,f:!!n}:t:null;function sn(t,e=null,n=null,r=0,o=null,s=(t===He?0:1),a=!1,c=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&rn(e),ref:e&&on(e),scopeId:N,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};return c?(mn(l,n),128&s&&t.normalize(l)):n&&(l.shapeFlag|=(0,i.HD)(n)?8:16),Je>0&&!a&&Ze&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Ze.push(l),l}const an=cn;function cn(t,e=null,n=null,o=0,s=null,a=!1){if(t&&t!==Re||(t=Be),tn(t)){const r=un(t,e,!0);return n&&mn(r,n),r}if(Un(t)&&(t=t.__vccOpts),e){e=ln(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,r.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const c=(0,i.HD)(t)?1:J(t)?128:Oe(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return sn(t,e,n,o,s,c,a,!0)}function ln(t){return t?(0,r.X3)(t)||nn in t?(0,i.l7)({},t):t:null}function un(t,e,n=!1){const{props:r,ref:o,patchFlag:s,children:a}=t,c=e?bn(r||{},e):r,l={__v_isVNode:!0,__v_skip:!0,type:t.type,props:c,key:c&&rn(c),ref:e&&e.ref?n&&o?(0,i.kJ)(o)?o.concat(on(e)):[o,on(e)]:on(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==He?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&un(t.ssContent),ssFallback:t.ssFallback&&un(t.ssFallback),el:t.el,anchor:t.anchor};return l}function hn(t=" ",e=0){return an($e,null,t,e)}function fn(t,e){const n=an(Ue,null,t);return n.staticCount=e,n}function dn(t="",e=!1){return e?(Ye(),Qe(Be,null,t)):an(Be,null,t)}function pn(t){return null==t||"boolean"===typeof t?an(Be):(0,i.kJ)(t)?an(He,null,t.slice()):"object"===typeof t?gn(t):an($e,null,String(t))}function gn(t){return null===t.el||t.memo?t:un(t)}function mn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),mn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||nn in e?3===r&&R&&(1===R.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=R}}else(0,i.mf)(e)?(e={default:e,_ctx:R},n=32):(e=String(e),64&r?(n=16,e=[hn(e)]):n=8);t.children=e,t.shapeFlag|=n}function bn(...t){const e={};for(let n=0;ne(t,n,void 0,s&&s[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let r=0,i=n.length;r!tn(t)||t.type!==Be&&!(t.type===He&&!_n(t.children))))?t:null}const wn=t=>t?jn(t)?$n(t)||t.proxy:wn(t.parent):null,kn=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>wn(t.parent),$root:t=>wn(t.root),$emit:t=>t.emit,$options:t=>$t(t),$forceUpdate:t=>()=>M(t.update),$nextTick:t=>w.bind(t.proxy),$watch:t=>nt.bind(t)}),Mn={get({_:t},e){const{ctx:n,setupState:o,data:s,props:a,accessCache:c,type:l,appContext:u}=t;let h;if("$"!==e[0]){const r=c[e];if(void 0!==r)switch(r){case 1:return o[e];case 2:return s[e];case 4:return n[e];case 3:return a[e]}else{if(o!==i.kT&&(0,i.RI)(o,e))return c[e]=1,o[e];if(s!==i.kT&&(0,i.RI)(s,e))return c[e]=2,s[e];if((h=t.propsOptions[0])&&(0,i.RI)(h,e))return c[e]=3,a[e];if(n!==i.kT&&(0,i.RI)(n,e))return c[e]=4,n[e];Rt&&(c[e]=0)}}const f=kn[e];let d,p;return f?("$attrs"===e&&(0,r.j)(t,"get",e),f(t)):(d=l.__cssModules)&&(d=d[e])?d:n!==i.kT&&(0,i.RI)(n,e)?(c[e]=4,n[e]):(p=u.config.globalProperties,(0,i.RI)(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:s}=t;return o!==i.kT&&(0,i.RI)(o,e)?(o[e]=n,!0):r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(s[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:s}},a){let c;return!!n[a]||t!==i.kT&&(0,i.RI)(t,a)||e!==i.kT&&(0,i.RI)(e,a)||(c=s[0])&&(0,i.RI)(c,a)||(0,i.RI)(r,a)||(0,i.RI)(kn,a)||(0,i.RI)(o.config.globalProperties,a)},defineProperty(t,e,n){return null!=n.get?this.set(t,e,n.get(),null):null!=n.value&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};const Sn=ge();let On=0;function Cn(t,e,n){const o=t.type,s=(e?e.appContext:t.appContext)||Sn,a={uid:On++,vnode:t,type:o,parent:e,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,scope:new r.Bj(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:e?e.provides:Object.create(s.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ee(o,s),emitsOptions:F(o,s),emit:null,emitted:null,propsDefaults:i.kT,inheritAttrs:o.inheritAttrs,ctx:i.kT,data:i.kT,props:i.kT,attrs:i.kT,slots:i.kT,refs:i.kT,setupState:i.kT,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return a.ctx={_:a},a.root=e?e.root:a,a.emit=L.bind(null,a),t.ce&&t.ce(a),a}let Pn=null;const Tn=()=>Pn||R,Dn=t=>{Pn=t,t.scope.on()},En=()=>{Pn&&Pn.scope.off(),Pn=null};function jn(t){return 4&t.vnode.shapeFlag}let An,Ln,Fn=!1;function In(t,e=!1){Fn=e;const{props:n,children:r}=t.vnode,i=jn(t);Xt(t,n,i,e),he(t,r);const o=i?Rn(t,e):void 0;return Fn=!1,o}function Rn(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Mn));const{setup:s}=n;if(s){const n=t.setupContext=s.length>1?Hn(t):null;Dn(t),(0,r.Jd)();const c=o(s,t,0,[t.props,n]);if((0,r.lk)(),En(),(0,i.tI)(c)){if(c.then(En,En),e)return c.then((n=>{Nn(t,n,e)})).catch((e=>{a(e,t,0)}));t.asyncDep=c}else Nn(t,c,e)}else Wn(t,e)}function Nn(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,r.WL)(e)),Wn(t,n)}function Wn(t,e,n){const o=t.type;if(!t.render){if(!e&&An&&!o.render){const e=o.template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:s,compilerOptions:a}=o,c=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:s},r),a);o.render=An(e,c)}}t.render=o.render||i.dG,Ln&&Ln(t)}Dn(t),(0,r.Jd)(),Nt(t),(0,r.lk)(),En()}function zn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function Hn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=zn(t))},slots:t.slots,emit:t.emit,expose:e}}function $n(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in kn?kn[n](t):void 0}}))}function Bn(t){return(0,i.mf)(t)&&t.displayName||t.name}function Un(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Vn=(t,e)=>(0,r.Fl)(t,e,Fn);function Zn(t,e,n){const r=arguments.length;return 2===r?(0,i.Kn)(e)&&!(0,i.kJ)(e)?tn(e)?an(t,null,[e]):an(t,e):an(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&tn(n)&&(n=[n]),an(t,e,n))}Symbol("");const Yn="3.2.31"},9963:function(t,e,n){"use strict";n.d(e,{ri:function(){return wt},sY:function(){return _t},YZ:function(){return ht},bM:function(){return at},nr:function(){return rt},D2:function(){return bt},iM:function(){return gt}});var r=n(3577),i=n(6252);n(2262);const o="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,a=s&&s.createElement("template"),c={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?s.createElementNS(o,t):s.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>s.createTextNode(t),createComment:t=>s.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>s.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,r,i,o){const s=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===o||!(i=i.nextSibling))break}else{a.innerHTML=r?`${t}`:t;const i=a.content;if(r){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[s?s.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function l(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function u(t,e,n){const i=t.style,o=(0,r.HD)(n);if(n&&!o){for(const t in n)f(i,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&f(i,t,"")}else{const r=i.display;o?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=r)}}const h=/\s*!important$/;function f(t,e,n){if((0,r.kJ)(n))n.forEach((n=>f(t,e,n)));else if(e.startsWith("--"))t.setProperty(e,n);else{const i=g(t,e);h.test(n)?t.setProperty((0,r.rs)(i),n.replace(h,""),"important"):t[i]=n}}const d=["Webkit","Moz","ms"],p={};function g(t,e){const n=p[e];if(n)return n;let i=(0,r._A)(e);if("filter"!==i&&i in t)return p[e]=i;i=(0,r.kC)(i);for(let r=0;rdocument.createEvent("Event").timeStamp&&(y=()=>performance.now());const t=navigator.userAgent.match(/firefox\/(\d+)/i);x=!!(t&&Number(t[1])<=53)}let _=0;const w=Promise.resolve(),k=()=>{_=0},M=()=>_||(w.then(k),_=y());function S(t,e,n,r){t.addEventListener(e,n,r)}function O(t,e,n,r){t.removeEventListener(e,n,r)}function C(t,e,n,r,i=null){const o=t._vei||(t._vei={}),s=o[e];if(r&&s)s.value=r;else{const[n,a]=T(e);if(r){const s=o[e]=D(r,i);S(t,n,s,a)}else s&&(O(t,n,s,a),o[e]=void 0)}}const P=/(?:Once|Passive|Capture)$/;function T(t){let e;if(P.test(t)){let n;e={};while(n=t.match(P))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[(0,r.rs)(t.slice(2)),e]}function D(t,e){const n=t=>{const r=t.timeStamp||y();(x||r>=n.attached-1)&&(0,i.$d)(E(t,n.value),e,5,[t])};return n.value=t,n.attached=M(),n}function E(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const j=/^on[a-z]/,A=(t,e,n,i,o=!1,s,a,c,h)=>{"class"===e?l(t,i,o):"style"===e?u(t,n,i):(0,r.F7)(e)?(0,r.tR)(e)||C(t,e,n,i,a):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):L(t,e,i,o))?v(t,e,i,s,a,c,h):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),b(t,e,i,o))};function L(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&j.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!j.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const F="transition",I="animation",R=(t,{slots:e})=>(0,i.h)(i.P$,H(t),e);R.displayName="Transition";const N={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},W=(R.props=(0,r.l7)({},i.P$.props,N),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),z=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function H(t){const e={};for(const r in t)r in N||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:i,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=a,appearToClass:h=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,g=$(o),m=g&&g[0],b=g&&g[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:x,onLeave:_,onLeaveCancelled:w,onBeforeAppear:k=v,onAppear:M=y,onAppearCancelled:S=x}=e,O=(t,e,n)=>{V(t,e?h:c),V(t,e?u:a),n&&n()},C=(t,e)=>{V(t,p),V(t,d),e&&e()},P=t=>(e,n)=>{const r=t?M:y,o=()=>O(e,t,n);W(r,[e,o]),Z((()=>{V(e,t?l:s),U(e,t?h:c),z(r)||q(e,i,m,o)}))};return(0,r.l7)(e,{onBeforeEnter(t){W(v,[t]),U(t,s),U(t,a)},onBeforeAppear(t){W(k,[t]),U(t,l),U(t,u)},onEnter:P(!1),onAppear:P(!0),onLeave(t,e){const n=()=>C(t,e);U(t,f),K(),U(t,d),Z((()=>{V(t,f),U(t,p),z(_)||q(t,i,b,n)})),W(_,[t,n])},onEnterCancelled(t){O(t,!1),W(x,[t])},onAppearCancelled(t){O(t,!0),W(S,[t])},onLeaveCancelled(t){C(t),W(w,[t])}})}function $(t){if(null==t)return null;if((0,r.Kn)(t))return[B(t.enter),B(t.leave)];{const e=B(t);return[e,e]}}function B(t){const e=(0,r.He)(t);return e}function U(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function V(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Z(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let Y=0;function q(t,e,n,r){const i=t._endId=++Y,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:s,timeout:a,propCount:c}=J(t,e);if(!s)return r();const l=s+"end";let u=0;const h=()=>{t.removeEventListener(l,f),o()},f=e=>{e.target===t&&++u>=c&&h()};setTimeout((()=>{u(n[t]||"").split(", "),i=r(F+"Delay"),o=r(F+"Duration"),s=G(i,o),a=r(I+"Delay"),c=r(I+"Duration"),l=G(a,c);let u=null,h=0,f=0;e===F?s>0&&(u=F,h=s,f=o.length):e===I?l>0&&(u=I,h=l,f=c.length):(h=Math.max(s,l),u=h>0?s>l?F:I:null,f=u?u===F?o.length:c.length:0);const d=u===F&&/\b(transform|all)(,|$)/.test(n[F+"Property"]);return{type:u,timeout:h,propCount:f,hasTransform:d}}function G(t,e){while(t.lengthX(e)+X(t[n]))))}function X(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function K(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=t=>{const e=t.props["onUpdate:modelValue"];return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function tt(t){t.target.composing=!0}function et(t){const e=t.target;e.composing&&(e.composing=!1,nt(e,"input"))}function nt(t,e){const n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}const rt={created(t,{modifiers:{lazy:e,trim:n,number:i}},o){t._assign=Q(o);const s=i||o.props&&"number"===o.props.type;S(t,e?"change":"input",(e=>{if(e.target.composing)return;let i=t.value;n?i=i.trim():s&&(i=(0,r.He)(i)),t._assign(i)})),n&&S(t,"change",(()=>{t.value=t.value.trim()})),e||(S(t,"compositionstart",tt),S(t,"compositionend",et),S(t,"change",et))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:i,number:o}},s){if(t._assign=Q(s),t.composing)return;if(document.activeElement===t){if(n)return;if(i&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,r.He)(t.value)===e)return}const a=null==e?"":e;t.value!==a&&(t.value=a)}},it={deep:!0,created(t,e,n){t._assign=Q(n),S(t,"change",(()=>{const e=t._modelValue,n=lt(t),i=t.checked,o=t._assign;if((0,r.kJ)(e)){const t=(0,r.hq)(e,n),s=-1!==t;if(i&&!s)o(e.concat(n));else if(!i&&s){const n=[...e];n.splice(t,1),o(n)}}else if((0,r.DM)(e)){const t=new Set(e);i?t.add(n):t.delete(n),o(t)}else o(ut(t,i))}))},mounted:ot,beforeUpdate(t,e,n){t._assign=Q(n),ot(t,e,n)}};function ot(t,{value:e,oldValue:n},i){t._modelValue=e,(0,r.kJ)(e)?t.checked=(0,r.hq)(e,i.props.value)>-1:(0,r.DM)(e)?t.checked=e.has(i.props.value):e!==n&&(t.checked=(0,r.WV)(e,ut(t,!0)))}const st={created(t,{value:e},n){t.checked=(0,r.WV)(e,n.props.value),t._assign=Q(n),S(t,"change",(()=>{t._assign(lt(t))}))},beforeUpdate(t,{value:e,oldValue:n},i){t._assign=Q(i),e!==n&&(t.checked=(0,r.WV)(e,i.props.value))}},at={deep:!0,created(t,{value:e,modifiers:{number:n}},i){const o=(0,r.DM)(e);S(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,r.He)(lt(t)):lt(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=Q(i)},mounted(t,{value:e}){ct(t,e)},beforeUpdate(t,e,n){t._assign=Q(n)},updated(t,{value:e}){ct(t,e)}};function ct(t,e){const n=t.multiple;if(!n||(0,r.kJ)(e)||(0,r.DM)(e)){for(let i=0,o=t.options.length;i-1:o.selected=e.has(s);else if((0,r.WV)(lt(o),e))return void(t.selectedIndex!==i&&(t.selectedIndex=i))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function lt(t){return"_value"in t?t._value:t.value}function ut(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const ht={created(t,e,n){ft(t,e,n,null,"created")},mounted(t,e,n){ft(t,e,n,null,"mounted")},beforeUpdate(t,e,n,r){ft(t,e,n,r,"beforeUpdate")},updated(t,e,n,r){ft(t,e,n,r,"updated")}};function ft(t,e,n,r,i){let o;switch(t.tagName){case"SELECT":o=at;break;case"TEXTAREA":o=rt;break;default:switch(n.props&&n.props.type){case"checkbox":o=it;break;case"radio":o=st;break;default:o=rt}}const s=o[i];s&&s(t,e,n,r)}const dt=["ctrl","shift","alt","meta"],pt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>dt.some((n=>t[`${n}Key`]&&!e.includes(n)))},gt=(t,e)=>(n,...r)=>{for(let t=0;tn=>{if(!("key"in n))return;const i=(0,r.rs)(n.key);return e.some((t=>t===i||mt[t]===i))?t(n):void 0};const vt=(0,r.l7)({patchProp:A},c);let yt;function xt(){return yt||(yt=(0,i.Us)(vt))}const _t=(...t)=>{xt().render(...t)},wt=(...t)=>{const e=xt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=kt(t);if(!i)return;const o=e._component;(0,r.mf)(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const s=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},e};function kt(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{Z6:function(){return x},kT:function(){return y},NO:function(){return w},dG:function(){return _},_A:function(){return Y},kC:function(){return G},Nj:function(){return tt},l7:function(){return O},E9:function(){return rt},aU:function(){return K},RI:function(){return T},rs:function(){return J},yA:function(){return c},ir:function(){return Q},kJ:function(){return D},mf:function(){return L},e1:function(){return o},S0:function(){return B},_N:function(){return E},tR:function(){return S},Kn:function(){return R},F7:function(){return M},PO:function(){return $},tI:function(){return N},Gg:function(){return U},DM:function(){return j},Pq:function(){return a},HD:function(){return F},yk:function(){return I},WV:function(){return g},hq:function(){return m},fY:function(){return r},C_:function(){return d},j5:function(){return l},Od:function(){return C},zw:function(){return b},hR:function(){return X},He:function(){return et},W7:function(){return H}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);const s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",a=r(s);function c(t){return!!t||""===t}function l(t){if(D(t)){const e={};for(let n=0;n{if(t){const n=t.split(h);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function d(t){let e="";if(F(t))e=t;else if(D(t))for(let n=0;ng(t,e)))}const b=t=>F(t)?t:null==t?"":D(t)||R(t)&&(t.toString===W||!L(t.toString))?JSON.stringify(t,v,2):String(t),v=(t,e)=>e&&e.__v_isRef?v(t,e.value):E(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:j(e)?{[`Set(${e.size})`]:[...e.values()]}:!R(e)||D(e)||$(e)?e:String(e),y={},x=[],_=()=>{},w=()=>!1,k=/^on[^a-z]/,M=t=>k.test(t),S=t=>t.startsWith("onUpdate:"),O=Object.assign,C=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},P=Object.prototype.hasOwnProperty,T=(t,e)=>P.call(t,e),D=Array.isArray,E=t=>"[object Map]"===z(t),j=t=>"[object Set]"===z(t),A=t=>t instanceof Date,L=t=>"function"===typeof t,F=t=>"string"===typeof t,I=t=>"symbol"===typeof t,R=t=>null!==t&&"object"===typeof t,N=t=>R(t)&&L(t.then)&&L(t.catch),W=Object.prototype.toString,z=t=>W.call(t),H=t=>z(t).slice(8,-1),$=t=>"[object Object]"===z(t),B=t=>F(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,U=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),V=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Z=/-(\w)/g,Y=V((t=>t.replace(Z,((t,e)=>e?e.toUpperCase():"")))),q=/\B([A-Z])/g,J=V((t=>t.replace(q,"-$1").toLowerCase())),G=V((t=>t.charAt(0).toUpperCase()+t.slice(1))),X=V((t=>t?`on${G(t)}`:"")),K=(t,e)=>!Object.is(t,e),Q=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},et=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let nt;const rt=()=>nt||(nt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},3257:function(t,e,n){"use strict";n.d(e,{tu:function(){return It},Mu:function(){return I}});const r=t=>0===Object.keys(t).length,i=(t,e)=>t.push.apply(t,e),o=(t,e)=>{const n=t.split("");return n.map((t=>e[t]||t)).join("")},s=t=>t.sort(((t,e)=>t.i-e.i||t.j-e.j)),a=t=>{const e={};let n=1;return t.forEach((t=>{e[t]=n,n+=1})),e};var c={4:[[1,2],[2,3]],5:[[1,3],[2,3]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const l=2050,u=1e3,h=c,f=10,d=1e4,p=10,g=50,m=20,b=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,v=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,y=/^[A-Z\xbf-\xdf]+$/,x=/^[^a-z\xdf-\xff]+$/,_=/^[a-z\xdf-\xff]+$/,w=/^[^A-Z\xbf-\xdf]+$/,k=/[a-z\xdf-\xff]/,M=/[A-Z\xbf-\xdf]/,S=/[^A-Za-z\xbf-\xdf]/gi,O=/^\d+$/,C=(new Date).getFullYear(),P={recentYear:/19\d\d|200\d|201\d|202\d/g};class T{match({password:t}){const e=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],n=this.filterNoise(e);return s(n)}getMatchesWithSeparator(t){const e=[],n=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let r=0;r<=Math.abs(t.length-6);r+=1)for(let i=r+5;i<=r+9;i+=1){if(i>=t.length)break;const o=t.slice(r,+i+1||9e9),s=n.exec(o);if(null!=s){const t=this.mapIntegersToDayMonthYear([parseInt(s[1],10),parseInt(s[3],10),parseInt(s[4],10)]);null!=t&&e.push({pattern:"date",token:o,i:r,j:i,separator:s[2],year:t.year,month:t.month,day:t.day})}}return e}getMatchesWithoutSeparator(t){const e=[],n=/^\d{4,8}$/,r=t=>Math.abs(t.year-C);for(let i=0;i<=Math.abs(t.length-4);i+=1)for(let o=i+3;o<=i+7;o+=1){if(o>=t.length)break;const s=t.slice(i,+o+1||9e9);if(n.exec(s)){const t=[],n=s.length,a=h[n];if(a.forEach((([e,n])=>{const r=this.mapIntegersToDayMonthYear([parseInt(s.slice(0,e),10),parseInt(s.slice(e,n),10),parseInt(s.slice(n),10)]);null!=r&&t.push(r)})),t.length>0){let n=t[0],a=r(t[0]);t.slice(1).forEach((t=>{const e=r(t);e{let n=!1;const r=t.length;for(let i=0;i=e.j){n=!0;break}}return!n}))}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let e=0,n=0,r=0;for(let i=0,o=t.length;i99&&ol)return null;o>31&&(n+=1),o>12&&(e+=1),o<=0&&(r+=1)}return n>=2||3===e||r>=2?null:this.getDayMonth(t)}getDayMonth(t){const e=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],n=e.length;for(let r=0;r=1&&r<=31&&i>=1&&i<=12)return{day:r,month:i}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}var D=n(5538);const E=(t,e,n)=>{const r=t.length<=e.length,i=t.length<=n,o=r||i;return o?Math.ceil(t.length/4):n},j=(t,e,n)=>{let r=0;const i=Object.keys(e).find((e=>{const i=E(t,e,n),o=(0,D.distance)(t,e),s=o<=i;return s&&(r=o),s}));return i?{levenshteinDistance:r,levenshteinDistanceEntry:i}:{}};var A={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],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 F{constructor(){this.matchers={},this.l33tTable=A,this.dictionary={userInputs:[]},this.rankedDictionaries={},this.translations=L,this.graphs={},this.availableGraphs=[],this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),void 0!==t.useLevenshteinDistance&&(this.useLevenshteinDistance=t.useLevenshteinDistance),void 0!==t.levenshteinThreshold&&(this.levenshteinThreshold=t.levenshteinThreshold)}setTranslations(t){if(!this.checkCustomTranslations(t))throw new Error("Invalid translations object fallback to keys");this.translations=t}checkCustomTranslations(t){let e=!0;return Object.keys(L).forEach((n=>{if(n in t){const r=n;Object.keys(L[r]).forEach((n=>{n in t[r]||(e=!1)}))}else e=!1})),e}setRankedDictionaries(){const t={};Object.keys(this.dictionary).forEach((e=>{t[e]=this.getRankedDictionary(e)})),this.rankedDictionaries=t}getRankedDictionary(t){const e=this.dictionary[t];if("userInputs"===t){const t=[];return e.forEach((e=>{const n=typeof e;"string"!==n&&"number"!==n&&"boolean"!==n||t.push(e.toString().toLowerCase())})),a(t)}return a(e)}extendUserInputsDictionary(t){this.dictionary.userInputs?this.dictionary.userInputs=[...this.dictionary.userInputs,...t]:this.dictionary.userInputs=t,this.rankedDictionaries.userInputs=this.getRankedDictionary("userInputs")}addMatcher(t,e){this.matchers[t]?console.info("Matcher already exists"):this.matchers[t]=e}}const I=new F;class R{constructor(t){this.defaultMatch=t}match({password:t}){const e=t.split("").reverse().join("");return this.defaultMatch({password:e}).map((e=>({...e,token:e.token.split("").reverse().join(""),reversed:!0,i:t.length-1-e.j,j:t.length-1-e.i})))}}class N{constructor(t){this.defaultMatch=t}match({password:t}){const e=[],n=this.enumerateL33tSubs(this.relevantL33tSubtable(t,I.l33tTable));for(let i=0;i{const r=t.slice(n.i,+n.j+1||9e9);if(r.toLowerCase()!==n.matchedWord){const t={};Object.keys(s).forEach((e=>{const n=s[e];-1!==r.indexOf(e)&&(t[e]=n)}));const i=Object.keys(t).map((e=>`${e} -> ${t[e]}`)).join(", ");e.push({...n,l33t:!0,token:r,sub:t,subDisplay:i})}}))}return e.filter((t=>t.token.length>1))}relevantL33tSubtable(t,e){const n={},r={};return t.split("").forEach((t=>{n[t]=!0})),Object.keys(e).forEach((t=>{const i=e[t],o=i.filter((t=>t in n));o.length>0&&(r[t]=o)})),r}enumerateL33tSubs(t){const e=Object.keys(t),n=this.getSubs(e,[[]],t);return n.map((t=>{const e={};return t.forEach((([t,n])=>{e[t]=n})),e}))}getSubs(t,e,n){if(!t.length)return e;const r=t[0],i=t.slice(1),o=[];n[r].forEach((t=>{e.forEach((e=>{let n=-1;for(let r=0;r{const r=t.map(((t,e)=>[t,e]));r.sort();const i=r.map((([t,e])=>`${t},${e}`)).join("-");i in n||(n[i]=!0,e.push(t))})),e}}class W{constructor(){this.l33t=new N(this.defaultMatch),this.reverse=new R(this.defaultMatch)}match({password:t}){const e=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return s(e)}defaultMatch({password:t}){const e=[],n=t.length,r=t.toLowerCase();return Object.keys(I.rankedDictionaries).forEach((i=>{const o=I.rankedDictionaries[i];for(let s=0;s{const i=e[r];i.lastIndex=0;const o=i.exec(t);if(o){const t=o[0];n.push({pattern:"regex",token:t,i:o.index,j:o.index+o[0].length-1,regexName:r,regexMatch:o})}})),s(n)}}var H={nCk(t,e){let n=t;if(e>n)return 0;if(0===e)return 1;let r=1;for(let i=1;i<=e;i+=1)r*=n,r/=i,n-=1;return r},log10(t){return Math.log(t)/Math.log(10)},log2(t){return Math.log(t)/Math.log(2)},factorial(t){let e=1;for(let n=2;n<=t;n+=1)e*=n;return e}},$=({token:t})=>{let e,n=f**t.length;return n===Number.POSITIVE_INFINITY&&(n=Number.MAX_VALUE),e=1===t.length?p+1:g+1,Math.max(n,e)},B=({year:t,separator:e})=>{const n=Math.max(Math.abs(t-C),m);let r=365*n;return e&&(r*=4),r};const U=t=>{const e=t.split(""),n=e.filter((t=>t.match(k))).length,r=e.filter((t=>t.match(M))).length;let i=0;const o=Math.min(n,r);for(let s=1;s<=o;s+=1)i+=H.nCk(n+r,s);return i};var V=t=>{const e=t.replace(S,"");if(e.match(w)||e.toLowerCase()===e)return 1;const n=[b,v,x],r=n.length;for(let i=0;i{const r=t[e],i=n.toLowerCase().split(""),o=i.filter((t=>t===e)).length,s=i.filter((t=>t===r)).length;return{subbedCount:o,unsubbedCount:s}};var Y=({l33t:t,sub:e,token:n})=>{if(!t)return 1;let r=1;const i=e;return Object.keys(i).forEach((t=>{const{subbedCount:e,unsubbedCount:o}=Z({subs:i,subbed:t,token:n});if(0===e||0===o)r*=2;else{const t=Math.min(o,e);let n=0;for(let r=1;r<=t;r+=1)n+=H.nCk(o+e,r);r*=n}})),r},q=({rank:t,reversed:e,l33t:n,sub:r,token:i})=>{const o=t,s=V(i),a=Y({l33t:n,sub:r,token:i}),c=e?2:1,l=o*s*a*c;return{baseGuesses:o,uppercaseVariations:s,l33tVariations:a,calculation:l}},J=({regexName:t,regexMatch:e,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(t in r)return r[t]**n.length;switch(t){case"recentYear":return Math.max(Math.abs(parseInt(e[0],10)-C),m)}return 0},G=({baseGuesses:t,repeatCount:e})=>t*e,X=({token:t,ascending:e})=>{const n=t.charAt(0);let r=0;const i=["a","A","z","Z","0","1","9"];return r=i.includes(n)?4:n.match(/\d/)?10:26,e||(r*=2),r*t.length};const K=t=>{let e=0;return Object.keys(t).forEach((n=>{const r=t[n];e+=r.filter((t=>!!t)).length})),e/=Object.entries(t).length,e},Q=({token:t,graph:e,turns:n})=>{const r=Object.keys(I.graphs[e]).length,i=K(I.graphs[e]);let o=0;const s=t.length;for(let a=2;a<=s;a+=1){const t=Math.min(n,a-1);for(let e=1;e<=t;e+=1)o+=H.nCk(a-1,e-1)*r*i**e}return o};var tt=({graph:t,token:e,shiftedCount:n,turns:r})=>{let i=Q({token:e,graph:t,turns:r});if(n){const t=e.length-n;if(0===n||0===t)i*=2;else{let e=0;for(let r=1;r<=Math.min(n,t);r+=1)e+=H.nCk(n+t,r);i*=e}}return Math.round(i)};const et=(t,e)=>{let n=1;return t.token.lengthnt[t]?nt[t](e):I.matchers[t]&&"scoring"in I.matchers[t]?I.matchers[t].scoring(e):0;var it=(t,e)=>{const n={};if("guesses"in t&&null!=t.guesses)return t;const r=et(t,e),i=rt(t.pattern,t);let o=0;"number"===typeof i?o=i:"dictionary"===t.pattern&&(o=i.calculation,n.baseGuesses=i.baseGuesses,n.uppercaseVariations=i.uppercaseVariations,n.l33tVariations=i.l33tVariations);const s=Math.max(o,r);return{...t,...n,guesses:s,guessesLog10:H.log10(s)}};const ot={password:"",optimal:{},excludeAdditive:!1,fillArray(t,e){const n=[];for(let r=0;r1&&(i*=this.optimal.pi[r.i-1][e-1]);let o=H.factorial(e)*i;this.excludeAdditive||(o+=d**(e-1));let s=!1;Object.keys(this.optimal.g[n]).forEach((t=>{const r=this.optimal.g[n][t];parseInt(t,10)<=e&&r<=o&&(s=!0)})),s||(this.optimal.g[n][e]=o,this.optimal.m[n][e]=r,this.optimal.pi[n][e]=i)},bruteforceUpdate(t){let e=this.makeBruteforceMatch(0,t);this.update(e,1);for(let n=1;n<=t;n+=1){e=this.makeBruteforceMatch(n,t);const r=this.optimal.m[n-1];Object.keys(r).forEach((t=>{const n=r[t];"bruteforce"!==n.pattern&&this.update(e,parseInt(t,10)+1)}))}},unwind(t){const e=[];let n=t-1,r=0,i=Infinity;const o=this.optimal.g[n];o&&Object.keys(o).forEach((t=>{const e=o[t];e=0){const t=this.optimal.m[n][r];e.unshift(t),n=t.i-1,r-=1}return e}};var st={mostGuessableMatchSequence(t,e,n=!1){ot.password=t,ot.excludeAdditive=n;const r=t.length;let i=ot.fillArray(r,"array");e.forEach((t=>{i[t.j].push(t)})),i=i.map((t=>t.sort(((t,e)=>t.i-e.i)))),ot.optimal={m:ot.fillArray(r,"object"),pi:ot.fillArray(r,"object"),g:ot.fillArray(r,"object")};for(let c=0;c{t.i>0?Object.keys(ot.optimal.m[t.i-1]).forEach((e=>{ot.update(t,parseInt(e,10)+1)})):ot.update(t,1)})),ot.bruteforceUpdate(c);const o=ot.unwind(r),s=o.length,a=this.getGuesses(t,s);return{password:t,guesses:a,guessesLog10:H.log10(a),sequence:o}},getGuesses(t,e){const n=t.length;let r=0;return r=0===t.length?1:ot.optimal.g[n-1][e],r}};class at{match({password:t,omniMatch:e}){const n=[];let r=0;while(rt instanceof Promise));return i?Promise.all(n):n}normalizeMatch(t,e,n,r){const i={pattern:"repeat",i:n.index,j:e,token:n[0],baseToken:t,baseGuesses:0,repeatCount:n[0].length/t.length};return r instanceof Promise?r.then((t=>({...i,baseGuesses:t}))):{...i,baseGuesses:r}}getGreedyMatch(t,e){const n=/(.+)\1+/g;return n.lastIndex=e,n.exec(t)}getLazyMatch(t,e){const n=/(.+?)\1+/g;return n.lastIndex=e,n.exec(t)}setMatchToken(t,e){const n=/^(.+?)\1+$/;let r,i="";if(e&&t[0].length>e[0].length){r=t;const e=n.exec(r[0]);e&&(i=e[1])}else r=e,r&&(i=r[1]);return{match:r,baseToken:i}}getBaseGuesses(t,e){const n=e.match(t);if(n instanceof Promise)return n.then((e=>{const n=st.mostGuessableMatchSequence(t,e);return n.guesses}));const r=st.mostGuessableMatchSequence(t,n);return r.guesses}}class ct{constructor(){this.MAX_DELTA=5}match({password:t}){const e=[];if(1===t.length)return[];let n=0,r=null;const i=t.length;for(let o=1;o1||1===Math.abs(n)){const o=Math.abs(n);if(o>0&&o<=this.MAX_DELTA){const o=r.slice(t,+e+1||9e9),{sequenceName:s,sequenceSpace:a}=this.getSequence(o);return i.push({pattern:"sequence",i:t,j:e,token:r.slice(t,+e+1||9e9),sequenceName:s,sequenceSpace:a,ascending:n>0})}}return null}getSequence(t){let e="unicode",n=26;return _.test(t)?(e="lower",n=26):y.test(t)?(e="upper",n=26):O.test(t)&&(e="digits",n=10),{sequenceName:e,sequenceSpace:n}}}class lt{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const e=[];return Object.keys(I.graphs).forEach((n=>{const r=I.graphs[n];i(e,this.helper(t,r,n))})),s(e)}checkIfShifted(t,e,n){return!t.includes("keypad")&&this.SHIFTED_RX.test(e.charAt(n))?1:0}helper(t,e,n){let r;const i=[];let o=0;const s=t.length;while(o2&&i.push({pattern:"spatial",i:o,j:a-1,token:t.slice(o,a),graph:n,turns:l,shiftedCount:r}),o=a;break}a+=1}}return i}}class ut{constructor(){this.matchers={date:T,dictionary:W,regex:z,repeat:at,sequence:ct,spatial:lt}}match(t){const e=[],n=[],r=[...Object.keys(this.matchers),...Object.keys(I.matchers)];return r.forEach((r=>{if(!this.matchers[r]&&!I.matchers[r])return;const o=this.matchers[r]?this.matchers[r]:I.matchers[r].Matching,s=new o,a=s.match({password:t,omniMatch:this});a instanceof Promise?(a.then((t=>{i(e,t)})),n.push(a)):i(e,a)})),n.length>0?new Promise((t=>{Promise.all(n).then((()=>{t(s(e))}))})):s(e)}}const ht=1,ft=60*ht,dt=60*ft,pt=24*dt,gt=31*pt,mt=12*gt,bt=100*mt,vt={second:ht,minute:ft,hour:dt,day:pt,month:gt,year:mt,century:bt};class yt{translate(t,e){let n=t;void 0!==e&&1!==e&&(n+="s");const{timeEstimation:r}=I.translations;return r[n].replace("{base}",`${e}`)}estimateAttackTimes(t){const e={onlineThrottling100PerHour:t/(100/3600),onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},n={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(e).forEach((t=>{const r=e[t];n[t]=this.displayTime(r)})),{crackTimesSeconds:e,crackTimesDisplay:n,score:this.guessesToScore(t)}}guessesToScore(t){const e=5;return t<1e3+e?0:t<1e6+e?1:t<1e8+e?2:t<1e10+e?3:4}displayTime(t){let e,n="centuries";const r=Object.keys(vt),i=r.findIndex((e=>t-1&&(n=r[i-1],0!==i?e=Math.round(t/vt[n]):n="ltSecond"),this.translate(n,e)}}var xt=()=>null,_t=()=>({warning:I.translations.warnings.dates,suggestions:[I.translations.suggestions.dates]});const wt=(t,e)=>{let n="";return!e||t.l33t||t.reversed?t.guessesLog10<=4&&(n=I.translations.warnings.similarToCommon):n=t.rank<=10?I.translations.warnings.topTen:t.rank<=100?I.translations.warnings.topHundred:I.translations.warnings.common,n},kt=(t,e)=>{let n="";return e&&(n=I.translations.warnings.wordByItself),n},Mt=(t,e)=>e?I.translations.warnings.namesByThemselves:I.translations.warnings.commonNames,St=(t,e)=>{let n="";const r=t.dictionaryName,i="lastnames"===r||r.toLowerCase().includes("firstnames");return"passwords"===r?n=wt(t,e):r.includes("wikipedia")?n=kt(t,e):i?n=Mt(t,e):"userInputs"===r&&(n=I.translations.warnings.userInputs),n};var Ot=(t,e)=>{const n=St(t,e),r=[],i=t.token;return i.match(b)?r.push(I.translations.suggestions.capitalization):i.match(x)&&i.toLowerCase()!==i&&r.push(I.translations.suggestions.allUppercase),t.reversed&&t.token.length>=4&&r.push(I.translations.suggestions.reverseWords),t.l33t&&r.push(I.translations.suggestions.l33t),{warning:n,suggestions:r}},Ct=t=>"recentYear"===t.regexName?{warning:I.translations.warnings.recentYears,suggestions:[I.translations.suggestions.recentYears,I.translations.suggestions.associatedYears]}:{warning:"",suggestions:[]},Pt=t=>{let e=I.translations.warnings.extendedRepeat;return 1===t.baseToken.length&&(e=I.translations.warnings.simpleRepeat),{warning:e,suggestions:[I.translations.suggestions.repeated]}},Tt=()=>({warning:I.translations.warnings.sequences,suggestions:[I.translations.suggestions.sequences]}),Dt=t=>{let e=I.translations.warnings.keyPattern;return 1===t.turns&&(e=I.translations.warnings.straightRow),{warning:e,suggestions:[I.translations.suggestions.longerKeyboardPattern]}};const Et={warning:"",suggestions:[]};class jt{constructor(){this.matchers={bruteforce:xt,date:_t,dictionary:Ot,regex:Ct,repeat:Pt,sequence:Tt,spatial:Dt},this.defaultFeedback={warning:"",suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(I.translations.suggestions.useWords,I.translations.suggestions.noNeed)}getFeedback(t,e){if(0===e.length)return this.defaultFeedback;if(t>2)return Et;const n=I.translations.suggestions.anotherWord,r=this.getLongestMatch(e);let i=this.getMatchFeedback(r,1===e.length);return null!==i&&void 0!==i?(i.suggestions.unshift(n),null==i.warning&&(i.warning="")):i={warning:"",suggestions:[n]},i}getLongestMatch(t){let e=t[0];const n=t.slice(1);return n.forEach((t=>{t.token.length>e.token.length&&(e=t)})),e}getMatchFeedback(t,e){return this.matchers[t.pattern]?this.matchers[t.pattern](t,e):I.matchers[t.pattern]&&"feedback"in I.matchers[t.pattern]?I.matchers[t.pattern].feedback(t,e):Et}}const At=()=>(new Date).getTime(),Lt=(t,e,n)=>{const r=new jt,i=new yt,o=st.mostGuessableMatchSequence(e,t),s=At()-n,a=i.estimateAttackTimes(o.guesses);return{calcTime:s,...o,...a,feedback:r.getFeedback(a.score,o.sequence)}},Ft=(t,e)=>{e&&I.extendUserInputsDictionary(e);const n=new ut;return n.match(t)},It=(t,e)=>{const n=At(),r=Ft(t,e);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return Lt(r,t,n)}},9669:function(t,e,n){t.exports=n(1609)},5448:function(t,e,n){"use strict";var r=n(4867),i=n(6026),o=n(4372),s=n(5327),a=n(4097),c=n(4109),l=n(7985),u=n(5061),h=n(5655),f=n(5263);t.exports=function(t){return new Promise((function(e,n){var d,p=t.data,g=t.headers,m=t.responseType;function b(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(p)&&delete g["Content-Type"];var v=new XMLHttpRequest;if(t.auth){var y=t.auth.username||"",x=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(y+":"+x)}var _=a(t.baseURL,t.url);function w(){if(v){var r="getAllResponseHeaders"in v?c(v.getAllResponseHeaders()):null,o=m&&"text"!==m&&"json"!==m?v.response:v.responseText,s={data:o,status:v.status,statusText:v.statusText,headers:r,config:t,request:v};i((function(t){e(t),b()}),(function(t){n(t),b()}),s),v=null}}if(v.open(t.method.toUpperCase(),s(_,t.params,t.paramsSerializer),!0),v.timeout=t.timeout,"onloadend"in v?v.onloadend=w:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(w)},v.onabort=function(){v&&(n(u("Request aborted",t,"ECONNABORTED",v)),v=null)},v.onerror=function(){n(u("Network Error",t,null,v)),v=null},v.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||h.transitional;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(u(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",v)),v=null},r.isStandardBrowserEnv()){var k=(t.withCredentials||l(_))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;k&&(g[t.xsrfHeaderName]=k)}"setRequestHeader"in v&&r.forEach(g,(function(t,e){"undefined"===typeof p&&"content-type"===e.toLowerCase()?delete g[e]:v.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(v.withCredentials=!!t.withCredentials),m&&"json"!==m&&(v.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&v.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&v.upload&&v.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){v&&(n(!t||t&&t.type?new f("canceled"):t),v.abort(),v=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),p||(p=null),v.send(p)}))}},1609:function(t,e,n){"use strict";var r=n(4867),i=n(1849),o=n(321),s=n(7185),a=n(5655);function c(t){var e=new o(t),n=i(o.prototype.request,e);return r.extend(n,o.prototype,e),r.extend(n,e),n.create=function(e){return c(s(t,e))},n}var l=c(a);l.Axios=o,l.Cancel=n(5263),l.CancelToken=n(4972),l.isCancel=n(6502),l.VERSION=n(7288).version,l.all=function(t){return Promise.all(t)},l.spread=n(8713),l.isAxiosError=n(6268),t.exports=l,t.exports["default"]=l},5263:function(t){"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:function(t,e,n){"use strict";var r=n(5263);function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){u.headers[t]=r.merge(s)})),t.exports=u},7288:function(t){t.exports={version:"0.26.0"}},1849:function(t){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([n]):s[e]?s[e]+", "+n:n}})),s):s}},8713:function(t){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:function(t,e,n){"use strict";var r=n(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var o={};function s(t,e,n){if("object"!==typeof t)throw new TypeError("options must be an object");var r=Object.keys(t),i=r.length;while(i-- >0){var o=r[i],s=e[o];if(s){var a=t[o],c=void 0===a||s(a,o,t);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==n)throw Error("Unknown option "+o)}}i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,s){if(!1===t)throw new Error(i(r," has been removed"+(e?" in "+e:"")));return e&&!o[r]&&(o[r]=!0,console.warn(i(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}},t.exports={assertOptions:s,validators:i}},4867:function(t,e,n){"use strict";var r=n(1849),i=Object.prototype.toString;function o(t){return Array.isArray(t)}function s(t){return"undefined"===typeof t}function a(t){return null!==t&&!s(t)&&null!==t.constructor&&!s(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function c(t){return"[object ArrayBuffer]"===i.call(t)}function l(t){return"[object FormData]"===i.call(t)}function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&c(t.buffer),e}function h(t){return"string"===typeof t}function f(t){return"number"===typeof t}function d(t){return null!==t&&"object"===typeof t}function p(t){if("[object Object]"!==i.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function g(t){return"[object Date]"===i.call(t)}function m(t){return"[object File]"===i.call(t)}function b(t){return"[object Blob]"===i.call(t)}function v(t){return"[object Function]"===i.call(t)}function y(t){return d(t)&&v(t.pipe)}function x(t){return"[object URLSearchParams]"===i.call(t)}function _(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function k(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),o(t))for(var n=0,r=t.length;nr({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(n-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=r.r.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((n,r)=>{if(!n.running||!n.items.length)return;const i=n.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>n.duration&&(n.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,n,t,"progress")),i.length||(n.running=!1,this._notify(r,n,t,"complete"),n.initial=!1),e+=i.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let n=e.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,n)),n}listen(t,e,n){this._getAnims(t).listeners[e].push(n)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const n=e.items;let r=n.length-1;for(;r>=0;--r)n[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var o=new i;const s="transparent",a={boolean(t,e,n){return n>.5?e:t},color(t,e,n){const i=(0,r.c)(t||s),o=i.valid&&(0,r.c)(e||s);return o&&o.valid?o.mix(i,n).hexString():e},number(t,e,n){return t+(e-t)*n}};class c{constructor(t,e,n,i){const o=e[n];i=(0,r.a)([t.to,i,o,t.from]);const s=(0,r.a)([t.from,o,i]);this._active=!0,this._fn=t.fn||a[t.type||typeof s],this._easing=r.e[t.easing]||r.e.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=n,this._from=s,this._to=i,this._promises=void 0}active(){return this._active}update(t,e,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,s=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(s,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=(0,r.a)([t.to,e,i,t.from]),this._from=(0,r.a)([t.from,i,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,n=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||e1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,n)=>{t.push({res:e,rej:n})}))}_notify(t){const e=t?"res":"rej",n=this._promises||[];for(let r=0;r"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),r.d.set("animations",{colors:{type:"color",properties:u},numbers:{type:"number",properties:l}}),r.d.describe("animations",{_fallback:"animation"}),r.d.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class f{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!(0,r.i)(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((n=>{const i=t[n];if(!(0,r.i)(i))return;const o={};for(const t of h)o[t]=i[t];((0,r.b)(i.properties)&&i.properties||[n]).forEach((t=>{t!==n&&e.has(t)||e.set(t,o)}))}))}_animateOptions(t,e){const n=e.options,r=p(t,n);if(!r)return[];const i=this._createAnimations(r,n);return n.$shared&&d(t.options.$animations,n).then((()=>{t.options=n}),(()=>{})),i}_createAnimations(t,e){const n=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(e),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const l=o[a];if("$"===l.charAt(0))continue;if("options"===l){r.push(...this._animateOptions(t,e));continue}const u=e[l];let h=i[l];const f=n.get(l);if(h){if(f&&h.active()){h.update(f,u,s);continue}h.cancel()}f&&f.duration?(i[l]=h=new c(f,t,l,u),r.push(h)):t[l]=u}return r}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const n=this._createAnimations(t,e);return n.length?(o.add(this._chart,n),!0):void 0}}function d(t,e){const n=[],r=Object.keys(e);for(let i=0;i0||!n&&e<0)return i.index}return null}function O(t,e){const{chart:n,_cachedMeta:r}=t,i=n._stacks||(n._stacks={}),{iScale:o,vScale:s,index:a}=r,c=o.axis,l=s.axis,u=w(o,s,r),h=e.length;let f;for(let d=0;dn[t].axis===e)).shift()}function P(t,e){return(0,r.h)(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}function T(t,e,n){return(0,r.h)(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:n,index:e,mode:"default",type:"data"})}function D(t,e){const n=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[r]||void 0===e[r][n])return;delete e[r][n]}}}const E=t=>"reset"===t||"none"===t,j=(t,e)=>e?t:Object.assign({},t),A=(t,e,n)=>t&&!e.hidden&&e._stacked&&{keys:v(n,!0),values:null};class L{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=_(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&D(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,n=this.getDataset(),i=(t,e,n,r)=>"x"===t?e:"r"===t?r:n,o=e.xAxisID=(0,r.v)(n.xAxisID,C(t,"x")),s=e.yAxisID=(0,r.v)(n.yAxisID,C(t,"y")),a=e.rAxisID=(0,r.v)(n.rAxisID,C(t,"r")),c=e.indexAxis,l=e.iAxisID=i(c,o,s,a),u=e.vAxisID=i(c,s,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(s),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&(0,r.u)(this._data,this),t._stacked&&D(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),n=this._data;if((0,r.i)(e))this._data=x(e);else if(n!==e){if(n){(0,r.u)(n,this);const t=this._cachedMeta;D(t),t._parsed=[]}e&&Object.isExtensible(e)&&(0,r.l)(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,n=this.getDataset();let r=!1;this._dataCheck();const i=e._stacked;e._stacked=_(e.vScale,e),e.stack!==n.stack&&(r=!0,D(e),e.stack=n.stack),this._resyncElements(t),(r||i!==e._stacked)&&O(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:s}=n,a=o.axis;let c,l,u,h=0===t&&e===i.length||n._sorted,f=t>0&&n._parsed[t-1];if(!1===this._parsing)n._parsed=i,n._sorted=!0,u=i;else{u=(0,r.b)(i[t])?this.parseArrayData(n,i,t,e):(0,r.i)(i[t])?this.parseObjectData(n,i,t,e):this.parsePrimitiveData(n,i,t,e);const o=()=>null===l[a]||f&&l[a]e||h=0;--f)if(!p()){this.updateRangeFromParsed(l,t,d,c);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,n=[];let i,o,s;for(i=0,o=e.length;i=0&&tthis.getContext(n,i),g=l.resolveNamedOptions(f,d,p,h);return g.$shared&&(g.$shared=c,o[s]=Object.freeze(j(g,c))),g}_resolveAnimations(t,e,n){const r=this.chart,i=this._cachedDataOpts,o=`animation-${e}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,e),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,n,e))}const c=new f(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||E(t)||this.chart._animationsDisabled}updateElement(t,e,n,r){E(r)?Object.assign(t,n):this._resolveAnimations(e,r).update(t,n)}updateSharedOptions(t,e,n){t&&!E(e)&&this._resolveAnimations(void 0,e).update(t,n)}_setStyle(t,e,n,r){t.active=r;const i=this.getStyle(e,r);this._resolveAnimations(e,n,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,e,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,e,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,n=this._cachedMeta.data;for(const[s,a,c]of this._syncList)this[s](a,c);this._syncList=[];const r=n.length,i=e.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=e,s=t.length-1;s>=o;s--)t[s]=t[s-e]};for(a(i),s=t;st-e)))}return t._cache.$bar}function R(t){const e=t.iScale,n=F(e,t.type);let i,o,s,a,c=e._length;const l=()=>{32767!==s&&-32768!==s&&((0,r.j)(a)&&(c=Math.min(c,Math.abs(s-a)||c)),a=s)};for(i=0,o=n.length;i0?i[t-1]:null,a=tMath.abs(a)&&(c=a,l=s),e[n.axis]=l,e._custom={barStart:c,barEnd:l,start:i,end:o,min:s,max:a}}function z(t,e,n,i){return(0,r.b)(t)?W(t,e,n,i):e[n.axis]=n.parse(t,i),e}function H(t,e,n,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,c=[];let l,u,h,f;for(l=n,u=n+r;l=n?1:-1)}function U(t){let e,n,r,i,o;return t.horizontal?(e=t.base>t.x,n="left",r="right"):(e=t.base=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:n,yScale:r}=e,i=this.getParsed(t),o=n.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:e.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,n,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,a=this.resolveDataElementOptions(e,r),c=this.getSharedOptions(a),l=this.includeOptions(r,c),u=o.axis,h=s.axis;for(let f=e;f(0,r.p)(t,c,l,!0)?1:Math.max(e,e*n,i,i*n),g=(t,e,i)=>(0,r.p)(t,c,l,!0)?-1:Math.min(e,e*n,i,i*n),m=p(0,u,f),b=p(r.H,h,d),v=g(r.P,u,f),y=g(r.P+r.H,h,d);i=(m-v)/2,o=(b-y)/2,s=-(m+v)/2,a=-(b+y)/2}return{ratioX:i,ratioY:o,offsetX:s,offsetY:a}}G.id="bubble",G.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},G.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title(){return""}}}}};class Q extends L{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const n=this.getDataset().data,i=this._cachedMeta;if(!1===this._parsing)i._parsed=n;else{let o,s,a=t=>+n[t];if((0,r.i)(n[t])){const{key:t="value"}=this._parsing;a=e=>+(0,r.f)(n[e],t)}for(o=t,s=t+e;o0&&!isNaN(t)?r.T*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=(0,r.o)(e._parsed[t],n.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let e=0;const n=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=n.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},Q.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,r)=>{const i=t.getDatasetMeta(0),o=i.controller.getStyle(r);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title(){return""},label(t){let e=t.label;const n=": "+t.formattedValue;return(0,r.b)(e)?(e=e.slice(),e[0]+=n):e+=n,e}}}}};class tt extends L{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:n,data:r=[],_dataset:i}=e,o=this.chart._animationsDisabled;let{start:s,count:a}=et(e,r,o);this._drawStart=s,this._drawCount=a,nt(e)&&(s=0,a=r.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!i._decimated,n.points=r;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(n,void 0,{animated:!o,options:c},t),this.updateElements(r,s,a,t)}updateElements(t,e,n,i){const o="reset"===i,{iScale:s,vScale:a,_stacked:c,_dataset:l}=this._cachedMeta,u=this.resolveDataElementOptions(e,i),h=this.getSharedOptions(u),f=this.includeOptions(i,h),d=s.axis,p=a.axis,{spanGaps:g,segment:m}=this.options,b=(0,r.q)(g)?g:Number.POSITIVE_INFINITY,v=this.chart._animationsDisabled||o||"none"===i;let y=e>0&&this.getParsed(e-1);for(let x=e;x0&&n[d]-y[d]>b,m&&(u.parsed=n,u.raw=l.data[x]),f&&(u.options=h||this.resolveDataElementOptions(x,e.active?"active":i)),v||this.updateElement(e,x,u,i),y=n}this.updateSharedOptions(h,i,u)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,n=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return n;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function et(t,e,n){const i=e.length;let o=0,s=i;if(t._sorted){const{iScale:a,_parsed:c}=t,l=a.axis,{min:u,max:h,minDefined:f,maxDefined:d}=a.getUserBounds();f&&(o=(0,r.w)(Math.min((0,r.x)(c,a.axis,u).lo,n?i:(0,r.x)(e,l,a.getPixelForValue(u)).lo),0,i-1)),s=d?(0,r.w)(Math.max((0,r.x)(c,a.axis,h).hi+1,n?0:(0,r.x)(e,l,a.getPixelForValue(h)).hi+1),o,i)-o:i-o}return{start:o,count:s}}function nt(t){const{xScale:e,yScale:n,_scaleRanges:r}=t,i={xmin:e.min,xmax:e.max,ymin:n.min,ymax:n.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==e.min||r.xmax!==e.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),o}tt.id="line",tt.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},tt.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class rt extends L{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=(0,r.o)(e._parsed[t].r,n.options.locale);return{label:i[t]||"",value:o}}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}_updateRadius(){const t=this.chart,e=t.chartArea,n=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),i=Math.max(r/2,0),o=Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0),s=(i-o)/t.getVisibleDatasetCount();this.outerRadius=i-s*this.index,this.innerRadius=this.outerRadius-s}updateElements(t,e,n,i){const o="reset"===i,s=this.chart,a=this.getDataset(),c=s.options,l=c.animation,u=this._cachedMeta.rScale,h=u.xCenter,f=u.yCenter,d=u.getIndexAngle(0)-.5*r.P;let p,g=d;const m=360/this.countVisibleElements();for(p=0;p{!isNaN(t.data[r])&&this.chart.getDataVisibility(r)&&n++})),n}_computeAngle(t,e,n){return this.chart.getDataVisibility(t)?(0,r.t)(this.resolveDataElementOptions(t,e).angle||n):0}}rt.id="polarArea",rt.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},rt.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,r)=>{const i=t.getDatasetMeta(0),o=i.controller.getStyle(r);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title(){return""},label(t){return t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class it extends Q{}it.id="pie",it.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class ot extends L{getLabelAndValue(t){const e=this._cachedMeta.vScale,n=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(n[e.axis])}}update(t){const e=this._cachedMeta,n=e.dataset,r=e.data||[],i=e.iScale.getLabels();if(n.points=r,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:e};this.updateElement(n,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,n,r){const i=this.getDataset(),o=this._cachedMeta.rScale,s="reset"===r;for(let a=e;a{t[a](i[s],r)&&o.push({element:t,datasetIndex:e,index:n}),t.inRange(i.x,i.y,r)&&(c=!0)})),n.intersect&&!c?[]:o}var xt={modes:{index(t,e,n,r){const i=ut(e,t),o=n.axis||"x",s=n.intersect?gt(t,i,o,r):vt(t,i,o,!1,r),a=[];return s.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=s[0].index,n=t.data[e];n&&!n.skip&&a.push({element:n,datasetIndex:t.index,index:e})})),a):[]},dataset(t,e,n,r){const i=ut(e,t),o=n.axis||"xy";let s=n.intersect?gt(t,i,o,r):vt(t,i,o,!1,r);if(s.length>0){const e=s[0].datasetIndex,n=t.getDatasetMeta(e).data;s=[];for(let t=0;tt.pos===e))}function kt(t,e){return t.filter((t=>-1===_t.indexOf(t.pos)&&t.box.axis===e))}function Mt(t,e){return t.sort(((t,n)=>{const r=e?n:t,i=e?t:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function St(t){const e=[];let n,r,i,o,s,a;for(n=0,r=(t||[]).length;nt.box.fullSize)),!0),r=Mt(wt(e,"left"),!0),i=Mt(wt(e,"right")),o=Mt(wt(e,"top"),!0),s=Mt(wt(e,"bottom")),a=kt(e,"x"),c=kt(e,"y");return{fullSize:n,leftAndTop:r.concat(o),rightAndBottom:i.concat(c).concat(s).concat(a),chartArea:wt(e,"chartArea"),vertical:r.concat(i).concat(c),horizontal:o.concat(s).concat(a)}}function Tt(t,e,n,r){return Math.max(t[n],e[n])+Math.max(t[r],e[r])}function Dt(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Et(t,e,n,i){const{pos:o,box:s}=n,a=t.maxPadding;if(!(0,r.i)(o)){n.size&&(t[o]-=n.size);const e=i[n.stack]||{size:0,count:1};e.size=Math.max(e.size,n.horizontal?s.height:s.width),n.size=e.size/e.count,t[o]+=n.size}s.getPadding&&Dt(a,s.getPadding());const c=Math.max(0,e.outerWidth-Tt(a,t,"left","right")),l=Math.max(0,e.outerHeight-Tt(a,t,"top","bottom")),u=c!==t.w,h=l!==t.h;return t.w=c,t.h=l,n.horizontal?{same:u,other:h}:{same:h,other:u}}function jt(t){const e=t.maxPadding;function n(n){const r=Math.max(e[n]-t[n],0);return t[n]+=r,r}t.y+=n("top"),t.x+=n("left"),n("right"),n("bottom")}function At(t,e){const n=e.maxPadding;function r(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(e[t],n[t])})),r}return r(t?["left","right"]:["top","bottom"])}function Lt(t,e,n,r){const i=[];let o,s,a,c,l,u;for(o=0,s=t.length,l=0;o{"function"===typeof t.beforeLayout&&t.beforeLayout()}));const h=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,f=Object.freeze({outerWidth:e,outerHeight:n,padding:o,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/h,hBoxMaxHeight:a/2}),d=Object.assign({},o);Dt(d,(0,r.C)(i));const p=Object.assign({maxPadding:d,w:s,h:a,x:o.left,y:o.top},o),g=Ct(l.concat(u),f);Lt(c.fullSize,p,f,g),Lt(l,p,f,g),Lt(u,p,f,g)&&Lt(l,p,f,g),jt(p),Rt(c.leftAndTop,p,f,g),p.x+=p.w,p.y+=p.h,Rt(c.rightAndBottom,p,f,g),t.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},(0,r.D)(c.chartArea,(e=>{const n=e.box;Object.assign(n,t.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})}))}};class Nt{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,n){}removeEventListener(t,e,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,n,r){return e=Math.max(0,e||t.width),n=n||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):n)}}isAttached(t){return!0}updateConfig(t){}}class Wt extends Nt{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const zt="$chartjs",Ht={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Bt=t=>null===t||""===t;function $t(t,e){const n=t.style,i=t.getAttribute("height"),o=t.getAttribute("width");if(t[zt]={initial:{height:i,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Bt(o)){const e=(0,r.G)(t,"width");void 0!==e&&(t.width=e)}if(Bt(i))if(""===t.style.height)t.height=t.width/(e||2);else{const e=(0,r.G)(t,"height");void 0!==e&&(t.height=e)}return t}const Ut=!!r.J&&{passive:!0};function Vt(t,e,n){t.addEventListener(e,n,Ut)}function Zt(t,e,n){t.canvas.removeEventListener(e,n,Ut)}function Yt(t,e){const n=Ht[t.type]||t.type,{x:i,y:o}=(0,r.y)(t,e);return{type:n,chart:e,native:t,x:void 0!==i?i:null,y:void 0!==o?o:null}}function qt(t,e){for(const n of t)if(n===e||n.contains(e))return!0}function Jt(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||qt(n.addedNodes,r),e=e&&!qt(n.removedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Xt(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||qt(n.removedNodes,r),e=e&&!qt(n.addedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Gt=new Map;let Kt=0;function Qt(){const t=window.devicePixelRatio;t!==Kt&&(Kt=t,Gt.forEach(((e,n)=>{n.currentDevicePixelRatio!==t&&e()})))}function te(t,e){Gt.size||window.addEventListener("resize",Qt),Gt.set(t,e)}function ee(t){Gt.delete(t),Gt.size||window.removeEventListener("resize",Qt)}function ne(t,e,n){const i=t.canvas,o=i&&(0,r.F)(i);if(!o)return;const s=(0,r.I)(((t,e)=>{const r=o.clientWidth;n(t,e),r{const e=t[0],n=e.contentRect.width,r=e.contentRect.height;0===n&&0===r||s(n,r)}));return a.observe(o),te(t,s),a}function re(t,e,n){n&&n.disconnect(),"resize"===e&&ee(t)}function ie(t,e,n){const i=t.canvas,o=(0,r.I)((e=>{null!==t.ctx&&n(Yt(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return Vt(i,e,o),o}class oe extends Nt{acquireContext(t,e){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?($t(t,e),n):null}releaseContext(t){const e=t.canvas;if(!e[zt])return!1;const n=e[zt].initial;["height","width"].forEach((t=>{const i=n[t];(0,r.k)(i)?e.removeAttribute(t):e.setAttribute(t,i)}));const i=n.style||{};return Object.keys(i).forEach((t=>{e.style[t]=i[t]})),e.width=e.width,delete e[zt],!0}addEventListener(t,e,n){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),i={attach:Jt,detach:Xt,resize:ne},o=i[e]||ie;r[e]=o(t,e,n)}removeEventListener(t,e){const n=t.$proxies||(t.$proxies={}),r=n[e];if(!r)return;const i={attach:re,detach:re,resize:re},o=i[e]||Zt;o(t,e,r),n[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,n,i){return(0,r.E)(t,e,n,i)}isAttached(t){const e=(0,r.F)(t);return!(!e||!e.isConnected)}}function se(t){return!(0,r.K)()||"undefined"!==typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Wt:oe}class ae{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:n}=this.getProps(["x","y"],t);return{x:e,y:n}}hasValue(){return(0,r.q)(this.x)&&(0,r.q)(this.y)}getProps(t,e){const n=this.$animations;if(!e||!n)return this;const r={};return t.forEach((t=>{r[t]=n[t]&&n[t].active()?n[t]._to:this[t]})),r}}ae.defaults={},ae.defaultRoutes=void 0;const ce={values(t){return(0,r.b)(t)?t:""+t},numeric(t,e,n){if(0===t)return"0";const i=this.chart.options.locale;let o,s=t;if(n.length>1){const e=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(e<1e-4||e>1e15)&&(o="scientific"),s=le(t,n)}const a=(0,r.L)(Math.abs(s)),c=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:o,minimumFractionDigits:c,maximumFractionDigits:c};return Object.assign(l,this.options.ticks.format),(0,r.o)(t,i,l)},logarithmic(t,e,n){if(0===t)return"0";const i=t/Math.pow(10,Math.floor((0,r.L)(t)));return 1===i||2===i||5===i?ce.numeric.call(this,t,e,n):""}};function le(t,e){let n=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(n)>=1&&t!==Math.floor(t)&&(n=t-Math.floor(t)),n}var ue={formatters:ce};function he(t,e){const n=t.options.ticks,i=n.maxTicksLimit||fe(t),o=n.major.enabled?pe(e):[],s=o.length,a=o[0],c=o[s-1],l=[];if(s>i)return ge(e,l,o,s/i),l;const u=de(o,e,i);if(s>0){let t,n;const i=s>1?Math.round((c-a)/(s-1)):null;for(me(e,l,u,(0,r.k)(i)?0:a-i,a),t=0,n=s-1;to)return t}return Math.max(o,1)}function pe(t){const e=[];let n,r;for(n=0,r=t.length;ne.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ue.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),r.d.route("scale.ticks","color","","color"),r.d.route("scale.grid","color","","borderColor"),r.d.route("scale.grid","borderColor","","borderColor"),r.d.route("scale.title","color","","color"),r.d.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),r.d.describe("scales",{_fallback:"scale"}),r.d.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const ve=t=>"left"===t?"right":"right"===t?"left":t,ye=(t,e,n)=>"top"===e||"left"===e?t[e]+n:t[e]-n;function xe(t,e){const n=[],r=t.length/e,i=t.length;let o=0;for(;os+a)))return l}function we(t,e){(0,r.D)(t,(t=>{const n=t.gc,r=n.length/2;let i;if(r>e){for(i=0;ii?i:n,i=o&&n>i?n:i,{min:(0,r.N)(n,(0,r.N)(i,n)),max:(0,r.N)(i,(0,r.N)(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){(0,r.O)(this.options.beforeUpdate,[this])}update(t,e,n){const{beginAtZero:i,grace:o,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=(0,r.Q)(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const c=a=o||n<=1||!this.isHorizontal())return void(this.labelRotation=i);const u=this._getLabelSizes(),h=u.widest.width,f=u.highest.height,d=(0,r.w)(this.chart.width-h,0,this.maxWidth);s=t.offset?this.maxWidth/n:d/(n-1),h+6>s&&(s=d/(n-(t.offset?.5:1)),a=this.maxHeight-ke(t.grid)-e.padding-Me(t.title,this.chart.options.font),c=Math.sqrt(h*h+f*f),l=(0,r.R)(Math.min(Math.asin((0,r.w)((u.highest.height+6)/s,-1,1)),Math.asin((0,r.w)(a/c,-1,1))-Math.asin((0,r.w)(f/c,-1,1)))),l=Math.max(i,Math.min(o,l))),this.labelRotation=l}afterCalculateLabelRotation(){(0,r.O)(this.options.afterCalculateLabelRotation,[this])}beforeFit(){(0,r.O)(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:n,title:i,grid:o}}=this,s=this._isVisible(),a=this.isHorizontal();if(s){const s=Me(i,e.options.font);if(a?(t.width=this.maxWidth,t.height=ke(o)+s):(t.height=this.maxHeight,t.width=ke(o)+s),n.display&&this.ticks.length){const{first:e,last:i,widest:o,highest:s}=this._getLabelSizes(),c=2*n.padding,l=(0,r.t)(this.labelRotation),u=Math.cos(l),h=Math.sin(l);if(a){const e=n.mirror?0:h*o.width+u*s.height;t.height=Math.min(this.maxHeight,t.height+e+c)}else{const e=n.mirror?0:u*o.width+h*s.height;t.width=Math.min(this.maxWidth,t.width+e+c)}this._calculatePadding(e,i,h,u)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,n,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,c="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,h=0;a?c?(u=r*t.width,h=n*e.height):(u=n*t.height,h=r*e.width):"start"===i?h=e.width:"end"===i?u=t.width:(u=t.width/2,h=e.width/2),this.paddingLeft=Math.max((u-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-l+o)*this.width/(this.width-l),0)}else{let n=e.height/2,r=t.height/2;"start"===i?(n=0,r=t.height):"end"===i&&(n=e.height,r=0),this.paddingTop=n+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){(0,r.O)(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,n=t.length;e({width:o[t]||0,height:s[t]||0});return{first:w(0),last:w(e-1),widest:w(x),highest:w(_),widths:o,heights:s}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return(0,r.U)(this._alignToPixels?(0,r.V)(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*i?a/n:c/i:c*i0}_computeGridLineItems(t){const e=this.axis,n=this.chart,i=this.options,{grid:o,position:s}=i,a=o.offset,c=this.isHorizontal(),l=this.ticks,u=l.length+(a?1:0),h=ke(o),f=[],d=o.setContext(this.getContext()),p=d.drawBorder?d.borderWidth:0,g=p/2,m=function(t){return(0,r.V)(n,t,p)};let b,v,y,x,_,w,k,M,S,O,C,P;if("top"===s)b=m(this.bottom),w=this.bottom-h,M=b-g,O=m(t.top)+g,P=t.bottom;else if("bottom"===s)b=m(this.top),O=t.top,P=m(t.bottom)-g,w=b+g,M=this.top+h;else if("left"===s)b=m(this.right),_=this.right-h,k=b-g,S=m(t.left)+g,C=t.right;else if("right"===s)b=m(this.left),S=t.left,C=m(t.right)-g,_=b+g,k=this.left+h;else if("x"===e){if("center"===s)b=m((t.top+t.bottom)/2+.5);else if((0,r.i)(s)){const t=Object.keys(s)[0],e=s[t];b=m(this.chart.scales[t].getPixelForValue(e))}O=t.top,P=t.bottom,w=b+g,M=w+h}else if("y"===e){if("center"===s)b=m((t.left+t.right)/2);else if((0,r.i)(s)){const t=Object.keys(s)[0],e=s[t];b=m(this.chart.scales[t].getPixelForValue(e))}_=b-g,k=_-h,S=t.left,C=t.right}const T=(0,r.v)(i.ticks.maxTicksLimit,u),D=Math.max(1,Math.ceil(u/T));for(v=0;ve.value===t));if(r>=0){const t=e.setContext(this.getContext(r));return t.lineWidth}return 0}drawGrid(t){const e=this.options.grid,n=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,e,r)=>{r.width&&r.color&&(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(t.x,t.y),n.lineTo(e.x,e.y),n.stroke(),n.restore())};if(e.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:n+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",r=[];let i,o;for(i=0,o=e.length;i{const i=n.split("."),o=i.pop(),s=[t].concat(i).join("."),a=e[n].split("."),c=a.pop(),l=a.join(".");r.d.route(s,o,l,c)}))}function Ae(t){return"id"in t&&"defaults"in t}class Le{constructor(){this.controllers=new De(L,"datasets",!0),this.elements=new De(ae,"elements"),this.plugins=new De(Object,"plugins"),this.scales=new De(Te,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,n){[...e].forEach((e=>{const i=n||this._getRegistryForType(e);n||i.isForType(e)||i===this.plugins&&e.id?this._exec(t,i,e):(0,r.D)(e,(e=>{const r=n||this._getRegistryForType(e);this._exec(t,r,e)}))}))}_exec(t,e,n){const i=(0,r.a3)(t);(0,r.O)(n["before"+i],[],n),e[t](n),(0,r.O)(n["after"+i],[],n)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(r(e,n),t,"stop"),this._notify(r(n,e),t,"start")}}function Ie(t){const e=[],n=Object.keys(Fe.plugins.items);for(let i=0;i{const e=i[t];if(!(0,r.i)(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const c=Ve(t,e),l=$e(c,o),u=n.scales||{};s[c]=s[c]||t,a[t]=(0,r.a9)(Object.create(null),[{axis:c},e,u[c],u[l]])})),t.data.datasets.forEach((n=>{const o=n.type||t.type,c=n.indexAxis||He(o,e),l=r.a1[o]||{},u=l.scales||{};Object.keys(u).forEach((t=>{const e=Be(t,c),o=n[e+"AxisID"]||s[e]||e;a[o]=a[o]||Object.create(null),(0,r.a9)(a[o],[{axis:e},i[o],u[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];(0,r.a9)(e,[r.d.scales[e.type],r.d.scale])})),a}function Ye(t){const e=t.options||(t.options={});e.plugins=(0,r.v)(e.plugins,{}),e.scales=Ze(t,e)}function qe(t){return t=t||{},t.datasets=t.datasets||[],t.labels=t.labels||[],t}function Je(t){return t=t||{},t.data=qe(t.data),Ye(t),t}const Xe=new Map,Ge=new Set;function Ke(t,e){let n=Xe.get(t);return n||(n=e(),Xe.set(t,n),Ge.add(n)),n}const Qe=(t,e,n)=>{const i=(0,r.f)(e,n);void 0!==i&&t.add(i)};class tn{constructor(t){this._config=Je(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=qe(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Ye(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ke(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Ke(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Ke(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id,n=this.type;return Ke(`${n}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const n=this._scopeCache;let r=n.get(t);return r&&!e||(r=new Map,n.set(t,r)),r}getOptionScopes(t,e,n){const{options:i,type:o}=this,s=this._cachedScopes(t,n),a=s.get(e);if(a)return a;const c=new Set;e.forEach((e=>{t&&(c.add(t),e.forEach((e=>Qe(c,t,e)))),e.forEach((t=>Qe(c,i,t))),e.forEach((t=>Qe(c,r.a1[o]||{},t))),e.forEach((t=>Qe(c,r.d,t))),e.forEach((t=>Qe(c,r.a4,t)))}));const l=Array.from(c);return 0===l.length&&l.push(Object.create(null)),Ge.has(e)&&s.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,r.a1[e]||{},r.d.datasets[e]||{},{type:e},r.d,r.a4]}resolveNamedOptions(t,e,n,i=[""]){const o={$shared:!0},{resolver:s,subPrefixes:a}=en(this._resolverCache,t,i);let c=s;if(rn(s,e)){o.$shared=!1,n=(0,r.a5)(n)?n():n;const e=this.createResolver(t,n,a);c=(0,r.a6)(s,n,e)}for(const r of e)o[r]=c[r];return o}createResolver(t,e,n=[""],i){const{resolver:o}=en(this._resolverCache,t,n);return(0,r.i)(e)?(0,r.a6)(o,e,void 0,i):o}}function en(t,e,n){let i=t.get(e);i||(i=new Map,t.set(e,i));const o=n.join();let s=i.get(o);if(!s){const t=(0,r.a7)(e,n);s={resolver:t,subPrefixes:n.filter((t=>!t.toLowerCase().includes("hover")))},i.set(o,s)}return s}const nn=t=>(0,r.i)(t)&&Object.getOwnPropertyNames(t).reduce(((e,n)=>e||(0,r.a5)(t[n])),!1);function rn(t,e){const{isScriptable:n,isIndexable:i}=(0,r.a8)(t);for(const o of e){const e=n(o),s=i(o),a=(s||e)&&t[o];if(e&&((0,r.a5)(a)||nn(a))||s&&(0,r.b)(a))return!0}return!1}var on="3.7.1";const sn=["top","bottom","left","right","chartArea"];function an(t,e){return"top"===t||"bottom"===t||-1===sn.indexOf(t)&&"x"===e}function cn(t,e){return function(n,r){return n[t]===r[t]?n[e]-r[e]:n[t]-r[t]}}function ln(t){const e=t.chart,n=e.options.animation;e.notifyPlugins("afterRender"),(0,r.O)(n&&n.onComplete,[t],e)}function un(t){const e=t.chart,n=e.options.animation;(0,r.O)(n&&n.onProgress,[t],e)}function hn(t){return(0,r.K)()&&"string"===typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const fn={},dn=t=>{const e=hn(t);return Object.values(fn).filter((t=>t.canvas===e)).pop()};function pn(t,e,n){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=e){const o=t[i];delete t[i],(n>0||r>e)&&(t[r+n]=o)}}}function gn(t,e,n,r){return n&&"mouseout"!==t.type?r?e:t:null}class mn{constructor(t,e){const n=this.config=new tn(e),i=hn(t),s=dn(i);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas can be reused.");const a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||se(i)),this.platform.updateConfig(n);const c=this.platform.acquireContext(i,a.aspectRatio),l=c&&c.canvas,u=l&&l.height,h=l&&l.width;this.id=(0,r.aa)(),this.ctx=c,this.canvas=l,this.width=h,this.height=u,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Re,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=(0,r.ab)((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],fn[this.id]=this,c&&l?(o.listen(this,"complete",ln),o.listen(this,"progress",un),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:n,height:i,_aspectRatio:o}=this;return(0,r.k)(t)?e&&o?o:i?n/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():(0,r.ac)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return(0,r.ad)(this.canvas,this.ctx),this}stop(){return o.stop(this),this}resize(t,e){o.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,s=this.platform.getMaximumSize(i,t,e,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),c=this.width?"resize":"attach";this.width=s.width,this.height=s.height,this._aspectRatio=this.aspectRatio,(0,r.ac)(this,a,!0)&&(this.notifyPlugins("resize",{size:s}),(0,r.O)(n.onResize,[this,s],this),this.attached&&this._doResize(c)&&this.render())}ensureScalesHaveIDs(){const t=this.options,e=t.scales||{};(0,r.D)(e,((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,n=this.scales,i=Object.keys(n).reduce(((t,e)=>(t[e]=!1,t)),{});let o=[];e&&(o=o.concat(Object.keys(e).map((t=>{const n=e[t],r=Ve(t,n),i="r"===r,o="x"===r;return{options:n,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),(0,r.D)(o,(e=>{const o=e.options,s=o.id,a=Ve(s,o),c=(0,r.v)(o.type,e.dtype);void 0!==o.position&&an(o.position,a)===an(e.dposition)||(o.position=e.dposition),i[s]=!0;let l=null;if(s in n&&n[s].type===c)l=n[s];else{const t=Fe.getScale(c);l=new t({id:s,type:c,ctx:this.ctx,chart:this}),n[l.id]=l}l.init(o,t)})),(0,r.D)(i,((t,e)=>{t||delete n[e]})),(0,r.D)(n,(t=>{It.configure(this,t,t.options),It.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,n=t.length;if(t.sort(((t,e)=>t.index-e.index)),n>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,n)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=e.length;n{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const n=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let s=0;for(let r=0,l=this.data.datasets.length;r{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(cn("z","_idx"));const{_active:a,_lastEvent:c}=this;c?this._eventHandler(c,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){(0,r.D)(this.scales,(t=>{It.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),n=new Set(t.events);(0,r.ae)(e,n)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:n,start:r,count:i}of e){const e="_removeElements"===n?-i:i;pn(t,r,e)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,n=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),i=n(0);for(let o=1;ot.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;It.update(this,this.width,this.height,t);const e=this.chartArea,n=e.width<=0||e.height<=0;this._layers=[],(0,r.D)(this.boxes,(t=>{n&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,n=t._clip,i=!n.disabled,o=this.chartArea,s={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",s)&&(i&&(0,r.W)(e,{left:!1===n.left?0:o.left-n.left,right:!1===n.right?this.width:o.right+n.right,top:!1===n.top?0:o.top-n.top,bottom:!1===n.bottom?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&(0,r.Y)(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}getElementsAtEventForMode(t,e,n,r){const i=xt.modes[e];return"function"===typeof i?i(this,t,n,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],n=this._metasets;let r=n.filter((t=>t&&t._dataset===e)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||(this.$context=(0,r.h)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const n=this.getDatasetMeta(t);return"boolean"===typeof n.hidden?!n.hidden:!e.hidden}setDatasetVisibility(t,e){const n=this.getDatasetMeta(t);n.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),s=o.controller._resolveAnimations(void 0,i);(0,r.j)(e)?(o.data[e].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),s.update(o,{visible:n}),this.update((e=>e.datasetIndex===t?i:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),o.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,n,r),t[n]=r},i=(t,e,n)=>{t.offsetX=e,t.offsetY=n,this._eventHandler(t)};(0,r.D)(this.options.events,(t=>n(t,i)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,n=(n,r)=>{e.addEventListener(this,n,r),t[n]=r},r=(n,r)=>{t[n]&&(e.removeEventListener(this,n,r),delete t[n])},i=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),n("resize",i),n("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),n("attach",s)},e.isAttached(this.canvas)?s():o()}unbindEvents(){(0,r.D)(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},(0,r.D)(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,n){const r=n?"set":"remove";let i,o,s,a;for("dataset"===e&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const n=this.getDatasetMeta(t);if(!n)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),i=!(0,r.af)(n,e);i&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,e))}notifyPlugins(t,e,n){return this._plugins.notify(this,t,e,n)}_updateHoverStyles(t,e,n){const r=this.options.hover,i=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=i(e,t),s=n?t:i(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,e){const n={event:t,replay:e,cancelable:!0,inChartArea:(0,r.z)(t,this.chartArea,this._minPadding)},i=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",n,i))return;const o=this._handleEvent(t,e,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,e,n){const{_active:i=[],options:o}=this,s=e,a=this._getActiveElements(t,i,n,s),c=(0,r.ag)(t),l=gn(t,this._lastEvent,n,c);n&&(this._lastEvent=null,(0,r.O)(o.onHover,[t,a,this],this),c&&(0,r.O)(o.onClick,[t,a,this],this));const u=!(0,r.af)(a,i);return(u||e)&&(this._active=a,this._updateHoverStyles(a,i,e)),this._lastEvent=l,u}_getActiveElements(t,e,n,r){if("mouseout"===t.type)return[];if(!n)return e;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const bn=()=>(0,r.D)(mn.instances,(t=>t._plugins.invalidate())),vn=!0;function yn(t,e,n){const{startAngle:i,pixelMargin:o,x:s,y:a,outerRadius:c,innerRadius:l}=e;let u=o/c;t.beginPath(),t.arc(s,a,c,i-u,n+u),l>o?(u=o/l,t.arc(s,a,l,n+u,i-u,!0)):t.arc(s,a,o,n+r.H,i-r.H),t.closePath(),t.clip()}function xn(t){return(0,r.ai)(t,["outerStart","outerEnd","innerStart","innerEnd"])}function _n(t,e,n,i){const o=xn(t.options.borderRadius),s=(n-e)/2,a=Math.min(s,i*e/2),c=t=>{const e=(n-Math.min(s,t))*i/2;return(0,r.w)(t,0,Math.min(s,e))};return{outerStart:c(o.outerStart),outerEnd:c(o.outerEnd),innerStart:(0,r.w)(o.innerStart,0,a),innerEnd:(0,r.w)(o.innerEnd,0,a)}}function wn(t,e,n,r){return{x:n+t*Math.cos(e),y:r+t*Math.sin(e)}}function kn(t,e,n,i,o){const{x:s,y:a,startAngle:c,pixelMargin:l,innerRadius:u}=e,h=Math.max(e.outerRadius+i+n-l,0),f=u>0?u+i+n+l:0;let d=0;const p=o-c;if(i){const t=u>0?u-i:0,e=h>0?h-i:0,n=(t+e)/2,r=0!==n?p*n/(n+i):p;d=(p-r)/2}const g=Math.max(.001,p*h-n/r.P)/h,m=(p-g)/2,b=c+m+d,v=o-m-d,{outerStart:y,outerEnd:x,innerStart:_,innerEnd:w}=_n(e,f,h,v-b),k=h-y,M=h-x,S=b+y/k,O=v-x/M,C=f+_,P=f+w,T=b+_/C,D=v-w/P;if(t.beginPath(),t.arc(s,a,h,S,O),x>0){const e=wn(M,O,s,a);t.arc(e.x,e.y,x,O,v+r.H)}const E=wn(P,v,s,a);if(t.lineTo(E.x,E.y),w>0){const e=wn(P,D,s,a);t.arc(e.x,e.y,w,v+r.H,D+Math.PI)}if(t.arc(s,a,f,v-w/f,b+_/f,!0),_>0){const e=wn(C,T,s,a);t.arc(e.x,e.y,_,T+Math.PI,b-r.H)}const j=wn(k,b,s,a);if(t.lineTo(j.x,j.y),y>0){const e=wn(k,S,s,a);t.arc(e.x,e.y,y,b-r.H,S)}t.closePath()}function Mn(t,e,n,i){const{fullCircles:o,startAngle:s,circumference:a}=e;let c=e.endAngle;if(o){kn(t,e,n,i,s+r.T);for(let e=0;e{Fe.add(...t),bn()}},unregister:{enumerable:vn,value:(...t)=>{Fe.remove(...t),bn()}}});class Cn extends ae{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,n){const i=this.getProps(["x","y"],n),{angle:o,distance:s}=(0,r.B)(i,{x:t,y:e}),{startAngle:a,endAngle:c,innerRadius:l,outerRadius:u,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=this.options.spacing/2,d=(0,r.v)(h,c-a),p=d>=r.T||(0,r.p)(o,a,c),g=(0,r.ah)(s,l+f,u+f);return p&&g}getCenterPoint(t){const{x:e,y:n,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:c}=this.options,l=(r+i)/2,u=(o+s+c+a)/2;return{x:e+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:n}=this,i=(e.offset||0)/2,o=(e.spacing||0)/2;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=n>r.T?Math.floor(n/r.T):0,0===n||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(i){s=i/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*s,Math.sin(e)*s),this.circumference>=r.P&&(s=i)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=Mn(t,this,s,o);On(t,this,s,o,a),t.restore()}}function Pn(t,e,n=e){t.lineCap=(0,r.v)(n.borderCapStyle,e.borderCapStyle),t.setLineDash((0,r.v)(n.borderDash,e.borderDash)),t.lineDashOffset=(0,r.v)(n.borderDashOffset,e.borderDashOffset),t.lineJoin=(0,r.v)(n.borderJoinStyle,e.borderJoinStyle),t.lineWidth=(0,r.v)(n.borderWidth,e.borderWidth),t.strokeStyle=(0,r.v)(n.borderColor,e.borderColor)}function Tn(t,e,n){t.lineTo(n.x,n.y)}function Dn(t){return t.stepped?r.ap:t.tension||"monotone"===t.cubicInterpolationMode?r.aq:Tn}function En(t,e,n={}){const r=t.length,{start:i=0,end:o=r-1}=n,{start:s,end:a}=e,c=Math.max(i,s),l=Math.min(o,a),u=ia&&o>a;return{count:r,start:c,loop:e.loop,ilen:l(s+(l?a-t:t))%o,y=()=>{d!==p&&(t.lineTo(m,p),t.lineTo(m,d),t.lineTo(m,g))};for(c&&(h=i[v(0)],t.moveTo(h.x,h.y)),u=0;u<=a;++u){if(h=i[v(u)],h.skip)continue;const e=h.x,n=h.y,r=0|e;r===f?(np&&(p=n),m=(b*m+e)/++b):(y(),t.lineTo(e,n),f=r,b=0,d=p=n),g=n}y()}function Ln(t){const e=t.options,n=e.borderDash&&e.borderDash.length,r=!t._decimated&&!t._loop&&!e.tension&&"monotone"!==e.cubicInterpolationMode&&!e.stepped&&!n;return r?An:jn}function Fn(t){return t.stepped?r.am:t.tension||"monotone"===t.cubicInterpolationMode?r.an:r.ao}function Rn(t,e,n,r){let i=e._path;i||(i=e._path=new Path2D,e.path(i,n,r)&&i.closePath()),Pn(t,e.options),t.stroke(i)}function In(t,e,n,r){const{segments:i,options:o}=e,s=Ln(e);for(const a of i)Pn(t,o,a.style),t.beginPath(),s(t,e,a,{start:n,end:n+r-1})&&t.closePath(),t.stroke()}Cn.id="arc",Cn.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},Cn.defaultRoutes={backgroundColor:"backgroundColor"};const Nn="function"===typeof Path2D;function Wn(t,e,n,r){Nn&&!e.options.segment?Rn(t,e,n,r):In(t,e,n,r)}class zn extends ae{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;(0,r.aj)(this._points,n,t,i,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=(0,r.ak)(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,n=t.length;return n&&e[t[n-1].end]}interpolate(t,e){const n=this.options,i=t[e],o=this.points,s=(0,r.al)(this,{property:e,start:i,end:i});if(!s.length)return;const a=[],c=Fn(n);let l,u;for(l=0,u=s.length;l"borderDash"!==t&&"fill"!==t};class Bn extends ae{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,n){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],n);return Math.pow(t-i,2)+Math.pow(e-o,2)=n)&&o):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function nr(t){const{scale:e={},fill:n}=t;let i,o=null;return"start"===n?o=e.bottom:"end"===n?o=e.top:(0,r.i)(n)?o=e.getPixelForValue(n.value):e.getBasePixel&&(o=e.getBasePixel()),(0,r.g)(o)?(i=e.isHorizontal(),{x:i?o:null,y:i?null:o}):null}class rr{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,n){const{x:i,y:o,radius:s}=this;return e=e||{start:0,end:r.T},t.arc(i,o,s,e.end,e.start,!0),!n.bounds}interpolate(t){const{x:e,y:n,radius:r}=this,i=t.angle;return{x:e+Math.cos(i)*r,y:n+Math.sin(i)*r,angle:i}}}function ir(t){const{scale:e,fill:n}=t,i=e.options,o=e.getLabels().length,s=[],a=i.reverse?e.max:e.min,c=i.reverse?e.min:e.max;let l,u,h;if(h="start"===n?a:"end"===n?c:(0,r.i)(n)?n.value:e.getBaseValue(),i.grid.circular)return u=e.getPointPositionForValue(0,a),new rr({x:u.x,y:u.y,radius:e.getDistanceFromCenterForValue(h)});for(l=0;lt;e--){const t=n[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ar(t,e){const{x:n=null,y:r=null}=t||{},i=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=sr(t,e,i);const s=i[t],a=i[e];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==n&&(o.push({x:n,y:s.y}),o.push({x:n,y:a.y}))})),o}function cr(t){const{scale:e,index:n,line:r}=t,i=[],o=r.segments,s=r.points,a=lr(e,n);a.push(dr({x:null,y:e.bottom},r));for(let c=0;c=0;--s){const e=i[s].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&kr(t.ctx,e,o))}},beforeDatasetsDraw(t,e,n){if("beforeDatasetsDraw"!==n.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let i=r.length-1;i>=0;--i){const e=r[i].$filler;e&&kr(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,e,n){const r=e.meta.$filler;r&&!1!==r.fill&&"beforeDatasetDraw"===n.drawTime&&kr(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Sr=(t,e)=>{let{boxHeight:n=e,boxWidth:r=e}=t;return t.usePointStyle&&(n=Math.min(n,e),r=Math.min(r,e)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(e,n)}},Or=(t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index;class Cr extends ae{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,n){this.maxWidth=t,this.maxHeight=e,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=(0,r.O)(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,n)=>t.sort(e,n,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const n=t.labels,i=(0,r.Z)(n.font),o=i.size,s=this._computeTitleHeight(),{boxWidth:a,itemHeight:c}=Sr(n,o);let l,u;e.font=i.string,this.isHorizontal()?(l=this.maxWidth,u=this._fitRows(s,o,a,c)+10):(u=this.maxHeight,l=this._fitCols(s,o,a,c)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,e,n,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+s;let u=t;i.textAlign="left",i.textBaseline="middle";let h=-1,f=-l;return this.legendItems.forEach(((t,d)=>{const p=n+e/2+i.measureText(t.text).width;(0===d||c[c.length-1]+p+2*s>o)&&(u+=l,c[c.length-(d>0?0:1)]=0,f+=l,h++),a[d]={left:0,top:f,row:h,width:p,height:r},c[c.length-1]+=p+s})),u}_fitCols(t,e,n,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],c=this.columnSizes=[],l=o-t;let u=s,h=0,f=0,d=0,p=0;return this.legendItems.forEach(((t,o)=>{const g=n+e/2+i.measureText(t.text).width;o>0&&f+r+2*s>l&&(u+=h+s,c.push({width:h,height:f}),d+=h+s,p++,h=f=0),a[o]={left:d,top:f,col:p,width:g,height:r},h=Math.max(h,g),f+=r+s})),u+=h,c.push({width:h,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:n,labels:{padding:i},rtl:o}}=this,s=(0,r.ax)(o,this.left,this.width);if(this.isHorizontal()){let o=0,a=(0,r.a0)(n,this.left+i,this.right-this.lineWidths[o]);for(const c of e)o!==c.row&&(o=c.row,a=(0,r.a0)(n,this.left+i,this.right-this.lineWidths[o])),c.top+=this.top+t+i,c.left=s.leftForLtr(s.x(a),c.width),a+=c.width+i}else{let o=0,a=(0,r.a0)(n,this.top+t+i,this.bottom-this.columnSizes[o].height);for(const c of e)c.col!==o&&(o=c.col,a=(0,r.a0)(n,this.top+t+i,this.bottom-this.columnSizes[o].height)),c.top=a,c.left+=this.left+i,c.left=s.leftForLtr(s.x(c.left),c.width),a+=c.height+i}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;(0,r.W)(t,this),this._draw(),(0,r.Y)(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:n,ctx:i}=this,{align:o,labels:s}=t,a=r.d.color,c=(0,r.ax)(t.rtl,this.left,this.width),l=(0,r.Z)(s.font),{color:u,padding:h}=s,f=l.size,d=f/2;let p;this.drawTitle(),i.textAlign=c.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=l.string;const{boxWidth:g,boxHeight:m,itemHeight:b}=Sr(s,f),v=function(t,e,n){if(isNaN(g)||g<=0||isNaN(m)||m<0)return;i.save();const o=(0,r.v)(n.lineWidth,1);if(i.fillStyle=(0,r.v)(n.fillStyle,a),i.lineCap=(0,r.v)(n.lineCap,"butt"),i.lineDashOffset=(0,r.v)(n.lineDashOffset,0),i.lineJoin=(0,r.v)(n.lineJoin,"miter"),i.lineWidth=o,i.strokeStyle=(0,r.v)(n.strokeStyle,a),i.setLineDash((0,r.v)(n.lineDash,[])),s.usePointStyle){const s={radius:g*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:o},a=c.xPlus(t,g/2),l=e+d;(0,r.ar)(i,s,a,l)}else{const s=e+Math.max((f-m)/2,0),a=c.leftForLtr(t,g),l=(0,r.au)(n.borderRadius);i.beginPath(),Object.values(l).some((t=>0!==t))?(0,r.as)(i,{x:a,y:s,w:g,h:m,radius:l}):i.rect(a,s,g,m),i.fill(),0!==o&&i.stroke()}i.restore()},y=function(t,e,n){(0,r.X)(i,n.text,t,e+b/2,l,{strikethrough:n.hidden,textAlign:c.textAlign(n.textAlign)})},x=this.isHorizontal(),_=this._computeTitleHeight();p=x?{x:(0,r.a0)(o,this.left+h,this.right-n[0]),y:this.top+h+_,line:0}:{x:this.left+h,y:(0,r.a0)(o,this.top+_+h,this.bottom-e[0].height),line:0},(0,r.ay)(this.ctx,t.textDirection);const w=b+h;this.legendItems.forEach(((a,l)=>{i.strokeStyle=a.fontColor||u,i.fillStyle=a.fontColor||u;const f=i.measureText(a.text).width,m=c.textAlign(a.textAlign||(a.textAlign=s.textAlign)),b=g+d+f;let k=p.x,M=p.y;c.setWidth(this.width),x?l>0&&k+b+h>this.right&&(M=p.y+=w,p.line++,k=p.x=(0,r.a0)(o,this.left+h,this.right-n[p.line])):l>0&&M+w>this.bottom&&(k=p.x=k+e[p.line].width+h,p.line++,M=p.y=(0,r.a0)(o,this.top+_+h,this.bottom-e[p.line].height));const S=c.x(k);v(S,M,a),k=(0,r.az)(m,k+g+d,x?k+b:this.right,t.rtl),y(c.x(k),M,a),x?p.x+=b+h:p.y+=w})),(0,r.aA)(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,n=(0,r.Z)(e.font),i=(0,r.C)(e.padding);if(!e.display)return;const o=(0,r.ax)(t.rtl,this.left,this.width),s=this.ctx,a=e.position,c=n.size/2,l=i.top+c;let u,h=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+l,h=(0,r.a0)(t.align,h,this.right-f);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);u=l+(0,r.a0)(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const d=(0,r.a0)(a,h,h+f);s.textAlign=o.textAlign((0,r.$)(a)),s.textBaseline="middle",s.strokeStyle=e.color,s.fillStyle=e.color,s.font=n.string,(0,r.X)(s,e.text,d,u,n)}_computeTitleHeight(){const t=this.options.title,e=(0,r.Z)(t.font),n=(0,r.C)(t.padding);return t.display?e.lineHeight+n.height:0}_getLegendItemAt(t,e){let n,i,o;if((0,r.ah)(t,this.left,this.right)&&(0,r.ah)(e,this.top,this.bottom))for(o=this.legendHitBoxes,n=0;nt.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:o,color:s}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(n?0:void 0),c=(0,r.C)(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:s,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:o||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Dr extends ae{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const i=(0,r.b)(n.text)?n.text.length:1;this._padding=(0,r.C)(n.padding);const o=i*(0,r.Z)(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:n,bottom:i,right:o,options:s}=this,a=s.align;let c,l,u,h=0;return this.isHorizontal()?(l=(0,r.a0)(a,n,o),u=e+t,c=o-n):("left"===s.position?(l=n+t,u=(0,r.a0)(a,i,e),h=-.5*r.P):(l=o-t,u=(0,r.a0)(a,e,i),h=.5*r.P),c=i-e),{titleX:l,titleY:u,maxWidth:c,rotation:h}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const n=(0,r.Z)(e.font),i=n.lineHeight,o=i/2+this._padding.top,{titleX:s,titleY:a,maxWidth:c,rotation:l}=this._drawArgs(o);(0,r.X)(t,e.text,0,0,n,{color:e.color,maxWidth:c,rotation:l,textAlign:(0,r.$)(e.align),textBaseline:"middle",translation:[s,a]})}}function Er(t,e){const n=new Dr({ctx:t.ctx,options:e,chart:t});It.configure(t,n,e),It.addBox(t,n),t.titleBlock=n}var jr={id:"title",_element:Dr,start(t,e,n){Er(t,n)},stop(t){const e=t.titleBlock;It.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,n){const r=t.titleBlock;It.configure(t,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};new WeakMap;const Ar={average(t){if(!t.length)return!1;let e,n,r=0,i=0,o=0;for(e=0,n=t.length;e-1?t.split("\n"):t}function Rr(t,e){const{element:n,datasetIndex:r,index:i}=e,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Ir(t,e){const n=t.chart.ctx,{body:i,footer:o,title:s}=t,{boxWidth:a,boxHeight:c}=e,l=(0,r.Z)(e.bodyFont),u=(0,r.Z)(e.titleFont),h=(0,r.Z)(e.footerFont),f=s.length,d=o.length,p=i.length,g=(0,r.C)(e.padding);let m=g.height,b=0,v=i.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(v+=t.beforeBody.length+t.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*e.titleSpacing+e.titleMarginBottom),v){const t=e.displayColors?Math.max(c,l.lineHeight):l.lineHeight;m+=p*t+(v-p)*l.lineHeight+(v-1)*e.bodySpacing}d&&(m+=e.footerMarginTop+d*h.lineHeight+(d-1)*e.footerSpacing);let y=0;const x=function(t){b=Math.max(b,n.measureText(t).width+y)};return n.save(),n.font=u.string,(0,r.D)(t.title,x),n.font=l.string,(0,r.D)(t.beforeBody.concat(t.afterBody),x),y=e.displayColors?a+2+e.boxPadding:0,(0,r.D)(i,(t=>{(0,r.D)(t.before,x),(0,r.D)(t.lines,x),(0,r.D)(t.after,x)})),y=0,n.font=h.string,(0,r.D)(t.footer,x),n.restore(),b+=g.width,{width:b,height:m}}function Nr(t,e){const{y:n,height:r}=e;return nt.height-r/2?"bottom":"center"}function Wr(t,e,n,r){const{x:i,width:o}=r,s=n.caretSize+n.caretPadding;return"left"===t&&i+o+s>e.width||("right"===t&&i-o-s<0||void 0)}function zr(t,e,n,r){const{x:i,width:o}=n,{width:s,chartArea:{left:a,right:c}}=t;let l="center";return"center"===r?l=i<=(a+c)/2?"left":"right":i<=o/2?l="left":i>=s-o/2&&(l="right"),Wr(l,t,e,n)&&(l="center"),l}function Hr(t,e,n){const r=n.yAlign||e.yAlign||Nr(t,n);return{xAlign:n.xAlign||e.xAlign||zr(t,e,n,r),yAlign:r}}function Br(t,e){let{x:n,width:r}=t;return"right"===e?n-=r:"center"===e&&(n-=r/2),n}function $r(t,e,n){let{y:r,height:i}=t;return"top"===e?r+=n:r-="bottom"===e?i+n:i/2,r}function Ur(t,e,n,i){const{caretSize:o,caretPadding:s,cornerRadius:a}=t,{xAlign:c,yAlign:l}=n,u=o+s,{topLeft:h,topRight:f,bottomLeft:d,bottomRight:p}=(0,r.au)(a);let g=Br(e,c);const m=$r(e,l,u);return"center"===l?"left"===c?g+=u:"right"===c&&(g-=u):"left"===c?g-=Math.max(h,d)+o:"right"===c&&(g+=Math.max(f,p)+o),{x:(0,r.w)(g,0,i.width-e.width),y:(0,r.w)(m,0,i.height-e.height)}}function Vr(t,e,n){const i=(0,r.C)(n.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-i.right:t.x+i.left}function Zr(t){return Lr([],Fr(t))}function Yr(t,e,n){return(0,r.h)(t,{tooltip:e,tooltipItems:n,type:"tooltip"})}function qr(t,e){const n=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return n?t.override(n):t}class Jr extends ae{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,n=this.options.setContext(this.getContext()),r=n.enabled&&e.options.animation&&n.animations,i=new f(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=Yr(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:n}=e,r=n.beforeTitle.apply(this,[t]),i=n.title.apply(this,[t]),o=n.afterTitle.apply(this,[t]);let s=[];return s=Lr(s,Fr(r)),s=Lr(s,Fr(i)),s=Lr(s,Fr(o)),s}getBeforeBody(t,e){return Zr(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:n}=e,i=[];return(0,r.D)(t,(t=>{const e={before:[],lines:[],after:[]},r=qr(n,t);Lr(e.before,Fr(r.beforeLabel.call(this,t))),Lr(e.lines,r.label.call(this,t)),Lr(e.after,Fr(r.afterLabel.call(this,t))),i.push(e)})),i}getAfterBody(t,e){return Zr(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:n}=e,r=n.beforeFooter.apply(this,[t]),i=n.footer.apply(this,[t]),o=n.afterFooter.apply(this,[t]);let s=[];return s=Lr(s,Fr(r)),s=Lr(s,Fr(i)),s=Lr(s,Fr(o)),s}_createItems(t){const e=this._active,n=this.chart.data,i=[],o=[],s=[];let a,c,l=[];for(a=0,c=e.length;at.filter(e,r,i,n)))),t.itemSort&&(l=l.sort(((e,r)=>t.itemSort(e,r,n)))),(0,r.D)(l,(e=>{const n=qr(t.callbacks,e);i.push(n.labelColor.call(this,e)),o.push(n.labelPointStyle.call(this,e)),s.push(n.labelTextColor.call(this,e))})),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=s,this.dataPoints=l,l}update(t,e){const n=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=Ar[n.position].call(this,r,this._eventPosition);o=this._createItems(n),this.title=this.getTitle(o,n),this.beforeBody=this.getBeforeBody(o,n),this.body=this.getBody(o,n),this.afterBody=this.getAfterBody(o,n),this.footer=this.getFooter(o,n);const e=this._size=Ir(this,n),s=Object.assign({},t,e),a=Hr(this.chart,n,s),c=Ur(n,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:c.x,y:c.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,n,r){const i=this.getCaretPosition(t,n,r);e.lineTo(i.x1,i.y1),e.lineTo(i.x2,i.y2),e.lineTo(i.x3,i.y3)}getCaretPosition(t,e,n){const{xAlign:i,yAlign:o}=this,{caretSize:s,cornerRadius:a}=n,{topLeft:c,topRight:l,bottomLeft:u,bottomRight:h}=(0,r.au)(a),{x:f,y:d}=t,{width:p,height:g}=e;let m,b,v,y,x,_;return"center"===o?(x=d+g/2,"left"===i?(m=f,b=m-s,y=x+s,_=x-s):(m=f+p,b=m+s,y=x-s,_=x+s),v=m):(b="left"===i?f+Math.max(c,u)+s:"right"===i?f+p-Math.max(l,h)-s:this.caretX,"top"===o?(y=d,x=y-s,m=b-s,v=b+s):(y=d+g,x=y+s,m=b+s,v=b-s),_=y),{x1:m,x2:b,x3:v,y1:y,y2:x,y3:_}}drawTitle(t,e,n){const i=this.title,o=i.length;let s,a,c;if(o){const l=(0,r.ax)(n.rtl,this.x,this.width);for(t.x=Vr(this,n.titleAlign,n),e.textAlign=l.textAlign(n.titleAlign),e.textBaseline="middle",s=(0,r.Z)(n.titleFont),a=n.titleSpacing,e.fillStyle=n.titleColor,e.font=s.string,c=0;c0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,(0,r.as)(t,{x:e,y:g,w:l,h:c,radius:a}),t.fill(),t.stroke(),t.fillStyle=s.backgroundColor,t.beginPath(),(0,r.as)(t,{x:n,y:g+1,w:l-2,h:c-2,radius:a}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,g,l,c),t.strokeRect(e,g,l,c),t.fillStyle=s.backgroundColor,t.fillRect(n,g+1,l-2,c-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,e,n){const{body:i}=this,{bodySpacing:o,bodyAlign:s,displayColors:a,boxHeight:c,boxWidth:l,boxPadding:u}=n,h=(0,r.Z)(n.bodyFont);let f=h.lineHeight,d=0;const p=(0,r.ax)(n.rtl,this.x,this.width),g=function(n){e.fillText(n,p.x(t.x+d),t.y+f/2),t.y+=f+o},m=p.textAlign(s);let b,v,y,x,_,w,k;for(e.textAlign=s,e.textBaseline="middle",e.font=h.string,t.x=Vr(this,m,n),e.fillStyle=n.bodyColor,(0,r.D)(this.beforeBody,g),d=a&&"right"!==m?"center"===s?l/2+u:l+2+u:0,x=0,w=i.length;x0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){const n=Ar[t.position].call(this,this._active,this._eventPosition);if(!n)return;const o=this._size=Ir(this,t),s=Object.assign({},n,this._size),a=Hr(e,t,s),c=Ur(t,s,a,e);r._to===c.x&&i._to===c.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}draw(t){const e=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(e);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const s=(0,r.C)(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,e),(0,r.ay)(t,e.textDirection),o.y+=s.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),(0,r.aA)(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const n=this._active,i=t.map((({datasetIndex:t,index:e})=>{const n=this.chart.getDatasetMeta(t);if(!n)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),o=!(0,r.af)(n,i),s=this._positionChanged(i,e);(o||s)&&(this._active=i,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,n=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],s=this._getActiveElements(t,o,e,n),a=this._positionChanged(s,t),c=e||!(0,r.af)(s,o)||a;return c&&(this._active=s,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),c}_getActiveElements(t,e,n,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return e;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,n);return i.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:n,caretY:r,options:i}=this,o=Ar[i.position].call(this,t,e);return!1!==o&&(n!==o.x||r!==o.y)}}Jr.positioners=Ar;var Xr={id:"tooltip",_element:Jr,positioners:Ar,afterInit(t,e,n){n&&(t.tooltip=new Jr({chart:t,options:n}))},beforeUpdate(t,e,n){t.tooltip&&t.tooltip.initialize(n)},reset(t,e,n){t.tooltip&&t.tooltip.initialize(n)},afterDraw(t){const e=t.tooltip,n={tooltip:e};!1!==t.notifyPlugins("beforeTooltipDraw",n)&&(e&&e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",n))},afterEvent(t,e){if(t.tooltip){const n=e.replay;t.tooltip.handleEvent(e.event,n,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:r.aB,title(t){if(t.length>0){const e=t[0],n=e.chart.data.labels,r=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(r>0&&e.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const Gr=(t,e,n,r)=>("string"===typeof e?(n=t.push(e)-1,r.unshift({index:n,label:e})):isNaN(e)&&(n=null),n);function Kr(t,e,n,r){const i=t.indexOf(e);if(-1===i)return Gr(t,e,n,r);const o=t.lastIndexOf(e);return i!==o?n:i}const Qr=(t,e)=>null===t?null:(0,r.w)(Math.round(t),0,e);class ti extends Te{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:n,label:r}of e)t[n]===r&&t.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if((0,r.k)(t))return null;const n=this.getLabels();return e=isFinite(e)&&n[e]===t?e:Kr(n,t,(0,r.v)(e,t),this._addedLabels),Qr(e,n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:n,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(n=0),e||(r=this.getLabels().length-1)),this.min=n,this.max=r}buildTicks(){const t=this.min,e=this.max,n=this.options.offset,r=[];let i=this.getLabels();i=0===t&&e===i.length-1?i:i.slice(t,e+1),this._valueRange=Math.max(i.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let o=t;o<=e;o++)r.push({value:o});return r}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function ei(t,e){const n=[],i=1e-14,{bounds:o,step:s,min:a,max:c,precision:l,count:u,maxTicks:h,maxDigits:f,includeBounds:d}=t,p=s||1,g=h-1,{min:m,max:b}=e,v=!(0,r.k)(a),y=!(0,r.k)(c),x=!(0,r.k)(u),_=(b-m)/(f+1);let w,k,M,S,O=(0,r.aE)((b-m)/g/p)*p;if(Og&&(O=(0,r.aE)(S*O/g/p)*p),(0,r.k)(l)||(w=Math.pow(10,l),O=Math.ceil(O*w)/w),"ticks"===o?(k=Math.floor(m/O)*O,M=Math.ceil(b/O)*O):(k=m,M=b),v&&y&&s&&(0,r.aF)((c-a)/s,O/1e3)?(S=Math.round(Math.min((c-a)/O,h)),O=(c-a)/S,k=a,M=c):x?(k=v?a:k,M=y?c:M,S=u-1,O=(M-k)/S):(S=(M-k)/O,S=(0,r.aG)(S,Math.round(S),O/1e3)?Math.round(S):Math.ceil(S));const C=Math.max((0,r.aH)(O),(0,r.aH)(k));w=Math.pow(10,(0,r.k)(l)?C:l),k=Math.round(k*w)/w,M=Math.round(M*w)/w;let P=0;for(v&&(d&&k!==a?(n.push({value:a}),ki=e?i:t,a=t=>o=n?o:t;if(t){const t=(0,r.s)(i),e=(0,r.s)(o);t<0&&e<0?a(0):t>0&&e>0&&s(0)}if(i===o){let e=1;(o>=Number.MAX_SAFE_INTEGER||i<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*o)),a(o+e),t||s(i-e)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:n,stepSize:r}=t;return r?(e=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),n=n||11),n&&(e=Math.min(n,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},o=this._range||this,s=ei(i,o);return"ticks"===t.bounds&&(0,r.aD)(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const r=(n-e)/Math.max(t.length-1,1)/2;e-=r,n+=r}this._startValue=e,this._endValue=n,this._valueRange=n-e}getLabelForValue(t){return(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}}class ii extends ri{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?t:0,this.max=(0,r.g)(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,n=(0,r.t)(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}function oi(t){const e=t/Math.pow(10,Math.floor((0,r.L)(t)));return 1===e}function si(t,e){const n=Math.floor((0,r.L)(e.max)),i=Math.ceil(e.max/Math.pow(10,n)),o=[];let s=(0,r.N)(t.min,Math.pow(10,Math.floor((0,r.L)(e.min)))),a=Math.floor((0,r.L)(s)),c=Math.floor(s/Math.pow(10,a)),l=a<0?Math.pow(10,Math.abs(a)):1;do{o.push({value:s,major:oi(s)}),++c,10===c&&(c=1,++a,l=a>=0?1:l),s=Math.round(c*Math.pow(10,a)*l)/l}while(a0?n:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?Math.max(0,t):null,this.max=(0,r.g)(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let n=this.min,i=this.max;const o=e=>n=t?n:e,s=t=>i=e?i:t,a=(t,e)=>Math.pow(10,Math.floor((0,r.L)(t))+e);n===i&&(n<=0?(o(1),s(10)):(o(a(n,-1)),s(a(i,1)))),n<=0&&o(a(i,-1)),i<=0&&s(a(n,1)),this._zero&&this.min!==this._suggestedMin&&n===a(this.min,0)&&o(a(n,-1)),this.min=n,this.max=i}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},n=si(e,this);return"ticks"===t.bounds&&(0,r.aD)(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return void 0===t?"0":(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=(0,r.L)(t),this._valueRange=(0,r.L)(this.max)-(0,r.L)(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:((0,r.L)(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function ci(t){const e=t.ticks;if(e.display&&t.display){const t=(0,r.C)(e.backdropPadding);return(0,r.v)(e.font&&e.font.size,r.d.font.size)+t.height}return 0}function li(t,e,n){return n=(0,r.b)(n)?n:[n],{w:(0,r.aI)(t,e.string,n),h:n.length*e.lineHeight}}function ui(t,e,n,r,i){return t===r||t===i?{start:e-n/2,end:e+n/2}:ti?{start:e-n,end:e}:{start:e,end:e+n}}function hi(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},n=Object.assign({},e),i=[],o=[],s=t._pointLabels.length,a=t.options.pointLabels,c=a.centerPointLabels?r.P/s:0;for(let l=0;le.r&&(a=(r.end-e.r)/o,t.r=Math.max(t.r,e.r+a)),i.starte.b&&(c=(i.end-e.b)/s,t.b=Math.max(t.b,e.b+c))}function di(t,e,n){const i=[],o=t._pointLabels.length,s=t.options,a=ci(s)/2,c=t.drawingArea,l=s.pointLabels.centerPointLabels?r.P/o:0;for(let u=0;u270||n<90)&&(t-=e),t}function bi(t,e){const{ctx:n,options:{pointLabels:i}}=t;for(let o=e-1;o>=0;o--){const e=i.setContext(t.getPointLabelContext(o)),s=(0,r.Z)(e.font),{x:a,y:c,textAlign:l,left:u,top:h,right:f,bottom:d}=t._pointLabelItems[o],{backdropColor:p}=e;if(!(0,r.k)(p)){const t=(0,r.C)(e.backdropPadding);n.fillStyle=p,n.fillRect(u-t.left,h-t.top,f-u+t.width,d-h+t.height)}(0,r.X)(n,t._pointLabels[o],a,c+s.lineHeight/2,s,{color:e.color,textAlign:l,textBaseline:"middle"})}}function vi(t,e,n,i){const{ctx:o}=t;if(n)o.arc(t.xCenter,t.yCenter,e,0,r.T);else{let n=t.getPointPosition(0,e);o.moveTo(n.x,n.y);for(let r=1;r{const n=(0,r.O)(this.options.pointLabels.callback,[t,e],this);return n||0===n?n:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?hi(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,n,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,n,r))}getIndexAngle(t){const e=r.T/(this._pointLabels.length||1),n=this.options.startAngle||0;return(0,r.aw)(t*e+(0,r.t)(n))}getDistanceFromCenterForValue(t){if((0,r.k)(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if((0,r.k)(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(0!==e){s=this.getDistanceFromCenterForValue(t.value);const n=r.setContext(this.getContext(e-1));yi(this,n,s,i)}})),n.display){for(t.save(),o=i-1;o>=0;o--){const r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:c}=r;c&&i&&(t.lineWidth=c,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),a=this.getPointPosition(o,s),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(a.x,a.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,n=e.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,s;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((i,a)=>{if(0===a&&!e.reverse)return;const c=n.setContext(this.getContext(a)),l=(0,r.Z)(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[a].value),c.showLabelBackdrop){t.font=l.string,s=t.measureText(i.label).width,t.fillStyle=c.backdropColor;const e=(0,r.C)(c.backdropPadding);t.fillRect(-s/2-e.left,-o-l.size/2-e.top,s+e.width,l.size+e.height)}(0,r.X)(t,i.label,0,-o,l,{color:c.color})})),t.restore()}drawTitle(){}}_i.id="radialLinear",_i.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ue.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}},_i.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},_i.descriptors={angleLines:{_fallback:"grid"}};const wi={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ki=Object.keys(wi);function Mi(t,e){return t-e}function Si(t,e){if((0,r.k)(e))return null;const n=t._adapter,{parser:i,round:o,isoWeekday:s}=t._parseOpts;let a=e;return"function"===typeof i&&(a=i(a)),(0,r.g)(a)||(a="string"===typeof i?n.parse(a,i):n.parse(a)),null===a?null:(o&&(a="week"!==o||!(0,r.q)(s)&&!0!==s?n.startOf(a,o):n.startOf(a,"isoWeek",s)),+a)}function Oi(t,e,n,r){const i=ki.length;for(let o=ki.indexOf(t);o=ki.indexOf(n);o--){const n=ki[o];if(wi[n].common&&t._adapter.diff(i,r,n)>=e-1)return n}return ki[n?ki.indexOf(n):0]}function Pi(t){for(let e=ki.indexOf(t)+1,n=ki.length;e=e?n[i]:n[o];t[s]=!0}}else t[e]=!0}function Di(t,e,n,r){const i=t._adapter,o=+i.startOf(e[0].value,r),s=e[e.length-1].value;let a,c;for(a=o;a<=s;a=+i.add(a,1,r))c=n[a],c>=0&&(e[c].major=!0);return e}function Ei(t,e,n){const r=[],i={},o=e.length;let s,a;for(s=0;s1e5*a)throw new Error(e+" and "+n+" are too far apart with stepSize of "+a+" "+s);const p="data"===i.ticks.source&&this.getDataTimestamps();for(h=d,f=0;ht-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,n=this.options.time;return n.tooltipFormat?e.format(t,n.tooltipFormat):e.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,e,n,i){const o=this.options,s=o.time.displayFormats,a=this._unit,c=this._majorUnit,l=a&&s[a],u=c&&s[c],h=n[e],f=c&&u&&h&&h.major,d=this._adapter.format(t,i||(f?u:l)),p=o.ticks.callback;return p?(0,r.O)(p,[d,e,n],this):d}generateTickLabels(t){let e,n,r;for(e=0,n=t.length;e0?s:1}getDataTimestamps(){let t,e,n=this._cache.data||[];if(n.length)return n;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,e=r.length;t=t[c].pos&&e<=t[l].pos&&({lo:c,hi:l}=(0,r.x)(t,"pos",e)),({pos:i,time:s}=t[c]),({pos:o,time:a}=t[l])):(e>=t[c].time&&e<=t[l].time&&({lo:c,hi:l}=(0,r.x)(t,"time",e)),({time:i,pos:s}=t[c]),({time:o,pos:a}=t[l]));const u=o-i;return u?s+(a-s)*(e-i)/u:s}ji.id="time",ji.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Li extends ji{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ai(e,this.min),this._tableRange=Ai(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:n}=this,r=[],i=[];let o,s,a,c,l;for(o=0,s=t.length;o=e&&c<=n&&r.push(c);if(r.length<2)return[{time:e,pos:0},{time:n,pos:1}];for(o=0,s=r.length;oArray.prototype.slice.call(t));let o=!1,s=[];return function(...n){s=i(n),o||(o=!0,r.call(window,(()=>{o=!1,t.apply(e,s)})))}}function o(t,e){let n;return function(...r){return e?(clearTimeout(n),n=setTimeout(t,e,r)):t.apply(this,r),e}}const s=t=>"start"===t?"left":"end"===t?"right":"center",a=(t,e,n)=>"start"===t?e:"end"===t?n:(e+n)/2,c=(t,e,n,r)=>{const i=r?"left":"right";return t===i?n:"center"===t?(e+n)/2:e};function l(){}const u=function(){let t=0;return function(){return t++}}();function h(t){return null===t||"undefined"===typeof t}function f(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function d(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const p=t=>("number"===typeof t||t instanceof Number)&&isFinite(+t);function g(t,e){return p(t)?t:e}function m(t,e){return"undefined"===typeof t?e:t}const b=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,v=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function y(t,e,n){if(t&&"function"===typeof t.call)return t.apply(n,e)}function x(t,e,n,r){let i,o,s;if(f(t))if(o=t.length,r)for(i=o-1;i>=0;i--)e.call(n,t[i],i);else for(i=0;in)t=t[e.substr(n,r-n)],n=r+1,r=D(e,n);return t}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}const A=t=>"undefined"!==typeof t,L=t=>"function"===typeof t,F=(t,e)=>{if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0};function R(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const I=Math.PI,N=2*I,W=N+I,z=Number.POSITIVE_INFINITY,H=I/180,B=I/2,$=I/4,U=2*I/3,V=Math.log10,Z=Math.sign;function Y(t){const e=Math.round(t);t=X(t,e,t/1e3)?e:t;const n=Math.pow(10,Math.floor(V(t))),r=t/n,i=r<=1?1:r<=2?2:r<=5?5:10;return i*n}function q(t){const e=[],n=Math.sqrt(t);let r;for(r=1;rt-e)).pop(),e}function J(t){return!isNaN(parseFloat(t))&&isFinite(t)}function X(t,e,n){return Math.abs(t-e)=t}function K(t,e,n){let r,i,o;for(r=0,i=t.length;rc&&l=Math.min(e,n)-r&&t<=Math.max(e,n)+r}const ut=t=>0===t||1===t,ht=(t,e,n)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*N/n),ft=(t,e,n)=>Math.pow(2,-10*t)*Math.sin((t-e)*N/n)+1,dt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*B),easeOutSine:t=>Math.sin(t*B),easeInOutSine:t=>-.5*(Math.cos(I*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ut(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ut(t)?t:ht(t,.075,.3),easeOutElastic:t=>ut(t)?t:ft(t,.075,.3),easeInOutElastic(t){const e=.1125,n=.45;return ut(t)?t:t<.5?.5*ht(2*t,e,n):.5+.5*ft(2*t-1,e,n)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-dt.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},easeInOutBounce:t=>t<.5?.5*dt.easeInBounce(2*t):.5*dt.easeOutBounce(2*t-1)+.5},pt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},gt="0123456789ABCDEF",mt=t=>gt[15&t],bt=t=>gt[(240&t)>>4]+gt[15&t],vt=t=>(240&t)>>4===(15&t);function yt(t){return vt(t.r)&&vt(t.g)&&vt(t.b)&&vt(t.a)}function xt(t){var e,n=t.length;return"#"===t[0]&&(4===n||5===n?e={r:255&17*pt[t[1]],g:255&17*pt[t[2]],b:255&17*pt[t[3]],a:5===n?17*pt[t[4]]:255}:7!==n&&9!==n||(e={r:pt[t[1]]<<4|pt[t[2]],g:pt[t[3]]<<4|pt[t[4]],b:pt[t[5]]<<4|pt[t[6]],a:9===n?pt[t[7]]<<4|pt[t[8]]:255})),e}function _t(t){var e=yt(t)?mt:bt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+(t.a<255?e(t.a):""):t}function wt(t){return t+.5|0}const kt=(t,e,n)=>Math.max(Math.min(t,n),e);function Mt(t){return kt(wt(2.55*t),0,255)}function St(t){return kt(wt(255*t),0,255)}function Ot(t){return kt(wt(t/2.55)/100,0,1)}function Ct(t){return kt(wt(100*t),0,100)}const Pt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Tt(t){const e=Pt.exec(t);let n,r,i,o=255;if(e){if(e[7]!==n){const t=+e[7];o=255&(e[8]?Mt(t):255*t)}return n=+e[1],r=+e[3],i=+e[5],n=255&(e[2]?Mt(n):n),r=255&(e[4]?Mt(r):r),i=255&(e[6]?Mt(i):i),{r:n,g:r,b:i,a:o}}}function Dt(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${Ot(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}const Et=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jt(t,e,n){const r=e*Math.min(n,1-n),i=(e,i=(e+t/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function At(t,e,n){const r=(r,i=(r+t/60)%6)=>n-n*e*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Lt(t,e,n){const r=jt(t,1,.5);let i;for(e+n>1&&(i=1/(e+n),e*=i,n*=i),i=0;i<3;i++)r[i]*=1-e-n,r[i]+=e;return r}function Ft(t){const e=255,n=t.r/e,r=t.g/e,i=t.b/e,o=Math.max(n,r,i),s=Math.min(n,r,i),a=(o+s)/2;let c,l,u;return o!==s&&(u=o-s,l=a>.5?u/(2-o-s):u/(o+s),c=o===n?(r-i)/u+(r>16&255,o>>8&255,255&o]}return t}let Yt;function qt(t){Yt||(Yt=Zt(),Yt.transparent=[0,0,0,0]);const e=Yt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}function Jt(t,e,n){if(t){let r=Ft(t);r[e]=Math.max(0,Math.min(r[e]+r[e]*n,0===e?360:1)),r=It(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Xt(t,e){return t?Object.assign(e||{},t):t}function Gt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=St(t[3]))):(e=Xt(t,{r:0,g:0,b:0,a:1}),e.a=St(e.a)),e}function Kt(t){return"r"===t.charAt(0)?Tt(t):Ht(t)}class Qt{constructor(t){if(t instanceof Qt)return t;const e=typeof t;let n;"object"===e?n=Gt(t):"string"===e&&(n=xt(t)||qt(t)||Kt(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=Xt(this._rgb);return t&&(t.a=Ot(t.a)),t}set rgb(t){this._rgb=Gt(t)}rgbString(){return this._valid?Dt(this._rgb):this._rgb}hexString(){return this._valid?_t(this._rgb):this._rgb}hslString(){return this._valid?$t(this._rgb):this._rgb}mix(t,e){const n=this;if(t){const r=n.rgb,i=t.rgb;let o;const s=e===o?.5:e,a=2*s-1,c=r.a-i.a,l=((a*c===-1?a:(a+c)/(1+a*c))+1)/2;o=1-l,r.r=255&l*r.r+o*i.r+.5,r.g=255&l*r.g+o*i.g+.5,r.b=255&l*r.b+o*i.b+.5,r.a=s*r.a+(1-s)*i.a,n.rgb=r}return n}clone(){return new Qt(this.rgb)}alpha(t){return this._rgb.a=St(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=wt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Jt(this._rgb,2,t),this}darken(t){return Jt(this._rgb,2,-t),this}saturate(t){return Jt(this._rgb,1,t),this}desaturate(t){return Jt(this._rgb,1,-t),this}rotate(t){return Bt(this._rgb,t),this}}function te(t){return new Qt(t)}const ee=t=>t instanceof CanvasGradient||t instanceof CanvasPattern;function ne(t){return ee(t)?t:te(t)}function re(t){return ee(t)?t:te(t).saturate(.5).darken(.1).hexString()}const ie=Object.create(null),oe=Object.create(null);function se(t,e){if(!e)return t;const n=e.split(".");for(let r=0,i=n.length;rt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>re(e.backgroundColor),this.hoverBorderColor=(t,e)=>re(e.borderColor),this.hoverColor=(t,e)=>re(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return ae(this,t,e)}get(t){return se(this,t)}describe(t,e){return ae(oe,t,e)}override(t,e){return ae(ie,t,e)}route(t,e,n,r){const i=se(this,t),o=se(this,n),s="_"+e;Object.defineProperties(i,{[s]:{value:i[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[s],e=o[r];return d(t)?Object.assign({},e,t):m(t,e)},set(t){this[s]=t}}})}}var le=new ce({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function ue(t){return!t||h(t.size)||h(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function he(t,e,n,r,i){let o=e[i];return o||(o=e[i]=t.measureText(i).width,n.push(i)),o>r&&(r=o),r}function fe(t,e,n,r){r=r||{};let i=r.data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==e&&(i=r.data={},o=r.garbageCollect=[],r.font=e),t.save(),t.font=e;let s=0;const a=n.length;let c,l,u,h,d;for(c=0;cn.length){for(c=0;c0&&t.stroke()}}function me(t,e,n){return n=n||.5,!e||t&&t.x>e.left-n&&t.xe.top-n&&t.y0&&""!==o.strokeColor;let c,l;for(t.save(),t.font=i.string,we(t,o),c=0;c+t||0;function Te(t,e){const n={},r=d(e),i=r?Object.keys(e):e,o=d(t)?r?n=>m(t[n],t[e[n]]):e=>t[e]:()=>t;for(const s of i)n[s]=Pe(o(s));return n}function De(t){return Te(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Ee(t){return Te(t,["topLeft","topRight","bottomLeft","bottomRight"])}function je(t){const e=De(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Ae(t,e){t=t||{},e=e||le.font;let n=m(t.size,e.size);"string"===typeof n&&(n=parseInt(n,10));let r=m(t.style,e.style);r&&!(""+r).match(Oe)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:m(t.family,e.family),lineHeight:Ce(m(t.lineHeight,e.lineHeight),n),size:n,style:r,weight:m(t.weight,e.weight),string:""};return i.string=ue(i),i}function Le(t,e,n,r){let i,o,s,a=!0;for(i=0,o=t.length;in&&0===t?0:t+e;return{min:s(r,-Math.abs(o)),max:s(i,o)}}function Re(t,e){return Object.assign(Object.create(t),e)}function Ie(t,e,n){n=n||(n=>t[n]1)r=o+i>>1,n(r)?o=r:i=r;return{lo:o,hi:i}}const Ne=(t,e,n)=>Ie(t,n,(r=>t[r][e]Ie(t,n,(r=>t[r][e]>=n));function ze(t,e,n){let r=0,i=t.length;while(rr&&t[i-1]>n)i--;return r>0||i{const n="_onData"+j(e),r=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const i=r.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"===typeof t[n]&&t[n](...e)})),i}})})))}function $e(t,e){const n=t._chartjs;if(!n)return;const r=n.listeners,i=r.indexOf(e);-1!==i&&r.splice(i,1),r.length>0||(He.forEach((e=>{delete t[e]})),delete t._chartjs)}function Ue(t){const e=new Set;let n,r;for(n=0,r=t.length;nt[0])){A(r)||(r=cn("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:r,_getTarget:i,override:i=>Ve([i,...t],e,n,r)};return new Proxy(o,{deleteProperty(e,n){return delete e[n],delete e._keys,delete t[0][n],!0},get(n,r){return Xe(n,r,(()=>an(r,e,t,n)))},getOwnPropertyDescriptor(t,e){return Reflect.getOwnPropertyDescriptor(t._scopes[0],e)},getPrototypeOf(){return Reflect.getPrototypeOf(t[0])},has(t,e){return ln(t).includes(e)},ownKeys(t){return ln(t)},set(t,e,n){const r=t._storage||(t._storage=i());return t[e]=r[e]=n,delete t._keys,!0}})}function Ze(t,e,n,r){const i={_cacheable:!1,_proxy:t,_context:e,_subProxy:n,_stack:new Set,_descriptors:Ye(t,r),setContext:e=>Ze(t,e,n,r),override:i=>Ze(t.override(i),e,n,r)};return new Proxy(i,{deleteProperty(e,n){return delete e[n],delete t[n],!0},get(t,e,n){return Xe(t,e,(()=>Ge(t,e,n)))},getOwnPropertyDescriptor(e,n){return e._descriptors.allKeys?Reflect.has(t,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,n)},getPrototypeOf(){return Reflect.getPrototypeOf(t)},has(e,n){return Reflect.has(t,n)},ownKeys(){return Reflect.ownKeys(t)},set(e,n,r){return t[n]=r,delete e[n],!0}})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:n=e.scriptable,_indexable:r=e.indexable,_allKeys:i=e.allKeys}=t;return{allKeys:i,scriptable:n,indexable:r,isScriptable:L(n)?n:()=>n,isIndexable:L(r)?r:()=>r}}const qe=(t,e)=>t?t+j(e):e,Je=(t,e)=>d(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Xe(t,e,n){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const r=n();return t[e]=r,r}function Ge(t,e,n){const{_proxy:r,_context:i,_subProxy:o,_descriptors:s}=t;let a=r[e];return L(a)&&s.isScriptable(e)&&(a=Ke(e,a,t,n)),f(a)&&a.length&&(a=Qe(e,a,t,s.isIndexable)),Je(e,a)&&(a=Ze(a,i,o&&o[e],s)),a}function Ke(t,e,n,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=n;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),e=e(o,s||r),a.delete(t),Je(t,e)&&(e=rn(i._scopes,i,t,e)),e}function Qe(t,e,n,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:a}=n;if(A(o.index)&&r(t))e=e[o.index%e.length];else if(d(e[0])){const n=e,r=i._scopes.filter((t=>t!==n));e=[];for(const c of n){const n=rn(r,i,t,c);e.push(Ze(n,o,s&&s[t],a))}}return e}function tn(t,e,n){return L(t)?t(e,n):t}const en=(t,e)=>!0===t?e:"string"===typeof t?E(e,t):void 0;function nn(t,e,n,r,i){for(const o of e){const e=en(n,o);if(e){t.add(e);const o=tn(e._fallback,n,i);if(A(o)&&o!==n&&o!==r)return o}else if(!1===e&&A(r)&&n!==r)return null}return!1}function rn(t,e,n,r){const i=e._rootScopes,o=tn(e._fallback,n,r),s=[...t,...i],a=new Set;a.add(r);let c=on(a,s,n,o||n,r);return null!==c&&((!A(o)||o===n||(c=on(a,s,o,c,r),null!==c))&&Ve(Array.from(a),[""],i,o,(()=>sn(e,n,r))))}function on(t,e,n,r,i){while(n)n=nn(t,e,n,r,i);return n}function sn(t,e,n){const r=t._getTarget();e in r||(r[e]={});const i=r[e];return f(i)&&d(n)?n:i}function an(t,e,n,r){let i;for(const o of e)if(i=cn(qe(o,t),n),A(i))return Je(t,i)?rn(n,r,t,i):i}function cn(t,e){for(const n of e){if(!n)continue;const e=n[t];if(A(e))return e}}function ln(t){let e=t._keys;return e||(e=t._keys=un(t._scopes)),e}function un(t){const e=new Set;for(const n of t)for(const t of Object.keys(n).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}const hn=Number.EPSILON||1e-14,fn=(t,e)=>e"x"===t?"y":"x";function pn(t,e,n,r){const i=t.skip?e:t,o=e,s=n.skip?e:n,a=rt(o,i),c=rt(s,o);let l=a/(a+c),u=c/(a+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;const h=r*l,f=r*u;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+f*(s.x-i.x),y:o.y+f*(s.y-i.y)}}}function gn(t,e,n){const r=t.length;let i,o,s,a,c,l=fn(t,0);for(let u=0;u!t.skip))),"monotone"===e.cubicInterpolationMode)bn(t,i);else{let n=r?t[t.length-1]:t[0];for(o=0,s=t.length;owindow.getComputedStyle(t,null);function Sn(t,e){return Mn(t).getPropertyValue(e)}const On=["top","right","bottom","left"];function Cn(t,e,n){const r={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=On[i];r[o]=parseFloat(t[e+"-"+o+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}const Pn=(t,e,n)=>(t>0||e>0)&&(!n||!n.shadowRoot);function Tn(t,e){const n=t.native||t,r=n.touches,i=r&&r.length?r[0]:n,{offsetX:o,offsetY:s}=i;let a,c,l=!1;if(Pn(o,s,n.target))a=o,c=s;else{const t=e.getBoundingClientRect();a=i.clientX-t.left,c=i.clientY-t.top,l=!0}return{x:a,y:c,box:l}}function Dn(t,e){const{canvas:n,currentDevicePixelRatio:r}=e,i=Mn(n),o="border-box"===i.boxSizing,s=Cn(i,"padding"),a=Cn(i,"border","width"),{x:c,y:l,box:u}=Tn(t,n),h=s.left+(u&&a.left),f=s.top+(u&&a.top);let{width:d,height:p}=e;return o&&(d-=s.width+a.width,p-=s.height+a.height),{x:Math.round((c-h)/d*n.width/r),y:Math.round((l-f)/p*n.height/r)}}function En(t,e,n){let r,i;if(void 0===e||void 0===n){const o=wn(t);if(o){const t=o.getBoundingClientRect(),s=Mn(o),a=Cn(s,"border","width"),c=Cn(s,"padding");e=t.width-c.width-a.width,n=t.height-c.height-a.height,r=kn(s.maxWidth,o,"clientWidth"),i=kn(s.maxHeight,o,"clientHeight")}else e=t.clientWidth,n=t.clientHeight}return{width:e,height:n,maxWidth:r||z,maxHeight:i||z}}const jn=t=>Math.round(10*t)/10;function An(t,e,n,r){const i=Mn(t),o=Cn(i,"margin"),s=kn(i.maxWidth,t,"clientWidth")||z,a=kn(i.maxHeight,t,"clientHeight")||z,c=En(t,e,n);let{width:l,height:u}=c;if("content-box"===i.boxSizing){const t=Cn(i,"border","width"),e=Cn(i,"padding");l-=e.width+t.width,u-=e.height+t.height}return l=Math.max(0,l-o.width),u=Math.max(0,r?Math.floor(l/r):u-o.height),l=jn(Math.min(l,s,c.maxWidth)),u=jn(Math.min(u,a,c.maxHeight)),l&&!u&&(u=jn(l/2)),{width:l,height:u}}function Ln(t,e,n){const r=e||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(n||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Fn=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return t}();function Rn(t,e){const n=Sn(t,e),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function In(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}}function Nn(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:"middle"===r?n<.5?t.y:e.y:"after"===r?n<1?t.y:e.y:n>0?e.y:t.y}}function Wn(t,e,n,r){const i={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},s=In(t,i,n),a=In(i,o,n),c=In(o,e,n),l=In(s,a,n),u=In(a,c,n);return In(l,u,n)}const zn=new Map;function Hn(t,e){e=e||{};const n=t+JSON.stringify(e);let r=zn.get(n);return r||(r=new Intl.NumberFormat(t,e),zn.set(n,r)),r}function Bn(t,e,n){return Hn(e,n).format(t)}const $n=function(t,e){return{x(n){return t+t+e-n},setWidth(t){e=t},textAlign(t){return"center"===t?t:"right"===t?"left":"right"},xPlus(t,e){return t-e},leftForLtr(t,e){return t-e}}},Un=function(){return{x(t){return t},setWidth(t){},textAlign(t){return t},xPlus(t,e){return t+e},leftForLtr(t,e){return t}}};function Vn(t,e,n){return t?$n(e,n):Un()}function Zn(t,e){let n,r;"ltr"!==e&&"rtl"!==e||(n=t.canvas.style,r=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=r)}function Yn(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function qn(t){return"angle"===t?{between:st,compare:it,normalize:ot}:{between:lt,compare:(t,e)=>t-e,normalize:t=>t}}function Jn({start:t,end:e,count:n,loop:r,style:i}){return{start:t%n,end:e%n,loop:r&&(e-t+1)%n===0,style:i}}function Xn(t,e,n){const{property:r,start:i,end:o}=n,{between:s,normalize:a}=qn(r),c=e.length;let l,u,{start:h,end:f,loop:d}=t;if(d){for(h+=c,f+=c,l=0,u=c;lc(i,b,g)&&0!==a(i,b),_=()=>0===a(o,g)||c(o,b,g),w=()=>v||x(),k=()=>!v||_();for(let M=u,S=u;M<=h;++M)m=e[M%s],m.skip||(g=l(m[r]),g!==b&&(v=c(g,i,o),null===y&&w()&&(y=0===a(g,i)?M:S),null!==y&&k()&&(p.push(Jn({start:y,end:M,loop:f,count:s,style:d})),y=null),S=M,b=g));return null!==y&&p.push(Jn({start:y,end:h,loop:f,count:s,style:d})),p}function Kn(t,e){const n=[],r=t.segments;for(let i=0;ii&&t[o%e].skip)o--;return o%=e,{start:i,end:o}}function tr(t,e,n,r){const i=t.length,o=[];let s,a=e,c=t[e];for(s=e+1;s<=n;++s){const n=t[s%i];n.skip||n.stop?c.skip||(r=!1,o.push({start:e%i,end:(s-1)%i,loop:r}),e=a=n.stop?s:null):(a=s,c.skip&&(e=s)),c=n}return null!==a&&o.push({start:e%i,end:a%i,loop:r}),o}function er(t,e){const n=t.points,r=t.options.spanGaps,i=n.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=Qn(n,i,o,r);if(!0===r)return nr(t,[{start:s,end:a,loop:o}],n,e);const c=an.right&&(r|=h),en.bottom&&(r|=f),r}function g(t,e){var n,r,i,o=t.x0,s=t.y0,a=t.x1,c=t.y1,l=p(o,s,e),g=p(a,c,e);while(1){if(!(l|g)||l&g)break;n=l||g,n&d?(r=o+(a-o)*(e.top-s)/(c-s),i=e.top):n&f?(r=o+(a-o)*(e.bottom-s)/(c-s),i=e.bottom):n&h?(i=s+(c-s)*(e.right-o)/(a-o),r=e.right):n&u&&(i=s+(c-s)*(e.left-o)/(a-o),r=e.left),n===l?(o=r,s=i,l=p(o,s,e)):(a=r,c=i,g=p(a,c,e))}return{x0:o,x1:a,y0:s,y1:c}}function m(t,e){var n,r,i=e.anchor,o=t;return e.clamp&&(o=g(o,e.area)),"start"===i?(n=o.x0,r=o.y0):"end"===i?(n=o.x1,r=o.y1):(n=(o.x0+o.x1)/2,r=(o.y0+o.y1)/2),c(n,r,t.vx,t.vy,e.align)}var b={arc:function(t,e){var n=(t.startAngle+t.endAngle)/2,r=Math.cos(n),i=Math.sin(n),o=t.innerRadius,s=t.outerRadius;return m({x0:t.x+r*o,y0:t.y+i*o,x1:t.x+r*s,y1:t.y+i*s,vx:r,vy:i},e)},point:function(t,e){var n=a(t,e.origin),r=n.x*t.options.radius,i=n.y*t.options.radius;return m({x0:t.x-r,y0:t.y-i,x1:t.x+r,y1:t.y+i,vx:n.x,vy:n.y},e)},bar:function(t,e){var n=a(t,e.origin),r=t.x,i=t.y,o=0,s=0;return t.horizontal?(r=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(i=Math.min(t.y,t.base),s=Math.abs(t.base-t.y)),m({x0:r,y0:i+s,x1:r+o,y1:i,vx:n.x,vy:n.y},e)},fallback:function(t,e){var n=a(t,e.origin);return m({x0:t.x,y0:t.y,x1:t.x,y1:t.y,vx:n.x,vy:n.y},e)}},v=s.rasterize;function y(t){var e=t.borderWidth||0,n=t.padding,r=t.size.height,i=t.size.width,o=-i/2,s=-r/2;return{frame:{x:o-n.left-e,y:s-n.top-e,w:i+n.width+2*e,h:r+n.height+2*e},text:{x:o,y:s,w:i,h:r}}}function x(t,e){var n=e.chart.getDatasetMeta(e.datasetIndex).vScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return t.horizontal?{x:r,y:null}:{x:null,y:r}}function _(t){return t instanceof i.qi?b.arc:t instanceof i.od?b.point:t instanceof i.ZL?b.bar:b.fallback}function w(t,e,n,r,i,o){var s=Math.PI/2;if(o){var a=Math.min(o,i/2,r/2),c=e+a,l=n+a,u=e+r-a,h=n+i-a;t.moveTo(e,l),c=0;--n)for(i=t[n].$layout,r=n-1;r>=0&&i._visible;--r)o=t[r].$layout,o._visible&&i._box.intersects(o._box)&&e(i,o);return t}function R(t){var e,n,r,i,o,s,a;for(e=0,n=t.length;et.getProps([e],!0)[e]}),o=r.geometry(),s=L(a,r.model(),o),i._box.update(s,o,r.rotation()));return F(t,(function(t,e){var n=t._hidable,r=e._hidable;n&&r||r?e._visible=!1:n&&(t._visible=!1)}))}(0,r.a2)(A.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,n){this._rotation=n,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this,n=1,r=e._rect;return t=D(t,e.center(),-e._rotation),!(t.xr.x+r.w+2*n||t.y>r.y+r.h+2*n)},intersects:function(t){var e,n,r,i=this._points(),o=t._points(),s=[j(i[0],i[1]),j(i[0],i[3])];for(this._rotation!==t._rotation&&s.push(j(o[0],o[1]),j(o[0],o[3])),e=0;e=0;--n)if(r=t[n].$layout,r&&r._visible&&r._box.contains(e))return t[n];return null},draw:function(t,e){var n,r,i,o,s,a;for(n=0,r=e.length;nu)if(a=c[u++],a!=a)return!0}else for(;l>u;u++)if((t||u in c)&&c[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},4326:function(t,e,n){var r=n(1702),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},648:function(t,e,n){var r=n(7854),i=n(1694),o=n(614),s=n(4326),a=n(5112),c=a("toStringTag"),l=r.Object,u="Arguments"==s(function(){return arguments}()),h=function(t,e){try{return t[e]}catch(n){}};t.exports=i?s:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=h(e=l(t),c))?n:u?s(e):"Object"==(r=s(e))&&o(e.callee)?"Arguments":r}},7741:function(t,e,n){var r=n(1702),i=r("".replace),o=function(t){return String(Error(t).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,a=s.test(o);t.exports=function(t,e){if(a&&"string"==typeof t)while(e--)t=i(t,s,"");return t}},9920:function(t,e,n){var r=n(2597),i=n(3887),o=n(1236),s=n(3070);t.exports=function(t,e,n){for(var a=i(e),c=s.f,l=o.f,u=0;u0&&r[0]<4?1:+(r[0]+r[1])),!i&&s&&(r=s.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2914:function(t,e,n){var r=n(7293),i=n(9114);t.exports=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)}))},2109:function(t,e,n){var r=n(7854),i=n(1236).f,o=n(8880),s=n(1320),a=n(3505),c=n(9920),l=n(4705);t.exports=function(t,e){var n,u,h,f,d,p,g=t.target,m=t.global,b=t.stat;if(u=m?r:b?r[g]||a(g,{}):(r[g]||{}).prototype,u)for(h in e){if(d=e[h],t.noTargetGet?(p=i(u,h),f=p&&p.value):f=u[h],n=l(m?h:g+(b?".":"#")+h,t.forced),!n&&void 0!==f){if(typeof d==typeof f)continue;c(d,f)}(t.sham||f&&f.sham)&&o(d,"sham",!0),s(u,h,d,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},2104:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.apply,s=i.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?s.bind(o):function(){return s.apply(o,arguments)})},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var r=n(9781),i=n(2597),o=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,a=i(o,"name"),c=a&&"something"===function(){}.name,l=a&&(!r||r&&s(o,"name").configurable);t.exports={EXISTS:a,PROPER:c,CONFIGURABLE:l}},1702:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.bind,s=i.call,a=r&&o.bind(s,s);t.exports=r?function(t){return t&&a(t)}:function(t){return t&&function(){return s.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),i=n(614),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662);t.exports=function(t,e){var n=t[e];return null==n?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),i=n(7908),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),i=n(7293),o=n(317);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(7854),i=n(1702),o=n(7293),s=n(4326),a=r.Object,c=i("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==s(t)?c(t,""):a(t)}:a},9587:function(t,e,n){var r=n(614),i=n(111),o=n(7674);t.exports=function(t,e,n){var s,a;return o&&r(s=e.constructor)&&s!==n&&i(a=s.prototype)&&a!==n.prototype&&o(t,a),t}},2788:function(t,e,n){var r=n(1702),i=n(614),o=n(5465),s=r(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return s(t)}),t.exports=o.inspectSource},8340:function(t,e,n){var r=n(111),i=n(8880);t.exports=function(t,e){r(e)&&"cause"in e&&i(t,"cause",e.cause)}},9909:function(t,e,n){var r,i,o,s=n(8536),a=n(7854),c=n(1702),l=n(111),u=n(8880),h=n(2597),f=n(5465),d=n(6200),p=n(3501),g="Object already initialized",m=a.TypeError,b=a.WeakMap,v=function(t){return o(t)?i(t):r(t,{})},y=function(t){return function(e){var n;if(!l(e)||(n=i(e)).type!==t)throw m("Incompatible receiver, "+t+" required");return n}};if(s||f.state){var x=f.state||(f.state=new b),_=c(x.get),w=c(x.has),k=c(x.set);r=function(t,e){if(w(x,t))throw new m(g);return e.facade=t,k(x,t,e),e},i=function(t){return _(x,t)||{}},o=function(t){return w(x,t)}}else{var M=d("state");p[M]=!0,r=function(t,e){if(h(t,M))throw new m(g);return e.facade=t,u(t,M,e),e},i=function(t){return h(t,M)?t[M]:{}},o=function(t){return h(t,M)}}t.exports={set:r,get:i,has:o,enforce:v,getterFor:y}},614:function(t){t.exports=function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),i=n(614),o=/#|\.prototype\./,s=function(t,e){var n=c[a(t)];return n==u||n!=l&&(i(e)?r(e):!!e)},a=s.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=s.data={},l=s.NATIVE="N",u=s.POLYFILL="P";t.exports=s},111:function(t,e,n){var r=n(614);t.exports=function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(7854),i=n(5005),o=n(614),s=n(7976),a=n(3307),c=r.Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=i("Symbol");return o(e)&&s(e.prototype,c(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},133:function(t,e,n){var r=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:function(t,e,n){var r=n(7854),i=n(614),o=n(2788),s=r.WeakMap;t.exports=i(s)&&/native code/.test(o(s))},6277:function(t,e,n){var r=n(1340);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:r(t)}},3070:function(t,e,n){var r=n(7854),i=n(9781),o=n(4664),s=n(3353),a=n(9670),c=n(4948),l=r.TypeError,u=Object.defineProperty,h=Object.getOwnPropertyDescriptor,f="enumerable",d="configurable",p="writable";e.f=i?s?function(t,e,n){if(a(t),e=c(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&p in n&&!n[p]){var r=h(t,e);r&&r[p]&&(t[e]=n.value,n={configurable:d in n?n[d]:r[d],enumerable:f in n?n[f]:r[f],writable:!1})}return u(t,e,n)}:u:function(t,e,n){if(a(t),e=c(e),a(n),o)try{return u(t,e,n)}catch(r){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),i=n(6916),o=n(5296),s=n(9114),a=n(5656),c=n(4948),l=n(2597),u=n(4664),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=a(t),e=c(e),u)try{return h(t,e)}catch(n){}if(l(t,e))return s(!i(o.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),i=n(748),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),i=n(2597),o=n(5656),s=n(1318).indexOf,a=n(3501),c=r([].push);t.exports=function(t,e){var n,r=o(t),l=0,u=[];for(n in r)!i(a,n)&&i(r,n)&&c(u,n);while(e.length>l)i(r,n=e[l++])&&(~s(u,n)||c(u,n));return u}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);e.f=i?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},7674:function(t,e,n){var r=n(1702),i=n(9670),o=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(n,[]),e=n instanceof Array}catch(s){}return function(n,r){return i(n),o(r),e?t(n,r):n.__proto__=r,n}}():void 0)},2140:function(t,e,n){var r=n(7854),i=n(6916),o=n(614),s=n(111),a=r.TypeError;t.exports=function(t,e){var n,r;if("string"===e&&o(n=t.toString)&&!s(r=i(n,t)))return r;if(o(n=t.valueOf)&&!s(r=i(n,t)))return r;if("string"!==e&&o(n=t.toString)&&!s(r=i(n,t)))return r;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),i=n(1702),o=n(8006),s=n(5181),a=n(9670),c=i([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=s.f;return n?c(e,n(t)):e}},1320:function(t,e,n){var r=n(7854),i=n(614),o=n(2597),s=n(8880),a=n(3505),c=n(2788),l=n(9909),u=n(6530).CONFIGURABLE,h=l.get,f=l.enforce,d=String(String).split("String");(t.exports=function(t,e,n,c){var l,h=!!c&&!!c.unsafe,p=!!c&&!!c.enumerable,g=!!c&&!!c.noTargetGet,m=c&&void 0!==c.name?c.name:e;i(n)&&("Symbol("===String(m).slice(0,7)&&(m="["+String(m).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!o(n,"name")||u&&n.name!==m)&&s(n,"name",m),l=f(n),l.source||(l.source=d.join("string"==typeof m?m:""))),t!==r?(h?!g&&t[e]&&(p=!0):delete t[e],p?t[e]=n:s(t,e,n)):p?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return i(this)&&h(this).source||c(this)}))},4488:function(t,e,n){var r=n(7854),i=r.TypeError;t.exports=function(t){if(void 0==t)throw i("Can't call method on "+t);return t}},3505:function(t,e,n){var r=n(7854),i=Object.defineProperty;t.exports=function(t,e){try{i(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},6200:function(t,e,n){var r=n(2309),i=n(9711),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},5465:function(t,e,n){var r=n(7854),i=n(3505),o="__core-js_shared__",s=r[o]||i(o,{});t.exports=s},2309:function(t,e,n){var r=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.21.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE",source:"https://github.com/zloirock/core-js"})},1400:function(t,e,n){var r=n(9303),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},5656:function(t,e,n){var r=n(8361),i=n(4488);t.exports=function(t){return r(i(t))}},9303:function(t){var e=Math.ceil,n=Math.floor;t.exports=function(t){var r=+t;return r!==r||0===r?0:(r>0?n:e)(r)}},7466:function(t,e,n){var r=n(9303),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(7854),i=n(4488),o=r.Object;t.exports=function(t){return o(i(t))}},7593:function(t,e,n){var r=n(7854),i=n(6916),o=n(111),s=n(2190),a=n(8173),c=n(2140),l=n(5112),u=r.TypeError,h=l("toPrimitive");t.exports=function(t,e){if(!o(t)||s(t))return t;var n,r=a(t,h);if(r){if(void 0===e&&(e="default"),n=i(r,t,e),!o(n)||s(n))return n;throw u("Can't convert object to primitive value")}return void 0===e&&(e="number"),c(t,e)}},4948:function(t,e,n){var r=n(7593),i=n(2190);t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},1694:function(t,e,n){var r=n(5112),i=r("toStringTag"),o={};o[i]="z",t.exports="[object z]"===String(o)},1340:function(t,e,n){var r=n(7854),i=n(648),o=r.String;t.exports=function(t){if("Symbol"===i(t))throw TypeError("Cannot convert a Symbol value to a string");return o(t)}},6330:function(t,e,n){var r=n(7854),i=r.String;t.exports=function(t){try{return i(t)}catch(e){return"Object"}}},9711:function(t,e,n){var r=n(1702),i=0,o=Math.random(),s=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++i+o,36)}},3307:function(t,e,n){var r=n(133);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),i=n(7293);t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},5112:function(t,e,n){var r=n(7854),i=n(2309),o=n(2597),s=n(9711),a=n(133),c=n(3307),l=i("wks"),u=r.Symbol,h=u&&u["for"],f=c?u:u&&u.withoutSetter||s;t.exports=function(t){if(!o(l,t)||!a&&"string"!=typeof l[t]){var e="Symbol."+t;a&&o(u,t)?l[t]=u[t]:l[t]=c&&h?h(e):f(e)}return l[t]}},9191:function(t,e,n){"use strict";var r=n(5005),i=n(2597),o=n(8880),s=n(7976),a=n(7674),c=n(9920),l=n(9587),u=n(6277),h=n(8340),f=n(7741),d=n(2914),p=n(1913);t.exports=function(t,e,n,g){var m=g?2:1,b=t.split("."),v=b[b.length-1],y=r.apply(null,b);if(y){var x=y.prototype;if(!p&&i(x,"cause")&&delete x.cause,!n)return y;var _=r("Error"),w=e((function(t,e){var n=u(g?e:t,void 0),r=g?new y(t):new y;return void 0!==n&&o(r,"message",n),d&&o(r,"stack",f(r.stack,2)),this&&s(x,this)&&l(r,this,w),arguments.length>m&&h(r,arguments[m]),r}));if(w.prototype=x,"Error"!==v&&(a?a(w,_):c(w,_,{name:!0})),c(w,y),!p)try{x.name!==v&&o(x,"name",v),x.constructor=w}catch(k){}return w}}},1703:function(t,e,n){var r=n(2109),i=n(7854),o=n(2104),s=n(9191),a="WebAssembly",c=i[a],l=7!==Error("e",{cause:7}).cause,u=function(t,e){var n={};n[t]=s(t,e,l),r({global:!0,forced:l},n)},h=function(t,e){if(c&&c[t]){var n={};n[t]=s(a+"."+t,e,l),r({target:a,stat:!0,forced:l},n)}};u("Error",(function(t){return function(e){return o(t,this,arguments)}})),u("EvalError",(function(t){return function(e){return o(t,this,arguments)}})),u("RangeError",(function(t){return function(e){return o(t,this,arguments)}})),u("ReferenceError",(function(t){return function(e){return o(t,this,arguments)}})),u("SyntaxError",(function(t){return function(e){return o(t,this,arguments)}})),u("TypeError",(function(t){return function(e){return o(t,this,arguments)}})),u("URIError",(function(t){return function(e){return o(t,this,arguments)}})),h("CompileError",(function(t){return function(e){return o(t,this,arguments)}})),h("LinkError",(function(t){return function(e){return o(t,this,arguments)}})),h("RuntimeError",(function(t){return function(e){return o(t,this,arguments)}}))},7244:function(t,e,n){"use strict";function r(t,e){var n=c(e);return n.formatToParts?o(n,t):s(n,t)}n.d(e,{Z:function(){return z}});var i={year:0,month:1,day:2,hour:3,minute:4,second:5};function o(t,e){for(var n=t.formatToParts(e),r=[],o=0;o=0&&(r[s]=parseInt(n[o].value,10))}return r}function s(t,e){var n=t.format(e).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 a={};function c(t){if(!a[t]){var e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===e||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===e;a[t]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return a[t]}var l=36e5,u=6e4,h={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-])(\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function f(t,e,n){var r,i,o;if(""===t)return 0;if(r=h.timezoneZ.exec(t),r)return 0;if(r=h.timezoneHH.exec(t),r)return o=parseInt(r[2],10),m(o)?(i=o*l,"+"===r[1]?-i:i):NaN;if(r=h.timezoneHHMM.exec(t),r){o=parseInt(r[2],10);var s=parseInt(r[3],10);return m(o,s)?(i=o*l+s*u,"+"===r[1]?-i:i):NaN}if(v(t)){e=new Date(e||Date.now());var a=n?e:d(e),c=p(a,t),f=n?c:g(e,c,t);return-f}return NaN}function d(t){return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))}function p(t,e){var n=r(t,e),i=Date.UTC(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5]),o=t.getTime(),s=o%1e3;return o-=s>=0?s:1e3+s,i-o}function g(t,e,n){var r=t.getTime(),i=r-e,o=p(new Date(i),n);if(e===o)return e;i-=o-e;var s=p(new Date(i),n);return o===s?o:Math.max(o,s)}function m(t,e){return!(null!=e&&(e<0||e>59))}var b={};function v(t){if(b[t])return!0;try{return Intl.DateTimeFormat(void 0,{timeZone:t}),b[t]=!0,!0}catch(e){return!1}}var y=n(3946),x=n(4262),_=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,w=_,k=36e5,M=6e4,S=2,O={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:w};function C(t,e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===t)return new Date(NaN);var n=e||{},r=null==n.additionalDigits?S:(0,y.Z)(n.additionalDigits);if(2!==r&&1!==r&&0!==r)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||"object"===typeof t&&"[object Date]"===Object.prototype.toString.call(t))return new Date(t.getTime());if("number"===typeof t||"[object Number]"===Object.prototype.toString.call(t))return new Date(t);if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var i=P(t),o=T(i.date,r),s=o.year,a=o.restDateString,c=D(a,s);if(isNaN(c))return new Date(NaN);if(c){var l,u=c.getTime(),h=0;if(i.time&&(h=E(i.time),isNaN(h)))return new Date(NaN);if(i.timeZone||n.timeZone){if(l=f(i.timeZone||n.timeZone,new Date(u+h)),isNaN(l))return new Date(NaN)}else l=(0,x.Z)(new Date(u+h)),l=(0,x.Z)(new Date(u+h+l));return new Date(u+h+l)}return new Date(NaN)}function P(t){var e,n={},r=O.dateTimePattern.exec(t);if(r?(n.date=r[1],e=r[3]):(r=O.datePattern.exec(t),r?(n.date=r[1],e=r[2]):(n.date=null,e=t)),e){var i=O.timeZone.exec(e);i?(n.time=e.replace(i[1],""),n.timeZone=i[1].trim()):n.time=e}return n}function T(t,e){var n,r=O.YYY[e],i=O.YYYYY[e];if(n=O.YYYY.exec(t)||i.exec(t),n){var o=n[1];return{year:parseInt(o,10),restDateString:t.slice(o.length)}}if(n=O.YY.exec(t)||r.exec(t),n){var s=n[1];return{year:100*parseInt(s,10),restDateString:t.slice(s.length)}}return{year:null}}function D(t,e){if(null===e)return null;var n,r,i,o;if(0===t.length)return r=new Date(0),r.setUTCFullYear(e),r;if(n=O.MM.exec(t),n)return r=new Date(0),i=parseInt(n[1],10)-1,R(e,i)?(r.setUTCFullYear(e,i),r):new Date(NaN);if(n=O.DDD.exec(t),n){r=new Date(0);var s=parseInt(n[1],10);return I(e,s)?(r.setUTCFullYear(e,0,s),r):new Date(NaN)}if(n=O.MMDD.exec(t),n){r=new Date(0),i=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return R(e,i,a)?(r.setUTCFullYear(e,i,a),r):new Date(NaN)}if(n=O.Www.exec(t),n)return o=parseInt(n[1],10)-1,N(e,o)?j(e,o):new Date(NaN);if(n=O.WwwD.exec(t),n){o=parseInt(n[1],10)-1;var c=parseInt(n[2],10)-1;return N(e,o,c)?j(e,o,c):new Date(NaN)}return null}function E(t){var e,n,r;if(e=O.HH.exec(t),e)return n=parseFloat(e[1].replace(",",".")),W(n)?n%24*k:NaN;if(e=O.HHMM.exec(t),e)return n=parseInt(e[1],10),r=parseFloat(e[2].replace(",",".")),W(n,r)?n%24*k+r*M:NaN;if(e=O.HHMMSS.exec(t),e){n=parseInt(e[1],10),r=parseInt(e[2],10);var i=parseFloat(e[3].replace(",","."));return W(n,r,i)?n%24*k+r*M+1e3*i:NaN}return null}function j(t,e,n){e=e||0,n=n||0;var r=new Date(0);r.setUTCFullYear(t,0,4);var i=r.getUTCDay()||7,o=7*e+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}var A=[31,28,31,30,31,30,31,31,30,31,30,31],L=[31,29,31,30,31,30,31,31,30,31,30,31];function F(t){return t%400===0||t%4===0&&t%100!==0}function R(t,e,n){if(e<0||e>11)return!1;if(null!=n){if(n<1)return!1;var r=F(t);if(r&&n>L[e])return!1;if(!r&&n>A[e])return!1}return!0}function I(t,e){if(e<1)return!1;var n=F(t);return!(n&&e>366)&&!(!n&&e>365)}function N(t,e,n){return!(e<0||e>52)&&(null==n||!(n<0||n>6))}function W(t,e,n){return(null==t||!(t<0||t>=25))&&((null==e||!(e<0||e>=60))&&(null==n||!(n<0||n>=60)))}function z(t,e,n){var r=C(t,n),i=f(e,r,!0),o=new Date(r.getTime()-i);return new Date(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds())}},4262:function(t,e,n){"use strict";function r(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}n.d(e,{Z:function(){return r}})},3882:function(t,e,n){"use strict";function r(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}n.d(e,{Z:function(){return r}})},3946:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,{Z:function(){return r}})},7349:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(9013),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),s=(0,r.Z)(e);return isNaN(s)?new Date(NaN):s?(n.setDate(n.getDate()+s),n):n}},1640:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(9013),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),s=(0,r.Z)(e);if(isNaN(s))return new Date(NaN);if(!s)return n;var a=n.getDate(),c=new Date(n.getTime());c.setMonth(n.getMonth()+s+1,0);var l=c.getDate();return a>=l?c:(n.setFullYear(c.getFullYear(),c.getMonth(),a),n)}},3500:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(7349),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e),s=7*n;return(0,i.Z)(t,s)}},1593:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(1640),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e);return(0,i.Z)(t,12*n)}},4135:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t),n=e.getMonth();return e.setFullYear(e.getFullYear(),n+1,0),e.setHours(23,59,59,999),e}},7090:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882);function s(t,e){(0,o.Z)(1,arguments);var n=e||{},s=n.locale,a=s&&s.options&&s.options.weekStartsOn,c=null==a?0:(0,i.Z)(a),l=null==n.weekStartsOn?c:(0,i.Z)(n.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=(0,r.Z)(t),h=u.getDay(),f=6+(h=s.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}function g(t){(0,r.Z)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var i=d(n);return i}var m=6048e5;function b(t){(0,r.Z)(1,arguments);var e=(0,o.Z)(t),n=d(e).getTime()-g(e).getTime();return Math.round(n/m)+1}function v(t,e){(0,r.Z)(1,arguments);var n=e||{},i=n.locale,s=i&&i.options&&i.options.weekStartsOn,a=null==s?0:(0,c.Z)(s),l=null==n.weekStartsOn?a:(0,c.Z)(n.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=(0,o.Z)(t),h=u.getUTCDay(),f=(h=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var f=new Date(0);f.setUTCFullYear(i+1,0,h),f.setUTCHours(0,0,0,0);var d=v(f,e),p=new Date(0);p.setUTCFullYear(i,0,h),p.setUTCHours(0,0,0,0);var g=v(p,e);return n.getTime()>=d.getTime()?i+1:n.getTime()>=g.getTime()?i:i-1}function x(t,e){(0,r.Z)(1,arguments);var n=e||{},i=n.locale,o=i&&i.options&&i.options.firstWeekContainsDate,s=null==o?1:(0,c.Z)(o),a=null==n.firstWeekContainsDate?s:(0,c.Z)(n.firstWeekContainsDate),l=y(t,e),u=new Date(0);u.setUTCFullYear(l,0,a),u.setUTCHours(0,0,0,0);var h=v(u,e);return h}var _=6048e5;function w(t,e){(0,r.Z)(1,arguments);var n=(0,o.Z)(t),i=v(n,e).getTime()-x(n,e).getTime();return Math.round(i/_)+1}function k(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?n:1-n;return k("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):k(n+1,2)},d:function(t,e){return k(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return k(t.getUTCHours()%12||12,e.length)},H:function(t,e){return k(t.getUTCHours(),e.length)},m:function(t,e){return k(t.getUTCMinutes(),e.length)},s:function(t,e){return k(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds(),i=Math.floor(r*Math.pow(10,n-3));return k(i,e.length)}},S=M,O={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},C={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return S.y(t,e)},Y:function(t,e,n,r){var i=y(t,r),o=i>0?i:1-i;if("YY"===e){var s=o%100;return k(s,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):k(o,e.length)},R:function(t,e){var n=p(t);return k(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return k(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return k(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return k(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return S.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return k(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=w(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):k(i,e.length)},I:function(t,e,n){var r=b(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):k(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):S.d(t,e)},D:function(t,e,n){var r=f(t);return"Do"===e?n.ordinalNumber(r,{unit:"dayOfYear"}):k(r,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return k(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return k(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return k(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?O.noon:0===i?O.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?O.evening:i>=12?O.afternoon:i>=4?O.morning:O.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return S.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):S.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):k(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):k(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):S.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):S.s(t,e)},S:function(t,e){return S.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return T(o);case"XXXX":case"XX":return D(o);case"XXXXX":case"XXX":default:return D(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return T(o);case"xxxx":case"xx":return D(o);case"xxxxx":case"xxx":default:return D(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+P(o,":");case"OOOO":default:return"GMT"+D(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+P(o,":");case"zzzz":default:return"GMT"+D(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return k(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return k(o,e.length)}};function P(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var s=e||"";return n+String(i)+s+k(o,2)}function T(t,e){if(t%60===0){var n=t>0?"-":"+";return n+k(Math.abs(t)/60,2)}return D(t,e)}function D(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=k(Math.floor(i/60),2),s=k(i%60,2);return r+o+n+s}var E=C;function j(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}}function A(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}}function L(t,e){var n,r=t.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return j(t,e);switch(i){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"});break}return n.replace("{{date}}",j(i,e)).replace("{{time}}",A(o,e))}var F={p:A,P:L},R=F,I=n(4262),N=["D","DD"],W=["YY","YYYY"];function z(t){return-1!==N.indexOf(t)}function H(t){return-1!==W.indexOf(t)}function B(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://git.io/fxCyr"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://git.io/fxCyr"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://git.io/fxCyr"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://git.io/fxCyr"))}var $=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,U=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,V=/^'([^]*?)'?$/,Z=/''/g,Y=/[a-zA-Z]/;function q(t,e,n){(0,r.Z)(2,arguments);var i=String(e),l=n||{},h=l.locale||a.Z,f=h.options&&h.options.firstWeekContainsDate,d=null==f?1:(0,c.Z)(f),p=null==l.firstWeekContainsDate?d:(0,c.Z)(l.firstWeekContainsDate);if(!(p>=1&&p<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var g=h.options&&h.options.weekStartsOn,m=null==g?0:(0,c.Z)(g),b=null==l.weekStartsOn?m:(0,c.Z)(l.weekStartsOn);if(!(b>=0&&b<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!h.localize)throw new RangeError("locale must contain localize property");if(!h.formatLong)throw new RangeError("locale must contain formatLong property");var v=(0,o.Z)(t);if(!s(v))throw new RangeError("Invalid time value");var y=(0,I.Z)(v),x=u(v,y),_={firstWeekContainsDate:p,weekStartsOn:b,locale:h,_originalDate:v},w=i.match(U).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=R[e];return n(t,h.formatLong,_)}return t})).join("").match($).map((function(n){if("''"===n)return"'";var r=n[0];if("'"===r)return J(n);var i=E[r];if(i)return!l.useAdditionalWeekYearTokens&&H(n)&&B(n,e,t),!l.useAdditionalDayOfYearTokens&&z(n)&&B(n,e,t),i(x,n,h.localize,_);if(r.match(Y))throw new RangeError("Format string contains an unescaped latin alphabet character `"+r+"`");return n})).join("");return w}function J(t){return t.match(V)[1].replace(Z,"'")}},1818:function(t,e,n){"use strict";n.d(e,{Z:function(){return M}});var r=n(9013),i=n(3882);function o(t,e){(0,i.Z)(2,arguments);var n=(0,r.Z)(t),o=(0,r.Z)(e),s=n.getTime()-o.getTime();return s<0?-1:s>0?1:s}function s(t,e){(0,i.Z)(2,arguments);var n=(0,r.Z)(t),o=(0,r.Z)(e),s=n.getFullYear()-o.getFullYear(),a=n.getMonth()-o.getMonth();return 12*s+a}function a(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setHours(23,59,59,999),e}var c=n(4135);function l(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return a(e).getTime()===(0,c.Z)(e).getTime()}function u(t,e){(0,i.Z)(2,arguments);var n,a=(0,r.Z)(t),c=(0,r.Z)(e),u=o(a,c),h=Math.abs(s(a,c));if(h<1)n=0;else{1===a.getMonth()&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-u*h);var f=o(a,c)===-u;l((0,r.Z)(t))&&1===h&&1===o(t,c)&&(f=!1),n=u*(h-Number(f))}return 0===n?0:n}function h(t,e){return(0,i.Z)(2,arguments),(0,r.Z)(t).getTime()-(0,r.Z)(e).getTime()}var f={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},d="trunc";function p(t){return t?f[t]:f[d]}function g(t,e,n){(0,i.Z)(2,arguments);var r=h(t,e)/1e3;return p(null===n||void 0===n?void 0:n.roundingMethod)(r)}var m=n(5826);function b(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e=e||{},e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function v(t){return b({},t)}var y=n(4262),x=1440,_=2520,w=43200,k=86400;function M(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.Z)(2,arguments);var s=n.locale||m.Z;if(!s.formatDistance)throw new RangeError("locale must contain formatDistance property");var a=o(t,e);if(isNaN(a))throw new RangeError("Invalid time value");var c,l,h=v(n);h.addSuffix=Boolean(n.addSuffix),h.comparison=a,a>0?(c=(0,r.Z)(e),l=(0,r.Z)(t)):(c=(0,r.Z)(t),l=(0,r.Z)(e));var f,d=g(l,c),p=((0,y.Z)(l)-(0,y.Z)(c))/1e3,b=Math.round((d-p)/60);if(b<2)return n.includeSeconds?d<5?s.formatDistance("lessThanXSeconds",5,h):d<10?s.formatDistance("lessThanXSeconds",10,h):d<20?s.formatDistance("lessThanXSeconds",20,h):d<40?s.formatDistance("halfAMinute",null,h):d<60?s.formatDistance("lessThanXMinutes",1,h):s.formatDistance("xMinutes",1,h):0===b?s.formatDistance("lessThanXMinutes",1,h):s.formatDistance("xMinutes",b,h);if(b<45)return s.formatDistance("xMinutes",b,h);if(b<90)return s.formatDistance("aboutXHours",1,h);if(b0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}n.d(e,{Z:function(){return r}})},8486:function(t,e,n){"use strict";function r(t){return function(e,n){var r,i=n||{},o=i.context?String(i.context):"standalone";if("formatting"===o&&t.formattingValues){var s=t.defaultFormattingWidth||t.defaultWidth,a=i.width?String(i.width):s;r=t.formattingValues[a]||t.formattingValues[s]}else{var c=t.defaultWidth,l=i.width?String(i.width):t.defaultWidth;r=t.values[l]||t.values[c]}var u=t.argumentCallback?t.argumentCallback(e):e;return r[u]}}n.d(e,{Z:function(){return r}})},6723:function(t,e,n){"use strict";function r(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,s=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],a=e.match(s);if(!a)return null;var c,l=a[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?o(u,(function(t){return t.test(l)})):i(u,(function(t){return t.test(l)}));c=t.valueCallback?t.valueCallback(h):h,c=n.valueCallback?n.valueCallback(c):c;var f=e.slice(l.length);return{value:c,rest:f}}}function i(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function o(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var s=t.valueCallback?t.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;var a=e.slice(i.length);return{value:s,rest:a}}}n.d(e,{Z:function(){return r}})},5826:function(t,e,n){"use strict";n.d(e,{Z:function(){return B}});var r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},o=i,s=n(9526),a={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},c={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},l={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,s.Z)({formats:a,defaultWidth:"full"}),time:(0,s.Z)({formats:c,defaultWidth:"full"}),dateTime:(0,s.Z)({formats:l,defaultWidth:"full"})},h=u,f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},b={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},v={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},y={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},x={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},_={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},w=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},k={ordinalNumber:w,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:b,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:v,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide",formattingValues:_,defaultFormattingWidth:"wide"})},M=k,S=n(6723),O=n(974),C=/^(\d+)(th|st|nd|rd)?/i,P=/\d+/i,T={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},D={any:[/^b/i,/^(a|c)/i]},E={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},j={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},F={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},R={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},I={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},N={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},W={ordinalNumber:(0,O.Z)({matchPattern:C,parsePattern:P,valueCallback:function(t){return parseInt(t,10)}}),era:(0,S.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any"}),quarter:(0,S.Z)({matchPatterns:E,defaultMatchWidth:"wide",parsePatterns:j,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,S.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,S.Z)({matchPatterns:F,defaultMatchWidth:"wide",parsePatterns:R,defaultParseWidth:"any"}),dayPeriod:(0,S.Z)({matchPatterns:I,defaultMatchWidth:"any",parsePatterns:N,defaultParseWidth:"any"})},z=W,H={code:"en-US",formatDistance:o,formatLong:h,formatRelative:p,localize:M,match:z,options:{weekStartsOn:0,firstWeekContainsDate:1}},B=H},5830:function(t,e,n){"use strict";n.d(e,{Z:function(){return H}});var r={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+i:"il y a "+i:i},o=i,s=n(9526),a={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},c={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},l={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,s.Z)({formats:a,defaultWidth:"full"}),time:(0,s.Z)({formats:c,defaultWidth:"full"}),dateTime:(0,s.Z)({formats:l,defaultWidth:"full"})},h=u,f={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},b={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},v={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},y={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},x={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},_=function(t,e){var n=Number(t),r=null===e||void 0===e?void 0:e.unit;if(0===n)return"0";var i,o=["year","week","hour","minute","second"];return i=1===n?r&&o.includes(r)?"ère":"er":"ème",n+i},w={ordinalNumber:_,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:b,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:v,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide"})},k=w,M=n(6723),S=n(974),O=/^(\d+)(ième|ère|ème|er|e)?/i,C=/\d+/i,P={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},T={any:[/^av/i,/^ap/i]},D={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},E={any:[/1/i,/2/i,/3/i,/4/i]},j={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},A={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},L={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},F={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},R={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},I={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},N={ordinalNumber:(0,S.Z)({matchPattern:O,parsePattern:C,valueCallback:function(t){return parseInt(t)}}),era:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:T,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:D,defaultMatchWidth:"wide",parsePatterns:E,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:A,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:L,defaultMatchWidth:"wide",parsePatterns:F,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:R,defaultMatchWidth:"any",parsePatterns:I,defaultParseWidth:"any"})},W=N,z={code:"fr",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:W,options:{weekStartsOn:1,firstWeekContainsDate:4}},H=z},3703:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setDate(1),e.setHours(0,0,0,0),e}},584:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882);function s(t,e){(0,o.Z)(1,arguments);var n=e||{},s=n.locale,a=s&&s.options&&s.options.weekStartsOn,c=null==a?0:(0,i.Z)(a),l=null==n.weekStartsOn?c:(0,i.Z)(n.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=(0,r.Z)(t),h=u.getDay(),f=(hr({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(n-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=r.r.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((n,r)=>{if(!n.running||!n.items.length)return;const i=n.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>n.duration&&(n.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,n,t,"progress")),i.length||(n.running=!1,this._notify(r,n,t,"complete"),n.initial=!1),e+=i.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let n=e.get(t);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,n)),n}listen(t,e,n){this._getAnims(t).listeners[e].push(n)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const n=e.items;let r=n.length-1;for(;r>=0;--r)n[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var o=new i;const s="transparent",a={boolean(t,e,n){return n>.5?e:t},color(t,e,n){const i=(0,r.c)(t||s),o=i.valid&&(0,r.c)(e||s);return o&&o.valid?o.mix(i,n).hexString():e},number(t,e,n){return t+(e-t)*n}};class c{constructor(t,e,n,i){const o=e[n];i=(0,r.a)([t.to,i,o,t.from]);const s=(0,r.a)([t.from,o,i]);this._active=!0,this._fn=t.fn||a[t.type||typeof s],this._easing=r.e[t.easing]||r.e.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=n,this._from=s,this._to=i,this._promises=void 0}active(){return this._active}update(t,e,n){if(this._active){this._notify(!1);const i=this._target[this._prop],o=n-this._start,s=this._duration-o;this._start=n,this._duration=Math.floor(Math.max(s,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=(0,r.a)([t.to,e,i,t.from]),this._from=(0,r.a)([t.from,i,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,n=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||e1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,n)=>{t.push({res:e,rej:n})}))}_notify(t){const e=t?"res":"rej",n=this._promises||[];for(let r=0;r"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),r.d.set("animations",{colors:{type:"color",properties:u},numbers:{type:"number",properties:l}}),r.d.describe("animations",{_fallback:"animation"}),r.d.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class f{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!(0,r.i)(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((n=>{const i=t[n];if(!(0,r.i)(i))return;const o={};for(const t of h)o[t]=i[t];((0,r.b)(i.properties)&&i.properties||[n]).forEach((t=>{t!==n&&e.has(t)||e.set(t,o)}))}))}_animateOptions(t,e){const n=e.options,r=p(t,n);if(!r)return[];const i=this._createAnimations(r,n);return n.$shared&&d(t.options.$animations,n).then((()=>{t.options=n}),(()=>{})),i}_createAnimations(t,e){const n=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(e),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const l=o[a];if("$"===l.charAt(0))continue;if("options"===l){r.push(...this._animateOptions(t,e));continue}const u=e[l];let h=i[l];const f=n.get(l);if(h){if(f&&h.active()){h.update(f,u,s);continue}h.cancel()}f&&f.duration?(i[l]=h=new c(f,t,l,u),r.push(h)):t[l]=u}return r}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const n=this._createAnimations(t,e);return n.length?(o.add(this._chart,n),!0):void 0}}function d(t,e){const n=[],r=Object.keys(e);for(let i=0;i0||!n&&e<0)return i.index}return null}function O(t,e){const{chart:n,_cachedMeta:r}=t,i=n._stacks||(n._stacks={}),{iScale:o,vScale:s,index:a}=r,c=o.axis,l=s.axis,u=w(o,s,r),h=e.length;let f;for(let d=0;dn[t].axis===e)).shift()}function P(t,e){return(0,r.h)(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}function T(t,e,n){return(0,r.h)(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:n,index:e,mode:"default",type:"data"})}function D(t,e){const n=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[r]||void 0===e[r][n])return;delete e[r][n]}}}const E=t=>"reset"===t||"none"===t,j=(t,e)=>e?t:Object.assign({},t),A=(t,e,n)=>t&&!e.hidden&&e._stacked&&{keys:v(n,!0),values:null};class L{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=_(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&D(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,n=this.getDataset(),i=(t,e,n,r)=>"x"===t?e:"r"===t?r:n,o=e.xAxisID=(0,r.v)(n.xAxisID,C(t,"x")),s=e.yAxisID=(0,r.v)(n.yAxisID,C(t,"y")),a=e.rAxisID=(0,r.v)(n.rAxisID,C(t,"r")),c=e.indexAxis,l=e.iAxisID=i(c,o,s,a),u=e.vAxisID=i(c,s,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(s),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&(0,r.u)(this._data,this),t._stacked&&D(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),n=this._data;if((0,r.i)(e))this._data=x(e);else if(n!==e){if(n){(0,r.u)(n,this);const t=this._cachedMeta;D(t),t._parsed=[]}e&&Object.isExtensible(e)&&(0,r.l)(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,n=this.getDataset();let r=!1;this._dataCheck();const i=e._stacked;e._stacked=_(e.vScale,e),e.stack!==n.stack&&(r=!0,D(e),e.stack=n.stack),this._resyncElements(t),(r||i!==e._stacked)&&O(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),n=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:n,_data:i}=this,{iScale:o,_stacked:s}=n,a=o.axis;let c,l,u,h=0===t&&e===i.length||n._sorted,f=t>0&&n._parsed[t-1];if(!1===this._parsing)n._parsed=i,n._sorted=!0,u=i;else{u=(0,r.b)(i[t])?this.parseArrayData(n,i,t,e):(0,r.i)(i[t])?this.parseObjectData(n,i,t,e):this.parsePrimitiveData(n,i,t,e);const o=()=>null===l[a]||f&&l[a]e||h=0;--f)if(!p()){this.updateRangeFromParsed(l,t,d,c);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,n=[];let i,o,s;for(i=0,o=e.length;i=0&&tthis.getContext(n,i),g=l.resolveNamedOptions(f,d,p,h);return g.$shared&&(g.$shared=c,o[s]=Object.freeze(j(g,c))),g}_resolveAnimations(t,e,n){const r=this.chart,i=this._cachedDataOpts,o=`animation-${e}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,e),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,n,e))}const c=new f(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||E(t)||this.chart._animationsDisabled}updateElement(t,e,n,r){E(r)?Object.assign(t,n):this._resolveAnimations(e,r).update(t,n)}updateSharedOptions(t,e,n){t&&!E(e)&&this._resolveAnimations(void 0,e).update(t,n)}_setStyle(t,e,n,r){t.active=r;const i=this.getStyle(e,r);this._resolveAnimations(e,n,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,e,n){this._setStyle(t,n,"active",!1)}setHoverStyle(t,e,n){this._setStyle(t,n,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,n=this._cachedMeta.data;for(const[s,a,c]of this._syncList)this[s](a,c);this._syncList=[];const r=n.length,i=e.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=e,s=t.length-1;s>=o;s--)t[s]=t[s-e]};for(a(i),s=t;st-e)))}return t._cache.$bar}function I(t){const e=t.iScale,n=F(e,t.type);let i,o,s,a,c=e._length;const l=()=>{32767!==s&&-32768!==s&&((0,r.j)(a)&&(c=Math.min(c,Math.abs(s-a)||c)),a=s)};for(i=0,o=n.length;i0?i[t-1]:null,a=tMath.abs(a)&&(c=a,l=s),e[n.axis]=l,e._custom={barStart:c,barEnd:l,start:i,end:o,min:s,max:a}}function z(t,e,n,i){return(0,r.b)(t)?W(t,e,n,i):e[n.axis]=n.parse(t,i),e}function H(t,e,n,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,c=[];let l,u,h,f;for(l=n,u=n+r;l=n?1:-1)}function U(t){let e,n,r,i,o;return t.horizontal?(e=t.base>t.x,n="left",r="right"):(e=t.base=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:n,yScale:r}=e,i=this.getParsed(t),o=n.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:e.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,n,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,a=this.resolveDataElementOptions(e,r),c=this.getSharedOptions(a),l=this.includeOptions(r,c),u=o.axis,h=s.axis;for(let f=e;f(0,r.p)(t,c,l,!0)?1:Math.max(e,e*n,i,i*n),g=(t,e,i)=>(0,r.p)(t,c,l,!0)?-1:Math.min(e,e*n,i,i*n),m=p(0,u,f),b=p(r.H,h,d),v=g(r.P,u,f),y=g(r.P+r.H,h,d);i=(m-v)/2,o=(b-y)/2,s=-(m+v)/2,a=-(b+y)/2}return{ratioX:i,ratioY:o,offsetX:s,offsetY:a}}X.id="bubble",X.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},X.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title(){return""}}}}};class Q extends L{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const n=this.getDataset().data,i=this._cachedMeta;if(!1===this._parsing)i._parsed=n;else{let o,s,a=t=>+n[t];if((0,r.i)(n[t])){const{key:t="value"}=this._parsing;a=e=>+(0,r.f)(n[e],t)}for(o=t,s=t+e;o0&&!isNaN(t)?r.T*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=(0,r.o)(e._parsed[t],n.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let e=0;const n=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=n.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},Q.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,r)=>{const i=t.getDatasetMeta(0),o=i.controller.getStyle(r);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title(){return""},label(t){let e=t.label;const n=": "+t.formattedValue;return(0,r.b)(e)?(e=e.slice(),e[0]+=n):e+=n,e}}}}};class tt extends L{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:n,data:r=[],_dataset:i}=e,o=this.chart._animationsDisabled;let{start:s,count:a}=et(e,r,o);this._drawStart=s,this._drawCount=a,nt(e)&&(s=0,a=r.length),n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!i._decimated,n.points=r;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(n,void 0,{animated:!o,options:c},t),this.updateElements(r,s,a,t)}updateElements(t,e,n,i){const o="reset"===i,{iScale:s,vScale:a,_stacked:c,_dataset:l}=this._cachedMeta,u=this.resolveDataElementOptions(e,i),h=this.getSharedOptions(u),f=this.includeOptions(i,h),d=s.axis,p=a.axis,{spanGaps:g,segment:m}=this.options,b=(0,r.q)(g)?g:Number.POSITIVE_INFINITY,v=this.chart._animationsDisabled||o||"none"===i;let y=e>0&&this.getParsed(e-1);for(let x=e;x0&&n[d]-y[d]>b,m&&(u.parsed=n,u.raw=l.data[x]),f&&(u.options=h||this.resolveDataElementOptions(x,e.active?"active":i)),v||this.updateElement(e,x,u,i),y=n}this.updateSharedOptions(h,i,u)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,n=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return n;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}function et(t,e,n){const i=e.length;let o=0,s=i;if(t._sorted){const{iScale:a,_parsed:c}=t,l=a.axis,{min:u,max:h,minDefined:f,maxDefined:d}=a.getUserBounds();f&&(o=(0,r.w)(Math.min((0,r.x)(c,a.axis,u).lo,n?i:(0,r.x)(e,l,a.getPixelForValue(u)).lo),0,i-1)),s=d?(0,r.w)(Math.max((0,r.x)(c,a.axis,h).hi+1,n?0:(0,r.x)(e,l,a.getPixelForValue(h)).hi+1),o,i)-o:i-o}return{start:o,count:s}}function nt(t){const{xScale:e,yScale:n,_scaleRanges:r}=t,i={xmin:e.min,xmax:e.max,ymin:n.min,ymax:n.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==e.min||r.xmax!==e.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),o}tt.id="line",tt.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},tt.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class rt extends L{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,n=this.chart,i=n.data.labels||[],o=(0,r.o)(e._parsed[t].r,n.options.locale);return{label:i[t]||"",value:o}}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}_updateRadius(){const t=this.chart,e=t.chartArea,n=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),i=Math.max(r/2,0),o=Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0),s=(i-o)/t.getVisibleDatasetCount();this.outerRadius=i-s*this.index,this.innerRadius=this.outerRadius-s}updateElements(t,e,n,i){const o="reset"===i,s=this.chart,a=this.getDataset(),c=s.options,l=c.animation,u=this._cachedMeta.rScale,h=u.xCenter,f=u.yCenter,d=u.getIndexAngle(0)-.5*r.P;let p,g=d;const m=360/this.countVisibleElements();for(p=0;p{!isNaN(t.data[r])&&this.chart.getDataVisibility(r)&&n++})),n}_computeAngle(t,e,n){return this.chart.getDataVisibility(t)?(0,r.t)(this.resolveDataElementOptions(t,e).angle||n):0}}rt.id="polarArea",rt.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},rt.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:n}}=t.legend.options;return e.labels.map(((e,r)=>{const i=t.getDatasetMeta(0),o=i.controller.getStyle(r);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:n,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,e,n){n.chart.toggleDataVisibility(e.index),n.chart.update()}},tooltip:{callbacks:{title(){return""},label(t){return t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class it extends Q{}it.id="pie",it.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class ot extends L{getLabelAndValue(t){const e=this._cachedMeta.vScale,n=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(n[e.axis])}}update(t){const e=this._cachedMeta,n=e.dataset,r=e.data||[],i=e.iScale.getLabels();if(n.points=r,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:e};this.updateElement(n,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,n,r){const i=this.getDataset(),o=this._cachedMeta.rScale,s="reset"===r;for(let a=e;a{t[a](i[s],r)&&o.push({element:t,datasetIndex:e,index:n}),t.inRange(i.x,i.y,r)&&(c=!0)})),n.intersect&&!c?[]:o}var xt={modes:{index(t,e,n,r){const i=ut(e,t),o=n.axis||"x",s=n.intersect?gt(t,i,o,r):vt(t,i,o,!1,r),a=[];return s.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=s[0].index,n=t.data[e];n&&!n.skip&&a.push({element:n,datasetIndex:t.index,index:e})})),a):[]},dataset(t,e,n,r){const i=ut(e,t),o=n.axis||"xy";let s=n.intersect?gt(t,i,o,r):vt(t,i,o,!1,r);if(s.length>0){const e=s[0].datasetIndex,n=t.getDatasetMeta(e).data;s=[];for(let t=0;tt.pos===e))}function kt(t,e){return t.filter((t=>-1===_t.indexOf(t.pos)&&t.box.axis===e))}function Mt(t,e){return t.sort(((t,n)=>{const r=e?n:t,i=e?t:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function St(t){const e=[];let n,r,i,o,s,a;for(n=0,r=(t||[]).length;nt.box.fullSize)),!0),r=Mt(wt(e,"left"),!0),i=Mt(wt(e,"right")),o=Mt(wt(e,"top"),!0),s=Mt(wt(e,"bottom")),a=kt(e,"x"),c=kt(e,"y");return{fullSize:n,leftAndTop:r.concat(o),rightAndBottom:i.concat(c).concat(s).concat(a),chartArea:wt(e,"chartArea"),vertical:r.concat(i).concat(c),horizontal:o.concat(s).concat(a)}}function Tt(t,e,n,r){return Math.max(t[n],e[n])+Math.max(t[r],e[r])}function Dt(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Et(t,e,n,i){const{pos:o,box:s}=n,a=t.maxPadding;if(!(0,r.i)(o)){n.size&&(t[o]-=n.size);const e=i[n.stack]||{size:0,count:1};e.size=Math.max(e.size,n.horizontal?s.height:s.width),n.size=e.size/e.count,t[o]+=n.size}s.getPadding&&Dt(a,s.getPadding());const c=Math.max(0,e.outerWidth-Tt(a,t,"left","right")),l=Math.max(0,e.outerHeight-Tt(a,t,"top","bottom")),u=c!==t.w,h=l!==t.h;return t.w=c,t.h=l,n.horizontal?{same:u,other:h}:{same:h,other:u}}function jt(t){const e=t.maxPadding;function n(n){const r=Math.max(e[n]-t[n],0);return t[n]+=r,r}t.y+=n("top"),t.x+=n("left"),n("right"),n("bottom")}function At(t,e){const n=e.maxPadding;function r(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(e[t],n[t])})),r}return r(t?["left","right"]:["top","bottom"])}function Lt(t,e,n,r){const i=[];let o,s,a,c,l,u;for(o=0,s=t.length,l=0;o{"function"===typeof t.beforeLayout&&t.beforeLayout()}));const h=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,f=Object.freeze({outerWidth:e,outerHeight:n,padding:o,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/h,hBoxMaxHeight:a/2}),d=Object.assign({},o);Dt(d,(0,r.C)(i));const p=Object.assign({maxPadding:d,w:s,h:a,x:o.left,y:o.top},o),g=Ct(l.concat(u),f);Lt(c.fullSize,p,f,g),Lt(l,p,f,g),Lt(u,p,f,g)&&Lt(l,p,f,g),jt(p),It(c.leftAndTop,p,f,g),p.x+=p.w,p.y+=p.h,It(c.rightAndBottom,p,f,g),t.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},(0,r.D)(c.chartArea,(e=>{const n=e.box;Object.assign(n,t.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})}))}};class Nt{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,n){}removeEventListener(t,e,n){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,n,r){return e=Math.max(0,e||t.width),n=n||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):n)}}isAttached(t){return!0}updateConfig(t){}}class Wt extends Nt{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const zt="$chartjs",Ht={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},$t=t=>null===t||""===t;function Bt(t,e){const n=t.style,i=t.getAttribute("height"),o=t.getAttribute("width");if(t[zt]={initial:{height:i,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",$t(o)){const e=(0,r.G)(t,"width");void 0!==e&&(t.width=e)}if($t(i))if(""===t.style.height)t.height=t.width/(e||2);else{const e=(0,r.G)(t,"height");void 0!==e&&(t.height=e)}return t}const Ut=!!r.J&&{passive:!0};function Vt(t,e,n){t.addEventListener(e,n,Ut)}function Zt(t,e,n){t.canvas.removeEventListener(e,n,Ut)}function Yt(t,e){const n=Ht[t.type]||t.type,{x:i,y:o}=(0,r.y)(t,e);return{type:n,chart:e,native:t,x:void 0!==i?i:null,y:void 0!==o?o:null}}function qt(t,e){for(const n of t)if(n===e||n.contains(e))return!0}function Jt(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||qt(n.addedNodes,r),e=e&&!qt(n.removedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Gt(t,e,n){const r=t.canvas,i=new MutationObserver((t=>{let e=!1;for(const n of t)e=e||qt(n.removedNodes,r),e=e&&!qt(n.addedNodes,r);e&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Xt=new Map;let Kt=0;function Qt(){const t=window.devicePixelRatio;t!==Kt&&(Kt=t,Xt.forEach(((e,n)=>{n.currentDevicePixelRatio!==t&&e()})))}function te(t,e){Xt.size||window.addEventListener("resize",Qt),Xt.set(t,e)}function ee(t){Xt.delete(t),Xt.size||window.removeEventListener("resize",Qt)}function ne(t,e,n){const i=t.canvas,o=i&&(0,r.F)(i);if(!o)return;const s=(0,r.I)(((t,e)=>{const r=o.clientWidth;n(t,e),r{const e=t[0],n=e.contentRect.width,r=e.contentRect.height;0===n&&0===r||s(n,r)}));return a.observe(o),te(t,s),a}function re(t,e,n){n&&n.disconnect(),"resize"===e&&ee(t)}function ie(t,e,n){const i=t.canvas,o=(0,r.I)((e=>{null!==t.ctx&&n(Yt(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return Vt(i,e,o),o}class oe extends Nt{acquireContext(t,e){const n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(Bt(t,e),n):null}releaseContext(t){const e=t.canvas;if(!e[zt])return!1;const n=e[zt].initial;["height","width"].forEach((t=>{const i=n[t];(0,r.k)(i)?e.removeAttribute(t):e.setAttribute(t,i)}));const i=n.style||{};return Object.keys(i).forEach((t=>{e.style[t]=i[t]})),e.width=e.width,delete e[zt],!0}addEventListener(t,e,n){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),i={attach:Jt,detach:Gt,resize:ne},o=i[e]||ie;r[e]=o(t,e,n)}removeEventListener(t,e){const n=t.$proxies||(t.$proxies={}),r=n[e];if(!r)return;const i={attach:re,detach:re,resize:re},o=i[e]||Zt;o(t,e,r),n[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,n,i){return(0,r.E)(t,e,n,i)}isAttached(t){const e=(0,r.F)(t);return!(!e||!e.isConnected)}}function se(t){return!(0,r.K)()||"undefined"!==typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Wt:oe}class ae{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:n}=this.getProps(["x","y"],t);return{x:e,y:n}}hasValue(){return(0,r.q)(this.x)&&(0,r.q)(this.y)}getProps(t,e){const n=this.$animations;if(!e||!n)return this;const r={};return t.forEach((t=>{r[t]=n[t]&&n[t].active()?n[t]._to:this[t]})),r}}ae.defaults={},ae.defaultRoutes=void 0;const ce={values(t){return(0,r.b)(t)?t:""+t},numeric(t,e,n){if(0===t)return"0";const i=this.chart.options.locale;let o,s=t;if(n.length>1){const e=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(e<1e-4||e>1e15)&&(o="scientific"),s=le(t,n)}const a=(0,r.L)(Math.abs(s)),c=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:o,minimumFractionDigits:c,maximumFractionDigits:c};return Object.assign(l,this.options.ticks.format),(0,r.o)(t,i,l)},logarithmic(t,e,n){if(0===t)return"0";const i=t/Math.pow(10,Math.floor((0,r.L)(t)));return 1===i||2===i||5===i?ce.numeric.call(this,t,e,n):""}};function le(t,e){let n=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(n)>=1&&t!==Math.floor(t)&&(n=t-Math.floor(t)),n}var ue={formatters:ce};function he(t,e){const n=t.options.ticks,i=n.maxTicksLimit||fe(t),o=n.major.enabled?pe(e):[],s=o.length,a=o[0],c=o[s-1],l=[];if(s>i)return ge(e,l,o,s/i),l;const u=de(o,e,i);if(s>0){let t,n;const i=s>1?Math.round((c-a)/(s-1)):null;for(me(e,l,u,(0,r.k)(i)?0:a-i,a),t=0,n=s-1;to)return t}return Math.max(o,1)}function pe(t){const e=[];let n,r;for(n=0,r=t.length;ne.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ue.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),r.d.route("scale.ticks","color","","color"),r.d.route("scale.grid","color","","borderColor"),r.d.route("scale.grid","borderColor","","borderColor"),r.d.route("scale.title","color","","color"),r.d.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),r.d.describe("scales",{_fallback:"scale"}),r.d.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const ve=t=>"left"===t?"right":"right"===t?"left":t,ye=(t,e,n)=>"top"===e||"left"===e?t[e]+n:t[e]-n;function xe(t,e){const n=[],r=t.length/e,i=t.length;let o=0;for(;os+a)))return l}function we(t,e){(0,r.D)(t,(t=>{const n=t.gc,r=n.length/2;let i;if(r>e){for(i=0;ii?i:n,i=o&&n>i?n:i,{min:(0,r.N)(n,(0,r.N)(i,n)),max:(0,r.N)(i,(0,r.N)(n,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){(0,r.O)(this.options.beforeUpdate,[this])}update(t,e,n){const{beginAtZero:i,grace:o,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=(0,r.Q)(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const c=a=o||n<=1||!this.isHorizontal())return void(this.labelRotation=i);const u=this._getLabelSizes(),h=u.widest.width,f=u.highest.height,d=(0,r.w)(this.chart.width-h,0,this.maxWidth);s=t.offset?this.maxWidth/n:d/(n-1),h+6>s&&(s=d/(n-(t.offset?.5:1)),a=this.maxHeight-ke(t.grid)-e.padding-Me(t.title,this.chart.options.font),c=Math.sqrt(h*h+f*f),l=(0,r.R)(Math.min(Math.asin((0,r.w)((u.highest.height+6)/s,-1,1)),Math.asin((0,r.w)(a/c,-1,1))-Math.asin((0,r.w)(f/c,-1,1)))),l=Math.max(i,Math.min(o,l))),this.labelRotation=l}afterCalculateLabelRotation(){(0,r.O)(this.options.afterCalculateLabelRotation,[this])}beforeFit(){(0,r.O)(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:n,title:i,grid:o}}=this,s=this._isVisible(),a=this.isHorizontal();if(s){const s=Me(i,e.options.font);if(a?(t.width=this.maxWidth,t.height=ke(o)+s):(t.height=this.maxHeight,t.width=ke(o)+s),n.display&&this.ticks.length){const{first:e,last:i,widest:o,highest:s}=this._getLabelSizes(),c=2*n.padding,l=(0,r.t)(this.labelRotation),u=Math.cos(l),h=Math.sin(l);if(a){const e=n.mirror?0:h*o.width+u*s.height;t.height=Math.min(this.maxHeight,t.height+e+c)}else{const e=n.mirror?0:u*o.width+h*s.height;t.width=Math.min(this.maxWidth,t.width+e+c)}this._calculatePadding(e,i,h,u)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,n,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,c="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1);let u=0,h=0;a?c?(u=r*t.width,h=n*e.height):(u=n*t.height,h=r*e.width):"start"===i?h=e.width:"end"===i?u=t.width:(u=t.width/2,h=e.width/2),this.paddingLeft=Math.max((u-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-l+o)*this.width/(this.width-l),0)}else{let n=e.height/2,r=t.height/2;"start"===i?(n=0,r=t.height):"end"===i&&(n=e.height,r=0),this.paddingTop=n+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){(0,r.O)(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,n=t.length;e({width:o[t]||0,height:s[t]||0});return{first:w(0),last:w(e-1),widest:w(x),highest:w(_),widths:o,heights:s}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return(0,r.U)(this._alignToPixels?(0,r.V)(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*i?a/n:c/i:c*i0}_computeGridLineItems(t){const e=this.axis,n=this.chart,i=this.options,{grid:o,position:s}=i,a=o.offset,c=this.isHorizontal(),l=this.ticks,u=l.length+(a?1:0),h=ke(o),f=[],d=o.setContext(this.getContext()),p=d.drawBorder?d.borderWidth:0,g=p/2,m=function(t){return(0,r.V)(n,t,p)};let b,v,y,x,_,w,k,M,S,O,C,P;if("top"===s)b=m(this.bottom),w=this.bottom-h,M=b-g,O=m(t.top)+g,P=t.bottom;else if("bottom"===s)b=m(this.top),O=t.top,P=m(t.bottom)-g,w=b+g,M=this.top+h;else if("left"===s)b=m(this.right),_=this.right-h,k=b-g,S=m(t.left)+g,C=t.right;else if("right"===s)b=m(this.left),S=t.left,C=m(t.right)-g,_=b+g,k=this.left+h;else if("x"===e){if("center"===s)b=m((t.top+t.bottom)/2+.5);else if((0,r.i)(s)){const t=Object.keys(s)[0],e=s[t];b=m(this.chart.scales[t].getPixelForValue(e))}O=t.top,P=t.bottom,w=b+g,M=w+h}else if("y"===e){if("center"===s)b=m((t.left+t.right)/2);else if((0,r.i)(s)){const t=Object.keys(s)[0],e=s[t];b=m(this.chart.scales[t].getPixelForValue(e))}_=b-g,k=_-h,S=t.left,C=t.right}const T=(0,r.v)(i.ticks.maxTicksLimit,u),D=Math.max(1,Math.ceil(u/T));for(v=0;ve.value===t));if(r>=0){const t=e.setContext(this.getContext(r));return t.lineWidth}return 0}drawGrid(t){const e=this.options.grid,n=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,e,r)=>{r.width&&r.color&&(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(t.x,t.y),n.lineTo(e.x,e.y),n.stroke(),n.restore())};if(e.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:n+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",r=[];let i,o;for(i=0,o=e.length;i{const i=n.split("."),o=i.pop(),s=[t].concat(i).join("."),a=e[n].split("."),c=a.pop(),l=a.join(".");r.d.route(s,o,l,c)}))}function Ae(t){return"id"in t&&"defaults"in t}class Le{constructor(){this.controllers=new De(L,"datasets",!0),this.elements=new De(ae,"elements"),this.plugins=new De(Object,"plugins"),this.scales=new De(Te,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,n){[...e].forEach((e=>{const i=n||this._getRegistryForType(e);n||i.isForType(e)||i===this.plugins&&e.id?this._exec(t,i,e):(0,r.D)(e,(e=>{const r=n||this._getRegistryForType(e);this._exec(t,r,e)}))}))}_exec(t,e,n){const i=(0,r.a3)(t);(0,r.O)(n["before"+i],[],n),e[t](n),(0,r.O)(n["after"+i],[],n)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(r(e,n),t,"stop"),this._notify(r(n,e),t,"start")}}function Re(t){const e=[],n=Object.keys(Fe.plugins.items);for(let i=0;i{const e=i[t];if(!(0,r.i)(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const c=Ve(t,e),l=Be(c,o),u=n.scales||{};s[c]=s[c]||t,a[t]=(0,r.a9)(Object.create(null),[{axis:c},e,u[c],u[l]])})),t.data.datasets.forEach((n=>{const o=n.type||t.type,c=n.indexAxis||He(o,e),l=r.a1[o]||{},u=l.scales||{};Object.keys(u).forEach((t=>{const e=$e(t,c),o=n[e+"AxisID"]||s[e]||e;a[o]=a[o]||Object.create(null),(0,r.a9)(a[o],[{axis:e},i[o],u[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];(0,r.a9)(e,[r.d.scales[e.type],r.d.scale])})),a}function Ye(t){const e=t.options||(t.options={});e.plugins=(0,r.v)(e.plugins,{}),e.scales=Ze(t,e)}function qe(t){return t=t||{},t.datasets=t.datasets||[],t.labels=t.labels||[],t}function Je(t){return t=t||{},t.data=qe(t.data),Ye(t),t}const Ge=new Map,Xe=new Set;function Ke(t,e){let n=Ge.get(t);return n||(n=e(),Ge.set(t,n),Xe.add(n)),n}const Qe=(t,e,n)=>{const i=(0,r.f)(e,n);void 0!==i&&t.add(i)};class tn{constructor(t){this._config=Je(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=qe(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Ye(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ke(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Ke(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Ke(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id,n=this.type;return Ke(`${n}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const n=this._scopeCache;let r=n.get(t);return r&&!e||(r=new Map,n.set(t,r)),r}getOptionScopes(t,e,n){const{options:i,type:o}=this,s=this._cachedScopes(t,n),a=s.get(e);if(a)return a;const c=new Set;e.forEach((e=>{t&&(c.add(t),e.forEach((e=>Qe(c,t,e)))),e.forEach((t=>Qe(c,i,t))),e.forEach((t=>Qe(c,r.a1[o]||{},t))),e.forEach((t=>Qe(c,r.d,t))),e.forEach((t=>Qe(c,r.a4,t)))}));const l=Array.from(c);return 0===l.length&&l.push(Object.create(null)),Xe.has(e)&&s.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,r.a1[e]||{},r.d.datasets[e]||{},{type:e},r.d,r.a4]}resolveNamedOptions(t,e,n,i=[""]){const o={$shared:!0},{resolver:s,subPrefixes:a}=en(this._resolverCache,t,i);let c=s;if(rn(s,e)){o.$shared=!1,n=(0,r.a5)(n)?n():n;const e=this.createResolver(t,n,a);c=(0,r.a6)(s,n,e)}for(const r of e)o[r]=c[r];return o}createResolver(t,e,n=[""],i){const{resolver:o}=en(this._resolverCache,t,n);return(0,r.i)(e)?(0,r.a6)(o,e,void 0,i):o}}function en(t,e,n){let i=t.get(e);i||(i=new Map,t.set(e,i));const o=n.join();let s=i.get(o);if(!s){const t=(0,r.a7)(e,n);s={resolver:t,subPrefixes:n.filter((t=>!t.toLowerCase().includes("hover")))},i.set(o,s)}return s}const nn=t=>(0,r.i)(t)&&Object.getOwnPropertyNames(t).reduce(((e,n)=>e||(0,r.a5)(t[n])),!1);function rn(t,e){const{isScriptable:n,isIndexable:i}=(0,r.a8)(t);for(const o of e){const e=n(o),s=i(o),a=(s||e)&&t[o];if(e&&((0,r.a5)(a)||nn(a))||s&&(0,r.b)(a))return!0}return!1}var on="3.7.1";const sn=["top","bottom","left","right","chartArea"];function an(t,e){return"top"===t||"bottom"===t||-1===sn.indexOf(t)&&"x"===e}function cn(t,e){return function(n,r){return n[t]===r[t]?n[e]-r[e]:n[t]-r[t]}}function ln(t){const e=t.chart,n=e.options.animation;e.notifyPlugins("afterRender"),(0,r.O)(n&&n.onComplete,[t],e)}function un(t){const e=t.chart,n=e.options.animation;(0,r.O)(n&&n.onProgress,[t],e)}function hn(t){return(0,r.K)()&&"string"===typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const fn={},dn=t=>{const e=hn(t);return Object.values(fn).filter((t=>t.canvas===e)).pop()};function pn(t,e,n){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=e){const o=t[i];delete t[i],(n>0||r>e)&&(t[r+n]=o)}}}function gn(t,e,n,r){return n&&"mouseout"!==t.type?r?e:t:null}class mn{constructor(t,e){const n=this.config=new tn(e),i=hn(t),s=dn(i);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas can be reused.");const a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||se(i)),this.platform.updateConfig(n);const c=this.platform.acquireContext(i,a.aspectRatio),l=c&&c.canvas,u=l&&l.height,h=l&&l.width;this.id=(0,r.aa)(),this.ctx=c,this.canvas=l,this.width=h,this.height=u,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Ie,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=(0,r.ab)((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],fn[this.id]=this,c&&l?(o.listen(this,"complete",ln),o.listen(this,"progress",un),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:n,height:i,_aspectRatio:o}=this;return(0,r.k)(t)?e&&o?o:i?n/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():(0,r.ac)(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return(0,r.ad)(this.canvas,this.ctx),this}stop(){return o.stop(this),this}resize(t,e){o.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const n=this.options,i=this.canvas,o=n.maintainAspectRatio&&this.aspectRatio,s=this.platform.getMaximumSize(i,t,e,o),a=n.devicePixelRatio||this.platform.getDevicePixelRatio(),c=this.width?"resize":"attach";this.width=s.width,this.height=s.height,this._aspectRatio=this.aspectRatio,(0,r.ac)(this,a,!0)&&(this.notifyPlugins("resize",{size:s}),(0,r.O)(n.onResize,[this,s],this),this.attached&&this._doResize(c)&&this.render())}ensureScalesHaveIDs(){const t=this.options,e=t.scales||{};(0,r.D)(e,((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,n=this.scales,i=Object.keys(n).reduce(((t,e)=>(t[e]=!1,t)),{});let o=[];e&&(o=o.concat(Object.keys(e).map((t=>{const n=e[t],r=Ve(t,n),i="r"===r,o="x"===r;return{options:n,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),(0,r.D)(o,(e=>{const o=e.options,s=o.id,a=Ve(s,o),c=(0,r.v)(o.type,e.dtype);void 0!==o.position&&an(o.position,a)===an(e.dposition)||(o.position=e.dposition),i[s]=!0;let l=null;if(s in n&&n[s].type===c)l=n[s];else{const t=Fe.getScale(c);l=new t({id:s,type:c,ctx:this.ctx,chart:this}),n[l.id]=l}l.init(o,t)})),(0,r.D)(i,((t,e)=>{t||delete n[e]})),(0,r.D)(n,(t=>{Rt.configure(this,t,t.options),Rt.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,n=t.length;if(t.sort(((t,e)=>t.index-e.index)),n>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,n)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let n,i;for(this._removeUnreferencedMetasets(),n=0,i=e.length;n{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const n=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let s=0;for(let r=0,l=this.data.datasets.length;r{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(cn("z","_idx"));const{_active:a,_lastEvent:c}=this;c?this._eventHandler(c,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){(0,r.D)(this.scales,(t=>{Rt.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),n=new Set(t.events);(0,r.ae)(e,n)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:n,start:r,count:i}of e){const e="_removeElements"===n?-i:i;pn(t,r,e)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,n=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),i=n(0);for(let o=1;ot.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Rt.update(this,this.width,this.height,t);const e=this.chartArea,n=e.width<=0||e.height<=0;this._layers=[],(0,r.D)(this.boxes,(t=>{n&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,n=t._clip,i=!n.disabled,o=this.chartArea,s={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",s)&&(i&&(0,r.W)(e,{left:!1===n.left?0:o.left-n.left,right:!1===n.right?this.width:o.right+n.right,top:!1===n.top?0:o.top-n.top,bottom:!1===n.bottom?this.height:o.bottom+n.bottom}),t.controller.draw(),i&&(0,r.Y)(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}getElementsAtEventForMode(t,e,n,r){const i=xt.modes[e];return"function"===typeof i?i(this,t,n,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],n=this._metasets;let r=n.filter((t=>t&&t._dataset===e)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||(this.$context=(0,r.h)(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const n=this.getDatasetMeta(t);return"boolean"===typeof n.hidden?!n.hidden:!e.hidden}setDatasetVisibility(t,e){const n=this.getDatasetMeta(t);n.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,n){const i=n?"show":"hide",o=this.getDatasetMeta(t),s=o.controller._resolveAnimations(void 0,i);(0,r.j)(e)?(o.data[e].hidden=!n,this.update()):(this.setDatasetVisibility(t,n),s.update(o,{visible:n}),this.update((e=>e.datasetIndex===t?i:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),o.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,n,r),t[n]=r},i=(t,e,n)=>{t.offsetX=e,t.offsetY=n,this._eventHandler(t)};(0,r.D)(this.options.events,(t=>n(t,i)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,n=(n,r)=>{e.addEventListener(this,n,r),t[n]=r},r=(n,r)=>{t[n]&&(e.removeEventListener(this,n,r),delete t[n])},i=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),n("resize",i),n("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),n("attach",s)},e.isAttached(this.canvas)?s():o()}unbindEvents(){(0,r.D)(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},(0,r.D)(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,n){const r=n?"set":"remove";let i,o,s,a;for("dataset"===e&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const n=this.getDatasetMeta(t);if(!n)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),i=!(0,r.af)(n,e);i&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,e))}notifyPlugins(t,e,n){return this._plugins.notify(this,t,e,n)}_updateHoverStyles(t,e,n){const r=this.options.hover,i=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=i(e,t),s=n?t:i(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,e){const n={event:t,replay:e,cancelable:!0,inChartArea:(0,r.z)(t,this.chartArea,this._minPadding)},i=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",n,i))return;const o=this._handleEvent(t,e,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,i),(o||n.changed)&&this.render(),this}_handleEvent(t,e,n){const{_active:i=[],options:o}=this,s=e,a=this._getActiveElements(t,i,n,s),c=(0,r.ag)(t),l=gn(t,this._lastEvent,n,c);n&&(this._lastEvent=null,(0,r.O)(o.onHover,[t,a,this],this),c&&(0,r.O)(o.onClick,[t,a,this],this));const u=!(0,r.af)(a,i);return(u||e)&&(this._active=a,this._updateHoverStyles(a,i,e)),this._lastEvent=l,u}_getActiveElements(t,e,n,r){if("mouseout"===t.type)return[];if(!n)return e;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const bn=()=>(0,r.D)(mn.instances,(t=>t._plugins.invalidate())),vn=!0;function yn(t,e,n){const{startAngle:i,pixelMargin:o,x:s,y:a,outerRadius:c,innerRadius:l}=e;let u=o/c;t.beginPath(),t.arc(s,a,c,i-u,n+u),l>o?(u=o/l,t.arc(s,a,l,n+u,i-u,!0)):t.arc(s,a,o,n+r.H,i-r.H),t.closePath(),t.clip()}function xn(t){return(0,r.ai)(t,["outerStart","outerEnd","innerStart","innerEnd"])}function _n(t,e,n,i){const o=xn(t.options.borderRadius),s=(n-e)/2,a=Math.min(s,i*e/2),c=t=>{const e=(n-Math.min(s,t))*i/2;return(0,r.w)(t,0,Math.min(s,e))};return{outerStart:c(o.outerStart),outerEnd:c(o.outerEnd),innerStart:(0,r.w)(o.innerStart,0,a),innerEnd:(0,r.w)(o.innerEnd,0,a)}}function wn(t,e,n,r){return{x:n+t*Math.cos(e),y:r+t*Math.sin(e)}}function kn(t,e,n,i,o){const{x:s,y:a,startAngle:c,pixelMargin:l,innerRadius:u}=e,h=Math.max(e.outerRadius+i+n-l,0),f=u>0?u+i+n+l:0;let d=0;const p=o-c;if(i){const t=u>0?u-i:0,e=h>0?h-i:0,n=(t+e)/2,r=0!==n?p*n/(n+i):p;d=(p-r)/2}const g=Math.max(.001,p*h-n/r.P)/h,m=(p-g)/2,b=c+m+d,v=o-m-d,{outerStart:y,outerEnd:x,innerStart:_,innerEnd:w}=_n(e,f,h,v-b),k=h-y,M=h-x,S=b+y/k,O=v-x/M,C=f+_,P=f+w,T=b+_/C,D=v-w/P;if(t.beginPath(),t.arc(s,a,h,S,O),x>0){const e=wn(M,O,s,a);t.arc(e.x,e.y,x,O,v+r.H)}const E=wn(P,v,s,a);if(t.lineTo(E.x,E.y),w>0){const e=wn(P,D,s,a);t.arc(e.x,e.y,w,v+r.H,D+Math.PI)}if(t.arc(s,a,f,v-w/f,b+_/f,!0),_>0){const e=wn(C,T,s,a);t.arc(e.x,e.y,_,T+Math.PI,b-r.H)}const j=wn(k,b,s,a);if(t.lineTo(j.x,j.y),y>0){const e=wn(k,S,s,a);t.arc(e.x,e.y,y,b-r.H,S)}t.closePath()}function Mn(t,e,n,i){const{fullCircles:o,startAngle:s,circumference:a}=e;let c=e.endAngle;if(o){kn(t,e,n,i,s+r.T);for(let e=0;e{Fe.add(...t),bn()}},unregister:{enumerable:vn,value:(...t)=>{Fe.remove(...t),bn()}}});class Cn extends ae{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,n){const i=this.getProps(["x","y"],n),{angle:o,distance:s}=(0,r.B)(i,{x:t,y:e}),{startAngle:a,endAngle:c,innerRadius:l,outerRadius:u,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=this.options.spacing/2,d=(0,r.v)(h,c-a),p=d>=r.T||(0,r.p)(o,a,c),g=(0,r.ah)(s,l+f,u+f);return p&&g}getCenterPoint(t){const{x:e,y:n,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:c}=this.options,l=(r+i)/2,u=(o+s+c+a)/2;return{x:e+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:n}=this,i=(e.offset||0)/2,o=(e.spacing||0)/2;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=n>r.T?Math.floor(n/r.T):0,0===n||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(i){s=i/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*s,Math.sin(e)*s),this.circumference>=r.P&&(s=i)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=Mn(t,this,s,o);On(t,this,s,o,a),t.restore()}}function Pn(t,e,n=e){t.lineCap=(0,r.v)(n.borderCapStyle,e.borderCapStyle),t.setLineDash((0,r.v)(n.borderDash,e.borderDash)),t.lineDashOffset=(0,r.v)(n.borderDashOffset,e.borderDashOffset),t.lineJoin=(0,r.v)(n.borderJoinStyle,e.borderJoinStyle),t.lineWidth=(0,r.v)(n.borderWidth,e.borderWidth),t.strokeStyle=(0,r.v)(n.borderColor,e.borderColor)}function Tn(t,e,n){t.lineTo(n.x,n.y)}function Dn(t){return t.stepped?r.ap:t.tension||"monotone"===t.cubicInterpolationMode?r.aq:Tn}function En(t,e,n={}){const r=t.length,{start:i=0,end:o=r-1}=n,{start:s,end:a}=e,c=Math.max(i,s),l=Math.min(o,a),u=ia&&o>a;return{count:r,start:c,loop:e.loop,ilen:l(s+(l?a-t:t))%o,y=()=>{d!==p&&(t.lineTo(m,p),t.lineTo(m,d),t.lineTo(m,g))};for(c&&(h=i[v(0)],t.moveTo(h.x,h.y)),u=0;u<=a;++u){if(h=i[v(u)],h.skip)continue;const e=h.x,n=h.y,r=0|e;r===f?(np&&(p=n),m=(b*m+e)/++b):(y(),t.lineTo(e,n),f=r,b=0,d=p=n),g=n}y()}function Ln(t){const e=t.options,n=e.borderDash&&e.borderDash.length,r=!t._decimated&&!t._loop&&!e.tension&&"monotone"!==e.cubicInterpolationMode&&!e.stepped&&!n;return r?An:jn}function Fn(t){return t.stepped?r.am:t.tension||"monotone"===t.cubicInterpolationMode?r.an:r.ao}function In(t,e,n,r){let i=e._path;i||(i=e._path=new Path2D,e.path(i,n,r)&&i.closePath()),Pn(t,e.options),t.stroke(i)}function Rn(t,e,n,r){const{segments:i,options:o}=e,s=Ln(e);for(const a of i)Pn(t,o,a.style),t.beginPath(),s(t,e,a,{start:n,end:n+r-1})&&t.closePath(),t.stroke()}Cn.id="arc",Cn.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},Cn.defaultRoutes={backgroundColor:"backgroundColor"};const Nn="function"===typeof Path2D;function Wn(t,e,n,r){Nn&&!e.options.segment?In(t,e,n,r):Rn(t,e,n,r)}class zn extends ae{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const i=n.spanGaps?this._loop:this._fullLoop;(0,r.aj)(this._points,n,t,i,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=(0,r.ak)(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,n=t.length;return n&&e[t[n-1].end]}interpolate(t,e){const n=this.options,i=t[e],o=this.points,s=(0,r.al)(this,{property:e,start:i,end:i});if(!s.length)return;const a=[],c=Fn(n);let l,u;for(l=0,u=s.length;l"borderDash"!==t&&"fill"!==t};class $n extends ae{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,n){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],n);return Math.pow(t-i,2)+Math.pow(e-o,2)=n)&&o):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function nr(t){const{scale:e={},fill:n}=t;let i,o=null;return"start"===n?o=e.bottom:"end"===n?o=e.top:(0,r.i)(n)?o=e.getPixelForValue(n.value):e.getBasePixel&&(o=e.getBasePixel()),(0,r.g)(o)?(i=e.isHorizontal(),{x:i?o:null,y:i?null:o}):null}class rr{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,n){const{x:i,y:o,radius:s}=this;return e=e||{start:0,end:r.T},t.arc(i,o,s,e.end,e.start,!0),!n.bounds}interpolate(t){const{x:e,y:n,radius:r}=this,i=t.angle;return{x:e+Math.cos(i)*r,y:n+Math.sin(i)*r,angle:i}}}function ir(t){const{scale:e,fill:n}=t,i=e.options,o=e.getLabels().length,s=[],a=i.reverse?e.max:e.min,c=i.reverse?e.min:e.max;let l,u,h;if(h="start"===n?a:"end"===n?c:(0,r.i)(n)?n.value:e.getBaseValue(),i.grid.circular)return u=e.getPointPositionForValue(0,a),new rr({x:u.x,y:u.y,radius:e.getDistanceFromCenterForValue(h)});for(l=0;lt;e--){const t=n[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ar(t,e){const{x:n=null,y:r=null}=t||{},i=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=sr(t,e,i);const s=i[t],a=i[e];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==n&&(o.push({x:n,y:s.y}),o.push({x:n,y:a.y}))})),o}function cr(t){const{scale:e,index:n,line:r}=t,i=[],o=r.segments,s=r.points,a=lr(e,n);a.push(dr({x:null,y:e.bottom},r));for(let c=0;c=0;--s){const e=i[s].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&kr(t.ctx,e,o))}},beforeDatasetsDraw(t,e,n){if("beforeDatasetsDraw"!==n.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let i=r.length-1;i>=0;--i){const e=r[i].$filler;e&&kr(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,e,n){const r=e.meta.$filler;r&&!1!==r.fill&&"beforeDatasetDraw"===n.drawTime&&kr(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Sr=(t,e)=>{let{boxHeight:n=e,boxWidth:r=e}=t;return t.usePointStyle&&(n=Math.min(n,e),r=Math.min(r,e)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(e,n)}},Or=(t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index;class Cr extends ae{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,n){this.maxWidth=t,this.maxHeight=e,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=(0,r.O)(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,n)=>t.sort(e,n,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const n=t.labels,i=(0,r.Z)(n.font),o=i.size,s=this._computeTitleHeight(),{boxWidth:a,itemHeight:c}=Sr(n,o);let l,u;e.font=i.string,this.isHorizontal()?(l=this.maxWidth,u=this._fitRows(s,o,a,c)+10):(u=this.maxHeight,l=this._fitCols(s,o,a,c)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,e,n,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+s;let u=t;i.textAlign="left",i.textBaseline="middle";let h=-1,f=-l;return this.legendItems.forEach(((t,d)=>{const p=n+e/2+i.measureText(t.text).width;(0===d||c[c.length-1]+p+2*s>o)&&(u+=l,c[c.length-(d>0?0:1)]=0,f+=l,h++),a[d]={left:0,top:f,row:h,width:p,height:r},c[c.length-1]+=p+s})),u}_fitCols(t,e,n,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],c=this.columnSizes=[],l=o-t;let u=s,h=0,f=0,d=0,p=0;return this.legendItems.forEach(((t,o)=>{const g=n+e/2+i.measureText(t.text).width;o>0&&f+r+2*s>l&&(u+=h+s,c.push({width:h,height:f}),d+=h+s,p++,h=f=0),a[o]={left:d,top:f,col:p,width:g,height:r},h=Math.max(h,g),f+=r+s})),u+=h,c.push({width:h,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:n,labels:{padding:i},rtl:o}}=this,s=(0,r.ax)(o,this.left,this.width);if(this.isHorizontal()){let o=0,a=(0,r.a0)(n,this.left+i,this.right-this.lineWidths[o]);for(const c of e)o!==c.row&&(o=c.row,a=(0,r.a0)(n,this.left+i,this.right-this.lineWidths[o])),c.top+=this.top+t+i,c.left=s.leftForLtr(s.x(a),c.width),a+=c.width+i}else{let o=0,a=(0,r.a0)(n,this.top+t+i,this.bottom-this.columnSizes[o].height);for(const c of e)c.col!==o&&(o=c.col,a=(0,r.a0)(n,this.top+t+i,this.bottom-this.columnSizes[o].height)),c.top=a,c.left+=this.left+i,c.left=s.leftForLtr(s.x(c.left),c.width),a+=c.height+i}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;(0,r.W)(t,this),this._draw(),(0,r.Y)(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:n,ctx:i}=this,{align:o,labels:s}=t,a=r.d.color,c=(0,r.ax)(t.rtl,this.left,this.width),l=(0,r.Z)(s.font),{color:u,padding:h}=s,f=l.size,d=f/2;let p;this.drawTitle(),i.textAlign=c.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=l.string;const{boxWidth:g,boxHeight:m,itemHeight:b}=Sr(s,f),v=function(t,e,n){if(isNaN(g)||g<=0||isNaN(m)||m<0)return;i.save();const o=(0,r.v)(n.lineWidth,1);if(i.fillStyle=(0,r.v)(n.fillStyle,a),i.lineCap=(0,r.v)(n.lineCap,"butt"),i.lineDashOffset=(0,r.v)(n.lineDashOffset,0),i.lineJoin=(0,r.v)(n.lineJoin,"miter"),i.lineWidth=o,i.strokeStyle=(0,r.v)(n.strokeStyle,a),i.setLineDash((0,r.v)(n.lineDash,[])),s.usePointStyle){const s={radius:g*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:o},a=c.xPlus(t,g/2),l=e+d;(0,r.ar)(i,s,a,l)}else{const s=e+Math.max((f-m)/2,0),a=c.leftForLtr(t,g),l=(0,r.au)(n.borderRadius);i.beginPath(),Object.values(l).some((t=>0!==t))?(0,r.as)(i,{x:a,y:s,w:g,h:m,radius:l}):i.rect(a,s,g,m),i.fill(),0!==o&&i.stroke()}i.restore()},y=function(t,e,n){(0,r.X)(i,n.text,t,e+b/2,l,{strikethrough:n.hidden,textAlign:c.textAlign(n.textAlign)})},x=this.isHorizontal(),_=this._computeTitleHeight();p=x?{x:(0,r.a0)(o,this.left+h,this.right-n[0]),y:this.top+h+_,line:0}:{x:this.left+h,y:(0,r.a0)(o,this.top+_+h,this.bottom-e[0].height),line:0},(0,r.ay)(this.ctx,t.textDirection);const w=b+h;this.legendItems.forEach(((a,l)=>{i.strokeStyle=a.fontColor||u,i.fillStyle=a.fontColor||u;const f=i.measureText(a.text).width,m=c.textAlign(a.textAlign||(a.textAlign=s.textAlign)),b=g+d+f;let k=p.x,M=p.y;c.setWidth(this.width),x?l>0&&k+b+h>this.right&&(M=p.y+=w,p.line++,k=p.x=(0,r.a0)(o,this.left+h,this.right-n[p.line])):l>0&&M+w>this.bottom&&(k=p.x=k+e[p.line].width+h,p.line++,M=p.y=(0,r.a0)(o,this.top+_+h,this.bottom-e[p.line].height));const S=c.x(k);v(S,M,a),k=(0,r.az)(m,k+g+d,x?k+b:this.right,t.rtl),y(c.x(k),M,a),x?p.x+=b+h:p.y+=w})),(0,r.aA)(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,n=(0,r.Z)(e.font),i=(0,r.C)(e.padding);if(!e.display)return;const o=(0,r.ax)(t.rtl,this.left,this.width),s=this.ctx,a=e.position,c=n.size/2,l=i.top+c;let u,h=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+l,h=(0,r.a0)(t.align,h,this.right-f);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);u=l+(0,r.a0)(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const d=(0,r.a0)(a,h,h+f);s.textAlign=o.textAlign((0,r.$)(a)),s.textBaseline="middle",s.strokeStyle=e.color,s.fillStyle=e.color,s.font=n.string,(0,r.X)(s,e.text,d,u,n)}_computeTitleHeight(){const t=this.options.title,e=(0,r.Z)(t.font),n=(0,r.C)(t.padding);return t.display?e.lineHeight+n.height:0}_getLegendItemAt(t,e){let n,i,o;if((0,r.ah)(t,this.left,this.right)&&(0,r.ah)(e,this.top,this.bottom))for(o=this.legendHitBoxes,n=0;nt.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:n,pointStyle:i,textAlign:o,color:s}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(n?0:void 0),c=(0,r.C)(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:s,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(c.width+c.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:o||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Dr extends ae{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const i=(0,r.b)(n.text)?n.text.length:1;this._padding=(0,r.C)(n.padding);const o=i*(0,r.Z)(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:n,bottom:i,right:o,options:s}=this,a=s.align;let c,l,u,h=0;return this.isHorizontal()?(l=(0,r.a0)(a,n,o),u=e+t,c=o-n):("left"===s.position?(l=n+t,u=(0,r.a0)(a,i,e),h=-.5*r.P):(l=o-t,u=(0,r.a0)(a,e,i),h=.5*r.P),c=i-e),{titleX:l,titleY:u,maxWidth:c,rotation:h}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const n=(0,r.Z)(e.font),i=n.lineHeight,o=i/2+this._padding.top,{titleX:s,titleY:a,maxWidth:c,rotation:l}=this._drawArgs(o);(0,r.X)(t,e.text,0,0,n,{color:e.color,maxWidth:c,rotation:l,textAlign:(0,r.$)(e.align),textBaseline:"middle",translation:[s,a]})}}function Er(t,e){const n=new Dr({ctx:t.ctx,options:e,chart:t});Rt.configure(t,n,e),Rt.addBox(t,n),t.titleBlock=n}var jr={id:"title",_element:Dr,start(t,e,n){Er(t,n)},stop(t){const e=t.titleBlock;Rt.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,n){const r=t.titleBlock;Rt.configure(t,r,n),r.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};new WeakMap;const Ar={average(t){if(!t.length)return!1;let e,n,r=0,i=0,o=0;for(e=0,n=t.length;e-1?t.split("\n"):t}function Ir(t,e){const{element:n,datasetIndex:r,index:i}=e,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Rr(t,e){const n=t.chart.ctx,{body:i,footer:o,title:s}=t,{boxWidth:a,boxHeight:c}=e,l=(0,r.Z)(e.bodyFont),u=(0,r.Z)(e.titleFont),h=(0,r.Z)(e.footerFont),f=s.length,d=o.length,p=i.length,g=(0,r.C)(e.padding);let m=g.height,b=0,v=i.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(v+=t.beforeBody.length+t.afterBody.length,f&&(m+=f*u.lineHeight+(f-1)*e.titleSpacing+e.titleMarginBottom),v){const t=e.displayColors?Math.max(c,l.lineHeight):l.lineHeight;m+=p*t+(v-p)*l.lineHeight+(v-1)*e.bodySpacing}d&&(m+=e.footerMarginTop+d*h.lineHeight+(d-1)*e.footerSpacing);let y=0;const x=function(t){b=Math.max(b,n.measureText(t).width+y)};return n.save(),n.font=u.string,(0,r.D)(t.title,x),n.font=l.string,(0,r.D)(t.beforeBody.concat(t.afterBody),x),y=e.displayColors?a+2+e.boxPadding:0,(0,r.D)(i,(t=>{(0,r.D)(t.before,x),(0,r.D)(t.lines,x),(0,r.D)(t.after,x)})),y=0,n.font=h.string,(0,r.D)(t.footer,x),n.restore(),b+=g.width,{width:b,height:m}}function Nr(t,e){const{y:n,height:r}=e;return nt.height-r/2?"bottom":"center"}function Wr(t,e,n,r){const{x:i,width:o}=r,s=n.caretSize+n.caretPadding;return"left"===t&&i+o+s>e.width||("right"===t&&i-o-s<0||void 0)}function zr(t,e,n,r){const{x:i,width:o}=n,{width:s,chartArea:{left:a,right:c}}=t;let l="center";return"center"===r?l=i<=(a+c)/2?"left":"right":i<=o/2?l="left":i>=s-o/2&&(l="right"),Wr(l,t,e,n)&&(l="center"),l}function Hr(t,e,n){const r=n.yAlign||e.yAlign||Nr(t,n);return{xAlign:n.xAlign||e.xAlign||zr(t,e,n,r),yAlign:r}}function $r(t,e){let{x:n,width:r}=t;return"right"===e?n-=r:"center"===e&&(n-=r/2),n}function Br(t,e,n){let{y:r,height:i}=t;return"top"===e?r+=n:r-="bottom"===e?i+n:i/2,r}function Ur(t,e,n,i){const{caretSize:o,caretPadding:s,cornerRadius:a}=t,{xAlign:c,yAlign:l}=n,u=o+s,{topLeft:h,topRight:f,bottomLeft:d,bottomRight:p}=(0,r.au)(a);let g=$r(e,c);const m=Br(e,l,u);return"center"===l?"left"===c?g+=u:"right"===c&&(g-=u):"left"===c?g-=Math.max(h,d)+o:"right"===c&&(g+=Math.max(f,p)+o),{x:(0,r.w)(g,0,i.width-e.width),y:(0,r.w)(m,0,i.height-e.height)}}function Vr(t,e,n){const i=(0,r.C)(n.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-i.right:t.x+i.left}function Zr(t){return Lr([],Fr(t))}function Yr(t,e,n){return(0,r.h)(t,{tooltip:e,tooltipItems:n,type:"tooltip"})}function qr(t,e){const n=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return n?t.override(n):t}class Jr extends ae{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,n=this.options.setContext(this.getContext()),r=n.enabled&&e.options.animation&&n.animations,i=new f(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=Yr(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:n}=e,r=n.beforeTitle.apply(this,[t]),i=n.title.apply(this,[t]),o=n.afterTitle.apply(this,[t]);let s=[];return s=Lr(s,Fr(r)),s=Lr(s,Fr(i)),s=Lr(s,Fr(o)),s}getBeforeBody(t,e){return Zr(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:n}=e,i=[];return(0,r.D)(t,(t=>{const e={before:[],lines:[],after:[]},r=qr(n,t);Lr(e.before,Fr(r.beforeLabel.call(this,t))),Lr(e.lines,r.label.call(this,t)),Lr(e.after,Fr(r.afterLabel.call(this,t))),i.push(e)})),i}getAfterBody(t,e){return Zr(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:n}=e,r=n.beforeFooter.apply(this,[t]),i=n.footer.apply(this,[t]),o=n.afterFooter.apply(this,[t]);let s=[];return s=Lr(s,Fr(r)),s=Lr(s,Fr(i)),s=Lr(s,Fr(o)),s}_createItems(t){const e=this._active,n=this.chart.data,i=[],o=[],s=[];let a,c,l=[];for(a=0,c=e.length;at.filter(e,r,i,n)))),t.itemSort&&(l=l.sort(((e,r)=>t.itemSort(e,r,n)))),(0,r.D)(l,(e=>{const n=qr(t.callbacks,e);i.push(n.labelColor.call(this,e)),o.push(n.labelPointStyle.call(this,e)),s.push(n.labelTextColor.call(this,e))})),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=s,this.dataPoints=l,l}update(t,e){const n=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=Ar[n.position].call(this,r,this._eventPosition);o=this._createItems(n),this.title=this.getTitle(o,n),this.beforeBody=this.getBeforeBody(o,n),this.body=this.getBody(o,n),this.afterBody=this.getAfterBody(o,n),this.footer=this.getFooter(o,n);const e=this._size=Rr(this,n),s=Object.assign({},t,e),a=Hr(this.chart,n,s),c=Ur(n,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:c.x,y:c.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,n,r){const i=this.getCaretPosition(t,n,r);e.lineTo(i.x1,i.y1),e.lineTo(i.x2,i.y2),e.lineTo(i.x3,i.y3)}getCaretPosition(t,e,n){const{xAlign:i,yAlign:o}=this,{caretSize:s,cornerRadius:a}=n,{topLeft:c,topRight:l,bottomLeft:u,bottomRight:h}=(0,r.au)(a),{x:f,y:d}=t,{width:p,height:g}=e;let m,b,v,y,x,_;return"center"===o?(x=d+g/2,"left"===i?(m=f,b=m-s,y=x+s,_=x-s):(m=f+p,b=m+s,y=x-s,_=x+s),v=m):(b="left"===i?f+Math.max(c,u)+s:"right"===i?f+p-Math.max(l,h)-s:this.caretX,"top"===o?(y=d,x=y-s,m=b-s,v=b+s):(y=d+g,x=y+s,m=b+s,v=b-s),_=y),{x1:m,x2:b,x3:v,y1:y,y2:x,y3:_}}drawTitle(t,e,n){const i=this.title,o=i.length;let s,a,c;if(o){const l=(0,r.ax)(n.rtl,this.x,this.width);for(t.x=Vr(this,n.titleAlign,n),e.textAlign=l.textAlign(n.titleAlign),e.textBaseline="middle",s=(0,r.Z)(n.titleFont),a=n.titleSpacing,e.fillStyle=n.titleColor,e.font=s.string,c=0;c0!==t))?(t.beginPath(),t.fillStyle=o.multiKeyBackground,(0,r.as)(t,{x:e,y:g,w:l,h:c,radius:a}),t.fill(),t.stroke(),t.fillStyle=s.backgroundColor,t.beginPath(),(0,r.as)(t,{x:n,y:g+1,w:l-2,h:c-2,radius:a}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(e,g,l,c),t.strokeRect(e,g,l,c),t.fillStyle=s.backgroundColor,t.fillRect(n,g+1,l-2,c-2))}t.fillStyle=this.labelTextColors[n]}drawBody(t,e,n){const{body:i}=this,{bodySpacing:o,bodyAlign:s,displayColors:a,boxHeight:c,boxWidth:l,boxPadding:u}=n,h=(0,r.Z)(n.bodyFont);let f=h.lineHeight,d=0;const p=(0,r.ax)(n.rtl,this.x,this.width),g=function(n){e.fillText(n,p.x(t.x+d),t.y+f/2),t.y+=f+o},m=p.textAlign(s);let b,v,y,x,_,w,k;for(e.textAlign=s,e.textBaseline="middle",e.font=h.string,t.x=Vr(this,m,n),e.fillStyle=n.bodyColor,(0,r.D)(this.beforeBody,g),d=a&&"right"!==m?"center"===s?l/2+u:l+2+u:0,x=0,w=i.length;x0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){const n=Ar[t.position].call(this,this._active,this._eventPosition);if(!n)return;const o=this._size=Rr(this,t),s=Object.assign({},n,this._size),a=Hr(e,t,s),c=Ur(t,s,a,e);r._to===c.x&&i._to===c.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}draw(t){const e=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(e);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const s=(0,r.C)(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=n,this.drawBackground(o,t,i,e),(0,r.ay)(t,e.textDirection),o.y+=s.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),(0,r.aA)(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const n=this._active,i=t.map((({datasetIndex:t,index:e})=>{const n=this.chart.getDatasetMeta(t);if(!n)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:n.data[e],index:e}})),o=!(0,r.af)(n,i),s=this._positionChanged(i,e);(o||s)&&(this._active=i,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,n=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],s=this._getActiveElements(t,o,e,n),a=this._positionChanged(s,t),c=e||!(0,r.af)(s,o)||a;return c&&(this._active=s,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),c}_getActiveElements(t,e,n,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return e;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,n);return i.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:n,caretY:r,options:i}=this,o=Ar[i.position].call(this,t,e);return!1!==o&&(n!==o.x||r!==o.y)}}Jr.positioners=Ar;var Gr={id:"tooltip",_element:Jr,positioners:Ar,afterInit(t,e,n){n&&(t.tooltip=new Jr({chart:t,options:n}))},beforeUpdate(t,e,n){t.tooltip&&t.tooltip.initialize(n)},reset(t,e,n){t.tooltip&&t.tooltip.initialize(n)},afterDraw(t){const e=t.tooltip,n={tooltip:e};!1!==t.notifyPlugins("beforeTooltipDraw",n)&&(e&&e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",n))},afterEvent(t,e){if(t.tooltip){const n=e.replay;t.tooltip.handleEvent(e.event,n,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:r.aB,title(t){if(t.length>0){const e=t[0],n=e.chart.data.labels,r=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(r>0&&e.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const Xr=(t,e,n,r)=>("string"===typeof e?(n=t.push(e)-1,r.unshift({index:n,label:e})):isNaN(e)&&(n=null),n);function Kr(t,e,n,r){const i=t.indexOf(e);if(-1===i)return Xr(t,e,n,r);const o=t.lastIndexOf(e);return i!==o?n:i}const Qr=(t,e)=>null===t?null:(0,r.w)(Math.round(t),0,e);class ti extends Te{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:n,label:r}of e)t[n]===r&&t.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if((0,r.k)(t))return null;const n=this.getLabels();return e=isFinite(e)&&n[e]===t?e:Kr(n,t,(0,r.v)(e,t),this._addedLabels),Qr(e,n.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:n,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(n=0),e||(r=this.getLabels().length-1)),this.min=n,this.max=r}buildTicks(){const t=this.min,e=this.max,n=this.options.offset,r=[];let i=this.getLabels();i=0===t&&e===i.length-1?i:i.slice(t,e+1),this._valueRange=Math.max(i.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let o=t;o<=e;o++)r.push({value:o});return r}getLabelForValue(t){const e=this.getLabels();return t>=0&&te.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function ei(t,e){const n=[],i=1e-14,{bounds:o,step:s,min:a,max:c,precision:l,count:u,maxTicks:h,maxDigits:f,includeBounds:d}=t,p=s||1,g=h-1,{min:m,max:b}=e,v=!(0,r.k)(a),y=!(0,r.k)(c),x=!(0,r.k)(u),_=(b-m)/(f+1);let w,k,M,S,O=(0,r.aE)((b-m)/g/p)*p;if(Og&&(O=(0,r.aE)(S*O/g/p)*p),(0,r.k)(l)||(w=Math.pow(10,l),O=Math.ceil(O*w)/w),"ticks"===o?(k=Math.floor(m/O)*O,M=Math.ceil(b/O)*O):(k=m,M=b),v&&y&&s&&(0,r.aF)((c-a)/s,O/1e3)?(S=Math.round(Math.min((c-a)/O,h)),O=(c-a)/S,k=a,M=c):x?(k=v?a:k,M=y?c:M,S=u-1,O=(M-k)/S):(S=(M-k)/O,S=(0,r.aG)(S,Math.round(S),O/1e3)?Math.round(S):Math.ceil(S));const C=Math.max((0,r.aH)(O),(0,r.aH)(k));w=Math.pow(10,(0,r.k)(l)?C:l),k=Math.round(k*w)/w,M=Math.round(M*w)/w;let P=0;for(v&&(d&&k!==a?(n.push({value:a}),ki=e?i:t,a=t=>o=n?o:t;if(t){const t=(0,r.s)(i),e=(0,r.s)(o);t<0&&e<0?a(0):t>0&&e>0&&s(0)}if(i===o){let e=1;(o>=Number.MAX_SAFE_INTEGER||i<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*o)),a(o+e),t||s(i-e)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:n,stepSize:r}=t;return r?(e=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),n=n||11),n&&(e=Math.min(n,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i={maxTicks:n,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},o=this._range||this,s=ei(i,o);return"ticks"===t.bounds&&(0,r.aD)(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,n=this.max;if(super.configure(),this.options.offset&&t.length){const r=(n-e)/Math.max(t.length-1,1)/2;e-=r,n+=r}this._startValue=e,this._endValue=n,this._valueRange=n-e}getLabelForValue(t){return(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}}class ii extends ri{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?t:0,this.max=(0,r.g)(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,n=(0,r.t)(this.options.ticks.minRotation),i=(t?Math.sin(n):Math.cos(n))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}function oi(t){const e=t/Math.pow(10,Math.floor((0,r.L)(t)));return 1===e}function si(t,e){const n=Math.floor((0,r.L)(e.max)),i=Math.ceil(e.max/Math.pow(10,n)),o=[];let s=(0,r.N)(t.min,Math.pow(10,Math.floor((0,r.L)(e.min)))),a=Math.floor((0,r.L)(s)),c=Math.floor(s/Math.pow(10,a)),l=a<0?Math.pow(10,Math.abs(a)):1;do{o.push({value:s,major:oi(s)}),++c,10===c&&(c=1,++a,l=a>=0?1:l),s=Math.round(c*Math.pow(10,a)*l)/l}while(a0?n:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=(0,r.g)(t)?Math.max(0,t):null,this.max=(0,r.g)(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let n=this.min,i=this.max;const o=e=>n=t?n:e,s=t=>i=e?i:t,a=(t,e)=>Math.pow(10,Math.floor((0,r.L)(t))+e);n===i&&(n<=0?(o(1),s(10)):(o(a(n,-1)),s(a(i,1)))),n<=0&&o(a(i,-1)),i<=0&&s(a(n,1)),this._zero&&this.min!==this._suggestedMin&&n===a(this.min,0)&&o(a(n,-1)),this.min=n,this.max=i}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},n=si(e,this);return"ticks"===t.bounds&&(0,r.aD)(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}getLabelForValue(t){return void 0===t?"0":(0,r.o)(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=(0,r.L)(t),this._valueRange=(0,r.L)(this.max)-(0,r.L)(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:((0,r.L)(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function ci(t){const e=t.ticks;if(e.display&&t.display){const t=(0,r.C)(e.backdropPadding);return(0,r.v)(e.font&&e.font.size,r.d.font.size)+t.height}return 0}function li(t,e,n){return n=(0,r.b)(n)?n:[n],{w:(0,r.aI)(t,e.string,n),h:n.length*e.lineHeight}}function ui(t,e,n,r,i){return t===r||t===i?{start:e-n/2,end:e+n/2}:ti?{start:e-n,end:e}:{start:e,end:e+n}}function hi(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},n=Object.assign({},e),i=[],o=[],s=t._pointLabels.length,a=t.options.pointLabels,c=a.centerPointLabels?r.P/s:0;for(let l=0;le.r&&(a=(r.end-e.r)/o,t.r=Math.max(t.r,e.r+a)),i.starte.b&&(c=(i.end-e.b)/s,t.b=Math.max(t.b,e.b+c))}function di(t,e,n){const i=[],o=t._pointLabels.length,s=t.options,a=ci(s)/2,c=t.drawingArea,l=s.pointLabels.centerPointLabels?r.P/o:0;for(let u=0;u270||n<90)&&(t-=e),t}function bi(t,e){const{ctx:n,options:{pointLabels:i}}=t;for(let o=e-1;o>=0;o--){const e=i.setContext(t.getPointLabelContext(o)),s=(0,r.Z)(e.font),{x:a,y:c,textAlign:l,left:u,top:h,right:f,bottom:d}=t._pointLabelItems[o],{backdropColor:p}=e;if(!(0,r.k)(p)){const t=(0,r.C)(e.backdropPadding);n.fillStyle=p,n.fillRect(u-t.left,h-t.top,f-u+t.width,d-h+t.height)}(0,r.X)(n,t._pointLabels[o],a,c+s.lineHeight/2,s,{color:e.color,textAlign:l,textBaseline:"middle"})}}function vi(t,e,n,i){const{ctx:o}=t;if(n)o.arc(t.xCenter,t.yCenter,e,0,r.T);else{let n=t.getPointPosition(0,e);o.moveTo(n.x,n.y);for(let r=1;r{const n=(0,r.O)(this.options.pointLabels.callback,[t,e],this);return n||0===n?n:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?hi(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,n,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,n,r))}getIndexAngle(t){const e=r.T/(this._pointLabels.length||1),n=this.options.startAngle||0;return(0,r.aw)(t*e+(0,r.t)(n))}getDistanceFromCenterForValue(t){if((0,r.k)(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if((0,r.k)(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(0!==e){s=this.getDistanceFromCenterForValue(t.value);const n=r.setContext(this.getContext(e-1));yi(this,n,s,i)}})),n.display){for(t.save(),o=i-1;o>=0;o--){const r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:c}=r;c&&i&&(t.lineWidth=c,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),a=this.getPointPosition(o,s),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(a.x,a.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,n=e.ticks;if(!n.display)return;const i=this.getIndexAngle(0);let o,s;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((i,a)=>{if(0===a&&!e.reverse)return;const c=n.setContext(this.getContext(a)),l=(0,r.Z)(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[a].value),c.showLabelBackdrop){t.font=l.string,s=t.measureText(i.label).width,t.fillStyle=c.backdropColor;const e=(0,r.C)(c.backdropPadding);t.fillRect(-s/2-e.left,-o-l.size/2-e.top,s+e.width,l.size+e.height)}(0,r.X)(t,i.label,0,-o,l,{color:c.color})})),t.restore()}drawTitle(){}}_i.id="radialLinear",_i.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ue.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}},_i.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},_i.descriptors={angleLines:{_fallback:"grid"}};const wi={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ki=Object.keys(wi);function Mi(t,e){return t-e}function Si(t,e){if((0,r.k)(e))return null;const n=t._adapter,{parser:i,round:o,isoWeekday:s}=t._parseOpts;let a=e;return"function"===typeof i&&(a=i(a)),(0,r.g)(a)||(a="string"===typeof i?n.parse(a,i):n.parse(a)),null===a?null:(o&&(a="week"!==o||!(0,r.q)(s)&&!0!==s?n.startOf(a,o):n.startOf(a,"isoWeek",s)),+a)}function Oi(t,e,n,r){const i=ki.length;for(let o=ki.indexOf(t);o=ki.indexOf(n);o--){const n=ki[o];if(wi[n].common&&t._adapter.diff(i,r,n)>=e-1)return n}return ki[n?ki.indexOf(n):0]}function Pi(t){for(let e=ki.indexOf(t)+1,n=ki.length;e=e?n[i]:n[o];t[s]=!0}}else t[e]=!0}function Di(t,e,n,r){const i=t._adapter,o=+i.startOf(e[0].value,r),s=e[e.length-1].value;let a,c;for(a=o;a<=s;a=+i.add(a,1,r))c=n[a],c>=0&&(e[c].major=!0);return e}function Ei(t,e,n){const r=[],i={},o=e.length;let s,a;for(s=0;s1e5*a)throw new Error(e+" and "+n+" are too far apart with stepSize of "+a+" "+s);const p="data"===i.ticks.source&&this.getDataTimestamps();for(h=d,f=0;ht-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,n=this.options.time;return n.tooltipFormat?e.format(t,n.tooltipFormat):e.format(t,n.displayFormats.datetime)}_tickFormatFunction(t,e,n,i){const o=this.options,s=o.time.displayFormats,a=this._unit,c=this._majorUnit,l=a&&s[a],u=c&&s[c],h=n[e],f=c&&u&&h&&h.major,d=this._adapter.format(t,i||(f?u:l)),p=o.ticks.callback;return p?(0,r.O)(p,[d,e,n],this):d}generateTickLabels(t){let e,n,r;for(e=0,n=t.length;e0?s:1}getDataTimestamps(){let t,e,n=this._cache.data||[];if(n.length)return n;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,e=r.length;t=t[c].pos&&e<=t[l].pos&&({lo:c,hi:l}=(0,r.x)(t,"pos",e)),({pos:i,time:s}=t[c]),({pos:o,time:a}=t[l])):(e>=t[c].time&&e<=t[l].time&&({lo:c,hi:l}=(0,r.x)(t,"time",e)),({time:i,pos:s}=t[c]),({time:o,pos:a}=t[l]));const u=o-i;return u?s+(a-s)*(e-i)/u:s}ji.id="time",ji.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Li extends ji{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ai(e,this.min),this._tableRange=Ai(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:n}=this,r=[],i=[];let o,s,a,c,l;for(o=0,s=t.length;o=e&&c<=n&&r.push(c);if(r.length<2)return[{time:e,pos:0},{time:n,pos:1}];for(o=0,s=r.length;oArray.prototype.slice.call(t));let o=!1,s=[];return function(...n){s=i(n),o||(o=!0,r.call(window,(()=>{o=!1,t.apply(e,s)})))}}function o(t,e){let n;return function(...r){return e?(clearTimeout(n),n=setTimeout(t,e,r)):t.apply(this,r),e}}const s=t=>"start"===t?"left":"end"===t?"right":"center",a=(t,e,n)=>"start"===t?e:"end"===t?n:(e+n)/2,c=(t,e,n,r)=>{const i=r?"left":"right";return t===i?n:"center"===t?(e+n)/2:e};function l(){}const u=function(){let t=0;return function(){return t++}}();function h(t){return null===t||"undefined"===typeof t}function f(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function d(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const p=t=>("number"===typeof t||t instanceof Number)&&isFinite(+t);function g(t,e){return p(t)?t:e}function m(t,e){return"undefined"===typeof t?e:t}const b=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,v=(t,e)=>"string"===typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function y(t,e,n){if(t&&"function"===typeof t.call)return t.apply(n,e)}function x(t,e,n,r){let i,o,s;if(f(t))if(o=t.length,r)for(i=o-1;i>=0;i--)e.call(n,t[i],i);else for(i=0;in)t=t[e.substr(n,r-n)],n=r+1,r=D(e,n);return t}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}const A=t=>"undefined"!==typeof t,L=t=>"function"===typeof t,F=(t,e)=>{if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0};function I(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const R=Math.PI,N=2*R,W=N+R,z=Number.POSITIVE_INFINITY,H=R/180,$=R/2,B=R/4,U=2*R/3,V=Math.log10,Z=Math.sign;function Y(t){const e=Math.round(t);t=G(t,e,t/1e3)?e:t;const n=Math.pow(10,Math.floor(V(t))),r=t/n,i=r<=1?1:r<=2?2:r<=5?5:10;return i*n}function q(t){const e=[],n=Math.sqrt(t);let r;for(r=1;rt-e)).pop(),e}function J(t){return!isNaN(parseFloat(t))&&isFinite(t)}function G(t,e,n){return Math.abs(t-e)=t}function K(t,e,n){let r,i,o;for(r=0,i=t.length;rc&&l=Math.min(e,n)-r&&t<=Math.max(e,n)+r}const ut=t=>0===t||1===t,ht=(t,e,n)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*N/n),ft=(t,e,n)=>Math.pow(2,-10*t)*Math.sin((t-e)*N/n)+1,dt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*$),easeOutSine:t=>Math.sin(t*$),easeInOutSine:t=>-.5*(Math.cos(R*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ut(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ut(t)?t:ht(t,.075,.3),easeOutElastic:t=>ut(t)?t:ft(t,.075,.3),easeInOutElastic(t){const e=.1125,n=.45;return ut(t)?t:t<.5?.5*ht(2*t,e,n):.5+.5*ft(2*t-1,e,n)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-dt.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,n=2.75;return t<1/n?e*t*t:t<2/n?e*(t-=1.5/n)*t+.75:t<2.5/n?e*(t-=2.25/n)*t+.9375:e*(t-=2.625/n)*t+.984375},easeInOutBounce:t=>t<.5?.5*dt.easeInBounce(2*t):.5*dt.easeOutBounce(2*t-1)+.5},pt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},gt="0123456789ABCDEF",mt=t=>gt[15&t],bt=t=>gt[(240&t)>>4]+gt[15&t],vt=t=>(240&t)>>4===(15&t);function yt(t){return vt(t.r)&&vt(t.g)&&vt(t.b)&&vt(t.a)}function xt(t){var e,n=t.length;return"#"===t[0]&&(4===n||5===n?e={r:255&17*pt[t[1]],g:255&17*pt[t[2]],b:255&17*pt[t[3]],a:5===n?17*pt[t[4]]:255}:7!==n&&9!==n||(e={r:pt[t[1]]<<4|pt[t[2]],g:pt[t[3]]<<4|pt[t[4]],b:pt[t[5]]<<4|pt[t[6]],a:9===n?pt[t[7]]<<4|pt[t[8]]:255})),e}function _t(t){var e=yt(t)?mt:bt;return t?"#"+e(t.r)+e(t.g)+e(t.b)+(t.a<255?e(t.a):""):t}function wt(t){return t+.5|0}const kt=(t,e,n)=>Math.max(Math.min(t,n),e);function Mt(t){return kt(wt(2.55*t),0,255)}function St(t){return kt(wt(255*t),0,255)}function Ot(t){return kt(wt(t/2.55)/100,0,1)}function Ct(t){return kt(wt(100*t),0,100)}const Pt=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Tt(t){const e=Pt.exec(t);let n,r,i,o=255;if(e){if(e[7]!==n){const t=+e[7];o=255&(e[8]?Mt(t):255*t)}return n=+e[1],r=+e[3],i=+e[5],n=255&(e[2]?Mt(n):n),r=255&(e[4]?Mt(r):r),i=255&(e[6]?Mt(i):i),{r:n,g:r,b:i,a:o}}}function Dt(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${Ot(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}const Et=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jt(t,e,n){const r=e*Math.min(n,1-n),i=(e,i=(e+t/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function At(t,e,n){const r=(r,i=(r+t/60)%6)=>n-n*e*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Lt(t,e,n){const r=jt(t,1,.5);let i;for(e+n>1&&(i=1/(e+n),e*=i,n*=i),i=0;i<3;i++)r[i]*=1-e-n,r[i]+=e;return r}function Ft(t){const e=255,n=t.r/e,r=t.g/e,i=t.b/e,o=Math.max(n,r,i),s=Math.min(n,r,i),a=(o+s)/2;let c,l,u;return o!==s&&(u=o-s,l=a>.5?u/(2-o-s):u/(o+s),c=o===n?(r-i)/u+(r>16&255,o>>8&255,255&o]}return t}let Yt;function qt(t){Yt||(Yt=Zt(),Yt.transparent=[0,0,0,0]);const e=Yt[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}function Jt(t,e,n){if(t){let r=Ft(t);r[e]=Math.max(0,Math.min(r[e]+r[e]*n,0===e?360:1)),r=Rt(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Gt(t,e){return t?Object.assign(e||{},t):t}function Xt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=St(t[3]))):(e=Gt(t,{r:0,g:0,b:0,a:1}),e.a=St(e.a)),e}function Kt(t){return"r"===t.charAt(0)?Tt(t):Ht(t)}class Qt{constructor(t){if(t instanceof Qt)return t;const e=typeof t;let n;"object"===e?n=Xt(t):"string"===e&&(n=xt(t)||qt(t)||Kt(t)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var t=Gt(this._rgb);return t&&(t.a=Ot(t.a)),t}set rgb(t){this._rgb=Xt(t)}rgbString(){return this._valid?Dt(this._rgb):this._rgb}hexString(){return this._valid?_t(this._rgb):this._rgb}hslString(){return this._valid?Bt(this._rgb):this._rgb}mix(t,e){const n=this;if(t){const r=n.rgb,i=t.rgb;let o;const s=e===o?.5:e,a=2*s-1,c=r.a-i.a,l=((a*c===-1?a:(a+c)/(1+a*c))+1)/2;o=1-l,r.r=255&l*r.r+o*i.r+.5,r.g=255&l*r.g+o*i.g+.5,r.b=255&l*r.b+o*i.b+.5,r.a=s*r.a+(1-s)*i.a,n.rgb=r}return n}clone(){return new Qt(this.rgb)}alpha(t){return this._rgb.a=St(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=wt(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Jt(this._rgb,2,t),this}darken(t){return Jt(this._rgb,2,-t),this}saturate(t){return Jt(this._rgb,1,t),this}desaturate(t){return Jt(this._rgb,1,-t),this}rotate(t){return $t(this._rgb,t),this}}function te(t){return new Qt(t)}const ee=t=>t instanceof CanvasGradient||t instanceof CanvasPattern;function ne(t){return ee(t)?t:te(t)}function re(t){return ee(t)?t:te(t).saturate(.5).darken(.1).hexString()}const ie=Object.create(null),oe=Object.create(null);function se(t,e){if(!e)return t;const n=e.split(".");for(let r=0,i=n.length;rt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>re(e.backgroundColor),this.hoverBorderColor=(t,e)=>re(e.borderColor),this.hoverColor=(t,e)=>re(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return ae(this,t,e)}get(t){return se(this,t)}describe(t,e){return ae(oe,t,e)}override(t,e){return ae(ie,t,e)}route(t,e,n,r){const i=se(this,t),o=se(this,n),s="_"+e;Object.defineProperties(i,{[s]:{value:i[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[s],e=o[r];return d(t)?Object.assign({},e,t):m(t,e)},set(t){this[s]=t}}})}}var le=new ce({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function ue(t){return!t||h(t.size)||h(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function he(t,e,n,r,i){let o=e[i];return o||(o=e[i]=t.measureText(i).width,n.push(i)),o>r&&(r=o),r}function fe(t,e,n,r){r=r||{};let i=r.data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==e&&(i=r.data={},o=r.garbageCollect=[],r.font=e),t.save(),t.font=e;let s=0;const a=n.length;let c,l,u,h,d;for(c=0;cn.length){for(c=0;c0&&t.stroke()}}function me(t,e,n){return n=n||.5,!e||t&&t.x>e.left-n&&t.xe.top-n&&t.y0&&""!==o.strokeColor;let c,l;for(t.save(),t.font=i.string,we(t,o),c=0;c+t||0;function Te(t,e){const n={},r=d(e),i=r?Object.keys(e):e,o=d(t)?r?n=>m(t[n],t[e[n]]):e=>t[e]:()=>t;for(const s of i)n[s]=Pe(o(s));return n}function De(t){return Te(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Ee(t){return Te(t,["topLeft","topRight","bottomLeft","bottomRight"])}function je(t){const e=De(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Ae(t,e){t=t||{},e=e||le.font;let n=m(t.size,e.size);"string"===typeof n&&(n=parseInt(n,10));let r=m(t.style,e.style);r&&!(""+r).match(Oe)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:m(t.family,e.family),lineHeight:Ce(m(t.lineHeight,e.lineHeight),n),size:n,style:r,weight:m(t.weight,e.weight),string:""};return i.string=ue(i),i}function Le(t,e,n,r){let i,o,s,a=!0;for(i=0,o=t.length;in&&0===t?0:t+e;return{min:s(r,-Math.abs(o)),max:s(i,o)}}function Ie(t,e){return Object.assign(Object.create(t),e)}function Re(t,e,n){n=n||(n=>t[n]1)r=o+i>>1,n(r)?o=r:i=r;return{lo:o,hi:i}}const Ne=(t,e,n)=>Re(t,n,(r=>t[r][e]Re(t,n,(r=>t[r][e]>=n));function ze(t,e,n){let r=0,i=t.length;while(rr&&t[i-1]>n)i--;return r>0||i{const n="_onData"+j(e),r=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const i=r.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"===typeof t[n]&&t[n](...e)})),i}})})))}function Be(t,e){const n=t._chartjs;if(!n)return;const r=n.listeners,i=r.indexOf(e);-1!==i&&r.splice(i,1),r.length>0||(He.forEach((e=>{delete t[e]})),delete t._chartjs)}function Ue(t){const e=new Set;let n,r;for(n=0,r=t.length;nt[0])){A(r)||(r=cn("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:n,_fallback:r,_getTarget:i,override:i=>Ve([i,...t],e,n,r)};return new Proxy(o,{deleteProperty(e,n){return delete e[n],delete e._keys,delete t[0][n],!0},get(n,r){return Ge(n,r,(()=>an(r,e,t,n)))},getOwnPropertyDescriptor(t,e){return Reflect.getOwnPropertyDescriptor(t._scopes[0],e)},getPrototypeOf(){return Reflect.getPrototypeOf(t[0])},has(t,e){return ln(t).includes(e)},ownKeys(t){return ln(t)},set(t,e,n){const r=t._storage||(t._storage=i());return t[e]=r[e]=n,delete t._keys,!0}})}function Ze(t,e,n,r){const i={_cacheable:!1,_proxy:t,_context:e,_subProxy:n,_stack:new Set,_descriptors:Ye(t,r),setContext:e=>Ze(t,e,n,r),override:i=>Ze(t.override(i),e,n,r)};return new Proxy(i,{deleteProperty(e,n){return delete e[n],delete t[n],!0},get(t,e,n){return Ge(t,e,(()=>Xe(t,e,n)))},getOwnPropertyDescriptor(e,n){return e._descriptors.allKeys?Reflect.has(t,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,n)},getPrototypeOf(){return Reflect.getPrototypeOf(t)},has(e,n){return Reflect.has(t,n)},ownKeys(){return Reflect.ownKeys(t)},set(e,n,r){return t[n]=r,delete e[n],!0}})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:n=e.scriptable,_indexable:r=e.indexable,_allKeys:i=e.allKeys}=t;return{allKeys:i,scriptable:n,indexable:r,isScriptable:L(n)?n:()=>n,isIndexable:L(r)?r:()=>r}}const qe=(t,e)=>t?t+j(e):e,Je=(t,e)=>d(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ge(t,e,n){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const r=n();return t[e]=r,r}function Xe(t,e,n){const{_proxy:r,_context:i,_subProxy:o,_descriptors:s}=t;let a=r[e];return L(a)&&s.isScriptable(e)&&(a=Ke(e,a,t,n)),f(a)&&a.length&&(a=Qe(e,a,t,s.isIndexable)),Je(e,a)&&(a=Ze(a,i,o&&o[e],s)),a}function Ke(t,e,n,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=n;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),e=e(o,s||r),a.delete(t),Je(t,e)&&(e=rn(i._scopes,i,t,e)),e}function Qe(t,e,n,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:a}=n;if(A(o.index)&&r(t))e=e[o.index%e.length];else if(d(e[0])){const n=e,r=i._scopes.filter((t=>t!==n));e=[];for(const c of n){const n=rn(r,i,t,c);e.push(Ze(n,o,s&&s[t],a))}}return e}function tn(t,e,n){return L(t)?t(e,n):t}const en=(t,e)=>!0===t?e:"string"===typeof t?E(e,t):void 0;function nn(t,e,n,r,i){for(const o of e){const e=en(n,o);if(e){t.add(e);const o=tn(e._fallback,n,i);if(A(o)&&o!==n&&o!==r)return o}else if(!1===e&&A(r)&&n!==r)return null}return!1}function rn(t,e,n,r){const i=e._rootScopes,o=tn(e._fallback,n,r),s=[...t,...i],a=new Set;a.add(r);let c=on(a,s,n,o||n,r);return null!==c&&((!A(o)||o===n||(c=on(a,s,o,c,r),null!==c))&&Ve(Array.from(a),[""],i,o,(()=>sn(e,n,r))))}function on(t,e,n,r,i){while(n)n=nn(t,e,n,r,i);return n}function sn(t,e,n){const r=t._getTarget();e in r||(r[e]={});const i=r[e];return f(i)&&d(n)?n:i}function an(t,e,n,r){let i;for(const o of e)if(i=cn(qe(o,t),n),A(i))return Je(t,i)?rn(n,r,t,i):i}function cn(t,e){for(const n of e){if(!n)continue;const e=n[t];if(A(e))return e}}function ln(t){let e=t._keys;return e||(e=t._keys=un(t._scopes)),e}function un(t){const e=new Set;for(const n of t)for(const t of Object.keys(n).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}const hn=Number.EPSILON||1e-14,fn=(t,e)=>e"x"===t?"y":"x";function pn(t,e,n,r){const i=t.skip?e:t,o=e,s=n.skip?e:n,a=rt(o,i),c=rt(s,o);let l=a/(a+c),u=c/(a+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;const h=r*l,f=r*u;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+f*(s.x-i.x),y:o.y+f*(s.y-i.y)}}}function gn(t,e,n){const r=t.length;let i,o,s,a,c,l=fn(t,0);for(let u=0;u!t.skip))),"monotone"===e.cubicInterpolationMode)bn(t,i);else{let n=r?t[t.length-1]:t[0];for(o=0,s=t.length;owindow.getComputedStyle(t,null);function Sn(t,e){return Mn(t).getPropertyValue(e)}const On=["top","right","bottom","left"];function Cn(t,e,n){const r={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=On[i];r[o]=parseFloat(t[e+"-"+o+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}const Pn=(t,e,n)=>(t>0||e>0)&&(!n||!n.shadowRoot);function Tn(t,e){const n=t.native||t,r=n.touches,i=r&&r.length?r[0]:n,{offsetX:o,offsetY:s}=i;let a,c,l=!1;if(Pn(o,s,n.target))a=o,c=s;else{const t=e.getBoundingClientRect();a=i.clientX-t.left,c=i.clientY-t.top,l=!0}return{x:a,y:c,box:l}}function Dn(t,e){const{canvas:n,currentDevicePixelRatio:r}=e,i=Mn(n),o="border-box"===i.boxSizing,s=Cn(i,"padding"),a=Cn(i,"border","width"),{x:c,y:l,box:u}=Tn(t,n),h=s.left+(u&&a.left),f=s.top+(u&&a.top);let{width:d,height:p}=e;return o&&(d-=s.width+a.width,p-=s.height+a.height),{x:Math.round((c-h)/d*n.width/r),y:Math.round((l-f)/p*n.height/r)}}function En(t,e,n){let r,i;if(void 0===e||void 0===n){const o=wn(t);if(o){const t=o.getBoundingClientRect(),s=Mn(o),a=Cn(s,"border","width"),c=Cn(s,"padding");e=t.width-c.width-a.width,n=t.height-c.height-a.height,r=kn(s.maxWidth,o,"clientWidth"),i=kn(s.maxHeight,o,"clientHeight")}else e=t.clientWidth,n=t.clientHeight}return{width:e,height:n,maxWidth:r||z,maxHeight:i||z}}const jn=t=>Math.round(10*t)/10;function An(t,e,n,r){const i=Mn(t),o=Cn(i,"margin"),s=kn(i.maxWidth,t,"clientWidth")||z,a=kn(i.maxHeight,t,"clientHeight")||z,c=En(t,e,n);let{width:l,height:u}=c;if("content-box"===i.boxSizing){const t=Cn(i,"border","width"),e=Cn(i,"padding");l-=e.width+t.width,u-=e.height+t.height}return l=Math.max(0,l-o.width),u=Math.max(0,r?Math.floor(l/r):u-o.height),l=jn(Math.min(l,s,c.maxWidth)),u=jn(Math.min(u,a,c.maxHeight)),l&&!u&&(u=jn(l/2)),{width:l,height:u}}function Ln(t,e,n){const r=e||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(n||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Fn=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return t}();function In(t,e){const n=Sn(t,e),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function Rn(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:t.y+n*(e.y-t.y)}}function Nn(t,e,n,r){return{x:t.x+n*(e.x-t.x),y:"middle"===r?n<.5?t.y:e.y:"after"===r?n<1?t.y:e.y:n>0?e.y:t.y}}function Wn(t,e,n,r){const i={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},s=Rn(t,i,n),a=Rn(i,o,n),c=Rn(o,e,n),l=Rn(s,a,n),u=Rn(a,c,n);return Rn(l,u,n)}const zn=new Map;function Hn(t,e){e=e||{};const n=t+JSON.stringify(e);let r=zn.get(n);return r||(r=new Intl.NumberFormat(t,e),zn.set(n,r)),r}function $n(t,e,n){return Hn(e,n).format(t)}const Bn=function(t,e){return{x(n){return t+t+e-n},setWidth(t){e=t},textAlign(t){return"center"===t?t:"right"===t?"left":"right"},xPlus(t,e){return t-e},leftForLtr(t,e){return t-e}}},Un=function(){return{x(t){return t},setWidth(t){},textAlign(t){return t},xPlus(t,e){return t+e},leftForLtr(t,e){return t}}};function Vn(t,e,n){return t?Bn(e,n):Un()}function Zn(t,e){let n,r;"ltr"!==e&&"rtl"!==e||(n=t.canvas.style,r=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",e,"important"),t.prevTextDirection=r)}function Yn(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function qn(t){return"angle"===t?{between:st,compare:it,normalize:ot}:{between:lt,compare:(t,e)=>t-e,normalize:t=>t}}function Jn({start:t,end:e,count:n,loop:r,style:i}){return{start:t%n,end:e%n,loop:r&&(e-t+1)%n===0,style:i}}function Gn(t,e,n){const{property:r,start:i,end:o}=n,{between:s,normalize:a}=qn(r),c=e.length;let l,u,{start:h,end:f,loop:d}=t;if(d){for(h+=c,f+=c,l=0,u=c;lc(i,b,g)&&0!==a(i,b),_=()=>0===a(o,g)||c(o,b,g),w=()=>v||x(),k=()=>!v||_();for(let M=u,S=u;M<=h;++M)m=e[M%s],m.skip||(g=l(m[r]),g!==b&&(v=c(g,i,o),null===y&&w()&&(y=0===a(g,i)?M:S),null!==y&&k()&&(p.push(Jn({start:y,end:M,loop:f,count:s,style:d})),y=null),S=M,b=g));return null!==y&&p.push(Jn({start:y,end:h,loop:f,count:s,style:d})),p}function Kn(t,e){const n=[],r=t.segments;for(let i=0;ii&&t[o%e].skip)o--;return o%=e,{start:i,end:o}}function tr(t,e,n,r){const i=t.length,o=[];let s,a=e,c=t[e];for(s=e+1;s<=n;++s){const n=t[s%i];n.skip||n.stop?c.skip||(r=!1,o.push({start:e%i,end:(s-1)%i,loop:r}),e=a=n.stop?s:null):(a=s,c.skip&&(e=s)),c=n}return null!==a&&o.push({start:e%i,end:a%i,loop:r}),o}function er(t,e){const n=t.points,r=t.options.spanGaps,i=n.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=Qn(n,i,o,r);if(!0===r)return nr(t,[{start:s,end:a,loop:o}],n,e);const c=an.right&&(r|=h),en.bottom&&(r|=f),r}function g(t,e){var n,r,i,o=t.x0,s=t.y0,a=t.x1,c=t.y1,l=p(o,s,e),g=p(a,c,e);while(1){if(!(l|g)||l&g)break;n=l||g,n&d?(r=o+(a-o)*(e.top-s)/(c-s),i=e.top):n&f?(r=o+(a-o)*(e.bottom-s)/(c-s),i=e.bottom):n&h?(i=s+(c-s)*(e.right-o)/(a-o),r=e.right):n&u&&(i=s+(c-s)*(e.left-o)/(a-o),r=e.left),n===l?(o=r,s=i,l=p(o,s,e)):(a=r,c=i,g=p(a,c,e))}return{x0:o,x1:a,y0:s,y1:c}}function m(t,e){var n,r,i=e.anchor,o=t;return e.clamp&&(o=g(o,e.area)),"start"===i?(n=o.x0,r=o.y0):"end"===i?(n=o.x1,r=o.y1):(n=(o.x0+o.x1)/2,r=(o.y0+o.y1)/2),c(n,r,t.vx,t.vy,e.align)}var b={arc:function(t,e){var n=(t.startAngle+t.endAngle)/2,r=Math.cos(n),i=Math.sin(n),o=t.innerRadius,s=t.outerRadius;return m({x0:t.x+r*o,y0:t.y+i*o,x1:t.x+r*s,y1:t.y+i*s,vx:r,vy:i},e)},point:function(t,e){var n=a(t,e.origin),r=n.x*t.options.radius,i=n.y*t.options.radius;return m({x0:t.x-r,y0:t.y-i,x1:t.x+r,y1:t.y+i,vx:n.x,vy:n.y},e)},bar:function(t,e){var n=a(t,e.origin),r=t.x,i=t.y,o=0,s=0;return t.horizontal?(r=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(i=Math.min(t.y,t.base),s=Math.abs(t.base-t.y)),m({x0:r,y0:i+s,x1:r+o,y1:i,vx:n.x,vy:n.y},e)},fallback:function(t,e){var n=a(t,e.origin);return m({x0:t.x,y0:t.y,x1:t.x,y1:t.y,vx:n.x,vy:n.y},e)}},v=s.rasterize;function y(t){var e=t.borderWidth||0,n=t.padding,r=t.size.height,i=t.size.width,o=-i/2,s=-r/2;return{frame:{x:o-n.left-e,y:s-n.top-e,w:i+n.width+2*e,h:r+n.height+2*e},text:{x:o,y:s,w:i,h:r}}}function x(t,e){var n=e.chart.getDatasetMeta(e.datasetIndex).vScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return t.horizontal?{x:r,y:null}:{x:null,y:r}}function _(t){return t instanceof i.qi?b.arc:t instanceof i.od?b.point:t instanceof i.ZL?b.bar:b.fallback}function w(t,e,n,r,i,o){var s=Math.PI/2;if(o){var a=Math.min(o,i/2,r/2),c=e+a,l=n+a,u=e+r-a,h=n+i-a;t.moveTo(e,l),c=0;--n)for(i=t[n].$layout,r=n-1;r>=0&&i._visible;--r)o=t[r].$layout,o._visible&&i._box.intersects(o._box)&&e(i,o);return t}function I(t){var e,n,r,i,o,s,a;for(e=0,n=t.length;et.getProps([e],!0)[e]}),o=r.geometry(),s=L(a,r.model(),o),i._box.update(s,o,r.rotation()));return F(t,(function(t,e){var n=t._hidable,r=e._hidable;n&&r||r?e._visible=!1:n&&(t._visible=!1)}))}(0,r.a2)(A.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,n){this._rotation=n,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this,n=1,r=e._rect;return t=D(t,e.center(),-e._rotation),!(t.xr.x+r.w+2*n||t.y>r.y+r.h+2*n)},intersects:function(t){var e,n,r,i=this._points(),o=t._points(),s=[j(i[0],i[1]),j(i[0],i[3])];for(this._rotation!==t._rotation&&s.push(j(o[0],o[1]),j(o[0],o[3])),e=0;e=0;--n)if(r=t[n].$layout,r&&r._visible&&r._box.contains(e))return t[n];return null},draw:function(t,e){var n,r,i,o,s,a;for(n=0,r=e.length;nu)if(a=c[u++],a!=a)return!0}else for(;l>u;u++)if((t||u in c)&&c[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},4326:function(t,e,n){var r=n(1702),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},648:function(t,e,n){var r=n(7854),i=n(1694),o=n(614),s=n(4326),a=n(5112),c=a("toStringTag"),l=r.Object,u="Arguments"==s(function(){return arguments}()),h=function(t,e){try{return t[e]}catch(n){}};t.exports=i?s:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=h(e=l(t),c))?n:u?s(e):"Object"==(r=s(e))&&o(e.callee)?"Arguments":r}},7741:function(t,e,n){var r=n(1702),i=r("".replace),o=function(t){return String(Error(t).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,a=s.test(o);t.exports=function(t,e){if(a&&"string"==typeof t)while(e--)t=i(t,s,"");return t}},9920:function(t,e,n){var r=n(2597),i=n(3887),o=n(1236),s=n(3070);t.exports=function(t,e,n){for(var a=i(e),c=s.f,l=o.f,u=0;u0&&r[0]<4?1:+(r[0]+r[1])),!i&&s&&(r=s.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2914:function(t,e,n){var r=n(7293),i=n(9114);t.exports=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)}))},2109:function(t,e,n){var r=n(7854),i=n(1236).f,o=n(8880),s=n(1320),a=n(3505),c=n(9920),l=n(4705);t.exports=function(t,e){var n,u,h,f,d,p,g=t.target,m=t.global,b=t.stat;if(u=m?r:b?r[g]||a(g,{}):(r[g]||{}).prototype,u)for(h in e){if(d=e[h],t.noTargetGet?(p=i(u,h),f=p&&p.value):f=u[h],n=l(m?h:g+(b?".":"#")+h,t.forced),!n&&void 0!==f){if(typeof d==typeof f)continue;c(d,f)}(t.sham||f&&f.sham)&&o(d,"sham",!0),s(u,h,d,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},2104:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.apply,s=i.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?s.bind(o):function(){return s.apply(o,arguments)})},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var r=n(9781),i=n(2597),o=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,a=i(o,"name"),c=a&&"something"===function(){}.name,l=a&&(!r||r&&s(o,"name").configurable);t.exports={EXISTS:a,PROPER:c,CONFIGURABLE:l}},1702:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.bind,s=i.call,a=r&&o.bind(s,s);t.exports=r?function(t){return t&&a(t)}:function(t){return t&&function(){return s.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),i=n(614),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662);t.exports=function(t,e){var n=t[e];return null==n?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),i=n(7908),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),i=n(7293),o=n(317);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(7854),i=n(1702),o=n(7293),s=n(4326),a=r.Object,c=i("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==s(t)?c(t,""):a(t)}:a},9587:function(t,e,n){var r=n(614),i=n(111),o=n(7674);t.exports=function(t,e,n){var s,a;return o&&r(s=e.constructor)&&s!==n&&i(a=s.prototype)&&a!==n.prototype&&o(t,a),t}},2788:function(t,e,n){var r=n(1702),i=n(614),o=n(5465),s=r(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return s(t)}),t.exports=o.inspectSource},8340:function(t,e,n){var r=n(111),i=n(8880);t.exports=function(t,e){r(e)&&"cause"in e&&i(t,"cause",e.cause)}},9909:function(t,e,n){var r,i,o,s=n(8536),a=n(7854),c=n(1702),l=n(111),u=n(8880),h=n(2597),f=n(5465),d=n(6200),p=n(3501),g="Object already initialized",m=a.TypeError,b=a.WeakMap,v=function(t){return o(t)?i(t):r(t,{})},y=function(t){return function(e){var n;if(!l(e)||(n=i(e)).type!==t)throw m("Incompatible receiver, "+t+" required");return n}};if(s||f.state){var x=f.state||(f.state=new b),_=c(x.get),w=c(x.has),k=c(x.set);r=function(t,e){if(w(x,t))throw new m(g);return e.facade=t,k(x,t,e),e},i=function(t){return _(x,t)||{}},o=function(t){return w(x,t)}}else{var M=d("state");p[M]=!0,r=function(t,e){if(h(t,M))throw new m(g);return e.facade=t,u(t,M,e),e},i=function(t){return h(t,M)?t[M]:{}},o=function(t){return h(t,M)}}t.exports={set:r,get:i,has:o,enforce:v,getterFor:y}},614:function(t){t.exports=function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),i=n(614),o=/#|\.prototype\./,s=function(t,e){var n=c[a(t)];return n==u||n!=l&&(i(e)?r(e):!!e)},a=s.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=s.data={},l=s.NATIVE="N",u=s.POLYFILL="P";t.exports=s},111:function(t,e,n){var r=n(614);t.exports=function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(7854),i=n(5005),o=n(614),s=n(7976),a=n(3307),c=r.Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=i("Symbol");return o(e)&&s(e.prototype,c(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},133:function(t,e,n){var r=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:function(t,e,n){var r=n(7854),i=n(614),o=n(2788),s=r.WeakMap;t.exports=i(s)&&/native code/.test(o(s))},6277:function(t,e,n){var r=n(1340);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:r(t)}},3070:function(t,e,n){var r=n(7854),i=n(9781),o=n(4664),s=n(3353),a=n(9670),c=n(4948),l=r.TypeError,u=Object.defineProperty,h=Object.getOwnPropertyDescriptor,f="enumerable",d="configurable",p="writable";e.f=i?s?function(t,e,n){if(a(t),e=c(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&p in n&&!n[p]){var r=h(t,e);r&&r[p]&&(t[e]=n.value,n={configurable:d in n?n[d]:r[d],enumerable:f in n?n[f]:r[f],writable:!1})}return u(t,e,n)}:u:function(t,e,n){if(a(t),e=c(e),a(n),o)try{return u(t,e,n)}catch(r){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),i=n(6916),o=n(5296),s=n(9114),a=n(5656),c=n(4948),l=n(2597),u=n(4664),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=a(t),e=c(e),u)try{return h(t,e)}catch(n){}if(l(t,e))return s(!i(o.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),i=n(748),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),i=n(2597),o=n(5656),s=n(1318).indexOf,a=n(3501),c=r([].push);t.exports=function(t,e){var n,r=o(t),l=0,u=[];for(n in r)!i(a,n)&&i(r,n)&&c(u,n);while(e.length>l)i(r,n=e[l++])&&(~s(u,n)||c(u,n));return u}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);e.f=i?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},7674:function(t,e,n){var r=n(1702),i=n(9670),o=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(n,[]),e=n instanceof Array}catch(s){}return function(n,r){return i(n),o(r),e?t(n,r):n.__proto__=r,n}}():void 0)},2140:function(t,e,n){var r=n(7854),i=n(6916),o=n(614),s=n(111),a=r.TypeError;t.exports=function(t,e){var n,r;if("string"===e&&o(n=t.toString)&&!s(r=i(n,t)))return r;if(o(n=t.valueOf)&&!s(r=i(n,t)))return r;if("string"!==e&&o(n=t.toString)&&!s(r=i(n,t)))return r;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),i=n(1702),o=n(8006),s=n(5181),a=n(9670),c=i([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=s.f;return n?c(e,n(t)):e}},1320:function(t,e,n){var r=n(7854),i=n(614),o=n(2597),s=n(8880),a=n(3505),c=n(2788),l=n(9909),u=n(6530).CONFIGURABLE,h=l.get,f=l.enforce,d=String(String).split("String");(t.exports=function(t,e,n,c){var l,h=!!c&&!!c.unsafe,p=!!c&&!!c.enumerable,g=!!c&&!!c.noTargetGet,m=c&&void 0!==c.name?c.name:e;i(n)&&("Symbol("===String(m).slice(0,7)&&(m="["+String(m).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!o(n,"name")||u&&n.name!==m)&&s(n,"name",m),l=f(n),l.source||(l.source=d.join("string"==typeof m?m:""))),t!==r?(h?!g&&t[e]&&(p=!0):delete t[e],p?t[e]=n:s(t,e,n)):p?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return i(this)&&h(this).source||c(this)}))},4488:function(t,e,n){var r=n(7854),i=r.TypeError;t.exports=function(t){if(void 0==t)throw i("Can't call method on "+t);return t}},3505:function(t,e,n){var r=n(7854),i=Object.defineProperty;t.exports=function(t,e){try{i(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},6200:function(t,e,n){var r=n(2309),i=n(9711),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},5465:function(t,e,n){var r=n(7854),i=n(3505),o="__core-js_shared__",s=r[o]||i(o,{});t.exports=s},2309:function(t,e,n){var r=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.21.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE",source:"https://github.com/zloirock/core-js"})},1400:function(t,e,n){var r=n(9303),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},5656:function(t,e,n){var r=n(8361),i=n(4488);t.exports=function(t){return r(i(t))}},9303:function(t){var e=Math.ceil,n=Math.floor;t.exports=function(t){var r=+t;return r!==r||0===r?0:(r>0?n:e)(r)}},7466:function(t,e,n){var r=n(9303),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(7854),i=n(4488),o=r.Object;t.exports=function(t){return o(i(t))}},7593:function(t,e,n){var r=n(7854),i=n(6916),o=n(111),s=n(2190),a=n(8173),c=n(2140),l=n(5112),u=r.TypeError,h=l("toPrimitive");t.exports=function(t,e){if(!o(t)||s(t))return t;var n,r=a(t,h);if(r){if(void 0===e&&(e="default"),n=i(r,t,e),!o(n)||s(n))return n;throw u("Can't convert object to primitive value")}return void 0===e&&(e="number"),c(t,e)}},4948:function(t,e,n){var r=n(7593),i=n(2190);t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},1694:function(t,e,n){var r=n(5112),i=r("toStringTag"),o={};o[i]="z",t.exports="[object z]"===String(o)},1340:function(t,e,n){var r=n(7854),i=n(648),o=r.String;t.exports=function(t){if("Symbol"===i(t))throw TypeError("Cannot convert a Symbol value to a string");return o(t)}},6330:function(t,e,n){var r=n(7854),i=r.String;t.exports=function(t){try{return i(t)}catch(e){return"Object"}}},9711:function(t,e,n){var r=n(1702),i=0,o=Math.random(),s=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++i+o,36)}},3307:function(t,e,n){var r=n(133);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),i=n(7293);t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},5112:function(t,e,n){var r=n(7854),i=n(2309),o=n(2597),s=n(9711),a=n(133),c=n(3307),l=i("wks"),u=r.Symbol,h=u&&u["for"],f=c?u:u&&u.withoutSetter||s;t.exports=function(t){if(!o(l,t)||!a&&"string"!=typeof l[t]){var e="Symbol."+t;a&&o(u,t)?l[t]=u[t]:l[t]=c&&h?h(e):f(e)}return l[t]}},9191:function(t,e,n){"use strict";var r=n(5005),i=n(2597),o=n(8880),s=n(7976),a=n(7674),c=n(9920),l=n(9587),u=n(6277),h=n(8340),f=n(7741),d=n(2914),p=n(1913);t.exports=function(t,e,n,g){var m=g?2:1,b=t.split("."),v=b[b.length-1],y=r.apply(null,b);if(y){var x=y.prototype;if(!p&&i(x,"cause")&&delete x.cause,!n)return y;var _=r("Error"),w=e((function(t,e){var n=u(g?e:t,void 0),r=g?new y(t):new y;return void 0!==n&&o(r,"message",n),d&&o(r,"stack",f(r.stack,2)),this&&s(x,this)&&l(r,this,w),arguments.length>m&&h(r,arguments[m]),r}));if(w.prototype=x,"Error"!==v&&(a?a(w,_):c(w,_,{name:!0})),c(w,y),!p)try{x.name!==v&&o(x,"name",v),x.constructor=w}catch(k){}return w}}},1703:function(t,e,n){var r=n(2109),i=n(7854),o=n(2104),s=n(9191),a="WebAssembly",c=i[a],l=7!==Error("e",{cause:7}).cause,u=function(t,e){var n={};n[t]=s(t,e,l),r({global:!0,forced:l},n)},h=function(t,e){if(c&&c[t]){var n={};n[t]=s(a+"."+t,e,l),r({target:a,stat:!0,forced:l},n)}};u("Error",(function(t){return function(e){return o(t,this,arguments)}})),u("EvalError",(function(t){return function(e){return o(t,this,arguments)}})),u("RangeError",(function(t){return function(e){return o(t,this,arguments)}})),u("ReferenceError",(function(t){return function(e){return o(t,this,arguments)}})),u("SyntaxError",(function(t){return function(e){return o(t,this,arguments)}})),u("TypeError",(function(t){return function(e){return o(t,this,arguments)}})),u("URIError",(function(t){return function(e){return o(t,this,arguments)}})),h("CompileError",(function(t){return function(e){return o(t,this,arguments)}})),h("LinkError",(function(t){return function(e){return o(t,this,arguments)}})),h("RuntimeError",(function(t){return function(e){return o(t,this,arguments)}}))},7244:function(t,e,n){"use strict";function r(t,e){var n=c(e);return n.formatToParts?o(n,t):s(n,t)}n.d(e,{Z:function(){return z}});var i={year:0,month:1,day:2,hour:3,minute:4,second:5};function o(t,e){for(var n=t.formatToParts(e),r=[],o=0;o=0&&(r[s]=parseInt(n[o].value,10))}return r}function s(t,e){var n=t.format(e).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 a={};function c(t){if(!a[t]){var e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===e||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===e;a[t]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return a[t]}var l=36e5,u=6e4,h={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-])(\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function f(t,e,n){var r,i,o;if(""===t)return 0;if(r=h.timezoneZ.exec(t),r)return 0;if(r=h.timezoneHH.exec(t),r)return o=parseInt(r[2],10),m(o)?(i=o*l,"+"===r[1]?-i:i):NaN;if(r=h.timezoneHHMM.exec(t),r){o=parseInt(r[2],10);var s=parseInt(r[3],10);return m(o,s)?(i=o*l+s*u,"+"===r[1]?-i:i):NaN}if(v(t)){e=new Date(e||Date.now());var a=n?e:d(e),c=p(a,t),f=n?c:g(e,c,t);return-f}return NaN}function d(t){return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))}function p(t,e){var n=r(t,e),i=Date.UTC(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5]),o=t.getTime(),s=o%1e3;return o-=s>=0?s:1e3+s,i-o}function g(t,e,n){var r=t.getTime(),i=r-e,o=p(new Date(i),n);if(e===o)return e;i-=o-e;var s=p(new Date(i),n);return o===s?o:Math.max(o,s)}function m(t,e){return!(null!=e&&(e<0||e>59))}var b={};function v(t){if(b[t])return!0;try{return Intl.DateTimeFormat(void 0,{timeZone:t}),b[t]=!0,!0}catch(e){return!1}}var y=n(3946),x=n(4262),_=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,w=_,k=36e5,M=6e4,S=2,O={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:w};function C(t,e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===t)return new Date(NaN);var n=e||{},r=null==n.additionalDigits?S:(0,y.Z)(n.additionalDigits);if(2!==r&&1!==r&&0!==r)throw new RangeError("additionalDigits must be 0, 1 or 2");if(t instanceof Date||"object"===typeof t&&"[object Date]"===Object.prototype.toString.call(t))return new Date(t.getTime());if("number"===typeof t||"[object Number]"===Object.prototype.toString.call(t))return new Date(t);if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var i=P(t),o=T(i.date,r),s=o.year,a=o.restDateString,c=D(a,s);if(isNaN(c))return new Date(NaN);if(c){var l,u=c.getTime(),h=0;if(i.time&&(h=E(i.time),isNaN(h)))return new Date(NaN);if(i.timeZone||n.timeZone){if(l=f(i.timeZone||n.timeZone,new Date(u+h)),isNaN(l))return new Date(NaN)}else l=(0,x.Z)(new Date(u+h)),l=(0,x.Z)(new Date(u+h+l));return new Date(u+h+l)}return new Date(NaN)}function P(t){var e,n={},r=O.dateTimePattern.exec(t);if(r?(n.date=r[1],e=r[3]):(r=O.datePattern.exec(t),r?(n.date=r[1],e=r[2]):(n.date=null,e=t)),e){var i=O.timeZone.exec(e);i?(n.time=e.replace(i[1],""),n.timeZone=i[1].trim()):n.time=e}return n}function T(t,e){var n,r=O.YYY[e],i=O.YYYYY[e];if(n=O.YYYY.exec(t)||i.exec(t),n){var o=n[1];return{year:parseInt(o,10),restDateString:t.slice(o.length)}}if(n=O.YY.exec(t)||r.exec(t),n){var s=n[1];return{year:100*parseInt(s,10),restDateString:t.slice(s.length)}}return{year:null}}function D(t,e){if(null===e)return null;var n,r,i,o;if(0===t.length)return r=new Date(0),r.setUTCFullYear(e),r;if(n=O.MM.exec(t),n)return r=new Date(0),i=parseInt(n[1],10)-1,I(e,i)?(r.setUTCFullYear(e,i),r):new Date(NaN);if(n=O.DDD.exec(t),n){r=new Date(0);var s=parseInt(n[1],10);return R(e,s)?(r.setUTCFullYear(e,0,s),r):new Date(NaN)}if(n=O.MMDD.exec(t),n){r=new Date(0),i=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return I(e,i,a)?(r.setUTCFullYear(e,i,a),r):new Date(NaN)}if(n=O.Www.exec(t),n)return o=parseInt(n[1],10)-1,N(e,o)?j(e,o):new Date(NaN);if(n=O.WwwD.exec(t),n){o=parseInt(n[1],10)-1;var c=parseInt(n[2],10)-1;return N(e,o,c)?j(e,o,c):new Date(NaN)}return null}function E(t){var e,n,r;if(e=O.HH.exec(t),e)return n=parseFloat(e[1].replace(",",".")),W(n)?n%24*k:NaN;if(e=O.HHMM.exec(t),e)return n=parseInt(e[1],10),r=parseFloat(e[2].replace(",",".")),W(n,r)?n%24*k+r*M:NaN;if(e=O.HHMMSS.exec(t),e){n=parseInt(e[1],10),r=parseInt(e[2],10);var i=parseFloat(e[3].replace(",","."));return W(n,r,i)?n%24*k+r*M+1e3*i:NaN}return null}function j(t,e,n){e=e||0,n=n||0;var r=new Date(0);r.setUTCFullYear(t,0,4);var i=r.getUTCDay()||7,o=7*e+n+1-i;return r.setUTCDate(r.getUTCDate()+o),r}var A=[31,28,31,30,31,30,31,31,30,31,30,31],L=[31,29,31,30,31,30,31,31,30,31,30,31];function F(t){return t%400===0||t%4===0&&t%100!==0}function I(t,e,n){if(e<0||e>11)return!1;if(null!=n){if(n<1)return!1;var r=F(t);if(r&&n>L[e])return!1;if(!r&&n>A[e])return!1}return!0}function R(t,e){if(e<1)return!1;var n=F(t);return!(n&&e>366)&&!(!n&&e>365)}function N(t,e,n){return!(e<0||e>52)&&(null==n||!(n<0||n>6))}function W(t,e,n){return(null==t||!(t<0||t>=25))&&((null==e||!(e<0||e>=60))&&(null==n||!(n<0||n>=60)))}function z(t,e,n){var r=C(t,n),i=f(e,r,!0),o=new Date(r.getTime()-i);return new Date(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds(),o.getUTCMilliseconds())}},4262:function(t,e,n){"use strict";function r(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}n.d(e,{Z:function(){return r}})},3882:function(t,e,n){"use strict";function r(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}n.d(e,{Z:function(){return r}})},3946:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,{Z:function(){return r}})},7349:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(9013),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),s=(0,r.Z)(e);return isNaN(s)?new Date(NaN):s?(n.setDate(n.getDate()+s),n):n}},1640:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(9013),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),s=(0,r.Z)(e);if(isNaN(s))return new Date(NaN);if(!s)return n;var a=n.getDate(),c=new Date(n.getTime());c.setMonth(n.getMonth()+s+1,0);var l=c.getDate();return a>=l?c:(n.setFullYear(c.getFullYear(),c.getMonth(),a),n)}},3500:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(7349),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e),s=7*n;return(0,i.Z)(t,s)}},1593:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(3946),i=n(1640),o=n(3882);function s(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e);return(0,i.Z)(t,12*n)}},4135:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t),n=e.getMonth();return e.setFullYear(e.getFullYear(),n+1,0),e.setHours(23,59,59,999),e}},7090:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882);function s(t,e){(0,o.Z)(1,arguments);var n=e||{},s=n.locale,a=s&&s.options&&s.options.weekStartsOn,c=null==a?0:(0,i.Z)(a),l=null==n.weekStartsOn?c:(0,i.Z)(n.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=(0,r.Z)(t),h=u.getDay(),f=6+(h=s.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}function g(t){(0,r.Z)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var i=d(n);return i}var m=6048e5;function b(t){(0,r.Z)(1,arguments);var e=(0,o.Z)(t),n=d(e).getTime()-g(e).getTime();return Math.round(n/m)+1}function v(t,e){(0,r.Z)(1,arguments);var n=e||{},i=n.locale,s=i&&i.options&&i.options.weekStartsOn,a=null==s?0:(0,c.Z)(s),l=null==n.weekStartsOn?a:(0,c.Z)(n.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=(0,o.Z)(t),h=u.getUTCDay(),f=(h=1&&h<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var f=new Date(0);f.setUTCFullYear(i+1,0,h),f.setUTCHours(0,0,0,0);var d=v(f,e),p=new Date(0);p.setUTCFullYear(i,0,h),p.setUTCHours(0,0,0,0);var g=v(p,e);return n.getTime()>=d.getTime()?i+1:n.getTime()>=g.getTime()?i:i-1}function x(t,e){(0,r.Z)(1,arguments);var n=e||{},i=n.locale,o=i&&i.options&&i.options.firstWeekContainsDate,s=null==o?1:(0,c.Z)(o),a=null==n.firstWeekContainsDate?s:(0,c.Z)(n.firstWeekContainsDate),l=y(t,e),u=new Date(0);u.setUTCFullYear(l,0,a),u.setUTCHours(0,0,0,0);var h=v(u,e);return h}var _=6048e5;function w(t,e){(0,r.Z)(1,arguments);var n=(0,o.Z)(t),i=v(n,e).getTime()-x(n,e).getTime();return Math.round(i/_)+1}function k(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?n:1-n;return k("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):k(n+1,2)},d:function(t,e){return k(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return k(t.getUTCHours()%12||12,e.length)},H:function(t,e){return k(t.getUTCHours(),e.length)},m:function(t,e){return k(t.getUTCMinutes(),e.length)},s:function(t,e){return k(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds(),i=Math.floor(r*Math.pow(10,n-3));return k(i,e.length)}},S=M,O={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},C={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return S.y(t,e)},Y:function(t,e,n,r){var i=y(t,r),o=i>0?i:1-i;if("YY"===e){var s=o%100;return k(s,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):k(o,e.length)},R:function(t,e){var n=p(t);return k(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return k(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return k(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return k(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return S.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return k(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=w(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):k(i,e.length)},I:function(t,e,n){var r=b(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):k(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):S.d(t,e)},D:function(t,e,n){var r=f(t);return"Do"===e?n.ordinalNumber(r,{unit:"dayOfYear"}):k(r,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return k(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return k(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return k(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?O.noon:0===i?O.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?O.evening:i>=12?O.afternoon:i>=4?O.morning:O.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return S.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):S.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):k(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):k(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):S.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):S.s(t,e)},S:function(t,e){return S.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return T(o);case"XXXX":case"XX":return D(o);case"XXXXX":case"XXX":default:return D(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return T(o);case"xxxx":case"xx":return D(o);case"xxxxx":case"xxx":default:return D(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+P(o,":");case"OOOO":default:return"GMT"+D(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+P(o,":");case"zzzz":default:return"GMT"+D(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return k(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return k(o,e.length)}};function P(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var s=e||"";return n+String(i)+s+k(o,2)}function T(t,e){if(t%60===0){var n=t>0?"-":"+";return n+k(Math.abs(t)/60,2)}return D(t,e)}function D(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=k(Math.floor(i/60),2),s=k(i%60,2);return r+o+n+s}var E=C;function j(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}}function A(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}}function L(t,e){var n,r=t.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return j(t,e);switch(i){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"});break}return n.replace("{{date}}",j(i,e)).replace("{{time}}",A(o,e))}var F={p:A,P:L},I=F,R=n(4262),N=["D","DD"],W=["YY","YYYY"];function z(t){return-1!==N.indexOf(t)}function H(t){return-1!==W.indexOf(t)}function $(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://git.io/fxCyr"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://git.io/fxCyr"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://git.io/fxCyr"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://git.io/fxCyr"))}var B=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,U=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,V=/^'([^]*?)'?$/,Z=/''/g,Y=/[a-zA-Z]/;function q(t,e,n){(0,r.Z)(2,arguments);var i=String(e),l=n||{},h=l.locale||a.Z,f=h.options&&h.options.firstWeekContainsDate,d=null==f?1:(0,c.Z)(f),p=null==l.firstWeekContainsDate?d:(0,c.Z)(l.firstWeekContainsDate);if(!(p>=1&&p<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var g=h.options&&h.options.weekStartsOn,m=null==g?0:(0,c.Z)(g),b=null==l.weekStartsOn?m:(0,c.Z)(l.weekStartsOn);if(!(b>=0&&b<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!h.localize)throw new RangeError("locale must contain localize property");if(!h.formatLong)throw new RangeError("locale must contain formatLong property");var v=(0,o.Z)(t);if(!s(v))throw new RangeError("Invalid time value");var y=(0,R.Z)(v),x=u(v,y),_={firstWeekContainsDate:p,weekStartsOn:b,locale:h,_originalDate:v},w=i.match(U).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=I[e];return n(t,h.formatLong,_)}return t})).join("").match(B).map((function(n){if("''"===n)return"'";var r=n[0];if("'"===r)return J(n);var i=E[r];if(i)return!l.useAdditionalWeekYearTokens&&H(n)&&$(n,e,t),!l.useAdditionalDayOfYearTokens&&z(n)&&$(n,e,t),i(x,n,h.localize,_);if(r.match(Y))throw new RangeError("Format string contains an unescaped latin alphabet character `"+r+"`");return n})).join("");return w}function J(t){return t.match(V)[1].replace(Z,"'")}},1818:function(t,e,n){"use strict";n.d(e,{Z:function(){return M}});var r=n(9013),i=n(3882);function o(t,e){(0,i.Z)(2,arguments);var n=(0,r.Z)(t),o=(0,r.Z)(e),s=n.getTime()-o.getTime();return s<0?-1:s>0?1:s}function s(t,e){(0,i.Z)(2,arguments);var n=(0,r.Z)(t),o=(0,r.Z)(e),s=n.getFullYear()-o.getFullYear(),a=n.getMonth()-o.getMonth();return 12*s+a}function a(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setHours(23,59,59,999),e}var c=n(4135);function l(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return a(e).getTime()===(0,c.Z)(e).getTime()}function u(t,e){(0,i.Z)(2,arguments);var n,a=(0,r.Z)(t),c=(0,r.Z)(e),u=o(a,c),h=Math.abs(s(a,c));if(h<1)n=0;else{1===a.getMonth()&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-u*h);var f=o(a,c)===-u;l((0,r.Z)(t))&&1===h&&1===o(t,c)&&(f=!1),n=u*(h-Number(f))}return 0===n?0:n}function h(t,e){return(0,i.Z)(2,arguments),(0,r.Z)(t).getTime()-(0,r.Z)(e).getTime()}var f={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},d="trunc";function p(t){return t?f[t]:f[d]}function g(t,e,n){(0,i.Z)(2,arguments);var r=h(t,e)/1e3;return p(null===n||void 0===n?void 0:n.roundingMethod)(r)}var m=n(5826);function b(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e=e||{},e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function v(t){return b({},t)}var y=n(4262),x=1440,_=2520,w=43200,k=86400;function M(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.Z)(2,arguments);var s=n.locale||m.Z;if(!s.formatDistance)throw new RangeError("locale must contain formatDistance property");var a=o(t,e);if(isNaN(a))throw new RangeError("Invalid time value");var c,l,h=v(n);h.addSuffix=Boolean(n.addSuffix),h.comparison=a,a>0?(c=(0,r.Z)(e),l=(0,r.Z)(t)):(c=(0,r.Z)(t),l=(0,r.Z)(e));var f,d=g(l,c),p=((0,y.Z)(l)-(0,y.Z)(c))/1e3,b=Math.round((d-p)/60);if(b<2)return n.includeSeconds?d<5?s.formatDistance("lessThanXSeconds",5,h):d<10?s.formatDistance("lessThanXSeconds",10,h):d<20?s.formatDistance("lessThanXSeconds",20,h):d<40?s.formatDistance("halfAMinute",null,h):d<60?s.formatDistance("lessThanXMinutes",1,h):s.formatDistance("xMinutes",1,h):0===b?s.formatDistance("lessThanXMinutes",1,h):s.formatDistance("xMinutes",b,h);if(b<45)return s.formatDistance("xMinutes",b,h);if(b<90)return s.formatDistance("aboutXHours",1,h);if(b0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}n.d(e,{Z:function(){return r}})},8486:function(t,e,n){"use strict";function r(t){return function(e,n){var r,i=n||{},o=i.context?String(i.context):"standalone";if("formatting"===o&&t.formattingValues){var s=t.defaultFormattingWidth||t.defaultWidth,a=i.width?String(i.width):s;r=t.formattingValues[a]||t.formattingValues[s]}else{var c=t.defaultWidth,l=i.width?String(i.width):t.defaultWidth;r=t.values[l]||t.values[c]}var u=t.argumentCallback?t.argumentCallback(e):e;return r[u]}}n.d(e,{Z:function(){return r}})},6723:function(t,e,n){"use strict";function r(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,s=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],a=e.match(s);if(!a)return null;var c,l=a[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?o(u,(function(t){return t.test(l)})):i(u,(function(t){return t.test(l)}));c=t.valueCallback?t.valueCallback(h):h,c=n.valueCallback?n.valueCallback(c):c;var f=e.slice(l.length);return{value:c,rest:f}}}function i(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function o(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var s=t.valueCallback?t.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;var a=e.slice(i.length);return{value:s,rest:a}}}n.d(e,{Z:function(){return r}})},5826:function(t,e,n){"use strict";n.d(e,{Z:function(){return $}});var r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},o=i,s=n(9526),a={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},c={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},l={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,s.Z)({formats:a,defaultWidth:"full"}),time:(0,s.Z)({formats:c,defaultWidth:"full"}),dateTime:(0,s.Z)({formats:l,defaultWidth:"full"})},h=u,f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},b={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},v={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},y={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},x={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},_={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},w=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},k={ordinalNumber:w,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:b,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:v,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide",formattingValues:_,defaultFormattingWidth:"wide"})},M=k,S=n(6723),O=n(974),C=/^(\d+)(th|st|nd|rd)?/i,P=/\d+/i,T={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},D={any:[/^b/i,/^(a|c)/i]},E={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},j={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},F={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},I={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},R={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},N={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},W={ordinalNumber:(0,O.Z)({matchPattern:C,parsePattern:P,valueCallback:function(t){return parseInt(t,10)}}),era:(0,S.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any"}),quarter:(0,S.Z)({matchPatterns:E,defaultMatchWidth:"wide",parsePatterns:j,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,S.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,S.Z)({matchPatterns:F,defaultMatchWidth:"wide",parsePatterns:I,defaultParseWidth:"any"}),dayPeriod:(0,S.Z)({matchPatterns:R,defaultMatchWidth:"any",parsePatterns:N,defaultParseWidth:"any"})},z=W,H={code:"en-US",formatDistance:o,formatLong:h,formatRelative:p,localize:M,match:z,options:{weekStartsOn:0,firstWeekContainsDate:1}},$=H},5830:function(t,e,n){"use strict";n.d(e,{Z:function(){return H}});var r={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+i:"il y a "+i:i},o=i,s=n(9526),a={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},c={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},l={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,s.Z)({formats:a,defaultWidth:"full"}),time:(0,s.Z)({formats:c,defaultWidth:"full"}),dateTime:(0,s.Z)({formats:l,defaultWidth:"full"})},h=u,f={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},b={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},v={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},y={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},x={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},_=function(t,e){var n=Number(t),r=null===e||void 0===e?void 0:e.unit;if(0===n)return"0";var i,o=["year","week","hour","minute","second"];return i=1===n?r&&o.includes(r)?"ère":"er":"ème",n+i},w={ordinalNumber:_,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:b,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:v,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide"})},k=w,M=n(6723),S=n(974),O=/^(\d+)(ième|ère|ème|er|e)?/i,C=/\d+/i,P={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},T={any:[/^av/i,/^ap/i]},D={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},E={any:[/1/i,/2/i,/3/i,/4/i]},j={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},A={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},L={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},F={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},I={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},R={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},N={ordinalNumber:(0,S.Z)({matchPattern:O,parsePattern:C,valueCallback:function(t){return parseInt(t)}}),era:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:T,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:D,defaultMatchWidth:"wide",parsePatterns:E,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:A,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:L,defaultMatchWidth:"wide",parsePatterns:F,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:I,defaultMatchWidth:"any",parsePatterns:R,defaultParseWidth:"any"})},W=N,z={code:"fr",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:W,options:{weekStartsOn:1,firstWeekContainsDate:4}},H=z},3703:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setDate(1),e.setHours(0,0,0,0),e}},584:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882);function s(t,e){(0,o.Z)(1,arguments);var n=e||{},s=n.locale,a=s&&s.options&&s.options.weekStartsOn,c=null==a?0:(0,i.Z)(a),l=null==n.weekStartsOn?c:(0,i.Z)(n.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var u=(0,r.Z)(t),h=u.getDay(),f=(h{const r=t.length,i=n.length,o=1<{const r=t.length,i=n.length,o=[],s=[],a=Math.ceil(r/32),c=Math.ceil(i/32);let l=i;for(let e=0;e>>n&1,l=o[n/32|0]>>>n&1,u=r|a,h=((r|l)&c)+c^c|r|l;let f=a|~(h|c),d=c&h;f>>>31^i&&(s[n/32|0]^=1<>>31^l&&(o[n/32|0]^=1<>>g&1,a=o[g/32|0]>>>g&1,c=n|h,u=((n|a)&f)+f^f|n|a;let d=h|~(u|f),p=f&u;l+=d>>>i-1&1,l-=p>>>i-1&1,d>>>31^r&&(s[g/32|0]^=1<>>31^a&&(o[g/32|0]^=1<{if(t.length>e.length){const n=e;e=t,t=n}return 0===t.length?e.length:t.length<=32?n(t,e):r(t,e)},o=(t,e)=>{let n=1/0,r=0;for(let o=0;o * @@ -20,13 +20,13 @@ function e(t){if("string"!==typeof t)throw new TypeError("expected a string.");r * Released under the MIT license * * Date: 2021-11-16T11:04:32.608Z - */,_="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof n.g?n.g:"undefined"!=typeof self?self:{},w=function(t){return t},k=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)},M=Math.max,S=function(t,e,n){return e=M(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=M(r.length-e,0),s=Array(o);++i0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(dt),mt=w,bt=S,vt=gt,yt=function(t,e){return vt(bt(t,e,mt),t+"")},xt=function(t,e){return t===e||t!=t&&e!=e},_t=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},wt=Z,kt=_t,Mt=function(t){return null!=t&&kt(t.length)&&!wt(t)},St=/^(?:0|[1-9]\d*)$/,Ot=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&St.test(t))&&t>-1&&t%1==0&&t2?e[2]:void 0;for(i&&xe(e[0],e[1],i)&&(r=1);++nt.pageOnly||!Ce.isEnabled)),o=(0,f.Fl)((()=>(i.value||t.teleport)&&r.isFullscreen?{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}:void 0));function s(){e("change",r.isFullscreen),e("update:modelValue",r.isFullscreen),e("update:fullscreen",r.isFullscreen)}function a(){Ce.isFullscreen||Ce.off("change",a),r.isFullscreen=Ce.isFullscreen,s()}function c(t){"Escape"===t.key&&u()}function l(){i.value?(r.isFullscreen=!0,s(),document.removeEventListener("keyup",c),document.addEventListener("keyup",c)):(Ce.off("change",a),Ce.on("change",a),Ce.request(t.teleport?document.body:n.value))}function u(){r.isFullscreen&&(i.value?(r.isFullscreen=!1,s(),document.removeEventListener("keyup",c)):Ce.exit())}return(0,f.YP)((()=>t.fullscreen),(t=>{t!==r.isFullscreen&&(t?l():u())})),(0,f.YP)((()=>t.modelValue),(t=>{t!==r.isFullscreen&&(t?l():u())})),h=((t,e)=>{for(var n in e||(e={}))v.call(e,n)&&x(t,n,e[n]);if(b)for(var n of b(e))y.call(e,n)&&x(t,n,e[n]);return t})({wrapper:n,wrapperStyle:o},(0,d.BK)(r)),g(h,m({toggle:function(t){void 0===t?r.isFullscreen?u():l():t?l():u()},request:l,exit:u,shadeClick:function(e){e.target===n.value&&t.exitOnClickWrapper&&u()}}));var h}});Pe.render=function(t,e,n,r,i,o){return(0,f.wg)(),(0,f.j4)(f.lR,{to:"body",disabled:!t.teleport||!t.fullscreen},[(0,f.Wm)("div",(0,f.dG)({ref:"wrapper"},t.$attrs,{style:t.wrapperStyle,class:{[t.fullscreenClass]:t.isFullscreen},onClick:e[1]||(e[1]=e=>t.shadeClick(e))}),[(0,f.WI)(t.$slots,"default")],16)],8,["disabled"])};const Te="undefined"!=typeof window&&null!==window;!function(){if(Te&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}})}();const De=Object.prototype.propertyIsEnumerable,Ee=Object.getOwnPropertySymbols;function je(t){return"function"==typeof t||"[object Object]"===toString.call(t)}function Ae(t){return"__proto__"!==t&&"constructor"!==t&&"prototype"!==t}function Le(t,...e){if(!je(t))throw new TypeError("expected the first argument to be an object");if(0===e.length||"function"!=typeof Symbol||"function"!=typeof Ee)return t;for(const n of e){const e=Ee(n);for(const r of e)De.call(n,r)&&(t[r]=n[r])}return t}function Fe(t,...e){let n=0;var r;for(("object"==typeof(r=t)?null===r:"function"!=typeof r)&&(t=e[n++]),t||(t={});n{"Escape"===t.key&&(document.removeEventListener("keyup",e),this.exit())};return this.isFullscreen=!0,this.element=t,document.removeEventListener("keyup",e),document.addEventListener("keyup",e),this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()}{const e=()=>{Re.isFullscreen||(Re.off("change",e),He(this)),this.isFullscreen=Re.isFullscreen,this.options.teleport?this.element=t||null:this.element=Re.element,this.options.callback&&this.options.callback(Re.isFullscreen)};return Re.on("change",e),Re.request(this.options.teleport?document.body:t)}},exit(){return this.isFullscreen?this.options.pageOnly?(He(this),this.isFullscreen=!1,this.element=null,this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()):Re.exit():Promise.resolve()}},$e=(t,e,n)=>{const r=()=>{let t;const n={teleport:e.modifiers.teleport,pageOnly:e.modifiers.pageOnly};if(e.value)if("string"==typeof e.value)t=e.value;else{const r=e.value,{target:i}=r,o=((t,e)=>{var n={};for(var r in t)v.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&b)for(var r of b(t))e.indexOf(r)<0&&y.call(t,r)&&(n[r]=t[r]);return n})(r,["target"]);t=i,Fe(n,o)}"string"==typeof t&&(t=document.querySelector(t)),Be.toggle(t,n)};t._onClickFullScreen&&t.removeEventListener("click",t._onClickFullScreen),t.addEventListener("click",r),t._onClickFullScreen=r};var Ue={install(t,{name:e="fullscreen"}={}){t.config.globalProperties[`$${e}`]=Be,t.component(e,Me(Pe,{name:e})),t.directive(e,$e)}};e["ZP"]=Ue},3324:function(t,e,n){"use strict";n.d(e,{o:function(){return Ge},QT:function(){return Ke}});const r="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,i=t=>r?Symbol(t):t,o=(t,e,n)=>s({l:t,k:e,s:n}),s=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),a=t=>"number"===typeof t&&isFinite(t),c=t=>"[object Date]"===M(t),l=t=>"[object RegExp]"===M(t),u=t=>S(t)&&0===Object.keys(t).length;function h(t,e){"undefined"!==typeof console&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const f=Object.assign;let d;const p=()=>d||(d="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});function g(t){return t.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const m=Object.prototype.hasOwnProperty;function b(t,e){return m.call(t,e)}const v=Array.isArray,y=t=>"function"===typeof t,x=t=>"string"===typeof t,_=t=>"boolean"===typeof t,w=t=>null!==t&&"object"===typeof t,k=Object.prototype.toString,M=t=>k.call(t),S=t=>"[object Object]"===M(t),O=t=>null==t?"":v(t)||S(t)&&t.toString===k?JSON.stringify(t,null,2):String(t);const C=Object.prototype.hasOwnProperty;function P(t,e){return C.call(t,e)}const T=t=>null!==t&&"object"===typeof t,D=[];D[0]={["w"]:[0],["i"]:[3,0],["["]:[4],["o"]:[7]},D[1]={["w"]:[1],["."]:[2],["["]:[4],["o"]:[7]},D[2]={["w"]:[2],["i"]:[3,0],["0"]:[3,0]},D[3]={["i"]:[3,0],["0"]:[3,0],["w"]:[1,1],["."]:[2,1],["["]:[4,1],["o"]:[7,1]},D[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],["o"]:8,["l"]:[4,0]},D[5]={["'"]:[4,0],["o"]:8,["l"]:[5,0]},D[6]={['"']:[4,0],["o"]:8,["l"]:[6,0]};const E=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function j(t){return E.test(t)}function A(t){const e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function L(t){if(void 0===t||null===t)return"o";const e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function F(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(parseInt(t)))&&(j(e)?A(e):"*"+e)}function R(t){const e=[];let n,r,i,o,s,a,c,l=-1,u=0,h=0;const f=[];function d(){const e=t[l+1];if(5===u&&"'"===e||6===u&&'"'===e)return l++,i="\\"+e,f[0](),!0}f[0]=()=>{void 0===r?r=i:r+=i},f[1]=()=>{void 0!==r&&(e.push(r),r=void 0)},f[2]=()=>{f[0](),h++},f[3]=()=>{if(h>0)h--,u=4,f[0]();else{if(h=0,void 0===r)return!1;if(r=F(r),!1===r)return!1;f[1]()}};while(null!==u)if(l++,n=t[l],"\\"!==n||!d()){if(o=L(n),c=D[u],s=c[o]||c["l"]||8,8===s)return;if(u=s[0],void 0!==s[1]&&(a=f[s[1]],a&&(i=n,!1===a())))return;if(7===u)return e}}const I=new Map;function N(t,e){if(!T(t))return null;let n=I.get(e);if(n||(n=R(e),n&&I.set(e,n)),!n)return null;const r=n.length;let i=t,o=0;while(o0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(dt),mt=w,bt=S,vt=gt,yt=function(t,e){return vt(bt(t,e,mt),t+"")},xt=function(t,e){return t===e||t!=t&&e!=e},_t=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},wt=Z,kt=_t,Mt=function(t){return null!=t&&kt(t.length)&&!wt(t)},St=/^(?:0|[1-9]\d*)$/,Ot=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&St.test(t))&&t>-1&&t%1==0&&t2?e[2]:void 0;for(i&&xe(e[0],e[1],i)&&(r=1);++nt.pageOnly||!Ce.isEnabled)),o=(0,f.Fl)((()=>(i.value||t.teleport)&&r.isFullscreen?{position:"fixed",left:"0",top:"0",width:"100%",height:"100%"}:void 0));function s(){e("change",r.isFullscreen),e("update:modelValue",r.isFullscreen),e("update:fullscreen",r.isFullscreen)}function a(){Ce.isFullscreen||Ce.off("change",a),r.isFullscreen=Ce.isFullscreen,s()}function c(t){"Escape"===t.key&&u()}function l(){i.value?(r.isFullscreen=!0,s(),document.removeEventListener("keyup",c),document.addEventListener("keyup",c)):(Ce.off("change",a),Ce.on("change",a),Ce.request(t.teleport?document.body:n.value))}function u(){r.isFullscreen&&(i.value?(r.isFullscreen=!1,s(),document.removeEventListener("keyup",c)):Ce.exit())}return(0,f.YP)((()=>t.fullscreen),(t=>{t!==r.isFullscreen&&(t?l():u())})),(0,f.YP)((()=>t.modelValue),(t=>{t!==r.isFullscreen&&(t?l():u())})),h=((t,e)=>{for(var n in e||(e={}))v.call(e,n)&&x(t,n,e[n]);if(b)for(var n of b(e))y.call(e,n)&&x(t,n,e[n]);return t})({wrapper:n,wrapperStyle:o},(0,d.BK)(r)),g(h,m({toggle:function(t){void 0===t?r.isFullscreen?u():l():t?l():u()},request:l,exit:u,shadeClick:function(e){e.target===n.value&&t.exitOnClickWrapper&&u()}}));var h}});Pe.render=function(t,e,n,r,i,o){return(0,f.wg)(),(0,f.j4)(f.lR,{to:"body",disabled:!t.teleport||!t.fullscreen},[(0,f.Wm)("div",(0,f.dG)({ref:"wrapper"},t.$attrs,{style:t.wrapperStyle,class:{[t.fullscreenClass]:t.isFullscreen},onClick:e[1]||(e[1]=e=>t.shadeClick(e))}),[(0,f.WI)(t.$slots,"default")],16)],8,["disabled"])};const Te="undefined"!=typeof window&&null!==window;!function(){if(Te&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get(){return this.intersectionRatio>0}})}();const De=Object.prototype.propertyIsEnumerable,Ee=Object.getOwnPropertySymbols;function je(t){return"function"==typeof t||"[object Object]"===toString.call(t)}function Ae(t){return"__proto__"!==t&&"constructor"!==t&&"prototype"!==t}function Le(t,...e){if(!je(t))throw new TypeError("expected the first argument to be an object");if(0===e.length||"function"!=typeof Symbol||"function"!=typeof Ee)return t;for(const n of e){const e=Ee(n);for(const r of e)De.call(n,r)&&(t[r]=n[r])}return t}function Fe(t,...e){let n=0;var r;for(("object"==typeof(r=t)?null===r:"function"!=typeof r)&&(t=e[n++]),t||(t={});n{"Escape"===t.key&&(document.removeEventListener("keyup",e),this.exit())};return this.isFullscreen=!0,this.element=t,document.removeEventListener("keyup",e),document.addEventListener("keyup",e),this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()}{const e=()=>{Ie.isFullscreen||(Ie.off("change",e),He(this)),this.isFullscreen=Ie.isFullscreen,this.options.teleport?this.element=t||null:this.element=Ie.element,this.options.callback&&this.options.callback(Ie.isFullscreen)};return Ie.on("change",e),Ie.request(this.options.teleport?document.body:t)}},exit(){return this.isFullscreen?this.options.pageOnly?(He(this),this.isFullscreen=!1,this.element=null,this.options.callback&&this.options.callback(this.isFullscreen),Promise.resolve()):Ie.exit():Promise.resolve()}},Be=(t,e,n)=>{const r=()=>{let t;const n={teleport:e.modifiers.teleport,pageOnly:e.modifiers.pageOnly};if(e.value)if("string"==typeof e.value)t=e.value;else{const r=e.value,{target:i}=r,o=((t,e)=>{var n={};for(var r in t)v.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&b)for(var r of b(t))e.indexOf(r)<0&&y.call(t,r)&&(n[r]=t[r]);return n})(r,["target"]);t=i,Fe(n,o)}"string"==typeof t&&(t=document.querySelector(t)),$e.toggle(t,n)};t._onClickFullScreen&&t.removeEventListener("click",t._onClickFullScreen),t.addEventListener("click",r),t._onClickFullScreen=r};var Ue={install(t,{name:e="fullscreen"}={}){t.config.globalProperties[`$${e}`]=$e,t.component(e,Me(Pe,{name:e})),t.directive(e,Be)}};e["ZP"]=Ue},3324:function(t,e,n){"use strict";n.d(e,{o:function(){return Xe},QT:function(){return Ke}});const r="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,i=t=>r?Symbol(t):t,o=(t,e,n)=>s({l:t,k:e,s:n}),s=t=>JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),a=t=>"number"===typeof t&&isFinite(t),c=t=>"[object Date]"===M(t),l=t=>"[object RegExp]"===M(t),u=t=>S(t)&&0===Object.keys(t).length;function h(t,e){"undefined"!==typeof console&&(console.warn("[intlify] "+t),e&&console.warn(e.stack))}const f=Object.assign;let d;const p=()=>d||(d="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{});function g(t){return t.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const m=Object.prototype.hasOwnProperty;function b(t,e){return m.call(t,e)}const v=Array.isArray,y=t=>"function"===typeof t,x=t=>"string"===typeof t,_=t=>"boolean"===typeof t,w=t=>null!==t&&"object"===typeof t,k=Object.prototype.toString,M=t=>k.call(t),S=t=>"[object Object]"===M(t),O=t=>null==t?"":v(t)||S(t)&&t.toString===k?JSON.stringify(t,null,2):String(t);const C=Object.prototype.hasOwnProperty;function P(t,e){return C.call(t,e)}const T=t=>null!==t&&"object"===typeof t,D=[];D[0]={["w"]:[0],["i"]:[3,0],["["]:[4],["o"]:[7]},D[1]={["w"]:[1],["."]:[2],["["]:[4],["o"]:[7]},D[2]={["w"]:[2],["i"]:[3,0],["0"]:[3,0]},D[3]={["i"]:[3,0],["0"]:[3,0],["w"]:[1,1],["."]:[2,1],["["]:[4,1],["o"]:[7,1]},D[4]={["'"]:[5,0],['"']:[6,0],["["]:[4,2],["]"]:[1,3],["o"]:8,["l"]:[4,0]},D[5]={["'"]:[4,0],["o"]:8,["l"]:[5,0]},D[6]={['"']:[4,0],["o"]:8,["l"]:[6,0]};const E=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function j(t){return E.test(t)}function A(t){const e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function L(t){if(void 0===t||null===t)return"o";const e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function F(t){const e=t.trim();return("0"!==t.charAt(0)||!isNaN(parseInt(t)))&&(j(e)?A(e):"*"+e)}function I(t){const e=[];let n,r,i,o,s,a,c,l=-1,u=0,h=0;const f=[];function d(){const e=t[l+1];if(5===u&&"'"===e||6===u&&'"'===e)return l++,i="\\"+e,f[0](),!0}f[0]=()=>{void 0===r?r=i:r+=i},f[1]=()=>{void 0!==r&&(e.push(r),r=void 0)},f[2]=()=>{f[0](),h++},f[3]=()=>{if(h>0)h--,u=4,f[0]();else{if(h=0,void 0===r)return!1;if(r=F(r),!1===r)return!1;f[1]()}};while(null!==u)if(l++,n=t[l],"\\"!==n||!d()){if(o=L(n),c=D[u],s=c[o]||c["l"]||8,8===s)return;if(u=s[0],void 0!==s[1]&&(a=f[s[1]],a&&(i=n,!1===a())))return;if(7===u)return e}}const R=new Map;function N(t,e){if(!T(t))return null;let n=R.get(e);if(n||(n=I(e),n&&R.set(e,n)),!n)return null;const r=n.length;let i=t,o=0;while(ot,H=t=>"",B="text",$=t=>0===t.length?"":t.join(""),U=O;function V(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0}function Z(t){const e=a(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(a(t.named.count)||a(t.named.n))?a(t.named.count)?t.named.count:a(t.named.n)?t.named.n:e:e}function Y(t,e){e.count||(e.count=t),e.n||(e.n=t)}function q(t={}){const e=t.locale,n=Z(t),r=w(t.pluralRules)&&x(e)&&y(t.pluralRules[e])?t.pluralRules[e]:V,i=w(t.pluralRules)&&x(e)&&y(t.pluralRules[e])?V:void 0,o=t=>t[r(n,t.length,i)],s=t.list||[],c=t=>s[t],l=t.named||{};a(t.pluralIndex)&&Y(n,l);const u=t=>l[t];function h(e){const n=y(t.messages)?t.messages(e):!!w(t.messages)&&t.messages[e];return n||(t.parent?t.parent.message(e):H)}const f=e=>t.modifiers?t.modifiers[e]:z,d=S(t.processor)&&y(t.processor.normalize)?t.processor.normalize:$,p=S(t.processor)&&y(t.processor.interpolate)?t.processor.interpolate:U,g=S(t.processor)&&x(t.processor.type)?t.processor.type:B,m={["list"]:c,["named"]:u,["plural"]:o,["linked"]:(t,e)=>{const n=h(t)(m);return x(e)?f(e)(n):n},["message"]:h,["type"]:g,["interpolate"]:p,["normalize"]:d};return m}function J(t,e,n={}){const{domain:r,messages:i,args:o}=n,s=t,a=new SyntaxError(String(s));return a.code=t,e&&(a.location=e),a.domain=r,a}function X(t){throw t}function G(t,e,n){return{line:t,column:e,offset:n}}function K(t,e,n){const r={start:t,end:e};return null!=n&&(r.source=n),r}const Q=" ",tt="\r",et="\n",nt=String.fromCharCode(8232),rt=String.fromCharCode(8233);function it(t){const e=t;let n=0,r=1,i=1,o=0;const s=t=>e[t]===tt&&e[t+1]===et,a=t=>e[t]===et,c=t=>e[t]===rt,l=t=>e[t]===nt,u=t=>s(t)||a(t)||c(t)||l(t),h=()=>n,f=()=>r,d=()=>i,p=()=>o,g=t=>s(t)||c(t)||l(t)?et:e[t],m=()=>g(n),b=()=>g(n+o);function v(){return o=0,u(n)&&(r++,i=0),s(n)&&n++,n++,i++,e[n]}function y(){return s(n+o)&&o++,o++,e[n+o]}function x(){n=0,r=1,i=1,o=0}function _(t=0){o=t}function w(){const t=n+o;while(t!==n)v();o=0}return{index:h,line:f,column:d,peekOffset:p,charAt:g,currentChar:m,currentPeek:b,next:v,peek:y,reset:x,resetPeek:_,skipToPeek:w}}const ot=void 0,st="'",at="tokenizer";function ct(t,e={}){const n=!1!==e.location,r=it(t),i=()=>r.index(),o=()=>G(r.line(),r.column(),r.index()),s=o(),a=i(),c={currentType:14,offset:a,startLoc:s,endLoc:s,lastType:14,lastOffset:a,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},l=()=>c,{onError:u}=e;function h(t,e,n,...r){const i=l();if(e.column+=n,e.offset+=n,u){const n=K(i.startLoc,e),o=J(t,n,{domain:at,args:r});u(o)}}function f(t,e,r){t.endLoc=o(),t.currentType=e;const i={type:e};return n&&(i.loc=K(t.startLoc,t.endLoc)),null!=r&&(i.value=r),i}const d=t=>f(t,14);function p(t,e){return t.currentChar()===e?(t.next(),e):(h(0,o(),0,e),"")}function g(t){let e="";while(t.currentPeek()===Q||t.currentPeek()===et)e+=t.currentPeek(),t.peek();return e}function m(t){const e=g(t);return t.skipToPeek(),e}function b(t){if(t===ot)return!1;const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||95===e}function v(t){if(t===ot)return!1;const e=t.charCodeAt(0);return e>=48&&e<=57}function y(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=b(t.currentPeek());return t.resetPeek(),r}function x(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r="-"===t.currentPeek()?t.peek():t.currentPeek(),i=v(r);return t.resetPeek(),i}function _(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=t.currentPeek()===st;return t.resetPeek(),r}function w(t,e){const{currentType:n}=e;if(8!==n)return!1;g(t);const r="."===t.currentPeek();return t.resetPeek(),r}function k(t,e){const{currentType:n}=e;if(9!==n)return!1;g(t);const r=b(t.currentPeek());return t.resetPeek(),r}function M(t,e){const{currentType:n}=e;if(8!==n&&12!==n)return!1;g(t);const r=":"===t.currentPeek();return t.resetPeek(),r}function S(t,e){const{currentType:n}=e;if(10!==n)return!1;const r=()=>{const e=t.currentPeek();return"{"===e?b(t.peek()):!("@"===e||"%"===e||"|"===e||":"===e||"."===e||e===Q||!e)&&(e===et?(t.peek(),r()):b(e))},i=r();return t.resetPeek(),i}function O(t){g(t);const e="|"===t.currentPeek();return t.resetPeek(),e}function C(t,e=!0){const n=(e=!1,r="",i=!1)=>{const o=t.currentPeek();return"{"===o?"%"!==r&&e:"@"!==o&&o?"%"===o?(t.peek(),n(e,"%",!0)):"|"===o?!("%"!==r&&!i)||!(r===Q||r===et):o===Q?(t.peek(),n(!0,Q,i)):o!==et||(t.peek(),n(!0,et,i)):"%"===r||e},r=n();return e&&t.resetPeek(),r}function P(t,e){const n=t.currentChar();return n===ot?ot:e(n)?(t.next(),n):null}function T(t){const e=t=>{const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||95===e||36===e};return P(t,e)}function D(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57};return P(t,e)}function E(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};return P(t,e)}function j(t){let e="",n="";while(e=D(t))n+=e;return n}function A(t){let e="";while(1){const n=t.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!C(t))break;e+=n,t.next()}else if(n===Q||n===et)if(C(t))e+=n,t.next();else{if(O(t))break;e+=n,t.next()}else e+=n,t.next()}return e}function L(t){m(t);let e="",n="";while(e=T(t))n+=e;return t.currentChar()===ot&&h(6,o(),0),n}function F(t){m(t);let e="";return"-"===t.currentChar()?(t.next(),e+=`-${j(t)}`):e+=j(t),t.currentChar()===ot&&h(6,o(),0),e}function R(t){m(t),p(t,"'");let e="",n="";const r=t=>t!==st&&t!==et;while(e=P(t,r))n+="\\"===e?I(t):e;const i=t.currentChar();return i===et||i===ot?(h(2,o(),0),i===et&&(t.next(),p(t,"'")),n):(p(t,"'"),n)}function I(t){const e=t.currentChar();switch(e){case"\\":case"'":return t.next(),`\\${e}`;case"u":return N(t,e,4);case"U":return N(t,e,6);default:return h(3,o(),0,e),""}}function N(t,e,n){p(t,e);let r="";for(let i=0;i"{"!==t&&"}"!==t&&t!==Q&&t!==et;while(e=P(t,r))n+=e;return n}function z(t){let e="",n="";while(e=T(t))n+=e;return n}function H(t){const e=(n=!1,r)=>{const i=t.currentChar();return"{"!==i&&"%"!==i&&"@"!==i&&"|"!==i&&i?i===Q?r:i===et?(r+=i,t.next(),e(n,r)):(r+=i,t.next(),e(!0,r)):r};return e(!1,"")}function B(t){m(t);const e=p(t,"|");return m(t),e}function $(t,e){let n=null;const r=t.currentChar();switch(r){case"{":return e.braceNest>=1&&h(8,o(),0),t.next(),n=f(e,2,"{"),m(t),e.braceNest++,n;case"}":return e.braceNest>0&&2===e.currentType&&h(7,o(),0),t.next(),n=f(e,3,"}"),e.braceNest--,e.braceNest>0&&m(t),e.inLinked&&0===e.braceNest&&(e.inLinked=!1),n;case"@":return e.braceNest>0&&h(6,o(),0),n=U(t,e)||d(e),e.braceNest=0,n;default:let r=!0,i=!0,s=!0;if(O(t))return e.braceNest>0&&h(6,o(),0),n=f(e,1,B(t)),e.braceNest=0,e.inLinked=!1,n;if(e.braceNest>0&&(5===e.currentType||6===e.currentType||7===e.currentType))return h(6,o(),0),e.braceNest=0,V(t,e);if(r=y(t,e))return n=f(e,5,L(t)),m(t),n;if(i=x(t,e))return n=f(e,6,F(t)),m(t),n;if(s=_(t,e))return n=f(e,7,R(t)),m(t),n;if(!r&&!i&&!s)return n=f(e,13,W(t)),h(1,o(),0,n.value),m(t),n;break}return n}function U(t,e){const{currentType:n}=e;let r=null;const i=t.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||i!==et&&i!==Q||h(9,o(),0),i){case"@":return t.next(),r=f(e,8,"@"),e.inLinked=!0,r;case".":return m(t),t.next(),f(e,9,".");case":":return m(t),t.next(),f(e,10,":");default:return O(t)?(r=f(e,1,B(t)),e.braceNest=0,e.inLinked=!1,r):w(t,e)||M(t,e)?(m(t),U(t,e)):k(t,e)?(m(t),f(e,12,z(t))):S(t,e)?(m(t),"{"===i?$(t,e)||r:f(e,11,H(t))):(8===n&&h(9,o(),0),e.braceNest=0,e.inLinked=!1,V(t,e))}}function V(t,e){let n={type:14};if(e.braceNest>0)return $(t,e)||d(e);if(e.inLinked)return U(t,e)||d(e);const r=t.currentChar();switch(r){case"{":return $(t,e)||d(e);case"}":return h(5,o(),0),t.next(),f(e,3,"}");case"@":return U(t,e)||d(e);default:if(O(t))return n=f(e,1,B(t)),e.braceNest=0,e.inLinked=!1,n;if(C(t))return f(e,0,A(t));if("%"===r)return t.next(),f(e,4,"%");break}return n}function Z(){const{currentType:t,offset:e,startLoc:n,endLoc:s}=c;return c.lastType=t,c.lastOffset=e,c.lastStartLoc=n,c.lastEndLoc=s,c.offset=i(),c.startLoc=o(),r.currentChar()===ot?f(c,14):V(r,c)}return{nextToken:Z,currentOffset:i,currentPosition:o,context:l}}const lt="parser",ut=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function ht(t,e,n){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const t=parseInt(e||n,16);return t<=55295||t>=57344?String.fromCodePoint(t):"�"}}}function ft(t={}){const e=!1!==t.location,{onError:n}=t;function r(t,e,r,i,...o){const s=t.currentPosition();if(s.offset+=i,s.column+=i,n){const t=K(r,s),i=J(e,t,{domain:lt,args:o});n(i)}}function i(t,n,r){const i={type:t,start:n,end:n};return e&&(i.loc={start:r,end:r}),i}function o(t,n,r,i){t.end=n,i&&(t.type=i),e&&t.loc&&(t.loc.end=r)}function s(t,e){const n=t.context(),r=i(3,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function a(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:s}=n,a=i(5,r,s);return a.index=parseInt(e,10),t.nextToken(),o(a,t.currentOffset(),t.currentPosition()),a}function c(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:s}=n,a=i(4,r,s);return a.key=e,t.nextToken(),o(a,t.currentOffset(),t.currentPosition()),a}function l(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:s}=n,a=i(9,r,s);return a.value=e.replace(ut,ht),t.nextToken(),o(a,t.currentOffset(),t.currentPosition()),a}function u(t){const e=t.nextToken(),n=t.context(),{lastOffset:s,lastStartLoc:a}=n,c=i(8,s,a);return 12!==e.type?(r(t,11,n.lastStartLoc,0),c.value="",o(c,s,a),{nextConsumeToken:e,node:c}):(null==e.value&&r(t,13,n.lastStartLoc,0,dt(e)),c.value=e.value||"",o(c,t.currentOffset(),t.currentPosition()),{node:c})}function h(t,e){const n=t.context(),r=i(7,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function d(t){const e=t.context(),n=i(6,e.offset,e.startLoc);let s=t.nextToken();if(9===s.type){const e=u(t);n.modifier=e.node,s=e.nextConsumeToken||t.nextToken()}switch(10!==s.type&&r(t,13,e.lastStartLoc,0,dt(s)),s=t.nextToken(),2===s.type&&(s=t.nextToken()),s.type){case 11:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=h(t,s.value||"");break;case 5:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=c(t,s.value||"");break;case 6:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=a(t,s.value||"");break;case 7:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=l(t,s.value||"");break;default:r(t,12,e.lastStartLoc,0);const u=t.context(),f=i(7,u.offset,u.startLoc);return f.value="",o(f,u.offset,u.startLoc),n.key=f,o(n,u.offset,u.startLoc),{nextConsumeToken:s,node:n}}return o(n,t.currentOffset(),t.currentPosition()),{node:n}}function p(t){const e=t.context(),n=1===e.currentType?t.currentOffset():e.offset,u=1===e.currentType?e.endLoc:e.startLoc,h=i(2,n,u);h.items=[];let f=null;do{const n=f||t.nextToken();switch(f=null,n.type){case 0:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(s(t,n.value||""));break;case 6:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(a(t,n.value||""));break;case 5:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(c(t,n.value||""));break;case 7:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(l(t,n.value||""));break;case 8:const i=d(t);h.items.push(i.node),f=i.nextConsumeToken||null;break}}while(14!==e.currentType&&1!==e.currentType);const p=1===e.currentType?e.lastOffset:t.currentOffset(),g=1===e.currentType?e.lastEndLoc:t.currentPosition();return o(h,p,g),h}function g(t,e,n,s){const a=t.context();let c=0===s.items.length;const l=i(1,e,n);l.cases=[],l.cases.push(s);do{const e=p(t);c||(c=0===e.items.length),l.cases.push(e)}while(14!==a.currentType);return c&&r(t,10,n,0),o(l,t.currentOffset(),t.currentPosition()),l}function m(t){const e=t.context(),{offset:n,startLoc:r}=e,i=p(t);return 14===e.currentType?i:g(t,n,r,i)}function b(n){const s=ct(n,f({},t)),a=s.context(),c=i(0,a.offset,a.startLoc);return e&&c.loc&&(c.loc.source=n),c.body=m(s),14!==a.currentType&&r(s,13,a.lastStartLoc,0,n[a.offset]||""),o(c,s.currentOffset(),s.currentPosition()),c}return{parse:b}}function dt(t){if(14===t.type)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function pt(t,e={}){const n={ast:t,helpers:new Set},r=()=>n,i=t=>(n.helpers.add(t),t);return{context:r,helper:i}}function gt(t,e){for(let n=0;ns;function c(t,e){s.code+=t}function l(t,e=!0){const n=e?i:"";c(o?n+" ".repeat(t):n)}function u(t=!0){const e=++s.indentLevel;t&&l(e)}function h(t=!0){const e=--s.indentLevel;t&&l(e)}function f(){l(s.indentLevel)}const d=t=>`_${t}`,p=()=>s.needIndent;return{context:a,push:c,indent:u,deindent:h,newline:f,helper:d,needIndent:p}}function yt(t,e){const{helper:n}=t;t.push(`${n("linked")}(`),kt(t,e.key),e.modifier&&(t.push(", "),kt(t,e.modifier)),t.push(")")}function xt(t,e){const{helper:n,needIndent:r}=t;t.push(`${n("normalize")}([`),t.indent(r());const i=e.items.length;for(let o=0;o1){t.push(`${n("plural")}([`),t.indent(r());const i=e.cases.length;for(let n=0;n{const n=x(e.mode)?e.mode:"normal",r=x(e.filename)?e.filename:"message.intl",i=!!e.sourceMap,o=null!=e.breakLineCode?e.breakLineCode:"arrow"===n?";":"\n",s=e.needIndent?e.needIndent:"arrow"!==n,a=t.helpers||[],c=vt(t,{mode:n,filename:r,sourceMap:i,breakLineCode:o,needIndent:s});c.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),c.indent(s),a.length>0&&(c.push(`const { ${a.map((t=>`${t}: _${t}`)).join(", ")} } = ctx`),c.newline()),c.push("return "),kt(c,t),c.deindent(s),c.push("}");const{code:l,map:u}=c.context();return{ast:t,code:l,map:u?u.toJSON():void 0}};function St(t,e={}){const n=f({},e),r=ft(n),i=r.parse(t);return bt(i,n),Mt(i,n)} +const z=t=>t,H=t=>"",$="text",B=t=>0===t.length?"":t.join(""),U=O;function V(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0}function Z(t){const e=a(t.pluralIndex)?t.pluralIndex:-1;return t.named&&(a(t.named.count)||a(t.named.n))?a(t.named.count)?t.named.count:a(t.named.n)?t.named.n:e:e}function Y(t,e){e.count||(e.count=t),e.n||(e.n=t)}function q(t={}){const e=t.locale,n=Z(t),r=w(t.pluralRules)&&x(e)&&y(t.pluralRules[e])?t.pluralRules[e]:V,i=w(t.pluralRules)&&x(e)&&y(t.pluralRules[e])?V:void 0,o=t=>t[r(n,t.length,i)],s=t.list||[],c=t=>s[t],l=t.named||{};a(t.pluralIndex)&&Y(n,l);const u=t=>l[t];function h(e){const n=y(t.messages)?t.messages(e):!!w(t.messages)&&t.messages[e];return n||(t.parent?t.parent.message(e):H)}const f=e=>t.modifiers?t.modifiers[e]:z,d=S(t.processor)&&y(t.processor.normalize)?t.processor.normalize:B,p=S(t.processor)&&y(t.processor.interpolate)?t.processor.interpolate:U,g=S(t.processor)&&x(t.processor.type)?t.processor.type:$,m={["list"]:c,["named"]:u,["plural"]:o,["linked"]:(t,e)=>{const n=h(t)(m);return x(e)?f(e)(n):n},["message"]:h,["type"]:g,["interpolate"]:p,["normalize"]:d};return m}function J(t,e,n={}){const{domain:r,messages:i,args:o}=n,s=t,a=new SyntaxError(String(s));return a.code=t,e&&(a.location=e),a.domain=r,a}function G(t){throw t}function X(t,e,n){return{line:t,column:e,offset:n}}function K(t,e,n){const r={start:t,end:e};return null!=n&&(r.source=n),r}const Q=" ",tt="\r",et="\n",nt=String.fromCharCode(8232),rt=String.fromCharCode(8233);function it(t){const e=t;let n=0,r=1,i=1,o=0;const s=t=>e[t]===tt&&e[t+1]===et,a=t=>e[t]===et,c=t=>e[t]===rt,l=t=>e[t]===nt,u=t=>s(t)||a(t)||c(t)||l(t),h=()=>n,f=()=>r,d=()=>i,p=()=>o,g=t=>s(t)||c(t)||l(t)?et:e[t],m=()=>g(n),b=()=>g(n+o);function v(){return o=0,u(n)&&(r++,i=0),s(n)&&n++,n++,i++,e[n]}function y(){return s(n+o)&&o++,o++,e[n+o]}function x(){n=0,r=1,i=1,o=0}function _(t=0){o=t}function w(){const t=n+o;while(t!==n)v();o=0}return{index:h,line:f,column:d,peekOffset:p,charAt:g,currentChar:m,currentPeek:b,next:v,peek:y,reset:x,resetPeek:_,skipToPeek:w}}const ot=void 0,st="'",at="tokenizer";function ct(t,e={}){const n=!1!==e.location,r=it(t),i=()=>r.index(),o=()=>X(r.line(),r.column(),r.index()),s=o(),a=i(),c={currentType:14,offset:a,startLoc:s,endLoc:s,lastType:14,lastOffset:a,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},l=()=>c,{onError:u}=e;function h(t,e,n,...r){const i=l();if(e.column+=n,e.offset+=n,u){const n=K(i.startLoc,e),o=J(t,n,{domain:at,args:r});u(o)}}function f(t,e,r){t.endLoc=o(),t.currentType=e;const i={type:e};return n&&(i.loc=K(t.startLoc,t.endLoc)),null!=r&&(i.value=r),i}const d=t=>f(t,14);function p(t,e){return t.currentChar()===e?(t.next(),e):(h(0,o(),0,e),"")}function g(t){let e="";while(t.currentPeek()===Q||t.currentPeek()===et)e+=t.currentPeek(),t.peek();return e}function m(t){const e=g(t);return t.skipToPeek(),e}function b(t){if(t===ot)return!1;const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||95===e}function v(t){if(t===ot)return!1;const e=t.charCodeAt(0);return e>=48&&e<=57}function y(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=b(t.currentPeek());return t.resetPeek(),r}function x(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r="-"===t.currentPeek()?t.peek():t.currentPeek(),i=v(r);return t.resetPeek(),i}function _(t,e){const{currentType:n}=e;if(2!==n)return!1;g(t);const r=t.currentPeek()===st;return t.resetPeek(),r}function w(t,e){const{currentType:n}=e;if(8!==n)return!1;g(t);const r="."===t.currentPeek();return t.resetPeek(),r}function k(t,e){const{currentType:n}=e;if(9!==n)return!1;g(t);const r=b(t.currentPeek());return t.resetPeek(),r}function M(t,e){const{currentType:n}=e;if(8!==n&&12!==n)return!1;g(t);const r=":"===t.currentPeek();return t.resetPeek(),r}function S(t,e){const{currentType:n}=e;if(10!==n)return!1;const r=()=>{const e=t.currentPeek();return"{"===e?b(t.peek()):!("@"===e||"%"===e||"|"===e||":"===e||"."===e||e===Q||!e)&&(e===et?(t.peek(),r()):b(e))},i=r();return t.resetPeek(),i}function O(t){g(t);const e="|"===t.currentPeek();return t.resetPeek(),e}function C(t,e=!0){const n=(e=!1,r="",i=!1)=>{const o=t.currentPeek();return"{"===o?"%"!==r&&e:"@"!==o&&o?"%"===o?(t.peek(),n(e,"%",!0)):"|"===o?!("%"!==r&&!i)||!(r===Q||r===et):o===Q?(t.peek(),n(!0,Q,i)):o!==et||(t.peek(),n(!0,et,i)):"%"===r||e},r=n();return e&&t.resetPeek(),r}function P(t,e){const n=t.currentChar();return n===ot?ot:e(n)?(t.next(),n):null}function T(t){const e=t=>{const e=t.charCodeAt(0);return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57||95===e||36===e};return P(t,e)}function D(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57};return P(t,e)}function E(t){const e=t=>{const e=t.charCodeAt(0);return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};return P(t,e)}function j(t){let e="",n="";while(e=D(t))n+=e;return n}function A(t){let e="";while(1){const n=t.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if("%"===n){if(!C(t))break;e+=n,t.next()}else if(n===Q||n===et)if(C(t))e+=n,t.next();else{if(O(t))break;e+=n,t.next()}else e+=n,t.next()}return e}function L(t){m(t);let e="",n="";while(e=T(t))n+=e;return t.currentChar()===ot&&h(6,o(),0),n}function F(t){m(t);let e="";return"-"===t.currentChar()?(t.next(),e+=`-${j(t)}`):e+=j(t),t.currentChar()===ot&&h(6,o(),0),e}function I(t){m(t),p(t,"'");let e="",n="";const r=t=>t!==st&&t!==et;while(e=P(t,r))n+="\\"===e?R(t):e;const i=t.currentChar();return i===et||i===ot?(h(2,o(),0),i===et&&(t.next(),p(t,"'")),n):(p(t,"'"),n)}function R(t){const e=t.currentChar();switch(e){case"\\":case"'":return t.next(),`\\${e}`;case"u":return N(t,e,4);case"U":return N(t,e,6);default:return h(3,o(),0,e),""}}function N(t,e,n){p(t,e);let r="";for(let i=0;i"{"!==t&&"}"!==t&&t!==Q&&t!==et;while(e=P(t,r))n+=e;return n}function z(t){let e="",n="";while(e=T(t))n+=e;return n}function H(t){const e=(n=!1,r)=>{const i=t.currentChar();return"{"!==i&&"%"!==i&&"@"!==i&&"|"!==i&&i?i===Q?r:i===et?(r+=i,t.next(),e(n,r)):(r+=i,t.next(),e(!0,r)):r};return e(!1,"")}function $(t){m(t);const e=p(t,"|");return m(t),e}function B(t,e){let n=null;const r=t.currentChar();switch(r){case"{":return e.braceNest>=1&&h(8,o(),0),t.next(),n=f(e,2,"{"),m(t),e.braceNest++,n;case"}":return e.braceNest>0&&2===e.currentType&&h(7,o(),0),t.next(),n=f(e,3,"}"),e.braceNest--,e.braceNest>0&&m(t),e.inLinked&&0===e.braceNest&&(e.inLinked=!1),n;case"@":return e.braceNest>0&&h(6,o(),0),n=U(t,e)||d(e),e.braceNest=0,n;default:let r=!0,i=!0,s=!0;if(O(t))return e.braceNest>0&&h(6,o(),0),n=f(e,1,$(t)),e.braceNest=0,e.inLinked=!1,n;if(e.braceNest>0&&(5===e.currentType||6===e.currentType||7===e.currentType))return h(6,o(),0),e.braceNest=0,V(t,e);if(r=y(t,e))return n=f(e,5,L(t)),m(t),n;if(i=x(t,e))return n=f(e,6,F(t)),m(t),n;if(s=_(t,e))return n=f(e,7,I(t)),m(t),n;if(!r&&!i&&!s)return n=f(e,13,W(t)),h(1,o(),0,n.value),m(t),n;break}return n}function U(t,e){const{currentType:n}=e;let r=null;const i=t.currentChar();switch(8!==n&&9!==n&&12!==n&&10!==n||i!==et&&i!==Q||h(9,o(),0),i){case"@":return t.next(),r=f(e,8,"@"),e.inLinked=!0,r;case".":return m(t),t.next(),f(e,9,".");case":":return m(t),t.next(),f(e,10,":");default:return O(t)?(r=f(e,1,$(t)),e.braceNest=0,e.inLinked=!1,r):w(t,e)||M(t,e)?(m(t),U(t,e)):k(t,e)?(m(t),f(e,12,z(t))):S(t,e)?(m(t),"{"===i?B(t,e)||r:f(e,11,H(t))):(8===n&&h(9,o(),0),e.braceNest=0,e.inLinked=!1,V(t,e))}}function V(t,e){let n={type:14};if(e.braceNest>0)return B(t,e)||d(e);if(e.inLinked)return U(t,e)||d(e);const r=t.currentChar();switch(r){case"{":return B(t,e)||d(e);case"}":return h(5,o(),0),t.next(),f(e,3,"}");case"@":return U(t,e)||d(e);default:if(O(t))return n=f(e,1,$(t)),e.braceNest=0,e.inLinked=!1,n;if(C(t))return f(e,0,A(t));if("%"===r)return t.next(),f(e,4,"%");break}return n}function Z(){const{currentType:t,offset:e,startLoc:n,endLoc:s}=c;return c.lastType=t,c.lastOffset=e,c.lastStartLoc=n,c.lastEndLoc=s,c.offset=i(),c.startLoc=o(),r.currentChar()===ot?f(c,14):V(r,c)}return{nextToken:Z,currentOffset:i,currentPosition:o,context:l}}const lt="parser",ut=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function ht(t,e,n){switch(t){case"\\\\":return"\\";case"\\'":return"'";default:{const t=parseInt(e||n,16);return t<=55295||t>=57344?String.fromCodePoint(t):"�"}}}function ft(t={}){const e=!1!==t.location,{onError:n}=t;function r(t,e,r,i,...o){const s=t.currentPosition();if(s.offset+=i,s.column+=i,n){const t=K(r,s),i=J(e,t,{domain:lt,args:o});n(i)}}function i(t,n,r){const i={type:t,start:n,end:n};return e&&(i.loc={start:r,end:r}),i}function o(t,n,r,i){t.end=n,i&&(t.type=i),e&&t.loc&&(t.loc.end=r)}function s(t,e){const n=t.context(),r=i(3,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function a(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:s}=n,a=i(5,r,s);return a.index=parseInt(e,10),t.nextToken(),o(a,t.currentOffset(),t.currentPosition()),a}function c(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:s}=n,a=i(4,r,s);return a.key=e,t.nextToken(),o(a,t.currentOffset(),t.currentPosition()),a}function l(t,e){const n=t.context(),{lastOffset:r,lastStartLoc:s}=n,a=i(9,r,s);return a.value=e.replace(ut,ht),t.nextToken(),o(a,t.currentOffset(),t.currentPosition()),a}function u(t){const e=t.nextToken(),n=t.context(),{lastOffset:s,lastStartLoc:a}=n,c=i(8,s,a);return 12!==e.type?(r(t,11,n.lastStartLoc,0),c.value="",o(c,s,a),{nextConsumeToken:e,node:c}):(null==e.value&&r(t,13,n.lastStartLoc,0,dt(e)),c.value=e.value||"",o(c,t.currentOffset(),t.currentPosition()),{node:c})}function h(t,e){const n=t.context(),r=i(7,n.offset,n.startLoc);return r.value=e,o(r,t.currentOffset(),t.currentPosition()),r}function d(t){const e=t.context(),n=i(6,e.offset,e.startLoc);let s=t.nextToken();if(9===s.type){const e=u(t);n.modifier=e.node,s=e.nextConsumeToken||t.nextToken()}switch(10!==s.type&&r(t,13,e.lastStartLoc,0,dt(s)),s=t.nextToken(),2===s.type&&(s=t.nextToken()),s.type){case 11:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=h(t,s.value||"");break;case 5:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=c(t,s.value||"");break;case 6:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=a(t,s.value||"");break;case 7:null==s.value&&r(t,13,e.lastStartLoc,0,dt(s)),n.key=l(t,s.value||"");break;default:r(t,12,e.lastStartLoc,0);const u=t.context(),f=i(7,u.offset,u.startLoc);return f.value="",o(f,u.offset,u.startLoc),n.key=f,o(n,u.offset,u.startLoc),{nextConsumeToken:s,node:n}}return o(n,t.currentOffset(),t.currentPosition()),{node:n}}function p(t){const e=t.context(),n=1===e.currentType?t.currentOffset():e.offset,u=1===e.currentType?e.endLoc:e.startLoc,h=i(2,n,u);h.items=[];let f=null;do{const n=f||t.nextToken();switch(f=null,n.type){case 0:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(s(t,n.value||""));break;case 6:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(a(t,n.value||""));break;case 5:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(c(t,n.value||""));break;case 7:null==n.value&&r(t,13,e.lastStartLoc,0,dt(n)),h.items.push(l(t,n.value||""));break;case 8:const i=d(t);h.items.push(i.node),f=i.nextConsumeToken||null;break}}while(14!==e.currentType&&1!==e.currentType);const p=1===e.currentType?e.lastOffset:t.currentOffset(),g=1===e.currentType?e.lastEndLoc:t.currentPosition();return o(h,p,g),h}function g(t,e,n,s){const a=t.context();let c=0===s.items.length;const l=i(1,e,n);l.cases=[],l.cases.push(s);do{const e=p(t);c||(c=0===e.items.length),l.cases.push(e)}while(14!==a.currentType);return c&&r(t,10,n,0),o(l,t.currentOffset(),t.currentPosition()),l}function m(t){const e=t.context(),{offset:n,startLoc:r}=e,i=p(t);return 14===e.currentType?i:g(t,n,r,i)}function b(n){const s=ct(n,f({},t)),a=s.context(),c=i(0,a.offset,a.startLoc);return e&&c.loc&&(c.loc.source=n),c.body=m(s),14!==a.currentType&&r(s,13,a.lastStartLoc,0,n[a.offset]||""),o(c,s.currentOffset(),s.currentPosition()),c}return{parse:b}}function dt(t){if(14===t.type)return"EOF";const e=(t.value||"").replace(/\r?\n/gu,"\\n");return e.length>10?e.slice(0,9)+"…":e}function pt(t,e={}){const n={ast:t,helpers:new Set},r=()=>n,i=t=>(n.helpers.add(t),t);return{context:r,helper:i}}function gt(t,e){for(let n=0;ns;function c(t,e){s.code+=t}function l(t,e=!0){const n=e?i:"";c(o?n+" ".repeat(t):n)}function u(t=!0){const e=++s.indentLevel;t&&l(e)}function h(t=!0){const e=--s.indentLevel;t&&l(e)}function f(){l(s.indentLevel)}const d=t=>`_${t}`,p=()=>s.needIndent;return{context:a,push:c,indent:u,deindent:h,newline:f,helper:d,needIndent:p}}function yt(t,e){const{helper:n}=t;t.push(`${n("linked")}(`),kt(t,e.key),e.modifier&&(t.push(", "),kt(t,e.modifier)),t.push(")")}function xt(t,e){const{helper:n,needIndent:r}=t;t.push(`${n("normalize")}([`),t.indent(r());const i=e.items.length;for(let o=0;o1){t.push(`${n("plural")}([`),t.indent(r());const i=e.cases.length;for(let n=0;n{const n=x(e.mode)?e.mode:"normal",r=x(e.filename)?e.filename:"message.intl",i=!!e.sourceMap,o=null!=e.breakLineCode?e.breakLineCode:"arrow"===n?";":"\n",s=e.needIndent?e.needIndent:"arrow"!==n,a=t.helpers||[],c=vt(t,{mode:n,filename:r,sourceMap:i,breakLineCode:o,needIndent:s});c.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),c.indent(s),a.length>0&&(c.push(`const { ${a.map((t=>`${t}: _${t}`)).join(", ")} } = ctx`),c.newline()),c.push("return "),kt(c,t),c.deindent(s),c.push("}");const{code:l,map:u}=c.context();return{ast:t,code:l,map:u?u.toJSON():void 0}};function St(t,e={}){const n=f({},e),r=ft(n),i=r.parse(t);return bt(i,n),Mt(i,n)} /*! * @intlify/devtools-if v9.1.9 * (c) 2021 kazuya kawaguchi @@ -38,23 +38,23 @@ const Ot={I18nInit:"i18n:init",FunctionTranslate:"function:translate"}; * (c) 2021 kazuya kawaguchi * Released under the MIT License. */ -let Ct=null;function Pt(t){Ct=t}function Tt(t,e,n){Ct&&Ct.emit(Ot.I18nInit,{timestamp:Date.now(),i18n:t,version:e,meta:n})}const Dt=Et(Ot.FunctionTranslate);function Et(t){return e=>Ct&&Ct.emit(t,e)}const jt="9.1.9",At=-1,Lt="";function Ft(){return{upper:t=>x(t)?t.toUpperCase():t,lower:t=>x(t)?t.toLowerCase():t,capitalize:t=>x(t)?`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`:t}}let Rt;function It(t){Rt=t}let Nt=null;const Wt=t=>{Nt=t},zt=()=>Nt;let Ht=0;function Bt(t={}){const e=x(t.version)?t.version:jt,n=x(t.locale)?t.locale:"en-US",r=v(t.fallbackLocale)||S(t.fallbackLocale)||x(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:n,i=S(t.messages)?t.messages:{[n]:{}},o=S(t.datetimeFormats)?t.datetimeFormats:{[n]:{}},s=S(t.numberFormats)?t.numberFormats:{[n]:{}},a=f({},t.modifiers||{},Ft()),c=t.pluralRules||{},u=y(t.missing)?t.missing:null,d=!_(t.missingWarn)&&!l(t.missingWarn)||t.missingWarn,p=!_(t.fallbackWarn)&&!l(t.fallbackWarn)||t.fallbackWarn,g=!!t.fallbackFormat,m=!!t.unresolving,b=y(t.postTranslation)?t.postTranslation:null,k=S(t.processor)?t.processor:null,M=!_(t.warnHtmlMessage)||t.warnHtmlMessage,O=!!t.escapeParameter,C=y(t.messageCompiler)?t.messageCompiler:Rt,P=y(t.onWarn)?t.onWarn:h,T=t,D=w(T.__datetimeFormatters)?T.__datetimeFormatters:new Map,E=w(T.__numberFormatters)?T.__numberFormatters:new Map,j=w(T.__meta)?T.__meta:{};Ht++;const A={version:e,cid:Ht,locale:n,fallbackLocale:r,messages:i,datetimeFormats:o,numberFormats:s,modifiers:a,pluralRules:c,missing:u,missingWarn:d,fallbackWarn:p,fallbackFormat:g,unresolving:m,postTranslation:b,processor:k,warnHtmlMessage:M,escapeParameter:O,messageCompiler:C,onWarn:P,__datetimeFormatters:D,__numberFormatters:E,__meta:j};return __INTLIFY_PROD_DEVTOOLS__&&Tt(A,e,j),A}function $t(t,e,n,r,i){const{missing:o,onWarn:s}=t;if(null!==o){const r=o(t,n,e,i);return x(r)?r:e}return e}function Ut(t,e,n){const r=t;r.__localeChainCache||(r.__localeChainCache=new Map);let i=r.__localeChainCache.get(n);if(!i){i=[];let t=[n];while(v(t))t=Vt(i,t,e);const o=v(e)?e:S(e)?e["default"]?e["default"]:null:e;t=x(o)?[o]:o,v(t)&&Vt(i,t,!1),r.__localeChainCache.set(n,i)}return i}function Vt(t,e,n){let r=!0;for(let i=0;it;let Xt=Object.create(null);function Gt(t,e={}){{const n=e.onCacheKey||Jt,r=n(t),i=Xt[r];if(i)return i;let o=!1;const s=e.onError||X;e.onError=t=>{o=!0,s(t)};const{code:a}=St(t,e),c=new Function(`return ${a}`)();return o?c:Xt[r]=c}}function Kt(t){return J(t,null,void 0)}const Qt=()=>"",te=t=>y(t);function ee(t,...e){const{fallbackFormat:n,postTranslation:r,unresolving:i,fallbackLocale:o,messages:s}=t,[a,c]=se(...e),l=_(c.missingWarn)?c.missingWarn:t.missingWarn,u=_(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn,h=_(c.escapeParameter)?c.escapeParameter:t.escapeParameter,d=!!c.resolvedMessage,p=x(c.default)||_(c.default)?_(c.default)?a:c.default:n?a:"",g=n||""!==p,m=x(c.locale)?c.locale:t.locale;h&&ne(c);let[b,v,y]=d?[a,m,s[m]||{}]:re(t,a,m,o,u,l),w=a;if(d||x(b)||te(b)||g&&(b=p,w=b),!d&&(!x(b)&&!te(b)||!x(v)))return i?At:a;let k=!1;const M=()=>{k=!0},S=te(b)?b:ie(t,a,v,b,w,M);if(k)return b;const O=ce(t,v,y,c),C=q(O),P=oe(t,S,C),T=r?r(P):P;if(__INTLIFY_PROD_DEVTOOLS__){const e={timestamp:Date.now(),key:x(a)?a:te(b)?b.key:"",locale:v||(te(b)?b.locale:""),format:x(b)?b:te(b)?b.source:"",message:T};e.meta=f({},t.__meta,zt()||{}),Dt(e)}return T}function ne(t){v(t.list)?t.list=t.list.map((t=>x(t)?g(t):t)):w(t.named)&&Object.keys(t.named).forEach((e=>{x(t.named[e])&&(t.named[e]=g(t.named[e]))}))}function re(t,e,n,r,i,o){const{messages:s,onWarn:a}=t,c=Ut(t,r,n);let l,u={},h=null,f=n,d=null;const p="translate";for(let g=0;g{throw s&&s(t),t},onCacheKey:t=>o(e,n,t)}}function ce(t,e,n,r){const{modifiers:i,pluralRules:o}=t,s=r=>{const i=N(n,r);if(x(i)){let n=!1;const o=()=>{n=!0},s=ie(t,r,e,i,r,o);return n?Qt:s}return te(i)?i:Qt},c={locale:e,modifiers:i,pluralRules:o,messages:s};return t.processor&&(c.processor=t.processor),r.list&&(c.list=r.list),r.named&&(c.named=r.named),a(r.plural)&&(c.pluralIndex=r.plural),c}const le="undefined"!==typeof Intl;le&&Intl.DateTimeFormat,le&&Intl.NumberFormat;function ue(t,...e){const{datetimeFormats:n,unresolving:r,fallbackLocale:i,onWarn:o}=t,{__datetimeFormatters:s}=t;const[a,c,l,h]=he(...e),d=_(l.missingWarn)?l.missingWarn:t.missingWarn,p=(_(l.fallbackWarn)?l.fallbackWarn:t.fallbackWarn,!!l.part),g=x(l.locale)?l.locale:t.locale,m=Ut(t,i,g);if(!x(a)||""===a)return new Intl.DateTimeFormat(g).format(c);let b,v={},y=null,w=g,k=null;const M="datetime format";for(let u=0;uCt&&Ct.emit(t,e)}const jt="9.1.9",At=-1,Lt="";function Ft(){return{upper:t=>x(t)?t.toUpperCase():t,lower:t=>x(t)?t.toLowerCase():t,capitalize:t=>x(t)?`${t.charAt(0).toLocaleUpperCase()}${t.substr(1)}`:t}}let It;function Rt(t){It=t}let Nt=null;const Wt=t=>{Nt=t},zt=()=>Nt;let Ht=0;function $t(t={}){const e=x(t.version)?t.version:jt,n=x(t.locale)?t.locale:"en-US",r=v(t.fallbackLocale)||S(t.fallbackLocale)||x(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:n,i=S(t.messages)?t.messages:{[n]:{}},o=S(t.datetimeFormats)?t.datetimeFormats:{[n]:{}},s=S(t.numberFormats)?t.numberFormats:{[n]:{}},a=f({},t.modifiers||{},Ft()),c=t.pluralRules||{},u=y(t.missing)?t.missing:null,d=!_(t.missingWarn)&&!l(t.missingWarn)||t.missingWarn,p=!_(t.fallbackWarn)&&!l(t.fallbackWarn)||t.fallbackWarn,g=!!t.fallbackFormat,m=!!t.unresolving,b=y(t.postTranslation)?t.postTranslation:null,k=S(t.processor)?t.processor:null,M=!_(t.warnHtmlMessage)||t.warnHtmlMessage,O=!!t.escapeParameter,C=y(t.messageCompiler)?t.messageCompiler:It,P=y(t.onWarn)?t.onWarn:h,T=t,D=w(T.__datetimeFormatters)?T.__datetimeFormatters:new Map,E=w(T.__numberFormatters)?T.__numberFormatters:new Map,j=w(T.__meta)?T.__meta:{};Ht++;const A={version:e,cid:Ht,locale:n,fallbackLocale:r,messages:i,datetimeFormats:o,numberFormats:s,modifiers:a,pluralRules:c,missing:u,missingWarn:d,fallbackWarn:p,fallbackFormat:g,unresolving:m,postTranslation:b,processor:k,warnHtmlMessage:M,escapeParameter:O,messageCompiler:C,onWarn:P,__datetimeFormatters:D,__numberFormatters:E,__meta:j};return __INTLIFY_PROD_DEVTOOLS__&&Tt(A,e,j),A}function Bt(t,e,n,r,i){const{missing:o,onWarn:s}=t;if(null!==o){const r=o(t,n,e,i);return x(r)?r:e}return e}function Ut(t,e,n){const r=t;r.__localeChainCache||(r.__localeChainCache=new Map);let i=r.__localeChainCache.get(n);if(!i){i=[];let t=[n];while(v(t))t=Vt(i,t,e);const o=v(e)?e:S(e)?e["default"]?e["default"]:null:e;t=x(o)?[o]:o,v(t)&&Vt(i,t,!1),r.__localeChainCache.set(n,i)}return i}function Vt(t,e,n){let r=!0;for(let i=0;it;let Gt=Object.create(null);function Xt(t,e={}){{const n=e.onCacheKey||Jt,r=n(t),i=Gt[r];if(i)return i;let o=!1;const s=e.onError||G;e.onError=t=>{o=!0,s(t)};const{code:a}=St(t,e),c=new Function(`return ${a}`)();return o?c:Gt[r]=c}}function Kt(t){return J(t,null,void 0)}const Qt=()=>"",te=t=>y(t);function ee(t,...e){const{fallbackFormat:n,postTranslation:r,unresolving:i,fallbackLocale:o,messages:s}=t,[a,c]=se(...e),l=_(c.missingWarn)?c.missingWarn:t.missingWarn,u=_(c.fallbackWarn)?c.fallbackWarn:t.fallbackWarn,h=_(c.escapeParameter)?c.escapeParameter:t.escapeParameter,d=!!c.resolvedMessage,p=x(c.default)||_(c.default)?_(c.default)?a:c.default:n?a:"",g=n||""!==p,m=x(c.locale)?c.locale:t.locale;h&&ne(c);let[b,v,y]=d?[a,m,s[m]||{}]:re(t,a,m,o,u,l),w=a;if(d||x(b)||te(b)||g&&(b=p,w=b),!d&&(!x(b)&&!te(b)||!x(v)))return i?At:a;let k=!1;const M=()=>{k=!0},S=te(b)?b:ie(t,a,v,b,w,M);if(k)return b;const O=ce(t,v,y,c),C=q(O),P=oe(t,S,C),T=r?r(P):P;if(__INTLIFY_PROD_DEVTOOLS__){const e={timestamp:Date.now(),key:x(a)?a:te(b)?b.key:"",locale:v||(te(b)?b.locale:""),format:x(b)?b:te(b)?b.source:"",message:T};e.meta=f({},t.__meta,zt()||{}),Dt(e)}return T}function ne(t){v(t.list)?t.list=t.list.map((t=>x(t)?g(t):t)):w(t.named)&&Object.keys(t.named).forEach((e=>{x(t.named[e])&&(t.named[e]=g(t.named[e]))}))}function re(t,e,n,r,i,o){const{messages:s,onWarn:a}=t,c=Ut(t,r,n);let l,u={},h=null,f=n,d=null;const p="translate";for(let g=0;g{throw s&&s(t),t},onCacheKey:t=>o(e,n,t)}}function ce(t,e,n,r){const{modifiers:i,pluralRules:o}=t,s=r=>{const i=N(n,r);if(x(i)){let n=!1;const o=()=>{n=!0},s=ie(t,r,e,i,r,o);return n?Qt:s}return te(i)?i:Qt},c={locale:e,modifiers:i,pluralRules:o,messages:s};return t.processor&&(c.processor=t.processor),r.list&&(c.list=r.list),r.named&&(c.named=r.named),a(r.plural)&&(c.pluralIndex=r.plural),c}const le="undefined"!==typeof Intl;le&&Intl.DateTimeFormat,le&&Intl.NumberFormat;function ue(t,...e){const{datetimeFormats:n,unresolving:r,fallbackLocale:i,onWarn:o}=t,{__datetimeFormatters:s}=t;const[a,c,l,h]=he(...e),d=_(l.missingWarn)?l.missingWarn:t.missingWarn,p=(_(l.fallbackWarn)?l.fallbackWarn:t.fallbackWarn,!!l.part),g=x(l.locale)?l.locale:t.locale,m=Ut(t,i,g);if(!x(a)||""===a)return new Intl.DateTimeFormat(g).format(c);let b,v={},y=null,w=g,k=null;const M="datetime format";for(let u=0;ut(n,r,(0,me.FN)()||void 0,i)}function Te(t,e){const{messages:n,__i18n:r}=e,i=S(n)?n:v(r)?{}:{[t]:{}};if(v(r)&&r.forEach((({locale:t,resource:e})=>{t?(i[t]=i[t]||{},Ee(e,i[t])):Ee(e,i)})),e.flatJson)for(const o in i)b(i,o)&&W(i[o]);return i}const De=t=>!w(t)||v(t);function Ee(t,e){if(De(t)||De(e))throw xe(20);for(const n in t)b(t,n)&&(De(t[n])||De(e[n])?e[n]=t[n]:Ee(t[n],e[n]))}const je=()=>{const t=(0,me.FN)();return t&&t.type[_e]?{[_e]:t.type[_e]}:null};function Ae(t={}){const{__root:e}=t,n=void 0===e;let r=!_(t.inheritLocale)||t.inheritLocale;const i=(0,be.iH)(e&&r?e.locale.value:x(t.locale)?t.locale:"en-US"),o=(0,be.iH)(e&&r?e.fallbackLocale.value:x(t.fallbackLocale)||v(t.fallbackLocale)||S(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:i.value),s=(0,be.iH)(Te(i.value,t)),c=(0,be.iH)(S(t.datetimeFormats)?t.datetimeFormats:{[i.value]:{}}),u=(0,be.iH)(S(t.numberFormats)?t.numberFormats:{[i.value]:{}});let h=e?e.missingWarn:!_(t.missingWarn)&&!l(t.missingWarn)||t.missingWarn,d=e?e.fallbackWarn:!_(t.fallbackWarn)&&!l(t.fallbackWarn)||t.fallbackWarn,p=e?e.fallbackRoot:!_(t.fallbackRoot)||t.fallbackRoot,g=!!t.fallbackFormat,m=y(t.missing)?t.missing:null,b=y(t.missing)?Pe(t.missing):null,k=y(t.postTranslation)?t.postTranslation:null,M=!_(t.warnHtmlMessage)||t.warnHtmlMessage,O=!!t.escapeParameter;const C=e?e.modifiers:S(t.modifiers)?t.modifiers:{};let P,T=t.pluralRules||e&&e.pluralRules;function D(){return Bt({version:ve,locale:i.value,fallbackLocale:o.value,messages:s.value,datetimeFormats:c.value,numberFormats:u.value,modifiers:C,pluralRules:T,missing:null===b?void 0:b,missingWarn:h,fallbackWarn:d,fallbackFormat:g,unresolving:!0,postTranslation:null===k?void 0:k,warnHtmlMessage:M,escapeParameter:O,__datetimeFormatters:S(P)?P.__datetimeFormatters:void 0,__numberFormatters:S(P)?P.__numberFormatters:void 0,__v_emitter:S(P)?P.__v_emitter:void 0,__meta:{framework:"vue"}})}function E(){return[i.value,o.value,s.value,c.value,u.value]}P=D(),qt(P,i.value,o.value);const j=(0,me.Fl)({get:()=>i.value,set:t=>{i.value=t,P.locale=i.value}}),A=(0,me.Fl)({get:()=>o.value,set:t=>{o.value=t,P.fallbackLocale=o.value,qt(P,i.value,t)}}),L=(0,me.Fl)((()=>s.value)),F=(0,me.Fl)((()=>c.value)),R=(0,me.Fl)((()=>u.value));function I(){return y(k)?k:null}function W(t){k=t,P.postTranslation=t}function z(){return m}function H(t){null!==t&&(b=Pe(t)),m=t,P.missing=b}function B(t,n,r,i,o,s){let c;if(E(),__INTLIFY_PROD_DEVTOOLS__)try{Wt(je()),c=t(P)}finally{Wt(null)}else c=t(P);if(a(c)&&c===At){const[t,r]=n();return e&&p?i(e):o(t)}if(s(c))return c;throw xe(14)}function $(...t){return B((e=>ee(e,...t)),(()=>se(...t)),"translate",(e=>e.t(...t)),(t=>t),(t=>x(t)))}function U(...t){const[e,n,r]=t;if(r&&!w(r))throw xe(15);return $(e,n,f({resolvedMessage:!0},r||{}))}function V(...t){return B((e=>ue(e,...t)),(()=>he(...t)),"datetime format",(e=>e.d(...t)),(()=>Lt),(t=>x(t)))}function Z(...t){return B((e=>de(e,...t)),(()=>pe(...t)),"number format",(e=>e.n(...t)),(()=>Lt),(t=>x(t)))}function Y(t){return t.map((t=>x(t)?(0,me.Wm)(me.xv,null,t,0):t))}const q=t=>t,J={normalize:Y,interpolate:q,type:"vnode"};function X(...t){return B((e=>{let n;const r=e;try{r.processor=J,n=ee(r,...t)}finally{r.processor=null}return n}),(()=>se(...t)),"translate",(e=>e[we](...t)),(t=>[(0,me.Wm)(me.xv,null,t,0)]),(t=>v(t)))}function G(...t){return B((e=>de(e,...t)),(()=>pe(...t)),"number format",(e=>e[Me](...t)),(()=>[]),(t=>x(t)||v(t)))}function K(...t){return B((e=>ue(e,...t)),(()=>he(...t)),"datetime format",(e=>e[ke](...t)),(()=>[]),(t=>x(t)||v(t)))}function Q(t){T=t,P.pluralRules=T}function tt(t,e){const n=x(e)?e:i.value,r=rt(n);return null!==N(r,t)}function et(t){let e=null;const n=Ut(P,o.value,i.value);for(let r=0;r{r&&(i.value=t,P.locale=t,qt(P,i.value,o.value))})),(0,me.YP)(e.fallbackLocale,(t=>{r&&(o.value=t,P.fallbackLocale=t,qt(P,i.value,o.value))})));const ft={id:Ce,locale:j,fallbackLocale:A,get inheritLocale(){return r},set inheritLocale(t){r=t,t&&e&&(i.value=e.locale.value,o.value=e.fallbackLocale.value,qt(P,i.value,o.value))},get availableLocales(){return Object.keys(s.value).sort()},messages:L,datetimeFormats:F,numberFormats:R,get modifiers(){return C},get pluralRules(){return T||{}},get isGlobal(){return n},get missingWarn(){return h},set missingWarn(t){h=t,P.missingWarn=h},get fallbackWarn(){return d},set fallbackWarn(t){d=t,P.fallbackWarn=d},get fallbackRoot(){return p},set fallbackRoot(t){p=t},get fallbackFormat(){return g},set fallbackFormat(t){g=t,P.fallbackFormat=g},get warnHtmlMessage(){return M},set warnHtmlMessage(t){M=t,P.warnHtmlMessage=t},get escapeParameter(){return O},set escapeParameter(t){O=t,P.escapeParameter=t},t:$,rt:U,d:V,n:Z,te:tt,tm:nt,getLocaleMessage:rt,setLocaleMessage:it,mergeLocaleMessage:ot,getDateTimeFormat:st,setDateTimeFormat:at,mergeDateTimeFormat:ct,getNumberFormat:lt,setNumberFormat:ut,mergeNumberFormat:ht,getPostTranslationHandler:I,setPostTranslationHandler:W,getMissingHandler:z,setMissingHandler:H,[we]:X,[Me]:G,[ke]:K,[Se]:Q,[Oe]:t.__injectWithOption};return ft}function Le(t){const e=x(t.locale)?t.locale:"en-US",n=x(t.fallbackLocale)||v(t.fallbackLocale)||S(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:e,r=y(t.missing)?t.missing:void 0,i=!_(t.silentTranslationWarn)&&!l(t.silentTranslationWarn)||!t.silentTranslationWarn,o=!_(t.silentFallbackWarn)&&!l(t.silentFallbackWarn)||!t.silentFallbackWarn,s=!_(t.fallbackRoot)||t.fallbackRoot,a=!!t.formatFallbackMessages,c=S(t.modifiers)?t.modifiers:{},u=t.pluralizationRules,h=y(t.postTranslation)?t.postTranslation:void 0,d=!x(t.warnHtmlInMessage)||"off"!==t.warnHtmlInMessage,p=!!t.escapeParameterHtml,g=!_(t.sync)||t.sync;let m=t.messages;if(S(t.sharedMessages)){const e=t.sharedMessages,n=Object.keys(e);m=n.reduce(((t,n)=>{const r=t[n]||(t[n]={});return f(r,e[n]),t}),m||{})}const{__i18n:b,__root:w,__injectWithOption:k}=t,M=t.datetimeFormats,O=t.numberFormats,C=t.flatJson;return{locale:e,fallbackLocale:n,messages:m,flatJson:C,datetimeFormats:M,numberFormats:O,missing:r,missingWarn:i,fallbackWarn:o,fallbackRoot:s,fallbackFormat:a,modifiers:c,pluralRules:u,postTranslation:h,warnHtmlMessage:d,escapeParameter:p,inheritLocale:g,__i18n:b,__root:w,__injectWithOption:k}}function Fe(t={}){const e=Ae(Le(t)),n={id:e.id,get locale(){return e.locale.value},set locale(t){e.locale.value=t},get fallbackLocale(){return e.fallbackLocale.value},set fallbackLocale(t){e.fallbackLocale.value=t},get messages(){return e.messages.value},get datetimeFormats(){return e.datetimeFormats.value},get numberFormats(){return e.numberFormats.value},get availableLocales(){return e.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(t){},get missing(){return e.getMissingHandler()},set missing(t){e.setMissingHandler(t)},get silentTranslationWarn(){return _(e.missingWarn)?!e.missingWarn:e.missingWarn},set silentTranslationWarn(t){e.missingWarn=_(t)?!t:t},get silentFallbackWarn(){return _(e.fallbackWarn)?!e.fallbackWarn:e.fallbackWarn},set silentFallbackWarn(t){e.fallbackWarn=_(t)?!t:t},get modifiers(){return e.modifiers},get formatFallbackMessages(){return e.fallbackFormat},set formatFallbackMessages(t){e.fallbackFormat=t},get postTranslation(){return e.getPostTranslationHandler()},set postTranslation(t){e.setPostTranslationHandler(t)},get sync(){return e.inheritLocale},set sync(t){e.inheritLocale=t},get warnHtmlInMessage(){return e.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(t){e.warnHtmlMessage="off"!==t},get escapeParameterHtml(){return e.escapeParameter},set escapeParameterHtml(t){e.escapeParameter=t},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(t){},get pluralizationRules(){return e.pluralRules||{}},__composer:e,t(...t){const[n,r,i]=t,o={};let s=null,a=null;if(!x(n))throw xe(15);const c=n;return x(r)?o.locale=r:v(r)?s=r:S(r)&&(a=r),v(i)?s=i:S(i)&&(a=i),e.t(c,s||a||{},o)},rt(...t){return e.rt(...t)},tc(...t){const[n,r,i]=t,o={plural:1};let s=null,c=null;if(!x(n))throw xe(15);const l=n;return x(r)?o.locale=r:a(r)?o.plural=r:v(r)?s=r:S(r)&&(c=r),x(i)?o.locale=i:v(i)?s=i:S(i)&&(c=i),e.t(l,s||c||{},o)},te(t,n){return e.te(t,n)},tm(t){return e.tm(t)},getLocaleMessage(t){return e.getLocaleMessage(t)},setLocaleMessage(t,n){e.setLocaleMessage(t,n)},mergeLocaleMessage(t,n){e.mergeLocaleMessage(t,n)},d(...t){return e.d(...t)},getDateTimeFormat(t){return e.getDateTimeFormat(t)},setDateTimeFormat(t,n){e.setDateTimeFormat(t,n)},mergeDateTimeFormat(t,n){e.mergeDateTimeFormat(t,n)},n(...t){return e.n(...t)},getNumberFormat(t){return e.getNumberFormat(t)},setNumberFormat(t,n){e.setNumberFormat(t,n)},mergeNumberFormat(t,n){e.mergeNumberFormat(t,n)},getChoiceIndex(t,e){return-1},__onComponentInstanceCreated(e){const{componentInstanceCreatedListener:r}=t;r&&r(e,n)}};return n}const Re={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>"parent"===t||"global"===t,default:"parent"},i18n:{type:Object}},Ie={name:"i18n-t",props:f({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>a(t)||!isNaN(t)}},Re),setup(t,e){const{slots:n,attrs:r}=e,i=t.i18n||Ke({useScope:t.scope,__useComponent:!0}),o=Object.keys(n).filter((t=>"_"!==t));return()=>{const n={};t.locale&&(n.locale=t.locale),void 0!==t.plural&&(n.plural=x(t.plural)?+t.plural:t.plural);const s=Ne(e,o),a=i[we](t.keypath,s,n),c=f({},r);return x(t.tag)||w(t.tag)?(0,me.h)(t.tag,c,a):(0,me.h)(me.HY,c,a)}}};function Ne({slots:t},e){return 1===e.length&&"default"===e[0]?t.default?t.default():[]:e.reduce(((e,n)=>{const r=t[n];return r&&(e[n]=r()),e}),{})}function We(t,e,n,r){const{slots:i,attrs:o}=e;return()=>{const e={part:!0};let s={};t.locale&&(e.locale=t.locale),x(t.format)?e.key=t.format:w(t.format)&&(x(t.format.key)&&(e.key=t.format.key),s=Object.keys(t.format).reduce(((e,r)=>n.includes(r)?f({},e,{[r]:t.format[r]}):e),{}));const a=r(t.value,e,s);let c=[e.key];v(a)?c=a.map(((t,e)=>{const n=i[t.type];return n?n({[t.type]:t.value,index:e,parts:a}):[t.value]})):x(a)&&(c=[a]);const l=f({},o);return x(t.tag)||w(t.tag)?(0,me.h)(t.tag,l,c):(0,me.h)(me.HY,l,c)}}const ze=["localeMatcher","style","unit","unitDisplay","currency","currencyDisplay","useGrouping","numberingSystem","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","notation","formatMatcher"],He={name:"i18n-n",props:f({value:{type:Number,required:!0},format:{type:[String,Object]}},Re),setup(t,e){const n=t.i18n||Ke({useScope:"parent",__useComponent:!0});return We(t,e,ze,((...t)=>n[Me](...t)))}},Be=["dateStyle","timeStyle","fractionalSecondDigits","calendar","dayPeriod","numberingSystem","localeMatcher","timeZone","hour12","hourCycle","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"],$e={name:"i18n-d",props:f({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Re),setup(t,e){const n=t.i18n||Ke({useScope:"parent",__useComponent:!0});return We(t,e,Be,((...t)=>n[ke](...t)))}};function Ue(t,e){const n=t;if("composition"===t.mode)return n.__getInstance(e)||t.global;{const r=n.__getInstance(e);return null!=r?r.__composer:t.global.__composer}}function Ve(t){const e=(e,{instance:n,value:r,modifiers:i})=>{if(!n||!n.$)throw xe(22);const o=Ue(t,n.$);const s=Ze(r);e.textContent=o.t(...Ye(s))};return{beforeMount:e,beforeUpdate:e}}function Ze(t){if(x(t))return{path:t};if(S(t)){if(!("path"in t))throw xe(19,"path");return t}throw xe(20)}function Ye(t){const{path:e,locale:n,args:r,choice:i,plural:o}=t,s={},c=r||{};return x(n)&&(s.locale=n),a(i)&&(s.plural=i),a(o)&&(s.plural=o),[e,c,s]}function qe(t,e,...n){const r=S(n[0])?n[0]:{},i=!!r.useI18nComponentName,o=!_(r.globalInstall)||r.globalInstall;o&&(t.component(i?"i18n":Ie.name,Ie),t.component(He.name,He),t.component($e.name,$e)),t.directive("t",Ve(e))}function Je(t,e,n){return{beforeCreate(){const r=(0,me.FN)();if(!r)throw xe(22);const i=this.$options;if(i.i18n){const n=i.i18n;i.__i18n&&(n.__i18n=i.__i18n),n.__root=e,this===this.$root?this.$i18n=Xe(t,n):(n.__injectWithOption=!0,this.$i18n=Fe(n))}else i.__i18n?this===this.$root?this.$i18n=Xe(t,i):this.$i18n=Fe({__i18n:i.__i18n,__injectWithOption:!0,__root:e}):this.$i18n=t;t.__onComponentInstanceCreated(this.$i18n),n.__setInstance(r,this.$i18n),this.$t=(...t)=>this.$i18n.t(...t),this.$rt=(...t)=>this.$i18n.rt(...t),this.$tc=(...t)=>this.$i18n.tc(...t),this.$te=(t,e)=>this.$i18n.te(t,e),this.$d=(...t)=>this.$i18n.d(...t),this.$n=(...t)=>this.$i18n.n(...t),this.$tm=t=>this.$i18n.tm(t)},mounted(){0},beforeUnmount(){const t=(0,me.FN)();if(!t)throw xe(22);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(t),delete this.$i18n}}}function Xe(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[Se](e.pluralizationRules||t.pluralizationRules);const n=Te(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(n).forEach((e=>t.mergeLocaleMessage(e,n[e]))),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach((n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n]))),e.numberFormats&&Object.keys(e.numberFormats).forEach((n=>t.mergeNumberFormat(n,e.numberFormats[n]))),t}function Ge(t={}){const e=!_(t.legacy)||t.legacy,n=!!t.globalInjection,r=new Map,o=e?Fe(t):Ae(t),s=i(""),a={get mode(){return e?"legacy":"composition"},async install(t,...r){t.__VUE_I18N_SYMBOL__=s,t.provide(t.__VUE_I18N_SYMBOL__,a),!e&&n&&rn(t,a.global),qe(t,a,...r),e&&t.mixin(Je(o,o.__composer,a))},get global(){return o},__instances:r,__getInstance(t){return r.get(t)||null},__setInstance(t,e){r.set(t,e)},__deleteInstance(t){r.delete(t)}};return a}function Ke(t={}){const e=(0,me.FN)();if(null==e)throw xe(16);if(!e.appContext.app.__VUE_I18N_SYMBOL__)throw xe(17);const n=(0,me.f3)(e.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw xe(22);const r="composition"===n.mode?n.global:n.global.__composer,i=u(t)?"__i18n"in e.type?"local":"global":t.useScope?t.useScope:"local";if("global"===i){let n=w(t.messages)?t.messages:{};"__i18nGlobal"in e.type&&(n=Te(r.locale.value,{messages:n,__i18n:e.type.__i18nGlobal}));const i=Object.keys(n);if(i.length&&i.forEach((t=>{r.mergeLocaleMessage(t,n[t])})),w(t.datetimeFormats)){const e=Object.keys(t.datetimeFormats);e.length&&e.forEach((e=>{r.mergeDateTimeFormat(e,t.datetimeFormats[e])}))}if(w(t.numberFormats)){const e=Object.keys(t.numberFormats);e.length&&e.forEach((e=>{r.mergeNumberFormat(e,t.numberFormats[e])}))}return r}if("parent"===i){let i=Qe(n,e,t.__useComponent);return null==i&&(i=r),i}if("legacy"===n.mode)throw xe(18);const o=n;let s=o.__getInstance(e);if(null==s){const n=e.type,i=f({},t);n.__i18n&&(i.__i18n=n.__i18n),r&&(i.__root=r),s=Ae(i),tn(o,e,s),o.__setInstance(e,s)}return s}function Qe(t,e,n=!1){let r=null;const i=e.root;let o=e.parent;while(null!=o){const e=t;if("composition"===t.mode)r=e.__getInstance(o);else{const t=e.__getInstance(o);null!=t&&(r=t.__composer),n&&r&&!r[Oe]&&(r=null)}if(null!=r)break;if(i===o)break;o=o.parent}return r}function tn(t,e,n){(0,me.bv)((()=>{0}),e),(0,me.Ah)((()=>{t.__deleteInstance(e)}),e)}const en=["locale","fallbackLocale","availableLocales"],nn=["t","rt","d","n","tm"];function rn(t,e){const n=Object.create(null);en.forEach((t=>{const r=Object.getOwnPropertyDescriptor(e,t);if(!r)throw xe(22);const i=(0,be.dq)(r.value)?{get(){return r.value.value},set(t){r.value.value=t}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,t,i)})),t.config.globalProperties.$i18n=n,nn.forEach((n=>{const r=Object.getOwnPropertyDescriptor(e,n);if(!r||!r.value)throw xe(22);Object.defineProperty(t.config.globalProperties,`$${n}`,r)}))}if(It(Gt),ye(),__INTLIFY_PROD_DEVTOOLS__){const t=p();t.__INTLIFY__=!0,Pt(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}},3744:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n}},2119:function(t,e,n){"use strict";n.d(e,{p7:function(){return te},PO:function(){return V},yj:function(){return ie},tv:function(){return re}});var r=n(6252),i=n(2262); +const ve="9.1.9";function ye(){"boolean"!==typeof __INTLIFY_PROD_DEVTOOLS__&&(p().__INTLIFY_PROD_DEVTOOLS__=!1)}function xe(t,...e){return J(t,null,void 0)}const _e="__INTLIFY_META__",we=i("__transrateVNode"),ke=i("__datetimeParts"),Me=i("__numberParts"),Se=(i("__enableEmitter"),i("__disableEmitter"),i("__setPluralRules"));i("__intlifyMeta");const Oe=i("__injectWithOption");let Ce=0;function Pe(t){return(e,n,r,i)=>t(n,r,(0,me.FN)()||void 0,i)}function Te(t,e){const{messages:n,__i18n:r}=e,i=S(n)?n:v(r)?{}:{[t]:{}};if(v(r)&&r.forEach((({locale:t,resource:e})=>{t?(i[t]=i[t]||{},Ee(e,i[t])):Ee(e,i)})),e.flatJson)for(const o in i)b(i,o)&&W(i[o]);return i}const De=t=>!w(t)||v(t);function Ee(t,e){if(De(t)||De(e))throw xe(20);for(const n in t)b(t,n)&&(De(t[n])||De(e[n])?e[n]=t[n]:Ee(t[n],e[n]))}const je=()=>{const t=(0,me.FN)();return t&&t.type[_e]?{[_e]:t.type[_e]}:null};function Ae(t={}){const{__root:e}=t,n=void 0===e;let r=!_(t.inheritLocale)||t.inheritLocale;const i=(0,be.iH)(e&&r?e.locale.value:x(t.locale)?t.locale:"en-US"),o=(0,be.iH)(e&&r?e.fallbackLocale.value:x(t.fallbackLocale)||v(t.fallbackLocale)||S(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:i.value),s=(0,be.iH)(Te(i.value,t)),c=(0,be.iH)(S(t.datetimeFormats)?t.datetimeFormats:{[i.value]:{}}),u=(0,be.iH)(S(t.numberFormats)?t.numberFormats:{[i.value]:{}});let h=e?e.missingWarn:!_(t.missingWarn)&&!l(t.missingWarn)||t.missingWarn,d=e?e.fallbackWarn:!_(t.fallbackWarn)&&!l(t.fallbackWarn)||t.fallbackWarn,p=e?e.fallbackRoot:!_(t.fallbackRoot)||t.fallbackRoot,g=!!t.fallbackFormat,m=y(t.missing)?t.missing:null,b=y(t.missing)?Pe(t.missing):null,k=y(t.postTranslation)?t.postTranslation:null,M=!_(t.warnHtmlMessage)||t.warnHtmlMessage,O=!!t.escapeParameter;const C=e?e.modifiers:S(t.modifiers)?t.modifiers:{};let P,T=t.pluralRules||e&&e.pluralRules;function D(){return $t({version:ve,locale:i.value,fallbackLocale:o.value,messages:s.value,datetimeFormats:c.value,numberFormats:u.value,modifiers:C,pluralRules:T,missing:null===b?void 0:b,missingWarn:h,fallbackWarn:d,fallbackFormat:g,unresolving:!0,postTranslation:null===k?void 0:k,warnHtmlMessage:M,escapeParameter:O,__datetimeFormatters:S(P)?P.__datetimeFormatters:void 0,__numberFormatters:S(P)?P.__numberFormatters:void 0,__v_emitter:S(P)?P.__v_emitter:void 0,__meta:{framework:"vue"}})}function E(){return[i.value,o.value,s.value,c.value,u.value]}P=D(),qt(P,i.value,o.value);const j=(0,me.Fl)({get:()=>i.value,set:t=>{i.value=t,P.locale=i.value}}),A=(0,me.Fl)({get:()=>o.value,set:t=>{o.value=t,P.fallbackLocale=o.value,qt(P,i.value,t)}}),L=(0,me.Fl)((()=>s.value)),F=(0,me.Fl)((()=>c.value)),I=(0,me.Fl)((()=>u.value));function R(){return y(k)?k:null}function W(t){k=t,P.postTranslation=t}function z(){return m}function H(t){null!==t&&(b=Pe(t)),m=t,P.missing=b}function $(t,n,r,i,o,s){let c;if(E(),__INTLIFY_PROD_DEVTOOLS__)try{Wt(je()),c=t(P)}finally{Wt(null)}else c=t(P);if(a(c)&&c===At){const[t,r]=n();return e&&p?i(e):o(t)}if(s(c))return c;throw xe(14)}function B(...t){return $((e=>ee(e,...t)),(()=>se(...t)),"translate",(e=>e.t(...t)),(t=>t),(t=>x(t)))}function U(...t){const[e,n,r]=t;if(r&&!w(r))throw xe(15);return B(e,n,f({resolvedMessage:!0},r||{}))}function V(...t){return $((e=>ue(e,...t)),(()=>he(...t)),"datetime format",(e=>e.d(...t)),(()=>Lt),(t=>x(t)))}function Z(...t){return $((e=>de(e,...t)),(()=>pe(...t)),"number format",(e=>e.n(...t)),(()=>Lt),(t=>x(t)))}function Y(t){return t.map((t=>x(t)?(0,me.Wm)(me.xv,null,t,0):t))}const q=t=>t,J={normalize:Y,interpolate:q,type:"vnode"};function G(...t){return $((e=>{let n;const r=e;try{r.processor=J,n=ee(r,...t)}finally{r.processor=null}return n}),(()=>se(...t)),"translate",(e=>e[we](...t)),(t=>[(0,me.Wm)(me.xv,null,t,0)]),(t=>v(t)))}function X(...t){return $((e=>de(e,...t)),(()=>pe(...t)),"number format",(e=>e[Me](...t)),(()=>[]),(t=>x(t)||v(t)))}function K(...t){return $((e=>ue(e,...t)),(()=>he(...t)),"datetime format",(e=>e[ke](...t)),(()=>[]),(t=>x(t)||v(t)))}function Q(t){T=t,P.pluralRules=T}function tt(t,e){const n=x(e)?e:i.value,r=rt(n);return null!==N(r,t)}function et(t){let e=null;const n=Ut(P,o.value,i.value);for(let r=0;r{r&&(i.value=t,P.locale=t,qt(P,i.value,o.value))})),(0,me.YP)(e.fallbackLocale,(t=>{r&&(o.value=t,P.fallbackLocale=t,qt(P,i.value,o.value))})));const ft={id:Ce,locale:j,fallbackLocale:A,get inheritLocale(){return r},set inheritLocale(t){r=t,t&&e&&(i.value=e.locale.value,o.value=e.fallbackLocale.value,qt(P,i.value,o.value))},get availableLocales(){return Object.keys(s.value).sort()},messages:L,datetimeFormats:F,numberFormats:I,get modifiers(){return C},get pluralRules(){return T||{}},get isGlobal(){return n},get missingWarn(){return h},set missingWarn(t){h=t,P.missingWarn=h},get fallbackWarn(){return d},set fallbackWarn(t){d=t,P.fallbackWarn=d},get fallbackRoot(){return p},set fallbackRoot(t){p=t},get fallbackFormat(){return g},set fallbackFormat(t){g=t,P.fallbackFormat=g},get warnHtmlMessage(){return M},set warnHtmlMessage(t){M=t,P.warnHtmlMessage=t},get escapeParameter(){return O},set escapeParameter(t){O=t,P.escapeParameter=t},t:B,rt:U,d:V,n:Z,te:tt,tm:nt,getLocaleMessage:rt,setLocaleMessage:it,mergeLocaleMessage:ot,getDateTimeFormat:st,setDateTimeFormat:at,mergeDateTimeFormat:ct,getNumberFormat:lt,setNumberFormat:ut,mergeNumberFormat:ht,getPostTranslationHandler:R,setPostTranslationHandler:W,getMissingHandler:z,setMissingHandler:H,[we]:G,[Me]:X,[ke]:K,[Se]:Q,[Oe]:t.__injectWithOption};return ft}function Le(t){const e=x(t.locale)?t.locale:"en-US",n=x(t.fallbackLocale)||v(t.fallbackLocale)||S(t.fallbackLocale)||!1===t.fallbackLocale?t.fallbackLocale:e,r=y(t.missing)?t.missing:void 0,i=!_(t.silentTranslationWarn)&&!l(t.silentTranslationWarn)||!t.silentTranslationWarn,o=!_(t.silentFallbackWarn)&&!l(t.silentFallbackWarn)||!t.silentFallbackWarn,s=!_(t.fallbackRoot)||t.fallbackRoot,a=!!t.formatFallbackMessages,c=S(t.modifiers)?t.modifiers:{},u=t.pluralizationRules,h=y(t.postTranslation)?t.postTranslation:void 0,d=!x(t.warnHtmlInMessage)||"off"!==t.warnHtmlInMessage,p=!!t.escapeParameterHtml,g=!_(t.sync)||t.sync;let m=t.messages;if(S(t.sharedMessages)){const e=t.sharedMessages,n=Object.keys(e);m=n.reduce(((t,n)=>{const r=t[n]||(t[n]={});return f(r,e[n]),t}),m||{})}const{__i18n:b,__root:w,__injectWithOption:k}=t,M=t.datetimeFormats,O=t.numberFormats,C=t.flatJson;return{locale:e,fallbackLocale:n,messages:m,flatJson:C,datetimeFormats:M,numberFormats:O,missing:r,missingWarn:i,fallbackWarn:o,fallbackRoot:s,fallbackFormat:a,modifiers:c,pluralRules:u,postTranslation:h,warnHtmlMessage:d,escapeParameter:p,inheritLocale:g,__i18n:b,__root:w,__injectWithOption:k}}function Fe(t={}){const e=Ae(Le(t)),n={id:e.id,get locale(){return e.locale.value},set locale(t){e.locale.value=t},get fallbackLocale(){return e.fallbackLocale.value},set fallbackLocale(t){e.fallbackLocale.value=t},get messages(){return e.messages.value},get datetimeFormats(){return e.datetimeFormats.value},get numberFormats(){return e.numberFormats.value},get availableLocales(){return e.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(t){},get missing(){return e.getMissingHandler()},set missing(t){e.setMissingHandler(t)},get silentTranslationWarn(){return _(e.missingWarn)?!e.missingWarn:e.missingWarn},set silentTranslationWarn(t){e.missingWarn=_(t)?!t:t},get silentFallbackWarn(){return _(e.fallbackWarn)?!e.fallbackWarn:e.fallbackWarn},set silentFallbackWarn(t){e.fallbackWarn=_(t)?!t:t},get modifiers(){return e.modifiers},get formatFallbackMessages(){return e.fallbackFormat},set formatFallbackMessages(t){e.fallbackFormat=t},get postTranslation(){return e.getPostTranslationHandler()},set postTranslation(t){e.setPostTranslationHandler(t)},get sync(){return e.inheritLocale},set sync(t){e.inheritLocale=t},get warnHtmlInMessage(){return e.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(t){e.warnHtmlMessage="off"!==t},get escapeParameterHtml(){return e.escapeParameter},set escapeParameterHtml(t){e.escapeParameter=t},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(t){},get pluralizationRules(){return e.pluralRules||{}},__composer:e,t(...t){const[n,r,i]=t,o={};let s=null,a=null;if(!x(n))throw xe(15);const c=n;return x(r)?o.locale=r:v(r)?s=r:S(r)&&(a=r),v(i)?s=i:S(i)&&(a=i),e.t(c,s||a||{},o)},rt(...t){return e.rt(...t)},tc(...t){const[n,r,i]=t,o={plural:1};let s=null,c=null;if(!x(n))throw xe(15);const l=n;return x(r)?o.locale=r:a(r)?o.plural=r:v(r)?s=r:S(r)&&(c=r),x(i)?o.locale=i:v(i)?s=i:S(i)&&(c=i),e.t(l,s||c||{},o)},te(t,n){return e.te(t,n)},tm(t){return e.tm(t)},getLocaleMessage(t){return e.getLocaleMessage(t)},setLocaleMessage(t,n){e.setLocaleMessage(t,n)},mergeLocaleMessage(t,n){e.mergeLocaleMessage(t,n)},d(...t){return e.d(...t)},getDateTimeFormat(t){return e.getDateTimeFormat(t)},setDateTimeFormat(t,n){e.setDateTimeFormat(t,n)},mergeDateTimeFormat(t,n){e.mergeDateTimeFormat(t,n)},n(...t){return e.n(...t)},getNumberFormat(t){return e.getNumberFormat(t)},setNumberFormat(t,n){e.setNumberFormat(t,n)},mergeNumberFormat(t,n){e.mergeNumberFormat(t,n)},getChoiceIndex(t,e){return-1},__onComponentInstanceCreated(e){const{componentInstanceCreatedListener:r}=t;r&&r(e,n)}};return n}const Ie={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:t=>"parent"===t||"global"===t,default:"parent"},i18n:{type:Object}},Re={name:"i18n-t",props:f({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:t=>a(t)||!isNaN(t)}},Ie),setup(t,e){const{slots:n,attrs:r}=e,i=t.i18n||Ke({useScope:t.scope,__useComponent:!0}),o=Object.keys(n).filter((t=>"_"!==t));return()=>{const n={};t.locale&&(n.locale=t.locale),void 0!==t.plural&&(n.plural=x(t.plural)?+t.plural:t.plural);const s=Ne(e,o),a=i[we](t.keypath,s,n),c=f({},r);return x(t.tag)||w(t.tag)?(0,me.h)(t.tag,c,a):(0,me.h)(me.HY,c,a)}}};function Ne({slots:t},e){return 1===e.length&&"default"===e[0]?t.default?t.default():[]:e.reduce(((e,n)=>{const r=t[n];return r&&(e[n]=r()),e}),{})}function We(t,e,n,r){const{slots:i,attrs:o}=e;return()=>{const e={part:!0};let s={};t.locale&&(e.locale=t.locale),x(t.format)?e.key=t.format:w(t.format)&&(x(t.format.key)&&(e.key=t.format.key),s=Object.keys(t.format).reduce(((e,r)=>n.includes(r)?f({},e,{[r]:t.format[r]}):e),{}));const a=r(t.value,e,s);let c=[e.key];v(a)?c=a.map(((t,e)=>{const n=i[t.type];return n?n({[t.type]:t.value,index:e,parts:a}):[t.value]})):x(a)&&(c=[a]);const l=f({},o);return x(t.tag)||w(t.tag)?(0,me.h)(t.tag,l,c):(0,me.h)(me.HY,l,c)}}const ze=["localeMatcher","style","unit","unitDisplay","currency","currencyDisplay","useGrouping","numberingSystem","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","notation","formatMatcher"],He={name:"i18n-n",props:f({value:{type:Number,required:!0},format:{type:[String,Object]}},Ie),setup(t,e){const n=t.i18n||Ke({useScope:"parent",__useComponent:!0});return We(t,e,ze,((...t)=>n[Me](...t)))}},$e=["dateStyle","timeStyle","fractionalSecondDigits","calendar","dayPeriod","numberingSystem","localeMatcher","timeZone","hour12","hourCycle","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"],Be={name:"i18n-d",props:f({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ie),setup(t,e){const n=t.i18n||Ke({useScope:"parent",__useComponent:!0});return We(t,e,$e,((...t)=>n[ke](...t)))}};function Ue(t,e){const n=t;if("composition"===t.mode)return n.__getInstance(e)||t.global;{const r=n.__getInstance(e);return null!=r?r.__composer:t.global.__composer}}function Ve(t){const e=(e,{instance:n,value:r,modifiers:i})=>{if(!n||!n.$)throw xe(22);const o=Ue(t,n.$);const s=Ze(r);e.textContent=o.t(...Ye(s))};return{beforeMount:e,beforeUpdate:e}}function Ze(t){if(x(t))return{path:t};if(S(t)){if(!("path"in t))throw xe(19,"path");return t}throw xe(20)}function Ye(t){const{path:e,locale:n,args:r,choice:i,plural:o}=t,s={},c=r||{};return x(n)&&(s.locale=n),a(i)&&(s.plural=i),a(o)&&(s.plural=o),[e,c,s]}function qe(t,e,...n){const r=S(n[0])?n[0]:{},i=!!r.useI18nComponentName,o=!_(r.globalInstall)||r.globalInstall;o&&(t.component(i?"i18n":Re.name,Re),t.component(He.name,He),t.component(Be.name,Be)),t.directive("t",Ve(e))}function Je(t,e,n){return{beforeCreate(){const r=(0,me.FN)();if(!r)throw xe(22);const i=this.$options;if(i.i18n){const n=i.i18n;i.__i18n&&(n.__i18n=i.__i18n),n.__root=e,this===this.$root?this.$i18n=Ge(t,n):(n.__injectWithOption=!0,this.$i18n=Fe(n))}else i.__i18n?this===this.$root?this.$i18n=Ge(t,i):this.$i18n=Fe({__i18n:i.__i18n,__injectWithOption:!0,__root:e}):this.$i18n=t;t.__onComponentInstanceCreated(this.$i18n),n.__setInstance(r,this.$i18n),this.$t=(...t)=>this.$i18n.t(...t),this.$rt=(...t)=>this.$i18n.rt(...t),this.$tc=(...t)=>this.$i18n.tc(...t),this.$te=(t,e)=>this.$i18n.te(t,e),this.$d=(...t)=>this.$i18n.d(...t),this.$n=(...t)=>this.$i18n.n(...t),this.$tm=t=>this.$i18n.tm(t)},mounted(){0},beforeUnmount(){const t=(0,me.FN)();if(!t)throw xe(22);delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__deleteInstance(t),delete this.$i18n}}}function Ge(t,e){t.locale=e.locale||t.locale,t.fallbackLocale=e.fallbackLocale||t.fallbackLocale,t.missing=e.missing||t.missing,t.silentTranslationWarn=e.silentTranslationWarn||t.silentFallbackWarn,t.silentFallbackWarn=e.silentFallbackWarn||t.silentFallbackWarn,t.formatFallbackMessages=e.formatFallbackMessages||t.formatFallbackMessages,t.postTranslation=e.postTranslation||t.postTranslation,t.warnHtmlInMessage=e.warnHtmlInMessage||t.warnHtmlInMessage,t.escapeParameterHtml=e.escapeParameterHtml||t.escapeParameterHtml,t.sync=e.sync||t.sync,t.__composer[Se](e.pluralizationRules||t.pluralizationRules);const n=Te(t.locale,{messages:e.messages,__i18n:e.__i18n});return Object.keys(n).forEach((e=>t.mergeLocaleMessage(e,n[e]))),e.datetimeFormats&&Object.keys(e.datetimeFormats).forEach((n=>t.mergeDateTimeFormat(n,e.datetimeFormats[n]))),e.numberFormats&&Object.keys(e.numberFormats).forEach((n=>t.mergeNumberFormat(n,e.numberFormats[n]))),t}function Xe(t={}){const e=!_(t.legacy)||t.legacy,n=!!t.globalInjection,r=new Map,o=e?Fe(t):Ae(t),s=i(""),a={get mode(){return e?"legacy":"composition"},async install(t,...r){t.__VUE_I18N_SYMBOL__=s,t.provide(t.__VUE_I18N_SYMBOL__,a),!e&&n&&rn(t,a.global),qe(t,a,...r),e&&t.mixin(Je(o,o.__composer,a))},get global(){return o},__instances:r,__getInstance(t){return r.get(t)||null},__setInstance(t,e){r.set(t,e)},__deleteInstance(t){r.delete(t)}};return a}function Ke(t={}){const e=(0,me.FN)();if(null==e)throw xe(16);if(!e.appContext.app.__VUE_I18N_SYMBOL__)throw xe(17);const n=(0,me.f3)(e.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw xe(22);const r="composition"===n.mode?n.global:n.global.__composer,i=u(t)?"__i18n"in e.type?"local":"global":t.useScope?t.useScope:"local";if("global"===i){let n=w(t.messages)?t.messages:{};"__i18nGlobal"in e.type&&(n=Te(r.locale.value,{messages:n,__i18n:e.type.__i18nGlobal}));const i=Object.keys(n);if(i.length&&i.forEach((t=>{r.mergeLocaleMessage(t,n[t])})),w(t.datetimeFormats)){const e=Object.keys(t.datetimeFormats);e.length&&e.forEach((e=>{r.mergeDateTimeFormat(e,t.datetimeFormats[e])}))}if(w(t.numberFormats)){const e=Object.keys(t.numberFormats);e.length&&e.forEach((e=>{r.mergeNumberFormat(e,t.numberFormats[e])}))}return r}if("parent"===i){let i=Qe(n,e,t.__useComponent);return null==i&&(i=r),i}if("legacy"===n.mode)throw xe(18);const o=n;let s=o.__getInstance(e);if(null==s){const n=e.type,i=f({},t);n.__i18n&&(i.__i18n=n.__i18n),r&&(i.__root=r),s=Ae(i),tn(o,e,s),o.__setInstance(e,s)}return s}function Qe(t,e,n=!1){let r=null;const i=e.root;let o=e.parent;while(null!=o){const e=t;if("composition"===t.mode)r=e.__getInstance(o);else{const t=e.__getInstance(o);null!=t&&(r=t.__composer),n&&r&&!r[Oe]&&(r=null)}if(null!=r)break;if(i===o)break;o=o.parent}return r}function tn(t,e,n){(0,me.bv)((()=>{0}),e),(0,me.Ah)((()=>{t.__deleteInstance(e)}),e)}const en=["locale","fallbackLocale","availableLocales"],nn=["t","rt","d","n","tm"];function rn(t,e){const n=Object.create(null);en.forEach((t=>{const r=Object.getOwnPropertyDescriptor(e,t);if(!r)throw xe(22);const i=(0,be.dq)(r.value)?{get(){return r.value.value},set(t){r.value.value=t}}:{get(){return r.get&&r.get()}};Object.defineProperty(n,t,i)})),t.config.globalProperties.$i18n=n,nn.forEach((n=>{const r=Object.getOwnPropertyDescriptor(e,n);if(!r||!r.value)throw xe(22);Object.defineProperty(t.config.globalProperties,`$${n}`,r)}))}if(Rt(Xt),ye(),__INTLIFY_PROD_DEVTOOLS__){const t=p();t.__INTLIFY__=!0,Pt(t.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}},3744:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[r,i]of e)n[r]=i;return n}},2119:function(t,e,n){"use strict";n.d(e,{p7:function(){return te},PO:function(){return V},yj:function(){return ie},tv:function(){return re}});var r=n(6252),i=n(2262); /*! * vue-router v4.0.12 * (c) 2021 Eduardo San Martin Morote * @license MIT */ -const o="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,s=t=>o?Symbol(t):"_vr_"+t,a=s("rvlm"),c=s("rvd"),l=s("r"),u=s("rl"),h=s("rvl"),f="undefined"!==typeof window;function d(t){return t.__esModule||o&&"Module"===t[Symbol.toStringTag]}const p=Object.assign;function g(t,e){const n={};for(const r in e){const i=e[r];n[r]=Array.isArray(i)?i.map(t):t(i)}return n}const m=()=>{};const b=/\/$/,v=t=>t.replace(b,"");function y(t,e,n="/"){let r,i={},o="",s="";const a=e.indexOf("?"),c=e.indexOf("#",a>-1?a:0);return a>-1&&(r=e.slice(0,a),o=e.slice(a+1,c>-1?c:e.length),i=t(o)),c>-1&&(r=r||e.slice(0,c),s=e.slice(c,e.length)),r=C(null!=r?r:e,n),{fullPath:r+(o&&"?")+o+s,path:r,query:i,hash:s}}function x(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function _(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function w(t,e,n){const r=e.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&k(e.matched[r],n.matched[i])&&M(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function k(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function M(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!S(t[n],e[n]))return!1;return!0}function S(t,e){return Array.isArray(t)?O(t,e):Array.isArray(e)?O(e,t):t===e}function O(t,e){return Array.isArray(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function C(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let i,o,s=n.length-1;for(i=0;i({left:window.pageXOffset,top:window.pageYOffset});function F(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const i="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;e=A(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function R(t,e){const n=history.state?history.state.position-e:-1;return n+t}const I=new Map;function N(t,e){I.set(t,e)}function W(t){const e=I.get(t);return I.delete(t),e}let z=()=>location.protocol+"//"+location.host;function H(t,e){const{pathname:n,search:r,hash:i}=e,o=t.indexOf("#");if(o>-1){let e=i.includes(t.slice(o))?t.slice(o).length:1,n=i.slice(e);return"/"!==n[0]&&(n="/"+n),_(n,"")}const s=_(n,t);return s+r+i}function B(t,e,n,r){let i=[],o=[],s=null;const a=({state:o})=>{const a=H(t,location),c=n.value,l=e.value;let u=0;if(o){if(n.value=a,e.value=o,s&&s===c)return void(s=null);u=l?o.position-l.position:0}else r(a);i.forEach((t=>{t(n.value,c,{delta:u,type:P.pop,direction:u?u>0?T.forward:T.back:T.unknown})}))};function c(){s=n.value}function l(t){i.push(t);const e=()=>{const e=i.indexOf(t);e>-1&&i.splice(e,1)};return o.push(e),e}function u(){const{history:t}=window;t.state&&t.replaceState(p({},t.state,{scroll:L()}),"")}function h(){for(const t of o)t();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u),{pauseListeners:c,listen:l,destroy:h}}function $(t,e,n,r=!1,i=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:i?L():null}}function U(t){const{history:e,location:n}=window,r={value:H(t,n)},i={value:e.state};function o(r,o,s){const a=t.indexOf("#"),c=a>-1?(n.host&&document.querySelector("base")?t:t.slice(a))+r:z()+t+r;try{e[s?"replaceState":"pushState"](o,"",c),i.value=o}catch(l){console.error(l),n[s?"replace":"assign"](c)}}function s(t,n){const s=p({},e.state,$(i.value.back,t,i.value.forward,!0),n,{position:i.value.position});o(t,s,!0),r.value=t}function a(t,n){const s=p({},i.value,e.state,{forward:t,scroll:L()});o(s.current,s,!0);const a=p({},$(r.value,t,null),{position:s.position+1},n);o(t,a,!1),r.value=t}return i.value||o(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:i,push:a,replace:s}}function V(t){t=D(t);const e=U(t),n=B(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const i=p({location:"",base:t,go:r,createHref:j.bind(null,t)},e,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function Z(t){return"string"===typeof t||t&&"object"===typeof t}function Y(t){return"string"===typeof t||"symbol"===typeof t}const q={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},J=s("nf");var X;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(X||(X={}));function G(t,e){return p(new Error,{type:t,[J]:!0},e)}function K(t,e){return t instanceof Error&&J in t&&(null==e||!!(t.type&e))}const Q="[^/]+?",tt={sensitive:!1,strict:!1,start:!0,end:!0},et=/[.+*?^${}()[\]/\\]/g;function nt(t,e){const n=p({},tt,e),r=[];let i=n.start?"^":"";const o=[];for(const u of t){const t=u.length?[]:[90];n.strict&&!u.length&&(i+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function it(t,e){let n=0;const r=t.score,i=e.score;while(n1&&("*"===a||"+"===a)&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:l,regexp:u,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):e("Invalid state to consume buffer"),l="")}function f(){l+=a}while(c{s(f)}:m}function s(t){if(Y(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(s),e.alias.forEach(s))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(s),t.alias.forEach(s))}}function a(){return n}function c(t){let e=0;while(e=0)e++;n.splice(e,0,t),t.record.name&&!dt(t)&&r.set(t.record.name,t)}function l(t,e){let i,o,s,a={};if("name"in t&&t.name){if(i=r.get(t.name),!i)throw G(1,{location:t});s=i.record.name,a=p(ut(e.params,i.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params),o=i.stringify(a)}else if("path"in t)o=t.path,i=n.find((t=>t.re.test(o))),i&&(a=i.parse(o),s=i.record.name);else{if(i=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!i)throw G(1,{location:t,currentLocation:e});s=i.record.name,a=p({},e.params,t.params),o=i.stringify(a)}const c=[];let l=i;while(l)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:pt(c)}}return e=gt({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>o(t))),{addRoute:o,resolve:l,removeRoute:s,getRoutes:a,getRecordMatcher:i}}function ut(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function ht(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:ft(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||{}:{default:t.component}}}function ft(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function dt(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function pt(t){return t.reduce(((t,e)=>p(t,e.meta)),{})}function gt(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}const mt=/#/g,bt=/&/g,vt=/\//g,yt=/=/g,xt=/\?/g,_t=/\+/g,wt=/%5B/g,kt=/%5D/g,Mt=/%5E/g,St=/%60/g,Ot=/%7B/g,Ct=/%7C/g,Pt=/%7D/g,Tt=/%20/g;function Dt(t){return encodeURI(""+t).replace(Ct,"|").replace(wt,"[").replace(kt,"]")}function Et(t){return Dt(t).replace(Ot,"{").replace(Pt,"}").replace(Mt,"^")}function jt(t){return Dt(t).replace(_t,"%2B").replace(Tt,"+").replace(mt,"%23").replace(bt,"%26").replace(St,"`").replace(Ot,"{").replace(Pt,"}").replace(Mt,"^")}function At(t){return jt(t).replace(yt,"%3D")}function Lt(t){return Dt(t).replace(mt,"%23").replace(xt,"%3F")}function Ft(t){return null==t?"":Lt(t).replace(vt,"%2F")}function Rt(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function It(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let i=0;it&&jt(t))):[r&&jt(r)];i.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Wt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=Array.isArray(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}function zt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Ht(t,e,n,r,i){const o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise(((s,a)=>{const c=t=>{!1===t?a(G(4,{from:n,to:e})):t instanceof Error?a(t):Z(t)?a(G(2,{from:e,to:t})):(o&&r.enterCallbacks[i]===o&&"function"===typeof t&&o.push(t),s())},l=t.call(r&&r.instances[i],e,n,c);let u=Promise.resolve(l);t.length<3&&(u=u.then(c)),u.catch((t=>a(t)))}))}function Bt(t,e,n,r){const i=[];for(const o of t)for(const t in o.components){let s=o.components[t];if("beforeRouteEnter"===e||o.instances[t])if($t(s)){const a=s.__vccOpts||s,c=a[e];c&&i.push(Ht(c,n,r,o,t))}else{let a=s();0,i.push((()=>a.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${o.path}"`));const s=d(i)?i.default:i;o.components[t]=s;const a=s.__vccOpts||s,c=a[e];return c&&Ht(c,n,r,o,t)()}))))}}return i}function $t(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function Ut(t){const e=(0,r.f3)(l),n=(0,r.f3)(u),o=(0,r.Fl)((()=>e.resolve((0,i.SU)(t.to)))),s=(0,r.Fl)((()=>{const{matched:t}=o.value,{length:e}=t,r=t[e-1],i=n.matched;if(!r||!i.length)return-1;const s=i.findIndex(k.bind(null,r));if(s>-1)return s;const a=Jt(t[e-2]);return e>1&&Jt(r)===a&&i[i.length-1].path!==a?i.findIndex(k.bind(null,t[e-2])):s})),a=(0,r.Fl)((()=>s.value>-1&&qt(n.params,o.value.params))),c=(0,r.Fl)((()=>s.value>-1&&s.value===n.matched.length-1&&M(n.params,o.value.params)));function h(n={}){return Yt(n)?e[(0,i.SU)(t.replace)?"replace":"push"]((0,i.SU)(t.to)).catch(m):Promise.resolve()}return{route:o,href:(0,r.Fl)((()=>o.value.href)),isActive:a,isExactActive:c,navigate:h}}const Vt=(0,r.aZ)({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ut,setup(t,{slots:e}){const n=(0,i.qj)(Ut(t)),{options:o}=(0,r.f3)(l),s=(0,r.Fl)((()=>({[Xt(t.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Xt(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=e.default&&e.default(n);return t.custom?i:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Zt=Vt;function Yt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function qt(t,e){for(const n in e){const r=e[n],i=t[n];if("string"===typeof r){if(r!==i)return!1}else if(!Array.isArray(i)||i.length!==r.length||r.some(((t,e)=>t!==i[e])))return!1}return!0}function Jt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Xt=(t,e,n)=>null!=t?t:null!=e?e:n,Gt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},setup(t,{attrs:e,slots:n}){const o=(0,r.f3)(h),s=(0,r.Fl)((()=>t.route||o.value)),l=(0,r.f3)(c,0),u=(0,r.Fl)((()=>s.value.matched[l]));(0,r.JJ)(c,l+1),(0,r.JJ)(a,u),(0,r.JJ)(h,s);const f=(0,i.iH)();return(0,r.YP)((()=>[f.value,u.value,t.name]),(([t,e,n],[r,i,o])=>{e&&(e.instances[n]=t,i&&i!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=i.leaveGuards),e.updateGuards.size||(e.updateGuards=i.updateGuards))),!t||!e||i&&k(e,i)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const i=s.value,o=u.value,a=o&&o.components[t.name],c=t.name;if(!a)return Kt(n.default,{Component:a,route:i});const l=o.props[t.name],h=l?!0===l?i.params:"function"===typeof l?l(i):l:null,d=t=>{t.component.isUnmounted&&(o.instances[c]=null)},g=(0,r.h)(a,p({},h,e,{onVnodeUnmounted:d,ref:f}));return Kt(n.default,{Component:g,route:i})||g}}});function Kt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const Qt=Gt;function te(t){const e=lt(t.routes,t),n=t.parseQuery||It,o=t.stringifyQuery||Nt,s=t.history;const a=zt(),c=zt(),d=zt(),b=(0,i.XI)(q);let v=q;f&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=g.bind(null,(t=>""+t)),k=g.bind(null,Ft),M=g.bind(null,Rt);function S(t,n){let r,i;return Y(t)?(r=e.getRecordMatcher(t),i=n):i=t,e.addRoute(i,r)}function O(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function C(){return e.getRoutes().map((t=>t.record))}function T(t){return!!e.getRecordMatcher(t)}function D(t,r){if(r=p({},r||b.value),"string"===typeof t){const i=y(n,t,r.path),o=e.resolve({path:i.path},r),a=s.createHref(i.fullPath);return p(i,o,{params:M(o.params),hash:Rt(i.hash),redirectedFrom:void 0,href:a})}let i;if("path"in t)i=p({},t,{path:y(n,t.path,r.path).path});else{const e=p({},t.params);for(const t in e)null==e[t]&&delete e[t];i=p({},t,{params:k(t.params)}),r.params=k(r.params)}const a=e.resolve(i,r),c=t.hash||"";a.params=_(M(a.params));const l=x(o,p({},t,{hash:Et(c),path:a.path})),u=s.createHref(l);return p({fullPath:l,hash:c,query:o===Nt?Wt(t.query):t.query||{}},a,{redirectedFrom:void 0,href:u})}function E(t){return"string"===typeof t?y(n,t,b.value.path):p({},t)}function j(t,e){if(v!==t)return G(8,{from:e,to:t})}function A(t){return H(t)}function I(t){return A(p(E(t),{replace:!0}))}function z(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=E(r):{path:r},r.params={}),p({query:t.query,hash:t.hash,params:t.params},r)}}function H(t,e){const n=v=D(t),r=b.value,i=t.state,s=t.force,a=!0===t.replace,c=z(n);if(c)return H(p(E(c),{state:i,force:s,replace:a}),e||n);const l=n;let u;return l.redirectedFrom=e,!s&&w(o,r,n)&&(u=G(16,{to:l,from:r}),it(r,r,!0,!1)),(u?Promise.resolve(u):$(l,r)).catch((t=>K(t)?t:et(t,l,r))).then((t=>{if(t){if(K(t,2))return H(p(E(t.to),{state:i,force:s,replace:a}),e||l)}else t=V(l,r,!0,a,i);return U(l,r,t),t}))}function B(t,e){const n=j(t,e);return n?Promise.reject(n):Promise.resolve()}function $(t,e){let n;const[r,i,o]=ne(t,e);n=Bt(r.reverse(),"beforeRouteLeave",t,e);for(const a of r)a.leaveGuards.forEach((r=>{n.push(Ht(r,t,e))}));const s=B.bind(null,t,e);return n.push(s),ee(n).then((()=>{n=[];for(const r of a.list())n.push(Ht(r,t,e));return n.push(s),ee(n)})).then((()=>{n=Bt(i,"beforeRouteUpdate",t,e);for(const r of i)r.updateGuards.forEach((r=>{n.push(Ht(r,t,e))}));return n.push(s),ee(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(Array.isArray(r.beforeEnter))for(const i of r.beforeEnter)n.push(Ht(i,t,e));else n.push(Ht(r.beforeEnter,t,e));return n.push(s),ee(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Bt(o,"beforeRouteEnter",t,e),n.push(s),ee(n)))).then((()=>{n=[];for(const r of c.list())n.push(Ht(r,t,e));return n.push(s),ee(n)})).catch((t=>K(t,8)?t:Promise.reject(t)))}function U(t,e,n){for(const r of d.list())r(t,e,n)}function V(t,e,n,r,i){const o=j(t,e);if(o)return o;const a=e===q,c=f?history.state:{};n&&(r||a?s.replace(t.fullPath,p({scroll:a&&c&&c.scroll},i)):s.push(t.fullPath,i)),b.value=t,it(t,e,n,a),rt()}let Z;function J(){Z=s.listen(((t,e,n)=>{const r=D(t),i=z(r);if(i)return void H(p(i,{replace:!0}),r).catch(m);v=r;const o=b.value;f&&N(R(o.fullPath,n.delta),L()),$(r,o).catch((t=>K(t,12)?t:K(t,2)?(H(t.to,r).then((t=>{K(t,20)&&!n.delta&&n.type===P.pop&&s.go(-1,!1)})).catch(m),Promise.reject()):(n.delta&&s.go(-n.delta,!1),et(t,r,o)))).then((t=>{t=t||V(r,o,!1),t&&(n.delta?s.go(-n.delta,!1):n.type===P.pop&&K(t,20)&&s.go(-1,!1)),U(r,o,t)})).catch(m)}))}let X,Q=zt(),tt=zt();function et(t,e,n){rt(t);const r=tt.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function nt(){return X&&b.value!==q?Promise.resolve():new Promise(((t,e)=>{Q.add([t,e])}))}function rt(t){X||(X=!0,J(),Q.list().forEach((([e,n])=>t?n(t):e())),Q.reset())}function it(e,n,i,o){const{scrollBehavior:s}=t;if(!f||!s)return Promise.resolve();const a=!i&&W(R(e.fullPath,0))||(o||!i)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>s(e,n,a))).then((t=>t&&F(t))).catch((t=>et(t,e,n)))}const ot=t=>s.go(t);let st;const at=new Set,ct={currentRoute:b,addRoute:S,removeRoute:O,hasRoute:T,getRoutes:C,resolve:D,options:t,push:A,replace:I,go:ot,back:()=>ot(-1),forward:()=>ot(1),beforeEach:a.add,beforeResolve:c.add,afterEach:d.add,onError:tt.add,isReady:nt,install(t){const e=this;t.component("RouterLink",Zt),t.component("RouterView",Qt),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,i.SU)(b)}),f&&!st&&b.value===q&&(st=!0,A(s.location).catch((t=>{0})));const n={};for(const i in q)n[i]=(0,r.Fl)((()=>b.value[i]));t.provide(l,e),t.provide(u,(0,i.qj)(n)),t.provide(h,b);const o=t.unmount;at.add(t),t.unmount=function(){at.delete(t),at.size<1&&(v=q,Z&&Z(),b.value=q,st=!1,X=!1),o()}}};return ct}function ee(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function ne(t,e){const n=[],r=[],i=[],o=Math.max(e.matched.length,t.matched.length);for(let s=0;sk(t,o)))?r.push(o):n.push(o));const a=t.matched[s];a&&(e.matched.find((t=>k(t,a)))||i.push(a))}return[n,r,i]}function re(){return(0,r.f3)(l)}function ie(){return(0,r.f3)(u)}},8637:function(t,e,n){"use strict";n.d(e,{MT:function(){return G},oR:function(){return d}});var r=n(6252),i=n(2262);function o(){return s().__VUE_DEVTOOLS_GLOBAL_HOOK__}function s(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const a="function"===typeof Proxy,c="devtools-plugin:setup",l="plugin:settings:set";class u{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const s in t.settings){const e=t.settings[s];n[s]=e.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},n);try{const t=localStorage.getItem(r),e=JSON.parse(t);Object.assign(i,e)}catch(o){}this.fallbacks={getSettings(){return i},setSettings(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(o){}i=t}},e&&e.on(l,((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function h(t,e){const n=t,r=s(),i=o(),l=a&&n.enableEarlyProxy;if(!i||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&l){const t=l?new u(n,i):null,o=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];o.push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else i.emit(c,t,e)} +const o="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag,s=t=>o?Symbol(t):"_vr_"+t,a=s("rvlm"),c=s("rvd"),l=s("r"),u=s("rl"),h=s("rvl"),f="undefined"!==typeof window;function d(t){return t.__esModule||o&&"Module"===t[Symbol.toStringTag]}const p=Object.assign;function g(t,e){const n={};for(const r in e){const i=e[r];n[r]=Array.isArray(i)?i.map(t):t(i)}return n}const m=()=>{};const b=/\/$/,v=t=>t.replace(b,"");function y(t,e,n="/"){let r,i={},o="",s="";const a=e.indexOf("?"),c=e.indexOf("#",a>-1?a:0);return a>-1&&(r=e.slice(0,a),o=e.slice(a+1,c>-1?c:e.length),i=t(o)),c>-1&&(r=r||e.slice(0,c),s=e.slice(c,e.length)),r=C(null!=r?r:e,n),{fullPath:r+(o&&"?")+o+s,path:r,query:i,hash:s}}function x(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function _(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function w(t,e,n){const r=e.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&k(e.matched[r],n.matched[i])&&M(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function k(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function M(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!S(t[n],e[n]))return!1;return!0}function S(t,e){return Array.isArray(t)?O(t,e):Array.isArray(e)?O(e,t):t===e}function O(t,e){return Array.isArray(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function C(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let i,o,s=n.length-1;for(i=0;i({left:window.pageXOffset,top:window.pageYOffset});function F(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const i="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;e=A(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function I(t,e){const n=history.state?history.state.position-e:-1;return n+t}const R=new Map;function N(t,e){R.set(t,e)}function W(t){const e=R.get(t);return R.delete(t),e}let z=()=>location.protocol+"//"+location.host;function H(t,e){const{pathname:n,search:r,hash:i}=e,o=t.indexOf("#");if(o>-1){let e=i.includes(t.slice(o))?t.slice(o).length:1,n=i.slice(e);return"/"!==n[0]&&(n="/"+n),_(n,"")}const s=_(n,t);return s+r+i}function $(t,e,n,r){let i=[],o=[],s=null;const a=({state:o})=>{const a=H(t,location),c=n.value,l=e.value;let u=0;if(o){if(n.value=a,e.value=o,s&&s===c)return void(s=null);u=l?o.position-l.position:0}else r(a);i.forEach((t=>{t(n.value,c,{delta:u,type:P.pop,direction:u?u>0?T.forward:T.back:T.unknown})}))};function c(){s=n.value}function l(t){i.push(t);const e=()=>{const e=i.indexOf(t);e>-1&&i.splice(e,1)};return o.push(e),e}function u(){const{history:t}=window;t.state&&t.replaceState(p({},t.state,{scroll:L()}),"")}function h(){for(const t of o)t();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u),{pauseListeners:c,listen:l,destroy:h}}function B(t,e,n,r=!1,i=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:i?L():null}}function U(t){const{history:e,location:n}=window,r={value:H(t,n)},i={value:e.state};function o(r,o,s){const a=t.indexOf("#"),c=a>-1?(n.host&&document.querySelector("base")?t:t.slice(a))+r:z()+t+r;try{e[s?"replaceState":"pushState"](o,"",c),i.value=o}catch(l){console.error(l),n[s?"replace":"assign"](c)}}function s(t,n){const s=p({},e.state,B(i.value.back,t,i.value.forward,!0),n,{position:i.value.position});o(t,s,!0),r.value=t}function a(t,n){const s=p({},i.value,e.state,{forward:t,scroll:L()});o(s.current,s,!0);const a=p({},B(r.value,t,null),{position:s.position+1},n);o(t,a,!1),r.value=t}return i.value||o(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:i,push:a,replace:s}}function V(t){t=D(t);const e=U(t),n=$(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const i=p({location:"",base:t,go:r,createHref:j.bind(null,t)},e,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function Z(t){return"string"===typeof t||t&&"object"===typeof t}function Y(t){return"string"===typeof t||"symbol"===typeof t}const q={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},J=s("nf");var G;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(G||(G={}));function X(t,e){return p(new Error,{type:t,[J]:!0},e)}function K(t,e){return t instanceof Error&&J in t&&(null==e||!!(t.type&e))}const Q="[^/]+?",tt={sensitive:!1,strict:!1,start:!0,end:!0},et=/[.+*?^${}()[\]/\\]/g;function nt(t,e){const n=p({},tt,e),r=[];let i=n.start?"^":"";const o=[];for(const u of t){const t=u.length?[]:[90];n.strict&&!u.length&&(i+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function it(t,e){let n=0;const r=t.score,i=e.score;while(n1&&("*"===a||"+"===a)&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:l,regexp:u,repeatable:"*"===a||"+"===a,optional:"*"===a||"?"===a})):e("Invalid state to consume buffer"),l="")}function f(){l+=a}while(c{s(f)}:m}function s(t){if(Y(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(s),e.alias.forEach(s))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(s),t.alias.forEach(s))}}function a(){return n}function c(t){let e=0;while(e=0)e++;n.splice(e,0,t),t.record.name&&!dt(t)&&r.set(t.record.name,t)}function l(t,e){let i,o,s,a={};if("name"in t&&t.name){if(i=r.get(t.name),!i)throw X(1,{location:t});s=i.record.name,a=p(ut(e.params,i.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params),o=i.stringify(a)}else if("path"in t)o=t.path,i=n.find((t=>t.re.test(o))),i&&(a=i.parse(o),s=i.record.name);else{if(i=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!i)throw X(1,{location:t,currentLocation:e});s=i.record.name,a=p({},e.params,t.params),o=i.stringify(a)}const c=[];let l=i;while(l)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:pt(c)}}return e=gt({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>o(t))),{addRoute:o,resolve:l,removeRoute:s,getRoutes:a,getRecordMatcher:i}}function ut(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function ht(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:ft(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||{}:{default:t.component}}}function ft(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function dt(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function pt(t){return t.reduce(((t,e)=>p(t,e.meta)),{})}function gt(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}const mt=/#/g,bt=/&/g,vt=/\//g,yt=/=/g,xt=/\?/g,_t=/\+/g,wt=/%5B/g,kt=/%5D/g,Mt=/%5E/g,St=/%60/g,Ot=/%7B/g,Ct=/%7C/g,Pt=/%7D/g,Tt=/%20/g;function Dt(t){return encodeURI(""+t).replace(Ct,"|").replace(wt,"[").replace(kt,"]")}function Et(t){return Dt(t).replace(Ot,"{").replace(Pt,"}").replace(Mt,"^")}function jt(t){return Dt(t).replace(_t,"%2B").replace(Tt,"+").replace(mt,"%23").replace(bt,"%26").replace(St,"`").replace(Ot,"{").replace(Pt,"}").replace(Mt,"^")}function At(t){return jt(t).replace(yt,"%3D")}function Lt(t){return Dt(t).replace(mt,"%23").replace(xt,"%3F")}function Ft(t){return null==t?"":Lt(t).replace(vt,"%2F")}function It(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function Rt(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let i=0;it&&jt(t))):[r&&jt(r)];i.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Wt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=Array.isArray(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}function zt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Ht(t,e,n,r,i){const o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise(((s,a)=>{const c=t=>{!1===t?a(X(4,{from:n,to:e})):t instanceof Error?a(t):Z(t)?a(X(2,{from:e,to:t})):(o&&r.enterCallbacks[i]===o&&"function"===typeof t&&o.push(t),s())},l=t.call(r&&r.instances[i],e,n,c);let u=Promise.resolve(l);t.length<3&&(u=u.then(c)),u.catch((t=>a(t)))}))}function $t(t,e,n,r){const i=[];for(const o of t)for(const t in o.components){let s=o.components[t];if("beforeRouteEnter"===e||o.instances[t])if(Bt(s)){const a=s.__vccOpts||s,c=a[e];c&&i.push(Ht(c,n,r,o,t))}else{let a=s();0,i.push((()=>a.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${o.path}"`));const s=d(i)?i.default:i;o.components[t]=s;const a=s.__vccOpts||s,c=a[e];return c&&Ht(c,n,r,o,t)()}))))}}return i}function Bt(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function Ut(t){const e=(0,r.f3)(l),n=(0,r.f3)(u),o=(0,r.Fl)((()=>e.resolve((0,i.SU)(t.to)))),s=(0,r.Fl)((()=>{const{matched:t}=o.value,{length:e}=t,r=t[e-1],i=n.matched;if(!r||!i.length)return-1;const s=i.findIndex(k.bind(null,r));if(s>-1)return s;const a=Jt(t[e-2]);return e>1&&Jt(r)===a&&i[i.length-1].path!==a?i.findIndex(k.bind(null,t[e-2])):s})),a=(0,r.Fl)((()=>s.value>-1&&qt(n.params,o.value.params))),c=(0,r.Fl)((()=>s.value>-1&&s.value===n.matched.length-1&&M(n.params,o.value.params)));function h(n={}){return Yt(n)?e[(0,i.SU)(t.replace)?"replace":"push"]((0,i.SU)(t.to)).catch(m):Promise.resolve()}return{route:o,href:(0,r.Fl)((()=>o.value.href)),isActive:a,isExactActive:c,navigate:h}}const Vt=(0,r.aZ)({name:"RouterLink",props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ut,setup(t,{slots:e}){const n=(0,i.qj)(Ut(t)),{options:o}=(0,r.f3)(l),s=(0,r.Fl)((()=>({[Gt(t.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Gt(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=e.default&&e.default(n);return t.custom?i:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Zt=Vt;function Yt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function qt(t,e){for(const n in e){const r=e[n],i=t[n];if("string"===typeof r){if(r!==i)return!1}else if(!Array.isArray(i)||i.length!==r.length||r.some(((t,e)=>t!==i[e])))return!1}return!0}function Jt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Gt=(t,e,n)=>null!=t?t:null!=e?e:n,Xt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},setup(t,{attrs:e,slots:n}){const o=(0,r.f3)(h),s=(0,r.Fl)((()=>t.route||o.value)),l=(0,r.f3)(c,0),u=(0,r.Fl)((()=>s.value.matched[l]));(0,r.JJ)(c,l+1),(0,r.JJ)(a,u),(0,r.JJ)(h,s);const f=(0,i.iH)();return(0,r.YP)((()=>[f.value,u.value,t.name]),(([t,e,n],[r,i,o])=>{e&&(e.instances[n]=t,i&&i!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=i.leaveGuards),e.updateGuards.size||(e.updateGuards=i.updateGuards))),!t||!e||i&&k(e,i)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const i=s.value,o=u.value,a=o&&o.components[t.name],c=t.name;if(!a)return Kt(n.default,{Component:a,route:i});const l=o.props[t.name],h=l?!0===l?i.params:"function"===typeof l?l(i):l:null,d=t=>{t.component.isUnmounted&&(o.instances[c]=null)},g=(0,r.h)(a,p({},h,e,{onVnodeUnmounted:d,ref:f}));return Kt(n.default,{Component:g,route:i})||g}}});function Kt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const Qt=Xt;function te(t){const e=lt(t.routes,t),n=t.parseQuery||Rt,o=t.stringifyQuery||Nt,s=t.history;const a=zt(),c=zt(),d=zt(),b=(0,i.XI)(q);let v=q;f&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=g.bind(null,(t=>""+t)),k=g.bind(null,Ft),M=g.bind(null,It);function S(t,n){let r,i;return Y(t)?(r=e.getRecordMatcher(t),i=n):i=t,e.addRoute(i,r)}function O(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function C(){return e.getRoutes().map((t=>t.record))}function T(t){return!!e.getRecordMatcher(t)}function D(t,r){if(r=p({},r||b.value),"string"===typeof t){const i=y(n,t,r.path),o=e.resolve({path:i.path},r),a=s.createHref(i.fullPath);return p(i,o,{params:M(o.params),hash:It(i.hash),redirectedFrom:void 0,href:a})}let i;if("path"in t)i=p({},t,{path:y(n,t.path,r.path).path});else{const e=p({},t.params);for(const t in e)null==e[t]&&delete e[t];i=p({},t,{params:k(t.params)}),r.params=k(r.params)}const a=e.resolve(i,r),c=t.hash||"";a.params=_(M(a.params));const l=x(o,p({},t,{hash:Et(c),path:a.path})),u=s.createHref(l);return p({fullPath:l,hash:c,query:o===Nt?Wt(t.query):t.query||{}},a,{redirectedFrom:void 0,href:u})}function E(t){return"string"===typeof t?y(n,t,b.value.path):p({},t)}function j(t,e){if(v!==t)return X(8,{from:e,to:t})}function A(t){return H(t)}function R(t){return A(p(E(t),{replace:!0}))}function z(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=E(r):{path:r},r.params={}),p({query:t.query,hash:t.hash,params:t.params},r)}}function H(t,e){const n=v=D(t),r=b.value,i=t.state,s=t.force,a=!0===t.replace,c=z(n);if(c)return H(p(E(c),{state:i,force:s,replace:a}),e||n);const l=n;let u;return l.redirectedFrom=e,!s&&w(o,r,n)&&(u=X(16,{to:l,from:r}),it(r,r,!0,!1)),(u?Promise.resolve(u):B(l,r)).catch((t=>K(t)?t:et(t,l,r))).then((t=>{if(t){if(K(t,2))return H(p(E(t.to),{state:i,force:s,replace:a}),e||l)}else t=V(l,r,!0,a,i);return U(l,r,t),t}))}function $(t,e){const n=j(t,e);return n?Promise.reject(n):Promise.resolve()}function B(t,e){let n;const[r,i,o]=ne(t,e);n=$t(r.reverse(),"beforeRouteLeave",t,e);for(const a of r)a.leaveGuards.forEach((r=>{n.push(Ht(r,t,e))}));const s=$.bind(null,t,e);return n.push(s),ee(n).then((()=>{n=[];for(const r of a.list())n.push(Ht(r,t,e));return n.push(s),ee(n)})).then((()=>{n=$t(i,"beforeRouteUpdate",t,e);for(const r of i)r.updateGuards.forEach((r=>{n.push(Ht(r,t,e))}));return n.push(s),ee(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(Array.isArray(r.beforeEnter))for(const i of r.beforeEnter)n.push(Ht(i,t,e));else n.push(Ht(r.beforeEnter,t,e));return n.push(s),ee(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=$t(o,"beforeRouteEnter",t,e),n.push(s),ee(n)))).then((()=>{n=[];for(const r of c.list())n.push(Ht(r,t,e));return n.push(s),ee(n)})).catch((t=>K(t,8)?t:Promise.reject(t)))}function U(t,e,n){for(const r of d.list())r(t,e,n)}function V(t,e,n,r,i){const o=j(t,e);if(o)return o;const a=e===q,c=f?history.state:{};n&&(r||a?s.replace(t.fullPath,p({scroll:a&&c&&c.scroll},i)):s.push(t.fullPath,i)),b.value=t,it(t,e,n,a),rt()}let Z;function J(){Z=s.listen(((t,e,n)=>{const r=D(t),i=z(r);if(i)return void H(p(i,{replace:!0}),r).catch(m);v=r;const o=b.value;f&&N(I(o.fullPath,n.delta),L()),B(r,o).catch((t=>K(t,12)?t:K(t,2)?(H(t.to,r).then((t=>{K(t,20)&&!n.delta&&n.type===P.pop&&s.go(-1,!1)})).catch(m),Promise.reject()):(n.delta&&s.go(-n.delta,!1),et(t,r,o)))).then((t=>{t=t||V(r,o,!1),t&&(n.delta?s.go(-n.delta,!1):n.type===P.pop&&K(t,20)&&s.go(-1,!1)),U(r,o,t)})).catch(m)}))}let G,Q=zt(),tt=zt();function et(t,e,n){rt(t);const r=tt.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function nt(){return G&&b.value!==q?Promise.resolve():new Promise(((t,e)=>{Q.add([t,e])}))}function rt(t){G||(G=!0,J(),Q.list().forEach((([e,n])=>t?n(t):e())),Q.reset())}function it(e,n,i,o){const{scrollBehavior:s}=t;if(!f||!s)return Promise.resolve();const a=!i&&W(I(e.fullPath,0))||(o||!i)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>s(e,n,a))).then((t=>t&&F(t))).catch((t=>et(t,e,n)))}const ot=t=>s.go(t);let st;const at=new Set,ct={currentRoute:b,addRoute:S,removeRoute:O,hasRoute:T,getRoutes:C,resolve:D,options:t,push:A,replace:R,go:ot,back:()=>ot(-1),forward:()=>ot(1),beforeEach:a.add,beforeResolve:c.add,afterEach:d.add,onError:tt.add,isReady:nt,install(t){const e=this;t.component("RouterLink",Zt),t.component("RouterView",Qt),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,i.SU)(b)}),f&&!st&&b.value===q&&(st=!0,A(s.location).catch((t=>{0})));const n={};for(const i in q)n[i]=(0,r.Fl)((()=>b.value[i]));t.provide(l,e),t.provide(u,(0,i.qj)(n)),t.provide(h,b);const o=t.unmount;at.add(t),t.unmount=function(){at.delete(t),at.size<1&&(v=q,Z&&Z(),b.value=q,st=!1,G=!1),o()}}};return ct}function ee(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function ne(t,e){const n=[],r=[],i=[],o=Math.max(e.matched.length,t.matched.length);for(let s=0;sk(t,o)))?r.push(o):n.push(o));const a=t.matched[s];a&&(e.matched.find((t=>k(t,a)))||i.push(a))}return[n,r,i]}function re(){return(0,r.f3)(l)}function ie(){return(0,r.f3)(u)}},8637:function(t,e,n){"use strict";n.d(e,{MT:function(){return X},oR:function(){return d}});var r=n(6252),i=n(2262);function o(){return s().__VUE_DEVTOOLS_GLOBAL_HOOK__}function s(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const a="function"===typeof Proxy,c="devtools-plugin:setup",l="plugin:settings:set";class u{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const s in t.settings){const e=t.settings[s];n[s]=e.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},n);try{const t=localStorage.getItem(r),e=JSON.parse(t);Object.assign(i,e)}catch(o){}this.fallbacks={getSettings(){return i},setSettings(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(o){}i=t}},e&&e.on(l,((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function h(t,e){const n=t,r=s(),i=o(),l=a&&n.enableEarlyProxy;if(!i||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&l){const t=l?new u(n,i):null,o=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];o.push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else i.emit(c,t,e)} /*! * vuex v4.0.2 * (c) 2021 Evan You * @license MIT */ -var f="store";function d(t){return void 0===t&&(t=null),(0,r.f3)(null!==t?t:f)}function p(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function g(t){return null!==t&&"object"===typeof t}function m(t){return t&&"function"===typeof t.then}function b(t,e){return function(){return t(e)}}function v(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function y(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;_(t,n,[],t._modules.root,!0),x(t,n,e)}function x(t,e,n){var r=t._state;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,s={};p(o,(function(e,n){s[n]=b(e,t),Object.defineProperty(t.getters,n,{get:function(){return s[n]()},enumerable:!0})})),t._state=(0,i.qj)({data:e}),t.strict&&C(t),r&&n&&t._withCommit((function(){r.data=null}))}function _(t,e,n,r,i){var o=!n.length,s=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[s],t._modulesNamespaceMap[s]=r),!o&&!i){var a=P(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){a[c]=r.state}))}var l=r.context=w(t,s,n);r.forEachMutation((function(e,n){var r=s+n;M(t,r,e,l)})),r.forEachAction((function(e,n){var r=e.root?n:s+n,i=e.handler||e;S(t,r,i,l)})),r.forEachGetter((function(e,n){var r=s+n;O(t,r,e,l)})),r.forEachChild((function(r,o){_(t,e,n.concat(o),r,i)}))}function w(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=T(n,r,i),s=o.payload,a=o.options,c=o.type;return a&&a.root||(c=e+c),t.dispatch(c,s)},commit:r?t.commit:function(n,r,i){var o=T(n,r,i),s=o.payload,a=o.options,c=o.type;a&&a.root||(c=e+c),t.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return k(t,e)}},state:{get:function(){return P(t.state,n)}}}),i}function k(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function M(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function S(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return m(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function O(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function C(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function P(t,e){return e.reduce((function(t,e){return t[e]}),t)}function T(t,e,n){return g(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var D="vuex bindings",E="vuex:mutations",j="vuex:actions",A="vuex",L=0;function F(t,e){h({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[D]},(function(n){n.addTimelineLayer({id:E,label:"Vuex Mutations",color:R}),n.addTimelineLayer({id:j,label:"Vuex Actions",color:R}),n.addInspector({id:A,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===A)if(n.filter){var r=[];B(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[H(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===A){var r=n.nodeId;k(e,r),n.state=$(V(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===A){var r=n.nodeId,i=n.path;"root"!==r&&(i=r.split("/").filter(Boolean).concat(i)),e._withCommit((function(){n.set(e._state.data,i,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(A),n.sendInspectorState(A),n.addTimelineEvent({layerId:E,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=L++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:j,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},i=Date.now()-t._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:j,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var R=8702998,I=6710886,N=16777215,W={label:"namespaced",textColor:N,backgroundColor:I};function z(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function H(t,e){return{id:e||"root",label:z(e),tags:t.namespaced?[W]:[],children:Object.keys(t._children).map((function(n){return H(t._children[n],e+n+"/")}))}}function B(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[W]:[]}),Object.keys(e._children).forEach((function(i){B(t,e._children[i],n,r+i+"/")}))}function $(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),i={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var o=U(e);i.getters=Object.keys(o).map((function(t){return{key:t.endsWith("/")?z(t):t,editable:!1,value:Z((function(){return o[t]}))}}))}return i}function U(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var i=e,o=r.pop();r.forEach((function(t){i[t]||(i[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),i=i[t]._custom.value})),i[o]=Z((function(){return t[n]}))}else e[n]=Z((function(){return t[n]}))})),e}function V(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,i){var o=t[r];if(!o)throw new Error('Missing module "'+r+'" for path "'+e+'".');return i===n.length-1?o:o._children}),"root"===e?t:t.root._children)}function Z(t){try{return t()}catch(e){return e}}var Y=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},q={namespaced:{configurable:!0}};q.namespaced.get=function(){return!!this._rawModule.namespaced},Y.prototype.addChild=function(t,e){this._children[t]=e},Y.prototype.removeChild=function(t){delete this._children[t]},Y.prototype.getChild=function(t){return this._children[t]},Y.prototype.hasChild=function(t){return t in this._children},Y.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},Y.prototype.forEachChild=function(t){p(this._children,t)},Y.prototype.forEachGetter=function(t){this._rawModule.getters&&p(this._rawModule.getters,t)},Y.prototype.forEachAction=function(t){this._rawModule.actions&&p(this._rawModule.actions,t)},Y.prototype.forEachMutation=function(t){this._rawModule.mutations&&p(this._rawModule.mutations,t)},Object.defineProperties(Y.prototype,q);var J=function(t){this.register([],t,!1)};function X(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;X(t.concat(r),e.getChild(r),n.modules[r])}}J.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},J.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},J.prototype.update=function(t){X([],this.root,t)},J.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new Y(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&p(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},J.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},J.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function G(t){return new K(t)}var K=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new J(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=i;var o=this,s=this,a=s.dispatch,c=s.commit;this.dispatch=function(t,e){return a.call(o,t,e)},this.commit=function(t,e,n){return c.call(o,t,e,n)},this.strict=r;var l=this._modules.root.state;_(this,l,[],this._modules.root),x(this,l),n.forEach((function(t){return t(e)}))},Q={state:{configurable:!0}};K.prototype.install=function(t,e){t.provide(e||f,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&F(t,this)},Q.state.get=function(){return this._state.data},Q.state.set=function(t){0},K.prototype.commit=function(t,e,n){var r=this,i=T(t,e,n),o=i.type,s=i.payload,a=(i.options,{type:o,payload:s}),c=this._mutations[o];c&&(this._withCommit((function(){c.forEach((function(t){t(s)}))})),this._subscribers.slice().forEach((function(t){return t(a,r.state)})))},K.prototype.dispatch=function(t,e){var n=this,r=T(t,e),i=r.type,o=r.payload,s={type:i,payload:o},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(s,n.state)}))}catch(l){0}var c=a.length>1?Promise.all(a.map((function(t){return t(o)}))):a[0](o);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(s,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(s,n.state,t)}))}catch(l){0}e(t)}))}))}},K.prototype.subscribe=function(t,e){return v(t,this._subscribers,e)},K.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return v(n,this._actionSubscribers,e)},K.prototype.watch=function(t,e,n){var i=this;return(0,r.YP)((function(){return t(i.state,i.getters)}),e,Object.assign({},n))},K.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},K.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),_(this,this.state,t,this._modules.get(t),n.preserveState),x(this,this.state)},K.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=P(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),y(this)},K.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},K.prototype.hotUpdate=function(t){this._modules.update(t),y(this,!0)},K.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(K.prototype,Q);nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=rt(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=rt(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||rt(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=rt(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n}));function tt(t){return et(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function et(t){return Array.isArray(t)||g(t)}function nt(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function rt(t,e,n){var r=t._modulesNamespaceMap[n];return r}},2820:function(t,e,n){"use strict";n.d(e,{vz:function(){return wa},wW:function(){return ka},xZ:function(){return Ma},tn:function(){return Sa}});var r=n(3328);function i(){this.__data__=[],this.size=0}var o=i;function s(t,e){return t===e||t!==t&&e!==e}var a=s;function c(t,e){var n=t.length;while(n--)if(a(t[n][0],e))return n;return-1}var l=c,u=Array.prototype,h=u.splice;function f(t){var e=this.__data__,n=l(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():h.call(e,n,1),--this.size,!0}var d=f;function p(t){var e=this.__data__,n=l(e,t);return n<0?void 0:e[n][1]}var g=p;function m(t){return l(this.__data__,t)>-1}var b=m;function v(t,e){var n=this.__data__,r=l(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var y=v;function x(t){var e=-1,n=null==t?0:t.length;this.clear();while(++ea))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=n&Te?new ke:void 0;o.set(t,e),o.set(e,t);while(++h-1&&t%1==0&&t-1&&t%1==0&&t<=Bn}var Un=$n,Vn="[object Arguments]",Zn="[object Array]",Yn="[object Boolean]",qn="[object Date]",Jn="[object Error]",Xn="[object Function]",Gn="[object Map]",Kn="[object Number]",Qn="[object Object]",tr="[object RegExp]",er="[object Set]",nr="[object String]",rr="[object WeakMap]",ir="[object ArrayBuffer]",or="[object DataView]",sr="[object Float32Array]",ar="[object Float64Array]",cr="[object Int8Array]",lr="[object Int16Array]",ur="[object Int32Array]",hr="[object Uint8Array]",fr="[object Uint8ClampedArray]",dr="[object Uint16Array]",pr="[object Uint32Array]",gr={};function mr(t){return xn(t)&&Un(t.length)&&!!gr[G(t)]}gr[sr]=gr[ar]=gr[cr]=gr[lr]=gr[ur]=gr[hr]=gr[fr]=gr[dr]=gr[pr]=!0,gr[Vn]=gr[Zn]=gr[ir]=gr[Yn]=gr[or]=gr[qn]=gr[Jn]=gr[Xn]=gr[Gn]=gr[Kn]=gr[Qn]=gr[tr]=gr[er]=gr[nr]=gr[rr]=!1;var br=mr;function vr(t){return function(e){return t(e)}}var yr=vr,xr="object"==typeof exports&&exports&&!exports.nodeType&&exports,_r=xr&&"object"==typeof module&&module&&!module.nodeType&&module,wr=_r&&_r.exports===xr,kr=wr&&E.process,Mr=function(){try{var t=_r&&_r.require&&_r.require("util").types;return t||kr&&kr.binding&&kr.binding("util")}catch(e){}}(),Sr=Mr,Or=Sr&&Sr.isTypedArray,Cr=Or?yr(Or):br,Pr=Cr,Tr=Object.prototype,Dr=Tr.hasOwnProperty;function Er(t,e){var n=on(t),r=!n&&Pn(t),i=!n&&!r&&In(t),o=!n&&!r&&!i&&Pr(t),s=n||r||i||o,a=s?vn(t.length,String):[],c=a.length;for(var l in t)!e&&!Dr.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Hn(l,c))||a.push(l);return a}var jr=Er,Ar=Object.prototype;function Lr(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||Ar;return t===n}var Fr=Lr;function Rr(t,e){return function(n){return t(e(n))}}var Ir=Rr,Nr=Ir(Object.keys,Object),Wr=Nr,zr=Object.prototype,Hr=zr.hasOwnProperty;function Br(t){if(!Fr(t))return Wr(t);var e=[];for(var n in Object(t))Hr.call(t,n)&&"constructor"!=n&&e.push(n);return e}var $r=Br;function Ur(t){return null!=t&&Un(t.length)&&!ot(t)}var Vr=Ur;function Zr(t){return Vr(t)?jr(t):$r(t)}var Yr=Zr;function qr(t){return an(t,Yr,mn)}var Jr=qr,Xr=1,Gr=Object.prototype,Kr=Gr.hasOwnProperty;function Qr(t,e,n,r,i,o){var s=n&Xr,a=Jr(t),c=a.length,l=Jr(e),u=l.length;if(c!=u&&!s)return!1;var h=c;while(h--){var f=a[h];if(!(s?f in e:Kr.call(e,f)))return!1}var d=o.get(t),p=o.get(e);if(d&&p)return d==e&&p==t;var g=!0;o.set(t,e),o.set(e,t);var m=s;while(++he in t?ha(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,va=(t,e)=>{for(var n in e||(e={}))ga.call(e,n)&&ba(t,n,e[n]);if(pa)for(var n of pa(e))ma.call(e,n)&&ba(t,n,e[n]);return t},ya=(t,e)=>fa(t,da(e)),xa=(t,e)=>{const n={chartData:{type:Object,required:!0},options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},i=ua(t);return(0,ca.aZ)({name:i,props:n,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":()=>!0,"chart:render":t=>!0},setup(t,{emit:n,expose:o}){const s=(0,la.iH)(null),a=`${t.chartId}`;let c=(0,la.XI)(null);function l(t,e){if(e&&c.value){let n=c.value;Ai(t,e)||e.datasets.length!==t.datasets.length?n.data.datasets=t.datasets:(t.datasets.forEach(((t,r)=>{const i=Object.keys(e.datasets[r]),o=Object.keys(t),s=i.filter((t=>"_meta"!==t&&-1===o.indexOf(t)));s.forEach((t=>{n.data.datasets[r]&&delete n.data.datasets[r][t]}));for(const e in t){const i=t[e];t.hasOwnProperty(e)&&null!=i&&n&&(n.data.datasets[r][e]=i)}})),t.labels&&(n.data.labels=t.labels,h())),d()}else c.value&&p(),u()}function u(){s.value?(c.value=new r.kL(s.value,{data:t.chartData,type:e,options:aa(t.options),plugins:t.plugins}),f()):console.error(`Error on component ${i}, canvas cannot be rendered. Check if the render appends server-side`)}function h(){n("labels:update"),t.onLabelsUpdate&&t.onLabelsUpdate()}function f(){c.value&&(n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function d(){c.value&&(c.value.update(),n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function p(){c.value&&c.value.destroy(),n("chart:destroy"),t.onChartDestroy&&t.onChartDestroy()}return(0,ca.YP)((()=>t.chartData),l,{deep:!0}),(0,ca.YP)((()=>t.options),((t,e)=>{c.value&&t&&!Ai(c.value.options,e)&&(c.value.options=aa(t),e=aa(t),d())}),{deep:!0}),(0,ca.bv)(u),(0,ca.Jd)((()=>{c.value&&c.value.destroy()})),o({canvasRef:s,renderChart:u,chartInstance:c,canvasId:a,update:d}),()=>(0,ca.h)("div",{style:ya(va({maxWidth:"100%"},t.styles),{position:"relative"}),class:t.cssClasses},[(0,ca.h)("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},id:a,width:t.width,height:t.height,ref:s})])}})},_a=t=>e=>{const n=`${t}ChartRef`,r={[n]:(0,la.iH)()},i=(0,ca.Fl)((()=>ya(va(va(va({},e),e.jsx&&{ref:r[n]}),!e.jsx&&{ref:n}),{chartData:(0,la.SU)(e.chartData),options:(0,la.SU)(e.options)})));function o(){var e;const i=r[n].value;i?null==(e=null==i?void 0:i.chartInstance.value)||e.update():console.warn(`No chartInstance to update (use${ua(t)}Chart)`)}return{[`${t}ChartProps`]:i,[n]:r[n],update:o}},wa=xa("bar-chart","bar"),ka=(xa("doughnut-chart","doughnut"),xa("line-chart","line")),Ma=(xa("pie-chart","pie"),xa("polar-chart","polarArea"),xa("radar-chart","radar"),xa("bubble-chart","bubble"),xa("scatter-chart","scatter"),_a("doughnut"),_a("bar")),Sa=_a("line");_a("pie"),_a("polarArea"),_a("radar"),_a("bubble"),_a("scatter")}}]); -//# sourceMappingURL=chunk-vendors.f76e2e3d.js.map \ No newline at end of file +var f="store";function d(t){return void 0===t&&(t=null),(0,r.f3)(null!==t?t:f)}function p(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function g(t){return null!==t&&"object"===typeof t}function m(t){return t&&"function"===typeof t.then}function b(t,e){return function(){return t(e)}}function v(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function y(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;_(t,n,[],t._modules.root,!0),x(t,n,e)}function x(t,e,n){var r=t._state;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,s={};p(o,(function(e,n){s[n]=b(e,t),Object.defineProperty(t.getters,n,{get:function(){return s[n]()},enumerable:!0})})),t._state=(0,i.qj)({data:e}),t.strict&&C(t),r&&n&&t._withCommit((function(){r.data=null}))}function _(t,e,n,r,i){var o=!n.length,s=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[s],t._modulesNamespaceMap[s]=r),!o&&!i){var a=P(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){a[c]=r.state}))}var l=r.context=w(t,s,n);r.forEachMutation((function(e,n){var r=s+n;M(t,r,e,l)})),r.forEachAction((function(e,n){var r=e.root?n:s+n,i=e.handler||e;S(t,r,i,l)})),r.forEachGetter((function(e,n){var r=s+n;O(t,r,e,l)})),r.forEachChild((function(r,o){_(t,e,n.concat(o),r,i)}))}function w(t,e,n){var r=""===e,i={dispatch:r?t.dispatch:function(n,r,i){var o=T(n,r,i),s=o.payload,a=o.options,c=o.type;return a&&a.root||(c=e+c),t.dispatch(c,s)},commit:r?t.commit:function(n,r,i){var o=T(n,r,i),s=o.payload,a=o.options,c=o.type;a&&a.root||(c=e+c),t.commit(c,s,a)}};return Object.defineProperties(i,{getters:{get:r?function(){return t.getters}:function(){return k(t,e)}},state:{get:function(){return P(t.state,n)}}}),i}function k(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(i){if(i.slice(0,r)===e){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return t.getters[i]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function M(t,e,n,r){var i=t._mutations[e]||(t._mutations[e]=[]);i.push((function(e){n.call(t,r.state,e)}))}function S(t,e,n,r){var i=t._actions[e]||(t._actions[e]=[]);i.push((function(e){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return m(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}function O(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function C(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function P(t,e){return e.reduce((function(t,e){return t[e]}),t)}function T(t,e,n){return g(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var D="vuex bindings",E="vuex:mutations",j="vuex:actions",A="vuex",L=0;function F(t,e){h({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[D]},(function(n){n.addTimelineLayer({id:E,label:"Vuex Mutations",color:I}),n.addTimelineLayer({id:j,label:"Vuex Actions",color:I}),n.addInspector({id:A,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===A)if(n.filter){var r=[];$(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[H(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===A){var r=n.nodeId;k(e,r),n.state=B(V(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===A){var r=n.nodeId,i=n.path;"root"!==r&&(i=r.split("/").filter(Boolean).concat(i)),e._withCommit((function(){n.set(e._state.data,i,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(A),n.sendInspectorState(A),n.addTimelineEvent({layerId:E,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=L++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:j,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},i=Date.now()-t._time;r.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:j,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var I=8702998,R=6710886,N=16777215,W={label:"namespaced",textColor:N,backgroundColor:R};function z(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function H(t,e){return{id:e||"root",label:z(e),tags:t.namespaced?[W]:[],children:Object.keys(t._children).map((function(n){return H(t._children[n],e+n+"/")}))}}function $(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[W]:[]}),Object.keys(e._children).forEach((function(i){$(t,e._children[i],n,r+i+"/")}))}function B(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),i={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var o=U(e);i.getters=Object.keys(o).map((function(t){return{key:t.endsWith("/")?z(t):t,editable:!1,value:Z((function(){return o[t]}))}}))}return i}function U(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var i=e,o=r.pop();r.forEach((function(t){i[t]||(i[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),i=i[t]._custom.value})),i[o]=Z((function(){return t[n]}))}else e[n]=Z((function(){return t[n]}))})),e}function V(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,i){var o=t[r];if(!o)throw new Error('Missing module "'+r+'" for path "'+e+'".');return i===n.length-1?o:o._children}),"root"===e?t:t.root._children)}function Z(t){try{return t()}catch(e){return e}}var Y=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},q={namespaced:{configurable:!0}};q.namespaced.get=function(){return!!this._rawModule.namespaced},Y.prototype.addChild=function(t,e){this._children[t]=e},Y.prototype.removeChild=function(t){delete this._children[t]},Y.prototype.getChild=function(t){return this._children[t]},Y.prototype.hasChild=function(t){return t in this._children},Y.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},Y.prototype.forEachChild=function(t){p(this._children,t)},Y.prototype.forEachGetter=function(t){this._rawModule.getters&&p(this._rawModule.getters,t)},Y.prototype.forEachAction=function(t){this._rawModule.actions&&p(this._rawModule.actions,t)},Y.prototype.forEachMutation=function(t){this._rawModule.mutations&&p(this._rawModule.mutations,t)},Object.defineProperties(Y.prototype,q);var J=function(t){this.register([],t,!1)};function G(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;G(t.concat(r),e.getChild(r),n.modules[r])}}J.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},J.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},J.prototype.update=function(t){G([],this.root,t)},J.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new Y(e,n);if(0===t.length)this.root=i;else{var o=this.get(t.slice(0,-1));o.addChild(t[t.length-1],i)}e.modules&&p(e.modules,(function(e,i){r.register(t.concat(i),e,n)}))},J.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},J.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function X(t){return new K(t)}var K=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var i=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new J(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=i;var o=this,s=this,a=s.dispatch,c=s.commit;this.dispatch=function(t,e){return a.call(o,t,e)},this.commit=function(t,e,n){return c.call(o,t,e,n)},this.strict=r;var l=this._modules.root.state;_(this,l,[],this._modules.root),x(this,l),n.forEach((function(t){return t(e)}))},Q={state:{configurable:!0}};K.prototype.install=function(t,e){t.provide(e||f,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&F(t,this)},Q.state.get=function(){return this._state.data},Q.state.set=function(t){0},K.prototype.commit=function(t,e,n){var r=this,i=T(t,e,n),o=i.type,s=i.payload,a=(i.options,{type:o,payload:s}),c=this._mutations[o];c&&(this._withCommit((function(){c.forEach((function(t){t(s)}))})),this._subscribers.slice().forEach((function(t){return t(a,r.state)})))},K.prototype.dispatch=function(t,e){var n=this,r=T(t,e),i=r.type,o=r.payload,s={type:i,payload:o},a=this._actions[i];if(a){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(s,n.state)}))}catch(l){0}var c=a.length>1?Promise.all(a.map((function(t){return t(o)}))):a[0](o);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(s,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(s,n.state,t)}))}catch(l){0}e(t)}))}))}},K.prototype.subscribe=function(t,e){return v(t,this._subscribers,e)},K.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return v(n,this._actionSubscribers,e)},K.prototype.watch=function(t,e,n){var i=this;return(0,r.YP)((function(){return t(i.state,i.getters)}),e,Object.assign({},n))},K.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},K.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),_(this,this.state,t,this._modules.get(t),n.preserveState),x(this,this.state)},K.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=P(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),y(this)},K.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},K.prototype.hotUpdate=function(t){this._modules.update(t),y(this,!0)},K.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(K.prototype,Q);nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=rt(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,e,n):e[i]},n[r].vuex=!0})),n})),nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var o=rt(this.$store,"mapMutations",t);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n})),nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;i=t+i,n[r]=function(){if(!t||rt(this.$store,"mapGetters",t))return this.$store.getters[i]},n[r].vuex=!0})),n})),nt((function(t,e){var n={};return tt(e).forEach((function(e){var r=e.key,i=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var o=rt(this.$store,"mapActions",t);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(e)):r.apply(this.$store,[i].concat(e))}})),n}));function tt(t){return et(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function et(t){return Array.isArray(t)||g(t)}function nt(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function rt(t,e,n){var r=t._modulesNamespaceMap[n];return r}},2820:function(t,e,n){"use strict";n.d(e,{vz:function(){return wa},wW:function(){return ka},xZ:function(){return Ma},tn:function(){return Sa}});var r=n(3328);function i(){this.__data__=[],this.size=0}var o=i;function s(t,e){return t===e||t!==t&&e!==e}var a=s;function c(t,e){var n=t.length;while(n--)if(a(t[n][0],e))return n;return-1}var l=c,u=Array.prototype,h=u.splice;function f(t){var e=this.__data__,n=l(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():h.call(e,n,1),--this.size,!0}var d=f;function p(t){var e=this.__data__,n=l(e,t);return n<0?void 0:e[n][1]}var g=p;function m(t){return l(this.__data__,t)>-1}var b=m;function v(t,e){var n=this.__data__,r=l(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var y=v;function x(t){var e=-1,n=null==t?0:t.length;this.clear();while(++ea))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=n&Te?new ke:void 0;o.set(t,e),o.set(e,t);while(++h-1&&t%1==0&&t-1&&t%1==0&&t<=$n}var Un=Bn,Vn="[object Arguments]",Zn="[object Array]",Yn="[object Boolean]",qn="[object Date]",Jn="[object Error]",Gn="[object Function]",Xn="[object Map]",Kn="[object Number]",Qn="[object Object]",tr="[object RegExp]",er="[object Set]",nr="[object String]",rr="[object WeakMap]",ir="[object ArrayBuffer]",or="[object DataView]",sr="[object Float32Array]",ar="[object Float64Array]",cr="[object Int8Array]",lr="[object Int16Array]",ur="[object Int32Array]",hr="[object Uint8Array]",fr="[object Uint8ClampedArray]",dr="[object Uint16Array]",pr="[object Uint32Array]",gr={};function mr(t){return xn(t)&&Un(t.length)&&!!gr[X(t)]}gr[sr]=gr[ar]=gr[cr]=gr[lr]=gr[ur]=gr[hr]=gr[fr]=gr[dr]=gr[pr]=!0,gr[Vn]=gr[Zn]=gr[ir]=gr[Yn]=gr[or]=gr[qn]=gr[Jn]=gr[Gn]=gr[Xn]=gr[Kn]=gr[Qn]=gr[tr]=gr[er]=gr[nr]=gr[rr]=!1;var br=mr;function vr(t){return function(e){return t(e)}}var yr=vr,xr="object"==typeof exports&&exports&&!exports.nodeType&&exports,_r=xr&&"object"==typeof module&&module&&!module.nodeType&&module,wr=_r&&_r.exports===xr,kr=wr&&E.process,Mr=function(){try{var t=_r&&_r.require&&_r.require("util").types;return t||kr&&kr.binding&&kr.binding("util")}catch(e){}}(),Sr=Mr,Or=Sr&&Sr.isTypedArray,Cr=Or?yr(Or):br,Pr=Cr,Tr=Object.prototype,Dr=Tr.hasOwnProperty;function Er(t,e){var n=on(t),r=!n&&Pn(t),i=!n&&!r&&Rn(t),o=!n&&!r&&!i&&Pr(t),s=n||r||i||o,a=s?vn(t.length,String):[],c=a.length;for(var l in t)!e&&!Dr.call(t,l)||s&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Hn(l,c))||a.push(l);return a}var jr=Er,Ar=Object.prototype;function Lr(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||Ar;return t===n}var Fr=Lr;function Ir(t,e){return function(n){return t(e(n))}}var Rr=Ir,Nr=Rr(Object.keys,Object),Wr=Nr,zr=Object.prototype,Hr=zr.hasOwnProperty;function $r(t){if(!Fr(t))return Wr(t);var e=[];for(var n in Object(t))Hr.call(t,n)&&"constructor"!=n&&e.push(n);return e}var Br=$r;function Ur(t){return null!=t&&Un(t.length)&&!ot(t)}var Vr=Ur;function Zr(t){return Vr(t)?jr(t):Br(t)}var Yr=Zr;function qr(t){return an(t,Yr,mn)}var Jr=qr,Gr=1,Xr=Object.prototype,Kr=Xr.hasOwnProperty;function Qr(t,e,n,r,i,o){var s=n&Gr,a=Jr(t),c=a.length,l=Jr(e),u=l.length;if(c!=u&&!s)return!1;var h=c;while(h--){var f=a[h];if(!(s?f in e:Kr.call(e,f)))return!1}var d=o.get(t),p=o.get(e);if(d&&p)return d==e&&p==t;var g=!0;o.set(t,e),o.set(e,t);var m=s;while(++he in t?ha(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,va=(t,e)=>{for(var n in e||(e={}))ga.call(e,n)&&ba(t,n,e[n]);if(pa)for(var n of pa(e))ma.call(e,n)&&ba(t,n,e[n]);return t},ya=(t,e)=>fa(t,da(e)),xa=(t,e)=>{const n={chartData:{type:Object,required:!0},options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},i=ua(t);return(0,ca.aZ)({name:i,props:n,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":()=>!0,"chart:render":t=>!0},setup(t,{emit:n,expose:o}){const s=(0,la.iH)(null),a=`${t.chartId}`;let c=(0,la.XI)(null);function l(t,e){if(e&&c.value){let n=c.value;Ai(t,e)||e.datasets.length!==t.datasets.length?n.data.datasets=t.datasets:(t.datasets.forEach(((t,r)=>{const i=Object.keys(e.datasets[r]),o=Object.keys(t),s=i.filter((t=>"_meta"!==t&&-1===o.indexOf(t)));s.forEach((t=>{n.data.datasets[r]&&delete n.data.datasets[r][t]}));for(const e in t){const i=t[e];t.hasOwnProperty(e)&&null!=i&&n&&(n.data.datasets[r][e]=i)}})),t.labels&&(n.data.labels=t.labels,h())),d()}else c.value&&p(),u()}function u(){s.value?(c.value=new r.kL(s.value,{data:t.chartData,type:e,options:aa(t.options),plugins:t.plugins}),f()):console.error(`Error on component ${i}, canvas cannot be rendered. Check if the render appends server-side`)}function h(){n("labels:update"),t.onLabelsUpdate&&t.onLabelsUpdate()}function f(){c.value&&(n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function d(){c.value&&(c.value.update(),n("chart:render",c.value),t.onChartRender&&t.onChartRender(c.value))}function p(){c.value&&c.value.destroy(),n("chart:destroy"),t.onChartDestroy&&t.onChartDestroy()}return(0,ca.YP)((()=>t.chartData),l,{deep:!0}),(0,ca.YP)((()=>t.options),((t,e)=>{c.value&&t&&!Ai(c.value.options,e)&&(c.value.options=aa(t),e=aa(t),d())}),{deep:!0}),(0,ca.bv)(u),(0,ca.Jd)((()=>{c.value&&c.value.destroy()})),o({canvasRef:s,renderChart:u,chartInstance:c,canvasId:a,update:d}),()=>(0,ca.h)("div",{style:ya(va({maxWidth:"100%"},t.styles),{position:"relative"}),class:t.cssClasses},[(0,ca.h)("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},id:a,width:t.width,height:t.height,ref:s})])}})},_a=t=>e=>{const n=`${t}ChartRef`,r={[n]:(0,la.iH)()},i=(0,ca.Fl)((()=>ya(va(va(va({},e),e.jsx&&{ref:r[n]}),!e.jsx&&{ref:n}),{chartData:(0,la.SU)(e.chartData),options:(0,la.SU)(e.options)})));function o(){var e;const i=r[n].value;i?null==(e=null==i?void 0:i.chartInstance.value)||e.update():console.warn(`No chartInstance to update (use${ua(t)}Chart)`)}return{[`${t}ChartProps`]:i,[n]:r[n],update:o}},wa=xa("bar-chart","bar"),ka=(xa("doughnut-chart","doughnut"),xa("line-chart","line")),Ma=(xa("pie-chart","pie"),xa("polar-chart","polarArea"),xa("radar-chart","radar"),xa("bubble-chart","bubble"),xa("scatter-chart","scatter"),_a("doughnut"),_a("bar")),Sa=_a("line");_a("pie"),_a("polarArea"),_a("radar"),_a("bubble"),_a("scatter")}}]); +//# sourceMappingURL=chunk-vendors.1308e452.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.1308e452.js.map b/fittrackee/dist/static/js/chunk-vendors.1308e452.js.map new file mode 100644 index 00000000..3362c24f --- /dev/null +++ b/fittrackee/dist/static/js/chunk-vendors.1308e452.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/chunk-vendors.1308e452.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/helper.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/dateSplits.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/const.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/levenshtein.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/l33tTable.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/translationKeys.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Options.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/reverse.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/utils.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/uppercase.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/estimate.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/index.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/TimeEstimates.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/index.esm.js","webpack://fittrackee_client/./node_modules/axios/index.js","webpack://fittrackee_client/./node_modules/axios/lib/adapters/xhr.js","webpack://fittrackee_client/./node_modules/axios/lib/axios.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/Cancel.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/CancelToken.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/isCancel.js","webpack://fittrackee_client/./node_modules/axios/lib/core/Axios.js","webpack://fittrackee_client/./node_modules/axios/lib/core/InterceptorManager.js","webpack://fittrackee_client/./node_modules/axios/lib/core/buildFullPath.js","webpack://fittrackee_client/./node_modules/axios/lib/core/createError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/dispatchRequest.js","webpack://fittrackee_client/./node_modules/axios/lib/core/enhanceError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/mergeConfig.js","webpack://fittrackee_client/./node_modules/axios/lib/core/settle.js","webpack://fittrackee_client/./node_modules/axios/lib/core/transformData.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults.js","webpack://fittrackee_client/./node_modules/axios/lib/env/data.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/bind.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/buildURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/combineURLs.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/cookies.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/spread.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/validator.js","webpack://fittrackee_client/./node_modules/axios/lib/utils.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chart.esm.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chunks/helpers.segment.js","webpack://fittrackee_client/./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-possible-prototype.js","webpack://fittrackee_client/./node_modules/core-js/internals/an-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/array-includes.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof-raw.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof.js","webpack://fittrackee_client/./node_modules/core-js/internals/clear-error-stack.js","webpack://fittrackee_client/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/descriptors.js","webpack://fittrackee_client/./node_modules/core-js/internals/document-create-element.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-user-agent.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-v8-version.js","webpack://fittrackee_client/./node_modules/core-js/internals/enum-bug-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/error-stack-installable.js","webpack://fittrackee_client/./node_modules/core-js/internals/export.js","webpack://fittrackee_client/./node_modules/core-js/internals/fails.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-apply.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-bind-native.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-call.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-name.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-uncurry-this.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-method.js","webpack://fittrackee_client/./node_modules/core-js/internals/global.js","webpack://fittrackee_client/./node_modules/core-js/internals/has-own-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/hidden-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/ie8-dom-define.js","webpack://fittrackee_client/./node_modules/core-js/internals/indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/inherit-if-required.js","webpack://fittrackee_client/./node_modules/core-js/internals/inspect-source.js","webpack://fittrackee_client/./node_modules/core-js/internals/install-error-cause.js","webpack://fittrackee_client/./node_modules/core-js/internals/internal-state.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-forced.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-pure.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/length-of-array-like.js","webpack://fittrackee_client/./node_modules/core-js/internals/native-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/native-weak-map.js","webpack://fittrackee_client/./node_modules/core-js/internals/normalize-string-argument.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-define-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-keys-internal.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/own-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/redefine.js","webpack://fittrackee_client/./node_modules/core-js/internals/require-object-coercible.js","webpack://fittrackee_client/./node_modules/core-js/internals/set-global.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-store.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-absolute-index.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-length.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-property-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string-tag-support.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/try-to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://fittrackee_client/./node_modules/core-js/internals/well-known-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.error.cause.js","webpack://fittrackee_client/./node_modules/date-fns-tz/esm/_lib/tzTokenizeDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/esm/_lib/tzParseTimezone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/esm/_lib/tzPattern/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/esm/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/esm/utcToZonedTime/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addDays/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/compareAsc/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInCalendarMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isLastDayOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isToday/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/toDate/index.js","webpack://fittrackee_client/./node_modules/fastest-levenshtein/index.js","webpack://fittrackee_client/./node_modules/pascalcase/index.js","webpack://fittrackee_client/./node_modules/register-service-worker/index.js","webpack://fittrackee_client/./node_modules/vue-fullscreen/dist/index.es.js","webpack://fittrackee_client/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/message-resolver/dist/message-resolver.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/runtime/dist/runtime.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-loader/dist/exportHelper.js","webpack://fittrackee_client/./node_modules/vue-router/dist/vue-router.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://fittrackee_client/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/eq.js","webpack://fittrackee_client/./node_modules/lodash-es/_assocIndexOf.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_ListCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_freeGlobal.js","webpack://fittrackee_client/./node_modules/lodash-es/_root.js","webpack://fittrackee_client/./node_modules/lodash-es/_Symbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_getRawTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_objectToString.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetTag.js","webpack://fittrackee_client/./node_modules/lodash-es/isObject.js","webpack://fittrackee_client/./node_modules/lodash-es/isFunction.js","webpack://fittrackee_client/./node_modules/lodash-es/_coreJsData.js","webpack://fittrackee_client/./node_modules/lodash-es/_isMasked.js","webpack://fittrackee_client/./node_modules/lodash-es/_toSource.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_getValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_getNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_Map.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Hash.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_isKeyable.js","webpack://fittrackee_client/./node_modules/lodash-es/_getMapData.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_MapCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Stack.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheAdd.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_SetCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_arraySome.js","webpack://fittrackee_client/./node_modules/lodash-es/_cacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalArrays.js","webpack://fittrackee_client/./node_modules/lodash-es/_Uint8Array.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_setToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayPush.js","webpack://fittrackee_client/./node_modules/lodash-es/isArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayFilter.js","webpack://fittrackee_client/./node_modules/lodash-es/stubArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseTimes.js","webpack://fittrackee_client/./node_modules/lodash-es/isObjectLike.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/isArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/stubFalse.js","webpack://fittrackee_client/./node_modules/lodash-es/isBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_isIndex.js","webpack://fittrackee_client/./node_modules/lodash-es/isLength.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseUnary.js","webpack://fittrackee_client/./node_modules/lodash-es/_nodeUtil.js","webpack://fittrackee_client/./node_modules/lodash-es/isTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayLikeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_isPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_overArg.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/isArrayLike.js","webpack://fittrackee_client/./node_modules/lodash-es/keys.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalObjects.js","webpack://fittrackee_client/./node_modules/lodash-es/_DataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_Promise.js","webpack://fittrackee_client/./node_modules/lodash-es/_Set.js","webpack://fittrackee_client/./node_modules/lodash-es/_WeakMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_getTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqualDeep.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/isEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayEach.js","webpack://fittrackee_client/./node_modules/lodash-es/_defineProperty.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_assignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssign.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/keysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_getPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneArrayBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneDataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneRegExp.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneSymbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsMap.js","webpack://fittrackee_client/./node_modules/lodash-es/isMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsSet.js","webpack://fittrackee_client/./node_modules/lodash-es/isSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseClone.js","webpack://fittrackee_client/./node_modules/lodash-es/cloneDeep.js","webpack://fittrackee_client/./node_modules/vue-chart-3/dist/index.js"],"sourcesContent":["import { extend, isArray, isMap, isIntegerKey, isSymbol, hasOwn, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n this.active = true;\r\n this.effects = [];\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = this.parent;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n }\r\n }\r\n stop() {\r\n if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({\r\n effect: activeEffect\r\n }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n for (const effect of isArray(dep) ? dep : [...dep]) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - does not apply for Array + integer key.\r\n const shouldUnwrap = !targetIsArray || !isIntegerKey(key);\r\n return shouldUnwrap ? res.value : res;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"get\" /* GET */, rawKey);\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (key !== rawKey) {\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n !isReadonly && track(rawTarget, \"has\" /* HAS */, rawKey);\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only a whitelist of value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, reactive, shallowReactive, trigger, isProxy, shallowReadonly, track, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, def, isReservedProp, EMPTY_ARR, capitalize, toRawType, makeMap, isBuiltInDirective, NO, normalizeClass, normalizeStyle, isGloballyWhitelisted } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n // eslint-disable-next-line no-restricted-globals\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n else if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(options || {}, { flush: 'post' })\r\n : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(options || {}, { flush: 'sync' })\r\n : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(isReactive);\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => {\r\n if (!instance || instance.isMounted) {\r\n queuePreFlushCb(job);\r\n }\r\n else {\r\n // with 'pre' option, the first call must happen before\r\n // the component is mounted so it is called synchronously.\r\n job();\r\n }\r\n };\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n // warn multiple elements\r\n if ((process.env.NODE_ENV !== 'production') && children.length > 1) {\r\n warn(' can only be used on a single element or component. Use ' +\r\n ' for lists.');\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' && mode !== 'out-in' && mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n // at this point children has a guaranteed length of 1.\r\n const child = children[0];\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n hook(el, done);\r\n if (hook.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n onLeave(el, done);\r\n if (onLeave.length <= 1) {\r\n done();\r\n }\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest =\r\n loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n name: 'AsyncComponentWrapper',\r\n __asyncLoader: load,\r\n get __asyncResolved() {\r\n return resolvedComp;\r\n },\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (isInSSRComponentSetup)) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\r\n // parent is keep-alive, force update so the loaded component's\r\n // name is taken into account\r\n queueJob(instance.parent.update);\r\n }\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children } }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n // if the internal renderer is not registered, it indicates that this is server-side rendering,\r\n // for KeepAlive, we just need to render its children\r\n if (!sharedContext.renderer) {\r\n return slots.default;\r\n }\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n instance.__v_cache = cache;\r\n }\r\n const parentSuspense = instance.suspense;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense, true);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n // for async components, name check should be based in its loaded\r\n // inner component if available\r\n const name = getComponentName(isAsyncWrapper(vnode)\r\n ? vnode.type.__asyncResolved || {}\r\n : comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return rawVNode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').includes(name);\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n unsetCurrentInstance();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n(!isInSSRComponentSetup || lifecycle === \"sp\" /* SERVER_PREFETCH */) &&\r\n injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onServerPrefetch = createHook(\"sp\" /* SERVER_PREFETCH */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n}\n\nfunction createDuplicateChecker() {\r\n const cache = Object.create(null);\r\n return (type, key) => {\r\n if (cache[key]) {\r\n warn(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\r\n }\r\n else {\r\n cache[key] = type;\r\n }\r\n };\r\n}\r\nlet shouldCacheAccess = true;\r\nfunction applyOptions(instance) {\r\n const options = resolveMergedOptions(instance);\r\n const publicThis = instance.proxy;\r\n const ctx = instance.ctx;\r\n // do not cache property access on public proxy during state initialization\r\n shouldCacheAccess = false;\r\n // call beforeCreate first before accessing other options since\r\n // the hook may mutate resolved options (#2791)\r\n if (options.beforeCreate) {\r\n callHook(options.beforeCreate, instance, \"bc\" /* BEFORE_CREATE */);\r\n }\r\n const { \r\n // state\r\n data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, \r\n // lifecycle\r\n created, beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured, serverPrefetch, \r\n // public API\r\n expose, inheritAttrs, \r\n // assets\r\n components, directives, filters } = options;\r\n const checkDuplicateProperties = (process.env.NODE_ENV !== 'production') ? createDuplicateChecker() : null;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const [propsOptions] = instance.propsOptions;\r\n if (propsOptions) {\r\n for (const key in propsOptions) {\r\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\r\n }\r\n }\r\n }\r\n // options initialization order (to be consistent with Vue 2):\r\n // - props (already done outside of this function)\r\n // - inject\r\n // - methods\r\n // - data (deferred since it relies on `this` access)\r\n // - computed\r\n // - watch (deferred since it relies on `this` access)\r\n if (injectOptions) {\r\n resolveInjections(injectOptions, ctx, checkDuplicateProperties, instance.appContext.config.unwrapInjectedRef);\r\n }\r\n if (methods) {\r\n for (const key in methods) {\r\n const methodHandler = methods[key];\r\n if (isFunction(methodHandler)) {\r\n // In dev mode, we use the `createRenderContext` function to define\r\n // methods to the proxy target, and those are read-only but\r\n // reconfigurable, so it needs to be redefined here\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n Object.defineProperty(ctx, key, {\r\n value: methodHandler.bind(publicThis),\r\n configurable: true,\r\n enumerable: true,\r\n writable: true\r\n });\r\n }\r\n else {\r\n ctx[key] = methodHandler.bind(publicThis);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. ` +\r\n `Did you reference the function correctly?`);\r\n }\r\n }\r\n }\r\n if (dataOptions) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(dataOptions)) {\r\n warn(`The data option must be a function. ` +\r\n `Plain object usage is no longer supported.`);\r\n }\r\n const data = dataOptions.call(publicThis, publicThis);\r\n if ((process.env.NODE_ENV !== 'production') && isPromise(data)) {\r\n warn(`data() returned a Promise - note data() cannot be async; If you ` +\r\n `intend to perform data fetching before component renders, use ` +\r\n `async setup() + .`);\r\n }\r\n if (!isObject(data)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`data() should return an object.`);\r\n }\r\n else {\r\n instance.data = reactive(data);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n for (const key in data) {\r\n checkDuplicateProperties(\"Data\" /* DATA */, key);\r\n // expose data on ctx during dev\r\n if (key[0] !== '$' && key[0] !== '_') {\r\n Object.defineProperty(ctx, key, {\r\n configurable: true,\r\n enumerable: true,\r\n get: () => data[key],\r\n set: NOOP\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // state initialization complete at this point - start caching access\r\n shouldCacheAccess = true;\r\n if (computedOptions) {\r\n for (const key in computedOptions) {\r\n const opt = computedOptions[key];\r\n const get = isFunction(opt)\r\n ? opt.bind(publicThis, publicThis)\r\n : isFunction(opt.get)\r\n ? opt.get.bind(publicThis, publicThis)\r\n : NOOP;\r\n if ((process.env.NODE_ENV !== 'production') && get === NOOP) {\r\n warn(`Computed property \"${key}\" has no getter.`);\r\n }\r\n const set = !isFunction(opt) && isFunction(opt.set)\r\n ? opt.set.bind(publicThis)\r\n : (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n warn(`Write operation failed: computed property \"${key}\" is readonly.`);\r\n }\r\n : NOOP;\r\n const c = computed({\r\n get,\r\n set\r\n });\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => c.value,\r\n set: v => (c.value = v)\r\n });\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\r\n }\r\n }\r\n }\r\n if (watchOptions) {\r\n for (const key in watchOptions) {\r\n createWatcher(watchOptions[key], ctx, publicThis, key);\r\n }\r\n }\r\n if (provideOptions) {\r\n const provides = isFunction(provideOptions)\r\n ? provideOptions.call(publicThis)\r\n : provideOptions;\r\n Reflect.ownKeys(provides).forEach(key => {\r\n provide(key, provides[key]);\r\n });\r\n }\r\n if (created) {\r\n callHook(created, instance, \"c\" /* CREATED */);\r\n }\r\n function registerLifecycleHook(register, hook) {\r\n if (isArray(hook)) {\r\n hook.forEach(_hook => register(_hook.bind(publicThis)));\r\n }\r\n else if (hook) {\r\n register(hook.bind(publicThis));\r\n }\r\n }\r\n registerLifecycleHook(onBeforeMount, beforeMount);\r\n registerLifecycleHook(onMounted, mounted);\r\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\r\n registerLifecycleHook(onUpdated, updated);\r\n registerLifecycleHook(onActivated, activated);\r\n registerLifecycleHook(onDeactivated, deactivated);\r\n registerLifecycleHook(onErrorCaptured, errorCaptured);\r\n registerLifecycleHook(onRenderTracked, renderTracked);\r\n registerLifecycleHook(onRenderTriggered, renderTriggered);\r\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\r\n registerLifecycleHook(onUnmounted, unmounted);\r\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\r\n if (isArray(expose)) {\r\n if (expose.length) {\r\n const exposed = instance.exposed || (instance.exposed = {});\r\n expose.forEach(key => {\r\n Object.defineProperty(exposed, key, {\r\n get: () => publicThis[key],\r\n set: val => (publicThis[key] = val)\r\n });\r\n });\r\n }\r\n else if (!instance.exposed) {\r\n instance.exposed = {};\r\n }\r\n }\r\n // options that are handled when creating the instance but also need to be\r\n // applied from mixins\r\n if (render && instance.render === NOOP) {\r\n instance.render = render;\r\n }\r\n if (inheritAttrs != null) {\r\n instance.inheritAttrs = inheritAttrs;\r\n }\r\n // asset options.\r\n if (components)\r\n instance.components = components;\r\n if (directives)\r\n instance.directives = directives;\r\n}\r\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP, unwrapRef = false) {\r\n if (isArray(injectOptions)) {\r\n injectOptions = normalizeInject(injectOptions);\r\n }\r\n for (const key in injectOptions) {\r\n const opt = injectOptions[key];\r\n let injected;\r\n if (isObject(opt)) {\r\n if ('default' in opt) {\r\n injected = inject(opt.from || key, opt.default, true /* treat default function as factory */);\r\n }\r\n else {\r\n injected = inject(opt.from || key);\r\n }\r\n }\r\n else {\r\n injected = inject(opt);\r\n }\r\n if (isRef(injected)) {\r\n // TODO remove the check in 3.3\r\n if (unwrapRef) {\r\n Object.defineProperty(ctx, key, {\r\n enumerable: true,\r\n configurable: true,\r\n get: () => injected.value,\r\n set: v => (injected.value = v)\r\n });\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injected property \"${key}\" is a ref and will be auto-unwrapped ` +\r\n `and no longer needs \\`.value\\` in the next minor release. ` +\r\n `To opt-in to the new behavior now, ` +\r\n `set \\`app.config.unwrapInjectedRef = true\\` (this config is ` +\r\n `temporary and will not be needed in the future.)`);\r\n }\r\n ctx[key] = injected;\r\n }\r\n }\r\n else {\r\n ctx[key] = injected;\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\r\n }\r\n }\r\n}\r\nfunction callHook(hook, instance, type) {\r\n callWithAsyncErrorHandling(isArray(hook)\r\n ? hook.map(h => h.bind(instance.proxy))\r\n : hook.bind(instance.proxy), instance, type);\r\n}\r\nfunction createWatcher(raw, ctx, publicThis, key) {\r\n const getter = key.includes('.')\r\n ? createPathGetter(publicThis, key)\r\n : () => publicThis[key];\r\n if (isString(raw)) {\r\n const handler = ctx[raw];\r\n if (isFunction(handler)) {\r\n watch(getter, handler);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch handler specified by key \"${raw}\"`, handler);\r\n }\r\n }\r\n else if (isFunction(raw)) {\r\n watch(getter, raw.bind(publicThis));\r\n }\r\n else if (isObject(raw)) {\r\n if (isArray(raw)) {\r\n raw.forEach(r => createWatcher(r, ctx, publicThis, key));\r\n }\r\n else {\r\n const handler = isFunction(raw.handler)\r\n ? raw.handler.bind(publicThis)\r\n : ctx[raw.handler];\r\n if (isFunction(handler)) {\r\n watch(getter, handler, raw);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\r\n }\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid watch option: \"${key}\"`, raw);\r\n }\r\n}\r\n/**\r\n * Resolve merged options and cache it on the component.\r\n * This is done only once per-component since the merging does not involve\r\n * instances.\r\n */\r\nfunction resolveMergedOptions(instance) {\r\n const base = instance.type;\r\n const { mixins, extends: extendsOptions } = base;\r\n const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext;\r\n const cached = cache.get(base);\r\n let resolved;\r\n if (cached) {\r\n resolved = cached;\r\n }\r\n else if (!globalMixins.length && !mixins && !extendsOptions) {\r\n {\r\n resolved = base;\r\n }\r\n }\r\n else {\r\n resolved = {};\r\n if (globalMixins.length) {\r\n globalMixins.forEach(m => mergeOptions(resolved, m, optionMergeStrategies, true));\r\n }\r\n mergeOptions(resolved, base, optionMergeStrategies);\r\n }\r\n cache.set(base, resolved);\r\n return resolved;\r\n}\r\nfunction mergeOptions(to, from, strats, asMixin = false) {\r\n const { mixins, extends: extendsOptions } = from;\r\n if (extendsOptions) {\r\n mergeOptions(to, extendsOptions, strats, true);\r\n }\r\n if (mixins) {\r\n mixins.forEach((m) => mergeOptions(to, m, strats, true));\r\n }\r\n for (const key in from) {\r\n if (asMixin && key === 'expose') {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`\"expose\" option is ignored when declared in mixins or extends. ` +\r\n `It should only be declared in the base component itself.`);\r\n }\r\n else {\r\n const strat = internalOptionMergeStrats[key] || (strats && strats[key]);\r\n to[key] = strat ? strat(to[key], from[key]) : from[key];\r\n }\r\n }\r\n return to;\r\n}\r\nconst internalOptionMergeStrats = {\r\n data: mergeDataFn,\r\n props: mergeObjectOptions,\r\n emits: mergeObjectOptions,\r\n // objects\r\n methods: mergeObjectOptions,\r\n computed: mergeObjectOptions,\r\n // lifecycle\r\n beforeCreate: mergeAsArray,\r\n created: mergeAsArray,\r\n beforeMount: mergeAsArray,\r\n mounted: mergeAsArray,\r\n beforeUpdate: mergeAsArray,\r\n updated: mergeAsArray,\r\n beforeDestroy: mergeAsArray,\r\n beforeUnmount: mergeAsArray,\r\n destroyed: mergeAsArray,\r\n unmounted: mergeAsArray,\r\n activated: mergeAsArray,\r\n deactivated: mergeAsArray,\r\n errorCaptured: mergeAsArray,\r\n serverPrefetch: mergeAsArray,\r\n // assets\r\n components: mergeObjectOptions,\r\n directives: mergeObjectOptions,\r\n // watch\r\n watch: mergeWatchOptions,\r\n // provide / inject\r\n provide: mergeDataFn,\r\n inject: mergeInject\r\n};\r\nfunction mergeDataFn(to, from) {\r\n if (!from) {\r\n return to;\r\n }\r\n if (!to) {\r\n return from;\r\n }\r\n return function mergedDataFn() {\r\n return (extend)(isFunction(to) ? to.call(this, this) : to, isFunction(from) ? from.call(this, this) : from);\r\n };\r\n}\r\nfunction mergeInject(to, from) {\r\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\r\n}\r\nfunction normalizeInject(raw) {\r\n if (isArray(raw)) {\r\n const res = {};\r\n for (let i = 0; i < raw.length; i++) {\r\n res[raw[i]] = raw[i];\r\n }\r\n return res;\r\n }\r\n return raw;\r\n}\r\nfunction mergeAsArray(to, from) {\r\n return to ? [...new Set([].concat(to, from))] : from;\r\n}\r\nfunction mergeObjectOptions(to, from) {\r\n return to ? extend(extend(Object.create(null), to), from) : from;\r\n}\r\nfunction mergeWatchOptions(to, from) {\r\n if (!to)\r\n return from;\r\n if (!from)\r\n return to;\r\n const merged = extend(Object.create(null), to);\r\n for (const key in from) {\r\n merged[key] = mergeAsArray(to[key], from[key]);\r\n }\r\n return merged;\r\n}\n\nfunction initProps(instance, rawProps, isStateful, // result of bitwise flag comparison\r\nisSSR = false) {\r\n const props = {};\r\n const attrs = {};\r\n def(attrs, InternalObjectKey, 1);\r\n instance.propsDefaults = Object.create(null);\r\n setFullProps(instance, rawProps, props, attrs);\r\n // ensure all declared prop keys are present\r\n for (const key in instance.propsOptions[0]) {\r\n if (!(key in props)) {\r\n props[key] = undefined;\r\n }\r\n }\r\n // validation\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n if (isStateful) {\r\n // stateful\r\n instance.props = isSSR ? props : shallowReactive(props);\r\n }\r\n else {\r\n if (!instance.type.props) {\r\n // functional w/ optional props, props === attrs\r\n instance.props = attrs;\r\n }\r\n else {\r\n // functional w/ declared props\r\n instance.props = props;\r\n }\r\n }\r\n instance.attrs = attrs;\r\n}\r\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\r\n const { props, attrs, vnode: { patchFlag } } = instance;\r\n const rawCurrentProps = toRaw(props);\r\n const [options] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n if (\r\n // always force full diff in dev\r\n // - #1942 if hmr is enabled with sfc component\r\n // - vite#872 non-sfc component used by sfc component\r\n !((process.env.NODE_ENV !== 'production') &&\r\n (instance.type.__hmrId ||\r\n (instance.parent && instance.parent.type.__hmrId))) &&\r\n (optimized || patchFlag > 0) &&\r\n !(patchFlag & 16 /* FULL_PROPS */)) {\r\n if (patchFlag & 8 /* PROPS */) {\r\n // Compiler-generated props & no keys change, just set the updated\r\n // the props.\r\n const propsToUpdate = instance.vnode.dynamicProps;\r\n for (let i = 0; i < propsToUpdate.length; i++) {\r\n let key = propsToUpdate[i];\r\n // PROPS flag guarantees rawProps to be non-null\r\n const value = rawProps[key];\r\n if (options) {\r\n // attr / props separation was done on init and will be consistent\r\n // in this code path, so just check if attrs have it.\r\n if (hasOwn(attrs, key)) {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n else {\r\n const camelizedKey = camelize(key);\r\n props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false /* isAbsent */);\r\n }\r\n }\r\n else {\r\n if (value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // full props update.\r\n if (setFullProps(instance, rawProps, props, attrs)) {\r\n hasAttrsChanged = true;\r\n }\r\n // in case of dynamic props, check if we need to delete keys from\r\n // the props object\r\n let kebabKey;\r\n for (const key in rawCurrentProps) {\r\n if (!rawProps ||\r\n // for camelCase\r\n (!hasOwn(rawProps, key) &&\r\n // it's possible the original props was passed in as kebab-case\r\n // and converted to camelCase (#955)\r\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))) {\r\n if (options) {\r\n if (rawPrevProps &&\r\n // for camelCase\r\n (rawPrevProps[key] !== undefined ||\r\n // for kebab-case\r\n rawPrevProps[kebabKey] !== undefined)) {\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, undefined, instance, true /* isAbsent */);\r\n }\r\n }\r\n else {\r\n delete props[key];\r\n }\r\n }\r\n }\r\n // in the case of functional component w/o props declaration, props and\r\n // attrs point to the same object so it should already have been updated.\r\n if (attrs !== rawCurrentProps) {\r\n for (const key in attrs) {\r\n if (!rawProps ||\r\n (!hasOwn(rawProps, key) &&\r\n (!false ))) {\r\n delete attrs[key];\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n // trigger updates for $attrs in case it's used in component slots\r\n if (hasAttrsChanged) {\r\n trigger(instance, \"set\" /* SET */, '$attrs');\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateProps(rawProps || {}, props, instance);\r\n }\r\n}\r\nfunction setFullProps(instance, rawProps, props, attrs) {\r\n const [options, needCastKeys] = instance.propsOptions;\r\n let hasAttrsChanged = false;\r\n let rawCastValues;\r\n if (rawProps) {\r\n for (let key in rawProps) {\r\n // key, ref are reserved and never passed down\r\n if (isReservedProp(key)) {\r\n continue;\r\n }\r\n const value = rawProps[key];\r\n // prop option names are camelized during normalization, so to support\r\n // kebab -> camel conversion here we need to camelize the key.\r\n let camelKey;\r\n if (options && hasOwn(options, (camelKey = camelize(key)))) {\r\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\r\n props[camelKey] = value;\r\n }\r\n else {\r\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\r\n }\r\n }\r\n else if (!isEmitListener(instance.emitsOptions, key)) {\r\n if (!(key in attrs) || value !== attrs[key]) {\r\n attrs[key] = value;\r\n hasAttrsChanged = true;\r\n }\r\n }\r\n }\r\n }\r\n if (needCastKeys) {\r\n const rawCurrentProps = toRaw(props);\r\n const castValues = rawCastValues || EMPTY_OBJ;\r\n for (let i = 0; i < needCastKeys.length; i++) {\r\n const key = needCastKeys[i];\r\n props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn(castValues, key));\r\n }\r\n }\r\n return hasAttrsChanged;\r\n}\r\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\r\n const opt = options[key];\r\n if (opt != null) {\r\n const hasDefault = hasOwn(opt, 'default');\r\n // default values\r\n if (hasDefault && value === undefined) {\r\n const defaultValue = opt.default;\r\n if (opt.type !== Function && isFunction(defaultValue)) {\r\n const { propsDefaults } = instance;\r\n if (key in propsDefaults) {\r\n value = propsDefaults[key];\r\n }\r\n else {\r\n setCurrentInstance(instance);\r\n value = propsDefaults[key] = defaultValue.call(null, props);\r\n unsetCurrentInstance();\r\n }\r\n }\r\n else {\r\n value = defaultValue;\r\n }\r\n }\r\n // boolean casting\r\n if (opt[0 /* shouldCast */]) {\r\n if (isAbsent && !hasDefault) {\r\n value = false;\r\n }\r\n else if (opt[1 /* shouldCastTrue */] &&\r\n (value === '' || value === hyphenate(key))) {\r\n value = true;\r\n }\r\n }\r\n }\r\n return value;\r\n}\r\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.propsCache;\r\n const cached = cache.get(comp);\r\n if (cached) {\r\n return cached;\r\n }\r\n const raw = comp.props;\r\n const normalized = {};\r\n const needCastKeys = [];\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendProps = (raw) => {\r\n hasExtends = true;\r\n const [props, keys] = normalizePropsOptions(raw, appContext, true);\r\n extend(normalized, props);\r\n if (keys)\r\n needCastKeys.push(...keys);\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendProps);\r\n }\r\n if (comp.extends) {\r\n extendProps(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendProps);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, EMPTY_ARR);\r\n return EMPTY_ARR;\r\n }\r\n if (isArray(raw)) {\r\n for (let i = 0; i < raw.length; i++) {\r\n if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {\r\n warn(`props must be strings when using array syntax.`, raw[i]);\r\n }\r\n const normalizedKey = camelize(raw[i]);\r\n if (validatePropName(normalizedKey)) {\r\n normalized[normalizedKey] = EMPTY_OBJ;\r\n }\r\n }\r\n }\r\n else if (raw) {\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {\r\n warn(`invalid props options`, raw);\r\n }\r\n for (const key in raw) {\r\n const normalizedKey = camelize(key);\r\n if (validatePropName(normalizedKey)) {\r\n const opt = raw[key];\r\n const prop = (normalized[normalizedKey] =\r\n isArray(opt) || isFunction(opt) ? { type: opt } : opt);\r\n if (prop) {\r\n const booleanIndex = getTypeIndex(Boolean, prop.type);\r\n const stringIndex = getTypeIndex(String, prop.type);\r\n prop[0 /* shouldCast */] = booleanIndex > -1;\r\n prop[1 /* shouldCastTrue */] =\r\n stringIndex < 0 || booleanIndex < stringIndex;\r\n // if the prop needs boolean casting or default value\r\n if (booleanIndex > -1 || hasOwn(prop, 'default')) {\r\n needCastKeys.push(normalizedKey);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n const res = [normalized, needCastKeys];\r\n cache.set(comp, res);\r\n return res;\r\n}\r\nfunction validatePropName(key) {\r\n if (key[0] !== '$') {\r\n return true;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\r\n }\r\n return false;\r\n}\r\n// use function string name to check type constructors\r\n// so that it works across vms / iframes.\r\nfunction getType(ctor) {\r\n const match = ctor && ctor.toString().match(/^\\s*function (\\w+)/);\r\n return match ? match[1] : ctor === null ? 'null' : '';\r\n}\r\nfunction isSameType(a, b) {\r\n return getType(a) === getType(b);\r\n}\r\nfunction getTypeIndex(type, expectedTypes) {\r\n if (isArray(expectedTypes)) {\r\n return expectedTypes.findIndex(t => isSameType(t, type));\r\n }\r\n else if (isFunction(expectedTypes)) {\r\n return isSameType(expectedTypes, type) ? 0 : -1;\r\n }\r\n return -1;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProps(rawProps, props, instance) {\r\n const resolvedValues = toRaw(props);\r\n const options = instance.propsOptions[0];\r\n for (const key in options) {\r\n let opt = options[key];\r\n if (opt == null)\r\n continue;\r\n validateProp(key, resolvedValues[key], opt, !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key)));\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction validateProp(name, value, prop, isAbsent) {\r\n const { type, required, validator } = prop;\r\n // required!\r\n if (required && isAbsent) {\r\n warn('Missing required prop: \"' + name + '\"');\r\n return;\r\n }\r\n // missing but optional\r\n if (value == null && !prop.required) {\r\n return;\r\n }\r\n // type check\r\n if (type != null && type !== true) {\r\n let isValid = false;\r\n const types = isArray(type) ? type : [type];\r\n const expectedTypes = [];\r\n // value is valid as long as one of the specified types match\r\n for (let i = 0; i < types.length && !isValid; i++) {\r\n const { valid, expectedType } = assertType(value, types[i]);\r\n expectedTypes.push(expectedType || '');\r\n isValid = valid;\r\n }\r\n if (!isValid) {\r\n warn(getInvalidTypeMessage(name, value, expectedTypes));\r\n return;\r\n }\r\n }\r\n // custom validator\r\n if (validator && !validator(value)) {\r\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\r\n }\r\n}\r\nconst isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol,BigInt');\r\n/**\r\n * dev only\r\n */\r\nfunction assertType(value, type) {\r\n let valid;\r\n const expectedType = getType(type);\r\n if (isSimpleType(expectedType)) {\r\n const t = typeof value;\r\n valid = t === expectedType.toLowerCase();\r\n // for primitive wrapper objects\r\n if (!valid && t === 'object') {\r\n valid = value instanceof type;\r\n }\r\n }\r\n else if (expectedType === 'Object') {\r\n valid = isObject(value);\r\n }\r\n else if (expectedType === 'Array') {\r\n valid = isArray(value);\r\n }\r\n else if (expectedType === 'null') {\r\n valid = value === null;\r\n }\r\n else {\r\n valid = value instanceof type;\r\n }\r\n return {\r\n valid,\r\n expectedType\r\n };\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\r\n let message = `Invalid prop: type check failed for prop \"${name}\".` +\r\n ` Expected ${expectedTypes.map(capitalize).join(' | ')}`;\r\n const expectedType = expectedTypes[0];\r\n const receivedType = toRawType(value);\r\n const expectedValue = styleValue(value, expectedType);\r\n const receivedValue = styleValue(value, receivedType);\r\n // check if we need to specify expected value\r\n if (expectedTypes.length === 1 &&\r\n isExplicable(expectedType) &&\r\n !isBoolean(expectedType, receivedType)) {\r\n message += ` with value ${expectedValue}`;\r\n }\r\n message += `, got ${receivedType} `;\r\n // check if we need to specify received value\r\n if (isExplicable(receivedType)) {\r\n message += `with value ${receivedValue}.`;\r\n }\r\n return message;\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction styleValue(value, type) {\r\n if (type === 'String') {\r\n return `\"${value}\"`;\r\n }\r\n else if (type === 'Number') {\r\n return `${Number(value)}`;\r\n }\r\n else {\r\n return `${value}`;\r\n }\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isExplicable(type) {\r\n const explicitTypes = ['string', 'number', 'boolean'];\r\n return explicitTypes.some(elem => type.toLowerCase() === elem);\r\n}\r\n/**\r\n * dev only\r\n */\r\nfunction isBoolean(...args) {\r\n return args.some(elem => elem.toLowerCase() === 'boolean');\r\n}\n\nconst isInternalKey = (key) => key[0] === '_' || key === '$stable';\r\nconst normalizeSlotValue = (value) => isArray(value)\r\n ? value.map(normalizeVNode)\r\n : [normalizeVNode(value)];\r\nconst normalizeSlot = (key, rawSlot, ctx) => {\r\n const normalized = withCtx((...args) => {\r\n if ((process.env.NODE_ENV !== 'production') && currentInstance) {\r\n warn(`Slot \"${key}\" invoked outside of the render function: ` +\r\n `this will not track dependencies used in the slot. ` +\r\n `Invoke the slot function inside the render function instead.`);\r\n }\r\n return normalizeSlotValue(rawSlot(...args));\r\n }, ctx);\r\n normalized._c = false;\r\n return normalized;\r\n};\r\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\r\n const ctx = rawSlots._ctx;\r\n for (const key in rawSlots) {\r\n if (isInternalKey(key))\r\n continue;\r\n const value = rawSlots[key];\r\n if (isFunction(value)) {\r\n slots[key] = normalizeSlot(key, value, ctx);\r\n }\r\n else if (value != null) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !(false )) {\r\n warn(`Non-function value encountered for slot \"${key}\". ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(value);\r\n slots[key] = () => normalized;\r\n }\r\n }\r\n};\r\nconst normalizeVNodeSlots = (instance, children) => {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !isKeepAlive(instance.vnode) &&\r\n !(false )) {\r\n warn(`Non-function value encountered for default slot. ` +\r\n `Prefer function slots for better performance.`);\r\n }\r\n const normalized = normalizeSlotValue(children);\r\n instance.slots.default = () => normalized;\r\n};\r\nconst initSlots = (instance, children) => {\r\n if (instance.vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // users can get the shallow readonly version of the slots object through `this.$slots`,\r\n // we should avoid the proxy object polluting the slots of the internal instance\r\n instance.slots = toRaw(children);\r\n // make compiler marker non-enumerable\r\n def(children, '_', type);\r\n }\r\n else {\r\n normalizeObjectSlots(children, (instance.slots = {}));\r\n }\r\n }\r\n else {\r\n instance.slots = {};\r\n if (children) {\r\n normalizeVNodeSlots(instance, children);\r\n }\r\n }\r\n def(instance.slots, InternalObjectKey, 1);\r\n};\r\nconst updateSlots = (instance, children, optimized) => {\r\n const { vnode, slots } = instance;\r\n let needDeletionCheck = true;\r\n let deletionComparisonTarget = EMPTY_OBJ;\r\n if (vnode.shapeFlag & 32 /* SLOTS_CHILDREN */) {\r\n const type = children._;\r\n if (type) {\r\n // compiled slots.\r\n if ((process.env.NODE_ENV !== 'production') && isHmrUpdating) {\r\n // Parent was HMR updated so slot content may have changed.\r\n // force update slots and mark instance for hmr as well\r\n extend(slots, children);\r\n }\r\n else if (optimized && type === 1 /* STABLE */) {\r\n // compiled AND stable.\r\n // no need to update, and skip stale slots removal.\r\n needDeletionCheck = false;\r\n }\r\n else {\r\n // compiled but dynamic (v-if/v-for on slots) - update slots, but skip\r\n // normalization.\r\n extend(slots, children);\r\n // #2893\r\n // when rendering the optimized slots by manually written render function,\r\n // we need to delete the `slots._` flag if necessary to make subsequent updates reliable,\r\n // i.e. let the `renderSlot` create the bailed Fragment\r\n if (!optimized && type === 1 /* STABLE */) {\r\n delete slots._;\r\n }\r\n }\r\n }\r\n else {\r\n needDeletionCheck = !children.$stable;\r\n normalizeObjectSlots(children, slots);\r\n }\r\n deletionComparisonTarget = children;\r\n }\r\n else if (children) {\r\n // non slot object children (direct value) passed to a component\r\n normalizeVNodeSlots(instance, children);\r\n deletionComparisonTarget = { default: 1 };\r\n }\r\n // delete stale slots\r\n if (needDeletionCheck) {\r\n for (const key in slots) {\r\n if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {\r\n delete slots[key];\r\n }\r\n }\r\n }\r\n};\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n let hook = binding.dir[name];\r\n if (hook) {\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n resetTracking();\r\n }\r\n }\r\n}\n\nfunction createAppContext() {\r\n return {\r\n app: null,\r\n config: {\r\n isNativeTag: NO,\r\n performance: false,\r\n globalProperties: {},\r\n optionMergeStrategies: {},\r\n errorHandler: undefined,\r\n warnHandler: undefined,\r\n compilerOptions: {}\r\n },\r\n mixins: [],\r\n components: {},\r\n directives: {},\r\n provides: Object.create(null),\r\n optionsCache: new WeakMap(),\r\n propsCache: new WeakMap(),\r\n emitsCache: new WeakMap()\r\n };\r\n}\r\nlet uid = 0;\r\nfunction createAppAPI(render, hydrate) {\r\n return function createApp(rootComponent, rootProps = null) {\r\n if (rootProps != null && !isObject(rootProps)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);\r\n rootProps = null;\r\n }\r\n const context = createAppContext();\r\n const installedPlugins = new Set();\r\n let isMounted = false;\r\n const app = (context.app = {\r\n _uid: uid++,\r\n _component: rootComponent,\r\n _props: rootProps,\r\n _container: null,\r\n _context: context,\r\n _instance: null,\r\n version,\r\n get config() {\r\n return context.config;\r\n },\r\n set config(v) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`app.config cannot be replaced. Modify individual options instead.`);\r\n }\r\n },\r\n use(plugin, ...options) {\r\n if (installedPlugins.has(plugin)) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);\r\n }\r\n else if (plugin && isFunction(plugin.install)) {\r\n installedPlugins.add(plugin);\r\n plugin.install(app, ...options);\r\n }\r\n else if (isFunction(plugin)) {\r\n installedPlugins.add(plugin);\r\n plugin(app, ...options);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`A plugin must either be a function or an object with an \"install\" ` +\r\n `function.`);\r\n }\r\n return app;\r\n },\r\n mixin(mixin) {\r\n if (__VUE_OPTIONS_API__) {\r\n if (!context.mixins.includes(mixin)) {\r\n context.mixins.push(mixin);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixin has already been applied to target app' +\r\n (mixin.name ? `: ${mixin.name}` : ''));\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Mixins are only available in builds supporting Options API');\r\n }\r\n return app;\r\n },\r\n component(name, component) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateComponentName(name, context.config);\r\n }\r\n if (!component) {\r\n return context.components[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.components[name]) {\r\n warn(`Component \"${name}\" has already been registered in target app.`);\r\n }\r\n context.components[name] = component;\r\n return app;\r\n },\r\n directive(name, directive) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n validateDirectiveName(name);\r\n }\r\n if (!directive) {\r\n return context.directives[name];\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {\r\n warn(`Directive \"${name}\" has already been registered in target app.`);\r\n }\r\n context.directives[name] = directive;\r\n return app;\r\n },\r\n mount(rootContainer, isHydrate, isSVG) {\r\n if (!isMounted) {\r\n const vnode = createVNode(rootComponent, rootProps);\r\n // store app context on the root VNode.\r\n // this will be set on the root instance on initial mount.\r\n vnode.appContext = context;\r\n // HMR root reload\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.reload = () => {\r\n render(cloneVNode(vnode), rootContainer, isSVG);\r\n };\r\n }\r\n if (isHydrate && hydrate) {\r\n hydrate(vnode, rootContainer);\r\n }\r\n else {\r\n render(vnode, rootContainer, isSVG);\r\n }\r\n isMounted = true;\r\n app._container = rootContainer;\r\n rootContainer.__vue_app__ = app;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n app._instance = vnode.component;\r\n devtoolsInitApp(app, version);\r\n }\r\n return getExposeProxy(vnode.component) || vnode.component.proxy;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`App has already been mounted.\\n` +\r\n `If you want to remount the same app, move your app creation logic ` +\r\n `into a factory function and create fresh app instances for each ` +\r\n `mount - e.g. \\`const createMyApp = () => createApp(App)\\``);\r\n }\r\n },\r\n unmount() {\r\n if (isMounted) {\r\n render(null, app._container);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n app._instance = null;\r\n devtoolsUnmountApp(app);\r\n }\r\n delete app._container.__vue_app__;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot unmount an app that is not mounted.`);\r\n }\r\n },\r\n provide(key, value) {\r\n if ((process.env.NODE_ENV !== 'production') && key in context.provides) {\r\n warn(`App already provides property with key \"${String(key)}\". ` +\r\n `It will be overwritten with the new value.`);\r\n }\r\n // TypeScript doesn't allow symbols as index type\r\n // https://github.com/Microsoft/TypeScript/issues/24587\r\n context.provides[key] = value;\r\n return app;\r\n }\r\n });\r\n return app;\r\n };\r\n}\n\n/**\r\n * Function for handling a template ref\r\n */\r\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\r\n if (isArray(rawRef)) {\r\n rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentSuspense, vnode, isUnmount));\r\n return;\r\n }\r\n if (isAsyncWrapper(vnode) && !isUnmount) {\r\n // when mounting async components, nothing needs to be done,\r\n // because the template ref is forwarded to inner component\r\n return;\r\n }\r\n const refValue = vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */\r\n ? getExposeProxy(vnode.component) || vnode.component.proxy\r\n : vnode.el;\r\n const value = isUnmount ? null : refValue;\r\n const { i: owner, r: ref } = rawRef;\r\n if ((process.env.NODE_ENV !== 'production') && !owner) {\r\n warn(`Missing ref owner context. ref cannot be used on hoisted vnodes. ` +\r\n `A vnode with ref must be created inside the render function.`);\r\n return;\r\n }\r\n const oldRef = oldRawRef && oldRawRef.r;\r\n const refs = owner.refs === EMPTY_OBJ ? (owner.refs = {}) : owner.refs;\r\n const setupState = owner.setupState;\r\n // dynamic ref changed. unset old ref\r\n if (oldRef != null && oldRef !== ref) {\r\n if (isString(oldRef)) {\r\n refs[oldRef] = null;\r\n if (hasOwn(setupState, oldRef)) {\r\n setupState[oldRef] = null;\r\n }\r\n }\r\n else if (isRef(oldRef)) {\r\n oldRef.value = null;\r\n }\r\n }\r\n if (isFunction(ref)) {\r\n callWithErrorHandling(ref, owner, 12 /* FUNCTION_REF */, [value, refs]);\r\n }\r\n else {\r\n const _isString = isString(ref);\r\n const _isRef = isRef(ref);\r\n if (_isString || _isRef) {\r\n const doSet = () => {\r\n if (rawRef.f) {\r\n const existing = _isString ? refs[ref] : ref.value;\r\n if (isUnmount) {\r\n isArray(existing) && remove(existing, refValue);\r\n }\r\n else {\r\n if (!isArray(existing)) {\r\n if (_isString) {\r\n refs[ref] = [refValue];\r\n }\r\n else {\r\n ref.value = [refValue];\r\n if (rawRef.k)\r\n refs[rawRef.k] = ref.value;\r\n }\r\n }\r\n else if (!existing.includes(refValue)) {\r\n existing.push(refValue);\r\n }\r\n }\r\n }\r\n else if (_isString) {\r\n refs[ref] = value;\r\n if (hasOwn(setupState, ref)) {\r\n setupState[ref] = value;\r\n }\r\n }\r\n else if (isRef(ref)) {\r\n ref.value = value;\r\n if (rawRef.k)\r\n refs[rawRef.k] = value;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', ref, `(${typeof ref})`);\r\n }\r\n };\r\n if (value) {\r\n doSet.id = -1;\r\n queuePostRenderEffect(doSet, parentSuspense);\r\n }\r\n else {\r\n doSet();\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid template ref type:', ref, `(${typeof ref})`);\r\n }\r\n }\r\n}\n\nlet hasMismatch = false;\r\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== 'foreignObject';\r\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\r\n// Note: hydration is DOM-specific\r\n// But we have to place it in core due to tight coupling with core - splitting\r\n// it out creates a ton of unnecessary complexity.\r\n// Hydration also depends on some renderer internal logic which needs to be\r\n// passed in via arguments.\r\nfunction createHydrationFunctions(rendererInternals) {\r\n const { mt: mountComponent, p: patch, o: { patchProp, nextSibling, parentNode, remove, insert, createComment } } = rendererInternals;\r\n const hydrate = (vnode, container) => {\r\n if (!container.hasChildNodes()) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Attempting to hydrate existing markup but container is empty. ` +\r\n `Performing full mount instead.`);\r\n patch(null, vnode, container);\r\n flushPostFlushCbs();\r\n return;\r\n }\r\n hasMismatch = false;\r\n hydrateNode(container.firstChild, vnode, null, null, null);\r\n flushPostFlushCbs();\r\n if (hasMismatch && !false) {\r\n // this error should show up in production\r\n console.error(`Hydration completed but contains mismatches.`);\r\n }\r\n };\r\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\r\n const isFragmentStart = isComment(node) && node.data === '[';\r\n const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);\r\n const { type, ref, shapeFlag } = vnode;\r\n const domType = node.nodeType;\r\n vnode.el = node;\r\n let nextNode = null;\r\n switch (type) {\r\n case Text:\r\n if (domType !== 3 /* TEXT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n if (node.data !== vnode.children) {\r\n hasMismatch = true;\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Hydration text mismatch:` +\r\n `\\n- Client: ${JSON.stringify(node.data)}` +\r\n `\\n- Server: ${JSON.stringify(vnode.children)}`);\r\n node.data = vnode.children;\r\n }\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Comment:\r\n if (domType !== 8 /* COMMENT */ || isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = nextSibling(node);\r\n }\r\n break;\r\n case Static:\r\n if (domType !== 1 /* ELEMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n // determine anchor, adopt content\r\n nextNode = node;\r\n // if the static vnode has its content stripped during build,\r\n // adopt it from the server-rendered HTML.\r\n const needToAdoptContent = !vnode.children.length;\r\n for (let i = 0; i < vnode.staticCount; i++) {\r\n if (needToAdoptContent)\r\n vnode.children += nextNode.outerHTML;\r\n if (i === vnode.staticCount - 1) {\r\n vnode.anchor = nextNode;\r\n }\r\n nextNode = nextSibling(nextNode);\r\n }\r\n return nextNode;\r\n }\r\n break;\r\n case Fragment:\r\n if (!isFragmentStart) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n break;\r\n default:\r\n if (shapeFlag & 1 /* ELEMENT */) {\r\n if (domType !== 1 /* ELEMENT */ ||\r\n vnode.type.toLowerCase() !==\r\n node.tagName.toLowerCase()) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);\r\n }\r\n }\r\n else if (shapeFlag & 6 /* COMPONENT */) {\r\n // when setting up the render effect, if the initial vnode already\r\n // has .el set, the component will perform hydration instead of mount\r\n // on its sub-tree.\r\n vnode.slotScopeIds = slotScopeIds;\r\n const container = parentNode(node);\r\n mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);\r\n // component may be async, so in the case of fragments we cannot rely\r\n // on component's rendered output to determine the end of the fragment\r\n // instead, we do a lookahead to find the end anchor node.\r\n nextNode = isFragmentStart\r\n ? locateClosingAsyncAnchor(node)\r\n : nextSibling(node);\r\n // #3787\r\n // if component is async, it may get moved / unmounted before its\r\n // inner component is loaded, so we need to give it a placeholder\r\n // vnode that matches its adopted DOM.\r\n if (isAsyncWrapper(vnode)) {\r\n let subTree;\r\n if (isFragmentStart) {\r\n subTree = createVNode(Fragment);\r\n subTree.anchor = nextNode\r\n ? nextNode.previousSibling\r\n : container.lastChild;\r\n }\r\n else {\r\n subTree =\r\n node.nodeType === 3 ? createTextVNode('') : createVNode('div');\r\n }\r\n subTree.el = node;\r\n vnode.component.subTree = subTree;\r\n }\r\n }\r\n else if (shapeFlag & 64 /* TELEPORT */) {\r\n if (domType !== 8 /* COMMENT */) {\r\n nextNode = onMismatch();\r\n }\r\n else {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);\r\n }\r\n }\r\n else if (shapeFlag & 128 /* SUSPENSE */) {\r\n nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Invalid HostVNode type:', type, `(${typeof type})`);\r\n }\r\n }\r\n if (ref != null) {\r\n setRef(ref, null, parentSuspense, vnode);\r\n }\r\n return nextNode;\r\n };\r\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\r\n optimized = optimized || !!vnode.dynamicChildren;\r\n const { type, props, patchFlag, shapeFlag, dirs } = vnode;\r\n // #4006 for form elements with non-string v-model value bindings\r\n // e.g.