diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..04653336d --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,27 @@ +// https://aka.ms/devcontainer.json +{ + "name": "Speedtest Tracker Dev Environment", + "dockerComposeFile": [ + "../compose.yaml" + ], + "service": "laravel.test", + "workspaceFolder": "/var/www/html", + "customizations": { + "vscode": { + "extensions": [ + "aaron-bond.better-comments", + "austenc.laravel-blade-spacer", + "bmewburn.vscode-intelephense-client", + "laravel.vscode-laravel", + "mikestead.dotenv", + "streetsidesoftware.code-spell-checker" + ], + "settings": {} + } + }, + "remoteUser": "sail", + "postCreateCommand": "composer install && npm install && npm run build && touch database/database.sqlite && php artisan migrate:fresh --force" + // "forwardPorts": [], + // "runServices": [], + // "shutdownAction": "none", +} diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 355d331dc..000000000 --- a/.dockerignore +++ /dev/null @@ -1,25 +0,0 @@ -/.git -/.github -/.idea -/.vscode -/docker/* -!/docker/deploy -/node_modules -/public/hot -/public/storage -/storage/*.key -/storage/logs -/vendor -_ide_helper.php -.editorconfig -.env -.env.backup -.phpstorm.meta.php -.phpunit.result.cache -auth.json -docker-compose.yml -Homestead.json -Homestead.yaml -npm-debug.log -yarn-error.log -*.postman_collection.json diff --git a/.env.ci b/.env.ci new file mode 100644 index 000000000..74df3111a --- /dev/null +++ b/.env.ci @@ -0,0 +1,2 @@ +APP_NAME="Speedtest Tracker" +APP_KEY= diff --git a/.env.example b/.env.example index ec4a3985a..b09ac0014 100644 --- a/.env.example +++ b/.env.example @@ -4,31 +4,50 @@ APP_KEY= APP_DEBUG=false APP_URL=http://localhost +APP_LOCALE=en +APP_FALLBACK_LOCALE=en +APP_FAKER_LOCALE=en_US + +PHP_CLI_SERVER_WORKERS=4 + +BCRYPT_ROUNDS=12 + LOG_CHANNEL=stack +LOG_STACK=single LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=speedtest_tracker -DB_USERNAME= -DB_PASSWORD= +DB_CONNECTION=sqlite +#DB_HOST= +#DB_PORT= +#DB_DATABASE= +#DB_USERNAME= +#DB_PASSWORD= -BROADCAST_DRIVER=log -CACHE_DRIVER=database +SESSION_DRIVER=cookie +SESSION_LIFETIME=10080 +SESSION_ENCRYPT=false +SESSION_PATH=/ +SESSION_DOMAIN=null + +BROADCAST_CONNECTION=log FILESYSTEM_DISK=local QUEUE_CONNECTION=database -SESSION_DRIVER=database -SESSION_LIFETIME=120 + +CACHE_STORE=database +# CACHE_PREFIX= MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null -MAIL_ENCRYPTION=null +MAIL_SCHEME=null MAIL_FROM_ADDRESS="hello@example.com" MAIL_FROM_NAME="Speedtest Tracker" -TELEGRAM_BOT_TOKEN=null +VITE_APP_NAME="${APP_NAME}" + +# For the Dev Container +# WWWUSER=1000 +# WWWGROUP=1000 diff --git a/.env.production b/.env.production deleted file mode 100644 index 646417915..000000000 --- a/.env.production +++ /dev/null @@ -1,23 +0,0 @@ -# A full list of options can be found in the '.env.example' file. - -# Application key -# Used for encryption where needed, if a key is not generated run: php artisan key:generate -APP_KEY= - -# Application URL -# Not used in the URL but effects links in emails and notifications: https://docs.speedtest-tracker.dev/faqs#links-in-emails-dont-point-to-the-correct-url -APP_URL=http://localhost - -# SMTP mail config -# Only SMTP protocol is supported at this time: https://docs.speedtest-tracker.dev/settings/notifications/mail -MAIL_MAILER=smtp -MAIL_HOST=mailhog -MAIL_PORT=1025 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null -MAIL_FROM_ADDRESS="hello@example.com" -MAIL_FROM_NAME="Speedtest Tracker" - -# Telegram bot config -TELEGRAM_BOT_TOKEN=null diff --git a/.env.testing b/.env.testing deleted file mode 100644 index 71be02a2c..000000000 --- a/.env.testing +++ /dev/null @@ -1,34 +0,0 @@ -APP_NAME="Speedtest Tracker" -APP_ENV=local -APP_KEY=base64:Tx3xYzxoL/5LmKHYr9QXlbnhTDVE1GK5T7tzxpovHaY= -APP_DEBUG=true -APP_URL=http://localhost - -LOG_CHANNEL=stack -LOG_DEPRECATIONS_CHANNEL=null -LOG_LEVEL=debug - -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=testing -DB_USERNAME=root -DB_PASSWORD= - -BROADCAST_DRIVER=log -CACHE_DRIVER=database -FILESYSTEM_DISK=local -QUEUE_CONNECTION=database -SESSION_DRIVER=database -SESSION_LIFETIME=1440 - -MAIL_MAILER=smtp -MAIL_HOST=mailhog -MAIL_PORT=1025 -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null -MAIL_FROM_ADDRESS="hello@example.com" -MAIL_FROM_NAME="Speedtest Tracker" - -TELEGRAM_BOT_TOKEN=null diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml new file mode 100644 index 000000000..c1af502a6 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/general.yml @@ -0,0 +1,16 @@ +body: + - type: checkboxes + attributes: + label: Checklist + description: Following the guidelines can make you more likely to get responses. + options: + - label: >- + I have read and accepted the + [contributing guidelines](https://github.com/alexjustesen/speedtest-tracker/blob/main/CONTRIBUTING.md). + required: true + - type: textarea + attributes: + label: Description + description: Please describe in detail what you want to share. + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/ideas.yml b/.github/DISCUSSION_TEMPLATE/ideas.yml new file mode 100644 index 000000000..951c5f54c --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/ideas.yml @@ -0,0 +1,21 @@ +body: + - type: dropdown + id: idea-section + attributes: + label: "Which part of the application does your idea belong to?" + description: "Select the section of the application that your idea pertains to." + options: + - "Charts" + - "Notifications" + - "Speedtest" + - "WebGui" + default: 0 + validations: + required: true + - type: textarea + attributes: + label: Description + description: Please describe in detail what you want to share. + validations: + required: true + diff --git a/.github/DISCUSSION_TEMPLATE/q-a.yml b/.github/DISCUSSION_TEMPLATE/q-a.yml new file mode 100644 index 000000000..030635e80 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/q-a.yml @@ -0,0 +1,35 @@ +body: + - type: checkboxes + attributes: + label: Checklist + description: | + Before opening an Q&A make sure you've checked the resources below first, any Q&A that could have been solved by reading the docs or existing issues will be closed. + options: + - label: I have read the [docs](https://docs.speedtest-tracker.dev/help/faqs). + required: true + - label: I have searched open and closed issues. + required: true + - type: dropdown + id: deployment-environment + attributes: + label: Deployment Environment + description: How did you deploy the application? + options: + - Docker Compose + - Docker Run + - Bare Metal + default: 0 + validations: + required: true + - type: textarea + attributes: + label: Description + description: Please describe your qeustion in detail. + validations: + required: true + + - type: textarea + attributes: + label: Anything else? + description: | + Links? References? Or logs? Anything that will give us more context about the issue you are encountering! diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index c5dfdf6dc..000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -name: Bug report -about: Create a bug report to help me improve something -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Environment (please complete the following information):** - - OS: [e.g. Ubuntu] -- Architecture: [e.g. arm64, amd64] - - Browser [e.g. chrome, safari] - - Version [e.g. v1] - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Logs** -If applicable, check the logs for any error that might of occurred. - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..ab4407dcc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,123 @@ +name: Bug Report +description: Use this template to report a bug or issue. +title: "[Question] " +labels: ["question", "needs review"] + +body: + - type: checkboxes + id: terms + attributes: + label: Welcome! + description: | + The issue tracker is for reporting bugs and feature requests only. For end-user related support questions, please use the **[GitHub Discussions](https://github.com/alexjustesen/speedtest-tracker/discussions)** instead + + Please note: + - For translation-related issues or requests, please use the [Crowdin project](https://crowdin.com/project/speedtest-tracker). + - Any issues that can be resolved by consulting the documentation or by reviewing existing open or closed issues will be closed. + - We only support installations that follow the methods described in the documentation. Installations using third-party or undocumented methods are not supported by the project. + + options: + - label: I have read the [documentation](https://docs.speedtest-tracker.dev) and my problem was not listed in the help section. + required: true + - label: I have searched open and closed issues and my problem was not mentioned before. + required: true + - label: I have verified I am using the latest version available. You can check the latest release [here](https://github.com/alexjustesen/speedtest-tracker/releases). + required: true + - label: I agree to follow this project's [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md). + required: true + + - type: textarea + id: description + attributes: + label: What did you do? + description: | + How to write a good bug report? + + - Respect the issue template as much as possible. + - The title should be short and descriptive. + - Explain the conditions which led you to report this issue: the context. + - The context should lead to something, a problem that you’re facing. + - Remain clear and concise. + - Format your messages to help the reader focus on what matters and understand the structure of your message, use [Markdown syntax](https://help.github.com/articles/github-flavored-markdown) + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: | + In a perfect world, what should have happened? + **Important:** Be specific. Vague descriptions like "it should work" are not helpful. + placeholder: When I got to the coffee pot, it should have been full. + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps to Reproduce + description: | + Provide detailed, numbered steps that someone else can follow to reproduce the issue. + **Important:** Vague descriptions like "it doesn't work" or "it's broken" will result in the issue being closed. + Include specific actions, URLs, button clicks, and any relevant data or configuration. + placeholder: | + 1. Go to the coffee pot. + 2. Make more coffee. + 3. Pour it into a cup. + 4. Observe that the cup is empty instead of full. + validations: + required: true + + - type: dropdown + id: deployment-environment + attributes: + label: Deployment Environment + description: How did you deploy the application? Only supported deployment methods are listed. + options: + - Docker Compose + - Docker Run + default: 0 + validations: + required: true + + - type: textarea + id: environment-configuration + attributes: + label: What is your environment & configuration? + description: Please add your docker compose file or docker run command used to deploy the application. + placeholder: Add information here. + value: | + ```yaml + # (paste your configuration here) + ``` + + Add more configuration information here. + validations: + required: true + + - type: textarea + id: application-information + attributes: + label: Application Information + description: To generate application information run `php artisan about --json` from the application's path. This will be automatically formatted into code, so no need for backticks. + render: json + validations: + required: true + + - type: input + id: browsers + attributes: + label: What browser(s) are you seeing the problem on? + placeholder: Chrome, Firefox, Safari, etc. + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Logs + description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. If you are unsure which logs to include, include all logs. You can get the logs by running `docker logs `. + render: shell + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..25fd46494 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Translations + url: https://crowdin.com/project/speedtest-tracker + about: Please report translation issues and request new translations here. + - name: GitHub Community Support + url: https://github.com/orgs/community/discussions + about: Please ask and answer questions here. + - name: GitHub Security Bug Bounty + url: https://bounty.github.com/ + about: Please report security vulnerabilities here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index df81be2be..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..bdd144689 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,56 @@ +name: Feature Request +description: Use this template for requesting a new feature or change. +title: "[Feature] " +labels: ["feature", "needs review"] + +body: + - type: checkboxes + attributes: + label: Welcome! + description: | + The issue tracker is for reporting bugs and feature requests only. For end-user related support questions, please use the **[GitHub Discussions](https://github.com/alexjustesen/speedtest-tracker/discussions)** instead + + Please note: + - For **Bug reports**, use the [Bug Form](https://github.com/alexjustesen/speedtest-tracker/issues/new?template=bug_report.yml). + - Any requests for new translations should be requested within the [crowdin project](https://crowdin.com/project/speedtest-tracker). + + options: + - label: I have searched open and closed feature requests to make sure this or similar feature request does not already exist. + required: true + - label: I have reviewed the [Milestones](https://github.com/alexjustesen/speedtest-tracker/milestones) to ensure that this feature request, or a similar one, has not already been proposed. + required: true + - label: This is a feature request, not a bug report or support question. + required: true + - label: I agree to follow this project's [Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md). + required: true + + - type: dropdown + id: idea-section + attributes: + label: Which part of the application does your feature belong to? + description: Select the section of the application that your feature pertains to. + options: + - Charts + - Notifications + - Speedtest + - Web UI/UX + - Other + default: 0 + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: | + Describe the solution or feature you'd like. Explain what problem this solves or what value it adds. + **Important:** Be specific and detailed. Vague requests like "make it better" will be closed. + placeholder: | + Example: + - What is the feature? + - What problem does it solve? + - How should it work? + - Why would this be valuable? + validations: + required: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b0c8b61b9..41cdfca33 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,27 +1,11 @@ version: 2 updates: - - package-ecosystem: "docker" - directory: "/" - schedule: - interval: "weekly" - day: "thursday" - labels: - - "😑 dependencies" - - "🐋 docker" - reviewers: - - "alexjustesen" - commit-message: - prefix: "docker" - - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "weekly" + interval: "monthly" day: "thursday" labels: - - "😑 dependencies" - - "🧑‍💻 github actions" - reviewers: - - "alexjustesen" + - "dependencies" commit-message: prefix: "gh actions" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 5489438ef..586ba405e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,6 +2,10 @@ A short description of the pull request changes should go here and the sections below should list in detail all changes. You can remove the sections you don't need. +## 📖 Documentation + +Add a link to the PR for [documentation](https://github.com/alexjustesen/speedtest-tracker-docs) changes. + ## 🪵 Changelog ### ➕ Added diff --git a/.github/screenshots/dashboard.jpeg b/.github/screenshots/dashboard.jpeg new file mode 100644 index 000000000..455e4da6f Binary files /dev/null and b/.github/screenshots/dashboard.jpeg differ diff --git a/.github/screenshots/dashboard_screenshot.jpg b/.github/screenshots/dashboard_screenshot.jpg deleted file mode 100644 index 4a1299467..000000000 Binary files a/.github/screenshots/dashboard_screenshot.jpg and /dev/null differ diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 4b1b5b389..f6e40687f 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -1,65 +1,27 @@ -name: Build and push Docker images +name: Trigger Docker Image Build on: - # release: - # types: [ published ] - push: - tags: - - 'v*' - workflow_dispatch: - -env: - PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7 + release: + types: [published] jobs: - build_and_push_image: - runs-on: ubuntu-22.04 - permissions: - contents: read - packages: write + trigger-docker-build: + runs-on: ubuntu-24.04 steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Log in to the Container registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - id: docker-image-to-lowercase - name: Convert Docker image to lower case - run: echo "DOCKER_IMAGE=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 + - name: Generate GitHub App token + id: generate_token + uses: actions/create-github-app-token@v2 with: - images: | - ${{ env.DOCKER_IMAGE }} - ghcr.io/${{ github.repository }} - tags: | - type=semver,pattern={{version}},prefix=v + app-id: ${{ secrets.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + owner: alexjustesen + repositories: docker-speedtest-tracker - - name: Build and push Docker images - uses: docker/build-push-action@v5 + - name: Trigger docker-speedtest-tracker build + uses: peter-evans/repository-dispatch@v4 with: - context: . - push: true - platforms: ${{ env.PLATFORMS }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + token: ${{ steps.generate_token.outputs.token }} + repository: alexjustesen/docker-speedtest-tracker + event-type: speedtest-tracker-release + client-payload: '{"tag_name": "${{ github.event.release.tag_name }}"}' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71ae4b5b1..1e6db763d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,63 +1,490 @@ -name: Build and test Docker images +# .github/workflows/tests.yml +name: Tests on: push: branches: - - 'release-**' + - '!main' + - '!release-**' + pull_request: workflow_dispatch: -env: - PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7 - jobs: - build_and_test_images: - runs-on: ubuntu-22.04 - permissions: - contents: read - packages: write + lint-app: + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Install Dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + + - name: Run Pint + run: vendor/bin/pint --test + + test-mariadb-11: + needs: lint-app + runs-on: ubuntu-24.04 + services: + mariadb: + image: mariadb:11 + env: + MARIADB_ROOT_PASSWORD: password + MARIADB_DATABASE: testing + ports: + - 3306:3306 + options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build + + - name: Copy Environment File + run: cp .env.ci .env + + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: mysql + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_DATABASE: testing + DB_USERNAME: root + DB_PASSWORD: password + + test-mariadb-12: + needs: lint-app + runs-on: ubuntu-24.04 + services: + mariadb: + image: mariadb:12 + env: + MARIADB_ROOT_PASSWORD: password + MARIADB_DATABASE: testing + ports: + - 3306:3306 + options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build + + - name: Copy Environment File + run: cp .env.ci .env + + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: mysql + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_DATABASE: testing + DB_USERNAME: root + DB_PASSWORD: password + + test-mysql-8: + needs: lint-app + runs-on: ubuntu-24.04 + services: + mysql: + image: mysql:8 + env: + MYSQL_ROOT_PASSWORD: password + MYSQL_DATABASE: testing + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build + + - name: Copy Environment File + run: cp .env.ci .env + + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: mysql + DB_HOST: 127.0.0.1 + DB_PORT: 3306 + DB_DATABASE: testing + DB_USERNAME: root + DB_PASSWORD: password + + test-postgres-15: + needs: lint-app + runs-on: ubuntu-24.04 + services: + postgres: + image: postgres:15 + env: + POSTGRES_PASSWORD: password + POSTGRES_DB: testing + ports: + - 5432:5432 + options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build + + - name: Copy Environment File + run: cp .env.ci .env + + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: pgsql + DB_HOST: 127.0.0.1 + DB_PORT: 5432 + DB_DATABASE: testing + DB_USERNAME: postgres + DB_PASSWORD: password + + test-postgres-16: + needs: lint-app + runs-on: ubuntu-24.04 + services: + postgres: + image: postgres:16 + env: + POSTGRES_PASSWORD: password + POSTGRES_DB: testing + ports: + - 5432:5432 + options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - - name: Checkout repository - uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build + + - name: Copy Environment File + run: cp .env.ci .env + + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: pgsql + DB_HOST: 127.0.0.1 + DB_PORT: 5432 + DB_DATABASE: testing + DB_USERNAME: postgres + DB_PASSWORD: password + + test-postgres-17: + needs: lint-app + runs-on: ubuntu-24.04 + services: + postgres: + image: postgres:17 + env: + POSTGRES_PASSWORD: password + POSTGRES_DB: testing + ports: + - 5432:5432 + options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 + with: + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + - name: Copy Environment File + run: cp .env.ci .env - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Generate App Key + run: php artisan key:generate --quiet - - name: Log in to Docker Hub - uses: docker/login-action@v3 + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: pgsql + DB_HOST: 127.0.0.1 + DB_PORT: 5432 + DB_DATABASE: testing + DB_USERNAME: postgres + DB_PASSWORD: password + + test-postgres-18: + needs: lint-app + runs-on: ubuntu-24.04 + services: + postgres: + image: postgres:18 + env: + POSTGRES_PASSWORD: password + POSTGRES_DB: testing + ports: + - 5432:5432 + options: --health-cmd="pg_isready -U postgres" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + php-version: '8.4' - - name: Log in to the Container registry - uses: docker/login-action@v3 + - name: Cache Composer dependencies + uses: actions/cache@v5 with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- + + - name: Cache NPM dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build - - id: docker-image-to-lowercase - name: Convert Docker image to lower case - run: echo "DOCKER_IMAGE=$(echo ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + - name: Copy Environment File + run: cp .env.ci .env - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: pgsql + DB_HOST: 127.0.0.1 + DB_PORT: 5432 + DB_DATABASE: testing + DB_USERNAME: postgres + DB_PASSWORD: password + + test-sqlite: + needs: lint-app + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Cache Composer dependencies + uses: actions/cache@v5 with: - images: | - ${{ env.DOCKER_IMAGE }} - ghcr.io/${{ github.repository }} - tags: | - type=semver,pattern={{version}},prefix=v + path: vendor + key: composer-${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + composer-${{ runner.os }}- - - name: Build and push Docker images - uses: docker/build-push-action@v5 + - name: Cache NPM dependencies + uses: actions/cache@v5 with: - context: . - push: false - platforms: ${{ env.PLATFORMS }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + path: ~/.npm + key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + npm-${{ runner.os }}- + + - name: Create SQLite Database + run: | + touch database/database.sqlite + + - name: Install Dependencies + run: | + composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist --classmap-authoritative + npm ci --no-audit && npm run build + + - name: Copy Environment File + run: cp .env.ci .env + + - name: Generate App Key + run: php artisan key:generate --quiet + + - name: Run Tests + run: php artisan test + env: + DB_CONNECTION: sqlite \ No newline at end of file diff --git a/.github/workflows/inactivity-actions.yml b/.github/workflows/inactivity-actions.yml new file mode 100644 index 000000000..8cf93b3c6 --- /dev/null +++ b/.github/workflows/inactivity-actions.yml @@ -0,0 +1,60 @@ +name: 'Issue and PR Maintenance' + +on: + schedule: + - cron: '0 0 * * *' # runs at midnight UTC + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + +jobs: + lock-inactive: + name: Lock Inactive Issues + runs-on: ubuntu-24.04 + steps: + - uses: klaasnicolaas/action-inactivity-lock@v2.0.1 + id: lock + with: + days-inactive-issues: 14 + lock-reason-issues: "" + # Action can not skip PRs, set it to 100 years to cover it. + days-inactive-prs: 36524 + lock-reason-prs: "" + + close-stale: + name: Close Stale Issues + runs-on: ubuntu-24.04 + steps: + - name: Close Stale Issues + uses: actions/stale@v10 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + # Messaging + stale-issue-message: > + 👋 This issue has been automatically marked as stale due to inactivity. + If this issue is still relevant, please comment to keep it open. + Without activity, it will be closed in 7 days. + + close-issue-message: > + 🔒 This issue has been automatically closed due to prolonged inactivity. + Feel free to open a new issue if you have further questions or concerns. + + # Timing + days-before-issue-stale: 14 + days-before-issue-close: 7 + + # Labels + stale-issue-label: 'stale' + remove-stale-when-updated: true + only-issue-labels: 'question' + exempt-issue-labels: > + bug, chore, confirmed, dependencies, help wanted, + documentation, duplicate, feature, good first issue, + needs review, wontfix + + # Exemptions + exempt-assignees: true + exempt-milestones: true diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml deleted file mode 100644 index c12c4ff68..000000000 --- a/.github/workflows/tests.yml +++ /dev/null @@ -1,88 +0,0 @@ -# .github/workflows/tests.yml -name: Tests - -on: - push: - branches: - - '!main' - - '!release-**' - pull_request: - workflow_dispatch: - -jobs: - lint: - runs-on: ubuntu-22.04 - - steps: - - uses: actions/checkout@v3 - - name: "duster" - uses: tighten/duster-action@v2 - with: - args: lint --using=pint -v - - test: - needs: [lint] # needs lint job to pass first - - runs-on: ubuntu-22.04 - - services: - mysql: - image: mysql:8.0 - env: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: testing - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: '8.3' - - - name: Prepare the environment - run: cp .env.testing .env - - - name: Get composer cache directory - id: composer-cache - run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - - name: Setup composer cache - uses: actions/cache@v4 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install composer dependencies - run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist - - - name: Install npm dependencies and build assets - run: npm ci && npm run build - - - name: Directory permissions - run: chmod -R 777 storage bootstrap/cache - - - name: Test application install - run: php artisan app:install --force - env: - DB_CONNECTION: mysql - DB_HOST: 127.0.0.1 - DB_PORT: ${{ job.services.mysql.ports['3306'] }} - DB_DATABASE: testing - DB_USERNAME: root - DB_PASSWORD: null - - - name: Run tests - run: php artisan test - env: - DB_CONNECTION: mysql - DB_HOST: 127.0.0.1 - DB_PORT: ${{ job.services.mysql.ports['3306'] }} - DB_DATABASE: testing - DB_USERNAME: root - DB_PASSWORD: null diff --git a/.github/workflows/validate-openapi.yml b/.github/workflows/validate-openapi.yml new file mode 100644 index 000000000..45226a32c --- /dev/null +++ b/.github/workflows/validate-openapi.yml @@ -0,0 +1,49 @@ +name: Validate OpenAPI JSON + +on: + pull_request: + paths: + - 'app/Http/Controllers/Api/**/*.php' + - 'app/OpenApi/**/*.php' + +jobs: + update-openapi: + runs-on: ubuntu-24.04 + + steps: + - name: Checkout PR branch + uses: actions/checkout@v6 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.4' + + - name: Install dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress + + # Generate OpenAPI file into a temp location + - name: Generate OpenAPI JSON + run: ./vendor/bin/openapi ./app/Http/Controllers/Api ./app/OpenApi -o openapi_temp.json -f json + + # Compare the generated file to the committed file + - name: Validate OpenAPI JSON is up to date + run: | + if ! diff -q openapi.json openapi_temp.json; then + echo "❌ OpenAPI documentation is out of sync!" + echo "" + echo "API code was modified but openapi.json was NOT updated." + echo "" + echo "Please regenerate the OpenAPI JSON and commit it:" + echo " ./vendor/bin/openapi ./app/Http/Controllers/Api ./app/OpenApi -o openapi.json -f json" + echo "" + exit 1 + fi + + - name: ✓ OpenAPI is up to date + if: success() + run: echo "✅ OpenAPI documentation matches the committed version!" diff --git a/.gitignore b/.gitignore index 56c85af35..00cf241cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,16 @@ +/.phpunit.cache /node_modules +/public/build /public/hot /public/storage /storage/*.key +/storage/pail /vendor +_ide_helper.php .env .env.backup +.phpstorm.meta.php +.phpunit.result.cache Homestead.json Homestead.yaml auth.json @@ -12,5 +18,17 @@ npm-debug.log yarn-error.log /.fleet /.idea +/.nova /.phpunit.cache /.vscode + +# AI and Boost assets +/.claude +/.github/copilot-instructions.md +/.github/skills +/.mcp.json +/.opencode +/boost.json +/AGENTS.md +/CLAUDE.md +/opencode.json diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php deleted file mode 100644 index d99f53e1f..000000000 --- a/.phpstorm.meta.php +++ /dev/null @@ -1,2614 +0,0 @@ - - * @see https://github.com/barryvdh/laravel-ide-helper - */ - override(new \Illuminate\Contracts\Container\Container, map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\Illuminate\Container\Container::makeWith(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\Illuminate\Contracts\Container\Container::get(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\Illuminate\Contracts\Container\Container::make(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\Illuminate\Contracts\Container\Container::makeWith(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\App::get(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\App::make(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\App::makeWith(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\app(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\resolve(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - override(\Psr\Container\ContainerInterface::get(0), map([ - '' => '@', - 'App\Settings\DataMigrationSettings' => \App\Settings\DataMigrationSettings::class, - 'App\Settings\GeneralSettings' => \App\Settings\GeneralSettings::class, - 'App\Settings\InfluxDbSettings' => \App\Settings\InfluxDbSettings::class, - 'App\Settings\NotificationSettings' => \App\Settings\NotificationSettings::class, - 'App\Settings\ThresholdSettings' => \App\Settings\ThresholdSettings::class, - 'BladeUI\Icons\Factory' => \BladeUI\Icons\Factory::class, - 'BladeUI\Icons\IconsManifest' => \BladeUI\Icons\IconsManifest::class, - 'Filament\Http\Responses\Auth\Contracts\EmailVerificationResponse' => \Filament\Http\Responses\Auth\EmailVerificationResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LoginResponse' => \Filament\Http\Responses\Auth\LoginResponse::class, - 'Filament\Http\Responses\Auth\Contracts\LogoutResponse' => \Filament\Http\Responses\Auth\LogoutResponse::class, - 'Filament\Http\Responses\Auth\Contracts\PasswordResetResponse' => \Filament\Http\Responses\Auth\PasswordResetResponse::class, - 'Filament\Http\Responses\Auth\Contracts\RegistrationResponse' => \Filament\Http\Responses\Auth\RegistrationResponse::class, - 'Filament\Navigation\NavigationManager' => \Filament\Navigation\NavigationManager::class, - 'Filament\PanelRegistry' => \Filament\PanelRegistry::class, - 'Filament\Support\Assets\AssetManager' => \Filament\Support\Assets\AssetManager::class, - 'Filament\Support\Colors\ColorManager' => \Filament\Support\Colors\ColorManager::class, - 'Filament\Support\Components\ComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Components\Contracts\ScopedComponentManager' => \Filament\Support\Components\ComponentManager::class, - 'Filament\Support\Icons\IconManager' => \Filament\Support\Icons\IconManager::class, - 'Filament\Support\View\ViewManager' => \Filament\Support\View\ViewManager::class, - 'Illuminate\Auth\Console\ClearResetsCommand' => \Illuminate\Auth\Console\ClearResetsCommand::class, - 'Illuminate\Auth\Middleware\RequirePassword' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'Illuminate\Broadcasting\BroadcastManager' => \Illuminate\Broadcasting\BroadcastManager::class, - 'Illuminate\Bus\BatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\DatabaseBatchRepository' => \Illuminate\Bus\DatabaseBatchRepository::class, - 'Illuminate\Bus\Dispatcher' => \Illuminate\Bus\Dispatcher::class, - 'Illuminate\Cache\Console\CacheTableCommand' => \Illuminate\Cache\Console\CacheTableCommand::class, - 'Illuminate\Cache\Console\ClearCommand' => \Illuminate\Cache\Console\ClearCommand::class, - 'Illuminate\Cache\Console\ForgetCommand' => \Illuminate\Cache\Console\ForgetCommand::class, - 'Illuminate\Cache\Console\PruneStaleTagsCommand' => \Illuminate\Cache\Console\PruneStaleTagsCommand::class, - 'Illuminate\Cache\RateLimiter' => \Illuminate\Cache\RateLimiter::class, - 'Illuminate\Console\Scheduling\Schedule' => \Illuminate\Console\Scheduling\Schedule::class, - 'Illuminate\Console\Scheduling\ScheduleClearCacheCommand' => \Illuminate\Console\Scheduling\ScheduleClearCacheCommand::class, - 'Illuminate\Console\Scheduling\ScheduleFinishCommand' => \Illuminate\Console\Scheduling\ScheduleFinishCommand::class, - 'Illuminate\Console\Scheduling\ScheduleInterruptCommand' => \Illuminate\Console\Scheduling\ScheduleInterruptCommand::class, - 'Illuminate\Console\Scheduling\ScheduleListCommand' => \Illuminate\Console\Scheduling\ScheduleListCommand::class, - 'Illuminate\Console\Scheduling\ScheduleRunCommand' => \Illuminate\Console\Scheduling\ScheduleRunCommand::class, - 'Illuminate\Console\Scheduling\ScheduleTestCommand' => \Illuminate\Console\Scheduling\ScheduleTestCommand::class, - 'Illuminate\Console\Scheduling\ScheduleWorkCommand' => \Illuminate\Console\Scheduling\ScheduleWorkCommand::class, - 'Illuminate\Contracts\Auth\Access\Gate' => \Illuminate\Auth\Access\Gate::class, - 'Illuminate\Contracts\Broadcasting\Broadcaster' => \Illuminate\Broadcasting\Broadcasters\LogBroadcaster::class, - 'Illuminate\Contracts\Console\Kernel' => \App\Console\Kernel::class, - 'Illuminate\Contracts\Debug\ExceptionHandler' => \NunoMaduro\Collision\Adapters\Laravel\ExceptionHandler::class, - 'Illuminate\Contracts\Foundation\ExceptionRenderer' => \Spatie\LaravelIgnition\Renderers\IgnitionExceptionRenderer::class, - 'Illuminate\Contracts\Foundation\MaintenanceMode' => \Illuminate\Foundation\FileBasedMaintenanceMode::class, - 'Illuminate\Contracts\Http\Kernel' => \App\Http\Kernel::class, - 'Illuminate\Contracts\Pipeline\Hub' => \Illuminate\Pipeline\Hub::class, - 'Illuminate\Contracts\Queue\EntityResolver' => \Illuminate\Database\Eloquent\QueueEntityResolver::class, - 'Illuminate\Contracts\Routing\ResponseFactory' => \Illuminate\Routing\ResponseFactory::class, - 'Illuminate\Contracts\Validation\UncompromisedVerifier' => \Illuminate\Validation\NotPwnedVerifier::class, - 'Illuminate\Database\Console\DbCommand' => \Illuminate\Database\Console\DbCommand::class, - 'Illuminate\Database\Console\DumpCommand' => \Illuminate\Database\Console\DumpCommand::class, - 'Illuminate\Database\Console\Factories\FactoryMakeCommand' => \Illuminate\Database\Console\Factories\FactoryMakeCommand::class, - 'Illuminate\Database\Console\Migrations\FreshCommand' => \Illuminate\Database\Console\Migrations\FreshCommand::class, - 'Illuminate\Database\Console\Migrations\InstallCommand' => \Illuminate\Database\Console\Migrations\InstallCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateCommand' => \Illuminate\Database\Console\Migrations\MigrateCommand::class, - 'Illuminate\Database\Console\Migrations\MigrateMakeCommand' => \Illuminate\Database\Console\Migrations\MigrateMakeCommand::class, - 'Illuminate\Database\Console\Migrations\RefreshCommand' => \Illuminate\Database\Console\Migrations\RefreshCommand::class, - 'Illuminate\Database\Console\Migrations\ResetCommand' => \Illuminate\Database\Console\Migrations\ResetCommand::class, - 'Illuminate\Database\Console\Migrations\RollbackCommand' => \Illuminate\Database\Console\Migrations\RollbackCommand::class, - 'Illuminate\Database\Console\Migrations\StatusCommand' => \Illuminate\Database\Console\Migrations\StatusCommand::class, - 'Illuminate\Database\Console\MonitorCommand' => \Illuminate\Database\Console\MonitorCommand::class, - 'Illuminate\Database\Console\PruneCommand' => \Illuminate\Database\Console\PruneCommand::class, - 'Illuminate\Database\Console\Seeds\SeedCommand' => \Illuminate\Database\Console\Seeds\SeedCommand::class, - 'Illuminate\Database\Console\Seeds\SeederMakeCommand' => \Illuminate\Database\Console\Seeds\SeederMakeCommand::class, - 'Illuminate\Database\Console\ShowCommand' => \Illuminate\Database\Console\ShowCommand::class, - 'Illuminate\Database\Console\ShowModelCommand' => \Illuminate\Database\Console\ShowModelCommand::class, - 'Illuminate\Database\Console\TableCommand' => \Illuminate\Database\Console\TableCommand::class, - 'Illuminate\Database\Console\WipeCommand' => \Illuminate\Database\Console\WipeCommand::class, - 'Illuminate\Foundation\Console\AboutCommand' => \Illuminate\Foundation\Console\AboutCommand::class, - 'Illuminate\Foundation\Console\CastMakeCommand' => \Illuminate\Foundation\Console\CastMakeCommand::class, - 'Illuminate\Foundation\Console\ChannelListCommand' => \Illuminate\Foundation\Console\ChannelListCommand::class, - 'Illuminate\Foundation\Console\ChannelMakeCommand' => \Illuminate\Foundation\Console\ChannelMakeCommand::class, - 'Illuminate\Foundation\Console\ClearCompiledCommand' => \Illuminate\Foundation\Console\ClearCompiledCommand::class, - 'Illuminate\Foundation\Console\ComponentMakeCommand' => \Illuminate\Foundation\Console\ComponentMakeCommand::class, - 'Illuminate\Foundation\Console\ConfigCacheCommand' => \Illuminate\Foundation\Console\ConfigCacheCommand::class, - 'Illuminate\Foundation\Console\ConfigClearCommand' => \Illuminate\Foundation\Console\ConfigClearCommand::class, - 'Illuminate\Foundation\Console\ConfigShowCommand' => \Illuminate\Foundation\Console\ConfigShowCommand::class, - 'Illuminate\Foundation\Console\ConsoleMakeCommand' => \Illuminate\Foundation\Console\ConsoleMakeCommand::class, - 'Illuminate\Foundation\Console\DocsCommand' => \Illuminate\Foundation\Console\DocsCommand::class, - 'Illuminate\Foundation\Console\DownCommand' => \Illuminate\Foundation\Console\DownCommand::class, - 'Illuminate\Foundation\Console\EnvironmentCommand' => \Illuminate\Foundation\Console\EnvironmentCommand::class, - 'Illuminate\Foundation\Console\EnvironmentDecryptCommand' => \Illuminate\Foundation\Console\EnvironmentDecryptCommand::class, - 'Illuminate\Foundation\Console\EnvironmentEncryptCommand' => \Illuminate\Foundation\Console\EnvironmentEncryptCommand::class, - 'Illuminate\Foundation\Console\EventCacheCommand' => \Illuminate\Foundation\Console\EventCacheCommand::class, - 'Illuminate\Foundation\Console\EventClearCommand' => \Illuminate\Foundation\Console\EventClearCommand::class, - 'Illuminate\Foundation\Console\EventGenerateCommand' => \Illuminate\Foundation\Console\EventGenerateCommand::class, - 'Illuminate\Foundation\Console\EventListCommand' => \Illuminate\Foundation\Console\EventListCommand::class, - 'Illuminate\Foundation\Console\EventMakeCommand' => \Illuminate\Foundation\Console\EventMakeCommand::class, - 'Illuminate\Foundation\Console\ExceptionMakeCommand' => \Illuminate\Foundation\Console\ExceptionMakeCommand::class, - 'Illuminate\Foundation\Console\JobMakeCommand' => \Illuminate\Foundation\Console\JobMakeCommand::class, - 'Illuminate\Foundation\Console\KeyGenerateCommand' => \Illuminate\Foundation\Console\KeyGenerateCommand::class, - 'Illuminate\Foundation\Console\LangPublishCommand' => \Illuminate\Foundation\Console\LangPublishCommand::class, - 'Illuminate\Foundation\Console\ListenerMakeCommand' => \Illuminate\Foundation\Console\ListenerMakeCommand::class, - 'Illuminate\Foundation\Console\MailMakeCommand' => \Illuminate\Foundation\Console\MailMakeCommand::class, - 'Illuminate\Foundation\Console\ModelMakeCommand' => \Illuminate\Foundation\Console\ModelMakeCommand::class, - 'Illuminate\Foundation\Console\NotificationMakeCommand' => \Illuminate\Foundation\Console\NotificationMakeCommand::class, - 'Illuminate\Foundation\Console\ObserverMakeCommand' => \Illuminate\Foundation\Console\ObserverMakeCommand::class, - 'Illuminate\Foundation\Console\OptimizeClearCommand' => \Illuminate\Foundation\Console\OptimizeClearCommand::class, - 'Illuminate\Foundation\Console\OptimizeCommand' => \Illuminate\Foundation\Console\OptimizeCommand::class, - 'Illuminate\Foundation\Console\PackageDiscoverCommand' => \Illuminate\Foundation\Console\PackageDiscoverCommand::class, - 'Illuminate\Foundation\Console\PolicyMakeCommand' => \Illuminate\Foundation\Console\PolicyMakeCommand::class, - 'Illuminate\Foundation\Console\ProviderMakeCommand' => \Illuminate\Foundation\Console\ProviderMakeCommand::class, - 'Illuminate\Foundation\Console\RequestMakeCommand' => \Illuminate\Foundation\Console\RequestMakeCommand::class, - 'Illuminate\Foundation\Console\ResourceMakeCommand' => \Illuminate\Foundation\Console\ResourceMakeCommand::class, - 'Illuminate\Foundation\Console\RouteCacheCommand' => \Illuminate\Foundation\Console\RouteCacheCommand::class, - 'Illuminate\Foundation\Console\RouteClearCommand' => \Illuminate\Foundation\Console\RouteClearCommand::class, - 'Illuminate\Foundation\Console\RouteListCommand' => \Illuminate\Foundation\Console\RouteListCommand::class, - 'Illuminate\Foundation\Console\RuleMakeCommand' => \Illuminate\Foundation\Console\RuleMakeCommand::class, - 'Illuminate\Foundation\Console\ScopeMakeCommand' => \Illuminate\Foundation\Console\ScopeMakeCommand::class, - 'Illuminate\Foundation\Console\ServeCommand' => \Illuminate\Foundation\Console\ServeCommand::class, - 'Illuminate\Foundation\Console\StorageLinkCommand' => \Illuminate\Foundation\Console\StorageLinkCommand::class, - 'Illuminate\Foundation\Console\StorageUnlinkCommand' => \Illuminate\Foundation\Console\StorageUnlinkCommand::class, - 'Illuminate\Foundation\Console\StubPublishCommand' => \Illuminate\Foundation\Console\StubPublishCommand::class, - 'Illuminate\Foundation\Console\TestMakeCommand' => \Illuminate\Foundation\Console\TestMakeCommand::class, - 'Illuminate\Foundation\Console\UpCommand' => \Illuminate\Foundation\Console\UpCommand::class, - 'Illuminate\Foundation\Console\VendorPublishCommand' => \Illuminate\Foundation\Console\VendorPublishCommand::class, - 'Illuminate\Foundation\Console\ViewCacheCommand' => \Illuminate\Foundation\Console\ViewCacheCommand::class, - 'Illuminate\Foundation\Console\ViewClearCommand' => \Illuminate\Foundation\Console\ViewClearCommand::class, - 'Illuminate\Foundation\Console\ViewMakeCommand' => \Illuminate\Foundation\Console\ViewMakeCommand::class, - 'Illuminate\Foundation\MaintenanceModeManager' => \Illuminate\Foundation\MaintenanceModeManager::class, - 'Illuminate\Foundation\Mix' => \Illuminate\Foundation\Mix::class, - 'Illuminate\Foundation\PackageManifest' => \Illuminate\Foundation\PackageManifest::class, - 'Illuminate\Foundation\Vite' => \Illuminate\Foundation\Vite::class, - 'Illuminate\Http\Client\Factory' => \Illuminate\Http\Client\Factory::class, - 'Illuminate\Mail\Markdown' => \Illuminate\Mail\Markdown::class, - 'Illuminate\Notifications\ChannelManager' => \Illuminate\Notifications\ChannelManager::class, - 'Illuminate\Notifications\Console\NotificationTableCommand' => \Illuminate\Notifications\Console\NotificationTableCommand::class, - 'Illuminate\Queue\Console\BatchesTableCommand' => \Illuminate\Queue\Console\BatchesTableCommand::class, - 'Illuminate\Queue\Console\ClearCommand' => \Illuminate\Queue\Console\ClearCommand::class, - 'Illuminate\Queue\Console\FailedTableCommand' => \Illuminate\Queue\Console\FailedTableCommand::class, - 'Illuminate\Queue\Console\FlushFailedCommand' => \Illuminate\Queue\Console\FlushFailedCommand::class, - 'Illuminate\Queue\Console\ForgetFailedCommand' => \Illuminate\Queue\Console\ForgetFailedCommand::class, - 'Illuminate\Queue\Console\ListFailedCommand' => \Illuminate\Queue\Console\ListFailedCommand::class, - 'Illuminate\Queue\Console\ListenCommand' => \Illuminate\Queue\Console\ListenCommand::class, - 'Illuminate\Queue\Console\MonitorCommand' => \Illuminate\Queue\Console\MonitorCommand::class, - 'Illuminate\Queue\Console\PruneBatchesCommand' => \Illuminate\Queue\Console\PruneBatchesCommand::class, - 'Illuminate\Queue\Console\PruneFailedJobsCommand' => \Illuminate\Queue\Console\PruneFailedJobsCommand::class, - 'Illuminate\Queue\Console\RestartCommand' => \Illuminate\Queue\Console\RestartCommand::class, - 'Illuminate\Queue\Console\RetryBatchCommand' => \Illuminate\Queue\Console\RetryBatchCommand::class, - 'Illuminate\Queue\Console\RetryCommand' => \Illuminate\Queue\Console\RetryCommand::class, - 'Illuminate\Queue\Console\TableCommand' => \Illuminate\Queue\Console\TableCommand::class, - 'Illuminate\Queue\Console\WorkCommand' => \Illuminate\Queue\Console\WorkCommand::class, - 'Illuminate\Routing\Console\ControllerMakeCommand' => \Illuminate\Routing\Console\ControllerMakeCommand::class, - 'Illuminate\Routing\Console\MiddlewareMakeCommand' => \Illuminate\Routing\Console\MiddlewareMakeCommand::class, - 'Illuminate\Routing\Contracts\CallableDispatcher' => \Illuminate\Routing\CallableDispatcher::class, - 'Illuminate\Routing\Contracts\ControllerDispatcher' => \Illuminate\Routing\ControllerDispatcher::class, - 'Illuminate\Session\Console\SessionTableCommand' => \Illuminate\Session\Console\SessionTableCommand::class, - 'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class, - 'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class, - 'Laravel\Telescope\Contracts\ClearableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\EntriesRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Laravel\Telescope\Contracts\PrunableRepository' => \Laravel\Telescope\Storage\DatabaseEntriesRepository::class, - 'Livewire\EventBus' => \Livewire\EventBus::class, - 'Livewire\LivewireManager' => \Livewire\LivewireManager::class, - 'Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys' => \Livewire\Mechanisms\ExtendBlade\DeterministicBladeKeys::class, - 'Lorisleiva\Actions\ActionManager' => \Lorisleiva\Actions\ActionManager::class, - 'Lorisleiva\Lody\LodyManager' => \Lorisleiva\Lody\LodyManager::class, - 'Lorisleiva\Lody\Psr4Resolver' => \Lorisleiva\Lody\Psr4Resolver::class, - 'NotificationChannels\Telegram\Telegram' => \NotificationChannels\Telegram\Telegram::class, - 'NunoMaduro\Collision\Provider' => \NunoMaduro\Collision\Provider::class, - 'Spatie\FlareClient\Flare' => \Spatie\FlareClient\Flare::class, - 'Spatie\Ignition\Config\IgnitionConfig' => \Spatie\Ignition\Config\IgnitionConfig::class, - 'Spatie\Ignition\Contracts\ConfigManager' => \Spatie\Ignition\Config\FileConfigManager::class, - 'Spatie\Ignition\Contracts\SolutionProviderRepository' => \Spatie\LaravelIgnition\Solutions\SolutionProviders\SolutionProviderRepository::class, - 'Spatie\Ignition\Ignition' => \Spatie\Ignition\Ignition::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder::class, - 'Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler' => \Spatie\LaravelIgnition\Recorders\DumpRecorder\MultiDumpHandler::class, - 'Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder' => \Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder::class, - 'Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder' => \Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder::class, - 'Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder' => \Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder::class, - 'Spatie\LaravelIgnition\Support\SentReports' => \Spatie\LaravelIgnition\Support\SentReports::class, - 'Spatie\LaravelSettings\SettingsMapper' => \Spatie\LaravelSettings\SettingsMapper::class, - 'Spatie\LaravelSettings\SettingsRepositories\SettingsRepository' => \Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class, - 'Spatie\LaravelSettings\Support\SettingsCacheFactory' => \Spatie\LaravelSettings\Support\SettingsCacheFactory::class, - 'Symfony\Component\HtmlSanitizer\HtmlSanitizerInterface' => \Symfony\Component\HtmlSanitizer\HtmlSanitizer::class, - 'auth' => \Illuminate\Auth\AuthManager::class, - 'auth.driver' => \Illuminate\Auth\SessionGuard::class, - 'auth.password' => \Illuminate\Auth\Passwords\PasswordBrokerManager::class, - 'auth.password.broker' => \Illuminate\Auth\Passwords\PasswordBroker::class, - 'blade.compiler' => \Illuminate\View\Compilers\BladeCompiler::class, - 'cache' => \Illuminate\Cache\CacheManager::class, - 'cache.store' => \Illuminate\Cache\Repository::class, - 'command.ide-helper.eloquent' => \Barryvdh\LaravelIdeHelper\Console\EloquentCommand::class, - 'command.ide-helper.generate' => \Barryvdh\LaravelIdeHelper\Console\GeneratorCommand::class, - 'command.ide-helper.meta' => \Barryvdh\LaravelIdeHelper\Console\MetaCommand::class, - 'command.ide-helper.models' => \Barryvdh\LaravelIdeHelper\Console\ModelsCommand::class, - 'command.tinker' => \Laravel\Tinker\Console\TinkerCommand::class, - 'composer' => \Illuminate\Support\Composer::class, - 'cookie' => \Illuminate\Cookie\CookieJar::class, - 'db' => \Illuminate\Database\DatabaseManager::class, - 'db.connection' => \Illuminate\Database\MySqlConnection::class, - 'db.factory' => \Illuminate\Database\Connectors\ConnectionFactory::class, - 'db.schema' => \Illuminate\Database\Schema\MySqlBuilder::class, - 'db.transactions' => \Illuminate\Database\DatabaseTransactionsManager::class, - 'encrypter' => \Illuminate\Encryption\Encrypter::class, - 'events' => \Illuminate\Events\Dispatcher::class, - 'filament' => \Filament\FilamentManager::class, - 'files' => \Illuminate\Filesystem\Filesystem::class, - 'filesystem' => \Illuminate\Filesystem\FilesystemManager::class, - 'filesystem.cloud' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'filesystem.disk' => \Illuminate\Filesystem\FilesystemAdapter::class, - 'flare.logger' => \Monolog\Logger::class, - 'hash' => \Illuminate\Hashing\HashManager::class, - 'hash.driver' => \Illuminate\Hashing\BcryptHasher::class, - 'log' => \Illuminate\Log\LogManager::class, - 'mail.manager' => \Illuminate\Mail\MailManager::class, - 'mailer' => \Illuminate\Mail\Mailer::class, - 'memcached.connector' => \Illuminate\Cache\MemcachedConnector::class, - 'migration.creator' => \Illuminate\Database\Migrations\MigrationCreator::class, - 'migration.repository' => \Illuminate\Database\Migrations\DatabaseMigrationRepository::class, - 'migrator' => \Illuminate\Database\Migrations\Migrator::class, - 'pipeline' => \Illuminate\Pipeline\Pipeline::class, - 'queue' => \Illuminate\Queue\QueueManager::class, - 'queue.connection' => \Illuminate\Queue\DatabaseQueue::class, - 'queue.failer' => \Illuminate\Queue\Failed\DatabaseUuidFailedJobProvider::class, - 'queue.listener' => \Illuminate\Queue\Listener::class, - 'queue.worker' => \Illuminate\Queue\Worker::class, - 'redirect' => \Illuminate\Routing\Redirector::class, - 'redis' => \Illuminate\Redis\RedisManager::class, - 'router' => \Illuminate\Routing\Router::class, - 'session' => \Illuminate\Session\SessionManager::class, - 'session.store' => \Illuminate\Session\Store::class, - 'translation.loader' => \Illuminate\Translation\FileLoader::class, - 'translator' => \Illuminate\Translation\Translator::class, - 'url' => \Illuminate\Routing\UrlGenerator::class, - 'validation.presence' => \Illuminate\Validation\DatabasePresenceVerifier::class, - 'view' => \Illuminate\View\Factory::class, - 'view.engine.resolver' => \Illuminate\View\Engines\EngineResolver::class, - 'view.finder' => \Illuminate\View\FileViewFinder::class, - ])); - - - override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::mock(0), map(["" => "@&\Mockery\MockInterface"])); - override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::partialMock(0), map(["" => "@&\Mockery\MockInterface"])); - override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::instance(0), type(1)); - override(\Illuminate\Foundation\Testing\Concerns\InteractsWithContainer::spy(0), map(["" => "@&\Mockery\MockInterface"])); - override(\Illuminate\Support\Arr::add(0), type(0)); - override(\Illuminate\Support\Arr::except(0), type(0)); - override(\Illuminate\Support\Arr::first(0), elementType(0)); - override(\Illuminate\Support\Arr::last(0), elementType(0)); - override(\Illuminate\Support\Arr::get(0), elementType(0)); - override(\Illuminate\Support\Arr::only(0), type(0)); - override(\Illuminate\Support\Arr::prepend(0), type(0)); - override(\Illuminate\Support\Arr::pull(0), elementType(0)); - override(\Illuminate\Support\Arr::set(0), type(0)); - override(\Illuminate\Support\Arr::shuffle(0), type(0)); - override(\Illuminate\Support\Arr::sort(0), type(0)); - override(\Illuminate\Support\Arr::sortRecursive(0), type(0)); - override(\Illuminate\Support\Arr::where(0), type(0)); - override(\array_add(0), type(0)); - override(\array_except(0), type(0)); - override(\array_first(0), elementType(0)); - override(\array_last(0), elementType(0)); - override(\array_get(0), elementType(0)); - override(\array_only(0), type(0)); - override(\array_prepend(0), type(0)); - override(\array_pull(0), elementType(0)); - override(\array_set(0), type(0)); - override(\array_sort(0), type(0)); - override(\array_sort_recursive(0), type(0)); - override(\array_where(0), type(0)); - override(\head(0), elementType(0)); - override(\last(0), elementType(0)); - override(\with(0), type(0)); - override(\tap(0), type(0)); - override(\optional(0), type(0)); - -} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index ade909109..000000000 --- a/Dockerfile +++ /dev/null @@ -1,44 +0,0 @@ -FROM serversideup/php:8.2-fpm-nginx-v2.2.1 - -# Add /config to allowed directory tree -ENV PHP_OPEN_BASEDIR=$WEBUSER_HOME:/config/:/dev/stdout:/tmp - -# Enable mixed ssl mode so port 80 or 443 can be used -ENV SSL_MODE="mixed" - -# Install addition packages and cron file -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - cron \ - htop \ - php8.2-pgsql \ - && echo "MAILTO=\"\"\n* * * * * webuser /usr/bin/php /var/www/html/artisan schedule:run" > /etc/cron.d/laravel \ - \ -# Install Speedtest cli - && curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash \ - && apt-get install -y --no-install-recommends speedtest \ - \ -# Clean up package lists - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* - -# Copy package configs -COPY --chmod=755 docker/deploy/etc /etc - -# Copy app -COPY --chown=webuser:webgroup . $WEBUSER_HOME - -WORKDIR $WEBUSER_HOME - -# Install app dependencies -RUN composer install \ - --no-interaction \ - --prefer-dist \ - --optimize-autoloader \ - --no-dev \ - --no-cache - -# Add deprecated image file -RUN touch /var/www/html/storage/app/public/.deprecated_image - -VOLUME /config diff --git a/README.md b/README.md index 6d7fc6acc..b5c8275f7 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,32 @@ -# Speedtest Tracker +# 🐇 Speedtest Tracker -> [!IMPORTANT] -> `v0.16.0` includes a breaking change that requires user action for existing installs. Read the [release](https://github.com/alexjustesen/speedtest-tracker/releases/tag/v0.16.0) notes regarding the data migration. +Speedtest Tracker is a self-hosted application that monitors the performance and uptime of your internet connection. -[![Star History Chart](https://api.star-history.com/svg?repos=alexjustesen/speedtest-tracker&type=Date)](https://star-history.com/#alexjustesen/speedtest-tracker&Date) - -## Introduction - -Speedtest Tracker is a self-hosted internet performance tracking application that runs speedtest checks against Ookla's Speedtest service. - -### Why might I use this? +![Dashboard](.github/screenshots/dashboard.jpeg) -The main use case for Speedtest Tracker is to build a history of your internet's performance so that you can be informed when you're not receiving your ISP's advertised rates. +## Features -### What about that other Speedtest Tracker? - -As far as I can tell https://github.com/henrywhitaker3/Speedtest-Tracker was abandoned. This is meant to be an actively maintained replacement with an improved UI and feature set. +- **Automated Tests**: Schedule regular speed tests to monitor your internet connection's performance over time. +- **Detailed Metrics**: Capture download and upload speeds, ping, packet loss and more. +- **Historical Data**: View historical data and trends to identify patterns and issues with your internet connection. +- **Notifications**: Receive notifications when your internet performance drops below a certain threshold. +- **Multi-Language Support**: Available in multiple languages with community translations via [Crowdin](https://crowdin.com/project/speedtest-tracker). ## Getting Started -Speedtest Tracker is containerized so you can run it anywhere you run your Docker containers. The [install](https://docs.speedtest-tracker.dev/getting-started/installation) documentation will get you up and running with using Docker or Docker Composer along with choosing a database (SQLite, MySQL/MariaDB or Postgresql). - -### Quick Start +Speedtest Tracker is containerized so you can run it anywhere you run your containers. The image is built by LinuxServer.io, build information can be found [here](https://fleet.linuxserver.io/image?name=linuxserver/speedtest-tracker). -```dockerfile -docker run -d --name speedtest-tracker --restart unless-stopped \ - -p 8080:80 \ - -e PUID=1000 \ - -e PGID=1000 \ - -e DB_CONNECTION=sqlite \ - -v /path/to/data:/config \ - lscr.io/linuxserver/speedtest-tracker:latest -``` +- [Installation](https://docs.speedtest-tracker.dev/getting-started/installation) guide will get you up and running and includes steps for deploying the Docker image or to NAS platforms like Synology and Unraid. +- [Configurations](https://docs.speedtest-tracker.dev/getting-started/environment-variables) are used to tailor Speedtest Tracker to your needs. +- [Notifications](https://docs.speedtest-tracker.dev/settings/notifications) channels alert you when issues happen. +- [Frequently Asked Questions](https://docs.speedtest-tracker.dev/help/faqs) are common questions that can help you resolve issues. -### FAQs and Features +## Translations -[FAQs](https://docs.speedtest-tracker.dev/faqs) and a full list of planned and completed [features](https://docs.speedtest-tracker.dev/getting-started/features) can be found in the [documentation](https://docs.speedtest-tracker.dev). +Speedtest Tracker supports multiple languages thanks to our community translators! -## API +**Request a new language**: Visit our [Crowdin project](https://crowdin.com/project/speedtest-tracker) and request a new language directly in crowdin. -A robust API is planned for a later release but as of `v0.11.8` a legacy endpoint `/api/speedtest/latest` which is used by home lab dashboards like [Homepage](https://github.com/benphelps/homepage) and [Organizr](https://github.com/causefx/Organizr/tree/v2-master). +**Help translate**: Join our [Crowdin project](https://crowdin.com/project/speedtest-tracker) to contribute translations in your language. All translation levels are welcome! -## Screenshots - -![Dashboard](.github/screenshots/dashboard_screenshot.jpg) -**Dashboard** +[![Star History Chart](https://api.star-history.com/svg?repos=alexjustesen/speedtest-tracker&type=Date)](https://star-history.com/#alexjustesen/speedtest-tracker&Date) diff --git a/SECURITY.md b/SECURITY.md index 85fd91313..0efc94daa 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,4 +2,6 @@ ## Reporting a Vulnerability -Found a security vulnerability? **DON'T open an issue**, report it to [sec@alexjustesen.com](mailto:sec@alexjustesen.com) so I can address it promptly. +Found a security vulnerability? + +**DON'T open an issue**, report it to [sec@alexjustesen.com](mailto:sec@alexjustesen.com) so I can address it promptly. diff --git a/_ide_helper.php b/_ide_helper.php deleted file mode 100644 index 1e6a06d8c..000000000 --- a/_ide_helper.php +++ /dev/null @@ -1,25006 +0,0 @@ - - * @see https://github.com/barryvdh/laravel-ide-helper - */ - -namespace Illuminate\Support\Facades { - /** - * - * - * @see \Illuminate\Foundation\Application - */ class App { - /** - * Get the version number of the application. - * - * @return string - * @static - */ public static function version() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->version(); - } - /** - * Run the given array of bootstrap classes. - * - * @param string[] $bootstrappers - * @return void - * @static - */ public static function bootstrapWith($bootstrappers) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->bootstrapWith($bootstrappers); - } - /** - * Register a callback to run after loading the environment. - * - * @param \Closure $callback - * @return void - * @static - */ public static function afterLoadingEnvironment($callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->afterLoadingEnvironment($callback); - } - /** - * Register a callback to run before a bootstrapper. - * - * @param string $bootstrapper - * @param \Closure $callback - * @return void - * @static - */ public static function beforeBootstrapping($bootstrapper, $callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->beforeBootstrapping($bootstrapper, $callback); - } - /** - * Register a callback to run after a bootstrapper. - * - * @param string $bootstrapper - * @param \Closure $callback - * @return void - * @static - */ public static function afterBootstrapping($bootstrapper, $callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->afterBootstrapping($bootstrapper, $callback); - } - /** - * Determine if the application has been bootstrapped before. - * - * @return bool - * @static - */ public static function hasBeenBootstrapped() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->hasBeenBootstrapped(); - } - /** - * Set the base path for the application. - * - * @param string $basePath - * @return \Illuminate\Foundation\Application - * @static - */ public static function setBasePath($basePath) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->setBasePath($basePath); - } - /** - * Get the path to the application "app" directory. - * - * @param string $path - * @return string - * @static - */ public static function path($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->path($path); - } - /** - * Set the application directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useAppPath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useAppPath($path); - } - /** - * Get the base path of the Laravel installation. - * - * @param string $path - * @return string - * @static - */ public static function basePath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->basePath($path); - } - /** - * Get the path to the bootstrap directory. - * - * @param string $path - * @return string - * @static - */ public static function bootstrapPath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->bootstrapPath($path); - } - /** - * Set the bootstrap file directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useBootstrapPath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useBootstrapPath($path); - } - /** - * Get the path to the application configuration files. - * - * @param string $path - * @return string - * @static - */ public static function configPath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->configPath($path); - } - /** - * Set the configuration directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useConfigPath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useConfigPath($path); - } - /** - * Get the path to the database directory. - * - * @param string $path - * @return string - * @static - */ public static function databasePath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->databasePath($path); - } - /** - * Set the database directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useDatabasePath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useDatabasePath($path); - } - /** - * Get the path to the language files. - * - * @param string $path - * @return string - * @static - */ public static function langPath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->langPath($path); - } - /** - * Set the language file directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useLangPath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useLangPath($path); - } - /** - * Get the path to the public / web directory. - * - * @param string $path - * @return string - * @static - */ public static function publicPath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->publicPath($path); - } - /** - * Set the public / web directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function usePublicPath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->usePublicPath($path); - } - /** - * Get the path to the storage directory. - * - * @param string $path - * @return string - * @static - */ public static function storagePath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->storagePath($path); - } - /** - * Set the storage directory. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useStoragePath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useStoragePath($path); - } - /** - * Get the path to the resources directory. - * - * @param string $path - * @return string - * @static - */ public static function resourcePath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->resourcePath($path); - } - /** - * Get the path to the views directory. - * - * This method returns the first configured path in the array of view paths. - * - * @param string $path - * @return string - * @static - */ public static function viewPath($path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->viewPath($path); - } - /** - * Join the given paths together. - * - * @param string $basePath - * @param string $path - * @return string - * @static - */ public static function joinPaths($basePath, $path = '') - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->joinPaths($basePath, $path); - } - /** - * Get the path to the environment file directory. - * - * @return string - * @static - */ public static function environmentPath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->environmentPath(); - } - /** - * Set the directory for the environment file. - * - * @param string $path - * @return \Illuminate\Foundation\Application - * @static - */ public static function useEnvironmentPath($path) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->useEnvironmentPath($path); - } - /** - * Set the environment file to be loaded during bootstrapping. - * - * @param string $file - * @return \Illuminate\Foundation\Application - * @static - */ public static function loadEnvironmentFrom($file) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->loadEnvironmentFrom($file); - } - /** - * Get the environment file the application is using. - * - * @return string - * @static - */ public static function environmentFile() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->environmentFile(); - } - /** - * Get the fully qualified path to the environment file. - * - * @return string - * @static - */ public static function environmentFilePath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->environmentFilePath(); - } - /** - * Get or check the current application environment. - * - * @param string|array $environments - * @return string|bool - * @static - */ public static function environment(...$environments) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->environment(...$environments); - } - /** - * Determine if the application is in the local environment. - * - * @return bool - * @static - */ public static function isLocal() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isLocal(); - } - /** - * Determine if the application is in the production environment. - * - * @return bool - * @static - */ public static function isProduction() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isProduction(); - } - /** - * Detect the application's current environment. - * - * @param \Closure $callback - * @return string - * @static - */ public static function detectEnvironment($callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->detectEnvironment($callback); - } - /** - * Determine if the application is running in the console. - * - * @return bool - * @static - */ public static function runningInConsole() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->runningInConsole(); - } - /** - * Determine if the application is running any of the given console commands. - * - * @param string|array $commands - * @return bool - * @static - */ public static function runningConsoleCommand(...$commands) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->runningConsoleCommand(...$commands); - } - /** - * Determine if the application is running unit tests. - * - * @return bool - * @static - */ public static function runningUnitTests() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->runningUnitTests(); - } - /** - * Determine if the application is running with debug mode enabled. - * - * @return bool - * @static - */ public static function hasDebugModeEnabled() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->hasDebugModeEnabled(); - } - /** - * Register all of the configured providers. - * - * @return void - * @static - */ public static function registerConfiguredProviders() - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->registerConfiguredProviders(); - } - /** - * Register a service provider with the application. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @param bool $force - * @return \Illuminate\Support\ServiceProvider - * @static - */ public static function register($provider, $force = false) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->register($provider, $force); - } - /** - * Get the registered service provider instance if it exists. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @return \Illuminate\Support\ServiceProvider|null - * @static - */ public static function getProvider($provider) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getProvider($provider); - } - /** - * Get the registered service provider instances if any exist. - * - * @param \Illuminate\Support\ServiceProvider|string $provider - * @return array - * @static - */ public static function getProviders($provider) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getProviders($provider); - } - /** - * Resolve a service provider instance from the class name. - * - * @param string $provider - * @return \Illuminate\Support\ServiceProvider - * @static - */ public static function resolveProvider($provider) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->resolveProvider($provider); - } - /** - * Load and boot all of the remaining deferred providers. - * - * @return void - * @static - */ public static function loadDeferredProviders() - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->loadDeferredProviders(); - } - /** - * Load the provider for a deferred service. - * - * @param string $service - * @return void - * @static - */ public static function loadDeferredProvider($service) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->loadDeferredProvider($service); - } - /** - * Register a deferred provider and service. - * - * @param string $provider - * @param string|null $service - * @return void - * @static - */ public static function registerDeferredProvider($provider, $service = null) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->registerDeferredProvider($provider, $service); - } - /** - * Resolve the given type from the container. - * - * @param string $abstract - * @param array $parameters - * @return mixed - * @static - */ public static function make($abstract, $parameters = []) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->make($abstract, $parameters); - } - /** - * Determine if the given abstract type has been bound. - * - * @param string $abstract - * @return bool - * @static - */ public static function bound($abstract) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->bound($abstract); - } - /** - * Determine if the application has booted. - * - * @return bool - * @static - */ public static function isBooted() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isBooted(); - } - /** - * Boot the application's service providers. - * - * @return void - * @static - */ public static function boot() - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->boot(); - } - /** - * Register a new boot listener. - * - * @param callable $callback - * @return void - * @static - */ public static function booting($callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->booting($callback); - } - /** - * Register a new "booted" listener. - * - * @param callable $callback - * @return void - * @static - */ public static function booted($callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->booted($callback); - } - /** - * {@inheritdoc} - * - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ public static function handle($request, $type = 1, $catch = true) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->handle($request, $type, $catch); - } - /** - * Determine if middleware has been disabled for the application. - * - * @return bool - * @static - */ public static function shouldSkipMiddleware() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->shouldSkipMiddleware(); - } - /** - * Get the path to the cached services.php file. - * - * @return string - * @static - */ public static function getCachedServicesPath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getCachedServicesPath(); - } - /** - * Get the path to the cached packages.php file. - * - * @return string - * @static - */ public static function getCachedPackagesPath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getCachedPackagesPath(); - } - /** - * Determine if the application configuration is cached. - * - * @return bool - * @static - */ public static function configurationIsCached() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->configurationIsCached(); - } - /** - * Get the path to the configuration cache file. - * - * @return string - * @static - */ public static function getCachedConfigPath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getCachedConfigPath(); - } - /** - * Determine if the application routes are cached. - * - * @return bool - * @static - */ public static function routesAreCached() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->routesAreCached(); - } - /** - * Get the path to the routes cache file. - * - * @return string - * @static - */ public static function getCachedRoutesPath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getCachedRoutesPath(); - } - /** - * Determine if the application events are cached. - * - * @return bool - * @static - */ public static function eventsAreCached() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->eventsAreCached(); - } - /** - * Get the path to the events cache file. - * - * @return string - * @static - */ public static function getCachedEventsPath() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getCachedEventsPath(); - } - /** - * Add new prefix to list of absolute path prefixes. - * - * @param string $prefix - * @return \Illuminate\Foundation\Application - * @static - */ public static function addAbsoluteCachePathPrefix($prefix) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->addAbsoluteCachePathPrefix($prefix); - } - /** - * Get an instance of the maintenance mode manager implementation. - * - * @return \Illuminate\Contracts\Foundation\MaintenanceMode - * @static - */ public static function maintenanceMode() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->maintenanceMode(); - } - /** - * Determine if the application is currently down for maintenance. - * - * @return bool - * @static - */ public static function isDownForMaintenance() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isDownForMaintenance(); - } - /** - * Throw an HttpException with the given data. - * - * @param int $code - * @param string $message - * @param array $headers - * @return \Illuminate\Foundation\never - * @throws \Symfony\Component\HttpKernel\Exception\HttpException - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - * @static - */ public static function abort($code, $message = '', $headers = []) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->abort($code, $message, $headers); - } - /** - * Register a terminating callback with the application. - * - * @param callable|string $callback - * @return \Illuminate\Foundation\Application - * @static - */ public static function terminating($callback) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->terminating($callback); - } - /** - * Terminate the application. - * - * @return void - * @static - */ public static function terminate() - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->terminate(); - } - /** - * Get the service providers that have been loaded. - * - * @return array - * @static - */ public static function getLoadedProviders() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getLoadedProviders(); - } - /** - * Determine if the given service provider is loaded. - * - * @param string $provider - * @return bool - * @static - */ public static function providerIsLoaded($provider) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->providerIsLoaded($provider); - } - /** - * Get the application's deferred services. - * - * @return array - * @static - */ public static function getDeferredServices() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getDeferredServices(); - } - /** - * Set the application's deferred services. - * - * @param array $services - * @return void - * @static - */ public static function setDeferredServices($services) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->setDeferredServices($services); - } - /** - * Add an array of services to the application's deferred services. - * - * @param array $services - * @return void - * @static - */ public static function addDeferredServices($services) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->addDeferredServices($services); - } - /** - * Determine if the given service is a deferred service. - * - * @param string $service - * @return bool - * @static - */ public static function isDeferredService($service) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isDeferredService($service); - } - /** - * Configure the real-time facade namespace. - * - * @param string $namespace - * @return void - * @static - */ public static function provideFacades($namespace) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->provideFacades($namespace); - } - /** - * Get the current application locale. - * - * @return string - * @static - */ public static function getLocale() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getLocale(); - } - /** - * Get the current application locale. - * - * @return string - * @static - */ public static function currentLocale() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->currentLocale(); - } - /** - * Get the current application fallback locale. - * - * @return string - * @static - */ public static function getFallbackLocale() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getFallbackLocale(); - } - /** - * Set the current application locale. - * - * @param string $locale - * @return void - * @static - */ public static function setLocale($locale) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->setLocale($locale); - } - /** - * Set the current application fallback locale. - * - * @param string $fallbackLocale - * @return void - * @static - */ public static function setFallbackLocale($fallbackLocale) - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->setFallbackLocale($fallbackLocale); - } - /** - * Determine if the application locale is the given locale. - * - * @param string $locale - * @return bool - * @static - */ public static function isLocale($locale) - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isLocale($locale); - } - /** - * Register the core class aliases in the container. - * - * @return void - * @static - */ public static function registerCoreContainerAliases() - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->registerCoreContainerAliases(); - } - /** - * Flush the container of all bindings and resolved instances. - * - * @return void - * @static - */ public static function flush() - { - /** @var \Illuminate\Foundation\Application $instance */ - $instance->flush(); - } - /** - * Get the application namespace. - * - * @return string - * @throws \RuntimeException - * @static - */ public static function getNamespace() - { - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getNamespace(); - } - /** - * Define a contextual binding. - * - * @param array|string $concrete - * @return \Illuminate\Contracts\Container\ContextualBindingBuilder - * @static - */ public static function when($concrete) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->when($concrete); - } - /** - * Returns true if the container can return an entry for the given identifier. - * - * Returns false otherwise. - * - * `has($id)` returning true does not mean that `get($id)` will not throw an exception. - * It does however mean that `get($id)` will not throw a `NotFoundExceptionInterface`. - * - * @return bool - * @param string $id Identifier of the entry to look for. - * @return bool - * @static - */ public static function has($id) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->has($id); - } - /** - * Determine if the given abstract type has been resolved. - * - * @param string $abstract - * @return bool - * @static - */ public static function resolved($abstract) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->resolved($abstract); - } - /** - * Determine if a given type is shared. - * - * @param string $abstract - * @return bool - * @static - */ public static function isShared($abstract) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isShared($abstract); - } - /** - * Determine if a given string is an alias. - * - * @param string $name - * @return bool - * @static - */ public static function isAlias($name) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->isAlias($name); - } - /** - * Register a binding with the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @param bool $shared - * @return void - * @throws \TypeError - * @static - */ public static function bind($abstract, $concrete = null, $shared = false) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->bind($abstract, $concrete, $shared); - } - /** - * Determine if the container has a method binding. - * - * @param string $method - * @return bool - * @static - */ public static function hasMethodBinding($method) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->hasMethodBinding($method); - } - /** - * Bind a callback to resolve with Container::call. - * - * @param array|string $method - * @param \Closure $callback - * @return void - * @static - */ public static function bindMethod($method, $callback) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->bindMethod($method, $callback); - } - /** - * Get the method binding for the given method. - * - * @param string $method - * @param mixed $instance - * @return mixed - * @static - */ public static function callMethodBinding($method, $instance) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->callMethodBinding($method, $instance); - } - /** - * Add a contextual binding to the container. - * - * @param string $concrete - * @param string $abstract - * @param \Closure|string $implementation - * @return void - * @static - */ public static function addContextualBinding($concrete, $abstract, $implementation) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->addContextualBinding($concrete, $abstract, $implementation); - } - /** - * Register a binding if it hasn't already been registered. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @param bool $shared - * @return void - * @static - */ public static function bindIf($abstract, $concrete = null, $shared = false) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->bindIf($abstract, $concrete, $shared); - } - /** - * Register a shared binding in the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @return void - * @static - */ public static function singleton($abstract, $concrete = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->singleton($abstract, $concrete); - } - /** - * Register a shared binding if it hasn't already been registered. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @return void - * @static - */ public static function singletonIf($abstract, $concrete = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->singletonIf($abstract, $concrete); - } - /** - * Register a scoped binding in the container. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @return void - * @static - */ public static function scoped($abstract, $concrete = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->scoped($abstract, $concrete); - } - /** - * Register a scoped binding if it hasn't already been registered. - * - * @param string $abstract - * @param \Closure|string|null $concrete - * @return void - * @static - */ public static function scopedIf($abstract, $concrete = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->scopedIf($abstract, $concrete); - } - /** - * "Extend" an abstract type in the container. - * - * @param string $abstract - * @param \Closure $closure - * @return void - * @throws \InvalidArgumentException - * @static - */ public static function extend($abstract, $closure) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->extend($abstract, $closure); - } - /** - * Register an existing instance as shared in the container. - * - * @param string $abstract - * @param mixed $instance - * @return mixed - * @static - */ public static function instance($abstract, $instance) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->instance($abstract, $instance); - } - /** - * Assign a set of tags to a given binding. - * - * @param array|string $abstracts - * @param array|mixed $tags - * @return void - * @static - */ public static function tag($abstracts, $tags) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->tag($abstracts, $tags); - } - /** - * Resolve all of the bindings for a given tag. - * - * @param string $tag - * @return \Illuminate\Container\iterable - * @static - */ public static function tagged($tag) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->tagged($tag); - } - /** - * Alias a type to a different name. - * - * @param string $abstract - * @param string $alias - * @return void - * @throws \LogicException - * @static - */ public static function alias($abstract, $alias) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->alias($abstract, $alias); - } - /** - * Bind a new callback to an abstract's rebind event. - * - * @param string $abstract - * @param \Closure $callback - * @return mixed - * @static - */ public static function rebinding($abstract, $callback) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->rebinding($abstract, $callback); - } - /** - * Refresh an instance on the given target and method. - * - * @param string $abstract - * @param mixed $target - * @param string $method - * @return mixed - * @static - */ public static function refresh($abstract, $target, $method) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->refresh($abstract, $target, $method); - } - /** - * Wrap the given closure such that its dependencies will be injected when executed. - * - * @param \Closure $callback - * @param array $parameters - * @return \Closure - * @static - */ public static function wrap($callback, $parameters = []) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->wrap($callback, $parameters); - } - /** - * Call the given Closure / class@method and inject its dependencies. - * - * @param callable|string $callback - * @param array $parameters - * @param string|null $defaultMethod - * @return mixed - * @throws \InvalidArgumentException - * @static - */ public static function call($callback, $parameters = [], $defaultMethod = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->call($callback, $parameters, $defaultMethod); - } - /** - * Get a closure to resolve the given type from the container. - * - * @param string $abstract - * @return \Closure - * @static - */ public static function factory($abstract) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->factory($abstract); - } - /** - * An alias function name for make(). - * - * @param string|callable $abstract - * @param array $parameters - * @return mixed - * @throws \Illuminate\Contracts\Container\BindingResolutionException - * @static - */ public static function makeWith($abstract, $parameters = []) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->makeWith($abstract, $parameters); - } - /** - * Finds an entry of the container by its identifier and returns it. - * - * @return mixed - * @param string $id Identifier of the entry to look for. - * @throws NotFoundExceptionInterface No entry was found for **this** identifier. - * @throws ContainerExceptionInterface Error while retrieving the entry. - * @return mixed Entry. - * @static - */ public static function get($id) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->get($id); - } - /** - * Instantiate a concrete instance of the given type. - * - * @param \Closure|string $concrete - * @return mixed - * @throws \Illuminate\Contracts\Container\BindingResolutionException - * @throws \Illuminate\Contracts\Container\CircularDependencyException - * @static - */ public static function build($concrete) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->build($concrete); - } - /** - * Register a new before resolving callback for all types. - * - * @param \Closure|string $abstract - * @param \Closure|null $callback - * @return void - * @static - */ public static function beforeResolving($abstract, $callback = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->beforeResolving($abstract, $callback); - } - /** - * Register a new resolving callback. - * - * @param \Closure|string $abstract - * @param \Closure|null $callback - * @return void - * @static - */ public static function resolving($abstract, $callback = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->resolving($abstract, $callback); - } - /** - * Register a new after resolving callback for all types. - * - * @param \Closure|string $abstract - * @param \Closure|null $callback - * @return void - * @static - */ public static function afterResolving($abstract, $callback = null) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->afterResolving($abstract, $callback); - } - /** - * Get the container's bindings. - * - * @return array - * @static - */ public static function getBindings() - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getBindings(); - } - /** - * Get the alias for an abstract if available. - * - * @param string $abstract - * @return string - * @static - */ public static function getAlias($abstract) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->getAlias($abstract); - } - /** - * Remove all of the extender callbacks for a given type. - * - * @param string $abstract - * @return void - * @static - */ public static function forgetExtenders($abstract) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->forgetExtenders($abstract); - } - /** - * Remove a resolved instance from the instance cache. - * - * @param string $abstract - * @return void - * @static - */ public static function forgetInstance($abstract) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->forgetInstance($abstract); - } - /** - * Clear all of the instances from the container. - * - * @return void - * @static - */ public static function forgetInstances() - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->forgetInstances(); - } - /** - * Clear all of the scoped instances from the container. - * - * @return void - * @static - */ public static function forgetScopedInstances() - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->forgetScopedInstances(); - } - /** - * Get the globally available instance of the container. - * - * @return static - * @static - */ public static function getInstance() - { //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::getInstance(); - } - /** - * Set the shared instance of the container. - * - * @param \Illuminate\Contracts\Container\Container|null $container - * @return \Illuminate\Contracts\Container\Container|static - * @static - */ public static function setInstance($container = null) - { //Method inherited from \Illuminate\Container\Container - return \Illuminate\Foundation\Application::setInstance($container); - } - /** - * Determine if a given offset exists. - * - * @param string $key - * @return bool - * @static - */ public static function offsetExists($key) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->offsetExists($key); - } - /** - * Get the value at a given offset. - * - * @param string $key - * @return mixed - * @static - */ public static function offsetGet($key) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - return $instance->offsetGet($key); - } - /** - * Set the value at a given offset. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function offsetSet($key, $value) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->offsetSet($key, $value); - } - /** - * Unset the value at a given offset. - * - * @param string $key - * @return void - * @static - */ public static function offsetUnset($key) - { //Method inherited from \Illuminate\Container\Container - /** @var \Illuminate\Foundation\Application $instance */ - $instance->offsetUnset($key); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Foundation\Application::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Foundation\Application::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Foundation\Application::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Foundation\Application::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Foundation\Console\Kernel - */ class Artisan { - /** - * Re-route the Symfony command events to their Laravel counterparts. - * - * @internal - * @return \App\Console\Kernel - * @static - */ public static function rerouteSymfonyCommandEvents() - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->rerouteSymfonyCommandEvents(); - } - /** - * Run the console application. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param \Symfony\Component\Console\Output\OutputInterface|null $output - * @return int - * @static - */ public static function handle($input, $output = null) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->handle($input, $output); - } - /** - * Terminate the application. - * - * @param \Symfony\Component\Console\Input\InputInterface $input - * @param int $status - * @return void - * @static - */ public static function terminate($input, $status) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - $instance->terminate($input, $status); - } - /** - * Register a callback to be invoked when the command lifecycle duration exceeds a given amount of time. - * - * @param \DateTimeInterface|\Carbon\CarbonInterval|float|int $threshold - * @param callable $handler - * @return void - * @static - */ public static function whenCommandLifecycleIsLongerThan($threshold, $handler) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - $instance->whenCommandLifecycleIsLongerThan($threshold, $handler); - } - /** - * When the command being handled started. - * - * @return \Illuminate\Support\Carbon|null - * @static - */ public static function commandStartedAt() - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->commandStartedAt(); - } - /** - * Register a Closure based command with the application. - * - * @param string $signature - * @param \Closure $callback - * @return \Illuminate\Foundation\Console\ClosureCommand - * @static - */ public static function command($signature, $callback) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->command($signature, $callback); - } - /** - * Register the given command with the console application. - * - * @param \Symfony\Component\Console\Command\Command $command - * @return void - * @static - */ public static function registerCommand($command) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - $instance->registerCommand($command); - } - /** - * Run an Artisan console command by name. - * - * @param string $command - * @param array $parameters - * @param \Symfony\Component\Console\Output\OutputInterface|null $outputBuffer - * @return int - * @throws \Symfony\Component\Console\Exception\CommandNotFoundException - * @static - */ public static function call($command, $parameters = [], $outputBuffer = null) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->call($command, $parameters, $outputBuffer); - } - /** - * Queue the given console command. - * - * @param string $command - * @param array $parameters - * @return \Illuminate\Foundation\Bus\PendingDispatch - * @static - */ public static function queue($command, $parameters = []) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->queue($command, $parameters); - } - /** - * Get all of the commands registered with the console. - * - * @return array - * @static - */ public static function all() - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->all(); - } - /** - * Get the output for the last run command. - * - * @return string - * @static - */ public static function output() - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - return $instance->output(); - } - /** - * Bootstrap the application for artisan commands. - * - * @return void - * @static - */ public static function bootstrap() - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - $instance->bootstrap(); - } - /** - * Bootstrap the application without booting service providers. - * - * @return void - * @static - */ public static function bootstrapWithoutBootingProviders() - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - $instance->bootstrapWithoutBootingProviders(); - } - /** - * Set the Artisan application instance. - * - * @param \Illuminate\Console\Application|null $artisan - * @return void - * @static - */ public static function setArtisan($artisan) - { //Method inherited from \Illuminate\Foundation\Console\Kernel - /** @var \App\Console\Kernel $instance */ - $instance->setArtisan($artisan); - } - } - /** - * - * - * @see \Illuminate\Auth\AuthManager - * @see \Illuminate\Auth\SessionGuard - */ class Auth { - /** - * Attempt to get the guard from the local cache. - * - * @param string|null $name - * @return \Illuminate\Contracts\Auth\Guard|\Illuminate\Contracts\Auth\StatefulGuard - * @static - */ public static function guard($name = null) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->guard($name); - } - /** - * Create a session based authentication guard. - * - * @param string $name - * @param array $config - * @return \Illuminate\Auth\SessionGuard - * @static - */ public static function createSessionDriver($name, $config) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->createSessionDriver($name, $config); - } - /** - * Create a token based authentication guard. - * - * @param string $name - * @param array $config - * @return \Illuminate\Auth\TokenGuard - * @static - */ public static function createTokenDriver($name, $config) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->createTokenDriver($name, $config); - } - /** - * Get the default authentication driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default guard driver the factory should serve. - * - * @param string $name - * @return void - * @static - */ public static function shouldUse($name) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - $instance->shouldUse($name); - } - /** - * Set the default authentication driver name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Register a new callback based request guard. - * - * @param string $driver - * @param callable $callback - * @return \Illuminate\Auth\AuthManager - * @static - */ public static function viaRequest($driver, $callback) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->viaRequest($driver, $callback); - } - /** - * Get the user resolver callback. - * - * @return \Closure - * @static - */ public static function userResolver() - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->userResolver(); - } - /** - * Set the callback to be used to resolve users. - * - * @param \Closure $userResolver - * @return \Illuminate\Auth\AuthManager - * @static - */ public static function resolveUsersUsing($userResolver) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->resolveUsersUsing($userResolver); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Auth\AuthManager - * @static - */ public static function extend($driver, $callback) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Register a custom provider creator Closure. - * - * @param string $name - * @param \Closure $callback - * @return \Illuminate\Auth\AuthManager - * @static - */ public static function provider($name, $callback) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->provider($name, $callback); - } - /** - * Determines if any guards have already been resolved. - * - * @return bool - * @static - */ public static function hasResolvedGuards() - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->hasResolvedGuards(); - } - /** - * Forget all of the resolved guard instances. - * - * @return \Illuminate\Auth\AuthManager - * @static - */ public static function forgetGuards() - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->forgetGuards(); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Auth\AuthManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->setApplication($app); - } - /** - * Create the user provider implementation for the driver. - * - * @param string|null $provider - * @return \Illuminate\Contracts\Auth\UserProvider|null - * @throws \InvalidArgumentException - * @static - */ public static function createUserProvider($provider = null) - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->createUserProvider($provider); - } - /** - * Get the default user provider name. - * - * @return string - * @static - */ public static function getDefaultUserProvider() - { - /** @var \Illuminate\Auth\AuthManager $instance */ - return $instance->getDefaultUserProvider(); - } - /** - * Get the currently authenticated user. - * - * @return \App\Models\User|null - * @static - */ public static function user() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->user(); - } - /** - * Get the ID for the currently authenticated user. - * - * @return int|string|null - * @static - */ public static function id() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->id(); - } - /** - * Log a user into the application without sessions or cookies. - * - * @param array $credentials - * @return bool - * @static - */ public static function once($credentials = []) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->once($credentials); - } - /** - * Log the given user ID into the application without sessions or cookies. - * - * @param mixed $id - * @return \App\Models\User|false - * @static - */ public static function onceUsingId($id) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->onceUsingId($id); - } - /** - * Validate a user's credentials. - * - * @param array $credentials - * @return bool - * @static - */ public static function validate($credentials = []) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->validate($credentials); - } - /** - * Attempt to authenticate using HTTP Basic Auth. - * - * @param string $field - * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException - * @static - */ public static function basic($field = 'email', $extraConditions = []) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->basic($field, $extraConditions); - } - /** - * Perform a stateless HTTP Basic login attempt. - * - * @param string $field - * @param array $extraConditions - * @return \Symfony\Component\HttpFoundation\Response|null - * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException - * @static - */ public static function onceBasic($field = 'email', $extraConditions = []) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->onceBasic($field, $extraConditions); - } - /** - * Attempt to authenticate a user using the given credentials. - * - * @param array $credentials - * @param bool $remember - * @return bool - * @static - */ public static function attempt($credentials = [], $remember = false) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->attempt($credentials, $remember); - } - /** - * Attempt to authenticate a user with credentials and additional callbacks. - * - * @param array $credentials - * @param array|callable|null $callbacks - * @param bool $remember - * @return bool - * @static - */ public static function attemptWhen($credentials = [], $callbacks = null, $remember = false) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->attemptWhen($credentials, $callbacks, $remember); - } - /** - * Log the given user ID into the application. - * - * @param mixed $id - * @param bool $remember - * @return \App\Models\User|false - * @static - */ public static function loginUsingId($id, $remember = false) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->loginUsingId($id, $remember); - } - /** - * Log a user into the application. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @param bool $remember - * @return void - * @static - */ public static function login($user, $remember = false) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->login($user, $remember); - } - /** - * Log the user out of the application. - * - * @return void - * @static - */ public static function logout() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->logout(); - } - /** - * Log the user out of the application on their current device only. - * - * This method does not cycle the "remember" token. - * - * @return void - * @static - */ public static function logoutCurrentDevice() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->logoutCurrentDevice(); - } - /** - * Invalidate other sessions for the current user. - * - * The application must be using the AuthenticateSession middleware. - * - * @param string $password - * @param string $attribute - * @return \App\Models\User|null - * @throws \Illuminate\Auth\AuthenticationException - * @static - */ public static function logoutOtherDevices($password, $attribute = 'password') - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->logoutOtherDevices($password, $attribute); - } - /** - * Register an authentication attempt event listener. - * - * @param mixed $callback - * @return void - * @static - */ public static function attempting($callback) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->attempting($callback); - } - /** - * Get the last user we attempted to authenticate. - * - * @return \App\Models\User - * @static - */ public static function getLastAttempted() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getLastAttempted(); - } - /** - * Get a unique identifier for the auth session value. - * - * @return string - * @static - */ public static function getName() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getName(); - } - /** - * Get the name of the cookie used to store the "recaller". - * - * @return string - * @static - */ public static function getRecallerName() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getRecallerName(); - } - /** - * Determine if the user was authenticated via "remember me" cookie. - * - * @return bool - * @static - */ public static function viaRemember() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->viaRemember(); - } - /** - * Set the number of minutes the remember me cookie should be valid for. - * - * @param int $minutes - * @return \Illuminate\Auth\SessionGuard - * @static - */ public static function setRememberDuration($minutes) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->setRememberDuration($minutes); - } - /** - * Get the cookie creator instance used by the guard. - * - * @return \Illuminate\Contracts\Cookie\QueueingFactory - * @throws \RuntimeException - * @static - */ public static function getCookieJar() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getCookieJar(); - } - /** - * Set the cookie creator instance used by the guard. - * - * @param \Illuminate\Contracts\Cookie\QueueingFactory $cookie - * @return void - * @static - */ public static function setCookieJar($cookie) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->setCookieJar($cookie); - } - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static - */ public static function getDispatcher() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getDispatcher(); - } - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static - */ public static function setDispatcher($events) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->setDispatcher($events); - } - /** - * Get the session store used by the guard. - * - * @return \Illuminate\Contracts\Session\Session - * @static - */ public static function getSession() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getSession(); - } - /** - * Return the currently cached user. - * - * @return \App\Models\User|null - * @static - */ public static function getUser() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getUser(); - } - /** - * Set the current user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable $user - * @return \Illuminate\Auth\SessionGuard - * @static - */ public static function setUser($user) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->setUser($user); - } - /** - * Get the current request instance. - * - * @return \Symfony\Component\HttpFoundation\Request - * @static - */ public static function getRequest() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getRequest(); - } - /** - * Set the current request instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return \Illuminate\Auth\SessionGuard - * @static - */ public static function setRequest($request) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->setRequest($request); - } - /** - * Get the timebox instance used by the guard. - * - * @return \Illuminate\Support\Timebox - * @static - */ public static function getTimebox() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getTimebox(); - } - /** - * Determine if the current user is authenticated. If not, throw an exception. - * - * @return \App\Models\User - * @throws \Illuminate\Auth\AuthenticationException - * @static - */ public static function authenticate() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->authenticate(); - } - /** - * Determine if the guard has a user instance. - * - * @return bool - * @static - */ public static function hasUser() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->hasUser(); - } - /** - * Determine if the current user is authenticated. - * - * @return bool - * @static - */ public static function check() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->check(); - } - /** - * Determine if the current user is a guest. - * - * @return bool - * @static - */ public static function guest() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->guest(); - } - /** - * Forget the current user. - * - * @return \Illuminate\Auth\SessionGuard - * @static - */ public static function forgetUser() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->forgetUser(); - } - /** - * Get the user provider used by the guard. - * - * @return \Illuminate\Contracts\Auth\UserProvider - * @static - */ public static function getProvider() - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - return $instance->getProvider(); - } - /** - * Set the user provider used by the guard. - * - * @param \Illuminate\Contracts\Auth\UserProvider $provider - * @return void - * @static - */ public static function setProvider($provider) - { - /** @var \Illuminate\Auth\SessionGuard $instance */ - $instance->setProvider($provider); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Auth\SessionGuard::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Auth\SessionGuard::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Auth\SessionGuard::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Auth\SessionGuard::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\View\Compilers\BladeCompiler - */ class Blade { - /** - * Compile the view at the given path. - * - * @param string|null $path - * @return void - * @static - */ public static function compile($path = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->compile($path); - } - /** - * Get the path currently being compiled. - * - * @return string - * @static - */ public static function getPath() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getPath(); - } - /** - * Set the path currently being compiled. - * - * @param string $path - * @return void - * @static - */ public static function setPath($path) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->setPath($path); - } - /** - * Compile the given Blade template contents. - * - * @param string $value - * @return string - * @static - */ public static function compileString($value) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->compileString($value); - } - /** - * Evaluate and render a Blade string to HTML. - * - * @param string $string - * @param array $data - * @param bool $deleteCachedView - * @return string - * @static - */ public static function render($string, $data = [], $deleteCachedView = false) - { - return \Illuminate\View\Compilers\BladeCompiler::render($string, $data, $deleteCachedView); - } - /** - * Render a component instance to HTML. - * - * @param \Illuminate\View\Component $component - * @return string - * @static - */ public static function renderComponent($component) - { - return \Illuminate\View\Compilers\BladeCompiler::renderComponent($component); - } - /** - * Strip the parentheses from the given expression. - * - * @param string $expression - * @return string - * @static - */ public static function stripParentheses($expression) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->stripParentheses($expression); - } - /** - * Register a custom Blade compiler. - * - * @param callable $compiler - * @return void - * @static - */ public static function extend($compiler) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->extend($compiler); - } - /** - * Get the extensions used by the compiler. - * - * @return array - * @static - */ public static function getExtensions() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getExtensions(); - } - /** - * Register an "if" statement directive. - * - * @param string $name - * @param callable $callback - * @return void - * @static - */ public static function if($name, $callback) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->if($name, $callback); - } - /** - * Check the result of a condition. - * - * @param string $name - * @param mixed $parameters - * @return bool - * @static - */ public static function check($name, ...$parameters) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->check($name, ...$parameters); - } - /** - * Register a class-based component alias directive. - * - * @param string $class - * @param string|null $alias - * @param string $prefix - * @return void - * @static - */ public static function component($class, $alias = null, $prefix = '') - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->component($class, $alias, $prefix); - } - /** - * Register an array of class-based components. - * - * @param array $components - * @param string $prefix - * @return void - * @static - */ public static function components($components, $prefix = '') - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->components($components, $prefix); - } - /** - * Get the registered class component aliases. - * - * @return array - * @static - */ public static function getClassComponentAliases() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getClassComponentAliases(); - } - /** - * Register a new anonymous component path. - * - * @param string $path - * @param string|null $prefix - * @return void - * @static - */ public static function anonymousComponentPath($path, $prefix = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->anonymousComponentPath($path, $prefix); - } - /** - * Register an anonymous component namespace. - * - * @param string $directory - * @param string|null $prefix - * @return void - * @static - */ public static function anonymousComponentNamespace($directory, $prefix = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->anonymousComponentNamespace($directory, $prefix); - } - /** - * Register a class-based component namespace. - * - * @param string $namespace - * @param string $prefix - * @return void - * @static - */ public static function componentNamespace($namespace, $prefix) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->componentNamespace($namespace, $prefix); - } - /** - * Get the registered anonymous component paths. - * - * @return array - * @static - */ public static function getAnonymousComponentPaths() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getAnonymousComponentPaths(); - } - /** - * Get the registered anonymous component namespaces. - * - * @return array - * @static - */ public static function getAnonymousComponentNamespaces() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getAnonymousComponentNamespaces(); - } - /** - * Get the registered class component namespaces. - * - * @return array - * @static - */ public static function getClassComponentNamespaces() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getClassComponentNamespaces(); - } - /** - * Register a component alias directive. - * - * @param string $path - * @param string|null $alias - * @return void - * @static - */ public static function aliasComponent($path, $alias = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->aliasComponent($path, $alias); - } - /** - * Register an include alias directive. - * - * @param string $path - * @param string|null $alias - * @return void - * @static - */ public static function include($path, $alias = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->include($path, $alias); - } - /** - * Register an include alias directive. - * - * @param string $path - * @param string|null $alias - * @return void - * @static - */ public static function aliasInclude($path, $alias = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->aliasInclude($path, $alias); - } - /** - * Register a handler for custom directives. - * - * @param string $name - * @param callable $handler - * @return void - * @throws \InvalidArgumentException - * @static - */ public static function directive($name, $handler) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->directive($name, $handler); - } - /** - * Get the list of custom directives. - * - * @return array - * @static - */ public static function getCustomDirectives() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getCustomDirectives(); - } - /** - * Indicate that the following callable should be used to prepare strings for compilation. - * - * @param callable $callback - * @return \Illuminate\View\Compilers\BladeCompiler - * @static - */ public static function prepareStringsForCompilationUsing($callback) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->prepareStringsForCompilationUsing($callback); - } - /** - * Register a new precompiler. - * - * @param callable $precompiler - * @return void - * @static - */ public static function precompiler($precompiler) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->precompiler($precompiler); - } - /** - * Set the echo format to be used by the compiler. - * - * @param string $format - * @return void - * @static - */ public static function setEchoFormat($format) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->setEchoFormat($format); - } - /** - * Set the "echo" format to double encode entities. - * - * @return void - * @static - */ public static function withDoubleEncoding() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->withDoubleEncoding(); - } - /** - * Set the "echo" format to not double encode entities. - * - * @return void - * @static - */ public static function withoutDoubleEncoding() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->withoutDoubleEncoding(); - } - /** - * Indicate that component tags should not be compiled. - * - * @return void - * @static - */ public static function withoutComponentTags() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->withoutComponentTags(); - } - /** - * Get the path to the compiled version of a view. - * - * @param string $path - * @return string - * @static - */ public static function getCompiledPath($path) - { //Method inherited from \Illuminate\View\Compilers\Compiler - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->getCompiledPath($path); - } - /** - * Determine if the view at the given path is expired. - * - * @param string $path - * @return bool - * @throws \ErrorException - * @static - */ public static function isExpired($path) - { //Method inherited from \Illuminate\View\Compilers\Compiler - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->isExpired($path); - } - /** - * Get a new component hash for a component name. - * - * @param string $component - * @return string - * @static - */ public static function newComponentHash($component) - { - return \Illuminate\View\Compilers\BladeCompiler::newComponentHash($component); - } - /** - * Compile a class component opening. - * - * @param string $component - * @param string $alias - * @param string $data - * @param string $hash - * @return string - * @static - */ public static function compileClassComponentOpening($component, $alias, $data, $hash) - { - return \Illuminate\View\Compilers\BladeCompiler::compileClassComponentOpening($component, $alias, $data, $hash); - } - /** - * Compile the end-component statements into valid PHP. - * - * @return string - * @static - */ public static function compileEndComponentClass() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->compileEndComponentClass(); - } - /** - * Sanitize the given component attribute value. - * - * @param mixed $value - * @return mixed - * @static - */ public static function sanitizeComponentAttribute($value) - { - return \Illuminate\View\Compilers\BladeCompiler::sanitizeComponentAttribute($value); - } - /** - * Compile an end-once block into valid PHP. - * - * @return string - * @static - */ public static function compileEndOnce() - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->compileEndOnce(); - } - /** - * Add a handler to be executed before echoing a given class. - * - * @param string|callable $class - * @param callable|null $handler - * @return void - * @static - */ public static function stringable($class, $handler = null) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - $instance->stringable($class, $handler); - } - /** - * Compile Blade echos into valid PHP. - * - * @param string $value - * @return string - * @static - */ public static function compileEchos($value) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->compileEchos($value); - } - /** - * Apply the echo handler for the value if it exists. - * - * @param string $value - * @return string - * @static - */ public static function applyEchoHandler($value) - { - /** @var \Illuminate\View\Compilers\BladeCompiler $instance */ - return $instance->applyEchoHandler($value); - } - } - /** - * - * - * @method static mixed auth(\Illuminate\Http\Request $request) - * @method static mixed validAuthenticationResponse(\Illuminate\Http\Request $request, mixed $result) - * @method static void broadcast(array $channels, string $event, array $payload = []) - * @method static array|null resolveAuthenticatedUser(\Illuminate\Http\Request $request) - * @method static void resolveAuthenticatedUserUsing(\Closure $callback) - * @method static \Illuminate\Broadcasting\Broadcasters\Broadcaster channel(\Illuminate\Contracts\Broadcasting\HasBroadcastChannel|string $channel, callable|string $callback, array $options = []) - * @method static \Illuminate\Support\Collection getChannels() - * @see \Illuminate\Broadcasting\BroadcastManager - * @see \Illuminate\Broadcasting\Broadcasters\Broadcaster - */ class Broadcast { - /** - * Register the routes for handling broadcast channel authentication and sockets. - * - * @param array|null $attributes - * @return void - * @static - */ public static function routes($attributes = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - $instance->routes($attributes); - } - /** - * Register the routes for handling broadcast user authentication. - * - * @param array|null $attributes - * @return void - * @static - */ public static function userRoutes($attributes = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - $instance->userRoutes($attributes); - } - /** - * Register the routes for handling broadcast authentication and sockets. - * - * Alias of "routes" method. - * - * @param array|null $attributes - * @return void - * @static - */ public static function channelRoutes($attributes = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - $instance->channelRoutes($attributes); - } - /** - * Get the socket ID for the given request. - * - * @param \Illuminate\Http\Request|null $request - * @return string|null - * @static - */ public static function socket($request = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->socket($request); - } - /** - * Begin broadcasting an event. - * - * @param mixed|null $event - * @return \Illuminate\Broadcasting\PendingBroadcast - * @static - */ public static function event($event = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->event($event); - } - /** - * Queue the given event for broadcast. - * - * @param mixed $event - * @return void - * @static - */ public static function queue($event) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - $instance->queue($event); - } - /** - * Get a driver instance. - * - * @param string|null $driver - * @return mixed - * @static - */ public static function connection($driver = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->connection($driver); - } - /** - * Get a driver instance. - * - * @param string|null $name - * @return mixed - * @static - */ public static function driver($name = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->driver($name); - } - /** - * Get a Pusher instance for the given configuration. - * - * @param array $config - * @return \Pusher\Pusher - * @static - */ public static function pusher($config) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->pusher($config); - } - /** - * Get an Ably instance for the given configuration. - * - * @param array $config - * @return \Ably\AblyRest - * @static - */ public static function ably($config) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->ably($config); - } - /** - * Get the default driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default driver name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Disconnect the given disk and remove from local cache. - * - * @param string|null $name - * @return void - * @static - */ public static function purge($name = null) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - $instance->purge($name); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Broadcasting\BroadcastManager - * @static - */ public static function extend($driver, $callback) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Get the application instance used by the manager. - * - * @return \Illuminate\Contracts\Foundation\Application - * @static - */ public static function getApplication() - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->getApplication(); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Broadcasting\BroadcastManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->setApplication($app); - } - /** - * Forget all of the resolved driver instances. - * - * @return \Illuminate\Broadcasting\BroadcastManager - * @static - */ public static function forgetDrivers() - { - /** @var \Illuminate\Broadcasting\BroadcastManager $instance */ - return $instance->forgetDrivers(); - } - } - /** - * - * - * @see \Illuminate\Bus\Dispatcher - * @see \Illuminate\Support\Testing\Fakes\BusFake - */ class Bus { - /** - * Dispatch a command to its appropriate handler. - * - * @param mixed $command - * @return mixed - * @static - */ public static function dispatch($command) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->dispatch($command); - } - /** - * Dispatch a command to its appropriate handler in the current process. - * - * Queueable jobs will be dispatched to the "sync" queue. - * - * @param mixed $command - * @param mixed $handler - * @return mixed - * @static - */ public static function dispatchSync($command, $handler = null) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->dispatchSync($command, $handler); - } - /** - * Dispatch a command to its appropriate handler in the current process without using the synchronous queue. - * - * @param mixed $command - * @param mixed $handler - * @return mixed - * @static - */ public static function dispatchNow($command, $handler = null) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->dispatchNow($command, $handler); - } - /** - * Attempt to find the batch with the given ID. - * - * @param string $batchId - * @return \Illuminate\Bus\Batch|null - * @static - */ public static function findBatch($batchId) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->findBatch($batchId); - } - /** - * Create a new batch of queueable jobs. - * - * @param \Illuminate\Support\Collection|array|mixed $jobs - * @return \Illuminate\Bus\PendingBatch - * @static - */ public static function batch($jobs) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->batch($jobs); - } - /** - * Create a new chain of queueable jobs. - * - * @param \Illuminate\Support\Collection|array $jobs - * @return \Illuminate\Foundation\Bus\PendingChain - * @static - */ public static function chain($jobs) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->chain($jobs); - } - /** - * Determine if the given command has a handler. - * - * @param mixed $command - * @return bool - * @static - */ public static function hasCommandHandler($command) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->hasCommandHandler($command); - } - /** - * Retrieve the handler for a command. - * - * @param mixed $command - * @return bool|mixed - * @static - */ public static function getCommandHandler($command) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->getCommandHandler($command); - } - /** - * Dispatch a command to its appropriate handler behind a queue. - * - * @param mixed $command - * @return mixed - * @throws \RuntimeException - * @static - */ public static function dispatchToQueue($command) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->dispatchToQueue($command); - } - /** - * Dispatch a command to its appropriate handler after the current process. - * - * @param mixed $command - * @param mixed $handler - * @return void - * @static - */ public static function dispatchAfterResponse($command, $handler = null) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - $instance->dispatchAfterResponse($command, $handler); - } - /** - * Set the pipes through which commands should be piped before dispatching. - * - * @param array $pipes - * @return \Illuminate\Bus\Dispatcher - * @static - */ public static function pipeThrough($pipes) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->pipeThrough($pipes); - } - /** - * Map a command to a handler. - * - * @param array $map - * @return \Illuminate\Bus\Dispatcher - * @static - */ public static function map($map) - { - /** @var \Illuminate\Bus\Dispatcher $instance */ - return $instance->map($map); - } - /** - * Specify the jobs that should be dispatched instead of faked. - * - * @param array|string $jobsToDispatch - * @return \Illuminate\Support\Testing\Fakes\BusFake - * @static - */ public static function except($jobsToDispatch) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->except($jobsToDispatch); - } - /** - * Assert if a job was dispatched based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertDispatched($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatched($command, $callback); - } - /** - * Assert if a job was pushed a number of times. - * - * @param string|\Closure $command - * @param int $times - * @return void - * @static - */ public static function assertDispatchedTimes($command, $times = 1) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatchedTimes($command, $times); - } - /** - * Determine if a job was dispatched based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotDispatched($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertNotDispatched($command, $callback); - } - /** - * Assert that no jobs were dispatched. - * - * @return void - * @static - */ public static function assertNothingDispatched() - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertNothingDispatched(); - } - /** - * Assert if a job was explicitly dispatched synchronously based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertDispatchedSync($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatchedSync($command, $callback); - } - /** - * Assert if a job was pushed synchronously a number of times. - * - * @param string|\Closure $command - * @param int $times - * @return void - * @static - */ public static function assertDispatchedSyncTimes($command, $times = 1) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatchedSyncTimes($command, $times); - } - /** - * Determine if a job was dispatched based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotDispatchedSync($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertNotDispatchedSync($command, $callback); - } - /** - * Assert if a job was dispatched after the response was sent based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertDispatchedAfterResponse($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatchedAfterResponse($command, $callback); - } - /** - * Assert if a job was pushed after the response was sent a number of times. - * - * @param string|\Closure $command - * @param int $times - * @return void - * @static - */ public static function assertDispatchedAfterResponseTimes($command, $times = 1) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatchedAfterResponseTimes($command, $times); - } - /** - * Determine if a job was dispatched based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotDispatchedAfterResponse($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertNotDispatchedAfterResponse($command, $callback); - } - /** - * Assert if a chain of jobs was dispatched. - * - * @param array $expectedChain - * @return void - * @static - */ public static function assertChained($expectedChain) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertChained($expectedChain); - } - /** - * Assert if a job was dispatched with an empty chain based on a truth-test callback. - * - * @param string|\Closure $command - * @param callable|null $callback - * @return void - * @static - */ public static function assertDispatchedWithoutChain($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertDispatchedWithoutChain($command, $callback); - } - /** - * Create a new assertion about a chained batch. - * - * @param \Closure $callback - * @return \Illuminate\Support\Testing\Fakes\ChainedBatchTruthTest - * @static - */ public static function chainedBatch($callback) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->chainedBatch($callback); - } - /** - * Assert if a batch was dispatched based on a truth-test callback. - * - * @param callable $callback - * @return void - * @static - */ public static function assertBatched($callback) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertBatched($callback); - } - /** - * Assert the number of batches that have been dispatched. - * - * @param int $count - * @return void - * @static - */ public static function assertBatchCount($count) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertBatchCount($count); - } - /** - * Assert that no batched jobs were dispatched. - * - * @return void - * @static - */ public static function assertNothingBatched() - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - $instance->assertNothingBatched(); - } - /** - * Get all of the jobs matching a truth-test callback. - * - * @param string $command - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function dispatched($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->dispatched($command, $callback); - } - /** - * Get all of the jobs dispatched synchronously matching a truth-test callback. - * - * @param string $command - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function dispatchedSync($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->dispatchedSync($command, $callback); - } - /** - * Get all of the jobs dispatched after the response was sent matching a truth-test callback. - * - * @param string $command - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function dispatchedAfterResponse($command, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->dispatchedAfterResponse($command, $callback); - } - /** - * Get all of the pending batches matching a truth-test callback. - * - * @param callable $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function batched($callback) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->batched($callback); - } - /** - * Determine if there are any stored commands for a given class. - * - * @param string $command - * @return bool - * @static - */ public static function hasDispatched($command) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->hasDispatched($command); - } - /** - * Determine if there are any stored commands for a given class. - * - * @param string $command - * @return bool - * @static - */ public static function hasDispatchedSync($command) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->hasDispatchedSync($command); - } - /** - * Determine if there are any stored commands for a given class. - * - * @param string $command - * @return bool - * @static - */ public static function hasDispatchedAfterResponse($command) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->hasDispatchedAfterResponse($command); - } - /** - * Dispatch an empty job batch for testing. - * - * @param string $name - * @return \Illuminate\Bus\Batch - * @static - */ public static function dispatchFakeBatch($name = '') - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->dispatchFakeBatch($name); - } - /** - * Record the fake pending batch dispatch. - * - * @param \Illuminate\Bus\PendingBatch $pendingBatch - * @return \Illuminate\Bus\Batch - * @static - */ public static function recordPendingBatch($pendingBatch) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->recordPendingBatch($pendingBatch); - } - /** - * Specify if commands should be serialized and restored when being batched. - * - * @param bool $serializeAndRestore - * @return \Illuminate\Support\Testing\Fakes\BusFake - * @static - */ public static function serializeAndRestore($serializeAndRestore = true) - { - /** @var \Illuminate\Support\Testing\Fakes\BusFake $instance */ - return $instance->serializeAndRestore($serializeAndRestore); - } - } - /** - * - * - * @see \Illuminate\Cache\CacheManager - * @mixin \Illuminate\Cache\Repository - */ class Cache { - /** - * Get a cache store instance by name, wrapped in a repository. - * - * @param string|null $name - * @return \Illuminate\Contracts\Cache\Repository - * @static - */ public static function store($name = null) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->store($name); - } - /** - * Get a cache driver instance. - * - * @param string|null $driver - * @return \Illuminate\Contracts\Cache\Repository - * @static - */ public static function driver($driver = null) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->driver($driver); - } - /** - * Resolve the given store. - * - * @param string $name - * @return \Illuminate\Contracts\Cache\Repository - * @throws \InvalidArgumentException - * @static - */ public static function resolve($name) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->resolve($name); - } - /** - * Create a new cache repository with the given implementation. - * - * @param \Illuminate\Contracts\Cache\Store $store - * @return \Illuminate\Cache\Repository - * @static - */ public static function repository($store) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->repository($store); - } - /** - * Re-set the event dispatcher on all resolved cache repositories. - * - * @return void - * @static - */ public static function refreshEventDispatcher() - { - /** @var \Illuminate\Cache\CacheManager $instance */ - $instance->refreshEventDispatcher(); - } - /** - * Get the default cache driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default cache driver name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Unset the given driver instances. - * - * @param array|string|null $name - * @return \Illuminate\Cache\CacheManager - * @static - */ public static function forgetDriver($name = null) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->forgetDriver($name); - } - /** - * Disconnect the given driver and remove from local cache. - * - * @param string|null $name - * @return void - * @static - */ public static function purge($name = null) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - $instance->purge($name); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Cache\CacheManager - * @static - */ public static function extend($driver, $callback) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Cache\CacheManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Cache\CacheManager $instance */ - return $instance->setApplication($app); - } - /** - * Determine if an item exists in the cache. - * - * @param array|string $key - * @return bool - * @static - */ public static function has($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->has($key); - } - /** - * Determine if an item doesn't exist in the cache. - * - * @param string $key - * @return bool - * @static - */ public static function missing($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->missing($key); - } - /** - * Retrieve an item from the cache by key. - * - * @template TCacheValue - * @param array|string $key - * @param \Illuminate\Cache\TCacheValue|\Illuminate\Cache\(\Closure(): TCacheValue) $default - * @return \Illuminate\Cache\(TCacheValue is null ? mixed : TCacheValue) - * @static - */ public static function get($key, $default = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->get($key, $default); - } - /** - * Retrieve multiple items from the cache by key. - * - * Items not found in the cache will have a null value. - * - * @param array $keys - * @return array - * @static - */ public static function many($keys) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->many($keys); - } - /** - * Obtains multiple cache items by their unique keys. - * - * @return \Illuminate\Cache\iterable - * @param \Psr\SimpleCache\iterable $keys A list of keys that can be obtained in a single operation. - * @param mixed $default Default value to return for keys that do not exist. - * @return \Psr\SimpleCache\iterable A list of key => value pairs. Cache keys that do not exist or are stale will have $default as value. - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if $keys is neither an array nor a Traversable, - * or if any of the $keys are not a legal value. - * @static - */ public static function getMultiple($keys, $default = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->getMultiple($keys, $default); - } - /** - * Retrieve an item from the cache and delete it. - * - * @template TCacheValue - * @param array|string $key - * @param \Illuminate\Cache\TCacheValue|\Illuminate\Cache\(\Closure(): TCacheValue) $default - * @return \Illuminate\Cache\(TCacheValue is null ? mixed : TCacheValue) - * @static - */ public static function pull($key, $default = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->pull($key, $default); - } - /** - * Store an item in the cache. - * - * @param array|string $key - * @param mixed $value - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @return bool - * @static - */ public static function put($key, $value, $ttl = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->put($key, $value, $ttl); - } - /** - * Persists data in the cache, uniquely referenced by a key with an optional expiration TTL time. - * - * @return bool - * @param string $key The key of the item to store. - * @param mixed $value The value of the item to store, must be serializable. - * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and - * the driver supports TTL then the library may set a default value - * for it or let the driver take care of that. - * @return bool True on success and false on failure. - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if the $key string is not a legal value. - * @static - */ public static function set($key, $value, $ttl = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->set($key, $value, $ttl); - } - /** - * Store multiple items in the cache for a given number of seconds. - * - * @param array $values - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @return bool - * @static - */ public static function putMany($values, $ttl = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->putMany($values, $ttl); - } - /** - * Persists a set of key => value pairs in the cache, with an optional TTL. - * - * @return bool - * @param \Psr\SimpleCache\iterable $values A list of key => value pairs for a multiple-set operation. - * @param null|int|\DateInterval $ttl Optional. The TTL value of this item. If no value is sent and - * the driver supports TTL then the library may set a default value - * for it or let the driver take care of that. - * @return bool True on success and false on failure. - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if $values is neither an array nor a Traversable, - * or if any of the $values are not a legal value. - * @static - */ public static function setMultiple($values, $ttl = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->setMultiple($values, $ttl); - } - /** - * Store an item in the cache if the key does not exist. - * - * @param string $key - * @param mixed $value - * @param \DateTimeInterface|\DateInterval|int|null $ttl - * @return bool - * @static - */ public static function add($key, $value, $ttl = null) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->add($key, $value, $ttl); - } - /** - * Increment the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - * @static - */ public static function increment($key, $value = 1) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->increment($key, $value); - } - /** - * Decrement the value of an item in the cache. - * - * @param string $key - * @param mixed $value - * @return int|bool - * @static - */ public static function decrement($key, $value = 1) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->decrement($key, $value); - } - /** - * Store an item in the cache indefinitely. - * - * @param string $key - * @param mixed $value - * @return bool - * @static - */ public static function forever($key, $value) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->forever($key, $value); - } - /** - * Get an item from the cache, or execute the given Closure and store the result. - * - * @template TCacheValue - * @param string $key - * @param \Closure|\DateTimeInterface|\DateInterval|int|null $ttl - * @param \Closure(): TCacheValue $callback - * @return \Illuminate\Cache\TCacheValue - * @static - */ public static function remember($key, $ttl, $callback) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->remember($key, $ttl, $callback); - } - /** - * Get an item from the cache, or execute the given Closure and store the result forever. - * - * @template TCacheValue - * @param string $key - * @param \Closure(): TCacheValue $callback - * @return \Illuminate\Cache\TCacheValue - * @static - */ public static function sear($key, $callback) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->sear($key, $callback); - } - /** - * Get an item from the cache, or execute the given Closure and store the result forever. - * - * @template TCacheValue - * @param string $key - * @param \Closure(): TCacheValue $callback - * @return \Illuminate\Cache\TCacheValue - * @static - */ public static function rememberForever($key, $callback) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->rememberForever($key, $callback); - } - /** - * Remove an item from the cache. - * - * @param string $key - * @return bool - * @static - */ public static function forget($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->forget($key); - } - /** - * Delete an item from the cache by its unique key. - * - * @return bool - * @param string $key The unique cache key of the item to delete. - * @return bool True if the item was successfully removed. False if there was an error. - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if the $key string is not a legal value. - * @static - */ public static function delete($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->delete($key); - } - /** - * Deletes multiple cache items in a single operation. - * - * @return bool - * @param \Psr\SimpleCache\iterable $keys A list of string-based keys to be deleted. - * @return bool True if the items were successfully removed. False if there was an error. - * @throws \Psr\SimpleCache\InvalidArgumentException - * MUST be thrown if $keys is neither an array nor a Traversable, - * or if any of the $keys are not a legal value. - * @static - */ public static function deleteMultiple($keys) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->deleteMultiple($keys); - } - /** - * Wipes clean the entire cache's keys. - * - * @return bool - * @return bool True on success and false on failure. - * @static - */ public static function clear() - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->clear(); - } - /** - * Begin executing a new tags operation if the store supports it. - * - * @param array|mixed $names - * @return \Illuminate\Cache\TaggedCache - * @throws \BadMethodCallException - * @static - */ public static function tags($names) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->tags($names); - } - /** - * Determine if the current store supports tags. - * - * @return bool - * @static - */ public static function supportsTags() - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->supportsTags(); - } - /** - * Get the default cache time. - * - * @return int|null - * @static - */ public static function getDefaultCacheTime() - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->getDefaultCacheTime(); - } - /** - * Set the default cache time in seconds. - * - * @param int|null $seconds - * @return \Illuminate\Cache\Repository - * @static - */ public static function setDefaultCacheTime($seconds) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->setDefaultCacheTime($seconds); - } - /** - * Get the cache store implementation. - * - * @return \Illuminate\Contracts\Cache\Store - * @static - */ public static function getStore() - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->getStore(); - } - /** - * Set the cache store implementation. - * - * @param \Illuminate\Contracts\Cache\Store $store - * @return static - * @static - */ public static function setStore($store) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->setStore($store); - } - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static - */ public static function getEventDispatcher() - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->getEventDispatcher(); - } - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static - */ public static function setEventDispatcher($events) - { - /** @var \Illuminate\Cache\Repository $instance */ - $instance->setEventDispatcher($events); - } - /** - * Determine if a cached value exists. - * - * @param string $key - * @return bool - * @static - */ public static function offsetExists($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->offsetExists($key); - } - /** - * Retrieve an item from the cache by key. - * - * @param string $key - * @return mixed - * @static - */ public static function offsetGet($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->offsetGet($key); - } - /** - * Store an item in the cache for the default time. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function offsetSet($key, $value) - { - /** @var \Illuminate\Cache\Repository $instance */ - $instance->offsetSet($key, $value); - } - /** - * Remove an item from the cache. - * - * @param string $key - * @return void - * @static - */ public static function offsetUnset($key) - { - /** @var \Illuminate\Cache\Repository $instance */ - $instance->offsetUnset($key); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Cache\Repository::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Cache\Repository::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Cache\Repository::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Cache\Repository::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Cache\Repository $instance */ - return $instance->macroCall($method, $parameters); - } - /** - * Get a lock instance. - * - * @param string $name - * @param int $seconds - * @param string|null $owner - * @return \Illuminate\Contracts\Cache\Lock - * @static - */ public static function lock($name, $seconds = 0, $owner = null) - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->lock($name, $seconds, $owner); - } - /** - * Restore a lock instance using the owner identifier. - * - * @param string $name - * @param string $owner - * @return \Illuminate\Contracts\Cache\Lock - * @static - */ public static function restoreLock($name, $owner) - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->restoreLock($name, $owner); - } - /** - * Remove an item from the cache if it is expired. - * - * @param string $key - * @return bool - * @static - */ public static function forgetIfExpired($key) - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->forgetIfExpired($key); - } - /** - * Remove all items from the cache. - * - * @return bool - * @static - */ public static function flush() - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->flush(); - } - /** - * Get the underlying database connection. - * - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function getConnection() - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->getConnection(); - } - /** - * Specify the name of the connection that should be used to manage locks. - * - * @param \Illuminate\Database\ConnectionInterface $connection - * @return \Illuminate\Cache\DatabaseStore - * @static - */ public static function setLockConnection($connection) - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->setLockConnection($connection); - } - /** - * Get the cache key prefix. - * - * @return string - * @static - */ public static function getPrefix() - { - /** @var \Illuminate\Cache\DatabaseStore $instance */ - return $instance->getPrefix(); - } - } - /** - * - * - * @see \Illuminate\Config\Repository - */ class Config { - /** - * Determine if the given configuration value exists. - * - * @param string $key - * @return bool - * @static - */ public static function has($key) - { - /** @var \Illuminate\Config\Repository $instance */ - return $instance->has($key); - } - /** - * Get the specified configuration value. - * - * @param array|string $key - * @param mixed $default - * @return mixed - * @static - */ public static function get($key, $default = null) - { - /** @var \Illuminate\Config\Repository $instance */ - return $instance->get($key, $default); - } - /** - * Get many configuration values. - * - * @param array $keys - * @return array - * @static - */ public static function getMany($keys) - { - /** @var \Illuminate\Config\Repository $instance */ - return $instance->getMany($keys); - } - /** - * Set a given configuration value. - * - * @param array|string $key - * @param mixed $value - * @return void - * @static - */ public static function set($key, $value = null) - { - /** @var \Illuminate\Config\Repository $instance */ - $instance->set($key, $value); - } - /** - * Prepend a value onto an array configuration value. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function prepend($key, $value) - { - /** @var \Illuminate\Config\Repository $instance */ - $instance->prepend($key, $value); - } - /** - * Push a value onto an array configuration value. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function push($key, $value) - { - /** @var \Illuminate\Config\Repository $instance */ - $instance->push($key, $value); - } - /** - * Get all of the configuration items for the application. - * - * @return array - * @static - */ public static function all() - { - /** @var \Illuminate\Config\Repository $instance */ - return $instance->all(); - } - /** - * Determine if the given configuration option exists. - * - * @param string $key - * @return bool - * @static - */ public static function offsetExists($key) - { - /** @var \Illuminate\Config\Repository $instance */ - return $instance->offsetExists($key); - } - /** - * Get a configuration option. - * - * @param string $key - * @return mixed - * @static - */ public static function offsetGet($key) - { - /** @var \Illuminate\Config\Repository $instance */ - return $instance->offsetGet($key); - } - /** - * Set a configuration option. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function offsetSet($key, $value) - { - /** @var \Illuminate\Config\Repository $instance */ - $instance->offsetSet($key, $value); - } - /** - * Unset a configuration option. - * - * @param string $key - * @return void - * @static - */ public static function offsetUnset($key) - { - /** @var \Illuminate\Config\Repository $instance */ - $instance->offsetUnset($key); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Config\Repository::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Config\Repository::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Config\Repository::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Config\Repository::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Cookie\CookieJar - */ class Cookie { - /** - * Create a new cookie instance. - * - * @param string $name - * @param string $value - * @param int $minutes - * @param string|null $path - * @param string|null $domain - * @param bool|null $secure - * @param bool $httpOnly - * @param bool $raw - * @param string|null $sameSite - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->make($name, $value, $minutes, $path, $domain, $secure, $httpOnly, $raw, $sameSite); - } - /** - * Create a cookie that lasts "forever" (400 days). - * - * @param string $name - * @param string $value - * @param string|null $path - * @param string|null $domain - * @param bool|null $secure - * @param bool $httpOnly - * @param bool $raw - * @param string|null $sameSite - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ public static function forever($name, $value, $path = null, $domain = null, $secure = null, $httpOnly = true, $raw = false, $sameSite = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->forever($name, $value, $path, $domain, $secure, $httpOnly, $raw, $sameSite); - } - /** - * Expire the given cookie. - * - * @param string $name - * @param string|null $path - * @param string|null $domain - * @return \Symfony\Component\HttpFoundation\Cookie - * @static - */ public static function forget($name, $path = null, $domain = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->forget($name, $path, $domain); - } - /** - * Determine if a cookie has been queued. - * - * @param string $key - * @param string|null $path - * @return bool - * @static - */ public static function hasQueued($key, $path = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->hasQueued($key, $path); - } - /** - * Get a queued cookie instance. - * - * @param string $key - * @param mixed $default - * @param string|null $path - * @return \Symfony\Component\HttpFoundation\Cookie|null - * @static - */ public static function queued($key, $default = null, $path = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->queued($key, $default, $path); - } - /** - * Queue a cookie to send with the next response. - * - * @param mixed $parameters - * @return void - * @static - */ public static function queue(...$parameters) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - $instance->queue(...$parameters); - } - /** - * Queue a cookie to expire with the next response. - * - * @param string $name - * @param string|null $path - * @param string|null $domain - * @return void - * @static - */ public static function expire($name, $path = null, $domain = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - $instance->expire($name, $path, $domain); - } - /** - * Remove a cookie from the queue. - * - * @param string $name - * @param string|null $path - * @return void - * @static - */ public static function unqueue($name, $path = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - $instance->unqueue($name, $path); - } - /** - * Set the default path and domain for the jar. - * - * @param string $path - * @param string|null $domain - * @param bool|null $secure - * @param string|null $sameSite - * @return \Illuminate\Cookie\CookieJar - * @static - */ public static function setDefaultPathAndDomain($path, $domain, $secure = false, $sameSite = null) - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->setDefaultPathAndDomain($path, $domain, $secure, $sameSite); - } - /** - * Get the cookies which have been queued for the next request. - * - * @return \Symfony\Component\HttpFoundation\Cookie[] - * @static - */ public static function getQueuedCookies() - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->getQueuedCookies(); - } - /** - * Flush the cookies which have been queued for the next request. - * - * @return \Illuminate\Cookie\CookieJar - * @static - */ public static function flushQueuedCookies() - { - /** @var \Illuminate\Cookie\CookieJar $instance */ - return $instance->flushQueuedCookies(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Cookie\CookieJar::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Cookie\CookieJar::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Cookie\CookieJar::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Cookie\CookieJar::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Encryption\Encrypter - */ class Crypt { - /** - * Determine if the given key and cipher combination is valid. - * - * @param string $key - * @param string $cipher - * @return bool - * @static - */ public static function supported($key, $cipher) - { - return \Illuminate\Encryption\Encrypter::supported($key, $cipher); - } - /** - * Create a new encryption key for the given cipher. - * - * @param string $cipher - * @return string - * @static - */ public static function generateKey($cipher) - { - return \Illuminate\Encryption\Encrypter::generateKey($cipher); - } - /** - * Encrypt the given value. - * - * @param mixed $value - * @param bool $serialize - * @return string - * @throws \Illuminate\Contracts\Encryption\EncryptException - * @static - */ public static function encrypt($value, $serialize = true) - { - /** @var \Illuminate\Encryption\Encrypter $instance */ - return $instance->encrypt($value, $serialize); - } - /** - * Encrypt a string without serialization. - * - * @param string $value - * @return string - * @throws \Illuminate\Contracts\Encryption\EncryptException - * @static - */ public static function encryptString($value) - { - /** @var \Illuminate\Encryption\Encrypter $instance */ - return $instance->encryptString($value); - } - /** - * Decrypt the given value. - * - * @param string $payload - * @param bool $unserialize - * @return mixed - * @throws \Illuminate\Contracts\Encryption\DecryptException - * @static - */ public static function decrypt($payload, $unserialize = true) - { - /** @var \Illuminate\Encryption\Encrypter $instance */ - return $instance->decrypt($payload, $unserialize); - } - /** - * Decrypt the given string without unserialization. - * - * @param string $payload - * @return string - * @throws \Illuminate\Contracts\Encryption\DecryptException - * @static - */ public static function decryptString($payload) - { - /** @var \Illuminate\Encryption\Encrypter $instance */ - return $instance->decryptString($payload); - } - /** - * Get the encryption key that the encrypter is currently using. - * - * @return string - * @static - */ public static function getKey() - { - /** @var \Illuminate\Encryption\Encrypter $instance */ - return $instance->getKey(); - } - } - /** - * - * - * @see https://carbon.nesbot.com/docs/ - * @see https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Factory.php - * @method static \Illuminate\Support\Carbon create($year = 0, $month = 1, $day = 1, $hour = 0, $minute = 0, $second = 0, $tz = null) - * @method static \Illuminate\Support\Carbon createFromDate($year = null, $month = null, $day = null, $tz = null) - * @method static \Illuminate\Support\Carbon|false createFromFormat($format, $time, $tz = null) - * @method static \Illuminate\Support\Carbon createFromTime($hour = 0, $minute = 0, $second = 0, $tz = null) - * @method static \Illuminate\Support\Carbon createFromTimeString($time, $tz = null) - * @method static \Illuminate\Support\Carbon createFromTimestamp($timestamp, $tz = null) - * @method static \Illuminate\Support\Carbon createFromTimestampMs($timestamp, $tz = null) - * @method static \Illuminate\Support\Carbon createFromTimestampUTC($timestamp) - * @method static \Illuminate\Support\Carbon createMidnightDate($year = null, $month = null, $day = null, $tz = null) - * @method static \Illuminate\Support\Carbon|false createSafe($year = null, $month = null, $day = null, $hour = null, $minute = null, $second = null, $tz = null) - * @method static void disableHumanDiffOption($humanDiffOption) - * @method static void enableHumanDiffOption($humanDiffOption) - * @method static mixed executeWithLocale($locale, $func) - * @method static \Illuminate\Support\Carbon fromSerialized($value) - * @method static array getAvailableLocales() - * @method static array getDays() - * @method static int getHumanDiffOptions() - * @method static array getIsoUnits() - * @method static array getLastErrors() - * @method static string getLocale() - * @method static int getMidDayAt() - * @method static \Illuminate\Support\Carbon|null getTestNow() - * @method static \Symfony\Component\Translation\TranslatorInterface getTranslator() - * @method static int getWeekEndsAt() - * @method static int getWeekStartsAt() - * @method static array getWeekendDays() - * @method static bool hasFormat($date, $format) - * @method static bool hasMacro($name) - * @method static bool hasRelativeKeywords($time) - * @method static bool hasTestNow() - * @method static \Illuminate\Support\Carbon instance($date) - * @method static bool isImmutable() - * @method static bool isModifiableUnit($unit) - * @method static bool isMutable() - * @method static bool isStrictModeEnabled() - * @method static bool localeHasDiffOneDayWords($locale) - * @method static bool localeHasDiffSyntax($locale) - * @method static bool localeHasDiffTwoDayWords($locale) - * @method static bool localeHasPeriodSyntax($locale) - * @method static bool localeHasShortUnits($locale) - * @method static void macro($name, $macro) - * @method static \Illuminate\Support\Carbon|null make($var) - * @method static \Illuminate\Support\Carbon maxValue() - * @method static \Illuminate\Support\Carbon minValue() - * @method static void mixin($mixin) - * @method static \Illuminate\Support\Carbon now($tz = null) - * @method static \Illuminate\Support\Carbon parse($time = null, $tz = null) - * @method static string pluralUnit(string $unit) - * @method static void resetMonthsOverflow() - * @method static void resetToStringFormat() - * @method static void resetYearsOverflow() - * @method static void serializeUsing($callback) - * @method static void setHumanDiffOptions($humanDiffOptions) - * @method static bool setLocale($locale) - * @method static void setMidDayAt($hour) - * @method static void setTestNow($testNow = null) - * @method static void setToStringFormat($format) - * @method static void setTranslator(\Symfony\Component\Translation\TranslatorInterface $translator) - * @method static void setUtf8($utf8) - * @method static void setWeekEndsAt($day) - * @method static void setWeekStartsAt($day) - * @method static void setWeekendDays($days) - * @method static bool shouldOverflowMonths() - * @method static bool shouldOverflowYears() - * @method static string singularUnit(string $unit) - * @method static \Illuminate\Support\Carbon today($tz = null) - * @method static \Illuminate\Support\Carbon tomorrow($tz = null) - * @method static void useMonthsOverflow($monthsOverflow = true) - * @method static void useStrictMode($strictModeEnabled = true) - * @method static void useYearsOverflow($yearsOverflow = true) - * @method static \Illuminate\Support\Carbon yesterday($tz = null) - * @see \Illuminate\Support\DateFactory - */ class Date { - /** - * Use the given handler when generating dates (class name, callable, or factory). - * - * @param mixed $handler - * @return mixed - * @throws \InvalidArgumentException - * @static - */ public static function use($handler) - { - return \Illuminate\Support\DateFactory::use($handler); - } - /** - * Use the default date class when generating dates. - * - * @return void - * @static - */ public static function useDefault() - { - \Illuminate\Support\DateFactory::useDefault(); - } - /** - * Execute the given callable on each date creation. - * - * @param callable $callable - * @return void - * @static - */ public static function useCallable($callable) - { - \Illuminate\Support\DateFactory::useCallable($callable); - } - /** - * Use the given date type (class) when generating dates. - * - * @param string $dateClass - * @return void - * @static - */ public static function useClass($dateClass) - { - \Illuminate\Support\DateFactory::useClass($dateClass); - } - /** - * Use the given Carbon factory when generating dates. - * - * @param object $factory - * @return void - * @static - */ public static function useFactory($factory) - { - \Illuminate\Support\DateFactory::useFactory($factory); - } - } - /** - * - * - * @see \Illuminate\Database\DatabaseManager - */ class DB { - /** - * Get a database connection instance. - * - * @param string|null $name - * @return \Illuminate\Database\Connection - * @static - */ public static function connection($name = null) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->connection($name); - } - /** - * Get a database connection instance from the given configuration. - * - * @param string $name - * @param array $config - * @param bool $force - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function connectUsing($name, $config, $force = false) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->connectUsing($name, $config, $force); - } - /** - * Register a custom Doctrine type. - * - * @param string $class - * @param string $name - * @param string $type - * @return void - * @throws \Doctrine\DBAL\Exception - * @throws \RuntimeException - * @static - */ public static function registerDoctrineType($class, $name, $type) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->registerDoctrineType($class, $name, $type); - } - /** - * Disconnect from the given database and remove from local cache. - * - * @param string|null $name - * @return void - * @static - */ public static function purge($name = null) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->purge($name); - } - /** - * Disconnect from the given database. - * - * @param string|null $name - * @return void - * @static - */ public static function disconnect($name = null) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->disconnect($name); - } - /** - * Reconnect to the given database. - * - * @param string|null $name - * @return \Illuminate\Database\Connection - * @static - */ public static function reconnect($name = null) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->reconnect($name); - } - /** - * Set the default database connection for the callback execution. - * - * @param string $name - * @param callable $callback - * @return mixed - * @static - */ public static function usingConnection($name, $callback) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->usingConnection($name, $callback); - } - /** - * Get the default connection name. - * - * @return string - * @static - */ public static function getDefaultConnection() - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->getDefaultConnection(); - } - /** - * Set the default connection name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultConnection($name) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->setDefaultConnection($name); - } - /** - * Get all of the support drivers. - * - * @return string[] - * @static - */ public static function supportedDrivers() - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->supportedDrivers(); - } - /** - * Get all of the drivers that are actually available. - * - * @return string[] - * @static - */ public static function availableDrivers() - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->availableDrivers(); - } - /** - * Register an extension connection resolver. - * - * @param string $name - * @param callable $resolver - * @return void - * @static - */ public static function extend($name, $resolver) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->extend($name, $resolver); - } - /** - * Remove an extension connection resolver. - * - * @param string $name - * @return void - * @static - */ public static function forgetExtension($name) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->forgetExtension($name); - } - /** - * Return all of the created connections. - * - * @return array - * @static - */ public static function getConnections() - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->getConnections(); - } - /** - * Set the database reconnector callback. - * - * @param callable $reconnector - * @return void - * @static - */ public static function setReconnector($reconnector) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - $instance->setReconnector($reconnector); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Database\DatabaseManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->setApplication($app); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Database\DatabaseManager::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Database\DatabaseManager::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Database\DatabaseManager::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Database\DatabaseManager::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Database\DatabaseManager $instance */ - return $instance->macroCall($method, $parameters); - } - /** - * Determine if the connected database is a MariaDB database. - * - * @return bool - * @static - */ public static function isMaria() - { - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->isMaria(); - } - /** - * Get a schema builder instance for the connection. - * - * @return \Illuminate\Database\Schema\MySqlBuilder - * @static - */ public static function getSchemaBuilder() - { - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getSchemaBuilder(); - } - /** - * Get the schema state for the connection. - * - * @param \Illuminate\Filesystem\Filesystem|null $files - * @param callable|null $processFactory - * @return \Illuminate\Database\Schema\MySqlSchemaState - * @static - */ public static function getSchemaState($files = null, $processFactory = null) - { - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getSchemaState($files, $processFactory); - } - /** - * Set the query grammar to the default implementation. - * - * @return void - * @static - */ public static function useDefaultQueryGrammar() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->useDefaultQueryGrammar(); - } - /** - * Set the schema grammar to the default implementation. - * - * @return void - * @static - */ public static function useDefaultSchemaGrammar() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->useDefaultSchemaGrammar(); - } - /** - * Set the query post processor to the default implementation. - * - * @return void - * @static - */ public static function useDefaultPostProcessor() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->useDefaultPostProcessor(); - } - /** - * Begin a fluent query against a database table. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string $table - * @param string|null $as - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function table($table, $as = null) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->table($table, $as); - } - /** - * Get a new query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function query() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->query(); - } - /** - * Run a select statement and return a single result. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return mixed - * @static - */ public static function selectOne($query, $bindings = [], $useReadPdo = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->selectOne($query, $bindings, $useReadPdo); - } - /** - * Run a select statement and return the first column of the first row. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return mixed - * @throws \Illuminate\Database\MultipleColumnsSelectedException - * @static - */ public static function scalar($query, $bindings = [], $useReadPdo = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->scalar($query, $bindings, $useReadPdo); - } - /** - * Run a select statement against the database. - * - * @param string $query - * @param array $bindings - * @return array - * @static - */ public static function selectFromWriteConnection($query, $bindings = []) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->selectFromWriteConnection($query, $bindings); - } - /** - * Run a select statement against the database. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return array - * @static - */ public static function select($query, $bindings = [], $useReadPdo = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->select($query, $bindings, $useReadPdo); - } - /** - * Run a select statement against the database and returns all of the result sets. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return array - * @static - */ public static function selectResultSets($query, $bindings = [], $useReadPdo = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->selectResultSets($query, $bindings, $useReadPdo); - } - /** - * Run a select statement against the database and returns a generator. - * - * @param string $query - * @param array $bindings - * @param bool $useReadPdo - * @return \Generator - * @static - */ public static function cursor($query, $bindings = [], $useReadPdo = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->cursor($query, $bindings, $useReadPdo); - } - /** - * Run an insert statement against the database. - * - * @param string $query - * @param array $bindings - * @return bool - * @static - */ public static function insert($query, $bindings = []) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->insert($query, $bindings); - } - /** - * Run an update statement against the database. - * - * @param string $query - * @param array $bindings - * @return int - * @static - */ public static function update($query, $bindings = []) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->update($query, $bindings); - } - /** - * Run a delete statement against the database. - * - * @param string $query - * @param array $bindings - * @return int - * @static - */ public static function delete($query, $bindings = []) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->delete($query, $bindings); - } - /** - * Execute an SQL statement and return the boolean result. - * - * @param string $query - * @param array $bindings - * @return bool - * @static - */ public static function statement($query, $bindings = []) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->statement($query, $bindings); - } - /** - * Run an SQL statement and get the number of rows affected. - * - * @param string $query - * @param array $bindings - * @return int - * @static - */ public static function affectingStatement($query, $bindings = []) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->affectingStatement($query, $bindings); - } - /** - * Run a raw, unprepared query against the PDO connection. - * - * @param string $query - * @return bool - * @static - */ public static function unprepared($query) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->unprepared($query); - } - /** - * Execute the given callback in "dry run" mode. - * - * @param \Closure $callback - * @return array - * @static - */ public static function pretend($callback) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->pretend($callback); - } - /** - * Execute the given callback without "pretending". - * - * @param \Closure $callback - * @return mixed - * @static - */ public static function withoutPretending($callback) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->withoutPretending($callback); - } - /** - * Bind values to their parameters in the given statement. - * - * @param \PDOStatement $statement - * @param array $bindings - * @return void - * @static - */ public static function bindValues($statement, $bindings) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->bindValues($statement, $bindings); - } - /** - * Prepare the query bindings for execution. - * - * @param array $bindings - * @return array - * @static - */ public static function prepareBindings($bindings) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->prepareBindings($bindings); - } - /** - * Log a query in the connection's query log. - * - * @param string $query - * @param array $bindings - * @param float|null $time - * @return void - * @static - */ public static function logQuery($query, $bindings, $time = null) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->logQuery($query, $bindings, $time); - } - /** - * Register a callback to be invoked when the connection queries for longer than a given amount of time. - * - * @param \DateTimeInterface|\Carbon\CarbonInterval|float|int $threshold - * @param callable $handler - * @return void - * @static - */ public static function whenQueryingForLongerThan($threshold, $handler) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->whenQueryingForLongerThan($threshold, $handler); - } - /** - * Allow all the query duration handlers to run again, even if they have already run. - * - * @return void - * @static - */ public static function allowQueryDurationHandlersToRunAgain() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->allowQueryDurationHandlersToRunAgain(); - } - /** - * Get the duration of all run queries in milliseconds. - * - * @return float - * @static - */ public static function totalQueryDuration() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->totalQueryDuration(); - } - /** - * Reset the duration of all run queries. - * - * @return void - * @static - */ public static function resetTotalQueryDuration() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->resetTotalQueryDuration(); - } - /** - * Reconnect to the database if a PDO connection is missing. - * - * @return void - * @static - */ public static function reconnectIfMissingConnection() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->reconnectIfMissingConnection(); - } - /** - * Register a hook to be run just before a database transaction is started. - * - * @param \Closure $callback - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function beforeStartingTransaction($callback) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->beforeStartingTransaction($callback); - } - /** - * Register a hook to be run just before a database query is executed. - * - * @param \Closure $callback - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function beforeExecuting($callback) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->beforeExecuting($callback); - } - /** - * Register a database query listener with the connection. - * - * @param \Closure $callback - * @return void - * @static - */ public static function listen($callback) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->listen($callback); - } - /** - * Get a new raw query expression. - * - * @param mixed $value - * @return \Illuminate\Contracts\Database\Query\Expression - * @static - */ public static function raw($value) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->raw($value); - } - /** - * Escape a value for safe SQL embedding. - * - * @param string|float|int|bool|null $value - * @param bool $binary - * @return string - * @static - */ public static function escape($value, $binary = false) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->escape($value, $binary); - } - /** - * Determine if the database connection has modified any database records. - * - * @return bool - * @static - */ public static function hasModifiedRecords() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->hasModifiedRecords(); - } - /** - * Indicate if any records have been modified. - * - * @param bool $value - * @return void - * @static - */ public static function recordsHaveBeenModified($value = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->recordsHaveBeenModified($value); - } - /** - * Set the record modification state. - * - * @param bool $value - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setRecordModificationState($value) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setRecordModificationState($value); - } - /** - * Reset the record modification state. - * - * @return void - * @static - */ public static function forgetRecordModificationState() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->forgetRecordModificationState(); - } - /** - * Indicate that the connection should use the write PDO connection for reads. - * - * @param bool $value - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function useWriteConnectionWhenReading($value = true) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->useWriteConnectionWhenReading($value); - } - /** - * Is Doctrine available? - * - * @return bool - * @static - */ public static function isDoctrineAvailable() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->isDoctrineAvailable(); - } - /** - * Indicates whether native alter operations will be used when dropping, renaming, or modifying columns, even if Doctrine DBAL is installed. - * - * @return bool - * @static - */ public static function usingNativeSchemaOperations() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->usingNativeSchemaOperations(); - } - /** - * Get a Doctrine Schema Column instance. - * - * @param string $table - * @param string $column - * @return \Doctrine\DBAL\Schema\Column - * @static - */ public static function getDoctrineColumn($table, $column) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getDoctrineColumn($table, $column); - } - /** - * Get the Doctrine DBAL schema manager for the connection. - * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager - * @static - */ public static function getDoctrineSchemaManager() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getDoctrineSchemaManager(); - } - /** - * Get the Doctrine DBAL database connection instance. - * - * @return \Doctrine\DBAL\Connection - * @static - */ public static function getDoctrineConnection() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getDoctrineConnection(); - } - /** - * Get the current PDO connection. - * - * @return \PDO - * @static - */ public static function getPdo() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getPdo(); - } - /** - * Get the current PDO connection parameter without executing any reconnect logic. - * - * @return \PDO|\Closure|null - * @static - */ public static function getRawPdo() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getRawPdo(); - } - /** - * Get the current PDO connection used for reading. - * - * @return \PDO - * @static - */ public static function getReadPdo() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getReadPdo(); - } - /** - * Get the current read PDO connection parameter without executing any reconnect logic. - * - * @return \PDO|\Closure|null - * @static - */ public static function getRawReadPdo() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getRawReadPdo(); - } - /** - * Set the PDO connection. - * - * @param \PDO|\Closure|null $pdo - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setPdo($pdo) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setPdo($pdo); - } - /** - * Set the PDO connection used for reading. - * - * @param \PDO|\Closure|null $pdo - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setReadPdo($pdo) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setReadPdo($pdo); - } - /** - * Get the database connection name. - * - * @return string|null - * @static - */ public static function getName() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getName(); - } - /** - * Get the database connection full name. - * - * @return string|null - * @static - */ public static function getNameWithReadWriteType() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getNameWithReadWriteType(); - } - /** - * Get an option from the configuration options. - * - * @param string|null $option - * @return mixed - * @static - */ public static function getConfig($option = null) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getConfig($option); - } - /** - * Get the PDO driver name. - * - * @return string - * @static - */ public static function getDriverName() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getDriverName(); - } - /** - * Get the query grammar used by the connection. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ public static function getQueryGrammar() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getQueryGrammar(); - } - /** - * Set the query grammar used by the connection. - * - * @param \Illuminate\Database\Query\Grammars\Grammar $grammar - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setQueryGrammar($grammar) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setQueryGrammar($grammar); - } - /** - * Get the schema grammar used by the connection. - * - * @return \Illuminate\Database\Schema\Grammars\Grammar - * @static - */ public static function getSchemaGrammar() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getSchemaGrammar(); - } - /** - * Set the schema grammar used by the connection. - * - * @param \Illuminate\Database\Schema\Grammars\Grammar $grammar - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setSchemaGrammar($grammar) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setSchemaGrammar($grammar); - } - /** - * Get the query post processor used by the connection. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ public static function getPostProcessor() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getPostProcessor(); - } - /** - * Set the query post processor used by the connection. - * - * @param \Illuminate\Database\Query\Processors\Processor $processor - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setPostProcessor($processor) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setPostProcessor($processor); - } - /** - * Get the event dispatcher used by the connection. - * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static - */ public static function getEventDispatcher() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getEventDispatcher(); - } - /** - * Set the event dispatcher instance on the connection. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setEventDispatcher($events) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setEventDispatcher($events); - } - /** - * Unset the event dispatcher for this connection. - * - * @return void - * @static - */ public static function unsetEventDispatcher() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->unsetEventDispatcher(); - } - /** - * Set the transaction manager instance on the connection. - * - * @param \Illuminate\Database\DatabaseTransactionsManager $manager - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setTransactionManager($manager) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setTransactionManager($manager); - } - /** - * Unset the transaction manager for this connection. - * - * @return void - * @static - */ public static function unsetTransactionManager() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->unsetTransactionManager(); - } - /** - * Determine if the connection is in a "dry run". - * - * @return bool - * @static - */ public static function pretending() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->pretending(); - } - /** - * Get the connection query log. - * - * @return array - * @static - */ public static function getQueryLog() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getQueryLog(); - } - /** - * Get the connection query log with embedded bindings. - * - * @return array - * @static - */ public static function getRawQueryLog() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getRawQueryLog(); - } - /** - * Clear the query log. - * - * @return void - * @static - */ public static function flushQueryLog() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->flushQueryLog(); - } - /** - * Enable the query log on the connection. - * - * @return void - * @static - */ public static function enableQueryLog() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->enableQueryLog(); - } - /** - * Disable the query log on the connection. - * - * @return void - * @static - */ public static function disableQueryLog() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->disableQueryLog(); - } - /** - * Determine whether we're logging queries. - * - * @return bool - * @static - */ public static function logging() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->logging(); - } - /** - * Get the name of the connected database. - * - * @return string - * @static - */ public static function getDatabaseName() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getDatabaseName(); - } - /** - * Set the name of the connected database. - * - * @param string $database - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setDatabaseName($database) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setDatabaseName($database); - } - /** - * Set the read / write type of the connection. - * - * @param string|null $readWriteType - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setReadWriteType($readWriteType) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setReadWriteType($readWriteType); - } - /** - * Get the table prefix for the connection. - * - * @return string - * @static - */ public static function getTablePrefix() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->getTablePrefix(); - } - /** - * Set the table prefix in use by the connection. - * - * @param string $prefix - * @return \Illuminate\Database\MySqlConnection - * @static - */ public static function setTablePrefix($prefix) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->setTablePrefix($prefix); - } - /** - * Set the table prefix and return the grammar. - * - * @param \Illuminate\Database\Grammar $grammar - * @return \Illuminate\Database\Grammar - * @static - */ public static function withTablePrefix($grammar) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->withTablePrefix($grammar); - } - /** - * Register a connection resolver. - * - * @param string $driver - * @param \Closure $callback - * @return void - * @static - */ public static function resolverFor($driver, $callback) - { //Method inherited from \Illuminate\Database\Connection - \Illuminate\Database\MySqlConnection::resolverFor($driver, $callback); - } - /** - * Get the connection resolver for the given driver. - * - * @param string $driver - * @return mixed - * @static - */ public static function getResolver($driver) - { //Method inherited from \Illuminate\Database\Connection - return \Illuminate\Database\MySqlConnection::getResolver($driver); - } - /** - * Execute a Closure within a transaction. - * - * @param \Closure $callback - * @param int $attempts - * @return mixed - * @throws \Throwable - * @static - */ public static function transaction($callback, $attempts = 1) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->transaction($callback, $attempts); - } - /** - * Start a new database transaction. - * - * @return void - * @throws \Throwable - * @static - */ public static function beginTransaction() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->beginTransaction(); - } - /** - * Commit the active database transaction. - * - * @return void - * @throws \Throwable - * @static - */ public static function commit() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->commit(); - } - /** - * Rollback the active database transaction. - * - * @param int|null $toLevel - * @return void - * @throws \Throwable - * @static - */ public static function rollBack($toLevel = null) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->rollBack($toLevel); - } - /** - * Get the number of active transactions. - * - * @return int - * @static - */ public static function transactionLevel() - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - return $instance->transactionLevel(); - } - /** - * Execute the callback after a transaction commits. - * - * @param callable $callback - * @return void - * @throws \RuntimeException - * @static - */ public static function afterCommit($callback) - { //Method inherited from \Illuminate\Database\Connection - /** @var \Illuminate\Database\MySqlConnection $instance */ - $instance->afterCommit($callback); - } - } - /** - * - * - * @see \Illuminate\Events\Dispatcher - * @see \Illuminate\Support\Testing\Fakes\EventFake - */ class Event { - /** - * Register an event listener with the dispatcher. - * - * @param \Closure|string|array $events - * @param \Closure|string|array|null $listener - * @return void - * @static - */ public static function listen($events, $listener = null) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - $instance->listen($events, $listener); - } - /** - * Determine if a given event has listeners. - * - * @param string $eventName - * @return bool - * @static - */ public static function hasListeners($eventName) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->hasListeners($eventName); - } - /** - * Determine if the given event has any wildcard listeners. - * - * @param string $eventName - * @return bool - * @static - */ public static function hasWildcardListeners($eventName) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->hasWildcardListeners($eventName); - } - /** - * Register an event and payload to be fired later. - * - * @param string $event - * @param object|array $payload - * @return void - * @static - */ public static function push($event, $payload = []) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - $instance->push($event, $payload); - } - /** - * Flush a set of pushed events. - * - * @param string $event - * @return void - * @static - */ public static function flush($event) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - $instance->flush($event); - } - /** - * Register an event subscriber with the dispatcher. - * - * @param object|string $subscriber - * @return void - * @static - */ public static function subscribe($subscriber) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - $instance->subscribe($subscriber); - } - /** - * Fire an event until the first non-null response is returned. - * - * @param string|object $event - * @param mixed $payload - * @return mixed - * @static - */ public static function until($event, $payload = []) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->until($event, $payload); - } - /** - * Fire an event and call the listeners. - * - * @param string|object $event - * @param mixed $payload - * @param bool $halt - * @return array|null - * @static - */ public static function dispatch($event, $payload = [], $halt = false) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->dispatch($event, $payload, $halt); - } - /** - * Get all of the listeners for a given event name. - * - * @param string $eventName - * @return array - * @static - */ public static function getListeners($eventName) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->getListeners($eventName); - } - /** - * Register an event listener with the dispatcher. - * - * @param \Closure|string|array $listener - * @param bool $wildcard - * @return \Closure - * @static - */ public static function makeListener($listener, $wildcard = false) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->makeListener($listener, $wildcard); - } - /** - * Create a class based listener using the IoC container. - * - * @param string $listener - * @param bool $wildcard - * @return \Closure - * @static - */ public static function createClassListener($listener, $wildcard = false) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->createClassListener($listener, $wildcard); - } - /** - * Remove a set of listeners from the dispatcher. - * - * @param string $event - * @return void - * @static - */ public static function forget($event) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - $instance->forget($event); - } - /** - * Forget all of the pushed listeners. - * - * @return void - * @static - */ public static function forgetPushed() - { - /** @var \Illuminate\Events\Dispatcher $instance */ - $instance->forgetPushed(); - } - /** - * Set the queue resolver implementation. - * - * @param callable $resolver - * @return \Illuminate\Events\Dispatcher - * @static - */ public static function setQueueResolver($resolver) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->setQueueResolver($resolver); - } - /** - * Set the database transaction manager resolver implementation. - * - * @param callable $resolver - * @return \Illuminate\Events\Dispatcher - * @static - */ public static function setTransactionManagerResolver($resolver) - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->setTransactionManagerResolver($resolver); - } - /** - * Gets the raw, unprepared listeners. - * - * @return array - * @static - */ public static function getRawListeners() - { - /** @var \Illuminate\Events\Dispatcher $instance */ - return $instance->getRawListeners(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Events\Dispatcher::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Events\Dispatcher::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Events\Dispatcher::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Events\Dispatcher::flushMacros(); - } - /** - * Specify the events that should be dispatched instead of faked. - * - * @param array|string $eventsToDispatch - * @return \Illuminate\Support\Testing\Fakes\EventFake - * @static - */ public static function except($eventsToDispatch) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - return $instance->except($eventsToDispatch); - } - /** - * Assert if an event has a listener attached to it. - * - * @param string $expectedEvent - * @param string|array $expectedListener - * @return void - * @static - */ public static function assertListening($expectedEvent, $expectedListener) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - $instance->assertListening($expectedEvent, $expectedListener); - } - /** - * Assert if an event was dispatched based on a truth-test callback. - * - * @param string|\Closure $event - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertDispatched($event, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - $instance->assertDispatched($event, $callback); - } - /** - * Assert if an event was dispatched a number of times. - * - * @param string $event - * @param int $times - * @return void - * @static - */ public static function assertDispatchedTimes($event, $times = 1) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - $instance->assertDispatchedTimes($event, $times); - } - /** - * Determine if an event was dispatched based on a truth-test callback. - * - * @param string|\Closure $event - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotDispatched($event, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - $instance->assertNotDispatched($event, $callback); - } - /** - * Assert that no events were dispatched. - * - * @return void - * @static - */ public static function assertNothingDispatched() - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - $instance->assertNothingDispatched(); - } - /** - * Get all of the events matching a truth-test callback. - * - * @param string $event - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function dispatched($event, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - return $instance->dispatched($event, $callback); - } - /** - * Determine if the given event has been dispatched. - * - * @param string $event - * @return bool - * @static - */ public static function hasDispatched($event) - { - /** @var \Illuminate\Support\Testing\Fakes\EventFake $instance */ - return $instance->hasDispatched($event); - } - } - /** - * - * - * @see \Illuminate\Filesystem\Filesystem - */ class File { - /** - * Determine if a file or directory exists. - * - * @param string $path - * @return bool - * @static - */ public static function exists($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->exists($path); - } - /** - * Determine if a file or directory is missing. - * - * @param string $path - * @return bool - * @static - */ public static function missing($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->missing($path); - } - /** - * Get the contents of a file. - * - * @param string $path - * @param bool $lock - * @return string - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static - */ public static function get($path, $lock = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->get($path, $lock); - } - /** - * Get the contents of a file as decoded JSON. - * - * @param string $path - * @param int $flags - * @param bool $lock - * @return array - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static - */ public static function json($path, $flags = 0, $lock = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->json($path, $flags, $lock); - } - /** - * Get contents of a file with shared access. - * - * @param string $path - * @return string - * @static - */ public static function sharedGet($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->sharedGet($path); - } - /** - * Get the returned value of a file. - * - * @param string $path - * @param array $data - * @return mixed - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static - */ public static function getRequire($path, $data = []) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->getRequire($path, $data); - } - /** - * Require the given file once. - * - * @param string $path - * @param array $data - * @return mixed - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static - */ public static function requireOnce($path, $data = []) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->requireOnce($path, $data); - } - /** - * Get the contents of a file one line at a time. - * - * @param string $path - * @return \Illuminate\Support\LazyCollection - * @throws \Illuminate\Contracts\Filesystem\FileNotFoundException - * @static - */ public static function lines($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->lines($path); - } - /** - * Get the hash of the file at the given path. - * - * @param string $path - * @param string $algorithm - * @return string - * @static - */ public static function hash($path, $algorithm = 'md5') - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->hash($path, $algorithm); - } - /** - * Write the contents of a file. - * - * @param string $path - * @param string $contents - * @param bool $lock - * @return int|bool - * @static - */ public static function put($path, $contents, $lock = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->put($path, $contents, $lock); - } - /** - * Write the contents of a file, replacing it atomically if it already exists. - * - * @param string $path - * @param string $content - * @param int|null $mode - * @return void - * @static - */ public static function replace($path, $content, $mode = null) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - $instance->replace($path, $content, $mode); - } - /** - * Replace a given string within a given file. - * - * @param array|string $search - * @param array|string $replace - * @param string $path - * @return void - * @static - */ public static function replaceInFile($search, $replace, $path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - $instance->replaceInFile($search, $replace, $path); - } - /** - * Prepend to a file. - * - * @param string $path - * @param string $data - * @return int - * @static - */ public static function prepend($path, $data) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->prepend($path, $data); - } - /** - * Append to a file. - * - * @param string $path - * @param string $data - * @param bool $lock - * @return int - * @static - */ public static function append($path, $data, $lock = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->append($path, $data, $lock); - } - /** - * Get or set UNIX mode of a file or directory. - * - * @param string $path - * @param int|null $mode - * @return mixed - * @static - */ public static function chmod($path, $mode = null) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->chmod($path, $mode); - } - /** - * Delete the file at a given path. - * - * @param string|array $paths - * @return bool - * @static - */ public static function delete($paths) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->delete($paths); - } - /** - * Move a file to a new location. - * - * @param string $path - * @param string $target - * @return bool - * @static - */ public static function move($path, $target) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->move($path, $target); - } - /** - * Copy a file to a new location. - * - * @param string $path - * @param string $target - * @return bool - * @static - */ public static function copy($path, $target) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->copy($path, $target); - } - /** - * Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file. - * - * @param string $target - * @param string $link - * @return bool|null - * @static - */ public static function link($target, $link) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->link($target, $link); - } - /** - * Create a relative symlink to the target file or directory. - * - * @param string $target - * @param string $link - * @return void - * @throws \RuntimeException - * @static - */ public static function relativeLink($target, $link) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - $instance->relativeLink($target, $link); - } - /** - * Extract the file name from a file path. - * - * @param string $path - * @return string - * @static - */ public static function name($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->name($path); - } - /** - * Extract the trailing name component from a file path. - * - * @param string $path - * @return string - * @static - */ public static function basename($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->basename($path); - } - /** - * Extract the parent directory from a file path. - * - * @param string $path - * @return string - * @static - */ public static function dirname($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->dirname($path); - } - /** - * Extract the file extension from a file path. - * - * @param string $path - * @return string - * @static - */ public static function extension($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->extension($path); - } - /** - * Guess the file extension from the mime-type of a given file. - * - * @param string $path - * @return string|null - * @throws \RuntimeException - * @static - */ public static function guessExtension($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->guessExtension($path); - } - /** - * Get the file type of a given file. - * - * @param string $path - * @return string - * @static - */ public static function type($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->type($path); - } - /** - * Get the mime-type of a given file. - * - * @param string $path - * @return string|false - * @static - */ public static function mimeType($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->mimeType($path); - } - /** - * Get the file size of a given file. - * - * @param string $path - * @return int - * @static - */ public static function size($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->size($path); - } - /** - * Get the file's last modification time. - * - * @param string $path - * @return int - * @static - */ public static function lastModified($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->lastModified($path); - } - /** - * Determine if the given path is a directory. - * - * @param string $directory - * @return bool - * @static - */ public static function isDirectory($directory) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->isDirectory($directory); - } - /** - * Determine if the given path is a directory that does not contain any other files or directories. - * - * @param string $directory - * @param bool $ignoreDotFiles - * @return bool - * @static - */ public static function isEmptyDirectory($directory, $ignoreDotFiles = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->isEmptyDirectory($directory, $ignoreDotFiles); - } - /** - * Determine if the given path is readable. - * - * @param string $path - * @return bool - * @static - */ public static function isReadable($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->isReadable($path); - } - /** - * Determine if the given path is writable. - * - * @param string $path - * @return bool - * @static - */ public static function isWritable($path) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->isWritable($path); - } - /** - * Determine if two files are the same by comparing their hashes. - * - * @param string $firstFile - * @param string $secondFile - * @return bool - * @static - */ public static function hasSameHash($firstFile, $secondFile) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->hasSameHash($firstFile, $secondFile); - } - /** - * Determine if the given path is a file. - * - * @param string $file - * @return bool - * @static - */ public static function isFile($file) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->isFile($file); - } - /** - * Find path names matching a given pattern. - * - * @param string $pattern - * @param int $flags - * @return array - * @static - */ public static function glob($pattern, $flags = 0) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->glob($pattern, $flags); - } - /** - * Get an array of all files in a directory. - * - * @param string $directory - * @param bool $hidden - * @return \Symfony\Component\Finder\SplFileInfo[] - * @static - */ public static function files($directory, $hidden = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->files($directory, $hidden); - } - /** - * Get all of the files from the given directory (recursive). - * - * @param string $directory - * @param bool $hidden - * @return \Symfony\Component\Finder\SplFileInfo[] - * @static - */ public static function allFiles($directory, $hidden = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->allFiles($directory, $hidden); - } - /** - * Get all of the directories within a given directory. - * - * @param string $directory - * @return array - * @static - */ public static function directories($directory) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->directories($directory); - } - /** - * Ensure a directory exists. - * - * @param string $path - * @param int $mode - * @param bool $recursive - * @return void - * @static - */ public static function ensureDirectoryExists($path, $mode = 493, $recursive = true) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - $instance->ensureDirectoryExists($path, $mode, $recursive); - } - /** - * Create a directory. - * - * @param string $path - * @param int $mode - * @param bool $recursive - * @param bool $force - * @return bool - * @static - */ public static function makeDirectory($path, $mode = 493, $recursive = false, $force = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->makeDirectory($path, $mode, $recursive, $force); - } - /** - * Move a directory. - * - * @param string $from - * @param string $to - * @param bool $overwrite - * @return bool - * @static - */ public static function moveDirectory($from, $to, $overwrite = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->moveDirectory($from, $to, $overwrite); - } - /** - * Copy a directory from one location to another. - * - * @param string $directory - * @param string $destination - * @param int|null $options - * @return bool - * @static - */ public static function copyDirectory($directory, $destination, $options = null) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->copyDirectory($directory, $destination, $options); - } - /** - * Recursively delete a directory. - * - * The directory itself may be optionally preserved. - * - * @param string $directory - * @param bool $preserve - * @return bool - * @static - */ public static function deleteDirectory($directory, $preserve = false) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->deleteDirectory($directory, $preserve); - } - /** - * Remove all of the directories within a given directory. - * - * @param string $directory - * @return bool - * @static - */ public static function deleteDirectories($directory) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->deleteDirectories($directory); - } - /** - * Empty the specified directory of all files and folders. - * - * @param string $directory - * @return bool - * @static - */ public static function cleanDirectory($directory) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->cleanDirectory($directory); - } - /** - * Apply the callback if the given "value" is (or resolves to) truthy. - * - * @template TWhenParameter - * @template TWhenReturnType - * @param \Illuminate\Filesystem\(\Closure($this): TWhenParameter)|TWhenParameter|null $value - * @param \Illuminate\Filesystem\(callable($this, TWhenParameter): TWhenReturnType)|null $callback - * @param \Illuminate\Filesystem\(callable($this, TWhenParameter): TWhenReturnType)|null $default - * @return $this|\Illuminate\Filesystem\TWhenReturnType - * @static - */ public static function when($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->when($value, $callback, $default); - } - /** - * Apply the callback if the given "value" is (or resolves to) falsy. - * - * @template TUnlessParameter - * @template TUnlessReturnType - * @param \Illuminate\Filesystem\(\Closure($this): TUnlessParameter)|TUnlessParameter|null $value - * @param \Illuminate\Filesystem\(callable($this, TUnlessParameter): TUnlessReturnType)|null $callback - * @param \Illuminate\Filesystem\(callable($this, TUnlessParameter): TUnlessReturnType)|null $default - * @return $this|\Illuminate\Filesystem\TUnlessReturnType - * @static - */ public static function unless($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Filesystem\Filesystem $instance */ - return $instance->unless($value, $callback, $default); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Filesystem\Filesystem::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Filesystem\Filesystem::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Filesystem\Filesystem::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Filesystem\Filesystem::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Auth\Access\Gate - */ class Gate { - /** - * Determine if a given ability has been defined. - * - * @param string|array $ability - * @return bool - * @static - */ public static function has($ability) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->has($ability); - } - /** - * Perform an on-demand authorization check. Throw an authorization exception if the condition or callback is false. - * - * @param \Illuminate\Auth\Access\Response|\Closure|bool $condition - * @param string|null $message - * @param string|null $code - * @return \Illuminate\Auth\Access\Response - * @throws \Illuminate\Auth\Access\AuthorizationException - * @static - */ public static function allowIf($condition, $message = null, $code = null) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->allowIf($condition, $message, $code); - } - /** - * Perform an on-demand authorization check. Throw an authorization exception if the condition or callback is true. - * - * @param \Illuminate\Auth\Access\Response|\Closure|bool $condition - * @param string|null $message - * @param string|null $code - * @return \Illuminate\Auth\Access\Response - * @throws \Illuminate\Auth\Access\AuthorizationException - * @static - */ public static function denyIf($condition, $message = null, $code = null) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->denyIf($condition, $message, $code); - } - /** - * Define a new ability. - * - * @param string $ability - * @param callable|array|string $callback - * @return \Illuminate\Auth\Access\Gate - * @throws \InvalidArgumentException - * @static - */ public static function define($ability, $callback) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->define($ability, $callback); - } - /** - * Define abilities for a resource. - * - * @param string $name - * @param string $class - * @param array|null $abilities - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function resource($name, $class, $abilities = null) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->resource($name, $class, $abilities); - } - /** - * Define a policy class for a given class type. - * - * @param string $class - * @param string $policy - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function policy($class, $policy) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->policy($class, $policy); - } - /** - * Register a callback to run before all Gate checks. - * - * @param callable $callback - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function before($callback) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->before($callback); - } - /** - * Register a callback to run after all Gate checks. - * - * @param callable $callback - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function after($callback) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->after($callback); - } - /** - * Determine if all of the given abilities should be granted for the current user. - * - * @param \Illuminate\Auth\Access\iterable|string $ability - * @param array|mixed $arguments - * @return bool - * @static - */ public static function allows($ability, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->allows($ability, $arguments); - } - /** - * Determine if any of the given abilities should be denied for the current user. - * - * @param \Illuminate\Auth\Access\iterable|string $ability - * @param array|mixed $arguments - * @return bool - * @static - */ public static function denies($ability, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->denies($ability, $arguments); - } - /** - * Determine if all of the given abilities should be granted for the current user. - * - * @param \Illuminate\Auth\Access\iterable|string $abilities - * @param array|mixed $arguments - * @return bool - * @static - */ public static function check($abilities, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->check($abilities, $arguments); - } - /** - * Determine if any one of the given abilities should be granted for the current user. - * - * @param \Illuminate\Auth\Access\iterable|string $abilities - * @param array|mixed $arguments - * @return bool - * @static - */ public static function any($abilities, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->any($abilities, $arguments); - } - /** - * Determine if all of the given abilities should be denied for the current user. - * - * @param \Illuminate\Auth\Access\iterable|string $abilities - * @param array|mixed $arguments - * @return bool - * @static - */ public static function none($abilities, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->none($abilities, $arguments); - } - /** - * Determine if the given ability should be granted for the current user. - * - * @param string $ability - * @param array|mixed $arguments - * @return \Illuminate\Auth\Access\Response - * @throws \Illuminate\Auth\Access\AuthorizationException - * @static - */ public static function authorize($ability, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->authorize($ability, $arguments); - } - /** - * Inspect the user for the given ability. - * - * @param string $ability - * @param array|mixed $arguments - * @return \Illuminate\Auth\Access\Response - * @static - */ public static function inspect($ability, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->inspect($ability, $arguments); - } - /** - * Get the raw result from the authorization callback. - * - * @param string $ability - * @param array|mixed $arguments - * @return mixed - * @throws \Illuminate\Auth\Access\AuthorizationException - * @static - */ public static function raw($ability, $arguments = []) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->raw($ability, $arguments); - } - /** - * Get a policy instance for a given class. - * - * @param object|string $class - * @return mixed - * @static - */ public static function getPolicyFor($class) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->getPolicyFor($class); - } - /** - * Specify a callback to be used to guess policy names. - * - * @param callable $callback - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function guessPolicyNamesUsing($callback) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->guessPolicyNamesUsing($callback); - } - /** - * Build a policy class instance of the given type. - * - * @param object|string $class - * @return mixed - * @throws \Illuminate\Contracts\Container\BindingResolutionException - * @static - */ public static function resolvePolicy($class) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->resolvePolicy($class); - } - /** - * Get a gate instance for the given user. - * - * @param \Illuminate\Contracts\Auth\Authenticatable|mixed $user - * @return static - * @static - */ public static function forUser($user) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->forUser($user); - } - /** - * Get all of the defined abilities. - * - * @return array - * @static - */ public static function abilities() - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->abilities(); - } - /** - * Get all of the defined policies. - * - * @return array - * @static - */ public static function policies() - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->policies(); - } - /** - * Set the default denial response for gates and policies. - * - * @param \Illuminate\Auth\Access\Response $response - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function defaultDenialResponse($response) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->defaultDenialResponse($response); - } - /** - * Set the container instance used by the gate. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return \Illuminate\Auth\Access\Gate - * @static - */ public static function setContainer($container) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->setContainer($container); - } - /** - * Deny with a HTTP status code. - * - * @param int $status - * @param string|null $message - * @param int|null $code - * @return \Illuminate\Auth\Access\Response - * @static - */ public static function denyWithStatus($status, $message = null, $code = null) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->denyWithStatus($status, $message, $code); - } - /** - * Deny with a 404 HTTP status code. - * - * @param string|null $message - * @param int|null $code - * @return \Illuminate\Auth\Access\Response - * @static - */ public static function denyAsNotFound($message = null, $code = null) - { - /** @var \Illuminate\Auth\Access\Gate $instance */ - return $instance->denyAsNotFound($message, $code); - } - } - /** - * - * - * @see \Illuminate\Hashing\HashManager - * @see \Illuminate\Hashing\AbstractHasher - */ class Hash { - /** - * Create an instance of the Bcrypt hash Driver. - * - * @return \Illuminate\Hashing\BcryptHasher - * @static - */ public static function createBcryptDriver() - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->createBcryptDriver(); - } - /** - * Create an instance of the Argon2i hash Driver. - * - * @return \Illuminate\Hashing\ArgonHasher - * @static - */ public static function createArgonDriver() - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->createArgonDriver(); - } - /** - * Create an instance of the Argon2id hash Driver. - * - * @return \Illuminate\Hashing\Argon2IdHasher - * @static - */ public static function createArgon2idDriver() - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->createArgon2idDriver(); - } - /** - * Get information about the given hashed value. - * - * @param string $hashedValue - * @return array - * @static - */ public static function info($hashedValue) - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->info($hashedValue); - } - /** - * Hash the given value. - * - * @param string $value - * @param array $options - * @return string - * @static - */ public static function make($value, $options = []) - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->make($value, $options); - } - /** - * Check the given plain value against a hash. - * - * @param string $value - * @param string $hashedValue - * @param array $options - * @return bool - * @static - */ public static function check($value, $hashedValue, $options = []) - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->check($value, $hashedValue, $options); - } - /** - * Check if the given hash has been hashed using the given options. - * - * @param string $hashedValue - * @param array $options - * @return bool - * @static - */ public static function needsRehash($hashedValue, $options = []) - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->needsRehash($hashedValue, $options); - } - /** - * Determine if a given string is already hashed. - * - * @param string $value - * @return bool - * @static - */ public static function isHashed($value) - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->isHashed($value); - } - /** - * Get the default driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Get a driver instance. - * - * @param string|null $driver - * @return mixed - * @throws \InvalidArgumentException - * @static - */ public static function driver($driver = null) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->driver($driver); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Hashing\HashManager - * @static - */ public static function extend($driver, $callback) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Get all of the created "drivers". - * - * @return array - * @static - */ public static function getDrivers() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->getDrivers(); - } - /** - * Get the container instance used by the manager. - * - * @return \Illuminate\Contracts\Container\Container - * @static - */ public static function getContainer() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->getContainer(); - } - /** - * Set the container instance used by the manager. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return \Illuminate\Hashing\HashManager - * @static - */ public static function setContainer($container) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->setContainer($container); - } - /** - * Forget all of the resolved driver instances. - * - * @return \Illuminate\Hashing\HashManager - * @static - */ public static function forgetDrivers() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Hashing\HashManager $instance */ - return $instance->forgetDrivers(); - } - } - /** - * - * - * @method static \Illuminate\Http\Client\PendingRequest baseUrl(string $url) - * @method static \Illuminate\Http\Client\PendingRequest withBody(\Psr\Http\Message\StreamInterface|string $content, string $contentType = 'application/json') - * @method static \Illuminate\Http\Client\PendingRequest asJson() - * @method static \Illuminate\Http\Client\PendingRequest asForm() - * @method static \Illuminate\Http\Client\PendingRequest attach(string|array $name, string|resource $contents = '', string|null $filename = null, array $headers = []) - * @method static \Illuminate\Http\Client\PendingRequest asMultipart() - * @method static \Illuminate\Http\Client\PendingRequest bodyFormat(string $format) - * @method static \Illuminate\Http\Client\PendingRequest withQueryParameters(array $parameters) - * @method static \Illuminate\Http\Client\PendingRequest contentType(string $contentType) - * @method static \Illuminate\Http\Client\PendingRequest acceptJson() - * @method static \Illuminate\Http\Client\PendingRequest accept(string $contentType) - * @method static \Illuminate\Http\Client\PendingRequest withHeaders(array $headers) - * @method static \Illuminate\Http\Client\PendingRequest withHeader(string $name, mixed $value) - * @method static \Illuminate\Http\Client\PendingRequest replaceHeaders(array $headers) - * @method static \Illuminate\Http\Client\PendingRequest withBasicAuth(string $username, string $password) - * @method static \Illuminate\Http\Client\PendingRequest withDigestAuth(string $username, string $password) - * @method static \Illuminate\Http\Client\PendingRequest withToken(string $token, string $type = 'Bearer') - * @method static \Illuminate\Http\Client\PendingRequest withUserAgent(string|bool $userAgent) - * @method static \Illuminate\Http\Client\PendingRequest withUrlParameters(array $parameters = []) - * @method static \Illuminate\Http\Client\PendingRequest withCookies(array $cookies, string $domain) - * @method static \Illuminate\Http\Client\PendingRequest maxRedirects(int $max) - * @method static \Illuminate\Http\Client\PendingRequest withoutRedirecting() - * @method static \Illuminate\Http\Client\PendingRequest withoutVerifying() - * @method static \Illuminate\Http\Client\PendingRequest sink(string|resource $to) - * @method static \Illuminate\Http\Client\PendingRequest timeout(int $seconds) - * @method static \Illuminate\Http\Client\PendingRequest connectTimeout(int $seconds) - * @method static \Illuminate\Http\Client\PendingRequest retry(array|int $times, \Closure|int $sleepMilliseconds = 0, callable|null $when = null, bool $throw = true) - * @method static \Illuminate\Http\Client\PendingRequest withOptions(array $options) - * @method static \Illuminate\Http\Client\PendingRequest withMiddleware(callable $middleware) - * @method static \Illuminate\Http\Client\PendingRequest withRequestMiddleware(callable $middleware) - * @method static \Illuminate\Http\Client\PendingRequest withResponseMiddleware(callable $middleware) - * @method static \Illuminate\Http\Client\PendingRequest beforeSending(callable $callback) - * @method static \Illuminate\Http\Client\PendingRequest throw(callable|null $callback = null) - * @method static \Illuminate\Http\Client\PendingRequest throwIf(callable|bool $condition, callable|null $throwCallback = null) - * @method static \Illuminate\Http\Client\PendingRequest throwUnless(bool $condition) - * @method static \Illuminate\Http\Client\PendingRequest dump() - * @method static \Illuminate\Http\Client\PendingRequest dd() - * @method static \Illuminate\Http\Client\Response get(string $url, array|string|null $query = null) - * @method static \Illuminate\Http\Client\Response head(string $url, array|string|null $query = null) - * @method static \Illuminate\Http\Client\Response post(string $url, array $data = []) - * @method static \Illuminate\Http\Client\Response patch(string $url, array $data = []) - * @method static \Illuminate\Http\Client\Response put(string $url, array $data = []) - * @method static \Illuminate\Http\Client\Response delete(string $url, array $data = []) - * @method static array pool(callable $callback) - * @method static \Illuminate\Http\Client\Response send(string $method, string $url, array $options = []) - * @method static \GuzzleHttp\Client buildClient() - * @method static \GuzzleHttp\Client createClient(\GuzzleHttp\HandlerStack $handlerStack) - * @method static \GuzzleHttp\HandlerStack buildHandlerStack() - * @method static \GuzzleHttp\HandlerStack pushHandlers(\GuzzleHttp\HandlerStack $handlerStack) - * @method static \Closure buildBeforeSendingHandler() - * @method static \Closure buildRecorderHandler() - * @method static \Closure buildStubHandler() - * @method static \GuzzleHttp\Psr7\RequestInterface runBeforeSendingCallbacks(\GuzzleHttp\Psr7\RequestInterface $request, array $options) - * @method static array mergeOptions(array ...$options) - * @method static \Illuminate\Http\Client\PendingRequest stub(callable $callback) - * @method static \Illuminate\Http\Client\PendingRequest async(bool $async = true) - * @method static \GuzzleHttp\Promise\PromiseInterface|null getPromise() - * @method static \Illuminate\Http\Client\PendingRequest setClient(\GuzzleHttp\Client $client) - * @method static \Illuminate\Http\Client\PendingRequest setHandler(callable $handler) - * @method static array getOptions() - * @method static \Illuminate\Http\Client\PendingRequest|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) - * @method static \Illuminate\Http\Client\PendingRequest|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) - * @see \Illuminate\Http\Client\Factory - */ class Http { - /** - * Add middleware to apply to every request. - * - * @param callable $middleware - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function globalMiddleware($middleware) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->globalMiddleware($middleware); - } - /** - * Add request middleware to apply to every request. - * - * @param callable $middleware - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function globalRequestMiddleware($middleware) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->globalRequestMiddleware($middleware); - } - /** - * Add response middleware to apply to every request. - * - * @param callable $middleware - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function globalResponseMiddleware($middleware) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->globalResponseMiddleware($middleware); - } - /** - * Set the options to apply to every request. - * - * @param array $options - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function globalOptions($options) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->globalOptions($options); - } - /** - * Create a new response instance for use during stubbing. - * - * @param array|string|null $body - * @param int $status - * @param array $headers - * @return \GuzzleHttp\Promise\PromiseInterface - * @static - */ public static function response($body = null, $status = 200, $headers = []) - { - return \Illuminate\Http\Client\Factory::response($body, $status, $headers); - } - /** - * Get an invokable object that returns a sequence of responses in order for use during stubbing. - * - * @param array $responses - * @return \Illuminate\Http\Client\ResponseSequence - * @static - */ public static function sequence($responses = []) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->sequence($responses); - } - /** - * Register a stub callable that will intercept requests and be able to return stub responses. - * - * @param callable|array|null $callback - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function fake($callback = null) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->fake($callback); - } - /** - * Register a response sequence for the given URL pattern. - * - * @param string $url - * @return \Illuminate\Http\Client\ResponseSequence - * @static - */ public static function fakeSequence($url = '*') - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->fakeSequence($url); - } - /** - * Stub the given URL using the given callback. - * - * @param string $url - * @param \Illuminate\Http\Client\Response|\GuzzleHttp\Promise\PromiseInterface|callable $callback - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function stubUrl($url, $callback) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->stubUrl($url, $callback); - } - /** - * Indicate that an exception should be thrown if any request is not faked. - * - * @param bool $prevent - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function preventStrayRequests($prevent = true) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->preventStrayRequests($prevent); - } - /** - * Indicate that an exception should not be thrown if any request is not faked. - * - * @return \Illuminate\Http\Client\Factory - * @static - */ public static function allowStrayRequests() - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->allowStrayRequests(); - } - /** - * Record a request response pair. - * - * @param \Illuminate\Http\Client\Request $request - * @param \Illuminate\Http\Client\Response $response - * @return void - * @static - */ public static function recordRequestResponsePair($request, $response) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->recordRequestResponsePair($request, $response); - } - /** - * Assert that a request / response pair was recorded matching a given truth test. - * - * @param callable $callback - * @return void - * @static - */ public static function assertSent($callback) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->assertSent($callback); - } - /** - * Assert that the given request was sent in the given order. - * - * @param array $callbacks - * @return void - * @static - */ public static function assertSentInOrder($callbacks) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->assertSentInOrder($callbacks); - } - /** - * Assert that a request / response pair was not recorded matching a given truth test. - * - * @param callable $callback - * @return void - * @static - */ public static function assertNotSent($callback) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->assertNotSent($callback); - } - /** - * Assert that no request / response pair was recorded. - * - * @return void - * @static - */ public static function assertNothingSent() - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->assertNothingSent(); - } - /** - * Assert how many requests have been recorded. - * - * @param int $count - * @return void - * @static - */ public static function assertSentCount($count) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->assertSentCount($count); - } - /** - * Assert that every created response sequence is empty. - * - * @return void - * @static - */ public static function assertSequencesAreEmpty() - { - /** @var \Illuminate\Http\Client\Factory $instance */ - $instance->assertSequencesAreEmpty(); - } - /** - * Get a collection of the request / response pairs matching the given truth test. - * - * @param callable $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function recorded($callback = null) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->recorded($callback); - } - /** - * Get the current event dispatcher implementation. - * - * @return \Illuminate\Contracts\Events\Dispatcher|null - * @static - */ public static function getDispatcher() - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->getDispatcher(); - } - /** - * Get the array of global middleware. - * - * @return array - * @static - */ public static function getGlobalMiddleware() - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->getGlobalMiddleware(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Http\Client\Factory::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Http\Client\Factory::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Http\Client\Factory::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Http\Client\Factory::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Http\Client\Factory $instance */ - return $instance->macroCall($method, $parameters); - } - } - /** - * - * - * @see \Illuminate\Translation\Translator - */ class Lang { - /** - * Determine if a translation exists for a given locale. - * - * @param string $key - * @param string|null $locale - * @return bool - * @static - */ public static function hasForLocale($key, $locale = null) - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->hasForLocale($key, $locale); - } - /** - * Determine if a translation exists. - * - * @param string $key - * @param string|null $locale - * @param bool $fallback - * @return bool - * @static - */ public static function has($key, $locale = null, $fallback = true) - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->has($key, $locale, $fallback); - } - /** - * Get the translation for the given key. - * - * @param string $key - * @param array $replace - * @param string|null $locale - * @param bool $fallback - * @return string|array - * @static - */ public static function get($key, $replace = [], $locale = null, $fallback = true) - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->get($key, $replace, $locale, $fallback); - } - /** - * Get a translation according to an integer value. - * - * @param string $key - * @param \Countable|int|float|array $number - * @param array $replace - * @param string|null $locale - * @return string - * @static - */ public static function choice($key, $number, $replace = [], $locale = null) - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->choice($key, $number, $replace, $locale); - } - /** - * Add translation lines to the given locale. - * - * @param array $lines - * @param string $locale - * @param string $namespace - * @return void - * @static - */ public static function addLines($lines, $locale, $namespace = '*') - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->addLines($lines, $locale, $namespace); - } - /** - * Load the specified language group. - * - * @param string $namespace - * @param string $group - * @param string $locale - * @return void - * @static - */ public static function load($namespace, $group, $locale) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->load($namespace, $group, $locale); - } - /** - * Register a callback that is responsible for handling missing translation keys. - * - * @param callable|null $callback - * @return static - * @static - */ public static function handleMissingKeysUsing($callback) - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->handleMissingKeysUsing($callback); - } - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string $hint - * @return void - * @static - */ public static function addNamespace($namespace, $hint) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->addNamespace($namespace, $hint); - } - /** - * Add a new JSON path to the loader. - * - * @param string $path - * @return void - * @static - */ public static function addJsonPath($path) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->addJsonPath($path); - } - /** - * Parse a key into namespace, group, and item. - * - * @param string $key - * @return array - * @static - */ public static function parseKey($key) - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->parseKey($key); - } - /** - * Specify a callback that should be invoked to determined the applicable locale array. - * - * @param callable $callback - * @return void - * @static - */ public static function determineLocalesUsing($callback) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->determineLocalesUsing($callback); - } - /** - * Get the message selector instance. - * - * @return \Illuminate\Translation\MessageSelector - * @static - */ public static function getSelector() - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->getSelector(); - } - /** - * Set the message selector instance. - * - * @param \Illuminate\Translation\MessageSelector $selector - * @return void - * @static - */ public static function setSelector($selector) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->setSelector($selector); - } - /** - * Get the language line loader implementation. - * - * @return \Illuminate\Contracts\Translation\Loader - * @static - */ public static function getLoader() - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->getLoader(); - } - /** - * Get the default locale being used. - * - * @return string - * @static - */ public static function locale() - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->locale(); - } - /** - * Get the default locale being used. - * - * @return string - * @static - */ public static function getLocale() - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->getLocale(); - } - /** - * Set the default locale. - * - * @param string $locale - * @return void - * @throws \InvalidArgumentException - * @static - */ public static function setLocale($locale) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->setLocale($locale); - } - /** - * Get the fallback locale being used. - * - * @return string - * @static - */ public static function getFallback() - { - /** @var \Illuminate\Translation\Translator $instance */ - return $instance->getFallback(); - } - /** - * Set the fallback locale being used. - * - * @param string $fallback - * @return void - * @static - */ public static function setFallback($fallback) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->setFallback($fallback); - } - /** - * Set the loaded translation groups. - * - * @param array $loaded - * @return void - * @static - */ public static function setLoaded($loaded) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->setLoaded($loaded); - } - /** - * Add a handler to be executed in order to format a given class to a string during translation replacements. - * - * @param callable|string $class - * @param callable|null $handler - * @return void - * @static - */ public static function stringable($class, $handler = null) - { - /** @var \Illuminate\Translation\Translator $instance */ - $instance->stringable($class, $handler); - } - /** - * Set the parsed value of a key. - * - * @param string $key - * @param array $parsed - * @return void - * @static - */ public static function setParsedKey($key, $parsed) - { //Method inherited from \Illuminate\Support\NamespacedItemResolver - /** @var \Illuminate\Translation\Translator $instance */ - $instance->setParsedKey($key, $parsed); - } - /** - * Flush the cache of parsed keys. - * - * @return void - * @static - */ public static function flushParsedKeys() - { //Method inherited from \Illuminate\Support\NamespacedItemResolver - /** @var \Illuminate\Translation\Translator $instance */ - $instance->flushParsedKeys(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Translation\Translator::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Translation\Translator::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Translation\Translator::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Translation\Translator::flushMacros(); - } - } - /** - * - * - * @method static void write(string $level, \Illuminate\Contracts\Support\Arrayable|\Illuminate\Contracts\Support\Jsonable|\Illuminate\Support\Stringable|array|string $message, array $context = []) - * @method static \Illuminate\Log\Logger withContext(array $context = []) - * @method static void listen(\Closure $callback) - * @method static \Psr\Log\LoggerInterface getLogger() - * @method static \Illuminate\Contracts\Events\Dispatcher getEventDispatcher() - * @method static void setEventDispatcher(\Illuminate\Contracts\Events\Dispatcher $dispatcher) - * @method static \Illuminate\Log\Logger|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) - * @method static \Illuminate\Log\Logger|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) - * @see \Illuminate\Log\LogManager - */ class Log { - /** - * Build an on-demand log channel. - * - * @param array $config - * @return \Psr\Log\LoggerInterface - * @static - */ public static function build($config) - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->build($config); - } - /** - * Create a new, on-demand aggregate logger instance. - * - * @param array $channels - * @param string|null $channel - * @return \Psr\Log\LoggerInterface - * @static - */ public static function stack($channels, $channel = null) - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->stack($channels, $channel); - } - /** - * Get a log channel instance. - * - * @param string|null $channel - * @return \Psr\Log\LoggerInterface - * @static - */ public static function channel($channel = null) - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->channel($channel); - } - /** - * Get a log driver instance. - * - * @param string|null $driver - * @return \Psr\Log\LoggerInterface - * @static - */ public static function driver($driver = null) - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->driver($driver); - } - /** - * Share context across channels and stacks. - * - * @param array $context - * @return \Illuminate\Log\LogManager - * @static - */ public static function shareContext($context) - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->shareContext($context); - } - /** - * The context shared across channels and stacks. - * - * @return array - * @static - */ public static function sharedContext() - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->sharedContext(); - } - /** - * Flush the log context on all currently resolved channels. - * - * @return \Illuminate\Log\LogManager - * @static - */ public static function withoutContext() - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->withoutContext(); - } - /** - * Flush the shared context. - * - * @return \Illuminate\Log\LogManager - * @static - */ public static function flushSharedContext() - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->flushSharedContext(); - } - /** - * Get the default log driver name. - * - * @return string|null - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default log driver name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Log\LogManager - * @static - */ public static function extend($driver, $callback) - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Unset the given channel instance. - * - * @param string|null $driver - * @return void - * @static - */ public static function forgetChannel($driver = null) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->forgetChannel($driver); - } - /** - * Get all of the resolved log channels. - * - * @return array - * @static - */ public static function getChannels() - { - /** @var \Illuminate\Log\LogManager $instance */ - return $instance->getChannels(); - } - /** - * System is unusable. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function emergency($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->emergency($message, $context); - } - /** - * Action must be taken immediately. - * - * Example: Entire website down, database unavailable, etc. This should - * trigger the SMS alerts and wake you up. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function alert($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->alert($message, $context); - } - /** - * Critical conditions. - * - * Example: Application component unavailable, unexpected exception. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function critical($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->critical($message, $context); - } - /** - * Runtime errors that do not require immediate action but should typically - * be logged and monitored. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function error($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->error($message, $context); - } - /** - * Exceptional occurrences that are not errors. - * - * Example: Use of deprecated APIs, poor use of an API, undesirable things - * that are not necessarily wrong. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function warning($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->warning($message, $context); - } - /** - * Normal but significant events. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function notice($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->notice($message, $context); - } - /** - * Interesting events. - * - * Example: User logs in, SQL logs. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function info($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->info($message, $context); - } - /** - * Detailed debug information. - * - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function debug($message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->debug($message, $context); - } - /** - * Logs with an arbitrary level. - * - * @param mixed $level - * @param string|\Stringable $message - * @param array $context - * @return void - * @static - */ public static function log($level, $message, $context = []) - { - /** @var \Illuminate\Log\LogManager $instance */ - $instance->log($level, $message, $context); - } - } - /** - * - * - * @method static void alwaysFrom(string $address, string|null $name = null) - * @method static void alwaysReplyTo(string $address, string|null $name = null) - * @method static void alwaysReturnPath(string $address) - * @method static void alwaysTo(string $address, string|null $name = null) - * @method static \Illuminate\Mail\SentMessage|null html(string $html, mixed $callback) - * @method static \Illuminate\Mail\SentMessage|null plain(string $view, array $data, mixed $callback) - * @method static string render(string|array $view, array $data = []) - * @method static mixed onQueue(string $queue, \Illuminate\Contracts\Mail\Mailable $view) - * @method static mixed queueOn(string $queue, \Illuminate\Contracts\Mail\Mailable $view) - * @method static mixed laterOn(string $queue, \DateTimeInterface|\DateInterval|int $delay, \Illuminate\Contracts\Mail\Mailable $view) - * @method static \Symfony\Component\Mailer\Transport\TransportInterface getSymfonyTransport() - * @method static \Illuminate\Contracts\View\Factory getViewFactory() - * @method static void setSymfonyTransport(\Symfony\Component\Mailer\Transport\TransportInterface $transport) - * @method static \Illuminate\Mail\Mailer setQueue(\Illuminate\Contracts\Queue\Factory $queue) - * @method static void macro(string $name, object|callable $macro) - * @method static void mixin(object $mixin, bool $replace = true) - * @method static bool hasMacro(string $name) - * @method static void flushMacros() - * @see \Illuminate\Mail\MailManager - * @see \Illuminate\Support\Testing\Fakes\MailFake - */ class Mail { - /** - * Get a mailer instance by name. - * - * @param string|null $name - * @return \Illuminate\Contracts\Mail\Mailer - * @static - */ public static function mailer($name = null) - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->mailer($name); - } - /** - * Get a mailer driver instance. - * - * @param string|null $driver - * @return \Illuminate\Mail\Mailer - * @static - */ public static function driver($driver = null) - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->driver($driver); - } - /** - * Create a new transport instance. - * - * @param array $config - * @return \Symfony\Component\Mailer\Transport\TransportInterface - * @throws \InvalidArgumentException - * @static - */ public static function createSymfonyTransport($config) - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->createSymfonyTransport($config); - } - /** - * Get the default mail driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default mail driver name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Mail\MailManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Disconnect the given mailer and remove from local cache. - * - * @param string|null $name - * @return void - * @static - */ public static function purge($name = null) - { - /** @var \Illuminate\Mail\MailManager $instance */ - $instance->purge($name); - } - /** - * Register a custom transport creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Mail\MailManager - * @static - */ public static function extend($driver, $callback) - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Get the application instance used by the manager. - * - * @return \Illuminate\Contracts\Foundation\Application - * @static - */ public static function getApplication() - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->getApplication(); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Mail\MailManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->setApplication($app); - } - /** - * Forget all of the resolved mailer instances. - * - * @return \Illuminate\Mail\MailManager - * @static - */ public static function forgetMailers() - { - /** @var \Illuminate\Mail\MailManager $instance */ - return $instance->forgetMailers(); - } - /** - * Assert if a mailable was sent based on a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertSent($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertSent($mailable, $callback); - } - /** - * Determine if a mailable was not sent or queued to be sent based on a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotOutgoing($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertNotOutgoing($mailable, $callback); - } - /** - * Determine if a mailable was not sent based on a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotSent($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertNotSent($mailable, $callback); - } - /** - * Assert that no mailables were sent or queued to be sent. - * - * @return void - * @static - */ public static function assertNothingOutgoing() - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertNothingOutgoing(); - } - /** - * Assert that no mailables were sent. - * - * @return void - * @static - */ public static function assertNothingSent() - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertNothingSent(); - } - /** - * Assert if a mailable was queued based on a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertQueued($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertQueued($mailable, $callback); - } - /** - * Determine if a mailable was not queued based on a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotQueued($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertNotQueued($mailable, $callback); - } - /** - * Assert that no mailables were queued. - * - * @return void - * @static - */ public static function assertNothingQueued() - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertNothingQueued(); - } - /** - * Assert the total number of mailables that were sent. - * - * @param int $count - * @return void - * @static - */ public static function assertSentCount($count) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertSentCount($count); - } - /** - * Assert the total number of mailables that were queued. - * - * @param int $count - * @return void - * @static - */ public static function assertQueuedCount($count) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertQueuedCount($count); - } - /** - * Assert the total number of mailables that were sent or queued. - * - * @param int $count - * @return void - * @static - */ public static function assertOutgoingCount($count) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->assertOutgoingCount($count); - } - /** - * Get all of the mailables matching a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function sent($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->sent($mailable, $callback); - } - /** - * Determine if the given mailable has been sent. - * - * @param string $mailable - * @return bool - * @static - */ public static function hasSent($mailable) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->hasSent($mailable); - } - /** - * Get all of the queued mailables matching a truth-test callback. - * - * @param string|\Closure $mailable - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function queued($mailable, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->queued($mailable, $callback); - } - /** - * Determine if the given mailable has been queued. - * - * @param string $mailable - * @return bool - * @static - */ public static function hasQueued($mailable) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->hasQueued($mailable); - } - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static - */ public static function to($users) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->to($users); - } - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static - */ public static function cc($users) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->cc($users); - } - /** - * Begin the process of mailing a mailable class instance. - * - * @param mixed $users - * @return \Illuminate\Mail\PendingMail - * @static - */ public static function bcc($users) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->bcc($users); - } - /** - * Send a new message with only a raw text part. - * - * @param string $text - * @param \Closure|string $callback - * @return void - * @static - */ public static function raw($text, $callback) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->raw($text, $callback); - } - /** - * Send a new message using a view. - * - * @param \Illuminate\Contracts\Mail\Mailable|string|array $view - * @param array $data - * @param \Closure|string|null $callback - * @return void - * @static - */ public static function send($view, $data = [], $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - $instance->send($view, $data, $callback); - } - /** - * Queue a new e-mail message for sending. - * - * @param \Illuminate\Contracts\Mail\Mailable|string|array $view - * @param string|null $queue - * @return mixed - * @static - */ public static function queue($view, $queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->queue($view, $queue); - } - /** - * Queue a new e-mail message for sending after (n) seconds. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param \Illuminate\Contracts\Mail\Mailable|string|array $view - * @param string|null $queue - * @return mixed - * @static - */ public static function later($delay, $view, $queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\MailFake $instance */ - return $instance->later($delay, $view, $queue); - } - } - /** - * - * - * @see \Illuminate\Notifications\ChannelManager - * @see \Illuminate\Support\Testing\Fakes\NotificationFake - */ class Notification { - /** - * Send the given notification to the given notifiable entities. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @return void - * @static - */ public static function send($notifiables, $notification) - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - $instance->send($notifiables, $notification); - } - /** - * Send the given notification immediately. - * - * @param \Illuminate\Support\Collection|array|mixed $notifiables - * @param mixed $notification - * @param array|null $channels - * @return void - * @static - */ public static function sendNow($notifiables, $notification, $channels = null) - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - $instance->sendNow($notifiables, $notification, $channels); - } - /** - * Get a channel instance. - * - * @param string|null $name - * @return mixed - * @static - */ public static function channel($name = null) - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->channel($name); - } - /** - * Get the default channel driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Get the default channel driver name. - * - * @return string - * @static - */ public static function deliversVia() - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->deliversVia(); - } - /** - * Set the default channel driver name. - * - * @param string $channel - * @return void - * @static - */ public static function deliverVia($channel) - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - $instance->deliverVia($channel); - } - /** - * Set the locale of notifications. - * - * @param string $locale - * @return \Illuminate\Notifications\ChannelManager - * @static - */ public static function locale($locale) - { - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->locale($locale); - } - /** - * Get a driver instance. - * - * @param string|null $driver - * @return mixed - * @throws \InvalidArgumentException - * @static - */ public static function driver($driver = null) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->driver($driver); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Notifications\ChannelManager - * @static - */ public static function extend($driver, $callback) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Get all of the created "drivers". - * - * @return array - * @static - */ public static function getDrivers() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->getDrivers(); - } - /** - * Get the container instance used by the manager. - * - * @return \Illuminate\Contracts\Container\Container - * @static - */ public static function getContainer() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->getContainer(); - } - /** - * Set the container instance used by the manager. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return \Illuminate\Notifications\ChannelManager - * @static - */ public static function setContainer($container) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->setContainer($container); - } - /** - * Forget all of the resolved driver instances. - * - * @return \Illuminate\Notifications\ChannelManager - * @static - */ public static function forgetDrivers() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Notifications\ChannelManager $instance */ - return $instance->forgetDrivers(); - } - /** - * Assert if a notification was sent on-demand based on a truth-test callback. - * - * @param string|\Closure $notification - * @param callable|null $callback - * @return void - * @throws \Exception - * @static - */ public static function assertSentOnDemand($notification, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertSentOnDemand($notification, $callback); - } - /** - * Assert if a notification was sent based on a truth-test callback. - * - * @param mixed $notifiable - * @param string|\Closure $notification - * @param callable|null $callback - * @return void - * @throws \Exception - * @static - */ public static function assertSentTo($notifiable, $notification, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertSentTo($notifiable, $notification, $callback); - } - /** - * Assert if a notification was sent on-demand a number of times. - * - * @param string $notification - * @param int $times - * @return void - * @static - */ public static function assertSentOnDemandTimes($notification, $times = 1) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertSentOnDemandTimes($notification, $times); - } - /** - * Assert if a notification was sent a number of times. - * - * @param mixed $notifiable - * @param string $notification - * @param int $times - * @return void - * @static - */ public static function assertSentToTimes($notifiable, $notification, $times = 1) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertSentToTimes($notifiable, $notification, $times); - } - /** - * Determine if a notification was sent based on a truth-test callback. - * - * @param mixed $notifiable - * @param string|\Closure $notification - * @param callable|null $callback - * @return void - * @throws \Exception - * @static - */ public static function assertNotSentTo($notifiable, $notification, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertNotSentTo($notifiable, $notification, $callback); - } - /** - * Assert that no notifications were sent. - * - * @return void - * @static - */ public static function assertNothingSent() - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertNothingSent(); - } - /** - * Assert that no notifications were sent to the given notifiable. - * - * @param mixed $notifiable - * @return void - * @throws \Exception - * @static - */ public static function assertNothingSentTo($notifiable) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertNothingSentTo($notifiable); - } - /** - * Assert the total amount of times a notification was sent. - * - * @param string $notification - * @param int $expectedCount - * @return void - * @static - */ public static function assertSentTimes($notification, $expectedCount) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertSentTimes($notification, $expectedCount); - } - /** - * Assert the total count of notification that were sent. - * - * @param int $expectedCount - * @return void - * @static - */ public static function assertCount($expectedCount) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - $instance->assertCount($expectedCount); - } - /** - * Get all of the notifications matching a truth-test callback. - * - * @param mixed $notifiable - * @param string $notification - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function sent($notifiable, $notification, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - return $instance->sent($notifiable, $notification, $callback); - } - /** - * Determine if there are more notifications left to inspect. - * - * @param mixed $notifiable - * @param string $notification - * @return bool - * @static - */ public static function hasSent($notifiable, $notification) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - return $instance->hasSent($notifiable, $notification); - } - /** - * Specify if notification should be serialized and restored when being "pushed" to the queue. - * - * @param bool $serializeAndRestore - * @return \Illuminate\Support\Testing\Fakes\NotificationFake - * @static - */ public static function serializeAndRestore($serializeAndRestore = true) - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - return $instance->serializeAndRestore($serializeAndRestore); - } - /** - * Get the notifications that have been sent. - * - * @return array - * @static - */ public static function sentNotifications() - { - /** @var \Illuminate\Support\Testing\Fakes\NotificationFake $instance */ - return $instance->sentNotifications(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Support\Testing\Fakes\NotificationFake::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Support\Testing\Fakes\NotificationFake::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Support\Testing\Fakes\NotificationFake::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Support\Testing\Fakes\NotificationFake::flushMacros(); - } - } - /** - * - * - * @method static string sendResetLink(array $credentials, \Closure|null $callback = null) - * @method static mixed reset(array $credentials, \Closure $callback) - * @method static \Illuminate\Contracts\Auth\CanResetPassword|null getUser(array $credentials) - * @method static string createToken(\Illuminate\Contracts\Auth\CanResetPassword $user) - * @method static void deleteToken(\Illuminate\Contracts\Auth\CanResetPassword $user) - * @method static bool tokenExists(\Illuminate\Contracts\Auth\CanResetPassword $user, string $token) - * @method static \Illuminate\Auth\Passwords\TokenRepositoryInterface getRepository() - * @see \Illuminate\Auth\Passwords\PasswordBrokerManager - * @see \Illuminate\Auth\Passwords\PasswordBroker - */ class Password { - /** - * Attempt to get the broker from the local cache. - * - * @param string|null $name - * @return \Illuminate\Contracts\Auth\PasswordBroker - * @static - */ public static function broker($name = null) - { - /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ - return $instance->broker($name); - } - /** - * Get the default password broker name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default password broker name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Auth\Passwords\PasswordBrokerManager $instance */ - $instance->setDefaultDriver($name); - } - } - /** - * - * - * @method static \Illuminate\Process\PendingProcess command(array|string $command) - * @method static \Illuminate\Process\PendingProcess path(string $path) - * @method static \Illuminate\Process\PendingProcess timeout(int $timeout) - * @method static \Illuminate\Process\PendingProcess idleTimeout(int $timeout) - * @method static \Illuminate\Process\PendingProcess forever() - * @method static \Illuminate\Process\PendingProcess env(array $environment) - * @method static \Illuminate\Process\PendingProcess input(\Traversable|resource|string|int|float|bool|null $input) - * @method static \Illuminate\Process\PendingProcess quietly() - * @method static \Illuminate\Process\PendingProcess tty(bool $tty = true) - * @method static \Illuminate\Process\PendingProcess options(array $options) - * @method static \Illuminate\Contracts\Process\ProcessResult run(array|string|null $command = null, callable|null $output = null) - * @method static \Illuminate\Process\InvokedProcess start(array|string|null $command = null, callable|null $output = null) - * @method static \Illuminate\Process\PendingProcess withFakeHandlers(array $fakeHandlers) - * @method static \Illuminate\Process\PendingProcess|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) - * @method static \Illuminate\Process\PendingProcess|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null) - * @see \Illuminate\Process\PendingProcess - * @see \Illuminate\Process\Factory - */ class Process { - /** - * Create a new fake process response for testing purposes. - * - * @param array|string $output - * @param array|string $errorOutput - * @param int $exitCode - * @return \Illuminate\Process\FakeProcessResult - * @static - */ public static function result($output = '', $errorOutput = '', $exitCode = 0) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->result($output, $errorOutput, $exitCode); - } - /** - * Begin describing a fake process lifecycle. - * - * @return \Illuminate\Process\FakeProcessDescription - * @static - */ public static function describe() - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->describe(); - } - /** - * Begin describing a fake process sequence. - * - * @param array $processes - * @return \Illuminate\Process\FakeProcessSequence - * @static - */ public static function sequence($processes = []) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->sequence($processes); - } - /** - * Indicate that the process factory should fake processes. - * - * @param \Closure|array|null $callback - * @return \Illuminate\Process\Factory - * @static - */ public static function fake($callback = null) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->fake($callback); - } - /** - * Determine if the process factory has fake process handlers and is recording processes. - * - * @return bool - * @static - */ public static function isRecording() - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->isRecording(); - } - /** - * Record the given process if processes should be recorded. - * - * @param \Illuminate\Process\PendingProcess $process - * @param \Illuminate\Contracts\Process\ProcessResult $result - * @return \Illuminate\Process\Factory - * @static - */ public static function recordIfRecording($process, $result) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->recordIfRecording($process, $result); - } - /** - * Record the given process. - * - * @param \Illuminate\Process\PendingProcess $process - * @param \Illuminate\Contracts\Process\ProcessResult $result - * @return \Illuminate\Process\Factory - * @static - */ public static function record($process, $result) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->record($process, $result); - } - /** - * Indicate that an exception should be thrown if any process is not faked. - * - * @param bool $prevent - * @return \Illuminate\Process\Factory - * @static - */ public static function preventStrayProcesses($prevent = true) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->preventStrayProcesses($prevent); - } - /** - * Determine if stray processes are being prevented. - * - * @return bool - * @static - */ public static function preventingStrayProcesses() - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->preventingStrayProcesses(); - } - /** - * Assert that a process was recorded matching a given truth test. - * - * @param \Closure|string $callback - * @return \Illuminate\Process\Factory - * @static - */ public static function assertRan($callback) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->assertRan($callback); - } - /** - * Assert that a process was recorded a given number of times matching a given truth test. - * - * @param \Closure|string $callback - * @param int $times - * @return \Illuminate\Process\Factory - * @static - */ public static function assertRanTimes($callback, $times = 1) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->assertRanTimes($callback, $times); - } - /** - * Assert that a process was not recorded matching a given truth test. - * - * @param \Closure|string $callback - * @return \Illuminate\Process\Factory - * @static - */ public static function assertNotRan($callback) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->assertNotRan($callback); - } - /** - * Assert that a process was not recorded matching a given truth test. - * - * @param \Closure|string $callback - * @return \Illuminate\Process\Factory - * @static - */ public static function assertDidntRun($callback) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->assertDidntRun($callback); - } - /** - * Assert that no processes were recorded. - * - * @return \Illuminate\Process\Factory - * @static - */ public static function assertNothingRan() - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->assertNothingRan(); - } - /** - * Start defining a pool of processes. - * - * @param callable $callback - * @return \Illuminate\Process\Pool - * @static - */ public static function pool($callback) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->pool($callback); - } - /** - * Start defining a series of piped processes. - * - * @param callable|array $callback - * @return \Illuminate\Contracts\Process\ProcessResult - * @static - */ public static function pipe($callback, $output = null) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->pipe($callback, $output); - } - /** - * Run a pool of processes and wait for them to finish executing. - * - * @param callable $callback - * @param callable|null $output - * @return \Illuminate\Process\ProcessPoolResults - * @static - */ public static function concurrently($callback, $output = null) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->concurrently($callback, $output); - } - /** - * Create a new pending process associated with this factory. - * - * @return \Illuminate\Process\PendingProcess - * @static - */ public static function newPendingProcess() - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->newPendingProcess(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Process\Factory::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Process\Factory::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Process\Factory::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Process\Factory::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Process\Factory $instance */ - return $instance->macroCall($method, $parameters); - } - } - /** - * - * - * @see \Illuminate\Queue\QueueManager - * @see \Illuminate\Queue\Queue - * @see \Illuminate\Support\Testing\Fakes\QueueFake - */ class Queue { - /** - * Register an event listener for the before job event. - * - * @param mixed $callback - * @return void - * @static - */ public static function before($callback) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->before($callback); - } - /** - * Register an event listener for the after job event. - * - * @param mixed $callback - * @return void - * @static - */ public static function after($callback) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->after($callback); - } - /** - * Register an event listener for the exception occurred job event. - * - * @param mixed $callback - * @return void - * @static - */ public static function exceptionOccurred($callback) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->exceptionOccurred($callback); - } - /** - * Register an event listener for the daemon queue loop. - * - * @param mixed $callback - * @return void - * @static - */ public static function looping($callback) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->looping($callback); - } - /** - * Register an event listener for the failed job event. - * - * @param mixed $callback - * @return void - * @static - */ public static function failing($callback) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->failing($callback); - } - /** - * Register an event listener for the daemon queue stopping. - * - * @param mixed $callback - * @return void - * @static - */ public static function stopping($callback) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->stopping($callback); - } - /** - * Determine if the driver is connected. - * - * @param string|null $name - * @return bool - * @static - */ public static function connected($name = null) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - return $instance->connected($name); - } - /** - * Resolve a queue connection instance. - * - * @param string|null $name - * @return \Illuminate\Contracts\Queue\Queue - * @static - */ public static function connection($name = null) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - return $instance->connection($name); - } - /** - * Add a queue connection resolver. - * - * @param string $driver - * @param \Closure $resolver - * @return void - * @static - */ public static function extend($driver, $resolver) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->extend($driver, $resolver); - } - /** - * Add a queue connection resolver. - * - * @param string $driver - * @param \Closure $resolver - * @return void - * @static - */ public static function addConnector($driver, $resolver) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->addConnector($driver, $resolver); - } - /** - * Get the name of the default queue connection. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Queue\QueueManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the name of the default queue connection. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Get the full name for the given connection. - * - * @param string|null $connection - * @return string - * @static - */ public static function getName($connection = null) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - return $instance->getName($connection); - } - /** - * Get the application instance used by the manager. - * - * @return \Illuminate\Contracts\Foundation\Application - * @static - */ public static function getApplication() - { - /** @var \Illuminate\Queue\QueueManager $instance */ - return $instance->getApplication(); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Queue\QueueManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Queue\QueueManager $instance */ - return $instance->setApplication($app); - } - /** - * Specify the jobs that should be queued instead of faked. - * - * @param array|string $jobsToBeQueued - * @return \Illuminate\Support\Testing\Fakes\QueueFake - * @static - */ public static function except($jobsToBeQueued) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->except($jobsToBeQueued); - } - /** - * Assert if a job was pushed based on a truth-test callback. - * - * @param string|\Closure $job - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertPushed($job, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertPushed($job, $callback); - } - /** - * Assert if a job was pushed based on a truth-test callback. - * - * @param string $queue - * @param string|\Closure $job - * @param callable|null $callback - * @return void - * @static - */ public static function assertPushedOn($queue, $job, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertPushedOn($queue, $job, $callback); - } - /** - * Assert if a job was pushed with chained jobs based on a truth-test callback. - * - * @param string $job - * @param array $expectedChain - * @param callable|null $callback - * @return void - * @static - */ public static function assertPushedWithChain($job, $expectedChain = [], $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertPushedWithChain($job, $expectedChain, $callback); - } - /** - * Assert if a job was pushed with an empty chain based on a truth-test callback. - * - * @param string $job - * @param callable|null $callback - * @return void - * @static - */ public static function assertPushedWithoutChain($job, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertPushedWithoutChain($job, $callback); - } - /** - * Assert if a closure was pushed based on a truth-test callback. - * - * @param callable|int|null $callback - * @return void - * @static - */ public static function assertClosurePushed($callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertClosurePushed($callback); - } - /** - * Assert that a closure was not pushed based on a truth-test callback. - * - * @param callable|null $callback - * @return void - * @static - */ public static function assertClosureNotPushed($callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertClosureNotPushed($callback); - } - /** - * Determine if a job was pushed based on a truth-test callback. - * - * @param string|\Closure $job - * @param callable|null $callback - * @return void - * @static - */ public static function assertNotPushed($job, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertNotPushed($job, $callback); - } - /** - * Assert the total count of jobs that were pushed. - * - * @param int $expectedCount - * @return void - * @static - */ public static function assertCount($expectedCount) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertCount($expectedCount); - } - /** - * Assert that no jobs were pushed. - * - * @return void - * @static - */ public static function assertNothingPushed() - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - $instance->assertNothingPushed(); - } - /** - * Get all of the jobs matching a truth-test callback. - * - * @param string $job - * @param callable|null $callback - * @return \Illuminate\Support\Collection - * @static - */ public static function pushed($job, $callback = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->pushed($job, $callback); - } - /** - * Determine if there are any stored jobs for a given class. - * - * @param string $job - * @return bool - * @static - */ public static function hasPushed($job) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->hasPushed($job); - } - /** - * Get the size of the queue. - * - * @param string|null $queue - * @return int - * @static - */ public static function size($queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->size($queue); - } - /** - * Push a new job onto the queue. - * - * @param string|object $job - * @param mixed $data - * @param string|null $queue - * @return mixed - * @static - */ public static function push($job, $data = '', $queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->push($job, $data, $queue); - } - /** - * Determine if a job should be faked or actually dispatched. - * - * @param object $job - * @return bool - * @static - */ public static function shouldFakeJob($job) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->shouldFakeJob($job); - } - /** - * Push a raw payload onto the queue. - * - * @param string $payload - * @param string|null $queue - * @param array $options - * @return mixed - * @static - */ public static function pushRaw($payload, $queue = null, $options = []) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->pushRaw($payload, $queue, $options); - } - /** - * Push a new job onto the queue after (n) seconds. - * - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string|object $job - * @param mixed $data - * @param string|null $queue - * @return mixed - * @static - */ public static function later($delay, $job, $data = '', $queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->later($delay, $job, $data, $queue); - } - /** - * Push a new job onto the queue. - * - * @param string $queue - * @param string|object $job - * @param mixed $data - * @return mixed - * @static - */ public static function pushOn($queue, $job, $data = '') - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->pushOn($queue, $job, $data); - } - /** - * Push a new job onto a specific queue after (n) seconds. - * - * @param string $queue - * @param \DateTimeInterface|\DateInterval|int $delay - * @param string|object $job - * @param mixed $data - * @return mixed - * @static - */ public static function laterOn($queue, $delay, $job, $data = '') - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->laterOn($queue, $delay, $job, $data); - } - /** - * Pop the next job off of the queue. - * - * @param string|null $queue - * @return \Illuminate\Contracts\Queue\Job|null - * @static - */ public static function pop($queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->pop($queue); - } - /** - * Push an array of jobs onto the queue. - * - * @param array $jobs - * @param mixed $data - * @param string|null $queue - * @return mixed - * @static - */ public static function bulk($jobs, $data = '', $queue = null) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->bulk($jobs, $data, $queue); - } - /** - * Get the jobs that have been pushed. - * - * @return array - * @static - */ public static function pushedJobs() - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->pushedJobs(); - } - /** - * Specify if jobs should be serialized and restored when being "pushed" to the queue. - * - * @param bool $serializeAndRestore - * @return \Illuminate\Support\Testing\Fakes\QueueFake - * @static - */ public static function serializeAndRestore($serializeAndRestore = true) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->serializeAndRestore($serializeAndRestore); - } - /** - * Get the connection name for the queue. - * - * @return string - * @static - */ public static function getConnectionName() - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->getConnectionName(); - } - /** - * Set the connection name for the queue. - * - * @param string $name - * @return \Illuminate\Support\Testing\Fakes\QueueFake - * @static - */ public static function setConnectionName($name) - { - /** @var \Illuminate\Support\Testing\Fakes\QueueFake $instance */ - return $instance->setConnectionName($name); - } - /** - * Release a reserved job back onto the queue after (n) seconds. - * - * @param string $queue - * @param \Illuminate\Queue\Jobs\DatabaseJobRecord $job - * @param int $delay - * @return mixed - * @static - */ public static function release($queue, $job, $delay) - { - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->release($queue, $job, $delay); - } - /** - * Delete a reserved job from the queue. - * - * @param string $queue - * @param string $id - * @return void - * @throws \Throwable - * @static - */ public static function deleteReserved($queue, $id) - { - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - $instance->deleteReserved($queue, $id); - } - /** - * Delete a reserved job from the reserved queue and release it. - * - * @param string $queue - * @param \Illuminate\Queue\Jobs\DatabaseJob $job - * @param int $delay - * @return void - * @static - */ public static function deleteAndRelease($queue, $job, $delay) - { - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - $instance->deleteAndRelease($queue, $job, $delay); - } - /** - * Delete all of the jobs from the queue. - * - * @param string $queue - * @return int - * @static - */ public static function clear($queue) - { - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->clear($queue); - } - /** - * Get the queue or return the default. - * - * @param string|null $queue - * @return string - * @static - */ public static function getQueue($queue) - { - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->getQueue($queue); - } - /** - * Get the underlying database instance. - * - * @return \Illuminate\Database\Connection - * @static - */ public static function getDatabase() - { - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->getDatabase(); - } - /** - * Get the maximum number of attempts for an object-based queue handler. - * - * @param mixed $job - * @return mixed - * @static - */ public static function getJobTries($job) - { //Method inherited from \Illuminate\Queue\Queue - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->getJobTries($job); - } - /** - * Get the backoff for an object-based queue handler. - * - * @param mixed $job - * @return mixed - * @static - */ public static function getJobBackoff($job) - { //Method inherited from \Illuminate\Queue\Queue - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->getJobBackoff($job); - } - /** - * Get the expiration timestamp for an object-based queue handler. - * - * @param mixed $job - * @return mixed - * @static - */ public static function getJobExpiration($job) - { //Method inherited from \Illuminate\Queue\Queue - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->getJobExpiration($job); - } - /** - * Register a callback to be executed when creating job payloads. - * - * @param callable|null $callback - * @return void - * @static - */ public static function createPayloadUsing($callback) - { //Method inherited from \Illuminate\Queue\Queue - \Illuminate\Queue\DatabaseQueue::createPayloadUsing($callback); - } - /** - * Get the container instance being used by the connection. - * - * @return \Illuminate\Container\Container - * @static - */ public static function getContainer() - { //Method inherited from \Illuminate\Queue\Queue - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - return $instance->getContainer(); - } - /** - * Set the IoC container instance. - * - * @param \Illuminate\Container\Container $container - * @return void - * @static - */ public static function setContainer($container) - { //Method inherited from \Illuminate\Queue\Queue - /** @var \Illuminate\Queue\DatabaseQueue $instance */ - $instance->setContainer($container); - } - } - /** - * - * - * @see \Illuminate\Cache\RateLimiter - */ class RateLimiter { - /** - * Register a named limiter configuration. - * - * @param string $name - * @param \Closure $callback - * @return \Illuminate\Cache\RateLimiter - * @static - */ public static function for($name, $callback) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->for($name, $callback); - } - /** - * Get the given named rate limiter. - * - * @param string $name - * @return \Closure|null - * @static - */ public static function limiter($name) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->limiter($name); - } - /** - * Attempts to execute a callback if it's not limited. - * - * @param string $key - * @param int $maxAttempts - * @param \Closure $callback - * @param int $decaySeconds - * @return mixed - * @static - */ public static function attempt($key, $maxAttempts, $callback, $decaySeconds = 60) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->attempt($key, $maxAttempts, $callback, $decaySeconds); - } - /** - * Determine if the given key has been "accessed" too many times. - * - * @param string $key - * @param int $maxAttempts - * @return bool - * @static - */ public static function tooManyAttempts($key, $maxAttempts) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->tooManyAttempts($key, $maxAttempts); - } - /** - * Increment (by 1) the counter for a given key for a given decay time. - * - * @param string $key - * @param int $decaySeconds - * @return int - * @static - */ public static function hit($key, $decaySeconds = 60) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->hit($key, $decaySeconds); - } - /** - * Increment the counter for a given key for a given decay time by a given amount. - * - * @param string $key - * @param int $decaySeconds - * @param int $amount - * @return int - * @static - */ public static function increment($key, $decaySeconds = 60, $amount = 1) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->increment($key, $decaySeconds, $amount); - } - /** - * Get the number of attempts for the given key. - * - * @param string $key - * @return mixed - * @static - */ public static function attempts($key) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->attempts($key); - } - /** - * Reset the number of attempts for the given key. - * - * @param string $key - * @return mixed - * @static - */ public static function resetAttempts($key) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->resetAttempts($key); - } - /** - * Get the number of retries left for the given key. - * - * @param string $key - * @param int $maxAttempts - * @return int - * @static - */ public static function remaining($key, $maxAttempts) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->remaining($key, $maxAttempts); - } - /** - * Get the number of retries left for the given key. - * - * @param string $key - * @param int $maxAttempts - * @return int - * @static - */ public static function retriesLeft($key, $maxAttempts) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->retriesLeft($key, $maxAttempts); - } - /** - * Clear the hits and lockout timer for the given key. - * - * @param string $key - * @return void - * @static - */ public static function clear($key) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - $instance->clear($key); - } - /** - * Get the number of seconds until the "key" is accessible again. - * - * @param string $key - * @return int - * @static - */ public static function availableIn($key) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->availableIn($key); - } - /** - * Clean the rate limiter key from unicode characters. - * - * @param string $key - * @return string - * @static - */ public static function cleanRateLimiterKey($key) - { - /** @var \Illuminate\Cache\RateLimiter $instance */ - return $instance->cleanRateLimiterKey($key); - } - } - /** - * - * - * @see \Illuminate\Routing\Redirector - */ class Redirect { - /** - * Create a new redirect response to the previous location. - * - * @param int $status - * @param array $headers - * @param mixed $fallback - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function back($status = 302, $headers = [], $fallback = false) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->back($status, $headers, $fallback); - } - /** - * Create a new redirect response to the current URI. - * - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function refresh($status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->refresh($status, $headers); - } - /** - * Create a new redirect response, while putting the current URL in the session. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function guest($path, $status = 302, $headers = [], $secure = null) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->guest($path, $status, $headers, $secure); - } - /** - * Create a new redirect response to the previously intended location. - * - * @param mixed $default - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function intended($default = '/', $status = 302, $headers = [], $secure = null) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->intended($default, $status, $headers, $secure); - } - /** - * Create a new redirect response to the given path. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function to($path, $status = 302, $headers = [], $secure = null) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->to($path, $status, $headers, $secure); - } - /** - * Create a new redirect response to an external URL (no validation). - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function away($path, $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->away($path, $status, $headers); - } - /** - * Create a new redirect response to the given HTTPS path. - * - * @param string $path - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function secure($path, $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->secure($path, $status, $headers); - } - /** - * Create a new redirect response to a named route. - * - * @param string $route - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function route($route, $parameters = [], $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->route($route, $parameters, $status, $headers); - } - /** - * Create a new redirect response to a signed named route. - * - * @param string $route - * @param mixed $parameters - * @param \DateTimeInterface|\DateInterval|int|null $expiration - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function signedRoute($route, $parameters = [], $expiration = null, $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->signedRoute($route, $parameters, $expiration, $status, $headers); - } - /** - * Create a new redirect response to a signed named route. - * - * @param string $route - * @param \DateTimeInterface|\DateInterval|int|null $expiration - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function temporarySignedRoute($route, $expiration, $parameters = [], $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->temporarySignedRoute($route, $expiration, $parameters, $status, $headers); - } - /** - * Create a new redirect response to a controller action. - * - * @param string|array $action - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function action($action, $parameters = [], $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->action($action, $parameters, $status, $headers); - } - /** - * Get the URL generator instance. - * - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function getUrlGenerator() - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->getUrlGenerator(); - } - /** - * Set the active session store. - * - * @param \Illuminate\Session\Store $session - * @return void - * @static - */ public static function setSession($session) - { - /** @var \Illuminate\Routing\Redirector $instance */ - $instance->setSession($session); - } - /** - * Get the "intended" URL from the session. - * - * @return string|null - * @static - */ public static function getIntendedUrl() - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->getIntendedUrl(); - } - /** - * Set the "intended" URL in the session. - * - * @param string $url - * @return \Illuminate\Routing\Redirector - * @static - */ public static function setIntendedUrl($url) - { - /** @var \Illuminate\Routing\Redirector $instance */ - return $instance->setIntendedUrl($url); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Routing\Redirector::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Routing\Redirector::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Routing\Redirector::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Routing\Redirector::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Http\Request - */ class Request { - /** - * Create a new Illuminate HTTP request from server variables. - * - * @return static - * @static - */ public static function capture() - { - return \Illuminate\Http\Request::capture(); - } - /** - * Return the Request instance. - * - * @return \Illuminate\Http\Request - * @static - */ public static function instance() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->instance(); - } - /** - * Get the request method. - * - * @return string - * @static - */ public static function method() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->method(); - } - /** - * Get the root URL for the application. - * - * @return string - * @static - */ public static function root() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->root(); - } - /** - * Get the URL (no query string) for the request. - * - * @return string - * @static - */ public static function url() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->url(); - } - /** - * Get the full URL for the request. - * - * @return string - * @static - */ public static function fullUrl() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->fullUrl(); - } - /** - * Get the full URL for the request with the added query string parameters. - * - * @param array $query - * @return string - * @static - */ public static function fullUrlWithQuery($query) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->fullUrlWithQuery($query); - } - /** - * Get the full URL for the request without the given query string parameters. - * - * @param array|string $keys - * @return string - * @static - */ public static function fullUrlWithoutQuery($keys) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->fullUrlWithoutQuery($keys); - } - /** - * Get the current path info for the request. - * - * @return string - * @static - */ public static function path() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->path(); - } - /** - * Get the current decoded path info for the request. - * - * @return string - * @static - */ public static function decodedPath() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->decodedPath(); - } - /** - * Get a segment from the URI (1 based index). - * - * @param int $index - * @param string|null $default - * @return string|null - * @static - */ public static function segment($index, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->segment($index, $default); - } - /** - * Get all of the segments for the request path. - * - * @return array - * @static - */ public static function segments() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->segments(); - } - /** - * Determine if the current request URI matches a pattern. - * - * @param mixed $patterns - * @return bool - * @static - */ public static function is(...$patterns) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->is(...$patterns); - } - /** - * Determine if the route name matches a given pattern. - * - * @param mixed $patterns - * @return bool - * @static - */ public static function routeIs(...$patterns) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->routeIs(...$patterns); - } - /** - * Determine if the current request URL and query string match a pattern. - * - * @param mixed $patterns - * @return bool - * @static - */ public static function fullUrlIs(...$patterns) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->fullUrlIs(...$patterns); - } - /** - * Get the host name. - * - * @return string - * @static - */ public static function host() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->host(); - } - /** - * Get the HTTP host being requested. - * - * @return string - * @static - */ public static function httpHost() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->httpHost(); - } - /** - * Get the scheme and HTTP host. - * - * @return string - * @static - */ public static function schemeAndHttpHost() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->schemeAndHttpHost(); - } - /** - * Determine if the request is the result of an AJAX call. - * - * @return bool - * @static - */ public static function ajax() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->ajax(); - } - /** - * Determine if the request is the result of a PJAX call. - * - * @return bool - * @static - */ public static function pjax() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->pjax(); - } - /** - * Determine if the request is the result of a prefetch call. - * - * @return bool - * @static - */ public static function prefetch() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->prefetch(); - } - /** - * Determine if the request is over HTTPS. - * - * @return bool - * @static - */ public static function secure() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->secure(); - } - /** - * Get the client IP address. - * - * @return string|null - * @static - */ public static function ip() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->ip(); - } - /** - * Get the client IP addresses. - * - * @return array - * @static - */ public static function ips() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->ips(); - } - /** - * Get the client user agent. - * - * @return string|null - * @static - */ public static function userAgent() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->userAgent(); - } - /** - * Merge new input into the current request's input array. - * - * @param array $input - * @return \Illuminate\Http\Request - * @static - */ public static function merge($input) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->merge($input); - } - /** - * Merge new input into the request's input, but only when that key is missing from the request. - * - * @param array $input - * @return \Illuminate\Http\Request - * @static - */ public static function mergeIfMissing($input) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->mergeIfMissing($input); - } - /** - * Replace the input for the current request. - * - * @param array $input - * @return \Illuminate\Http\Request - * @static - */ public static function replace($input) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->replace($input); - } - /** - * This method belongs to Symfony HttpFoundation and is not usually needed when using Laravel. - * - * Instead, you may use the "input" method. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ public static function get($key, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->get($key, $default); - } - /** - * Get the JSON payload for the request. - * - * @param string|null $key - * @param mixed $default - * @return \Symfony\Component\HttpFoundation\InputBag|mixed - * @static - */ public static function json($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->json($key, $default); - } - /** - * Create a new request instance from the given Laravel request. - * - * @param \Illuminate\Http\Request $from - * @param \Illuminate\Http\Request|null $to - * @return static - * @static - */ public static function createFrom($from, $to = null) - { - return \Illuminate\Http\Request::createFrom($from, $to); - } - /** - * Create an Illuminate request from a Symfony instance. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @return static - * @static - */ public static function createFromBase($request) - { - return \Illuminate\Http\Request::createFromBase($request); - } - /** - * Clones a request and overrides some of its parameters. - * - * @return static - * @param array|null $query The GET parameters - * @param array|null $request The POST parameters - * @param array|null $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array|null $cookies The COOKIE parameters - * @param array|null $files The FILES parameters - * @param array|null $server The SERVER parameters - * @static - */ public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->duplicate($query, $request, $attributes, $cookies, $files, $server); - } - /** - * Whether the request contains a Session object. - * - * This method does not give any information about the state of the session object, - * like whether the session is started or not. It is just a way to check if this Request - * is associated with a Session instance. - * - * @param bool $skipIfUninitialized When true, ignores factories injected by `setSessionFactory` - * @static - */ public static function hasSession($skipIfUninitialized = false) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->hasSession($skipIfUninitialized); - } - /** - * Gets the Session. - * - * @throws SessionNotFoundException When session is not set properly - * @static - */ public static function getSession() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->getSession(); - } - /** - * Get the session associated with the request. - * - * @return \Illuminate\Contracts\Session\Session - * @throws \RuntimeException - * @static - */ public static function session() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->session(); - } - /** - * Set the session instance on the request. - * - * @param \Illuminate\Contracts\Session\Session $session - * @return void - * @static - */ public static function setLaravelSession($session) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->setLaravelSession($session); - } - /** - * Set the locale for the request instance. - * - * @param string $locale - * @return void - * @static - */ public static function setRequestLocale($locale) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->setRequestLocale($locale); - } - /** - * Set the default locale for the request instance. - * - * @param string $locale - * @return void - * @static - */ public static function setDefaultRequestLocale($locale) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->setDefaultRequestLocale($locale); - } - /** - * Get the user making the request. - * - * @param string|null $guard - * @return mixed - * @static - */ public static function user($guard = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->user($guard); - } - /** - * Get the route handling the request. - * - * @param string|null $param - * @param mixed $default - * @return \Illuminate\Routing\Route|object|string|null - * @static - */ public static function route($param = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->route($param, $default); - } - /** - * Get a unique fingerprint for the request / route / IP address. - * - * @return string - * @throws \RuntimeException - * @static - */ public static function fingerprint() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->fingerprint(); - } - /** - * Set the JSON payload for the request. - * - * @param \Symfony\Component\HttpFoundation\InputBag $json - * @return \Illuminate\Http\Request - * @static - */ public static function setJson($json) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->setJson($json); - } - /** - * Get the user resolver callback. - * - * @return \Closure - * @static - */ public static function getUserResolver() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->getUserResolver(); - } - /** - * Set the user resolver callback. - * - * @param \Closure $callback - * @return \Illuminate\Http\Request - * @static - */ public static function setUserResolver($callback) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->setUserResolver($callback); - } - /** - * Get the route resolver callback. - * - * @return \Closure - * @static - */ public static function getRouteResolver() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->getRouteResolver(); - } - /** - * Set the route resolver callback. - * - * @param \Closure $callback - * @return \Illuminate\Http\Request - * @static - */ public static function setRouteResolver($callback) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->setRouteResolver($callback); - } - /** - * Get all of the input and files for the request. - * - * @return array - * @static - */ public static function toArray() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->toArray(); - } - /** - * Determine if the given offset exists. - * - * @param string $offset - * @return bool - * @static - */ public static function offsetExists($offset) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->offsetExists($offset); - } - /** - * Get the value at the given offset. - * - * @param string $offset - * @return mixed - * @static - */ public static function offsetGet($offset) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->offsetGet($offset); - } - /** - * Set the value at the given offset. - * - * @param string $offset - * @param mixed $value - * @return void - * @static - */ public static function offsetSet($offset, $value) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->offsetSet($offset, $value); - } - /** - * Remove the value at the given offset. - * - * @param string $offset - * @return void - * @static - */ public static function offsetUnset($offset) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->offsetUnset($offset); - } - /** - * Sets the parameters for this request. - * - * This method also re-initializes all properties. - * - * @param array $query The GET parameters - * @param array $request The POST parameters - * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...) - * @param array $cookies The COOKIE parameters - * @param array $files The FILES parameters - * @param array $server The SERVER parameters - * @param string|resource|null $content The raw body data - * @return void - * @static - */ public static function initialize($query = [], $request = [], $attributes = [], $cookies = [], $files = [], $server = [], $content = null) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->initialize($query, $request, $attributes, $cookies, $files, $server, $content); - } - /** - * Creates a new request with values from PHP's super globals. - * - * @static - */ public static function createFromGlobals() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::createFromGlobals(); - } - /** - * Creates a Request based on a given URI and configuration. - * - * The information contained in the URI always take precedence - * over the other information (server and parameters). - * - * @param string $uri The URI - * @param string $method The HTTP method - * @param array $parameters The query (GET) or request (POST) parameters - * @param array $cookies The request cookies ($_COOKIE) - * @param array $files The request files ($_FILES) - * @param array $server The server parameters ($_SERVER) - * @param string|resource|null $content The raw body data - * @static - */ public static function create($uri, $method = 'GET', $parameters = [], $cookies = [], $files = [], $server = [], $content = null) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content); - } - /** - * Sets a callable able to create a Request instance. - * - * This is mainly useful when you need to override the Request class - * to keep BC with an existing system. It should not be used for any - * other purpose. - * - * @return void - * @static - */ public static function setFactory($callable) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - \Illuminate\Http\Request::setFactory($callable); - } - /** - * Overrides the PHP global variables according to this request instance. - * - * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE. - * $_FILES is never overridden, see rfc1867 - * - * @return void - * @static - */ public static function overrideGlobals() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->overrideGlobals(); - } - /** - * Sets a list of trusted proxies. - * - * You should only list the reverse proxies that you manage directly. - * - * @param array $proxies A list of trusted proxies, the string 'REMOTE_ADDR' will be replaced with $_SERVER['REMOTE_ADDR'] - * @param int $trustedHeaderSet A bit field of Request::HEADER_*, to set which headers to trust from your proxies - * @return void - * @static - */ public static function setTrustedProxies($proxies, $trustedHeaderSet) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - \Illuminate\Http\Request::setTrustedProxies($proxies, $trustedHeaderSet); - } - /** - * Gets the list of trusted proxies. - * - * @return string[] - * @static - */ public static function getTrustedProxies() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedProxies(); - } - /** - * Gets the set of trusted headers from trusted proxies. - * - * @return int A bit field of Request::HEADER_* that defines which headers are trusted from your proxies - * @static - */ public static function getTrustedHeaderSet() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHeaderSet(); - } - /** - * Sets a list of trusted host patterns. - * - * You should only list the hosts you manage using regexs. - * - * @param array $hostPatterns A list of trusted host patterns - * @return void - * @static - */ public static function setTrustedHosts($hostPatterns) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - \Illuminate\Http\Request::setTrustedHosts($hostPatterns); - } - /** - * Gets the list of trusted host patterns. - * - * @return string[] - * @static - */ public static function getTrustedHosts() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getTrustedHosts(); - } - /** - * Normalizes a query string. - * - * It builds a normalized query string, where keys/value pairs are alphabetized, - * have consistent escaping and unneeded delimiters are removed. - * - * @static - */ public static function normalizeQueryString($qs) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::normalizeQueryString($qs); - } - /** - * Enables support for the _method request parameter to determine the intended HTTP method. - * - * Be warned that enabling this feature might lead to CSRF issues in your code. - * Check that you are using CSRF tokens when required. - * If the HTTP method parameter override is enabled, an html-form with method "POST" can be altered - * and used to send a "PUT" or "DELETE" request via the _method request parameter. - * If these methods are not protected against CSRF, this presents a possible vulnerability. - * - * The HTTP method can only be overridden when the real HTTP method is POST. - * - * @return void - * @static - */ public static function enableHttpMethodParameterOverride() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - \Illuminate\Http\Request::enableHttpMethodParameterOverride(); - } - /** - * Checks whether support for the _method request parameter is enabled. - * - * @static - */ public static function getHttpMethodParameterOverride() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getHttpMethodParameterOverride(); - } - /** - * Whether the request contains a Session which was started in one of the - * previous requests. - * - * @static - */ public static function hasPreviousSession() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->hasPreviousSession(); - } - /** - * - * - * @return void - * @static - */ public static function setSession($session) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->setSession($session); - } - /** - * - * - * @internal - * @param \Symfony\Component\HttpFoundation\callable(): SessionInterface $factory - * @static - */ public static function setSessionFactory($factory) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->setSessionFactory($factory); - } - /** - * Returns the client IP addresses. - * - * In the returned array the most trusted IP address is first, and the - * least trusted one last. The "real" client IP address is the last one, - * but this is also the least trusted one. Trusted proxies are stripped. - * - * Use this method carefully; you should use getClientIp() instead. - * - * @see getClientIp() - * @static - */ public static function getClientIps() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getClientIps(); - } - /** - * Returns the client IP address. - * - * This method can read the client IP address from the "X-Forwarded-For" header - * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For" - * header value is a comma+space separated list of IP addresses, the left-most - * being the original client, and each successive proxy that passed the request - * adding the IP address where it received the request from. - * - * If your reverse proxy uses a different header name than "X-Forwarded-For", - * ("Client-Ip" for instance), configure it via the $trustedHeaderSet - * argument of the Request::setTrustedProxies() method instead. - * - * @see getClientIps() - * @see https://wikipedia.org/wiki/X-Forwarded-For - * @static - */ public static function getClientIp() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getClientIp(); - } - /** - * Returns current script name. - * - * @static - */ public static function getScriptName() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getScriptName(); - } - /** - * Returns the path being requested relative to the executed script. - * - * The path info always starts with a /. - * - * Suppose this request is instantiated from /mysite on localhost: - * - * * http://localhost/mysite returns an empty string - * * http://localhost/mysite/about returns '/about' - * * http://localhost/mysite/enco%20ded returns '/enco%20ded' - * * http://localhost/mysite/about?var=1 returns '/about' - * - * @return string The raw path (i.e. not urldecoded) - * @static - */ public static function getPathInfo() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getPathInfo(); - } - /** - * Returns the root path from which this request is executed. - * - * Suppose that an index.php file instantiates this request object: - * - * * http://localhost/index.php returns an empty string - * * http://localhost/index.php/page returns an empty string - * * http://localhost/web/index.php returns '/web' - * * http://localhost/we%20b/index.php returns '/we%20b' - * - * @return string The raw path (i.e. not urldecoded) - * @static - */ public static function getBasePath() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getBasePath(); - } - /** - * Returns the root URL from which this request is executed. - * - * The base URL never ends with a /. - * - * This is similar to getBasePath(), except that it also includes the - * script filename (e.g. index.php) if one exists. - * - * @return string The raw URL (i.e. not urldecoded) - * @static - */ public static function getBaseUrl() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getBaseUrl(); - } - /** - * Gets the request's scheme. - * - * @static - */ public static function getScheme() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getScheme(); - } - /** - * Returns the port on which the request is made. - * - * This method can read the client port from the "X-Forwarded-Port" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Port" header must contain the client port. - * - * @return int|string|null Can be a string if fetched from the server bag - * @static - */ public static function getPort() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getPort(); - } - /** - * Returns the user. - * - * @static - */ public static function getUser() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getUser(); - } - /** - * Returns the password. - * - * @static - */ public static function getPassword() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getPassword(); - } - /** - * Gets the user info. - * - * @return string|null A user name if any and, optionally, scheme-specific information about how to gain authorization to access the server - * @static - */ public static function getUserInfo() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getUserInfo(); - } - /** - * Returns the HTTP host being requested. - * - * The port name will be appended to the host if it's non-standard. - * - * @static - */ public static function getHttpHost() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getHttpHost(); - } - /** - * Returns the requested URI (path and query string). - * - * @return string The raw URI (i.e. not URI decoded) - * @static - */ public static function getRequestUri() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getRequestUri(); - } - /** - * Gets the scheme and HTTP host. - * - * If the URL was called with basic authentication, the user - * and the password are not added to the generated string. - * - * @static - */ public static function getSchemeAndHttpHost() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getSchemeAndHttpHost(); - } - /** - * Generates a normalized URI (URL) for the Request. - * - * @see getQueryString() - * @static - */ public static function getUri() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getUri(); - } - /** - * Generates a normalized URI for the given path. - * - * @param string $path A path to use instead of the current one - * @static - */ public static function getUriForPath($path) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getUriForPath($path); - } - /** - * Returns the path as relative reference from the current Request path. - * - * Only the URIs path component (no schema, host etc.) is relevant and must be given. - * Both paths must be absolute and not contain relative parts. - * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. - * Furthermore, they can be used to reduce the link size in documents. - * - * Example target paths, given a base path of "/a/b/c/d": - * - "/a/b/c/d" -> "" - * - "/a/b/c/" -> "./" - * - "/a/b/" -> "../" - * - "/a/b/c/other" -> "other" - * - "/a/x/y" -> "../../x/y" - * - * @static - */ public static function getRelativeUriForPath($path) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getRelativeUriForPath($path); - } - /** - * Generates the normalized query string for the Request. - * - * It builds a normalized query string, where keys/value pairs are alphabetized - * and have consistent escaping. - * - * @static - */ public static function getQueryString() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getQueryString(); - } - /** - * Checks whether the request is secure or not. - * - * This method can read the client protocol from the "X-Forwarded-Proto" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http". - * - * @static - */ public static function isSecure() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isSecure(); - } - /** - * Returns the host name. - * - * This method can read the client host name from the "X-Forwarded-Host" header - * when trusted proxies were set via "setTrustedProxies()". - * - * The "X-Forwarded-Host" header must contain the client host name. - * - * @throws SuspiciousOperationException when the host name is invalid or not trusted - * @static - */ public static function getHost() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getHost(); - } - /** - * Sets the request method. - * - * @return void - * @static - */ public static function setMethod($method) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->setMethod($method); - } - /** - * Gets the request "intended" method. - * - * If the X-HTTP-Method-Override header is set, and if the method is a POST, - * then it is used to determine the "real" intended HTTP method. - * - * The _method request parameter can also be used to determine the HTTP method, - * but only if enableHttpMethodParameterOverride() has been called. - * - * The method is always an uppercased string. - * - * @see getRealMethod() - * @static - */ public static function getMethod() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getMethod(); - } - /** - * Gets the "real" request method. - * - * @see getMethod() - * @static - */ public static function getRealMethod() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getRealMethod(); - } - /** - * Gets the mime type associated with the format. - * - * @static - */ public static function getMimeType($format) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getMimeType($format); - } - /** - * Gets the mime types associated with the format. - * - * @return string[] - * @static - */ public static function getMimeTypes($format) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - return \Illuminate\Http\Request::getMimeTypes($format); - } - /** - * Gets the format associated with the mime type. - * - * @static - */ public static function getFormat($mimeType) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getFormat($mimeType); - } - /** - * Associates a format with mime types. - * - * @param string|string[] $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type) - * @return void - * @static - */ public static function setFormat($format, $mimeTypes) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->setFormat($format, $mimeTypes); - } - /** - * Gets the request format. - * - * Here is the process to determine the format: - * - * * format defined by the user (with setRequestFormat()) - * * _format request attribute - * * $default - * - * @see getPreferredFormat - * @static - */ public static function getRequestFormat($default = 'html') - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getRequestFormat($default); - } - /** - * Sets the request format. - * - * @return void - * @static - */ public static function setRequestFormat($format) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->setRequestFormat($format); - } - /** - * Gets the usual name of the format associated with the request's media type (provided in the Content-Type header). - * - * @deprecated since Symfony 6.2, use getContentTypeFormat() instead - * @static - */ public static function getContentType() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getContentType(); - } - /** - * Gets the usual name of the format associated with the request's media type (provided in the Content-Type header). - * - * @see Request::$formats - * @static - */ public static function getContentTypeFormat() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getContentTypeFormat(); - } - /** - * Sets the default locale. - * - * @return void - * @static - */ public static function setDefaultLocale($locale) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->setDefaultLocale($locale); - } - /** - * Get the default locale. - * - * @static - */ public static function getDefaultLocale() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getDefaultLocale(); - } - /** - * Sets the locale. - * - * @return void - * @static - */ public static function setLocale($locale) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - $instance->setLocale($locale); - } - /** - * Get the locale. - * - * @static - */ public static function getLocale() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getLocale(); - } - /** - * Checks if the request method is of specified type. - * - * @param string $method Uppercase request method (GET, POST etc) - * @static - */ public static function isMethod($method) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isMethod($method); - } - /** - * Checks whether or not the method is safe. - * - * @see https://tools.ietf.org/html/rfc7231#section-4.2.1 - * @static - */ public static function isMethodSafe() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isMethodSafe(); - } - /** - * Checks whether or not the method is idempotent. - * - * @static - */ public static function isMethodIdempotent() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isMethodIdempotent(); - } - /** - * Checks whether the method is cacheable or not. - * - * @see https://tools.ietf.org/html/rfc7231#section-4.2.3 - * @static - */ public static function isMethodCacheable() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isMethodCacheable(); - } - /** - * Returns the protocol version. - * - * If the application is behind a proxy, the protocol version used in the - * requests between the client and the proxy and between the proxy and the - * server might be different. This returns the former (from the "Via" header) - * if the proxy is trusted (see "setTrustedProxies()"), otherwise it returns - * the latter (from the "SERVER_PROTOCOL" server parameter). - * - * @static - */ public static function getProtocolVersion() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getProtocolVersion(); - } - /** - * Returns the request body content. - * - * @param bool $asResource If true, a resource will be returned - * @return string|resource - * @psalm-return ($asResource is true ? resource : string) - * @static - */ public static function getContent($asResource = false) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getContent($asResource); - } - /** - * Gets the decoded form or json request body. - * - * @throws JsonException When the body cannot be decoded to an array - * @static - */ public static function getPayload() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getPayload(); - } - /** - * Gets the Etags. - * - * @static - */ public static function getETags() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getETags(); - } - /** - * - * - * @static - */ public static function isNoCache() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isNoCache(); - } - /** - * Gets the preferred format for the response by inspecting, in the following order: - * * the request format set using setRequestFormat; - * * the values of the Accept HTTP header. - * - * Note that if you use this method, you should send the "Vary: Accept" header - * in the response to prevent any issues with intermediary HTTP caches. - * - * @static - */ public static function getPreferredFormat($default = 'html') - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getPreferredFormat($default); - } - /** - * Returns the preferred language. - * - * @param string[] $locales An array of ordered available locales - * @static - */ public static function getPreferredLanguage($locales = null) - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getPreferredLanguage($locales); - } - /** - * Gets a list of languages acceptable by the client browser ordered in the user browser preferences. - * - * @return string[] - * @static - */ public static function getLanguages() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getLanguages(); - } - /** - * Gets a list of charsets acceptable by the client browser in preferable order. - * - * @return string[] - * @static - */ public static function getCharsets() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getCharsets(); - } - /** - * Gets a list of encodings acceptable by the client browser in preferable order. - * - * @return string[] - * @static - */ public static function getEncodings() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getEncodings(); - } - /** - * Gets a list of content types acceptable by the client browser in preferable order. - * - * @return string[] - * @static - */ public static function getAcceptableContentTypes() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->getAcceptableContentTypes(); - } - /** - * Returns true if the request is an XMLHttpRequest. - * - * It works if your JavaScript library sets an X-Requested-With HTTP header. - * It is known to work with common JavaScript frameworks: - * - * @see https://wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript - * @static - */ public static function isXmlHttpRequest() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isXmlHttpRequest(); - } - /** - * Checks whether the client browser prefers safe content or not according to RFC8674. - * - * @see https://tools.ietf.org/html/rfc8674 - * @static - */ public static function preferSafeContent() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->preferSafeContent(); - } - /** - * Indicates whether this request originated from a trusted proxy. - * - * This can be useful to determine whether or not to trust the - * contents of a proxy-specific header. - * - * @static - */ public static function isFromTrustedProxy() - { //Method inherited from \Symfony\Component\HttpFoundation\Request - /** @var \Illuminate\Http\Request $instance */ - return $instance->isFromTrustedProxy(); - } - /** - * Filter the given array of rules into an array of rules that are included in precognitive headers. - * - * @param array $rules - * @return array - * @static - */ public static function filterPrecognitiveRules($rules) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->filterPrecognitiveRules($rules); - } - /** - * Determine if the request is attempting to be precognitive. - * - * @return bool - * @static - */ public static function isAttemptingPrecognition() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->isAttemptingPrecognition(); - } - /** - * Determine if the request is precognitive. - * - * @return bool - * @static - */ public static function isPrecognitive() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->isPrecognitive(); - } - /** - * Determine if the request is sending JSON. - * - * @return bool - * @static - */ public static function isJson() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->isJson(); - } - /** - * Determine if the current request probably expects a JSON response. - * - * @return bool - * @static - */ public static function expectsJson() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->expectsJson(); - } - /** - * Determine if the current request is asking for JSON. - * - * @return bool - * @static - */ public static function wantsJson() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->wantsJson(); - } - /** - * Determines whether the current requests accepts a given content type. - * - * @param string|array $contentTypes - * @return bool - * @static - */ public static function accepts($contentTypes) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->accepts($contentTypes); - } - /** - * Return the most suitable content type from the given array based on content negotiation. - * - * @param string|array $contentTypes - * @return string|null - * @static - */ public static function prefers($contentTypes) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->prefers($contentTypes); - } - /** - * Determine if the current request accepts any content type. - * - * @return bool - * @static - */ public static function acceptsAnyContentType() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->acceptsAnyContentType(); - } - /** - * Determines whether a request accepts JSON. - * - * @return bool - * @static - */ public static function acceptsJson() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->acceptsJson(); - } - /** - * Determines whether a request accepts HTML. - * - * @return bool - * @static - */ public static function acceptsHtml() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->acceptsHtml(); - } - /** - * Determine if the given content types match. - * - * @param string $actual - * @param string $type - * @return bool - * @static - */ public static function matchesType($actual, $type) - { - return \Illuminate\Http\Request::matchesType($actual, $type); - } - /** - * Get the data format expected in the response. - * - * @param string $default - * @return string - * @static - */ public static function format($default = 'html') - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->format($default); - } - /** - * Retrieve an old input item. - * - * @param string|null $key - * @param \Illuminate\Database\Eloquent\Model|string|array|null $default - * @return string|array|null - * @static - */ public static function old($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->old($key, $default); - } - /** - * Flash the input for the current request to the session. - * - * @return void - * @static - */ public static function flash() - { - /** @var \Illuminate\Http\Request $instance */ - $instance->flash(); - } - /** - * Flash only some of the input to the session. - * - * @param array|mixed $keys - * @return void - * @static - */ public static function flashOnly($keys) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->flashOnly($keys); - } - /** - * Flash only some of the input to the session. - * - * @param array|mixed $keys - * @return void - * @static - */ public static function flashExcept($keys) - { - /** @var \Illuminate\Http\Request $instance */ - $instance->flashExcept($keys); - } - /** - * Flush all of the old input from the session. - * - * @return void - * @static - */ public static function flush() - { - /** @var \Illuminate\Http\Request $instance */ - $instance->flush(); - } - /** - * Retrieve a server variable from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - * @static - */ public static function server($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->server($key, $default); - } - /** - * Determine if a header is set on the request. - * - * @param string $key - * @return bool - * @static - */ public static function hasHeader($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->hasHeader($key); - } - /** - * Retrieve a header from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - * @static - */ public static function header($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->header($key, $default); - } - /** - * Get the bearer token from the request headers. - * - * @return string|null - * @static - */ public static function bearerToken() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->bearerToken(); - } - /** - * Determine if the request contains a given input item key. - * - * @param string|array $key - * @return bool - * @static - */ public static function exists($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->exists($key); - } - /** - * Determine if the request contains a given input item key. - * - * @param string|array $key - * @return bool - * @static - */ public static function has($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->has($key); - } - /** - * Determine if the request contains any of the given inputs. - * - * @param string|array $keys - * @return bool - * @static - */ public static function hasAny($keys) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->hasAny($keys); - } - /** - * Apply the callback if the request contains the given input item key. - * - * @param string $key - * @param callable $callback - * @param callable|null $default - * @return $this|mixed - * @static - */ public static function whenHas($key, $callback, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->whenHas($key, $callback, $default); - } - /** - * Determine if the request contains a non-empty value for an input item. - * - * @param string|array $key - * @return bool - * @static - */ public static function filled($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->filled($key); - } - /** - * Determine if the request contains an empty value for an input item. - * - * @param string|array $key - * @return bool - * @static - */ public static function isNotFilled($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->isNotFilled($key); - } - /** - * Determine if the request contains a non-empty value for any of the given inputs. - * - * @param string|array $keys - * @return bool - * @static - */ public static function anyFilled($keys) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->anyFilled($keys); - } - /** - * Apply the callback if the request contains a non-empty value for the given input item key. - * - * @param string $key - * @param callable $callback - * @param callable|null $default - * @return $this|mixed - * @static - */ public static function whenFilled($key, $callback, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->whenFilled($key, $callback, $default); - } - /** - * Determine if the request is missing a given input item key. - * - * @param string|array $key - * @return bool - * @static - */ public static function missing($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->missing($key); - } - /** - * Apply the callback if the request is missing the given input item key. - * - * @param string $key - * @param callable $callback - * @param callable|null $default - * @return $this|mixed - * @static - */ public static function whenMissing($key, $callback, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->whenMissing($key, $callback, $default); - } - /** - * Get the keys for all of the input and files. - * - * @return array - * @static - */ public static function keys() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->keys(); - } - /** - * Get all of the input and files for the request. - * - * @param array|mixed|null $keys - * @return array - * @static - */ public static function all($keys = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->all($keys); - } - /** - * Retrieve an input item from the request. - * - * @param string|null $key - * @param mixed $default - * @return mixed - * @static - */ public static function input($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->input($key, $default); - } - /** - * Retrieve input from the request as a Stringable instance. - * - * @param string $key - * @param mixed $default - * @return \Illuminate\Support\Stringable - * @static - */ public static function str($key, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->str($key, $default); - } - /** - * Retrieve input from the request as a Stringable instance. - * - * @param string $key - * @param mixed $default - * @return \Illuminate\Support\Stringable - * @static - */ public static function string($key, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->string($key, $default); - } - /** - * Retrieve input as a boolean value. - * - * Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false. - * - * @param string|null $key - * @param bool $default - * @return bool - * @static - */ public static function boolean($key = null, $default = false) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->boolean($key, $default); - } - /** - * Retrieve input as an integer value. - * - * @param string $key - * @param int $default - * @return int - * @static - */ public static function integer($key, $default = 0) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->integer($key, $default); - } - /** - * Retrieve input as a float value. - * - * @param string $key - * @param float $default - * @return float - * @static - */ public static function float($key, $default = 0.0) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->float($key, $default); - } - /** - * Retrieve input from the request as a Carbon instance. - * - * @param string $key - * @param string|null $format - * @param string|null $tz - * @return \Illuminate\Support\Carbon|null - * @throws \Carbon\Exceptions\InvalidFormatException - * @static - */ public static function date($key, $format = null, $tz = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->date($key, $format, $tz); - } - /** - * Retrieve input from the request as an enum. - * - * @template TEnum - * @param string $key - * @param \Illuminate\Http\class-string $enumClass - * @return \Illuminate\Http\TEnum|null - * @static - */ public static function enum($key, $enumClass) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->enum($key, $enumClass); - } - /** - * Retrieve input from the request as a collection. - * - * @param array|string|null $key - * @return \Illuminate\Support\Collection - * @static - */ public static function collect($key = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->collect($key); - } - /** - * Get a subset containing the provided keys with values from the input data. - * - * @param array|mixed $keys - * @return array - * @static - */ public static function only($keys) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->only($keys); - } - /** - * Get all of the input except for a specified array of items. - * - * @param array|mixed $keys - * @return array - * @static - */ public static function except($keys) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->except($keys); - } - /** - * Retrieve a query string item from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - * @static - */ public static function query($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->query($key, $default); - } - /** - * Retrieve a request payload item from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - * @static - */ public static function post($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->post($key, $default); - } - /** - * Determine if a cookie is set on the request. - * - * @param string $key - * @return bool - * @static - */ public static function hasCookie($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->hasCookie($key); - } - /** - * Retrieve a cookie from the request. - * - * @param string|null $key - * @param string|array|null $default - * @return string|array|null - * @static - */ public static function cookie($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->cookie($key, $default); - } - /** - * Get an array of all of the files on the request. - * - * @return array - * @static - */ public static function allFiles() - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->allFiles(); - } - /** - * Determine if the uploaded data contains a file. - * - * @param string $key - * @return bool - * @static - */ public static function hasFile($key) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->hasFile($key); - } - /** - * Retrieve a file from the request. - * - * @param string|null $key - * @param mixed $default - * @return \Illuminate\Http\UploadedFile|\Illuminate\Http\UploadedFile[]|array|null - * @static - */ public static function file($key = null, $default = null) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->file($key, $default); - } - /** - * Dump the request items and end the script. - * - * @param mixed $keys - * @return \Illuminate\Http\never - * @static - */ public static function dd(...$keys) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->dd(...$keys); - } - /** - * Dump the items. - * - * @param mixed $keys - * @return \Illuminate\Http\Request - * @static - */ public static function dump($keys = []) - { - /** @var \Illuminate\Http\Request $instance */ - return $instance->dump($keys); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Http\Request::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Http\Request::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Http\Request::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Http\Request::flushMacros(); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() - * @param array $rules - * @param mixed $params - * @static - */ public static function validate($rules, ...$params) - { - return \Illuminate\Http\Request::validate($rules, ...$params); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() - * @param string $errorBag - * @param array $rules - * @param mixed $params - * @static - */ public static function validateWithBag($errorBag, $rules, ...$params) - { - return \Illuminate\Http\Request::validateWithBag($errorBag, $rules, ...$params); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() - * @param mixed $absolute - * @static - */ public static function hasValidSignature($absolute = true) - { - return \Illuminate\Http\Request::hasValidSignature($absolute); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() - * @static - */ public static function hasValidRelativeSignature() - { - return \Illuminate\Http\Request::hasValidRelativeSignature(); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() - * @param mixed $ignoreQuery - * @param mixed $absolute - * @static - */ public static function hasValidSignatureWhileIgnoring($ignoreQuery = [], $absolute = true) - { - return \Illuminate\Http\Request::hasValidSignatureWhileIgnoring($ignoreQuery, $absolute); - } - } - /** - * - * - * @see \Illuminate\Routing\ResponseFactory - */ class Response { - /** - * Create a new response instance. - * - * @param mixed $content - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response - * @static - */ public static function make($content = '', $status = 200, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->make($content, $status, $headers); - } - /** - * Create a new "no content" response. - * - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response - * @static - */ public static function noContent($status = 204, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->noContent($status, $headers); - } - /** - * Create a new response for a given view. - * - * @param string|array $view - * @param array $data - * @param int $status - * @param array $headers - * @return \Illuminate\Http\Response - * @static - */ public static function view($view, $data = [], $status = 200, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->view($view, $data, $status, $headers); - } - /** - * Create a new JSON response instance. - * - * @param mixed $data - * @param int $status - * @param array $headers - * @param int $options - * @return \Illuminate\Http\JsonResponse - * @static - */ public static function json($data = [], $status = 200, $headers = [], $options = 0) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->json($data, $status, $headers, $options); - } - /** - * Create a new JSONP response instance. - * - * @param string $callback - * @param mixed $data - * @param int $status - * @param array $headers - * @param int $options - * @return \Illuminate\Http\JsonResponse - * @static - */ public static function jsonp($callback, $data = [], $status = 200, $headers = [], $options = 0) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->jsonp($callback, $data, $status, $headers, $options); - } - /** - * Create a new streamed response instance. - * - * @param callable $callback - * @param int $status - * @param array $headers - * @return \Symfony\Component\HttpFoundation\StreamedResponse - * @static - */ public static function stream($callback, $status = 200, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->stream($callback, $status, $headers); - } - /** - * Create a new streamed response instance. - * - * @param array $data - * @param int $status - * @param array $headers - * @param int $encodingOptions - * @return \Symfony\Component\HttpFoundation\StreamedJsonResponse - * @static - */ public static function streamJson($data, $status = 200, $headers = [], $encodingOptions = 15) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->streamJson($data, $status, $headers, $encodingOptions); - } - /** - * Create a new streamed response instance as a file download. - * - * @param callable $callback - * @param string|null $name - * @param array $headers - * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\StreamedResponse - * @static - */ public static function streamDownload($callback, $name = null, $headers = [], $disposition = 'attachment') - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->streamDownload($callback, $name, $headers, $disposition); - } - /** - * Create a new file download response. - * - * @param \SplFileInfo|string $file - * @param string|null $name - * @param array $headers - * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - * @static - */ public static function download($file, $name = null, $headers = [], $disposition = 'attachment') - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->download($file, $name, $headers, $disposition); - } - /** - * Return the raw contents of a binary file. - * - * @param \SplFileInfo|string $file - * @param array $headers - * @return \Symfony\Component\HttpFoundation\BinaryFileResponse - * @static - */ public static function file($file, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->file($file, $headers); - } - /** - * Create a new redirect response to the given path. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function redirectTo($path, $status = 302, $headers = [], $secure = null) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->redirectTo($path, $status, $headers, $secure); - } - /** - * Create a new redirect response to a named route. - * - * @param string $route - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function redirectToRoute($route, $parameters = [], $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->redirectToRoute($route, $parameters, $status, $headers); - } - /** - * Create a new redirect response to a controller action. - * - * @param array|string $action - * @param mixed $parameters - * @param int $status - * @param array $headers - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function redirectToAction($action, $parameters = [], $status = 302, $headers = []) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->redirectToAction($action, $parameters, $status, $headers); - } - /** - * Create a new redirect response, while putting the current URL in the session. - * - * @param string $path - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function redirectGuest($path, $status = 302, $headers = [], $secure = null) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->redirectGuest($path, $status, $headers, $secure); - } - /** - * Create a new redirect response to the previously intended location. - * - * @param string $default - * @param int $status - * @param array $headers - * @param bool|null $secure - * @return \Illuminate\Http\RedirectResponse - * @static - */ public static function redirectToIntended($default = '/', $status = 302, $headers = [], $secure = null) - { - /** @var \Illuminate\Routing\ResponseFactory $instance */ - return $instance->redirectToIntended($default, $status, $headers, $secure); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Routing\ResponseFactory::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Routing\ResponseFactory::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Routing\ResponseFactory::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Routing\ResponseFactory::flushMacros(); - } - } - /** - * - * - * @method static \Illuminate\Routing\RouteRegistrar attribute(string $key, mixed $value) - * @method static \Illuminate\Routing\RouteRegistrar whereAlpha(array|string $parameters) - * @method static \Illuminate\Routing\RouteRegistrar whereAlphaNumeric(array|string $parameters) - * @method static \Illuminate\Routing\RouteRegistrar whereNumber(array|string $parameters) - * @method static \Illuminate\Routing\RouteRegistrar whereUlid(array|string $parameters) - * @method static \Illuminate\Routing\RouteRegistrar whereUuid(array|string $parameters) - * @method static \Illuminate\Routing\RouteRegistrar whereIn(array|string $parameters, array $values) - * @method static \Illuminate\Routing\RouteRegistrar as(string $value) - * @method static \Illuminate\Routing\RouteRegistrar controller(string $controller) - * @method static \Illuminate\Routing\RouteRegistrar domain(string $value) - * @method static \Illuminate\Routing\RouteRegistrar middleware(array|string|null $middleware) - * @method static \Illuminate\Routing\RouteRegistrar missing(\Closure $missing) - * @method static \Illuminate\Routing\RouteRegistrar name(string $value) - * @method static \Illuminate\Routing\RouteRegistrar namespace(string|null $value) - * @method static \Illuminate\Routing\RouteRegistrar prefix(string $prefix) - * @method static \Illuminate\Routing\RouteRegistrar scopeBindings() - * @method static \Illuminate\Routing\RouteRegistrar where(array $where) - * @method static \Illuminate\Routing\RouteRegistrar withoutMiddleware(array|string $middleware) - * @method static \Illuminate\Routing\RouteRegistrar withoutScopedBindings() - * @see \Illuminate\Routing\Router - */ class Route { - /** - * Register a new GET route with the router. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function get($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->get($uri, $action); - } - /** - * Register a new POST route with the router. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function post($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->post($uri, $action); - } - /** - * Register a new PUT route with the router. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function put($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->put($uri, $action); - } - /** - * Register a new PATCH route with the router. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function patch($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->patch($uri, $action); - } - /** - * Register a new DELETE route with the router. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function delete($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->delete($uri, $action); - } - /** - * Register a new OPTIONS route with the router. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function options($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->options($uri, $action); - } - /** - * Register a new route responding to all verbs. - * - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function any($uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->any($uri, $action); - } - /** - * Register a new fallback route with the router. - * - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function fallback($action) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->fallback($action); - } - /** - * Create a redirect from one URI to another. - * - * @param string $uri - * @param string $destination - * @param int $status - * @return \Illuminate\Routing\Route - * @static - */ public static function redirect($uri, $destination, $status = 302) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->redirect($uri, $destination, $status); - } - /** - * Create a permanent redirect from one URI to another. - * - * @param string $uri - * @param string $destination - * @return \Illuminate\Routing\Route - * @static - */ public static function permanentRedirect($uri, $destination) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->permanentRedirect($uri, $destination); - } - /** - * Register a new route that returns a view. - * - * @param string $uri - * @param string $view - * @param array $data - * @param int|array $status - * @param array $headers - * @return \Illuminate\Routing\Route - * @static - */ public static function view($uri, $view, $data = [], $status = 200, $headers = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->view($uri, $view, $data, $status, $headers); - } - /** - * Register a new route with the given verbs. - * - * @param array|string $methods - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function match($methods, $uri, $action = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->match($methods, $uri, $action); - } - /** - * Register an array of resource controllers. - * - * @param array $resources - * @param array $options - * @return void - * @static - */ public static function resources($resources, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->resources($resources, $options); - } - /** - * Route a resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingResourceRegistration - * @static - */ public static function resource($name, $controller, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->resource($name, $controller, $options); - } - /** - * Register an array of API resource controllers. - * - * @param array $resources - * @param array $options - * @return void - * @static - */ public static function apiResources($resources, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->apiResources($resources, $options); - } - /** - * Route an API resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingResourceRegistration - * @static - */ public static function apiResource($name, $controller, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->apiResource($name, $controller, $options); - } - /** - * Register an array of singleton resource controllers. - * - * @param array $singletons - * @param array $options - * @return void - * @static - */ public static function singletons($singletons, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->singletons($singletons, $options); - } - /** - * Route a singleton resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingSingletonResourceRegistration - * @static - */ public static function singleton($name, $controller, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->singleton($name, $controller, $options); - } - /** - * Register an array of API singleton resource controllers. - * - * @param array $singletons - * @param array $options - * @return void - * @static - */ public static function apiSingletons($singletons, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->apiSingletons($singletons, $options); - } - /** - * Route an API singleton resource to a controller. - * - * @param string $name - * @param string $controller - * @param array $options - * @return \Illuminate\Routing\PendingSingletonResourceRegistration - * @static - */ public static function apiSingleton($name, $controller, $options = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->apiSingleton($name, $controller, $options); - } - /** - * Create a route group with shared attributes. - * - * @param array $attributes - * @param \Closure|array|string $routes - * @return \Illuminate\Routing\Router - * @static - */ public static function group($attributes, $routes) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->group($attributes, $routes); - } - /** - * Merge the given array with the last group stack. - * - * @param array $new - * @param bool $prependExistingPrefix - * @return array - * @static - */ public static function mergeWithLastGroup($new, $prependExistingPrefix = true) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->mergeWithLastGroup($new, $prependExistingPrefix); - } - /** - * Get the prefix from the last group on the stack. - * - * @return string - * @static - */ public static function getLastGroupPrefix() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getLastGroupPrefix(); - } - /** - * Add a route to the underlying route collection. - * - * @param array|string $methods - * @param string $uri - * @param array|string|callable|null $action - * @return \Illuminate\Routing\Route - * @static - */ public static function addRoute($methods, $uri, $action) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->addRoute($methods, $uri, $action); - } - /** - * Create a new Route object. - * - * @param array|string $methods - * @param string $uri - * @param mixed $action - * @return \Illuminate\Routing\Route - * @static - */ public static function newRoute($methods, $uri, $action) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->newRoute($methods, $uri, $action); - } - /** - * Return the response returned by the given route. - * - * @param string $name - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ public static function respondWithRoute($name) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->respondWithRoute($name); - } - /** - * Dispatch the request to the application. - * - * @param \Illuminate\Http\Request $request - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ public static function dispatch($request) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->dispatch($request); - } - /** - * Dispatch the request to a route and return the response. - * - * @param \Illuminate\Http\Request $request - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ public static function dispatchToRoute($request) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->dispatchToRoute($request); - } - /** - * Gather the middleware for the given route with resolved class names. - * - * @param \Illuminate\Routing\Route $route - * @return array - * @static - */ public static function gatherRouteMiddleware($route) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->gatherRouteMiddleware($route); - } - /** - * Resolve a flat array of middleware classes from the provided array. - * - * @param array $middleware - * @param array $excluded - * @return array - * @static - */ public static function resolveMiddleware($middleware, $excluded = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->resolveMiddleware($middleware, $excluded); - } - /** - * Create a response instance from the given value. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param mixed $response - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ public static function prepareResponse($request, $response) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->prepareResponse($request, $response); - } - /** - * Static version of prepareResponse. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * @param mixed $response - * @return \Symfony\Component\HttpFoundation\Response - * @static - */ public static function toResponse($request, $response) - { - return \Illuminate\Routing\Router::toResponse($request, $response); - } - /** - * Substitute the route bindings onto the route. - * - * @param \Illuminate\Routing\Route $route - * @return \Illuminate\Routing\Route - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException - * @static - */ public static function substituteBindings($route) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->substituteBindings($route); - } - /** - * Substitute the implicit route bindings for the given route. - * - * @param \Illuminate\Routing\Route $route - * @return void - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @throws \Illuminate\Routing\Exceptions\BackedEnumCaseNotFoundException - * @static - */ public static function substituteImplicitBindings($route) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->substituteImplicitBindings($route); - } - /** - * Register a callback to to run after implicit bindings are substituted. - * - * @param callable $callback - * @return \Illuminate\Routing\Router - * @static - */ public static function substituteImplicitBindingsUsing($callback) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->substituteImplicitBindingsUsing($callback); - } - /** - * Register a route matched event listener. - * - * @param string|callable $callback - * @return void - * @static - */ public static function matched($callback) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->matched($callback); - } - /** - * Get all of the defined middleware short-hand names. - * - * @return array - * @static - */ public static function getMiddleware() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getMiddleware(); - } - /** - * Register a short-hand name for a middleware. - * - * @param string $name - * @param string $class - * @return \Illuminate\Routing\Router - * @static - */ public static function aliasMiddleware($name, $class) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->aliasMiddleware($name, $class); - } - /** - * Check if a middlewareGroup with the given name exists. - * - * @param string $name - * @return bool - * @static - */ public static function hasMiddlewareGroup($name) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->hasMiddlewareGroup($name); - } - /** - * Get all of the defined middleware groups. - * - * @return array - * @static - */ public static function getMiddlewareGroups() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getMiddlewareGroups(); - } - /** - * Register a group of middleware. - * - * @param string $name - * @param array $middleware - * @return \Illuminate\Routing\Router - * @static - */ public static function middlewareGroup($name, $middleware) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->middlewareGroup($name, $middleware); - } - /** - * Add a middleware to the beginning of a middleware group. - * - * If the middleware is already in the group, it will not be added again. - * - * @param string $group - * @param string $middleware - * @return \Illuminate\Routing\Router - * @static - */ public static function prependMiddlewareToGroup($group, $middleware) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->prependMiddlewareToGroup($group, $middleware); - } - /** - * Add a middleware to the end of a middleware group. - * - * If the middleware is already in the group, it will not be added again. - * - * @param string $group - * @param string $middleware - * @return \Illuminate\Routing\Router - * @static - */ public static function pushMiddlewareToGroup($group, $middleware) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->pushMiddlewareToGroup($group, $middleware); - } - /** - * Remove the given middleware from the specified group. - * - * @param string $group - * @param string $middleware - * @return \Illuminate\Routing\Router - * @static - */ public static function removeMiddlewareFromGroup($group, $middleware) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->removeMiddlewareFromGroup($group, $middleware); - } - /** - * Flush the router's middleware groups. - * - * @return \Illuminate\Routing\Router - * @static - */ public static function flushMiddlewareGroups() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->flushMiddlewareGroups(); - } - /** - * Add a new route parameter binder. - * - * @param string $key - * @param string|callable $binder - * @return void - * @static - */ public static function bind($key, $binder) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->bind($key, $binder); - } - /** - * Register a model binder for a wildcard. - * - * @param string $key - * @param string $class - * @param \Closure|null $callback - * @return void - * @static - */ public static function model($key, $class, $callback = null) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->model($key, $class, $callback); - } - /** - * Get the binding callback for a given binding. - * - * @param string $key - * @return \Closure|null - * @static - */ public static function getBindingCallback($key) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getBindingCallback($key); - } - /** - * Get the global "where" patterns. - * - * @return array - * @static - */ public static function getPatterns() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getPatterns(); - } - /** - * Set a global where pattern on all routes. - * - * @param string $key - * @param string $pattern - * @return void - * @static - */ public static function pattern($key, $pattern) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->pattern($key, $pattern); - } - /** - * Set a group of global where patterns on all routes. - * - * @param array $patterns - * @return void - * @static - */ public static function patterns($patterns) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->patterns($patterns); - } - /** - * Determine if the router currently has a group stack. - * - * @return bool - * @static - */ public static function hasGroupStack() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->hasGroupStack(); - } - /** - * Get the current group stack for the router. - * - * @return array - * @static - */ public static function getGroupStack() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getGroupStack(); - } - /** - * Get a route parameter for the current route. - * - * @param string $key - * @param string|null $default - * @return mixed - * @static - */ public static function input($key, $default = null) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->input($key, $default); - } - /** - * Get the request currently being dispatched. - * - * @return \Illuminate\Http\Request - * @static - */ public static function getCurrentRequest() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getCurrentRequest(); - } - /** - * Get the currently dispatched route instance. - * - * @return \Illuminate\Routing\Route|null - * @static - */ public static function getCurrentRoute() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getCurrentRoute(); - } - /** - * Get the currently dispatched route instance. - * - * @return \Illuminate\Routing\Route|null - * @static - */ public static function current() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->current(); - } - /** - * Check if a route with the given name exists. - * - * @param string|array $name - * @return bool - * @static - */ public static function has($name) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->has($name); - } - /** - * Get the current route name. - * - * @return string|null - * @static - */ public static function currentRouteName() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->currentRouteName(); - } - /** - * Alias for the "currentRouteNamed" method. - * - * @param mixed $patterns - * @return bool - * @static - */ public static function is(...$patterns) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->is(...$patterns); - } - /** - * Determine if the current route matches a pattern. - * - * @param mixed $patterns - * @return bool - * @static - */ public static function currentRouteNamed(...$patterns) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->currentRouteNamed(...$patterns); - } - /** - * Get the current route action. - * - * @return string|null - * @static - */ public static function currentRouteAction() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->currentRouteAction(); - } - /** - * Alias for the "currentRouteUses" method. - * - * @param array $patterns - * @return bool - * @static - */ public static function uses(...$patterns) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->uses(...$patterns); - } - /** - * Determine if the current route action matches a given action. - * - * @param string $action - * @return bool - * @static - */ public static function currentRouteUses($action) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->currentRouteUses($action); - } - /** - * Set the unmapped global resource parameters to singular. - * - * @param bool $singular - * @return void - * @static - */ public static function singularResourceParameters($singular = true) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->singularResourceParameters($singular); - } - /** - * Set the global resource parameter mapping. - * - * @param array $parameters - * @return void - * @static - */ public static function resourceParameters($parameters = []) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->resourceParameters($parameters); - } - /** - * Get or set the verbs used in the resource URIs. - * - * @param array $verbs - * @return array|null - * @static - */ public static function resourceVerbs($verbs = []) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->resourceVerbs($verbs); - } - /** - * Get the underlying route collection. - * - * @return \Illuminate\Routing\RouteCollectionInterface - * @static - */ public static function getRoutes() - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->getRoutes(); - } - /** - * Set the route collection instance. - * - * @param \Illuminate\Routing\RouteCollection $routes - * @return void - * @static - */ public static function setRoutes($routes) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->setRoutes($routes); - } - /** - * Set the compiled route collection instance. - * - * @param array $routes - * @return void - * @static - */ public static function setCompiledRoutes($routes) - { - /** @var \Illuminate\Routing\Router $instance */ - $instance->setCompiledRoutes($routes); - } - /** - * Remove any duplicate middleware from the given array. - * - * @param array $middleware - * @return array - * @static - */ public static function uniqueMiddleware($middleware) - { - return \Illuminate\Routing\Router::uniqueMiddleware($middleware); - } - /** - * Set the container instance used by the router. - * - * @param \Illuminate\Container\Container $container - * @return \Illuminate\Routing\Router - * @static - */ public static function setContainer($container) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->setContainer($container); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Routing\Router::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Routing\Router::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Routing\Router::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Routing\Router::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Routing\Router $instance */ - return $instance->macroCall($method, $parameters); - } - } - /** - * - * - * @see \Illuminate\Database\Schema\Builder - */ class Schema { - /** - * Create a database in the schema. - * - * @param string $name - * @return bool - * @static - */ public static function createDatabase($name) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->createDatabase($name); - } - /** - * Drop a database from the schema if the database exists. - * - * @param string $name - * @return bool - * @static - */ public static function dropDatabaseIfExists($name) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->dropDatabaseIfExists($name); - } - /** - * Get the tables for the database. - * - * @return array - * @static - */ public static function getTables() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getTables(); - } - /** - * Get the views for the database. - * - * @return array - * @static - */ public static function getViews() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getViews(); - } - /** - * Get all of the table names for the database. - * - * @deprecated Will be removed in a future Laravel version. - * @return array - * @static - */ public static function getAllTables() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getAllTables(); - } - /** - * Get all of the view names for the database. - * - * @deprecated Will be removed in a future Laravel version. - * @return array - * @static - */ public static function getAllViews() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getAllViews(); - } - /** - * Get the columns for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getColumns($table) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getColumns($table); - } - /** - * Get the indexes for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getIndexes($table) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getIndexes($table); - } - /** - * Get the foreign keys for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getForeignKeys($table) - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getForeignKeys($table); - } - /** - * Drop all tables from the database. - * - * @return void - * @static - */ public static function dropAllTables() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->dropAllTables(); - } - /** - * Drop all views from the database. - * - * @return void - * @static - */ public static function dropAllViews() - { - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->dropAllViews(); - } - /** - * Set the default string length for migrations. - * - * @param int $length - * @return void - * @static - */ public static function defaultStringLength($length) - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::defaultStringLength($length); - } - /** - * Set the default morph key type for migrations. - * - * @param string $type - * @return void - * @throws \InvalidArgumentException - * @static - */ public static function defaultMorphKeyType($type) - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::defaultMorphKeyType($type); - } - /** - * Set the default morph key type for migrations to UUIDs. - * - * @return void - * @static - */ public static function morphUsingUuids() - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::morphUsingUuids(); - } - /** - * Set the default morph key type for migrations to ULIDs. - * - * @return void - * @static - */ public static function morphUsingUlids() - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::morphUsingUlids(); - } - /** - * Attempt to use native schema operations for dropping, renaming, and modifying columns, even if Doctrine DBAL is installed. - * - * @param bool $value - * @return void - * @static - */ public static function useNativeSchemaOperationsIfPossible($value = true) - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::useNativeSchemaOperationsIfPossible($value); - } - /** - * Determine if the given table exists. - * - * @param string $table - * @return bool - * @static - */ public static function hasTable($table) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->hasTable($table); - } - /** - * Determine if the given view exists. - * - * @param string $view - * @return bool - * @static - */ public static function hasView($view) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->hasView($view); - } - /** - * Get the names of the tables that belong to the database. - * - * @return array - * @static - */ public static function getTableListing() - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getTableListing(); - } - /** - * Get the user-defined types that belong to the database. - * - * @return array - * @static - */ public static function getTypes() - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getTypes(); - } - /** - * Determine if the given table has a given column. - * - * @param string $table - * @param string $column - * @return bool - * @static - */ public static function hasColumn($table, $column) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->hasColumn($table, $column); - } - /** - * Determine if the given table has given columns. - * - * @param string $table - * @param array $columns - * @return bool - * @static - */ public static function hasColumns($table, $columns) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->hasColumns($table, $columns); - } - /** - * Execute a table builder callback if the given table has a given column. - * - * @param string $table - * @param string $column - * @param \Closure $callback - * @return void - * @static - */ public static function whenTableHasColumn($table, $column, $callback) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->whenTableHasColumn($table, $column, $callback); - } - /** - * Execute a table builder callback if the given table doesn't have a given column. - * - * @param string $table - * @param string $column - * @param \Closure $callback - * @return void - * @static - */ public static function whenTableDoesntHaveColumn($table, $column, $callback) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->whenTableDoesntHaveColumn($table, $column, $callback); - } - /** - * Get the data type for the given column name. - * - * @param string $table - * @param string $column - * @param bool $fullDefinition - * @return string - * @static - */ public static function getColumnType($table, $column, $fullDefinition = false) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getColumnType($table, $column, $fullDefinition); - } - /** - * Get the column listing for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getColumnListing($table) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getColumnListing($table); - } - /** - * Get the names of the indexes for a given table. - * - * @param string $table - * @return array - * @static - */ public static function getIndexListing($table) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getIndexListing($table); - } - /** - * Determine if the given table has a given index. - * - * @param string $table - * @param string|array $index - * @param string|null $type - * @return bool - * @static - */ public static function hasIndex($table, $index, $type = null) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->hasIndex($table, $index, $type); - } - /** - * Modify a table on the schema. - * - * @param string $table - * @param \Closure $callback - * @return void - * @static - */ public static function table($table, $callback) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->table($table, $callback); - } - /** - * Create a new table on the schema. - * - * @param string $table - * @param \Closure $callback - * @return void - * @static - */ public static function create($table, $callback) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->create($table, $callback); - } - /** - * Drop a table from the schema. - * - * @param string $table - * @return void - * @static - */ public static function drop($table) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->drop($table); - } - /** - * Drop a table from the schema if it exists. - * - * @param string $table - * @return void - * @static - */ public static function dropIfExists($table) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->dropIfExists($table); - } - /** - * Drop columns from a table schema. - * - * @param string $table - * @param string|array $columns - * @return void - * @static - */ public static function dropColumns($table, $columns) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->dropColumns($table, $columns); - } - /** - * Drop all types from the database. - * - * @return void - * @throws \LogicException - * @static - */ public static function dropAllTypes() - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->dropAllTypes(); - } - /** - * Rename a table on the schema. - * - * @param string $from - * @param string $to - * @return void - * @static - */ public static function rename($from, $to) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->rename($from, $to); - } - /** - * Enable foreign key constraints. - * - * @return bool - * @static - */ public static function enableForeignKeyConstraints() - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->enableForeignKeyConstraints(); - } - /** - * Disable foreign key constraints. - * - * @return bool - * @static - */ public static function disableForeignKeyConstraints() - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->disableForeignKeyConstraints(); - } - /** - * Disable foreign key constraints during the execution of a callback. - * - * @param \Closure $callback - * @return mixed - * @static - */ public static function withoutForeignKeyConstraints($callback) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->withoutForeignKeyConstraints($callback); - } - /** - * Get the database connection instance. - * - * @return \Illuminate\Database\Connection - * @static - */ public static function getConnection() - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->getConnection(); - } - /** - * Set the database connection instance. - * - * @param \Illuminate\Database\Connection $connection - * @return \Illuminate\Database\Schema\MySqlBuilder - * @static - */ public static function setConnection($connection) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - return $instance->setConnection($connection); - } - /** - * Set the Schema Blueprint resolver callback. - * - * @param \Closure $resolver - * @return void - * @static - */ public static function blueprintResolver($resolver) - { //Method inherited from \Illuminate\Database\Schema\Builder - /** @var \Illuminate\Database\Schema\MySqlBuilder $instance */ - $instance->blueprintResolver($resolver); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { //Method inherited from \Illuminate\Database\Schema\Builder - return \Illuminate\Database\Schema\MySqlBuilder::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { //Method inherited from \Illuminate\Database\Schema\Builder - \Illuminate\Database\Schema\MySqlBuilder::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Session\SessionManager - */ class Session { - /** - * Determine if requests for the same session should wait for each to finish before executing. - * - * @return bool - * @static - */ public static function shouldBlock() - { - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->shouldBlock(); - } - /** - * Get the name of the cache store / driver that should be used to acquire session locks. - * - * @return string|null - * @static - */ public static function blockDriver() - { - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->blockDriver(); - } - /** - * Get the maximum number of seconds the session lock should be held for. - * - * @return int - * @static - */ public static function defaultRouteBlockLockSeconds() - { - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->defaultRouteBlockLockSeconds(); - } - /** - * Get the maximum number of seconds to wait while attempting to acquire a route block session lock. - * - * @return int - * @static - */ public static function defaultRouteBlockWaitSeconds() - { - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->defaultRouteBlockWaitSeconds(); - } - /** - * Get the session configuration. - * - * @return array - * @static - */ public static function getSessionConfig() - { - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->getSessionConfig(); - } - /** - * Get the default session driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Set the default session driver name. - * - * @param string $name - * @return void - * @static - */ public static function setDefaultDriver($name) - { - /** @var \Illuminate\Session\SessionManager $instance */ - $instance->setDefaultDriver($name); - } - /** - * Get a driver instance. - * - * @param string|null $driver - * @return mixed - * @throws \InvalidArgumentException - * @static - */ public static function driver($driver = null) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->driver($driver); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Session\SessionManager - * @static - */ public static function extend($driver, $callback) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Get all of the created "drivers". - * - * @return array - * @static - */ public static function getDrivers() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->getDrivers(); - } - /** - * Get the container instance used by the manager. - * - * @return \Illuminate\Contracts\Container\Container - * @static - */ public static function getContainer() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->getContainer(); - } - /** - * Set the container instance used by the manager. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return \Illuminate\Session\SessionManager - * @static - */ public static function setContainer($container) - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->setContainer($container); - } - /** - * Forget all of the resolved driver instances. - * - * @return \Illuminate\Session\SessionManager - * @static - */ public static function forgetDrivers() - { //Method inherited from \Illuminate\Support\Manager - /** @var \Illuminate\Session\SessionManager $instance */ - return $instance->forgetDrivers(); - } - /** - * Start the session, reading the data from a handler. - * - * @return bool - * @static - */ public static function start() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->start(); - } - /** - * Save the session data to storage. - * - * @return void - * @static - */ public static function save() - { - /** @var \Illuminate\Session\Store $instance */ - $instance->save(); - } - /** - * Age the flash data for the session. - * - * @return void - * @static - */ public static function ageFlashData() - { - /** @var \Illuminate\Session\Store $instance */ - $instance->ageFlashData(); - } - /** - * Get all of the session data. - * - * @return array - * @static - */ public static function all() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->all(); - } - /** - * Get a subset of the session data. - * - * @param array $keys - * @return array - * @static - */ public static function only($keys) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->only($keys); - } - /** - * Get all the session data except for a specified array of items. - * - * @param array $keys - * @return array - * @static - */ public static function except($keys) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->except($keys); - } - /** - * Checks if a key exists. - * - * @param string|array $key - * @return bool - * @static - */ public static function exists($key) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->exists($key); - } - /** - * Determine if the given key is missing from the session data. - * - * @param string|array $key - * @return bool - * @static - */ public static function missing($key) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->missing($key); - } - /** - * Checks if a key is present and not null. - * - * @param string|array $key - * @return bool - * @static - */ public static function has($key) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->has($key); - } - /** - * Get an item from the session. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ public static function get($key, $default = null) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->get($key, $default); - } - /** - * Get the value of a given key and then forget it. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ public static function pull($key, $default = null) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->pull($key, $default); - } - /** - * Determine if the session contains old input. - * - * @param string|null $key - * @return bool - * @static - */ public static function hasOldInput($key = null) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->hasOldInput($key); - } - /** - * Get the requested item from the flashed input array. - * - * @param string|null $key - * @param mixed $default - * @return mixed - * @static - */ public static function getOldInput($key = null, $default = null) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->getOldInput($key, $default); - } - /** - * Replace the given session attributes entirely. - * - * @param array $attributes - * @return void - * @static - */ public static function replace($attributes) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->replace($attributes); - } - /** - * Put a key / value pair or array of key / value pairs in the session. - * - * @param string|array $key - * @param mixed $value - * @return void - * @static - */ public static function put($key, $value = null) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->put($key, $value); - } - /** - * Get an item from the session, or store the default value. - * - * @param string $key - * @param \Closure $callback - * @return mixed - * @static - */ public static function remember($key, $callback) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->remember($key, $callback); - } - /** - * Push a value onto a session array. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function push($key, $value) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->push($key, $value); - } - /** - * Increment the value of an item in the session. - * - * @param string $key - * @param int $amount - * @return mixed - * @static - */ public static function increment($key, $amount = 1) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->increment($key, $amount); - } - /** - * Decrement the value of an item in the session. - * - * @param string $key - * @param int $amount - * @return int - * @static - */ public static function decrement($key, $amount = 1) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->decrement($key, $amount); - } - /** - * Flash a key / value pair to the session. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function flash($key, $value = true) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->flash($key, $value); - } - /** - * Flash a key / value pair to the session for immediate use. - * - * @param string $key - * @param mixed $value - * @return void - * @static - */ public static function now($key, $value) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->now($key, $value); - } - /** - * Reflash all of the session flash data. - * - * @return void - * @static - */ public static function reflash() - { - /** @var \Illuminate\Session\Store $instance */ - $instance->reflash(); - } - /** - * Reflash a subset of the current flash data. - * - * @param array|mixed $keys - * @return void - * @static - */ public static function keep($keys = null) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->keep($keys); - } - /** - * Flash an input array to the session. - * - * @param array $value - * @return void - * @static - */ public static function flashInput($value) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->flashInput($value); - } - /** - * Remove an item from the session, returning its value. - * - * @param string $key - * @return mixed - * @static - */ public static function remove($key) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->remove($key); - } - /** - * Remove one or many items from the session. - * - * @param string|array $keys - * @return void - * @static - */ public static function forget($keys) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->forget($keys); - } - /** - * Remove all of the items from the session. - * - * @return void - * @static - */ public static function flush() - { - /** @var \Illuminate\Session\Store $instance */ - $instance->flush(); - } - /** - * Flush the session data and regenerate the ID. - * - * @return bool - * @static - */ public static function invalidate() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->invalidate(); - } - /** - * Generate a new session identifier. - * - * @param bool $destroy - * @return bool - * @static - */ public static function regenerate($destroy = false) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->regenerate($destroy); - } - /** - * Generate a new session ID for the session. - * - * @param bool $destroy - * @return bool - * @static - */ public static function migrate($destroy = false) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->migrate($destroy); - } - /** - * Determine if the session has been started. - * - * @return bool - * @static - */ public static function isStarted() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->isStarted(); - } - /** - * Get the name of the session. - * - * @return string - * @static - */ public static function getName() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->getName(); - } - /** - * Set the name of the session. - * - * @param string $name - * @return void - * @static - */ public static function setName($name) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->setName($name); - } - /** - * Get the current session ID. - * - * @return string - * @static - */ public static function getId() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->getId(); - } - /** - * Set the session ID. - * - * @param string|null $id - * @return void - * @static - */ public static function setId($id) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->setId($id); - } - /** - * Determine if this is a valid session ID. - * - * @param string|null $id - * @return bool - * @static - */ public static function isValidId($id) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->isValidId($id); - } - /** - * Set the existence of the session on the handler if applicable. - * - * @param bool $value - * @return void - * @static - */ public static function setExists($value) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->setExists($value); - } - /** - * Get the CSRF token value. - * - * @return string - * @static - */ public static function token() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->token(); - } - /** - * Regenerate the CSRF token value. - * - * @return void - * @static - */ public static function regenerateToken() - { - /** @var \Illuminate\Session\Store $instance */ - $instance->regenerateToken(); - } - /** - * Get the previous URL from the session. - * - * @return string|null - * @static - */ public static function previousUrl() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->previousUrl(); - } - /** - * Set the "previous" URL in the session. - * - * @param string $url - * @return void - * @static - */ public static function setPreviousUrl($url) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->setPreviousUrl($url); - } - /** - * Specify that the user has confirmed their password. - * - * @return void - * @static - */ public static function passwordConfirmed() - { - /** @var \Illuminate\Session\Store $instance */ - $instance->passwordConfirmed(); - } - /** - * Get the underlying session handler implementation. - * - * @return \SessionHandlerInterface - * @static - */ public static function getHandler() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->getHandler(); - } - /** - * Set the underlying session handler implementation. - * - * @param \SessionHandlerInterface $handler - * @return \SessionHandlerInterface - * @static - */ public static function setHandler($handler) - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->setHandler($handler); - } - /** - * Determine if the session handler needs a request. - * - * @return bool - * @static - */ public static function handlerNeedsRequest() - { - /** @var \Illuminate\Session\Store $instance */ - return $instance->handlerNeedsRequest(); - } - /** - * Set the request on the handler instance. - * - * @param \Illuminate\Http\Request $request - * @return void - * @static - */ public static function setRequestOnHandler($request) - { - /** @var \Illuminate\Session\Store $instance */ - $instance->setRequestOnHandler($request); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Session\Store::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Session\Store::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Session\Store::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Session\Store::flushMacros(); - } - } - /** - * - * - * @method static bool has(string $location) - * @method static string read(string $location) - * @method static \League\Flysystem\DirectoryListing listContents(string $location, bool $deep = false) - * @method static int fileSize(string $path) - * @method static string visibility(string $path) - * @method static void write(string $location, string $contents, array $config = []) - * @method static void createDirectory(string $location, array $config = []) - * @see \Illuminate\Filesystem\FilesystemManager - */ class Storage { - /** - * Get a filesystem instance. - * - * @param string|null $name - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function drive($name = null) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->drive($name); - } - /** - * Get a filesystem instance. - * - * @param string|null $name - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function disk($name = null) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->disk($name); - } - /** - * Get a default cloud filesystem instance. - * - * @return \Illuminate\Contracts\Filesystem\Cloud - * @static - */ public static function cloud() - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->cloud(); - } - /** - * Build an on-demand disk. - * - * @param string|array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function build($config) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->build($config); - } - /** - * Create an instance of the local driver. - * - * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function createLocalDriver($config) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->createLocalDriver($config); - } - /** - * Create an instance of the ftp driver. - * - * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function createFtpDriver($config) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->createFtpDriver($config); - } - /** - * Create an instance of the sftp driver. - * - * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function createSftpDriver($config) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->createSftpDriver($config); - } - /** - * Create an instance of the Amazon S3 driver. - * - * @param array $config - * @return \Illuminate\Contracts\Filesystem\Cloud - * @static - */ public static function createS3Driver($config) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->createS3Driver($config); - } - /** - * Create a scoped driver. - * - * @param array $config - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function createScopedDriver($config) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->createScopedDriver($config); - } - /** - * Set the given disk instance. - * - * @param string $name - * @param mixed $disk - * @return \Illuminate\Filesystem\FilesystemManager - * @static - */ public static function set($name, $disk) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->set($name, $disk); - } - /** - * Get the default driver name. - * - * @return string - * @static - */ public static function getDefaultDriver() - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->getDefaultDriver(); - } - /** - * Get the default cloud driver name. - * - * @return string - * @static - */ public static function getDefaultCloudDriver() - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->getDefaultCloudDriver(); - } - /** - * Unset the given disk instances. - * - * @param array|string $disk - * @return \Illuminate\Filesystem\FilesystemManager - * @static - */ public static function forgetDisk($disk) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->forgetDisk($disk); - } - /** - * Disconnect the given disk and remove from local cache. - * - * @param string|null $name - * @return void - * @static - */ public static function purge($name = null) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - $instance->purge($name); - } - /** - * Register a custom driver creator Closure. - * - * @param string $driver - * @param \Closure $callback - * @return \Illuminate\Filesystem\FilesystemManager - * @static - */ public static function extend($driver, $callback) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->extend($driver, $callback); - } - /** - * Set the application instance used by the manager. - * - * @param \Illuminate\Contracts\Foundation\Application $app - * @return \Illuminate\Filesystem\FilesystemManager - * @static - */ public static function setApplication($app) - { - /** @var \Illuminate\Filesystem\FilesystemManager $instance */ - return $instance->setApplication($app); - } - /** - * Assert that the given file or directory exists. - * - * @param string|array $path - * @param string|null $content - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function assertExists($path, $content = null) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->assertExists($path, $content); - } - /** - * Assert that the given file or directory does not exist. - * - * @param string|array $path - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function assertMissing($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->assertMissing($path); - } - /** - * Assert that the given directory is empty. - * - * @param string $path - * @return \Illuminate\Filesystem\FilesystemAdapter - * @static - */ public static function assertDirectoryEmpty($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->assertDirectoryEmpty($path); - } - /** - * Determine if a file or directory exists. - * - * @param string $path - * @return bool - * @static - */ public static function exists($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->exists($path); - } - /** - * Determine if a file or directory is missing. - * - * @param string $path - * @return bool - * @static - */ public static function missing($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->missing($path); - } - /** - * Determine if a file exists. - * - * @param string $path - * @return bool - * @static - */ public static function fileExists($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->fileExists($path); - } - /** - * Determine if a file is missing. - * - * @param string $path - * @return bool - * @static - */ public static function fileMissing($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->fileMissing($path); - } - /** - * Determine if a directory exists. - * - * @param string $path - * @return bool - * @static - */ public static function directoryExists($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->directoryExists($path); - } - /** - * Determine if a directory is missing. - * - * @param string $path - * @return bool - * @static - */ public static function directoryMissing($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->directoryMissing($path); - } - /** - * Get the full path for the file at the given "short" path. - * - * @param string $path - * @return string - * @static - */ public static function path($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->path($path); - } - /** - * Get the contents of a file. - * - * @param string $path - * @return string|null - * @static - */ public static function get($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->get($path); - } - /** - * Get the contents of a file as decoded JSON. - * - * @param string $path - * @param int $flags - * @return array|null - * @static - */ public static function json($path, $flags = 0) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->json($path, $flags); - } - /** - * Create a streamed response for a given file. - * - * @param string $path - * @param string|null $name - * @param array $headers - * @param string|null $disposition - * @return \Symfony\Component\HttpFoundation\StreamedResponse - * @static - */ public static function response($path, $name = null, $headers = [], $disposition = 'inline') - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->response($path, $name, $headers, $disposition); - } - /** - * Create a streamed download response for a given file. - * - * @param string $path - * @param string|null $name - * @return \Symfony\Component\HttpFoundation\StreamedResponse - * @static - */ public static function download($path, $name = null, $headers = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->download($path, $name, $headers); - } - /** - * Write the contents of a file. - * - * @param string $path - * @param \Psr\Http\Message\StreamInterface|\Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|resource $contents - * @param mixed $options - * @return string|bool - * @static - */ public static function put($path, $contents, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->put($path, $contents, $options); - } - /** - * Store the uploaded file on the disk. - * - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string $path - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|array|null $file - * @param mixed $options - * @return string|false - * @static - */ public static function putFile($path, $file = null, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->putFile($path, $file, $options); - } - /** - * Store the uploaded file on the disk with a given name. - * - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string $path - * @param \Illuminate\Http\File|\Illuminate\Http\UploadedFile|string|array|null $file - * @param string|array|null $name - * @param mixed $options - * @return string|false - * @static - */ public static function putFileAs($path, $file, $name = null, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->putFileAs($path, $file, $name, $options); - } - /** - * Get the visibility for the given path. - * - * @param string $path - * @return string - * @static - */ public static function getVisibility($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->getVisibility($path); - } - /** - * Set the visibility for the given path. - * - * @param string $path - * @param string $visibility - * @return bool - * @static - */ public static function setVisibility($path, $visibility) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->setVisibility($path, $visibility); - } - /** - * Prepend to a file. - * - * @param string $path - * @param string $data - * @param string $separator - * @return bool - * @static - */ public static function prepend($path, $data, $separator = ' -') - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->prepend($path, $data, $separator); - } - /** - * Append to a file. - * - * @param string $path - * @param string $data - * @param string $separator - * @return bool - * @static - */ public static function append($path, $data, $separator = ' -') - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->append($path, $data, $separator); - } - /** - * Delete the file at a given path. - * - * @param string|array $paths - * @return bool - * @static - */ public static function delete($paths) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->delete($paths); - } - /** - * Copy a file to a new location. - * - * @param string $from - * @param string $to - * @return bool - * @static - */ public static function copy($from, $to) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->copy($from, $to); - } - /** - * Move a file to a new location. - * - * @param string $from - * @param string $to - * @return bool - * @static - */ public static function move($from, $to) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->move($from, $to); - } - /** - * Get the file size of a given file. - * - * @param string $path - * @return int - * @static - */ public static function size($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->size($path); - } - /** - * Get the checksum for a file. - * - * @return string|false - * @throws UnableToProvideChecksum - * @static - */ public static function checksum($path, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->checksum($path, $options); - } - /** - * Get the mime-type of a given file. - * - * @param string $path - * @return string|false - * @static - */ public static function mimeType($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->mimeType($path); - } - /** - * Get the file's last modification time. - * - * @param string $path - * @return int - * @static - */ public static function lastModified($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->lastModified($path); - } - /** - * Get a resource to read the file. - * - * @param string $path - * @return resource|null The path resource or null on failure. - * @static - */ public static function readStream($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->readStream($path); - } - /** - * Write a new file using a stream. - * - * @param string $path - * @param resource $resource - * @param array $options - * @return bool - * @static - */ public static function writeStream($path, $resource, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->writeStream($path, $resource, $options); - } - /** - * Get the URL for the file at the given path. - * - * @param string $path - * @return string - * @throws \RuntimeException - * @static - */ public static function url($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->url($path); - } - /** - * Determine if temporary URLs can be generated. - * - * @return bool - * @static - */ public static function providesTemporaryUrls() - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->providesTemporaryUrls(); - } - /** - * Get a temporary URL for the file at the given path. - * - * @param string $path - * @param \DateTimeInterface $expiration - * @param array $options - * @return string - * @throws \RuntimeException - * @static - */ public static function temporaryUrl($path, $expiration, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->temporaryUrl($path, $expiration, $options); - } - /** - * Get a temporary upload URL for the file at the given path. - * - * @param string $path - * @param \DateTimeInterface $expiration - * @param array $options - * @return array - * @throws \RuntimeException - * @static - */ public static function temporaryUploadUrl($path, $expiration, $options = []) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->temporaryUploadUrl($path, $expiration, $options); - } - /** - * Get an array of all files in a directory. - * - * @param string|null $directory - * @param bool $recursive - * @return array - * @static - */ public static function files($directory = null, $recursive = false) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->files($directory, $recursive); - } - /** - * Get all of the files from the given directory (recursive). - * - * @param string|null $directory - * @return array - * @static - */ public static function allFiles($directory = null) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->allFiles($directory); - } - /** - * Get all of the directories within a given directory. - * - * @param string|null $directory - * @param bool $recursive - * @return array - * @static - */ public static function directories($directory = null, $recursive = false) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->directories($directory, $recursive); - } - /** - * Get all the directories within a given directory (recursive). - * - * @param string|null $directory - * @return array - * @static - */ public static function allDirectories($directory = null) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->allDirectories($directory); - } - /** - * Create a directory. - * - * @param string $path - * @return bool - * @static - */ public static function makeDirectory($path) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->makeDirectory($path); - } - /** - * Recursively delete a directory. - * - * @param string $directory - * @return bool - * @static - */ public static function deleteDirectory($directory) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->deleteDirectory($directory); - } - /** - * Get the Flysystem driver. - * - * @return \League\Flysystem\FilesystemOperator - * @static - */ public static function getDriver() - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->getDriver(); - } - /** - * Get the Flysystem adapter. - * - * @return \League\Flysystem\FilesystemAdapter - * @static - */ public static function getAdapter() - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->getAdapter(); - } - /** - * Get the configuration values. - * - * @return array - * @static - */ public static function getConfig() - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->getConfig(); - } - /** - * Define a custom temporary URL builder callback. - * - * @param \Closure $callback - * @return void - * @static - */ public static function buildTemporaryUrlsUsing($callback) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - $instance->buildTemporaryUrlsUsing($callback); - } - /** - * Apply the callback if the given "value" is (or resolves to) truthy. - * - * @template TWhenParameter - * @template TWhenReturnType - * @param \Illuminate\Filesystem\(\Closure($this): TWhenParameter)|TWhenParameter|null $value - * @param \Illuminate\Filesystem\(callable($this, TWhenParameter): TWhenReturnType)|null $callback - * @param \Illuminate\Filesystem\(callable($this, TWhenParameter): TWhenReturnType)|null $default - * @return $this|\Illuminate\Filesystem\TWhenReturnType - * @static - */ public static function when($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->when($value, $callback, $default); - } - /** - * Apply the callback if the given "value" is (or resolves to) falsy. - * - * @template TUnlessParameter - * @template TUnlessReturnType - * @param \Illuminate\Filesystem\(\Closure($this): TUnlessParameter)|TUnlessParameter|null $value - * @param \Illuminate\Filesystem\(callable($this, TUnlessParameter): TUnlessReturnType)|null $callback - * @param \Illuminate\Filesystem\(callable($this, TUnlessParameter): TUnlessReturnType)|null $default - * @return $this|\Illuminate\Filesystem\TUnlessReturnType - * @static - */ public static function unless($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->unless($value, $callback, $default); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Filesystem\FilesystemAdapter::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Filesystem\FilesystemAdapter::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Filesystem\FilesystemAdapter::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Filesystem\FilesystemAdapter::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Filesystem\FilesystemAdapter $instance */ - return $instance->macroCall($method, $parameters); - } - } - /** - * - * - * @see \Illuminate\Routing\UrlGenerator - */ class URL { - /** - * Get the full URL for the current request. - * - * @return string - * @static - */ public static function full() - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->full(); - } - /** - * Get the current URL for the request. - * - * @return string - * @static - */ public static function current() - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->current(); - } - /** - * Get the URL for the previous request. - * - * @param mixed $fallback - * @return string - * @static - */ public static function previous($fallback = false) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->previous($fallback); - } - /** - * Get the previous path info for the request. - * - * @param mixed $fallback - * @return string - * @static - */ public static function previousPath($fallback = false) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->previousPath($fallback); - } - /** - * Generate an absolute URL to the given path. - * - * @param string $path - * @param mixed $extra - * @param bool|null $secure - * @return string - * @static - */ public static function to($path, $extra = [], $secure = null) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->to($path, $extra, $secure); - } - /** - * Generate a secure, absolute URL to the given path. - * - * @param string $path - * @param array $parameters - * @return string - * @static - */ public static function secure($path, $parameters = []) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->secure($path, $parameters); - } - /** - * Generate the URL to an application asset. - * - * @param string $path - * @param bool|null $secure - * @return string - * @static - */ public static function asset($path, $secure = null) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->asset($path, $secure); - } - /** - * Generate the URL to a secure asset. - * - * @param string $path - * @return string - * @static - */ public static function secureAsset($path) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->secureAsset($path); - } - /** - * Generate the URL to an asset from a custom root domain such as CDN, etc. - * - * @param string $root - * @param string $path - * @param bool|null $secure - * @return string - * @static - */ public static function assetFrom($root, $path, $secure = null) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->assetFrom($root, $path, $secure); - } - /** - * Get the default scheme for a raw URL. - * - * @param bool|null $secure - * @return string - * @static - */ public static function formatScheme($secure = null) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->formatScheme($secure); - } - /** - * Create a signed route URL for a named route. - * - * @param string $name - * @param mixed $parameters - * @param \DateTimeInterface|\DateInterval|int|null $expiration - * @param bool $absolute - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function signedRoute($name, $parameters = [], $expiration = null, $absolute = true) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->signedRoute($name, $parameters, $expiration, $absolute); - } - /** - * Create a temporary signed route URL for a named route. - * - * @param string $name - * @param \DateTimeInterface|\DateInterval|int $expiration - * @param array $parameters - * @param bool $absolute - * @return string - * @static - */ public static function temporarySignedRoute($name, $expiration, $parameters = [], $absolute = true) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->temporarySignedRoute($name, $expiration, $parameters, $absolute); - } - /** - * Determine if the given request has a valid signature. - * - * @param \Illuminate\Http\Request $request - * @param bool $absolute - * @param array $ignoreQuery - * @return bool - * @static - */ public static function hasValidSignature($request, $absolute = true, $ignoreQuery = []) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->hasValidSignature($request, $absolute, $ignoreQuery); - } - /** - * Determine if the given request has a valid signature for a relative URL. - * - * @param \Illuminate\Http\Request $request - * @param array $ignoreQuery - * @return bool - * @static - */ public static function hasValidRelativeSignature($request, $ignoreQuery = []) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->hasValidRelativeSignature($request, $ignoreQuery); - } - /** - * Determine if the signature from the given request matches the URL. - * - * @param \Illuminate\Http\Request $request - * @param bool $absolute - * @param array $ignoreQuery - * @return bool - * @static - */ public static function hasCorrectSignature($request, $absolute = true, $ignoreQuery = []) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->hasCorrectSignature($request, $absolute, $ignoreQuery); - } - /** - * Determine if the expires timestamp from the given request is not from the past. - * - * @param \Illuminate\Http\Request $request - * @return bool - * @static - */ public static function signatureHasNotExpired($request) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->signatureHasNotExpired($request); - } - /** - * Get the URL to a named route. - * - * @param string $name - * @param mixed $parameters - * @param bool $absolute - * @return string - * @throws \Symfony\Component\Routing\Exception\RouteNotFoundException - * @static - */ public static function route($name, $parameters = [], $absolute = true) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->route($name, $parameters, $absolute); - } - /** - * Get the URL for a given route instance. - * - * @param \Illuminate\Routing\Route $route - * @param mixed $parameters - * @param bool $absolute - * @return string - * @throws \Illuminate\Routing\Exceptions\UrlGenerationException - * @static - */ public static function toRoute($route, $parameters, $absolute) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->toRoute($route, $parameters, $absolute); - } - /** - * Get the URL to a controller action. - * - * @param string|array $action - * @param mixed $parameters - * @param bool $absolute - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function action($action, $parameters = [], $absolute = true) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->action($action, $parameters, $absolute); - } - /** - * Format the array of URL parameters. - * - * @param mixed|array $parameters - * @return array - * @static - */ public static function formatParameters($parameters) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->formatParameters($parameters); - } - /** - * Get the base URL for the request. - * - * @param string $scheme - * @param string|null $root - * @return string - * @static - */ public static function formatRoot($scheme, $root = null) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->formatRoot($scheme, $root); - } - /** - * Format the given URL segments into a single URL. - * - * @param string $root - * @param string $path - * @param \Illuminate\Routing\Route|null $route - * @return string - * @static - */ public static function format($root, $path, $route = null) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->format($root, $path, $route); - } - /** - * Determine if the given path is a valid URL. - * - * @param string $path - * @return bool - * @static - */ public static function isValidUrl($path) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->isValidUrl($path); - } - /** - * Set the default named parameters used by the URL generator. - * - * @param array $defaults - * @return void - * @static - */ public static function defaults($defaults) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - $instance->defaults($defaults); - } - /** - * Get the default named parameters used by the URL generator. - * - * @return array - * @static - */ public static function getDefaultParameters() - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->getDefaultParameters(); - } - /** - * Force the scheme for URLs. - * - * @param string|null $scheme - * @return void - * @static - */ public static function forceScheme($scheme) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - $instance->forceScheme($scheme); - } - /** - * Set the forced root URL. - * - * @param string|null $root - * @return void - * @static - */ public static function forceRootUrl($root) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - $instance->forceRootUrl($root); - } - /** - * Set a callback to be used to format the host of generated URLs. - * - * @param \Closure $callback - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function formatHostUsing($callback) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->formatHostUsing($callback); - } - /** - * Set a callback to be used to format the path of generated URLs. - * - * @param \Closure $callback - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function formatPathUsing($callback) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->formatPathUsing($callback); - } - /** - * Get the path formatter being used by the URL generator. - * - * @return \Closure - * @static - */ public static function pathFormatter() - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->pathFormatter(); - } - /** - * Get the request instance. - * - * @return \Illuminate\Http\Request - * @static - */ public static function getRequest() - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->getRequest(); - } - /** - * Set the current request instance. - * - * @param \Illuminate\Http\Request $request - * @return void - * @static - */ public static function setRequest($request) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - $instance->setRequest($request); - } - /** - * Set the route collection. - * - * @param \Illuminate\Routing\RouteCollectionInterface $routes - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function setRoutes($routes) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->setRoutes($routes); - } - /** - * Set the session resolver for the generator. - * - * @param callable $sessionResolver - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function setSessionResolver($sessionResolver) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->setSessionResolver($sessionResolver); - } - /** - * Set the encryption key resolver. - * - * @param callable $keyResolver - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function setKeyResolver($keyResolver) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->setKeyResolver($keyResolver); - } - /** - * Clone a new instance of the URL generator with a different encryption key resolver. - * - * @param callable $keyResolver - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function withKeyResolver($keyResolver) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->withKeyResolver($keyResolver); - } - /** - * Set the callback that should be used to attempt to resolve missing named routes. - * - * @param callable $missingNamedRouteResolver - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function resolveMissingNamedRoutesUsing($missingNamedRouteResolver) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->resolveMissingNamedRoutesUsing($missingNamedRouteResolver); - } - /** - * Get the root controller namespace. - * - * @return string - * @static - */ public static function getRootControllerNamespace() - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->getRootControllerNamespace(); - } - /** - * Set the root controller namespace. - * - * @param string $rootNamespace - * @return \Illuminate\Routing\UrlGenerator - * @static - */ public static function setRootControllerNamespace($rootNamespace) - { - /** @var \Illuminate\Routing\UrlGenerator $instance */ - return $instance->setRootControllerNamespace($rootNamespace); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Routing\UrlGenerator::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Routing\UrlGenerator::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Routing\UrlGenerator::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Routing\UrlGenerator::flushMacros(); - } - } - /** - * - * - * @see \Illuminate\Validation\Factory - */ class Validator { - /** - * Create a new Validator instance. - * - * @param array $data - * @param array $rules - * @param array $messages - * @param array $attributes - * @return \Illuminate\Validation\Validator - * @static - */ public static function make($data, $rules, $messages = [], $attributes = []) - { - /** @var \Illuminate\Validation\Factory $instance */ - return $instance->make($data, $rules, $messages, $attributes); - } - /** - * Validate the given data against the provided rules. - * - * @param array $data - * @param array $rules - * @param array $messages - * @param array $attributes - * @return array - * @throws \Illuminate\Validation\ValidationException - * @static - */ public static function validate($data, $rules, $messages = [], $attributes = []) - { - /** @var \Illuminate\Validation\Factory $instance */ - return $instance->validate($data, $rules, $messages, $attributes); - } - /** - * Register a custom validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string|null $message - * @return void - * @static - */ public static function extend($rule, $extension, $message = null) - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->extend($rule, $extension, $message); - } - /** - * Register a custom implicit validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string|null $message - * @return void - * @static - */ public static function extendImplicit($rule, $extension, $message = null) - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->extendImplicit($rule, $extension, $message); - } - /** - * Register a custom dependent validator extension. - * - * @param string $rule - * @param \Closure|string $extension - * @param string|null $message - * @return void - * @static - */ public static function extendDependent($rule, $extension, $message = null) - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->extendDependent($rule, $extension, $message); - } - /** - * Register a custom validator message replacer. - * - * @param string $rule - * @param \Closure|string $replacer - * @return void - * @static - */ public static function replacer($rule, $replacer) - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->replacer($rule, $replacer); - } - /** - * Indicate that unvalidated array keys should be included in validated data when the parent array is validated. - * - * @return void - * @static - */ public static function includeUnvalidatedArrayKeys() - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->includeUnvalidatedArrayKeys(); - } - /** - * Indicate that unvalidated array keys should be excluded from the validated data, even if the parent array was validated. - * - * @return void - * @static - */ public static function excludeUnvalidatedArrayKeys() - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->excludeUnvalidatedArrayKeys(); - } - /** - * Set the Validator instance resolver. - * - * @param \Closure $resolver - * @return void - * @static - */ public static function resolver($resolver) - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->resolver($resolver); - } - /** - * Get the Translator implementation. - * - * @return \Illuminate\Contracts\Translation\Translator - * @static - */ public static function getTranslator() - { - /** @var \Illuminate\Validation\Factory $instance */ - return $instance->getTranslator(); - } - /** - * Get the Presence Verifier implementation. - * - * @return \Illuminate\Validation\PresenceVerifierInterface - * @static - */ public static function getPresenceVerifier() - { - /** @var \Illuminate\Validation\Factory $instance */ - return $instance->getPresenceVerifier(); - } - /** - * Set the Presence Verifier implementation. - * - * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier - * @return void - * @static - */ public static function setPresenceVerifier($presenceVerifier) - { - /** @var \Illuminate\Validation\Factory $instance */ - $instance->setPresenceVerifier($presenceVerifier); - } - /** - * Get the container instance used by the validation factory. - * - * @return \Illuminate\Contracts\Container\Container|null - * @static - */ public static function getContainer() - { - /** @var \Illuminate\Validation\Factory $instance */ - return $instance->getContainer(); - } - /** - * Set the container instance used by the validation factory. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return \Illuminate\Validation\Factory - * @static - */ public static function setContainer($container) - { - /** @var \Illuminate\Validation\Factory $instance */ - return $instance->setContainer($container); - } - } - /** - * - * - * @see \Illuminate\View\Factory - */ class View { - /** - * Get the evaluated view contents for the given view. - * - * @param string $path - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @static - */ public static function file($path, $data = [], $mergeData = []) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->file($path, $data, $mergeData); - } - /** - * Get the evaluated view contents for the given view. - * - * @param string $view - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @static - */ public static function make($view, $data = [], $mergeData = []) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->make($view, $data, $mergeData); - } - /** - * Get the first view that actually exists from the given list. - * - * @param array $views - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return \Illuminate\Contracts\View\View - * @throws \InvalidArgumentException - * @static - */ public static function first($views, $data = [], $mergeData = []) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->first($views, $data, $mergeData); - } - /** - * Get the rendered content of the view based on a given condition. - * - * @param bool $condition - * @param string $view - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return string - * @static - */ public static function renderWhen($condition, $view, $data = [], $mergeData = []) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->renderWhen($condition, $view, $data, $mergeData); - } - /** - * Get the rendered content of the view based on the negation of a given condition. - * - * @param bool $condition - * @param string $view - * @param \Illuminate\Contracts\Support\Arrayable|array $data - * @param array $mergeData - * @return string - * @static - */ public static function renderUnless($condition, $view, $data = [], $mergeData = []) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->renderUnless($condition, $view, $data, $mergeData); - } - /** - * Get the rendered contents of a partial from a loop. - * - * @param string $view - * @param array $data - * @param string $iterator - * @param string $empty - * @return string - * @static - */ public static function renderEach($view, $data, $iterator, $empty = 'raw|') - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->renderEach($view, $data, $iterator, $empty); - } - /** - * Determine if a given view exists. - * - * @param string $view - * @return bool - * @static - */ public static function exists($view) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->exists($view); - } - /** - * Get the appropriate view engine for the given path. - * - * @param string $path - * @return \Illuminate\Contracts\View\Engine - * @throws \InvalidArgumentException - * @static - */ public static function getEngineFromPath($path) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getEngineFromPath($path); - } - /** - * Add a piece of shared data to the environment. - * - * @param array|string $key - * @param mixed|null $value - * @return mixed - * @static - */ public static function share($key, $value = null) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->share($key, $value); - } - /** - * Increment the rendering counter. - * - * @return void - * @static - */ public static function incrementRender() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->incrementRender(); - } - /** - * Decrement the rendering counter. - * - * @return void - * @static - */ public static function decrementRender() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->decrementRender(); - } - /** - * Check if there are no active render operations. - * - * @return bool - * @static - */ public static function doneRendering() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->doneRendering(); - } - /** - * Determine if the given once token has been rendered. - * - * @param string $id - * @return bool - * @static - */ public static function hasRenderedOnce($id) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->hasRenderedOnce($id); - } - /** - * Mark the given once token as having been rendered. - * - * @param string $id - * @return void - * @static - */ public static function markAsRenderedOnce($id) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->markAsRenderedOnce($id); - } - /** - * Add a location to the array of view locations. - * - * @param string $location - * @return void - * @static - */ public static function addLocation($location) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->addLocation($location); - } - /** - * Add a new namespace to the loader. - * - * @param string $namespace - * @param string|array $hints - * @return \Illuminate\View\Factory - * @static - */ public static function addNamespace($namespace, $hints) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->addNamespace($namespace, $hints); - } - /** - * Prepend a new namespace to the loader. - * - * @param string $namespace - * @param string|array $hints - * @return \Illuminate\View\Factory - * @static - */ public static function prependNamespace($namespace, $hints) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->prependNamespace($namespace, $hints); - } - /** - * Replace the namespace hints for the given namespace. - * - * @param string $namespace - * @param string|array $hints - * @return \Illuminate\View\Factory - * @static - */ public static function replaceNamespace($namespace, $hints) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->replaceNamespace($namespace, $hints); - } - /** - * Register a valid view extension and its engine. - * - * @param string $extension - * @param string $engine - * @param \Closure|null $resolver - * @return void - * @static - */ public static function addExtension($extension, $engine, $resolver = null) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->addExtension($extension, $engine, $resolver); - } - /** - * Flush all of the factory state like sections and stacks. - * - * @return void - * @static - */ public static function flushState() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->flushState(); - } - /** - * Flush all of the section contents if done rendering. - * - * @return void - * @static - */ public static function flushStateIfDoneRendering() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->flushStateIfDoneRendering(); - } - /** - * Get the extension to engine bindings. - * - * @return array - * @static - */ public static function getExtensions() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getExtensions(); - } - /** - * Get the engine resolver instance. - * - * @return \Illuminate\View\Engines\EngineResolver - * @static - */ public static function getEngineResolver() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getEngineResolver(); - } - /** - * Get the view finder instance. - * - * @return \Illuminate\View\ViewFinderInterface - * @static - */ public static function getFinder() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getFinder(); - } - /** - * Set the view finder instance. - * - * @param \Illuminate\View\ViewFinderInterface $finder - * @return void - * @static - */ public static function setFinder($finder) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->setFinder($finder); - } - /** - * Flush the cache of views located by the finder. - * - * @return void - * @static - */ public static function flushFinderCache() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->flushFinderCache(); - } - /** - * Get the event dispatcher instance. - * - * @return \Illuminate\Contracts\Events\Dispatcher - * @static - */ public static function getDispatcher() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getDispatcher(); - } - /** - * Set the event dispatcher instance. - * - * @param \Illuminate\Contracts\Events\Dispatcher $events - * @return void - * @static - */ public static function setDispatcher($events) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->setDispatcher($events); - } - /** - * Get the IoC container instance. - * - * @return \Illuminate\Contracts\Container\Container - * @static - */ public static function getContainer() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getContainer(); - } - /** - * Set the IoC container instance. - * - * @param \Illuminate\Contracts\Container\Container $container - * @return void - * @static - */ public static function setContainer($container) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->setContainer($container); - } - /** - * Get an item from the shared data. - * - * @param string $key - * @param mixed $default - * @return mixed - * @static - */ public static function shared($key, $default = null) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->shared($key, $default); - } - /** - * Get all of the shared data for the environment. - * - * @return array - * @static - */ public static function getShared() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getShared(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\View\Factory::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\View\Factory::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\View\Factory::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\View\Factory::flushMacros(); - } - /** - * Start a component rendering process. - * - * @param \Illuminate\Contracts\View\View|\Illuminate\Contracts\Support\Htmlable|\Closure|string $view - * @param array $data - * @return void - * @static - */ public static function startComponent($view, $data = []) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startComponent($view, $data); - } - /** - * Get the first view that actually exists from the given list, and start a component. - * - * @param array $names - * @param array $data - * @return void - * @static - */ public static function startComponentFirst($names, $data = []) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startComponentFirst($names, $data); - } - /** - * Render the current component. - * - * @return string - * @static - */ public static function renderComponent() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->renderComponent(); - } - /** - * Get an item from the component data that exists above the current component. - * - * @param string $key - * @param mixed $default - * @return mixed|null - * @static - */ public static function getConsumableComponentData($key, $default = null) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getConsumableComponentData($key, $default); - } - /** - * Start the slot rendering process. - * - * @param string $name - * @param string|null $content - * @param array $attributes - * @return void - * @static - */ public static function slot($name, $content = null, $attributes = []) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->slot($name, $content, $attributes); - } - /** - * Save the slot content for rendering. - * - * @return void - * @static - */ public static function endSlot() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->endSlot(); - } - /** - * Register a view creator event. - * - * @param array|string $views - * @param \Closure|string $callback - * @return array - * @static - */ public static function creator($views, $callback) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->creator($views, $callback); - } - /** - * Register multiple view composers via an array. - * - * @param array $composers - * @return array - * @static - */ public static function composers($composers) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->composers($composers); - } - /** - * Register a view composer event. - * - * @param array|string $views - * @param \Closure|string $callback - * @return array - * @static - */ public static function composer($views, $callback) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->composer($views, $callback); - } - /** - * Call the composer for a given view. - * - * @param \Illuminate\Contracts\View\View $view - * @return void - * @static - */ public static function callComposer($view) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->callComposer($view); - } - /** - * Call the creator for a given view. - * - * @param \Illuminate\Contracts\View\View $view - * @return void - * @static - */ public static function callCreator($view) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->callCreator($view); - } - /** - * Start injecting content into a fragment. - * - * @param string $fragment - * @return void - * @static - */ public static function startFragment($fragment) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startFragment($fragment); - } - /** - * Stop injecting content into a fragment. - * - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function stopFragment() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->stopFragment(); - } - /** - * Get the contents of a fragment. - * - * @param string $name - * @param string|null $default - * @return mixed - * @static - */ public static function getFragment($name, $default = null) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getFragment($name, $default); - } - /** - * Get the entire array of rendered fragments. - * - * @return array - * @static - */ public static function getFragments() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getFragments(); - } - /** - * Flush all of the fragments. - * - * @return void - * @static - */ public static function flushFragments() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->flushFragments(); - } - /** - * Start injecting content into a section. - * - * @param string $section - * @param string|null $content - * @return void - * @static - */ public static function startSection($section, $content = null) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startSection($section, $content); - } - /** - * Inject inline content into a section. - * - * @param string $section - * @param string $content - * @return void - * @static - */ public static function inject($section, $content) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->inject($section, $content); - } - /** - * Stop injecting content into a section and return its contents. - * - * @return string - * @static - */ public static function yieldSection() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->yieldSection(); - } - /** - * Stop injecting content into a section. - * - * @param bool $overwrite - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function stopSection($overwrite = false) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->stopSection($overwrite); - } - /** - * Stop injecting content into a section and append it. - * - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function appendSection() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->appendSection(); - } - /** - * Get the string contents of a section. - * - * @param string $section - * @param string $default - * @return string - * @static - */ public static function yieldContent($section, $default = '') - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->yieldContent($section, $default); - } - /** - * Get the parent placeholder for the current request. - * - * @param string $section - * @return string - * @static - */ public static function parentPlaceholder($section = '') - { - return \Illuminate\View\Factory::parentPlaceholder($section); - } - /** - * Check if section exists. - * - * @param string $name - * @return bool - * @static - */ public static function hasSection($name) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->hasSection($name); - } - /** - * Check if section does not exist. - * - * @param string $name - * @return bool - * @static - */ public static function sectionMissing($name) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->sectionMissing($name); - } - /** - * Get the contents of a section. - * - * @param string $name - * @param string|null $default - * @return mixed - * @static - */ public static function getSection($name, $default = null) - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getSection($name, $default); - } - /** - * Get the entire array of sections. - * - * @return array - * @static - */ public static function getSections() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getSections(); - } - /** - * Flush all of the sections. - * - * @return void - * @static - */ public static function flushSections() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->flushSections(); - } - /** - * Add new loop to the stack. - * - * @param \Countable|array $data - * @return void - * @static - */ public static function addLoop($data) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->addLoop($data); - } - /** - * Increment the top loop's indices. - * - * @return void - * @static - */ public static function incrementLoopIndices() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->incrementLoopIndices(); - } - /** - * Pop a loop from the top of the loop stack. - * - * @return void - * @static - */ public static function popLoop() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->popLoop(); - } - /** - * Get an instance of the last loop in the stack. - * - * @return \stdClass|null - * @static - */ public static function getLastLoop() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getLastLoop(); - } - /** - * Get the entire loop stack. - * - * @return array - * @static - */ public static function getLoopStack() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->getLoopStack(); - } - /** - * Start injecting content into a push section. - * - * @param string $section - * @param string $content - * @return void - * @static - */ public static function startPush($section, $content = '') - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startPush($section, $content); - } - /** - * Stop injecting content into a push section. - * - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function stopPush() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->stopPush(); - } - /** - * Start prepending content into a push section. - * - * @param string $section - * @param string $content - * @return void - * @static - */ public static function startPrepend($section, $content = '') - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startPrepend($section, $content); - } - /** - * Stop prepending content into a push section. - * - * @return string - * @throws \InvalidArgumentException - * @static - */ public static function stopPrepend() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->stopPrepend(); - } - /** - * Get the string contents of a push section. - * - * @param string $section - * @param string $default - * @return string - * @static - */ public static function yieldPushContent($section, $default = '') - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->yieldPushContent($section, $default); - } - /** - * Flush all of the stacks. - * - * @return void - * @static - */ public static function flushStacks() - { - /** @var \Illuminate\View\Factory $instance */ - $instance->flushStacks(); - } - /** - * Start a translation block. - * - * @param array $replacements - * @return void - * @static - */ public static function startTranslation($replacements = []) - { - /** @var \Illuminate\View\Factory $instance */ - $instance->startTranslation($replacements); - } - /** - * Render the current translation. - * - * @return string - * @static - */ public static function renderTranslation() - { - /** @var \Illuminate\View\Factory $instance */ - return $instance->renderTranslation(); - } - } - /** - * - * - * @see \Illuminate\Foundation\Vite - */ class Vite { - /** - * Get the preloaded assets. - * - * @return array - * @static - */ public static function preloadedAssets() - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->preloadedAssets(); - } - /** - * Get the Content Security Policy nonce applied to all generated tags. - * - * @return string|null - * @static - */ public static function cspNonce() - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->cspNonce(); - } - /** - * Generate or set a Content Security Policy nonce to apply to all generated tags. - * - * @param string|null $nonce - * @return string - * @static - */ public static function useCspNonce($nonce = null) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useCspNonce($nonce); - } - /** - * Use the given key to detect integrity hashes in the manifest. - * - * @param string|false $key - * @return \Illuminate\Foundation\Vite - * @static - */ public static function useIntegrityKey($key) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useIntegrityKey($key); - } - /** - * Set the Vite entry points. - * - * @param array $entryPoints - * @return \Illuminate\Foundation\Vite - * @static - */ public static function withEntryPoints($entryPoints) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->withEntryPoints($entryPoints); - } - /** - * Set the filename for the manifest file. - * - * @param string $filename - * @return \Illuminate\Foundation\Vite - * @static - */ public static function useManifestFilename($filename) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useManifestFilename($filename); - } - /** - * Resolve asset paths using the provided resolver. - * - * @param callable|null $urlResolver - * @return \Illuminate\Foundation\Vite - * @static - */ public static function createAssetPathsUsing($resolver) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->createAssetPathsUsing($resolver); - } - /** - * Get the Vite "hot" file path. - * - * @return string - * @static - */ public static function hotFile() - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->hotFile(); - } - /** - * Set the Vite "hot" file path. - * - * @param string $path - * @return \Illuminate\Foundation\Vite - * @static - */ public static function useHotFile($path) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useHotFile($path); - } - /** - * Set the Vite build directory. - * - * @param string $path - * @return \Illuminate\Foundation\Vite - * @static - */ public static function useBuildDirectory($path) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useBuildDirectory($path); - } - /** - * Use the given callback to resolve attributes for script tags. - * - * @param \Illuminate\Foundation\(callable(string, string, ?array, ?array): array)|array $attributes - * @return \Illuminate\Foundation\Vite - * @static - */ public static function useScriptTagAttributes($attributes) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useScriptTagAttributes($attributes); - } - /** - * Use the given callback to resolve attributes for style tags. - * - * @param \Illuminate\Foundation\(callable(string, string, ?array, ?array): array)|array $attributes - * @return \Illuminate\Foundation\Vite - * @static - */ public static function useStyleTagAttributes($attributes) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->useStyleTagAttributes($attributes); - } - /** - * Use the given callback to resolve attributes for preload tags. - * - * @param \Illuminate\Foundation\(callable(string, string, ?array, ?array): (array|false))|array|false $attributes - * @return \Illuminate\Foundation\Vite - * @static - */ public static function usePreloadTagAttributes($attributes) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->usePreloadTagAttributes($attributes); - } - /** - * Generate React refresh runtime script. - * - * @return \Illuminate\Support\HtmlString|void - * @static - */ public static function reactRefresh() - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->reactRefresh(); - } - /** - * Get the URL for an asset. - * - * @param string $asset - * @param string|null $buildDirectory - * @return string - * @static - */ public static function asset($asset, $buildDirectory = null) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->asset($asset, $buildDirectory); - } - /** - * Get the content of a given asset. - * - * @param string $asset - * @param string|null $buildDirectory - * @return string - * @throws \Exception - * @static - */ public static function content($asset, $buildDirectory = null) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->content($asset, $buildDirectory); - } - /** - * Get a unique hash representing the current manifest, or null if there is no manifest. - * - * @param string|null $buildDirectory - * @return string|null - * @static - */ public static function manifestHash($buildDirectory = null) - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->manifestHash($buildDirectory); - } - /** - * Determine if the HMR server is running. - * - * @return bool - * @static - */ public static function isRunningHot() - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->isRunningHot(); - } - /** - * Get the Vite tag content as a string of HTML. - * - * @return string - * @static - */ public static function toHtml() - { - /** @var \Illuminate\Foundation\Vite $instance */ - return $instance->toHtml(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Foundation\Vite::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Foundation\Vite::mixin($mixin, $replace); - } - /** - * Checks if macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - return \Illuminate\Foundation\Vite::hasMacro($name); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Foundation\Vite::flushMacros(); - } - } - } - -namespace AnourValar\EloquentSerialize\Facades { - /** - * - * - */ class EloquentSerializeFacade { - /** - * Pack - * - * @param \Illuminate\Database\Eloquent\Builder $builder - * @return string - * @static - */ public static function serialize($builder) - { - /** @var \AnourValar\EloquentSerialize\Service $instance */ - return $instance->serialize($builder); - } - /** - * Unpack - * - * @param mixed $package - * @throws \LogicException - * @return \Illuminate\Database\Eloquent\Builder - * @static - */ public static function unserialize($package) - { - /** @var \AnourValar\EloquentSerialize\Service $instance */ - return $instance->unserialize($package); - } - } - } - -namespace Livewire { - /** - * - * - * @see \Livewire\LivewireManager - */ class Livewire { - /** - * - * - * @static - */ public static function setProvider($provider) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->setProvider($provider); - } - /** - * - * - * @static - */ public static function provide($callback) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->provide($callback); - } - /** - * - * - * @static - */ public static function component($name, $class = null) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->component($name, $class); - } - /** - * - * - * @static - */ public static function componentHook($hook) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->componentHook($hook); - } - /** - * - * - * @static - */ public static function propertySynthesizer($synth) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->propertySynthesizer($synth); - } - /** - * - * - * @static - */ public static function directive($name, $callback) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->directive($name, $callback); - } - /** - * - * - * @static - */ public static function precompiler($callback) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->precompiler($callback); - } - /** - * - * - * @static - */ public static function new($name, $id = null) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->new($name, $id); - } - /** - * - * - * @static - */ public static function isDiscoverable($componentNameOrClass) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->isDiscoverable($componentNameOrClass); - } - /** - * - * - * @static - */ public static function resolveMissingComponent($resolver) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->resolveMissingComponent($resolver); - } - /** - * - * - * @static - */ public static function mount($name, $params = [], $key = null) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->mount($name, $params, $key); - } - /** - * - * - * @static - */ public static function snapshot($component) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->snapshot($component); - } - /** - * - * - * @static - */ public static function fromSnapshot($snapshot) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->fromSnapshot($snapshot); - } - /** - * - * - * @static - */ public static function listen($eventName, $callback) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->listen($eventName, $callback); - } - /** - * - * - * @static - */ public static function current() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->current(); - } - /** - * - * - * @static - */ public static function update($snapshot, $diff, $calls) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->update($snapshot, $diff, $calls); - } - /** - * - * - * @static - */ public static function updateProperty($component, $path, $value) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->updateProperty($component, $path, $value); - } - /** - * - * - * @static - */ public static function isLivewireRequest() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->isLivewireRequest(); - } - /** - * - * - * @static - */ public static function componentHasBeenRendered() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->componentHasBeenRendered(); - } - /** - * - * - * @static - */ public static function forceAssetInjection() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->forceAssetInjection(); - } - /** - * - * - * @static - */ public static function setUpdateRoute($callback) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->setUpdateRoute($callback); - } - /** - * - * - * @static - */ public static function getUpdateUri() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->getUpdateUri(); - } - /** - * - * - * @static - */ public static function setScriptRoute($callback) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->setScriptRoute($callback); - } - /** - * - * - * @static - */ public static function useScriptTagAttributes($attributes) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->useScriptTagAttributes($attributes); - } - /** - * - * - * @static - */ public static function withUrlParams($params) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->withUrlParams($params); - } - /** - * - * - * @static - */ public static function withQueryParams($params) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->withQueryParams($params); - } - /** - * - * - * @static - */ public static function withCookie($name, $value) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->withCookie($name, $value); - } - /** - * - * - * @static - */ public static function withCookies($cookies) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->withCookies($cookies); - } - /** - * - * - * @static - */ public static function withHeaders($headers) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->withHeaders($headers); - } - /** - * - * - * @static - */ public static function test($name, $params = []) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->test($name, $params); - } - /** - * - * - * @static - */ public static function visit($name) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->visit($name); - } - /** - * - * - * @static - */ public static function actingAs($user, $driver = null) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->actingAs($user, $driver); - } - /** - * - * - * @static - */ public static function isRunningServerless() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->isRunningServerless(); - } - /** - * - * - * @static - */ public static function addPersistentMiddleware($middleware) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->addPersistentMiddleware($middleware); - } - /** - * - * - * @static - */ public static function setPersistentMiddleware($middleware) - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->setPersistentMiddleware($middleware); - } - /** - * - * - * @static - */ public static function getPersistentMiddleware() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->getPersistentMiddleware(); - } - /** - * - * - * @static - */ public static function flushState() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->flushState(); - } - /** - * - * - * @static - */ public static function originalUrl() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->originalUrl(); - } - /** - * - * - * @static - */ public static function originalPath() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->originalPath(); - } - /** - * - * - * @static - */ public static function originalMethod() - { - /** @var \Livewire\LivewireManager $instance */ - return $instance->originalMethod(); - } - } - } - -namespace Lorisleiva\Actions\Facades { - /** - * - * - * @see ActionManager - */ class Actions { - /** - * - * - * @param \Lorisleiva\Actions\class-string $jobDecoratorClass - * @static - */ public static function useJobDecorator($jobDecoratorClass) - { - return \Lorisleiva\Actions\ActionManager::useJobDecorator($jobDecoratorClass); - } - /** - * - * - * @param \Lorisleiva\Actions\class-string $uniqueJobDecoratorClass - * @static - */ public static function useUniqueJobDecorator($uniqueJobDecoratorClass) - { - return \Lorisleiva\Actions\ActionManager::useUniqueJobDecorator($uniqueJobDecoratorClass); - } - /** - * - * - * @static - */ public static function setBacktraceLimit($backtraceLimit) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->setBacktraceLimit($backtraceLimit); - } - /** - * - * - * @static - */ public static function setDesignPatterns($designPatterns) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->setDesignPatterns($designPatterns); - } - /** - * - * - * @static - */ public static function getDesignPatterns() - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->getDesignPatterns(); - } - /** - * - * - * @static - */ public static function registerDesignPattern($designPattern) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->registerDesignPattern($designPattern); - } - /** - * - * - * @static - */ public static function getDesignPatternsMatching($usedTraits) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->getDesignPatternsMatching($usedTraits); - } - /** - * - * - * @static - */ public static function extend($app, $abstract) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->extend($app, $abstract); - } - /** - * - * - * @static - */ public static function isExtending($abstract) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->isExtending($abstract); - } - /** - * - * - * @static - */ public static function shouldExtend($abstract) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->shouldExtend($abstract); - } - /** - * - * - * @static - */ public static function identifyAndDecorate($instance) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->identifyAndDecorate($instance); - } - /** - * - * - * @static - */ public static function identifyFromBacktrace($usedTraits, $frame = null) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->identifyFromBacktrace($usedTraits, $frame); - } - /** - * - * - * @static - */ public static function registerRoutes($paths = 'app/Actions') - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->registerRoutes($paths); - } - /** - * - * - * @static - */ public static function registerCommands($paths = 'app/Actions') - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->registerCommands($paths); - } - /** - * - * - * @static - */ public static function registerRoutesForAction($className) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->registerRoutesForAction($className); - } - /** - * - * - * @static - */ public static function registerCommandsForAction($className) - { - /** @var \Lorisleiva\Actions\ActionManager $instance */ - return $instance->registerCommandsForAction($className); - } - } - } - -namespace Lorisleiva\Lody { - /** - * - * - * @see LodyManager - */ class Lody { - /** - * - * - * @static - */ public static function classes($paths, $recursive = true) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->classes($paths, $recursive); - } - /** - * - * - * @static - */ public static function classesFromFinder($finder) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->classesFromFinder($finder); - } - /** - * - * - * @static - */ public static function files($paths, $recursive = true, $hidden = false) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->files($paths, $recursive, $hidden); - } - /** - * - * - * @static - */ public static function filesFromFinder($finder) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->filesFromFinder($finder); - } - /** - * - * - * @static - */ public static function resolvePathUsing($callback) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->resolvePathUsing($callback); - } - /** - * - * - * @static - */ public static function resolvePath($path) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->resolvePath($path); - } - /** - * - * - * @static - */ public static function resolveClassnameUsing($callback) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->resolveClassnameUsing($callback); - } - /** - * - * - * @static - */ public static function resolveClassname($file) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->resolveClassname($file); - } - /** - * - * - * @static - */ public static function setBasePath($basePath) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->setBasePath($basePath); - } - /** - * - * - * @static - */ public static function getBasePath($path = '') - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->getBasePath($path); - } - /** - * - * - * @static - */ public static function setAutoloadPath($autoloadPath) - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->setAutoloadPath($autoloadPath); - } - /** - * - * - * @static - */ public static function getAutoloadPath() - { - /** @var \Lorisleiva\Lody\LodyManager $instance */ - return $instance->getAutoloadPath(); - } - } - } - -namespace Spatie\LaravelIgnition\Facades { - /** - * - * - * @see \Spatie\FlareClient\Flare - */ class Flare { - /** - * - * - * @static - */ public static function make($apiKey = null, $contextDetector = null) - { - return \Spatie\FlareClient\Flare::make($apiKey, $contextDetector); - } - /** - * - * - * @static - */ public static function setApiToken($apiToken) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->setApiToken($apiToken); - } - /** - * - * - * @static - */ public static function apiTokenSet() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->apiTokenSet(); - } - /** - * - * - * @static - */ public static function setBaseUrl($baseUrl) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->setBaseUrl($baseUrl); - } - /** - * - * - * @static - */ public static function setStage($stage) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->setStage($stage); - } - /** - * - * - * @static - */ public static function sendReportsImmediately() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->sendReportsImmediately(); - } - /** - * - * - * @static - */ public static function determineVersionUsing($determineVersionCallable) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->determineVersionUsing($determineVersionCallable); - } - /** - * - * - * @static - */ public static function reportErrorLevels($reportErrorLevels) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->reportErrorLevels($reportErrorLevels); - } - /** - * - * - * @static - */ public static function filterExceptionsUsing($filterExceptionsCallable) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->filterExceptionsUsing($filterExceptionsCallable); - } - /** - * - * - * @static - */ public static function filterReportsUsing($filterReportsCallable) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->filterReportsUsing($filterReportsCallable); - } - /** - * - * - * @param array|ArgumentReducer>|\Spatie\Backtrace\Arguments\ArgumentReducers|null $argumentReducers - * @static - */ public static function argumentReducers($argumentReducers) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->argumentReducers($argumentReducers); - } - /** - * - * - * @static - */ public static function withStackFrameArguments($withStackFrameArguments = true) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->withStackFrameArguments($withStackFrameArguments); - } - /** - * - * - * @static - */ public static function version() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->version(); - } - /** - * - * - * @return array> - * @static - */ public static function getMiddleware() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->getMiddleware(); - } - /** - * - * - * @static - */ public static function setContextProviderDetector($contextDetector) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->setContextProviderDetector($contextDetector); - } - /** - * - * - * @static - */ public static function setContainer($container) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->setContainer($container); - } - /** - * - * - * @static - */ public static function registerFlareHandlers() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->registerFlareHandlers(); - } - /** - * - * - * @static - */ public static function registerExceptionHandler() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->registerExceptionHandler(); - } - /** - * - * - * @static - */ public static function registerErrorHandler() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->registerErrorHandler(); - } - /** - * - * - * @param \Spatie\FlareClient\FlareMiddleware\FlareMiddleware|array|\Spatie\FlareClient\class-string|callable $middleware - * @return \Spatie\FlareClient\Flare - * @static - */ public static function registerMiddleware($middleware) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->registerMiddleware($middleware); - } - /** - * - * - * @return array> - * @static - */ public static function getMiddlewares() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->getMiddlewares(); - } - /** - * - * - * @param string $name - * @param string $messageLevel - * @param array $metaData - * @return \Spatie\FlareClient\Flare - * @static - */ public static function glow($name, $messageLevel = 'info', $metaData = []) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->glow($name, $messageLevel, $metaData); - } - /** - * - * - * @static - */ public static function handleException($throwable) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->handleException($throwable); - } - /** - * - * - * @return mixed - * @static - */ public static function handleError($code, $message, $file = '', $line = 0) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->handleError($code, $message, $file, $line); - } - /** - * - * - * @static - */ public static function applicationPath($applicationPath) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->applicationPath($applicationPath); - } - /** - * - * - * @static - */ public static function report($throwable, $callback = null, $report = null) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->report($throwable, $callback, $report); - } - /** - * - * - * @static - */ public static function reportMessage($message, $logLevel, $callback = null) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->reportMessage($message, $logLevel, $callback); - } - /** - * - * - * @static - */ public static function sendTestReport($throwable) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->sendTestReport($throwable); - } - /** - * - * - * @static - */ public static function reset() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->reset(); - } - /** - * - * - * @static - */ public static function anonymizeIp() - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->anonymizeIp(); - } - /** - * - * - * @param array $fieldNames - * @return \Spatie\FlareClient\Flare - * @static - */ public static function censorRequestBodyFields($fieldNames) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->censorRequestBodyFields($fieldNames); - } - /** - * - * - * @static - */ public static function createReport($throwable) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->createReport($throwable); - } - /** - * - * - * @static - */ public static function createReportFromMessage($message, $logLevel) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->createReportFromMessage($message, $logLevel); - } - /** - * - * - * @static - */ public static function stage($stage) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->stage($stage); - } - /** - * - * - * @static - */ public static function messageLevel($messageLevel) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->messageLevel($messageLevel); - } - /** - * - * - * @param string $groupName - * @param mixed $default - * @return array - * @static - */ public static function getGroup($groupName = 'context', $default = []) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->getGroup($groupName, $default); - } - /** - * - * - * @static - */ public static function context($key, $value) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->context($key, $value); - } - /** - * - * - * @param string $groupName - * @param array $properties - * @return \Spatie\FlareClient\Flare - * @static - */ public static function group($groupName, $properties) - { - /** @var \Spatie\FlareClient\Flare $instance */ - return $instance->group($groupName, $properties); - } - } - } - -namespace Illuminate\Support { - /** - * - * - */ class Str { - /** - * - * - * @see \Filament\Support\SupportServiceProvider::packageBooted() - * @param string $html - * @return string - * @static - */ public static function sanitizeHtml($html) - { - return \Illuminate\Support\Str::sanitizeHtml($html); - } - /** - * - * - * @see \Filament\Support\SupportServiceProvider::packageBooted() - * @param string $value - * @return string - * @static - */ public static function ucwords($value) - { - return \Illuminate\Support\Str::ucwords($value); - } - } - /** - * - * - */ class Stringable { - /** - * - * - * @see \Filament\Support\SupportServiceProvider::packageBooted() - * @return \Illuminate\Support\Stringable - * @static - */ public static function sanitizeHtml() - { - return \Illuminate\Support\Stringable::sanitizeHtml(); - } - /** - * - * - * @see \Filament\Support\SupportServiceProvider::packageBooted() - * @return \Illuminate\Support\Stringable - * @static - */ public static function ucwords() - { - return \Illuminate\Support\Stringable::ucwords(); - } - } - } - -namespace Illuminate\Http { - /** - * - * - */ class Request { - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() - * @param array $rules - * @param mixed $params - * @static - */ public static function validate($rules, ...$params) - { - return \Illuminate\Http\Request::validate($rules, ...$params); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestValidation() - * @param string $errorBag - * @param array $rules - * @param mixed $params - * @static - */ public static function validateWithBag($errorBag, $rules, ...$params) - { - return \Illuminate\Http\Request::validateWithBag($errorBag, $rules, ...$params); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() - * @param mixed $absolute - * @static - */ public static function hasValidSignature($absolute = true) - { - return \Illuminate\Http\Request::hasValidSignature($absolute); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() - * @static - */ public static function hasValidRelativeSignature() - { - return \Illuminate\Http\Request::hasValidRelativeSignature(); - } - /** - * - * - * @see \Illuminate\Foundation\Providers\FoundationServiceProvider::registerRequestSignatureValidation() - * @param mixed $ignoreQuery - * @param mixed $absolute - * @static - */ public static function hasValidSignatureWhileIgnoring($ignoreQuery = [], $absolute = true) - { - return \Illuminate\Http\Request::hasValidSignatureWhileIgnoring($ignoreQuery, $absolute); - } - } - } - -namespace Illuminate\Database\Query { - /** - * - * - */ class Builder { - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\QueryBuilderExtraMethods::getGroupBy() - * @static - */ public static function getGroupBy() - { - return \Illuminate\Database\Query\Builder::getGroupBy(); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\QueryBuilderExtraMethods::getSelect() - * @static - */ public static function getSelect() - { - return \Illuminate\Database\Query\Builder::getSelect(); - } - } - } - -namespace Illuminate\Database\Eloquent\Relations { - /** - * - * - */ class Relation { - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoins() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @param string|null $morphable - * @static - */ public static function performJoinForEloquentPowerJoins($builder, $joinType = 'leftJoin', $callback = null, $alias = null, $disableExtraConditions = false, $morphable = null) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoins($builder, $joinType, $callback, $alias, $disableExtraConditions, $morphable); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForBelongsTo() - * @param mixed $query - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @static - */ public static function performJoinForEloquentPowerJoinsForBelongsTo($query, $joinType, $callback = null, $alias = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForBelongsTo($query, $joinType, $callback, $alias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForBelongsToMany() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @static - */ public static function performJoinForEloquentPowerJoinsForBelongsToMany($builder, $joinType, $callback = null, $alias = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForBelongsToMany($builder, $joinType, $callback, $alias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForMorphToMany() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @static - */ public static function performJoinForEloquentPowerJoinsForMorphToMany($builder, $joinType, $callback = null, $alias = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForMorphToMany($builder, $joinType, $callback, $alias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForMorph() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @static - */ public static function performJoinForEloquentPowerJoinsForMorph($builder, $joinType, $callback = null, $alias = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForMorph($builder, $joinType, $callback, $alias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForMorphTo() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @param string|null $morphable - * @static - */ public static function performJoinForEloquentPowerJoinsForMorphTo($builder, $joinType, $callback = null, $alias = null, $disableExtraConditions = false, $morphable = null) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForMorphTo($builder, $joinType, $callback, $alias, $disableExtraConditions, $morphable); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForHasMany() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @static - */ public static function performJoinForEloquentPowerJoinsForHasMany($builder, $joinType, $callback = null, $alias = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForHasMany($builder, $joinType, $callback, $alias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performJoinForEloquentPowerJoinsForHasManyThrough() - * @param mixed $builder - * @param mixed $joinType - * @param mixed $callback - * @param mixed $alias - * @param bool $disableExtraConditions - * @static - */ public static function performJoinForEloquentPowerJoinsForHasManyThrough($builder, $joinType, $callback = null, $alias = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performJoinForEloquentPowerJoinsForHasManyThrough($builder, $joinType, $callback, $alias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::performHavingForEloquentPowerJoins() - * @param mixed $builder - * @param mixed $operator - * @param mixed $count - * @param string|null $morphable - * @static - */ public static function performHavingForEloquentPowerJoins($builder, $operator, $count, $morphable = null) - { - return \Illuminate\Database\Eloquent\Relations\Relation::performHavingForEloquentPowerJoins($builder, $operator, $count, $morphable); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::usesSoftDeletes() - * @param mixed $model - * @static - */ public static function usesSoftDeletes($model) - { - return \Illuminate\Database\Eloquent\Relations\Relation::usesSoftDeletes($model); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::getThroughParent() - * @static - */ public static function getThroughParent() - { - return \Illuminate\Database\Eloquent\Relations\Relation::getThroughParent(); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::getFarParent() - * @static - */ public static function getFarParent() - { - return \Illuminate\Database\Eloquent\Relations\Relation::getFarParent(); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::applyExtraConditions() - * @param \Kirschbaum\PowerJoins\PowerJoinClause $join - * @static - */ public static function applyExtraConditions($join) - { - return \Illuminate\Database\Eloquent\Relations\Relation::applyExtraConditions($join); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::applyBasicCondition() - * @param mixed $join - * @param mixed $condition - * @static - */ public static function applyBasicCondition($join, $condition) - { - return \Illuminate\Database\Eloquent\Relations\Relation::applyBasicCondition($join, $condition); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::applyNullCondition() - * @param mixed $join - * @param mixed $condition - * @static - */ public static function applyNullCondition($join, $condition) - { - return \Illuminate\Database\Eloquent\Relations\Relation::applyNullCondition($join, $condition); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::applyNotNullCondition() - * @param mixed $join - * @param mixed $condition - * @static - */ public static function applyNotNullCondition($join, $condition) - { - return \Illuminate\Database\Eloquent\Relations\Relation::applyNotNullCondition($join, $condition); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::applyNestedCondition() - * @param mixed $join - * @param mixed $condition - * @static - */ public static function applyNestedCondition($join, $condition) - { - return \Illuminate\Database\Eloquent\Relations\Relation::applyNestedCondition($join, $condition); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::shouldNotApplyExtraCondition() - * @param mixed $condition - * @static - */ public static function shouldNotApplyExtraCondition($condition) - { - return \Illuminate\Database\Eloquent\Relations\Relation::shouldNotApplyExtraCondition($condition); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\RelationshipsExtraMethods::getPowerJoinExistenceCompareKey() - * @static - */ public static function getPowerJoinExistenceCompareKey() - { - return \Illuminate\Database\Eloquent\Relations\Relation::getPowerJoinExistenceCompareKey(); - } - } - } - -namespace Illuminate\Routing { - /** - * - * - */ class Route { - /** - * - * - * @see \Livewire\Features\SupportLazyLoading\SupportLazyLoading::registerRouteMacro() - * @param mixed $enabled - * @static - */ public static function lazy($enabled = true) - { - return \Illuminate\Routing\Route::lazy($enabled); - } - } - } - -namespace Livewire\Features\SupportTesting { - /** - * - * - * @mixin \Illuminate\Testing\TestResponse - */ class Testable { - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::mountAction() - * @param array|string $name - * @param array $arguments - * @return static - * @static - */ public static function mountAction($name, $arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::mountAction($name, $arguments); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::unmountAction() - * @return static - * @static - */ public static function unmountAction() - { - return \Livewire\Features\SupportTesting\Testable::unmountAction(); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::setActionData() - * @param array $data - * @return static - * @static - */ public static function setActionData($data) - { - return \Livewire\Features\SupportTesting\Testable::setActionData($data); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDataSet() - * @param array $data - * @return static - * @static - */ public static function assertActionDataSet($data) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDataSet($data); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::callAction() - * @param array|string $name - * @param array $data - * @param array $arguments - * @return static - * @static - */ public static function callAction($name, $data = [], $arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callAction($name, $data, $arguments); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::callMountedAction() - * @param array $arguments - * @return static - * @static - */ public static function callMountedAction($arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callMountedAction($arguments); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionExists() - * @param array|string $name - * @return static - * @static - */ public static function assertActionExists($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionExists($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDoesNotExist() - * @param array|string $name - * @return static - * @static - */ public static function assertActionDoesNotExist($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDoesNotExist($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionVisible() - * @param array|string $name - * @return static - * @static - */ public static function assertActionVisible($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionVisible($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionHidden() - * @param array|string $name - * @return static - * @static - */ public static function assertActionHidden($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHidden($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionEnabled() - * @param array|string $name - * @return static - * @static - */ public static function assertActionEnabled($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionEnabled($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDisabled() - * @param array|string $name - * @return static - * @static - */ public static function assertActionDisabled($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDisabled($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionHasIcon() - * @param array|string $name - * @param string $icon - * @param mixed $record - * @return static - * @static - */ public static function assertActionHasIcon($name, $icon, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHasIcon($name, $icon, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDoesNotHaveIcon() - * @param array|string $name - * @param string $icon - * @param mixed $record - * @return static - * @static - */ public static function assertActionDoesNotHaveIcon($name, $icon, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDoesNotHaveIcon($name, $icon, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionHasLabel() - * @param array|string $name - * @param string $label - * @param mixed $record - * @return static - * @static - */ public static function assertActionHasLabel($name, $label, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHasLabel($name, $label, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDoesNotHaveLabel() - * @param array|string $name - * @param string $label - * @param mixed $record - * @return static - * @static - */ public static function assertActionDoesNotHaveLabel($name, $label, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDoesNotHaveLabel($name, $label, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionHasColor() - * @param array|string $name - * @param array|string $color - * @param mixed $record - * @return static - * @static - */ public static function assertActionHasColor($name, $color, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHasColor($name, $color, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDoesNotHaveColor() - * @param array|string $name - * @param array|string $color - * @param mixed $record - * @return static - * @static - */ public static function assertActionDoesNotHaveColor($name, $color, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDoesNotHaveColor($name, $color, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionHasUrl() - * @param array|string $name - * @param string $url - * @param mixed $record - * @return static - * @static - */ public static function assertActionHasUrl($name, $url, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHasUrl($name, $url, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionDoesNotHaveUrl() - * @param array|string $name - * @param string $url - * @param mixed $record - * @return static - * @static - */ public static function assertActionDoesNotHaveUrl($name, $url, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionDoesNotHaveUrl($name, $url, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionShouldOpenUrlInNewTab() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertActionShouldOpenUrlInNewTab($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionShouldOpenUrlInNewTab($name, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionShouldNotOpenUrlInNewTab() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertActionShouldNotOpenUrlInNewTab($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertActionShouldNotOpenUrlInNewTab($name, $record); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertActionMounted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionMounted($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionNotMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertActionNotMounted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionNotMounted($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertActionHalted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHalted($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertActionHeld($name) - { - return \Livewire\Features\SupportTesting\Testable::assertActionHeld($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertHasActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasActionErrors($keys); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertHasNoActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasNoActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasNoActionErrors($keys); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::assertActionListInOrder() - * @param array $names - * @param array $actions - * @param string $actionType - * @param string $actionClass - * @return self - * @static - */ public static function assertActionListInOrder($names, $actions, $actionType, $actionClass) - { - return \Livewire\Features\SupportTesting\Testable::assertActionListInOrder($names, $actions, $actionType, $actionClass); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::parseActionName() - * @param string $name - * @return string - * @static - */ public static function parseActionName($name) - { - return \Livewire\Features\SupportTesting\Testable::parseActionName($name); - } - /** - * - * - * @see \Filament\Actions\Testing\TestsActions::parseNestedActionName() - * @param array|string $name - * @return array - * @static - */ public static function parseNestedActionName($name) - { - return \Livewire\Features\SupportTesting\Testable::parseNestedActionName($name); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::fillForm() - * @param array $state - * @param string $formName - * @return static - * @static - */ public static function fillForm($state = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::fillForm($state, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormSet() - * @param array $state - * @param string $formName - * @return static - * @static - */ public static function assertFormSet($state, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormSet($state, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertHasFormErrors() - * @param array $keys - * @param string $formName - * @return static - * @static - */ public static function assertHasFormErrors($keys = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertHasFormErrors($keys, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertHasNoFormErrors() - * @param array $keys - * @param string $formName - * @return static - * @static - */ public static function assertHasNoFormErrors($keys = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertHasNoFormErrors($keys, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormExists() - * @param string $name - * @return static - * @static - */ public static function assertFormExists($name = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormExists($name); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormFieldExists() - * @param string $fieldName - * @param \Closure|string $formName - * @param \Closure|null $checkFieldUsing - * @return static - * @static - */ public static function assertFormFieldExists($fieldName, $formName = 'form', $checkFieldUsing = null) - { - return \Livewire\Features\SupportTesting\Testable::assertFormFieldExists($fieldName, $formName, $checkFieldUsing); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormFieldIsDisabled() - * @param string $fieldName - * @param string $formName - * @return static - * @static - */ public static function assertFormFieldIsDisabled($fieldName, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormFieldIsDisabled($fieldName, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormFieldIsEnabled() - * @param string $fieldName - * @param string $formName - * @return static - * @static - */ public static function assertFormFieldIsEnabled($fieldName, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormFieldIsEnabled($fieldName, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormFieldIsReadOnly() - * @param string $fieldName - * @param string $formName - * @return static - * @static - */ public static function assertFormFieldIsReadOnly($fieldName, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormFieldIsReadOnly($fieldName, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormFieldIsHidden() - * @param string $fieldName - * @param string $formName - * @return static - * @static - */ public static function assertFormFieldIsHidden($fieldName, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormFieldIsHidden($fieldName, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsForms::assertFormFieldIsVisible() - * @param string $fieldName - * @param string $formName - * @return static - * @static - */ public static function assertFormFieldIsVisible($fieldName, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormFieldIsVisible($fieldName, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::mountFormComponentAction() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function mountFormComponentAction($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::mountFormComponentAction($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::unmountFormComponentAction() - * @return static - * @static - */ public static function unmountFormComponentAction() - { - return \Livewire\Features\SupportTesting\Testable::unmountFormComponentAction(); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::setFormComponentActionData() - * @param array $data - * @return static - * @static - */ public static function setFormComponentActionData($data) - { - return \Livewire\Features\SupportTesting\Testable::setFormComponentActionData($data); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDataSet() - * @param array $data - * @return static - * @static - */ public static function assertFormComponentActionDataSet($data) - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDataSet($data); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::callFormComponentAction() - * @param array|string $component - * @param array|string $name - * @param array $data - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function callFormComponentAction($component, $name, $data = [], $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::callFormComponentAction($component, $name, $data, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::callMountedFormComponentAction() - * @param array $arguments - * @return static - * @static - */ public static function callMountedFormComponentAction($arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callMountedFormComponentAction($arguments); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionExists() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionExists($component, $name, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionExists($component, $name, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDoesNotExist() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionDoesNotExist($component, $name, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDoesNotExist($component, $name, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionVisible() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionVisible($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionVisible($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionHidden() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionHidden($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionHidden($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionEnabled() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionEnabled($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionEnabled($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDisabled() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionDisabled($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDisabled($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionHasIcon() - * @param array|string $component - * @param array|string $name - * @param string $icon - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionHasIcon($component, $name, $icon, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionHasIcon($component, $name, $icon, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDoesNotHaveIcon() - * @param array|string $component - * @param array|string $name - * @param string $icon - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionDoesNotHaveIcon($component, $name, $icon, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDoesNotHaveIcon($component, $name, $icon, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionHasLabel() - * @param array|string $component - * @param array|string $name - * @param string $label - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionHasLabel($component, $name, $label, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionHasLabel($component, $name, $label, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDoesNotHaveLabel() - * @param array|string $component - * @param array|string $name - * @param string $label - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionDoesNotHaveLabel($component, $name, $label, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDoesNotHaveLabel($component, $name, $label, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionHasColor() - * @param array|string $component - * @param array|string $name - * @param array|string $color - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionHasColor($component, $name, $color, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionHasColor($component, $name, $color, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDoesNotHaveColor() - * @param array|string $component - * @param array|string $name - * @param array|string $color - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionDoesNotHaveColor($component, $name, $color, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDoesNotHaveColor($component, $name, $color, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionHasUrl() - * @param array|string $component - * @param array|string $name - * @param string $url - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionHasUrl($component, $name, $url, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionHasUrl($component, $name, $url, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionDoesNotHaveUrl() - * @param array|string $component - * @param array|string $name - * @param string $url - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionDoesNotHaveUrl($component, $name, $url, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionDoesNotHaveUrl($component, $name, $url, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionShouldOpenUrlInNewTab() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionShouldOpenUrlInNewTab($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionShouldOpenUrlInNewTab($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionShouldNotOpenUrlInNewTab() - * @param array|string $component - * @param array|string $name - * @param array $arguments - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionShouldNotOpenUrlInNewTab($component, $name, $arguments = [], $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionShouldNotOpenUrlInNewTab($component, $name, $arguments, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionMounted() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionMounted($component, $name, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionMounted($component, $name, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionNotMounted() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionNotMounted($component, $name, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionNotMounted($component, $name, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertFormComponentActionMounted() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @return static - * @static - */ public static function assertFormComponentActionHalted($component, $name, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::assertFormComponentActionHalted($component, $name, $formName); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertHasFormComponentActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasFormComponentActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasFormComponentActionErrors($keys); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::assertHasNoFormComponentActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasNoFormComponentActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasNoFormComponentActionErrors($keys); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::getNestedFormComponentActionComponentAndName() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @param array $arguments - * @return array - * @static - */ public static function getNestedFormComponentActionComponentAndName($component, $name, $formName = 'form', $arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::getNestedFormComponentActionComponentAndName($component, $name, $formName, $arguments); - } - /** - * - * - * @see \Filament\Forms\Testing\TestsComponentActions::parseNestedFormComponentActionComponentAndName() - * @param array|string $component - * @param array|string $name - * @param string $formName - * @return array - * @static - */ public static function parseNestedFormComponentActionComponentAndName($component, $name, $formName = 'form') - { - return \Livewire\Features\SupportTesting\Testable::parseNestedFormComponentActionComponentAndName($component, $name, $formName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::mountInfolistAction() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function mountInfolistAction($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::mountInfolistAction($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::unmountInfolistAction() - * @return static - * @static - */ public static function unmountInfolistAction() - { - return \Livewire\Features\SupportTesting\Testable::unmountInfolistAction(); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::setInfolistActionData() - * @param array $data - * @return static - * @static - */ public static function setInfolistActionData($data) - { - return \Livewire\Features\SupportTesting\Testable::setInfolistActionData($data); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDataSet() - * @param array $data - * @return static - * @static - */ public static function assertInfolistActionDataSet($data) - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDataSet($data); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::callInfolistAction() - * @param string $component - * @param array|string $name - * @param array $data - * @param array $arguments - * @param string $infolistName - * @return static - * @static - */ public static function callInfolistAction($component, $name, $data = [], $arguments = [], $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::callInfolistAction($component, $name, $data, $arguments, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::callMountedInfolistAction() - * @param array $arguments - * @return static - * @static - */ public static function callMountedInfolistAction($arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callMountedInfolistAction($arguments); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionExists() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionExists($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionExists($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDoesNotExist() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionDoesNotExist($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDoesNotExist($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionVisible() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionVisible($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionVisible($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionHidden() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionHidden($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionHidden($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionEnabled() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionEnabled($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionEnabled($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDisabled() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionDisabled($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDisabled($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionHasIcon() - * @param string $component - * @param array|string $name - * @param string $icon - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionHasIcon($component, $name, $icon, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionHasIcon($component, $name, $icon, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDoesNotHaveIcon() - * @param string $component - * @param array|string $name - * @param string $icon - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionDoesNotHaveIcon($component, $name, $icon, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDoesNotHaveIcon($component, $name, $icon, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionHasLabel() - * @param string $component - * @param array|string $name - * @param string $label - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionHasLabel($component, $name, $label, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionHasLabel($component, $name, $label, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDoesNotHaveLabel() - * @param string $component - * @param array|string $name - * @param string $label - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionDoesNotHaveLabel($component, $name, $label, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDoesNotHaveLabel($component, $name, $label, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionHasColor() - * @param string $component - * @param array|string $name - * @param array|string $color - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionHasColor($component, $name, $color, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionHasColor($component, $name, $color, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDoesNotHaveColor() - * @param string $component - * @param array|string $name - * @param array|string $color - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionDoesNotHaveColor($component, $name, $color, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDoesNotHaveColor($component, $name, $color, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionHasUrl() - * @param string $component - * @param array|string $name - * @param string $url - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionHasUrl($component, $name, $url, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionHasUrl($component, $name, $url, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionDoesNotHaveUrl() - * @param string $component - * @param array|string $name - * @param string $url - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionDoesNotHaveUrl($component, $name, $url, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionDoesNotHaveUrl($component, $name, $url, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionShouldOpenUrlInNewTab() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionShouldOpenUrlInNewTab($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionShouldOpenUrlInNewTab($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionShouldNotOpenUrlInNewTab() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionShouldNotOpenUrlInNewTab($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionShouldNotOpenUrlInNewTab($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionMounted() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionMounted($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionMounted($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionNotMounted() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionNotMounted($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionNotMounted($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertInfolistActionMounted() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return static - * @static - */ public static function assertInfolistActionHalted($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::assertInfolistActionHalted($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertHasInfolistActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasInfolistActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasInfolistActionErrors($keys); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::assertHasNoInfolistActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasNoInfolistActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasNoInfolistActionErrors($keys); - } - /** - * - * - * @see \Filament\Infolists\Testing\TestsActions::getNestedInfolistActionComponentAndName() - * @param string $component - * @param array|string $name - * @param string $infolistName - * @return array - * @static - */ public static function getNestedInfolistActionComponentAndName($component, $name, $infolistName = 'infolist') - { - return \Livewire\Features\SupportTesting\Testable::getNestedInfolistActionComponentAndName($component, $name, $infolistName); - } - /** - * - * - * @see \Filament\Notifications\Testing\TestsNotifications::assertNotified() - * @param \Filament\Notifications\Notification|string|null $notification - * @return static - * @static - */ public static function assertNotified($notification = null) - { - return \Livewire\Features\SupportTesting\Testable::assertNotified($notification); - } - /** - * - * - * @see \Filament\Notifications\Testing\TestsNotifications::assertNotNotified() - * @param \Filament\Notifications\Notification|string|null $notification - * @return static - * @static - */ public static function assertNotNotified($notification = null) - { - return \Livewire\Features\SupportTesting\Testable::assertNotNotified($notification); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::mountTableAction() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function mountTableAction($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::mountTableAction($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::unmountTableAction() - * @return static - * @static - */ public static function unmountTableAction() - { - return \Livewire\Features\SupportTesting\Testable::unmountTableAction(); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::setTableActionData() - * @param array $data - * @return static - * @static - */ public static function setTableActionData($data) - { - return \Livewire\Features\SupportTesting\Testable::setTableActionData($data); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDataSet() - * @param array $data - * @return static - * @static - */ public static function assertTableActionDataSet($data) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDataSet($data); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::callTableAction() - * @param array|string $name - * @param mixed $record - * @param array $data - * @param array $arguments - * @return static - * @static - */ public static function callTableAction($name, $record = null, $data = [], $arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callTableAction($name, $record, $data, $arguments); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::callMountedTableAction() - * @param array $arguments - * @return static - * @static - */ public static function callMountedTableAction($arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callMountedTableAction($arguments); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionExists() - * @param array|string $name - * @param \Closure|null $checkActionUsing - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionExists($name, $checkActionUsing = null, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionExists($name, $checkActionUsing, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDoesNotExist() - * @param array|string $name - * @param \Closure|null $checkActionUsing - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionDoesNotExist($name, $checkActionUsing = null, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDoesNotExist($name, $checkActionUsing, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionsExistInOrder() - * @param array $names - * @return static - * @static - */ public static function assertTableActionsExistInOrder($names) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionsExistInOrder($names); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableHeaderActionsExistInOrder() - * @param array $names - * @return static - * @static - */ public static function assertTableHeaderActionsExistInOrder($names) - { - return \Livewire\Features\SupportTesting\Testable::assertTableHeaderActionsExistInOrder($names); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableEmptyStateActionsExistInOrder() - * @param array $names - * @return static - * @static - */ public static function assertTableEmptyStateActionsExistInOrder($names) - { - return \Livewire\Features\SupportTesting\Testable::assertTableEmptyStateActionsExistInOrder($names); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionVisible() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionVisible($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionVisible($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionHidden() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionHidden($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHidden($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionEnabled() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionEnabled($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionEnabled($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDisabled() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionDisabled($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDisabled($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionHasIcon() - * @param array|string $name - * @param string $icon - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionHasIcon($name, $icon, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHasIcon($name, $icon, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDoesNotHaveIcon() - * @param array|string $name - * @param string $icon - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionDoesNotHaveIcon($name, $icon, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDoesNotHaveIcon($name, $icon, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionHasLabel() - * @param array|string $name - * @param string $label - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionHasLabel($name, $label, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHasLabel($name, $label, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDoesNotHaveLabel() - * @param array|string $name - * @param string $label - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionDoesNotHaveLabel($name, $label, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDoesNotHaveLabel($name, $label, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionHasColor() - * @param array|string $name - * @param array|string $color - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionHasColor($name, $color, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHasColor($name, $color, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDoesNotHaveColor() - * @param array|string $name - * @param array|string $color - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionDoesNotHaveColor($name, $color, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDoesNotHaveColor($name, $color, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionHasUrl() - * @param array|string $name - * @param string $url - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionHasUrl($name, $url, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHasUrl($name, $url, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionDoesNotHaveUrl() - * @param array|string $name - * @param string $url - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionDoesNotHaveUrl($name, $url, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionDoesNotHaveUrl($name, $url, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionShouldOpenUrlInNewTab() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionShouldOpenUrlInNewTab($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionShouldOpenUrlInNewTab($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionShouldNotOpenUrlInNewTab() - * @param array|string $name - * @param mixed $record - * @return static - * @static - */ public static function assertTableActionShouldNotOpenUrlInNewTab($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionShouldNotOpenUrlInNewTab($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertTableActionMounted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionMounted($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionNotMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertTableActionNotMounted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionNotMounted($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertTableActionHalted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHalted($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertTableActionMounted() - * @param array|string $name - * @return static - * @static - */ public static function assertTableActionHeld($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableActionHeld($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertHasTableActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasTableActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasTableActionErrors($keys); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsActions::assertHasNoTableActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasNoTableActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasNoTableActionErrors($keys); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::mountTableBulkAction() - * @param string $name - * @param \Illuminate\Support\Collection|array $records - * @return static - * @static - */ public static function mountTableBulkAction($name, $records) - { - return \Livewire\Features\SupportTesting\Testable::mountTableBulkAction($name, $records); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::setTableBulkActionData() - * @param array $data - * @return static - * @static - */ public static function setTableBulkActionData($data) - { - return \Livewire\Features\SupportTesting\Testable::setTableBulkActionData($data); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionDataSet() - * @param array $data - * @return static - * @static - */ public static function assertTableBulkActionDataSet($data) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionDataSet($data); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::callTableBulkAction() - * @param string $name - * @param \Illuminate\Support\Collection|array $records - * @param array $data - * @param array $arguments - * @return static - * @static - */ public static function callTableBulkAction($name, $records, $data = [], $arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callTableBulkAction($name, $records, $data, $arguments); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::callMountedTableBulkAction() - * @param array $arguments - * @return static - * @static - */ public static function callMountedTableBulkAction($arguments = []) - { - return \Livewire\Features\SupportTesting\Testable::callMountedTableBulkAction($arguments); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionExists() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionExists($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionExists($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionDoesNotExist() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionDoesNotExist($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionDoesNotExist($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionsExistInOrder() - * @param array $names - * @return static - * @static - */ public static function assertTableBulkActionsExistInOrder($names) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionsExistInOrder($names); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionVisible() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionVisible($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionVisible($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionHidden() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionHidden($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionHidden($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionEnabled() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionEnabled($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionEnabled($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionDisabled() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionDisabled($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionDisabled($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionHasIcon() - * @param string $name - * @param string $icon - * @param mixed $record - * @return static - * @static - */ public static function assertTableBulkActionHasIcon($name, $icon, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionHasIcon($name, $icon, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionDoesNotHaveIcon() - * @param string $name - * @param string $icon - * @param mixed $record - * @return static - * @static - */ public static function assertTableBulkActionDoesNotHaveIcon($name, $icon, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionDoesNotHaveIcon($name, $icon, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionHasLabel() - * @param string $name - * @param string $label - * @param mixed $record - * @return static - * @static - */ public static function assertTableBulkActionHasLabel($name, $label, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionHasLabel($name, $label, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionDoesNotHaveLabel() - * @param string $name - * @param string $label - * @param mixed $record - * @return static - * @static - */ public static function assertTableBulkActionDoesNotHaveLabel($name, $label, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionDoesNotHaveLabel($name, $label, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionHasColor() - * @param string $name - * @param array|string $color - * @param mixed $record - * @return static - * @static - */ public static function assertTableBulkActionHasColor($name, $color, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionHasColor($name, $color, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionDoesNotHaveColor() - * @param string $name - * @param array|string $color - * @param mixed $record - * @return static - * @static - */ public static function assertTableBulkActionDoesNotHaveColor($name, $color, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionDoesNotHaveColor($name, $color, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionMounted() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionMounted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionMounted($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionNotMounted() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionNotMounted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionNotMounted($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionMounted() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionHalted($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionHalted($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertTableBulkActionMounted() - * @param string $name - * @return static - * @static - */ public static function assertTableBulkActionHeld($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableBulkActionHeld($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertHasTableBulkActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasTableBulkActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasTableBulkActionErrors($keys); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsBulkActions::assertHasNoTableBulkActionErrors() - * @param array $keys - * @return static - * @static - */ public static function assertHasNoTableBulkActionErrors($keys = []) - { - return \Livewire\Features\SupportTesting\Testable::assertHasNoTableBulkActionErrors($keys); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertCanRenderTableColumn() - * @param string $name - * @return static - * @static - */ public static function assertCanRenderTableColumn($name) - { - return \Livewire\Features\SupportTesting\Testable::assertCanRenderTableColumn($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertCanNotRenderTableColumn() - * @param string $name - * @return static - * @static - */ public static function assertCanNotRenderTableColumn($name) - { - return \Livewire\Features\SupportTesting\Testable::assertCanNotRenderTableColumn($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnExists() - * @param string $name - * @param \Closure|null $checkColumnUsing - * @param mixed $record - * @return static - * @static - */ public static function assertTableColumnExists($name, $checkColumnUsing = null, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnExists($name, $checkColumnUsing, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnDoesNotExist() - * @param string $name - * @param \Closure|null $checkColumnUsing - * @param mixed $record - * @return static - * @static - */ public static function assertTableColumnDoesNotExist($name, $checkColumnUsing = null, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnDoesNotExist($name, $checkColumnUsing, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnVisible() - * @param string $name - * @return static - * @static - */ public static function assertTableColumnVisible($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnVisible($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnHidden() - * @param string $name - * @return static - * @static - */ public static function assertTableColumnHidden($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnHidden($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnStateSet() - * @param string $name - * @param mixed $value - * @param mixed $record - * @return static - * @static - */ public static function assertTableColumnStateSet($name, $value, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnStateSet($name, $value, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnStateNotSet() - * @param string $name - * @param mixed $value - * @param mixed $record - * @return static - * @static - */ public static function assertTableColumnStateNotSet($name, $value, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnStateNotSet($name, $value, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnFormattedStateSet() - * @param string $name - * @param mixed $value - * @param mixed $record - * @return static - * @static - */ public static function assertTableColumnFormattedStateSet($name, $value, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnFormattedStateSet($name, $value, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnFormattedStateNotSet() - * @param string $name - * @param mixed $value - * @param mixed $record - * @return static - * @static - */ public static function assertTableColumnFormattedStateNotSet($name, $value, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnFormattedStateNotSet($name, $value, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnHasExtraAttributes() - * @param string $name - * @param array $attributes - * @param mixed $record - * @static - */ public static function assertTableColumnHasExtraAttributes($name, $attributes, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnHasExtraAttributes($name, $attributes, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnDoesNotHaveExtraAttributes() - * @param string $name - * @param array $attributes - * @param mixed $record - * @static - */ public static function assertTableColumnDoesNotHaveExtraAttributes($name, $attributes, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnDoesNotHaveExtraAttributes($name, $attributes, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnHasDescription() - * @param string $name - * @param mixed $description - * @param mixed $record - * @param string $position - * @static - */ public static function assertTableColumnHasDescription($name, $description, $record, $position = 'below') - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnHasDescription($name, $description, $record, $position); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableColumnDoesNotHaveDescription() - * @param string $name - * @param mixed $description - * @param mixed $record - * @param string $position - * @static - */ public static function assertTableColumnDoesNotHaveDescription($name, $description, $record, $position = 'below') - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnDoesNotHaveDescription($name, $description, $record, $position); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableSelectColumnHasOptions() - * @param string $name - * @param array $options - * @param mixed $record - * @static - */ public static function assertTableSelectColumnHasOptions($name, $options, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableSelectColumnHasOptions($name, $options, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::assertTableSelectColumnDoesNotHaveOptions() - * @param string $name - * @param array $options - * @param mixed $record - * @static - */ public static function assertTableSelectColumnDoesNotHaveOptions($name, $options, $record) - { - return \Livewire\Features\SupportTesting\Testable::assertTableSelectColumnDoesNotHaveOptions($name, $options, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::callTableColumnAction() - * @param string $name - * @param mixed $record - * @return static - * @static - */ public static function callTableColumnAction($name, $record = null) - { - return \Livewire\Features\SupportTesting\Testable::callTableColumnAction($name, $record); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::sortTable() - * @param string|null $name - * @param string|null $direction - * @return static - * @static - */ public static function sortTable($name = null, $direction = null) - { - return \Livewire\Features\SupportTesting\Testable::sortTable($name, $direction); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::searchTable() - * @param string|null $search - * @return static - * @static - */ public static function searchTable($search = null) - { - return \Livewire\Features\SupportTesting\Testable::searchTable($search); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsColumns::searchTableColumns() - * @param array $searches - * @return static - * @static - */ public static function searchTableColumns($searches) - { - return \Livewire\Features\SupportTesting\Testable::searchTableColumns($searches); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsFilters::filterTable() - * @param string $name - * @param mixed $data - * @return static - * @static - */ public static function filterTable($name, $data = null) - { - return \Livewire\Features\SupportTesting\Testable::filterTable($name, $data); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsFilters::resetTableFilters() - * @return static - * @static - */ public static function resetTableFilters() - { - return \Livewire\Features\SupportTesting\Testable::resetTableFilters(); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsFilters::removeTableFilter() - * @param string $filter - * @param string|null $field - * @return static - * @static - */ public static function removeTableFilter($filter, $field = null) - { - return \Livewire\Features\SupportTesting\Testable::removeTableFilter($filter, $field); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsFilters::removeTableFilters() - * @return static - * @static - */ public static function removeTableFilters() - { - return \Livewire\Features\SupportTesting\Testable::removeTableFilters(); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsFilters::assertTableFilterExists() - * @param string $name - * @return static - * @static - */ public static function assertTableFilterExists($name) - { - return \Livewire\Features\SupportTesting\Testable::assertTableFilterExists($name); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsRecords::assertCanSeeTableRecords() - * @param \Illuminate\Support\Collection|array $records - * @param bool $inOrder - * @return static - * @static - */ public static function assertCanSeeTableRecords($records, $inOrder = false) - { - return \Livewire\Features\SupportTesting\Testable::assertCanSeeTableRecords($records, $inOrder); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsRecords::assertCanNotSeeTableRecords() - * @param \Illuminate\Support\Collection|array $records - * @return static - * @static - */ public static function assertCanNotSeeTableRecords($records) - { - return \Livewire\Features\SupportTesting\Testable::assertCanNotSeeTableRecords($records); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsRecords::assertCountTableRecords() - * @param int $count - * @return static - * @static - */ public static function assertCountTableRecords($count) - { - return \Livewire\Features\SupportTesting\Testable::assertCountTableRecords($count); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsRecords::loadTable() - * @return static - * @static - */ public static function loadTable() - { - return \Livewire\Features\SupportTesting\Testable::loadTable(); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsSummaries::assertTableColumnSummarySet() - * @param string $columnName - * @param string $summarizerId - * @param mixed $state - * @param bool $isCurrentPaginationPageOnly - * @return static - * @static - */ public static function assertTableColumnSummarySet($columnName, $summarizerId, $state, $isCurrentPaginationPageOnly = false) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnSummarySet($columnName, $summarizerId, $state, $isCurrentPaginationPageOnly); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsSummaries::assertTableColumnSummaryNotSet() - * @param string $columnName - * @param string $summarizerId - * @param mixed $state - * @param bool $isCurrentPaginationPageOnly - * @return static - * @static - */ public static function assertTableColumnSummaryNotSet($columnName, $summarizerId, $state, $isCurrentPaginationPageOnly = false) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnSummaryNotSet($columnName, $summarizerId, $state, $isCurrentPaginationPageOnly); - } - /** - * - * - * @see \Filament\Tables\Testing\TestsSummaries::assertTableColumnSummarizerExists() - * @param string $columnName - * @param string $summarizerId - * @return static - * @static - */ public static function assertTableColumnSummarizerExists($columnName, $summarizerId) - { - return \Livewire\Features\SupportTesting\Testable::assertTableColumnSummarizerExists($columnName, $summarizerId); - } - } - } - -namespace Illuminate\View { - /** - * - * - */ class ComponentAttributeBag { - /** - * - * - * @see \Livewire\Features\SupportBladeAttributes\SupportBladeAttributes::provide() - * @param mixed $name - * @static - */ public static function wire($name) - { - return \Illuminate\View\ComponentAttributeBag::wire($name); - } - } - /** - * - * - */ class View { - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param mixed $data - * @static - */ public static function layoutData($data = []) - { - return \Illuminate\View\View::layoutData($data); - } - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param mixed $section - * @static - */ public static function section($section) - { - return \Illuminate\View\View::section($section); - } - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param mixed $title - * @static - */ public static function title($title) - { - return \Illuminate\View\View::title($title); - } - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param mixed $slot - * @static - */ public static function slot($slot) - { - return \Illuminate\View\View::slot($slot); - } - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param mixed $view - * @param mixed $params - * @static - */ public static function extends($view, $params = []) - { - return \Illuminate\View\View::extends($view, $params); - } - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param mixed $view - * @param mixed $params - * @static - */ public static function layout($view, $params = []) - { - return \Illuminate\View\View::layout($view, $params); - } - /** - * - * - * @see \Livewire\Features\SupportPageComponents\SupportPageComponents::registerLayoutViewMacros() - * @param callable $callback - * @static - */ public static function response($callback) - { - return \Illuminate\View\View::response($callback); - } - } - } - - -namespace { - class App extends \Illuminate\Support\Facades\App {} - class Arr extends \Illuminate\Support\Arr {} - class Artisan extends \Illuminate\Support\Facades\Artisan {} - class Auth extends \Illuminate\Support\Facades\Auth {} - class Blade extends \Illuminate\Support\Facades\Blade {} - class Broadcast extends \Illuminate\Support\Facades\Broadcast {} - class Bus extends \Illuminate\Support\Facades\Bus {} - class Cache extends \Illuminate\Support\Facades\Cache {} - class Config extends \Illuminate\Support\Facades\Config {} - class Cookie extends \Illuminate\Support\Facades\Cookie {} - class Crypt extends \Illuminate\Support\Facades\Crypt {} - class Date extends \Illuminate\Support\Facades\Date {} - class DB extends \Illuminate\Support\Facades\DB {} - class Eloquent extends \Illuminate\Database\Eloquent\Model { /** - * Create and return an un-saved model instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function make($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->make($attributes); - } - /** - * Register a new global scope. - * - * @param string $identifier - * @param \Illuminate\Database\Eloquent\Scope|\Closure $scope - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withGlobalScope($identifier, $scope) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withGlobalScope($identifier, $scope); - } - /** - * Remove a registered global scope. - * - * @param \Illuminate\Database\Eloquent\Scope|string $scope - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withoutGlobalScope($scope) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutGlobalScope($scope); - } - /** - * Remove all or passed registered global scopes. - * - * @param array|null $scopes - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withoutGlobalScopes($scopes = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutGlobalScopes($scopes); - } - /** - * Get an array of global scopes that were removed from the query. - * - * @return array - * @static - */ public static function removedScopes() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->removedScopes(); - } - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereKey($id) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereKey($id); - } - /** - * Add a where clause on the primary key to the query. - * - * @param mixed $id - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereKeyNot($id) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereKeyNot($id); - } - /** - * Add a basic where clause to the query. - * - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function where($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->where($column, $operator, $value, $boolean); - } - /** - * Add a basic where clause to the query, and return the first result. - * - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Model|static|null - * @static - */ public static function firstWhere($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstWhere($column, $operator, $value, $boolean); - } - /** - * Add an "or where" clause to the query. - * - * @param \Closure|array|string|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhere($column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhere($column, $operator, $value); - } - /** - * Add a basic "where not" clause to the query. - * - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereNot($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereNot($column, $operator, $value, $boolean); - } - /** - * Add an "or where not" clause to the query. - * - * @param \Closure|array|string|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereNot($column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereNot($column, $operator, $value); - } - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function latest($column = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->latest($column); - } - /** - * Add an "order by" clause for a timestamp to the query. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function oldest($column = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->oldest($column); - } - /** - * Create a collection of models from plain arrays. - * - * @param array $items - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ public static function hydrate($items) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->hydrate($items); - } - /** - * Create a collection of models from a raw query. - * - * @param string $query - * @param array $bindings - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ public static function fromQuery($query, $bindings = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->fromQuery($query, $bindings); - } - /** - * Find a model by its primary key. - * - * @param mixed $id - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static[]|static|null - * @static - */ public static function find($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->find($id, $columns); - } - /** - * Find multiple models by their primary keys. - * - * @param \Illuminate\Contracts\Support\Arrayable|array $ids - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Collection - * @static - */ public static function findMany($ids, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findMany($ids, $columns); - } - /** - * Find a model by its primary key or throw an exception. - * - * @param mixed $id - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static|static[] - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @static - */ public static function findOrFail($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findOrFail($id, $columns); - } - /** - * Find a model by its primary key or return fresh model instance. - * - * @param mixed $id - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function findOrNew($id, $columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findOrNew($id, $columns); - } - /** - * Find a model by its primary key or call a callback. - * - * @param mixed $id - * @param \Closure|array|string $columns - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static[]|static|mixed - * @static - */ public static function findOr($id, $columns = [], $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->findOr($id, $columns, $callback); - } - /** - * Get the first record matching the attributes or instantiate it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function firstOrNew($attributes = [], $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOrNew($attributes, $values); - } - /** - * Get the first record matching the attributes. If the record is not found, create it. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function firstOrCreate($attributes = [], $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOrCreate($attributes, $values); - } - /** - * Attempt to create the record. If a unique constraint violation occurs, attempt to find the matching record. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function createOrFirst($attributes = [], $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->createOrFirst($attributes, $values); - } - /** - * Create or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function updateOrCreate($attributes, $values = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->updateOrCreate($attributes, $values); - } - /** - * Execute the query and get the first result or throw an exception. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model|static - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @static - */ public static function firstOrFail($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOrFail($columns); - } - /** - * Execute the query and get the first result or call a callback. - * - * @param \Closure|array|string $columns - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Model|static|mixed - * @static - */ public static function firstOr($columns = [], $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->firstOr($columns, $callback); - } - /** - * Execute the query and get the first result if it's the sole matching record. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ public static function sole($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->sole($columns); - } - /** - * Get a single column's value from the first result of a query. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return mixed - * @static - */ public static function value($column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->value($column); - } - /** - * Get a single column's value from the first result of a query if it's the sole matching record. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return mixed - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ public static function soleValue($column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->soleValue($column); - } - /** - * Get a single column's value from the first result of the query or throw an exception. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @return mixed - * @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model> - * @static - */ public static function valueOrFail($column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->valueOrFail($column); - } - /** - * Execute the query as a "select" statement. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Collection|static[] - * @static - */ public static function get($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->get($columns); - } - /** - * Get the hydrated models without eager loading. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model[]|static[] - * @static - */ public static function getModels($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getModels($columns); - } - /** - * Eager load the relationships for the models. - * - * @param array $models - * @return array - * @static - */ public static function eagerLoadRelations($models) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->eagerLoadRelations($models); - } - /** - * Get a lazy collection for the given query. - * - * @return \Illuminate\Support\LazyCollection - * @static - */ public static function cursor() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->cursor(); - } - /** - * Get a collection with the values of a given column. - * - * @param string|\Illuminate\Contracts\Database\Query\Expression $column - * @param string|null $key - * @return \Illuminate\Support\Collection - * @static - */ public static function pluck($column, $key = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->pluck($column, $key); - } - /** - * Paginate the given query. - * - * @param int|null|\Closure $perPage - * @param array|string $columns - * @param string $pageName - * @param int|null $page - * @param \Closure|int|null $total - * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator - * @throws \InvalidArgumentException - * @static - */ public static function paginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->paginate($perPage, $columns, $pageName, $page); - } - /** - * Paginate the given query into a simple paginator. - * - * @param int|null $perPage - * @param array|string $columns - * @param string $pageName - * @param int|null $page - * @return \Illuminate\Contracts\Pagination\Paginator - * @static - */ public static function simplePaginate($perPage = null, $columns = [], $pageName = 'page', $page = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->simplePaginate($perPage, $columns, $pageName, $page); - } - /** - * Paginate the given query into a cursor paginator. - * - * @param int|null $perPage - * @param array|string $columns - * @param string $cursorName - * @param \Illuminate\Pagination\Cursor|string|null $cursor - * @return \Illuminate\Contracts\Pagination\CursorPaginator - * @static - */ public static function cursorPaginate($perPage = null, $columns = [], $cursorName = 'cursor', $cursor = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->cursorPaginate($perPage, $columns, $cursorName, $cursor); - } - /** - * Save a new model and return the instance. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|$this - * @static - */ public static function create($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->create($attributes); - } - /** - * Save a new model and return the instance. Allow mass-assignment. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|$this - * @static - */ public static function forceCreate($attributes) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->forceCreate($attributes); - } - /** - * Save a new model instance with mass assignment without raising model events. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|$this - * @static - */ public static function forceCreateQuietly($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->forceCreateQuietly($attributes); - } - /** - * Insert new records or update the existing ones. - * - * @param array $values - * @param array|string $uniqueBy - * @param array|null $update - * @return int - * @static - */ public static function upsert($values, $uniqueBy, $update = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->upsert($values, $uniqueBy, $update); - } - /** - * Register a replacement for the default delete function. - * - * @param \Closure $callback - * @return void - * @static - */ public static function onDelete($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - $instance->onDelete($callback); - } - /** - * Call the given local model scopes. - * - * @param array|string $scopes - * @return static|mixed - * @static - */ public static function scopes($scopes) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->scopes($scopes); - } - /** - * Apply the scopes to the Eloquent builder instance and return it. - * - * @return static - * @static - */ public static function applyScopes() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->applyScopes(); - } - /** - * Prevent the specified relations from being eager loaded. - * - * @param mixed $relations - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function without($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->without($relations); - } - /** - * Set the relationships that should be eager loaded while removing any previously added eager loading specifications. - * - * @param mixed $relations - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withOnly($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withOnly($relations); - } - /** - * Create a new instance of the model being queried. - * - * @param array $attributes - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function newModelInstance($attributes = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->newModelInstance($attributes); - } - /** - * Apply query-time casts to the model instance. - * - * @param array $casts - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withCasts($casts) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withCasts($casts); - } - /** - * Execute the given Closure within a transaction savepoint if needed. - * - * @template TModelValue - * @param \Closure(): TModelValue $scope - * @return \Illuminate\Database\Eloquent\TModelValue - * @static - */ public static function withSavepointIfNeeded($scope) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withSavepointIfNeeded($scope); - } - /** - * Get the underlying query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function getQuery() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getQuery(); - } - /** - * Set the underlying query builder instance. - * - * @param \Illuminate\Database\Query\Builder $query - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function setQuery($query) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->setQuery($query); - } - /** - * Get a base query builder instance. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function toBase() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->toBase(); - } - /** - * Get the relationships being eagerly loaded. - * - * @return array - * @static - */ public static function getEagerLoads() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getEagerLoads(); - } - /** - * Set the relationships being eagerly loaded. - * - * @param array $eagerLoad - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function setEagerLoads($eagerLoad) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->setEagerLoads($eagerLoad); - } - /** - * Indicate that the given relationships should not be eagerly loaded. - * - * @param array $relations - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withoutEagerLoad($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutEagerLoad($relations); - } - /** - * Flush the relationships being eagerly loaded. - * - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withoutEagerLoads() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withoutEagerLoads(); - } - /** - * Get the model instance being queried. - * - * @return \Illuminate\Database\Eloquent\Model|static - * @static - */ public static function getModel() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getModel(); - } - /** - * Set a model instance for the model being queried. - * - * @param \Illuminate\Database\Eloquent\Model $model - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function setModel($model) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->setModel($model); - } - /** - * Get the given macro by name. - * - * @param string $name - * @return \Closure - * @static - */ public static function getMacro($name) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->getMacro($name); - } - /** - * Checks if a macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasMacro($name) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->hasMacro($name); - } - /** - * Get the given global macro by name. - * - * @param string $name - * @return \Closure - * @static - */ public static function getGlobalMacro($name) - { - return \Illuminate\Database\Eloquent\Builder::getGlobalMacro($name); - } - /** - * Checks if a global macro is registered. - * - * @param string $name - * @return bool - * @static - */ public static function hasGlobalMacro($name) - { - return \Illuminate\Database\Eloquent\Builder::hasGlobalMacro($name); - } - /** - * Clone the Eloquent query builder. - * - * @return static - * @static - */ public static function clone() - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->clone(); - } - /** - * Chunk the results of the query. - * - * @param int $count - * @param callable $callback - * @return bool - * @static - */ public static function chunk($count, $callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunk($count, $callback); - } - /** - * Run a map over each item while chunking. - * - * @param callable $callback - * @param int $count - * @return \Illuminate\Support\Collection - * @static - */ public static function chunkMap($callback, $count = 1000) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunkMap($callback, $count); - } - /** - * Execute a callback over each item while chunking. - * - * @param callable $callback - * @param int $count - * @return bool - * @throws \RuntimeException - * @static - */ public static function each($callback, $count = 1000) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->each($callback, $count); - } - /** - * Chunk the results of a query by comparing IDs. - * - * @param int $count - * @param callable $callback - * @param string|null $column - * @param string|null $alias - * @return bool - * @static - */ public static function chunkById($count, $callback, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunkById($count, $callback, $column, $alias); - } - /** - * Chunk the results of a query by comparing IDs in descending order. - * - * @param int $count - * @param callable $callback - * @param string|null $column - * @param string|null $alias - * @return bool - * @static - */ public static function chunkByIdDesc($count, $callback, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->chunkByIdDesc($count, $callback, $column, $alias); - } - /** - * Chunk the results of a query by comparing IDs in a given order. - * - * @param int $count - * @param callable $callback - * @param string|null $column - * @param string|null $alias - * @param bool $descending - * @return bool - * @static - */ public static function orderedChunkById($count, $callback, $column = null, $alias = null, $descending = false) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orderedChunkById($count, $callback, $column, $alias, $descending); - } - /** - * Execute a callback over each item while chunking by ID. - * - * @param callable $callback - * @param int $count - * @param string|null $column - * @param string|null $alias - * @return bool - * @static - */ public static function eachById($callback, $count = 1000, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->eachById($callback, $count, $column, $alias); - } - /** - * Query lazily, by chunks of the given size. - * - * @param int $chunkSize - * @return \Illuminate\Support\LazyCollection - * @throws \InvalidArgumentException - * @static - */ public static function lazy($chunkSize = 1000) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->lazy($chunkSize); - } - /** - * Query lazily, by chunking the results of a query by comparing IDs. - * - * @param int $chunkSize - * @param string|null $column - * @param string|null $alias - * @return \Illuminate\Support\LazyCollection - * @throws \InvalidArgumentException - * @static - */ public static function lazyById($chunkSize = 1000, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->lazyById($chunkSize, $column, $alias); - } - /** - * Query lazily, by chunking the results of a query by comparing IDs in descending order. - * - * @param int $chunkSize - * @param string|null $column - * @param string|null $alias - * @return \Illuminate\Support\LazyCollection - * @throws \InvalidArgumentException - * @static - */ public static function lazyByIdDesc($chunkSize = 1000, $column = null, $alias = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->lazyByIdDesc($chunkSize, $column, $alias); - } - /** - * Execute the query and get the first result. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model|object|static|null - * @static - */ public static function first($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->first($columns); - } - /** - * Execute the query and get the first result if it's the sole matching record. - * - * @param array|string $columns - * @return \Illuminate\Database\Eloquent\Model|object|static|null - * @throws \Illuminate\Database\RecordsNotFoundException - * @throws \Illuminate\Database\MultipleRecordsFoundException - * @static - */ public static function baseSole($columns = []) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->baseSole($columns); - } - /** - * Pass the query to a given callback. - * - * @param callable $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function tap($callback) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->tap($callback); - } - /** - * Apply the callback if the given "value" is (or resolves to) truthy. - * - * @template TWhenParameter - * @template TWhenReturnType - * @param \Illuminate\Database\Eloquent\(\Closure($this): TWhenParameter)|TWhenParameter|null $value - * @param \Illuminate\Database\Eloquent\(callable($this, TWhenParameter): TWhenReturnType)|null $callback - * @param \Illuminate\Database\Eloquent\(callable($this, TWhenParameter): TWhenReturnType)|null $default - * @return $this|\Illuminate\Database\Eloquent\TWhenReturnType - * @static - */ public static function when($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->when($value, $callback, $default); - } - /** - * Apply the callback if the given "value" is (or resolves to) falsy. - * - * @template TUnlessParameter - * @template TUnlessReturnType - * @param \Illuminate\Database\Eloquent\(\Closure($this): TUnlessParameter)|TUnlessParameter|null $value - * @param \Illuminate\Database\Eloquent\(callable($this, TUnlessParameter): TUnlessReturnType)|null $callback - * @param \Illuminate\Database\Eloquent\(callable($this, TUnlessParameter): TUnlessReturnType)|null $default - * @return $this|\Illuminate\Database\Eloquent\TUnlessReturnType - * @static - */ public static function unless($value = null, $callback = null, $default = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->unless($value, $callback, $default); - } - /** - * Add a relationship count / exists condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\Relation|string $relation - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @throws \RuntimeException - * @static - */ public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->has($relation, $operator, $count, $boolean, $callback); - } - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orHas($relation, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orHas($relation, $operator, $count); - } - /** - * Add a relationship count / exists condition to the query. - * - * @param string $relation - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function doesntHave($relation, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->doesntHave($relation, $boolean, $callback); - } - /** - * Add a relationship count / exists condition to the query with an "or". - * - * @param string $relation - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orDoesntHave($relation) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orDoesntHave($relation); - } - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereHas($relation, $callback, $operator, $count); - } - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * Also load the relationship with same condition. - * - * @param string $relation - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withWhereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withWhereHas($relation, $callback, $operator, $count); - } - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereHas($relation, $callback, $operator, $count); - } - /** - * Add a relationship count / exists condition to the query with where clauses. - * - * @param string $relation - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereDoesntHave($relation, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereDoesntHave($relation, $callback); - } - /** - * Add a relationship count / exists condition to the query with where clauses and an "or". - * - * @param string $relation - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereDoesntHave($relation, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereDoesntHave($relation, $callback); - } - /** - * Add a polymorphic relationship count / exists condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param string $operator - * @param int $count - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function hasMorph($relation, $types, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->hasMorph($relation, $types, $operator, $count, $boolean, $callback); - } - /** - * Add a polymorphic relationship count / exists condition to the query with an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orHasMorph($relation, $types, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orHasMorph($relation, $types, $operator, $count); - } - /** - * Add a polymorphic relationship count / exists condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param string $boolean - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function doesntHaveMorph($relation, $types, $boolean = 'and', $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->doesntHaveMorph($relation, $types, $boolean, $callback); - } - /** - * Add a polymorphic relationship count / exists condition to the query with an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orDoesntHaveMorph($relation, $types) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orDoesntHaveMorph($relation, $types); - } - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereHasMorph($relation, $types, $callback, $operator, $count); - } - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param \Closure|null $callback - * @param string $operator - * @param int $count - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereHasMorph($relation, $types, $callback = null, $operator = '>=', $count = 1) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereHasMorph($relation, $types, $callback, $operator, $count); - } - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereDoesntHaveMorph($relation, $types, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereDoesntHaveMorph($relation, $types, $callback); - } - /** - * Add a polymorphic relationship count / exists condition to the query with where clauses and an "or". - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param \Closure|null $callback - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereDoesntHaveMorph($relation, $types, $callback = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereDoesntHaveMorph($relation, $types, $callback); - } - /** - * Add a basic where clause to a relationship query. - * - * @param string $relation - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereRelation($relation, $column, $operator, $value); - } - /** - * Add an "or where" clause to a relationship query. - * - * @param string $relation - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereRelation($relation, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereRelation($relation, $column, $operator, $value); - } - /** - * Add a polymorphic relationship condition to the query with a where clause. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereMorphRelation($relation, $types, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereMorphRelation($relation, $types, $column, $operator, $value); - } - /** - * Add a polymorphic relationship condition to the query with an "or where" clause. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param string|array $types - * @param \Closure|string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereMorphRelation($relation, $types, $column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereMorphRelation($relation, $types, $column, $operator, $value); - } - /** - * Add a morph-to relationship condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param \Illuminate\Database\Eloquent\Model|string|null $model - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereMorphedTo($relation, $model, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereMorphedTo($relation, $model, $boolean); - } - /** - * Add a not morph-to relationship condition to the query. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param \Illuminate\Database\Eloquent\Model|string $model - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function whereNotMorphedTo($relation, $model, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereNotMorphedTo($relation, $model, $boolean); - } - /** - * Add a morph-to relationship condition to the query with an "or where" clause. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param \Illuminate\Database\Eloquent\Model|string|null $model - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereMorphedTo($relation, $model) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereMorphedTo($relation, $model); - } - /** - * Add a not morph-to relationship condition to the query with an "or where" clause. - * - * @param \Illuminate\Database\Eloquent\Relations\MorphTo|string $relation - * @param \Illuminate\Database\Eloquent\Model|string $model - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function orWhereNotMorphedTo($relation, $model) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereNotMorphedTo($relation, $model); - } - /** - * Add a "belongs to" relationship where clause to the query. - * - * @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection<\Illuminate\Database\Eloquent\Model> $related - * @param string|null $relationshipName - * @param string $boolean - * @return \Illuminate\Database\Eloquent\Builder|static - * @throws \Illuminate\Database\Eloquent\RelationNotFoundException - * @static - */ public static function whereBelongsTo($related, $relationshipName = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->whereBelongsTo($related, $relationshipName, $boolean); - } - /** - * Add an "BelongsTo" relationship with an "or where" clause to the query. - * - * @param \Illuminate\Database\Eloquent\Model $related - * @param string|null $relationshipName - * @return \Illuminate\Database\Eloquent\Builder|static - * @throws \RuntimeException - * @static - */ public static function orWhereBelongsTo($related, $relationshipName = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->orWhereBelongsTo($related, $relationshipName); - } - /** - * Add subselect queries to include an aggregate value for a relationship. - * - * @param mixed $relations - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $function - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withAggregate($relations, $column, $function = null) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withAggregate($relations, $column, $function); - } - /** - * Add subselect queries to count the relations. - * - * @param mixed $relations - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withCount($relations) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withCount($relations); - } - /** - * Add subselect queries to include the max of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withMax($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withMax($relation, $column); - } - /** - * Add subselect queries to include the min of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withMin($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withMin($relation, $column); - } - /** - * Add subselect queries to include the sum of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withSum($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withSum($relation, $column); - } - /** - * Add subselect queries to include the average of the relation's column. - * - * @param string|array $relation - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withAvg($relation, $column) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withAvg($relation, $column); - } - /** - * Add subselect queries to include the existence of related models. - * - * @param string|array $relation - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function withExists($relation) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->withExists($relation); - } - /** - * Merge the where constraints from another query to the current query. - * - * @param \Illuminate\Database\Eloquent\Builder $from - * @return \Illuminate\Database\Eloquent\Builder|static - * @static - */ public static function mergeConstraintsFrom($from) - { - /** @var \Illuminate\Database\Eloquent\Builder $instance */ - return $instance->mergeConstraintsFrom($from); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::powerJoin() - * @param mixed $table - * @param mixed $first - * @param mixed $operator - * @param mixed $second - * @param mixed $type - * @param mixed $where - * @return static - * @static - */ public static function powerJoin($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - return \Illuminate\Database\Eloquent\Builder::powerJoin($table, $first, $operator, $second, $type, $where); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::leftPowerJoin() - * @param mixed $table - * @param mixed $first - * @param mixed $operator - * @param mixed $second - * @static - */ public static function leftPowerJoin($table, $first, $operator = null, $second = null) - { - return \Illuminate\Database\Eloquent\Builder::leftPowerJoin($table, $first, $operator, $second); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::rightPowerJoin() - * @param mixed $table - * @param mixed $first - * @param mixed $operator - * @param mixed $second - * @static - */ public static function rightPowerJoin($table, $first, $operator = null, $second = null) - { - return \Illuminate\Database\Eloquent\Builder::rightPowerJoin($table, $first, $operator, $second); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::newPowerJoinClause() - * @param \Illuminate\Database\Query\Builder $parentQuery - * @param mixed $type - * @param mixed $table - * @param \Illuminate\Database\Eloquent\Model|null $model - * @static - */ public static function newPowerJoinClause($parentQuery, $type, $table, $model = null) - { - return \Illuminate\Database\Eloquent\Builder::newPowerJoinClause($parentQuery, $type, $table, $model); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::joinRelationship() - * @param mixed $relationName - * @param mixed $callback - * @param mixed $joinType - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @param string|null $morphable - * @static - */ public static function joinRelationship($relationName, $callback = null, $joinType = 'join', $useAlias = false, $disableExtraConditions = false, $morphable = null) - { - return \Illuminate\Database\Eloquent\Builder::joinRelationship($relationName, $callback, $joinType, $useAlias, $disableExtraConditions, $morphable); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::joinRelationshipUsingAlias() - * @param mixed $relationName - * @param mixed $callback - * @param bool $disableExtraConditions - * @static - */ public static function joinRelationshipUsingAlias($relationName, $callback = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::joinRelationshipUsingAlias($relationName, $callback, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::leftJoinRelationshipUsingAlias() - * @param mixed $relationName - * @param mixed $callback - * @param bool $disableExtraConditions - * @static - */ public static function leftJoinRelationshipUsingAlias($relationName, $callback = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::leftJoinRelationshipUsingAlias($relationName, $callback, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::rightJoinRelationshipUsingAlias() - * @param mixed $relationName - * @param mixed $callback - * @param bool $disableExtraConditions - * @static - */ public static function rightJoinRelationshipUsingAlias($relationName, $callback = null, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::rightJoinRelationshipUsingAlias($relationName, $callback, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::joinRelation() - * @param mixed $relationName - * @param mixed $callback - * @param mixed $joinType - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @static - */ public static function joinRelation($relationName, $callback = null, $joinType = 'join', $useAlias = false, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::joinRelation($relationName, $callback, $joinType, $useAlias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::leftJoinRelationship() - * @param mixed $relation - * @param mixed $callback - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @static - */ public static function leftJoinRelationship($relation, $callback = null, $useAlias = false, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::leftJoinRelationship($relation, $callback, $useAlias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::leftJoinRelation() - * @param mixed $relation - * @param mixed $callback - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @static - */ public static function leftJoinRelation($relation, $callback = null, $useAlias = false, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::leftJoinRelation($relation, $callback, $useAlias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::rightJoinRelationship() - * @param mixed $relation - * @param mixed $callback - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @static - */ public static function rightJoinRelationship($relation, $callback = null, $useAlias = false, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::rightJoinRelationship($relation, $callback, $useAlias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::rightJoinRelation() - * @param mixed $relation - * @param mixed $callback - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @static - */ public static function rightJoinRelation($relation, $callback = null, $useAlias = false, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::rightJoinRelation($relation, $callback, $useAlias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::joinNestedRelationship() - * @param string $relationships - * @param mixed $callback - * @param mixed $joinType - * @param mixed $useAlias - * @param bool $disableExtraConditions - * @static - */ public static function joinNestedRelationship($relationships, $callback = null, $joinType = 'join', $useAlias = false, $disableExtraConditions = false) - { - return \Illuminate\Database\Eloquent\Builder::joinNestedRelationship($relationships, $callback, $joinType, $useAlias, $disableExtraConditions); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByPowerJoins() - * @param mixed $sort - * @param mixed $direction - * @param mixed $aggregation - * @param mixed $joinType - * @param mixed $aliases - * @static - */ public static function orderByPowerJoins($sort, $direction = 'asc', $aggregation = null, $joinType = 'join', $aliases = null) - { - return \Illuminate\Database\Eloquent\Builder::orderByPowerJoins($sort, $direction, $aggregation, $joinType, $aliases); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByLeftPowerJoins() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByLeftPowerJoins($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByLeftPowerJoins($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByPowerJoinsCount() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByPowerJoinsCount($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByPowerJoinsCount($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByLeftPowerJoinsCount() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByLeftPowerJoinsCount($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByLeftPowerJoinsCount($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByPowerJoinsSum() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByPowerJoinsSum($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByPowerJoinsSum($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByLeftPowerJoinsSum() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByLeftPowerJoinsSum($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByLeftPowerJoinsSum($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByPowerJoinsAvg() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByPowerJoinsAvg($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByPowerJoinsAvg($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByLeftPowerJoinsAvg() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByLeftPowerJoinsAvg($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByLeftPowerJoinsAvg($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByPowerJoinsMin() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByPowerJoinsMin($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByPowerJoinsMin($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByLeftPowerJoinsMin() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByLeftPowerJoinsMin($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByLeftPowerJoinsMin($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByPowerJoinsMax() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByPowerJoinsMax($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByPowerJoinsMax($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::orderByLeftPowerJoinsMax() - * @param mixed $sort - * @param mixed $direction - * @static - */ public static function orderByLeftPowerJoinsMax($sort, $direction = 'asc') - { - return \Illuminate\Database\Eloquent\Builder::orderByLeftPowerJoinsMax($sort, $direction); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::powerJoinHas() - * @param mixed $relation - * @param mixed $operator - * @param mixed $count - * @param mixed $boolean - * @param \Closure|array|null $callback - * @param string|null $morphable - * @return static - * @static - */ public static function powerJoinHas($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null, $morphable = null) - { - return \Illuminate\Database\Eloquent\Builder::powerJoinHas($relation, $operator, $count, $boolean, $callback, $morphable); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::hasNestedUsingJoins() - * @param mixed $relations - * @param mixed $operator - * @param mixed $count - * @param mixed $boolean - * @param \Closure|array|null $callback - * @return static - * @static - */ public static function hasNestedUsingJoins($relations, $operator = '>=', $count = 1, $boolean = 'and', $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::hasNestedUsingJoins($relations, $operator, $count, $boolean, $callback); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::powerJoinDoesntHave() - * @param mixed $relation - * @param mixed $boolean - * @param \Closure|null $callback - * @static - */ public static function powerJoinDoesntHave($relation, $boolean = 'and', $callback = null) - { - return \Illuminate\Database\Eloquent\Builder::powerJoinDoesntHave($relation, $boolean, $callback); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\JoinRelationship::powerJoinWhereHas() - * @param mixed $relation - * @param mixed $callback - * @param mixed $operator - * @param mixed $count - * @static - */ public static function powerJoinWhereHas($relation, $callback = null, $operator = '>=', $count = 1) - { - return \Illuminate\Database\Eloquent\Builder::powerJoinWhereHas($relation, $callback, $operator, $count); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\QueryRelationshipExistence::getGroupBy() - * @static - */ public static function getGroupBy() - { - return \Illuminate\Database\Eloquent\Builder::getGroupBy(); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\QueryRelationshipExistence::getSelect() - * @static - */ public static function getSelect() - { - return \Illuminate\Database\Eloquent\Builder::getSelect(); - } - /** - * - * - * @see \Kirschbaum\PowerJoins\Mixins\QueryRelationshipExistence::getRelationWithoutConstraintsProxy() - * @param mixed $relation - * @static - */ public static function getRelationWithoutConstraintsProxy($relation) - { - return \Illuminate\Database\Eloquent\Builder::getRelationWithoutConstraintsProxy($relation); - } - /** - * Set the columns to be selected. - * - * @param array|mixed $columns - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function select($columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->select($columns); - } - /** - * Add a subselect expression to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function selectSub($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->selectSub($query, $as); - } - /** - * Add a new "raw" select expression to the query. - * - * @param string $expression - * @param array $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function selectRaw($expression, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->selectRaw($expression, $bindings); - } - /** - * Makes "from" fetch from a subquery. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function fromSub($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->fromSub($query, $as); - } - /** - * Add a raw from clause to the query. - * - * @param string $expression - * @param mixed $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function fromRaw($expression, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->fromRaw($expression, $bindings); - } - /** - * Add a new select column to the query. - * - * @param array|mixed $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function addSelect($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addSelect($column); - } - /** - * Force the query to only return distinct results. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function distinct() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->distinct(); - } - /** - * Set the table which the query is targeting. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $table - * @param string|null $as - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function from($table, $as = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->from($table, $as); - } - /** - * Add an index hint to suggest a query index. - * - * @param string $index - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function useIndex($index) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->useIndex($index); - } - /** - * Add an index hint to force a query index. - * - * @param string $index - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function forceIndex($index) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forceIndex($index); - } - /** - * Add an index hint to ignore a query index. - * - * @param string $index - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function ignoreIndex($index) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->ignoreIndex($index); - } - /** - * Add a join clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @param string $type - * @param bool $where - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function join($table, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->join($table, $first, $operator, $second, $type, $where); - } - /** - * Add a "join where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string $second - * @param string $type - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function joinWhere($table, $first, $operator, $second, $type = 'inner') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->joinWhere($table, $first, $operator, $second, $type); - } - /** - * Add a subquery join clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @param string $type - * @param bool $where - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function joinSub($query, $as, $first, $operator = null, $second = null, $type = 'inner', $where = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->joinSub($query, $as, $first, $operator, $second, $type, $where); - } - /** - * Add a lateral join clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param string $type - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function joinLateral($query, $as, $type = 'inner') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->joinLateral($query, $as, $type); - } - /** - * Add a lateral left join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function leftJoinLateral($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoinLateral($query, $as); - } - /** - * Add a left join to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function leftJoin($table, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoin($table, $first, $operator, $second); - } - /** - * Add a "join where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function leftJoinWhere($table, $first, $operator, $second) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoinWhere($table, $first, $operator, $second); - } - /** - * Add a subquery left join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function leftJoinSub($query, $as, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->leftJoinSub($query, $as, $first, $operator, $second); - } - /** - * Add a right join to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function rightJoin($table, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rightJoin($table, $first, $operator, $second); - } - /** - * Add a "right join where" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function rightJoinWhere($table, $first, $operator, $second) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rightJoinWhere($table, $first, $operator, $second); - } - /** - * Add a subquery right join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function rightJoinSub($query, $as, $first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rightJoinSub($query, $as, $first, $operator, $second); - } - /** - * Add a "cross join" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $table - * @param \Closure|\Illuminate\Contracts\Database\Query\Expression|string|null $first - * @param string|null $operator - * @param \Illuminate\Contracts\Database\Query\Expression|string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function crossJoin($table, $first = null, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->crossJoin($table, $first, $operator, $second); - } - /** - * Add a subquery cross join to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @param string $as - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function crossJoinSub($query, $as) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->crossJoinSub($query, $as); - } - /** - * Merge an array of where clauses and bindings. - * - * @param array $wheres - * @param array $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function mergeWheres($wheres, $bindings) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->mergeWheres($wheres, $bindings); - } - /** - * Prepare the value and operator for a where clause. - * - * @param string $value - * @param string $operator - * @param bool $useDefault - * @return array - * @throws \InvalidArgumentException - * @static - */ public static function prepareValueAndOperator($value, $operator, $useDefault = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->prepareValueAndOperator($value, $operator, $useDefault); - } - /** - * Add a "where" clause comparing two columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first - * @param string|null $operator - * @param string|null $second - * @param string|null $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereColumn($first, $operator = null, $second = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereColumn($first, $operator, $second, $boolean); - } - /** - * Add an "or where" clause comparing two columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string|array $first - * @param string|null $operator - * @param string|null $second - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereColumn($first, $operator = null, $second = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereColumn($first, $operator, $second); - } - /** - * Add a raw where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereRaw($sql, $bindings = [], $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereRaw($sql, $bindings, $boolean); - } - /** - * Add a raw or where clause to the query. - * - * @param string $sql - * @param mixed $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereRaw($sql, $bindings); - } - /** - * Add a "where in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereIn($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereIn($column, $values, $boolean, $not); - } - /** - * Add an "or where in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereIn($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereIn($column, $values); - } - /** - * Add a "where not in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNotIn($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotIn($column, $values, $boolean); - } - /** - * Add an "or where not in" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param mixed $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereNotIn($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotIn($column, $values); - } - /** - * Add a "where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereIntegerInRaw($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereIntegerInRaw($column, $values, $boolean, $not); - } - /** - * Add an "or where in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereIntegerInRaw($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereIntegerInRaw($column, $values); - } - /** - * Add a "where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereIntegerNotInRaw($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereIntegerNotInRaw($column, $values, $boolean); - } - /** - * Add an "or where not in raw" clause for integer values to the query. - * - * @param string $column - * @param \Illuminate\Contracts\Support\Arrayable|array $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereIntegerNotInRaw($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereIntegerNotInRaw($column, $values); - } - /** - * Add a "where null" clause to the query. - * - * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNull($columns, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNull($columns, $boolean, $not); - } - /** - * Add an "or where null" clause to the query. - * - * @param string|array|\Illuminate\Contracts\Database\Query\Expression $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNull($column); - } - /** - * Add a "where not null" clause to the query. - * - * @param string|array|\Illuminate\Contracts\Database\Query\Expression $columns - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNotNull($columns, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotNull($columns, $boolean); - } - /** - * Add a where between statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Database\Query\iterable $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereBetween($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereBetween($column, $values, $boolean, $not); - } - /** - * Add a where between statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param array $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereBetweenColumns($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereBetweenColumns($column, $values, $boolean, $not); - } - /** - * Add an or where between statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Database\Query\iterable $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereBetween($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereBetween($column, $values); - } - /** - * Add an or where between statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereBetweenColumns($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereBetweenColumns($column, $values); - } - /** - * Add a where not between statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Database\Query\iterable $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNotBetween($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotBetween($column, $values, $boolean); - } - /** - * Add a where not between statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNotBetweenColumns($column, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotBetweenColumns($column, $values, $boolean); - } - /** - * Add an or where not between statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \Illuminate\Database\Query\iterable $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereNotBetween($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotBetween($column, $values); - } - /** - * Add an or where not between statement using columns to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param array $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereNotBetweenColumns($column, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotBetweenColumns($column, $values); - } - /** - * Add an "or where not null" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereNotNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotNull($column); - } - /** - * Add a "where date" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereDate($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereDate($column, $operator, $value, $boolean); - } - /** - * Add an "or where date" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereDate($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereDate($column, $operator, $value); - } - /** - * Add a "where time" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereTime($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereTime($column, $operator, $value, $boolean); - } - /** - * Add an "or where time" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|null $operator - * @param \DateTimeInterface|string|null $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereTime($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereTime($column, $operator, $value); - } - /** - * Add a "where day" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereDay($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereDay($column, $operator, $value, $boolean); - } - /** - * Add an "or where day" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereDay($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereDay($column, $operator, $value); - } - /** - * Add a "where month" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereMonth($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereMonth($column, $operator, $value, $boolean); - } - /** - * Add an "or where month" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereMonth($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereMonth($column, $operator, $value); - } - /** - * Add a "where year" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereYear($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereYear($column, $operator, $value, $boolean); - } - /** - * Add an "or where year" statement to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @param \DateTimeInterface|string|int|null $operator - * @param \DateTimeInterface|string|int|null $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereYear($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereYear($column, $operator, $value); - } - /** - * Add a nested where statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNested($callback, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNested($callback, $boolean); - } - /** - * Create a new query instance for nested where condition. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function forNestedWhere() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forNestedWhere(); - } - /** - * Add another query builder as a nested where to the query builder. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function addNestedWhereQuery($query, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addNestedWhereQuery($query, $boolean); - } - /** - * Add an exists clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $callback - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereExists($callback, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereExists($callback, $boolean, $not); - } - /** - * Add an or exists clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $callback - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereExists($callback, $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereExists($callback, $not); - } - /** - * Add a where not exists clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereNotExists($callback, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereNotExists($callback, $boolean); - } - /** - * Add a where not exists clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $callback - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereNotExists($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereNotExists($callback); - } - /** - * Add an exists clause to the query. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function addWhereExistsQuery($query, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addWhereExistsQuery($query, $boolean, $not); - } - /** - * Adds a where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function whereRowValues($columns, $operator, $values, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereRowValues($columns, $operator, $values, $boolean); - } - /** - * Adds an or where condition using row values. - * - * @param array $columns - * @param string $operator - * @param array $values - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereRowValues($columns, $operator, $values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereRowValues($columns, $operator, $values); - } - /** - * Add a "where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereJsonContains($column, $value, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonContains($column, $value, $boolean, $not); - } - /** - * Add an "or where JSON contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereJsonContains($column, $value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonContains($column, $value); - } - /** - * Add a "where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereJsonDoesntContain($column, $value, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonDoesntContain($column, $value, $boolean); - } - /** - * Add an "or where JSON not contains" clause to the query. - * - * @param string $column - * @param mixed $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereJsonDoesntContain($column, $value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonDoesntContain($column, $value); - } - /** - * Add a clause that determines if a JSON path exists to the query. - * - * @param string $column - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereJsonContainsKey($column, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonContainsKey($column, $boolean, $not); - } - /** - * Add an "or" clause that determines if a JSON path exists to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereJsonContainsKey($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonContainsKey($column); - } - /** - * Add a clause that determines if a JSON path does not exist to the query. - * - * @param string $column - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereJsonDoesntContainKey($column, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonDoesntContainKey($column, $boolean); - } - /** - * Add an "or" clause that determines if a JSON path does not exist to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereJsonDoesntContainKey($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonDoesntContainKey($column); - } - /** - * Add a "where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereJsonLength($column, $operator, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereJsonLength($column, $operator, $value, $boolean); - } - /** - * Add an "or where JSON length" clause to the query. - * - * @param string $column - * @param mixed $operator - * @param mixed $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereJsonLength($column, $operator, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereJsonLength($column, $operator, $value); - } - /** - * Handles dynamic "where" clauses to the query. - * - * @param string $method - * @param array $parameters - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function dynamicWhere($method, $parameters) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dynamicWhere($method, $parameters); - } - /** - * Add a "where fulltext" clause to the query. - * - * @param string|string[] $columns - * @param string $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereFullText($columns, $value, $options = [], $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereFullText($columns, $value, $options, $boolean); - } - /** - * Add a "or where fulltext" clause to the query. - * - * @param string|string[] $columns - * @param string $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereFullText($columns, $value, $options = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereFullText($columns, $value, $options); - } - /** - * Add a "where" clause to the query for multiple columns with "and" conditions between them. - * - * @param string[] $columns - * @param mixed $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereAll($columns, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereAll($columns, $operator, $value, $boolean); - } - /** - * Add an "or where" clause to the query for multiple columns with "and" conditions between them. - * - * @param string[] $columns - * @param string $operator - * @param mixed $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereAll($columns, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereAll($columns, $operator, $value); - } - /** - * Add an "where" clause to the query for multiple columns with "or" conditions between them. - * - * @param string[] $columns - * @param string $operator - * @param mixed $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function whereAny($columns, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->whereAny($columns, $operator, $value, $boolean); - } - /** - * Add an "or where" clause to the query for multiple columns with "or" conditions between them. - * - * @param string[] $columns - * @param string $operator - * @param mixed $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orWhereAny($columns, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orWhereAny($columns, $operator, $value); - } - /** - * Add a "group by" clause to the query. - * - * @param array|\Illuminate\Contracts\Database\Query\Expression|string $groups - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function groupBy(...$groups) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->groupBy(...$groups); - } - /** - * Add a raw groupBy clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function groupByRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->groupByRaw($sql, $bindings); - } - /** - * Add a "having" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column - * @param string|int|float|null $operator - * @param string|int|float|null $value - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function having($column, $operator = null, $value = null, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->having($column, $operator, $value, $boolean); - } - /** - * Add an "or having" clause to the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|\Closure|string $column - * @param string|int|float|null $operator - * @param string|int|float|null $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orHaving($column, $operator = null, $value = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHaving($column, $operator, $value); - } - /** - * Add a nested having statement to the query. - * - * @param \Closure $callback - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function havingNested($callback, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNested($callback, $boolean); - } - /** - * Add another query builder as a nested having to the query builder. - * - * @param \Illuminate\Database\Query\Builder $query - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function addNestedHavingQuery($query, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addNestedHavingQuery($query, $boolean); - } - /** - * Add a "having null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function havingNull($columns, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNull($columns, $boolean, $not); - } - /** - * Add an "or having null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orHavingNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingNull($column); - } - /** - * Add a "having not null" clause to the query. - * - * @param string|array $columns - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function havingNotNull($columns, $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingNotNull($columns, $boolean); - } - /** - * Add an "or having not null" clause to the query. - * - * @param string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orHavingNotNull($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingNotNull($column); - } - /** - * Add a "having between " clause to the query. - * - * @param string $column - * @param \Illuminate\Database\Query\iterable $values - * @param string $boolean - * @param bool $not - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function havingBetween($column, $values, $boolean = 'and', $not = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingBetween($column, $values, $boolean, $not); - } - /** - * Add a raw having clause to the query. - * - * @param string $sql - * @param array $bindings - * @param string $boolean - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function havingRaw($sql, $bindings = [], $boolean = 'and') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->havingRaw($sql, $bindings, $boolean); - } - /** - * Add a raw or having clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orHavingRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orHavingRaw($sql, $bindings); - } - /** - * Add an "order by" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|\Illuminate\Contracts\Database\Query\Expression|string $column - * @param string $direction - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function orderBy($column, $direction = 'asc') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderBy($column, $direction); - } - /** - * Add a descending "order by" clause to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|\Illuminate\Contracts\Database\Query\Expression|string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orderByDesc($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderByDesc($column); - } - /** - * Put the query's results in random order. - * - * @param string|int $seed - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function inRandomOrder($seed = '') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->inRandomOrder($seed); - } - /** - * Add a raw "order by" clause to the query. - * - * @param string $sql - * @param array $bindings - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function orderByRaw($sql, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->orderByRaw($sql, $bindings); - } - /** - * Alias to set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function skip($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->skip($value); - } - /** - * Set the "offset" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function offset($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->offset($value); - } - /** - * Alias to set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function take($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->take($value); - } - /** - * Set the "limit" value of the query. - * - * @param int $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function limit($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->limit($value); - } - /** - * Set the limit and offset for a given page. - * - * @param int $page - * @param int $perPage - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function forPage($page, $perPage = 15) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forPage($page, $perPage); - } - /** - * Constrain the query to the previous "page" of results before a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function forPageBeforeId($perPage = 15, $lastId = 0, $column = 'id') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forPageBeforeId($perPage, $lastId, $column); - } - /** - * Constrain the query to the next "page" of results after a given ID. - * - * @param int $perPage - * @param int|null $lastId - * @param string $column - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function forPageAfterId($perPage = 15, $lastId = 0, $column = 'id') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->forPageAfterId($perPage, $lastId, $column); - } - /** - * Remove all existing orders and optionally add a new order. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Contracts\Database\Query\Expression|string|null $column - * @param string $direction - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function reorder($column = null, $direction = 'asc') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->reorder($column, $direction); - } - /** - * Add a union statement to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $query - * @param bool $all - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function union($query, $all = false) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->union($query, $all); - } - /** - * Add a union all statement to the query. - * - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function unionAll($query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->unionAll($query); - } - /** - * Lock the selected rows in the table. - * - * @param string|bool $value - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function lock($value = true) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->lock($value); - } - /** - * Lock the selected rows in the table for updating. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function lockForUpdate() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->lockForUpdate(); - } - /** - * Share lock the selected rows in the table. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function sharedLock() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->sharedLock(); - } - /** - * Register a closure to be invoked before the query is executed. - * - * @param callable $callback - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function beforeQuery($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->beforeQuery($callback); - } - /** - * Invoke the "before query" modification callbacks. - * - * @return void - * @static - */ public static function applyBeforeQueryCallbacks() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - $instance->applyBeforeQueryCallbacks(); - } - /** - * Get the SQL representation of the query. - * - * @return string - * @static - */ public static function toSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->toSql(); - } - /** - * Get the raw SQL representation of the query with embedded bindings. - * - * @return string - * @static - */ public static function toRawSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->toRawSql(); - } - /** - * Get a single expression value from the first result of a query. - * - * @param string $expression - * @param array $bindings - * @return mixed - * @static - */ public static function rawValue($expression, $bindings = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->rawValue($expression, $bindings); - } - /** - * Get the count of the total records for the paginator. - * - * @param array $columns - * @return int - * @static - */ public static function getCountForPagination($columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getCountForPagination($columns); - } - /** - * Concatenate values of a given column as a string. - * - * @param string $column - * @param string $glue - * @return string - * @static - */ public static function implode($column, $glue = '') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->implode($column, $glue); - } - /** - * Determine if any rows exist for the current query. - * - * @return bool - * @static - */ public static function exists() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->exists(); - } - /** - * Determine if no rows exist for the current query. - * - * @return bool - * @static - */ public static function doesntExist() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->doesntExist(); - } - /** - * Execute the given callback if no rows exist for the current query. - * - * @param \Closure $callback - * @return mixed - * @static - */ public static function existsOr($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->existsOr($callback); - } - /** - * Execute the given callback if rows exist for the current query. - * - * @param \Closure $callback - * @return mixed - * @static - */ public static function doesntExistOr($callback) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->doesntExistOr($callback); - } - /** - * Retrieve the "count" result of the query. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $columns - * @return int - * @static - */ public static function count($columns = '*') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->count($columns); - } - /** - * Retrieve the minimum value of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ public static function min($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->min($column); - } - /** - * Retrieve the maximum value of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ public static function max($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->max($column); - } - /** - * Retrieve the sum of the values of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ public static function sum($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->sum($column); - } - /** - * Retrieve the average of the values of a given column. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ public static function avg($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->avg($column); - } - /** - * Alias for the "avg" method. - * - * @param \Illuminate\Contracts\Database\Query\Expression|string $column - * @return mixed - * @static - */ public static function average($column) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->average($column); - } - /** - * Execute an aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return mixed - * @static - */ public static function aggregate($function, $columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->aggregate($function, $columns); - } - /** - * Execute a numeric aggregate function on the database. - * - * @param string $function - * @param array $columns - * @return float|int - * @static - */ public static function numericAggregate($function, $columns = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->numericAggregate($function, $columns); - } - /** - * Insert new records into the database. - * - * @param array $values - * @return bool - * @static - */ public static function insert($values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insert($values); - } - /** - * Insert new records into the database while ignoring errors. - * - * @param array $values - * @return int - * @static - */ public static function insertOrIgnore($values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertOrIgnore($values); - } - /** - * Insert a new record and get the value of the primary key. - * - * @param array $values - * @param string|null $sequence - * @return int - * @static - */ public static function insertGetId($values, $sequence = null) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertGetId($values, $sequence); - } - /** - * Insert new records into the table using a subquery. - * - * @param array $columns - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @return int - * @static - */ public static function insertUsing($columns, $query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertUsing($columns, $query); - } - /** - * Insert new records into the table using a subquery while ignoring errors. - * - * @param array $columns - * @param \Closure|\Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder|string $query - * @return int - * @static - */ public static function insertOrIgnoreUsing($columns, $query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->insertOrIgnoreUsing($columns, $query); - } - /** - * Update records in a PostgreSQL database using the update from syntax. - * - * @param array $values - * @return int - * @static - */ public static function updateFrom($values) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->updateFrom($values); - } - /** - * Insert or update a record matching the attributes, and fill it with values. - * - * @param array $attributes - * @param array $values - * @return bool - * @static - */ public static function updateOrInsert($attributes, $values = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->updateOrInsert($attributes, $values); - } - /** - * Increment the given column's values by the given amounts. - * - * @param array $columns - * @param array $extra - * @return int - * @throws \InvalidArgumentException - * @static - */ public static function incrementEach($columns, $extra = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->incrementEach($columns, $extra); - } - /** - * Decrement the given column's values by the given amounts. - * - * @param array $columns - * @param array $extra - * @return int - * @throws \InvalidArgumentException - * @static - */ public static function decrementEach($columns, $extra = []) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->decrementEach($columns, $extra); - } - /** - * Run a truncate statement on the table. - * - * @return void - * @static - */ public static function truncate() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - $instance->truncate(); - } - /** - * Get all of the query builder's columns in a text-only array with all expressions evaluated. - * - * @return array - * @static - */ public static function getColumns() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getColumns(); - } - /** - * Create a raw database expression. - * - * @param mixed $value - * @return \Illuminate\Contracts\Database\Query\Expression - * @static - */ public static function raw($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->raw($value); - } - /** - * Get the current query value bindings in a flattened array. - * - * @return array - * @static - */ public static function getBindings() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getBindings(); - } - /** - * Get the raw array of bindings. - * - * @return array - * @static - */ public static function getRawBindings() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getRawBindings(); - } - /** - * Set the bindings on the query builder. - * - * @param array $bindings - * @param string $type - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function setBindings($bindings, $type = 'where') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->setBindings($bindings, $type); - } - /** - * Add a binding to the query. - * - * @param mixed $value - * @param string $type - * @return \Illuminate\Database\Query\Builder - * @throws \InvalidArgumentException - * @static - */ public static function addBinding($value, $type = 'where') - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->addBinding($value, $type); - } - /** - * Cast the given binding value. - * - * @param mixed $value - * @return mixed - * @static - */ public static function castBinding($value) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->castBinding($value); - } - /** - * Merge an array of bindings into our bindings. - * - * @param \Illuminate\Database\Query\Builder $query - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function mergeBindings($query) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->mergeBindings($query); - } - /** - * Remove all of the expressions from a list of bindings. - * - * @param array $bindings - * @return array - * @static - */ public static function cleanBindings($bindings) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->cleanBindings($bindings); - } - /** - * Get the database query processor instance. - * - * @return \Illuminate\Database\Query\Processors\Processor - * @static - */ public static function getProcessor() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getProcessor(); - } - /** - * Get the query grammar instance. - * - * @return \Illuminate\Database\Query\Grammars\Grammar - * @static - */ public static function getGrammar() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->getGrammar(); - } - /** - * Use the "write" PDO connection when executing the query. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function useWritePdo() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->useWritePdo(); - } - /** - * Clone the query without the given properties. - * - * @param array $properties - * @return static - * @static - */ public static function cloneWithout($properties) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->cloneWithout($properties); - } - /** - * Clone the query without the given bindings. - * - * @param array $except - * @return static - * @static - */ public static function cloneWithoutBindings($except) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->cloneWithoutBindings($except); - } - /** - * Dump the current SQL and bindings. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function dump() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dump(); - } - /** - * Dump the raw current SQL with embedded bindings. - * - * @return \Illuminate\Database\Query\Builder - * @static - */ public static function dumpRawSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dumpRawSql(); - } - /** - * Die and dump the current SQL and bindings. - * - * @return \Illuminate\Database\Query\never - * @static - */ public static function dd() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->dd(); - } - /** - * Die and dump the current SQL with embedded bindings. - * - * @return \Illuminate\Database\Query\never - * @static - */ public static function ddRawSql() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->ddRawSql(); - } - /** - * Explains the query. - * - * @return \Illuminate\Support\Collection - * @static - */ public static function explain() - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->explain(); - } - /** - * Register a custom macro. - * - * @param string $name - * @param object|callable $macro - * @return void - * @static - */ public static function macro($name, $macro) - { - \Illuminate\Database\Query\Builder::macro($name, $macro); - } - /** - * Mix another object into the class. - * - * @param object $mixin - * @param bool $replace - * @return void - * @throws \ReflectionException - * @static - */ public static function mixin($mixin, $replace = true) - { - \Illuminate\Database\Query\Builder::mixin($mixin, $replace); - } - /** - * Flush the existing macros. - * - * @return void - * @static - */ public static function flushMacros() - { - \Illuminate\Database\Query\Builder::flushMacros(); - } - /** - * Dynamically handle calls to the class. - * - * @param string $method - * @param array $parameters - * @return mixed - * @throws \BadMethodCallException - * @static - */ public static function macroCall($method, $parameters) - { - /** @var \Illuminate\Database\Query\Builder $instance */ - return $instance->macroCall($method, $parameters); - } - } - class Event extends \Illuminate\Support\Facades\Event {} - class File extends \Illuminate\Support\Facades\File {} - class Gate extends \Illuminate\Support\Facades\Gate {} - class Hash extends \Illuminate\Support\Facades\Hash {} - class Http extends \Illuminate\Support\Facades\Http {} - class Js extends \Illuminate\Support\Js {} - class Lang extends \Illuminate\Support\Facades\Lang {} - class Log extends \Illuminate\Support\Facades\Log {} - class Mail extends \Illuminate\Support\Facades\Mail {} - class Notification extends \Illuminate\Support\Facades\Notification {} - class Number extends \Illuminate\Support\Number {} - class Password extends \Illuminate\Support\Facades\Password {} - class Process extends \Illuminate\Support\Facades\Process {} - class Queue extends \Illuminate\Support\Facades\Queue {} - class RateLimiter extends \Illuminate\Support\Facades\RateLimiter {} - class Redirect extends \Illuminate\Support\Facades\Redirect {} - class Request extends \Illuminate\Support\Facades\Request {} - class Response extends \Illuminate\Support\Facades\Response {} - class Route extends \Illuminate\Support\Facades\Route {} - class Schema extends \Illuminate\Support\Facades\Schema {} - class Session extends \Illuminate\Support\Facades\Session {} - class Storage extends \Illuminate\Support\Facades\Storage {} - class Str extends \Illuminate\Support\Str {} - class URL extends \Illuminate\Support\Facades\URL {} - class Validator extends \Illuminate\Support\Facades\Validator {} - class View extends \Illuminate\Support\Facades\View {} - class Vite extends \Illuminate\Support\Facades\Vite {} - class TimeZoneHelper extends \App\Helpers\TimeZoneHelper {} - class EloquentSerialize extends \AnourValar\EloquentSerialize\Facades\EloquentSerializeFacade {} - class Livewire extends \Livewire\Livewire {} - class Action extends \Lorisleiva\Actions\Facades\Actions {} - class Lody extends \Lorisleiva\Lody\Lody {} - class Flare extends \Spatie\LaravelIgnition\Facades\Flare {} - } - - - - - diff --git a/app/Actions/CheckForScheduledSpeedtests.php b/app/Actions/CheckForScheduledSpeedtests.php new file mode 100644 index 000000000..47098bf34 --- /dev/null +++ b/app/Actions/CheckForScheduledSpeedtests.php @@ -0,0 +1,39 @@ +isSpeedtestDue(schedule: $schedule), + scheduled: true, + ); + } + + /** + * Assess if a speedtest is due to run based on the schedule. + */ + private function isSpeedtestDue(string $schedule): bool + { + $cron = new CronExpression($schedule); + + return $cron->isDue( + currentTime: now(), + timeZone: config('app.display_timezone') + ); + } +} diff --git a/app/Actions/GetExternalIpAddress.php b/app/Actions/GetExternalIpAddress.php new file mode 100644 index 000000000..d47cc0a6f --- /dev/null +++ b/app/Actions/GetExternalIpAddress.php @@ -0,0 +1,39 @@ +timeout(5) + ->get(url: $url); + } catch (Throwable $e) { + $message = sprintf('Failed to fetch external IP address from "%s". See the logs for more details.', $url); + + Log::error($message, [$e->getMessage()]); + + return [ + 'ok' => false, + 'body' => $message, + ]; + } + + return [ + 'ok' => $response->ok(), + 'body' => Str::of($response->body())->trim()->toString(), + ]; + } +} diff --git a/app/Actions/GetOoklaSpeedtestServers.php b/app/Actions/GetOoklaSpeedtestServers.php index cf5099ef3..54f33bc10 100644 --- a/app/Actions/GetOoklaSpeedtestServers.php +++ b/app/Actions/GetOoklaSpeedtestServers.php @@ -2,17 +2,40 @@ namespace App\Actions; -use Illuminate\Http\Client\RequestException; -use Illuminate\Http\Client\Response; +use Illuminate\Support\Arr; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; use Lorisleiva\Actions\Concerns\AsAction; +use Throwable; class GetOoklaSpeedtestServers { use AsAction; + /** + * For UI: return the ID, Sponsor, and Name to start a manual test + */ public function handle(): array + { + $servers = self::fetch(); + + // If the first item is not an array, treat as error or empty + if (empty($servers) || ! is_array($servers) || (isset($servers[0]) && ! is_array($servers[0]))) { + // Return error message as a single option so user can see the error + return ['error' => $servers[0] ?? 'Unable to retrieve servers']; + } + + return collect($servers)->mapWithKeys(function (array $item) { + return [ + $item['id'] => ($item['sponsor'] ?? 'Unknown').' ('.($item['name'] ?? 'Unknown').', '.$item['id'].')', + ]; + })->toArray(); + } + + /** + * Fetch the raw Ookla server array from the Ookla API. + */ + public static function fetch(): array { $query = [ 'engine' => 'js', @@ -20,21 +43,41 @@ public function handle(): array 'limit' => 20, ]; - $response = Http::retry(3, 250) - ->timeout(5) - ->get(url: 'https://www.speedtest.net/api/js/servers', query: $query) - ->throw(function (Response $response, RequestException $e) { - Log::error($e); + try { + $response = Http::retry(3, 250) + ->timeout(5) + ->get(url: 'https://www.speedtest.net/api/js/servers', query: $query); + + return $response->json(); + } catch (Throwable $e) { + Log::error('Unable to retrieve Ookla servers.', [$e->getMessage()]); + + return [ + '⚠️ Unable to retrieve Ookla servers, check internet connection and see logs.', + ]; + } + } + + /** + * For API: return array of structured server objects + */ + public static function forApi(): array + { + $servers = self::fetch(); - return [ - '0' => 'There was an issue retrieving Ookla speedtest servers, check the logs for more info.', - ]; - }) - ->collect(); + // If the first item is not an array, treat as error or empty + if (empty($servers) || ! is_array($servers) || (isset($servers[0]) && ! is_array($servers[0]))) { + // Optionally, you could return an error message here, but to match the controller's behavior, return an empty array + return []; + } - return $response->mapWithKeys(function (array $item, int $key) { + return collect($servers)->map(function (array $item) { return [ - $item['id'] => $item['id'].': '.$item['name'].' ('.$item['sponsor'].')', + 'id' => $item['id'], + 'host' => Arr::get($item, 'host', 'Unknown'), + 'name' => Arr::get($item, 'sponsor', 'Unknown'), + 'location' => Arr::get($item, 'name', 'Unknown'), + 'country' => Arr::get($item, 'country', 'Unknown'), ]; })->toArray(); } diff --git a/app/Actions/Influxdb/v2/BuildPointData.php b/app/Actions/Influxdb/v2/BuildPointData.php new file mode 100644 index 000000000..4063b3aa2 --- /dev/null +++ b/app/Actions/Influxdb/v2/BuildPointData.php @@ -0,0 +1,71 @@ +addTag('app_name', config('app.name')) + ->time($result->created_at->timestamp ?? time()); + + // Qualitative tags + $point->addTag('result_id', $result->id) + ->addTag('external_ip', Arr::get($result->data, 'interface.externalIp')) + ->addTag('id', $result->id) + ->addTag('isp', Arr::get($result->data, 'isp')) + ->addTag('service', $result->service->value) + ->addTag('server_id', Arr::get($result->data, 'server.id')) + ->addTag('server_name', Arr::get($result->data, 'server.name')) + ->addTag('server_country', Arr::get($result->data, 'server.country')) + ->addTag('server_location', Arr::get($result->data, 'server.location')) + ->addTag('healthy', $this->evalHealthyTag($result->healthy)) + ->addTag('status', $result->status->value) + ->addTag('scheduled', $result->scheduled ? 'true' : 'false'); + + // Quantitative fields + $point->addField('download', Number::castToType($result->download, 'int')) + ->addField('upload', Number::castToType($result->upload, 'int')) + ->addField('ping', Number::castToType($result->ping, 'float')) + ->addField('download_bits', ! blank($result->download) ? Number::castToType(Bitrate::bytesToBits($result->download), 'int') : null) + ->addField('upload_bits', ! blank($result->upload) ? Number::castToType(Bitrate::bytesToBits($result->upload), 'int') : null) + ->addField('download_elapsed', Number::castToType(Arr::get($result->data, 'download.elapsed'), 'float')) + ->addField('upload_elapsed', Number::castToType(Arr::get($result->data, 'upload.elapsed'), 'float')) + ->addField('download_jitter', Number::castToType(Arr::get($result->data, 'download.latency.jitter'), 'float')) + ->addField('upload_jitter', Number::castToType(Arr::get($result->data, 'upload.latency.jitter'), 'float')) + ->addField('ping_jitter', Number::castToType(Arr::get($result->data, 'ping.jitter'), 'float')) + ->addField('download_latency_avg', Number::castToType(Arr::get($result->data, 'download.latency.iqm'), 'float')) + ->addField('download_latency_high', Number::castToType(Arr::get($result->data, 'download.latency.high'), 'float')) + ->addField('download_latency_low', Number::castToType(Arr::get($result->data, 'download.latency.low'), 'float')) + ->addField('upload_latency_avg', Number::castToType(Arr::get($result->data, 'upload.latency.iqm'), 'float')) + ->addField('upload_latency_high', Number::castToType(Arr::get($result->data, 'upload.latency.high'), 'float')) + ->addField('upload_latency_low', Number::castToType(Arr::get($result->data, 'upload.latency.low'), 'float')) + ->addField('downloaded_bytes', Number::castToType($result->download_bytes, 'float')) + ->addField('uploaded_bytes', Number::castToType($result->upload_bytes, 'float')) + ->addField('packet_loss', Number::castToType(Arr::get($result->data, 'packetLoss'), 'float')) + ->addField('log_message', Arr::get($result->data, 'message')); + + return $point; + } + + private function evalHealthyTag(?bool $value): ?string + { + if (is_null($value)) { + return null; + } + + return $value + ? 'true' + : 'false'; + } +} diff --git a/app/Actions/Influxdb/v2/CreateClient.php b/app/Actions/Influxdb/v2/CreateClient.php new file mode 100644 index 000000000..e0ef2d93a --- /dev/null +++ b/app/Actions/Influxdb/v2/CreateClient.php @@ -0,0 +1,27 @@ + $settings->influxdb_v2_url, + 'token' => $settings->influxdb_v2_token, + 'bucket' => $settings->influxdb_v2_bucket, + 'org' => $settings->influxdb_v2_org, + 'verifySSL' => $settings->influxdb_v2_verify_ssl, + 'precision' => WritePrecision::S, + ]); + } +} diff --git a/app/Actions/Librespeed/RunSpeedtest.php b/app/Actions/Librespeed/RunSpeedtest.php new file mode 100644 index 000000000..4ce8cfb99 --- /dev/null +++ b/app/Actions/Librespeed/RunSpeedtest.php @@ -0,0 +1,46 @@ +server->url' => $server, + 'service' => ResultService::Librespeed, + 'status' => ResultStatus::Waiting, + 'scheduled' => $isScheduled, + 'dispatched_by' => $dispatchedBy, + ]); + + SpeedtestWaiting::dispatch($result); + + // TODO: Implement Librespeed speedtest job batching + + // Bus::batch([ + // [ + // new StartSpeedtestJob($result), + // new CheckForInternetConnectionJob($result), + // new SkipSpeedtestJob($result), + // new SelectSpeedtestServerJob($result), + // new RunSpeedtestJob($result), + // new BenchmarkSpeedtestJob($result), + // new CompleteSpeedtestJob($result), + // ], + // ])->catch(function (Batch $batch, ?Throwable $e) { + // Log::error(sprintf('Speedtest batch "%s" failed for an unknown reason.', $batch->id)); + // })->name('Ookla Speedtest')->dispatch(); + + return $result; + } +} diff --git a/app/Actions/MigrateBadJsonResults.php b/app/Actions/MigrateBadJsonResults.php deleted file mode 100644 index 6071180e9..000000000 --- a/app/Actions/MigrateBadJsonResults.php +++ /dev/null @@ -1,106 +0,0 @@ -bad_json_migrated) { - Notification::make() - ->title('❌ Hmmm it seems someone has already migrated the data!') - ->body('Check your results table and make sure you\'re not triggering a duplicate data migration.') - ->danger() - ->sendToDatabase($user); - - return; - } - - if (! Schema::hasTable('results')) { - Notification::make() - ->title('❌ Could not migrate bad json results!') - ->body('The "results" table is missing.') - ->danger() - ->sendToDatabase($user); - - return; - } - - if (! Schema::hasTable($tableName)) { - Notification::make() - ->title('❌ Could not migrate bad json results!') - ->body('The "results_bad_json" table is missing.') - ->danger() - ->sendToDatabase($user); - - return; - } - - /** - * Copy backup data to the new results table and reformat it. - */ - try { - DB::table($tableName)->chunkById(100, function ($results) { - foreach ($results as $result) { - $record = [ - 'service' => 'ookla', - 'ping' => $result->ping, - 'download' => $result->download, - 'upload' => $result->upload, - 'comments' => $result->comments, - 'data' => json_decode($result->data), - 'status' => match ($result->successful) { - 1 => ResultStatus::Completed, - true => ResultStatus::Completed, - default => ResultStatus::Failed, - }, - 'scheduled' => $result->scheduled, - 'created_at' => $result->created_at, - 'updated_at' => now(), - ]; - - DB::table('results')->insert($record); - } - }); - } catch (\Throwable $e) { - Log::error($e); - - Notification::make() - ->title('There was an issue migrating the data!') - ->body('Check the logs for an output of the issue.') - ->danger() - ->sendToDatabase($user); - - return; - } - - $dataSettings->bad_json_migrated = true; - - $dataSettings->save(); - - Notification::make() - ->title('Data migration completed!') - ->body('Your history has been successfully migrated.') - ->success() - ->sendToDatabase($user); - } -} diff --git a/app/Actions/Notifications/SendAppriseTestNotification.php b/app/Actions/Notifications/SendAppriseTestNotification.php new file mode 100644 index 000000000..64bba779b --- /dev/null +++ b/app/Actions/Notifications/SendAppriseTestNotification.php @@ -0,0 +1,100 @@ +title('You need to add Apprise channel URLs!') + ->warning() + ->send(); + + return; + } + + $settings = app(NotificationSettings::class); + $appriseUrl = rtrim($settings->apprise_server_url ?? '', '/'); + + if (empty($appriseUrl)) { + Notification::make() + ->title('Apprise Server URL is not configured') + ->body('Please configure the Apprise Server URL in the settings above.') + ->danger() + ->send(); + + return; + } + + try { + foreach ($channel_urls as $row) { + $channelUrl = $row['channel_url'] ?? null; + if (! $channelUrl) { + continue; + } + + // Use notifyNow() to send synchronously even though notification implements ShouldQueue + // This allows us to catch exceptions and show them in the UI immediately + FacadesNotification::route('apprise_urls', $channelUrl) + ->notifyNow(new TestNotification); + } + } catch (Throwable $e) { + $errorMessage = $this->cleanErrorMessage($e); + + Notification::make() + ->title('Failed to send Apprise test notification') + ->body($errorMessage) + ->danger() + ->send(); + + return; + } + + Notification::make() + ->title('Test Apprise notification sent.') + ->success() + ->send(); + } + + /** + * Clean up error message for display in UI. + */ + protected function cleanErrorMessage(Throwable $e): string + { + $message = $e->getMessage(); + + // Get the full Apprise server URL for error messages + $settings = app(NotificationSettings::class); + $appriseUrl = rtrim($settings->apprise_server_url ?? '', '/'); + + // Handle connection errors - extract just the important part + if (str_contains($message, 'cURL error')) { + if (str_contains($message, 'Could not resolve host')) { + return "Could not connect to Apprise server at {$appriseUrl}"; + } + + if (str_contains($message, 'Connection refused')) { + return "Connection refused by Apprise server at {$appriseUrl}"; + } + + if (str_contains($message, 'Operation timed out')) { + return "Connection to Apprise server at {$appriseUrl} timed out"; + } + + return "Failed to connect to Apprise server at {$appriseUrl}"; + } + + return $message; + } +} diff --git a/app/Actions/Notifications/SendDatabaseTestNotification.php b/app/Actions/Notifications/SendDatabaseTestNotification.php index 6611ad491..86e8e7374 100644 --- a/app/Actions/Notifications/SendDatabaseTestNotification.php +++ b/app/Actions/Notifications/SendDatabaseTestNotification.php @@ -12,17 +12,15 @@ class SendDatabaseTestNotification public function handle(User $user) { - $user->notify( - Notification::make() - ->title('Test database notification received!') - ->body('You say pong') - ->success() - ->toDatabase(), - ); + Notification::make() + ->title(__('settings/notifications.test_notifications.database.received')) + ->body(__('settings/notifications.test_notifications.database.pong')) + ->success() + ->sendToDatabase($user); Notification::make() - ->title('Test database notification sent.') - ->body('I say ping') + ->title(__('settings/notifications.test_notifications.database.sent')) + ->body(__('settings/notifications.test_notifications.database.ping')) ->success() ->send(); } diff --git a/app/Actions/Notifications/SendGotifyTestNotification.php b/app/Actions/Notifications/SendGotifyTestNotification.php new file mode 100644 index 000000000..fdd6405de --- /dev/null +++ b/app/Actions/Notifications/SendGotifyTestNotification.php @@ -0,0 +1,37 @@ +title('You need to add Gotify urls!') + ->warning() + ->send(); + + return; + } + + foreach ($webhooks as $webhook) { + WebhookCall::create() + ->url($webhook['url']) + ->payload(['message' => '👋 Testing the Gotify notification channel.']) + ->doNotSign() + ->dispatch(); + } + + Notification::make() + ->title('Test Gotify notification sent.') + ->success() + ->send(); + } +} diff --git a/app/Actions/Notifications/SendHealthCheckTestNotification.php b/app/Actions/Notifications/SendHealthCheckTestNotification.php new file mode 100644 index 000000000..f37e20fad --- /dev/null +++ b/app/Actions/Notifications/SendHealthCheckTestNotification.php @@ -0,0 +1,37 @@ +title('You need to add HealthCheck.io urls!') + ->warning() + ->send(); + + return; + } + + foreach ($webhooks as $webhook) { + WebhookCall::create() + ->url($webhook['url']) + ->payload(['message' => '👋 Testing the HealthCheck.io notification channel.']) + ->doNotSign() + ->dispatch(); + } + + Notification::make() + ->title('Test HealthCheck.io notification sent.') + ->success() + ->send(); + } +} diff --git a/app/Actions/Notifications/SendMailTestNotification.php b/app/Actions/Notifications/SendMailTestNotification.php index 735a114c7..f8220e20f 100644 --- a/app/Actions/Notifications/SendMailTestNotification.php +++ b/app/Actions/Notifications/SendMailTestNotification.php @@ -2,7 +2,7 @@ namespace App\Actions\Notifications; -use App\Mail\Test as TestMail; +use App\Mail\TestMail; use Filament\Notifications\Notification; use Illuminate\Support\Facades\Mail; use Lorisleiva\Actions\Concerns\AsAction; @@ -15,7 +15,7 @@ public function handle(array $recipients) { if (! count($recipients)) { Notification::make() - ->title('You need to add mail recipients!') + ->title(__('settings/notifications.test_notifications.mail.add')) ->warning() ->send(); @@ -24,11 +24,11 @@ public function handle(array $recipients) foreach ($recipients as $recipient) { Mail::to($recipient) - ->send(new TestMail()); + ->send(new TestMail); } Notification::make() - ->title('Test mail notification sent.') + ->title(__('settings/notifications.test_notifications.mail.sent')) ->success() ->send(); } diff --git a/app/Actions/Notifications/SendNtfyTestNotification.php b/app/Actions/Notifications/SendNtfyTestNotification.php new file mode 100644 index 000000000..8975febaa --- /dev/null +++ b/app/Actions/Notifications/SendNtfyTestNotification.php @@ -0,0 +1,49 @@ +title('You need to add ntfy urls!') + ->warning() + ->send(); + + return; + } + + foreach ($webhooks as $webhook) { + $webhookCall = WebhookCall::create() + ->url($webhook['url']) + ->payload([ + 'topic' => $webhook['topic'], + 'message' => '👋 Testing the ntfy notification channel.', + ]) + ->doNotSign(); + + // Only add authentication if username and password are provided + if (! empty($webhook['username']) && ! empty($webhook['password'])) { + $authHeader = 'Basic '.base64_encode($webhook['username'].':'.$webhook['password']); + $webhookCall->withHeaders([ + 'Authorization' => $authHeader, + ]); + } + + $webhookCall->dispatch(); + } + + Notification::make() + ->title('Test ntfy notification sent.') + ->success() + ->send(); + } +} diff --git a/app/Actions/Notifications/SendPushoverTestNotification.php b/app/Actions/Notifications/SendPushoverTestNotification.php new file mode 100644 index 000000000..d37b0594d --- /dev/null +++ b/app/Actions/Notifications/SendPushoverTestNotification.php @@ -0,0 +1,41 @@ +title('You need to add Pushover URLs!') + ->warning() + ->send(); + + return; + } + + foreach ($webhooks as $webhook) { + WebhookCall::create() + ->url($webhook['url']) + ->payload([ + 'token' => $webhook['api_token'], + 'user' => $webhook['user_key'], + 'message' => '👋 Testing the Pushover notification channel.', + ]) + ->doNotSign() + ->dispatch(); + } + + Notification::make() + ->title('Test Pushover notification sent.') + ->success() + ->send(); + } +} diff --git a/app/Actions/Notifications/SendSlackTestNotification.php b/app/Actions/Notifications/SendSlackTestNotification.php new file mode 100644 index 000000000..95db18439 --- /dev/null +++ b/app/Actions/Notifications/SendSlackTestNotification.php @@ -0,0 +1,37 @@ +title('You need to add Slack URLs!') + ->warning() + ->send(); + + return; + } + + foreach ($webhooks as $webhook) { + WebhookCall::create() + ->url($webhook['url']) + ->payload(['text' => '👋 Testing the Slack notification channel.']) + ->doNotSign() + ->dispatch(); + } + + Notification::make() + ->title('Test Slack notification sent.') + ->success() + ->send(); + } +} diff --git a/app/Actions/Notifications/SendWebhookTestNotification.php b/app/Actions/Notifications/SendWebhookTestNotification.php index f5ada9a09..7842c6ba7 100644 --- a/app/Actions/Notifications/SendWebhookTestNotification.php +++ b/app/Actions/Notifications/SendWebhookTestNotification.php @@ -2,7 +2,11 @@ namespace App\Actions\Notifications; +use App\Helpers\Number; +use App\Models\Result; +use App\Services\SpeedtestFakeResultGenerator; use Filament\Notifications\Notification; +use Illuminate\Support\Str; use Lorisleiva\Actions\Concerns\AsAction; use Spatie\WebhookServer\WebhookCall; @@ -14,23 +18,38 @@ public function handle(array $webhooks) { if (! count($webhooks)) { Notification::make() - ->title('You need to add webhook urls!') + ->title(__('settings/notifications.test_notifications.webhook.add')) ->warning() ->send(); return; } + // Generate a fake Result (NOT saved to database) + $fakeResult = SpeedtestFakeResultGenerator::completed(); + foreach ($webhooks as $webhook) { WebhookCall::create() ->url($webhook['url']) - ->payload(['message' => '👋 Testing the Webhook notification channel.']) + ->payload([ + 'result_id' => Str::uuid(), + 'site_name' => __('settings/notifications.test_notifications.webhook.payload'), + 'server_name' => $fakeResult->data['server']['name'], + 'server_id' => $fakeResult->data['server']['id'], + 'isp' => $fakeResult->data['isp'], + 'ping' => round($fakeResult->ping), + 'download' => Number::bitsToMagnitude(bits: $fakeResult->upload, precision: 0, magnitude: 'mbit'), + 'upload' => Number::bitsToMagnitude(bits: $fakeResult->download, precision: 0, magnitude: 'mbit'), + 'packet_loss' => $fakeResult->data['packetLoss'], + 'speedtest_url' => $fakeResult->data['result']['url'], + 'url' => url('/admin/results'), + ]) ->doNotSign() - ->dispatch(); + ->dispatchSync(); } Notification::make() - ->title('Test webhook notification sent.') + ->title(__('settings/notifications.test_notifications.webhook.sent')) ->success() ->send(); } diff --git a/app/Actions/Ookla/RunSpeedtest.php b/app/Actions/Ookla/RunSpeedtest.php new file mode 100644 index 000000000..c3814310e --- /dev/null +++ b/app/Actions/Ookla/RunSpeedtest.php @@ -0,0 +1,54 @@ +server->id' => $serverId, + 'service' => ResultService::Ookla, + 'status' => ResultStatus::Waiting, + 'scheduled' => $scheduled, + 'dispatched_by' => $dispatchedBy, + ]); + + SpeedtestWaiting::dispatch($result); + + Bus::batch([ + [ + new StartSpeedtestJob($result), + new CheckForInternetConnectionJob($result), + new SkipSpeedtestJob($result), + new SelectSpeedtestServerJob($result), + new RunSpeedtestJob($result), + new BenchmarkSpeedtestJob($result), + new CompleteSpeedtestJob($result), + ], + ])->catch(function (Batch $batch, ?Throwable $e) { + Log::error(sprintf('Speedtest batch "%s" failed for an unknown reason.', $batch->id)); + })->name('Ookla Speedtest')->dispatch(); + + return $result; + } +} diff --git a/app/Actions/PingHostname.php b/app/Actions/PingHostname.php new file mode 100644 index 000000000..04884fe31 --- /dev/null +++ b/app/Actions/PingHostname.php @@ -0,0 +1,36 @@ +run(); + + $data = $ping->toArray(); + unset($data['raw_output'], $data['lines']); + + Log::debug('Pinged hostname', [ + 'host' => $hostname, + 'data' => $data, + ]); + + return $ping; + } +} diff --git a/app/Actions/Speedtests/RunOoklaSpeedtest.php b/app/Actions/Speedtests/RunOoklaSpeedtest.php deleted file mode 100644 index fefb3ae44..000000000 --- a/app/Actions/Speedtests/RunOoklaSpeedtest.php +++ /dev/null @@ -1,27 +0,0 @@ - 'ookla', - 'status' => ResultStatus::Started, - 'scheduled' => $scheduled, - ]); - - SpeedtestStarted::dispatch($result); - - ExecuteOoklaSpeedtest::dispatch(result: $result, serverId: $serverId); - } -} diff --git a/app/Actions/Speedtests/RunScheduledSpeedtests.php b/app/Actions/Speedtests/RunScheduledSpeedtests.php deleted file mode 100644 index 9102745fa..000000000 --- a/app/Actions/Speedtests/RunScheduledSpeedtests.php +++ /dev/null @@ -1,33 +0,0 @@ -speedtest_schedule); - - if ($cronExpression->isDue(now()->timezone($settings->timezone ?? 'UTC'))) { - $serverId = null; - - if (is_array($settings->speedtest_server) && count($settings->speedtest_server)) { - $serverId = Arr::random($settings->speedtest_server); - } - - RunOoklaSpeedtest::run(serverId: $serverId, scheduled: true); - } - } -} diff --git a/app/Console/Commands/InstallCommand.php b/app/Console/Commands/InstallCommand.php deleted file mode 100644 index 348866176..000000000 --- a/app/Console/Commands/InstallCommand.php +++ /dev/null @@ -1,87 +0,0 @@ -option('force')) { - $this->newLine(2); - - $this->info("Running the install will reset all of the application's data."); - $this->warn('!!! ALL OF THE DATA WILL BE DELETED !!!'); - - if (! $this->confirm('Do you wish to continue?')) { - $this->info('Install cancelled.'); - - return 0; - } - } - - $this->info('Starting to install the application...'); - - $this->newLine(); - - $this->checkAppKey(); - - $this->line('⏳ Optimizing the cache...'); - - Artisan::call('optimize'); - - $this->line('✅ Optimized cache'); - - $this->newLine(); - - $this->line('⏳ Migrating the database...'); - - try { - Artisan::call('migrate:fresh', [ - '--force' => true, - ]); - } catch (\Throwable $th) { - $this->error('❌ There was an issue migrating the database, check the logs.'); - - return 0; - } - - $this->line('✅ Database migrated'); - - $this->newLine(); - - $this->line('🚀 Finished installing the application!'); - - return 0; - } - - public function checkAppKey() - { - if (empty(config('app.key'))) { - $this->line('🔑 Creating an application key'); - - Artisan::call('key:generate'); - - $this->line('✅ Application key created'); - } - } -} diff --git a/app/Console/Commands/OoklaListServers.php b/app/Console/Commands/OoklaListServers.php new file mode 100644 index 000000000..5710a1bee --- /dev/null +++ b/app/Console/Commands/OoklaListServers.php @@ -0,0 +1,53 @@ +get( + url: 'https://www.speedtest.net/api/js/servers', + query: [ + 'engine' => 'js', + 'https_functional' => true, + 'search' => $this->argument('search'), + 'limit' => 20, // 20 is the max returned by the api + ], + ); + + if ($response->failed()) { + $this->fail('There was an issue retrieving a list of speedtest servers, check the logs.'); + } + + $fields = ['id', 'sponsor', 'name', 'country', 'distance']; + + table( + headers: $fields, + rows: $response->collect()->select($fields), + ); + } +} diff --git a/app/Console/Commands/ResetUserPassword.php b/app/Console/Commands/ResetUserPassword.php deleted file mode 100644 index 6c27e9e98..000000000 --- a/app/Console/Commands/ResetUserPassword.php +++ /dev/null @@ -1,48 +0,0 @@ -argument('email')); - - if (! $user) { - // couldn't find the user so should fail. - $this->error('Could not find a user with the email address of '.$$this->argument('email')); - - Command::FAILURE; - } - - $password = $this->secret('What is the password?'); - - $user->update([ - 'password' => Hash::make($password), - ]); - - Command::SUCCESS; - } -} diff --git a/app/Console/Commands/Maintenance/FixResultStatuses.php b/app/Console/Commands/ResultFixStatuses.php similarity index 87% rename from app/Console/Commands/Maintenance/FixResultStatuses.php rename to app/Console/Commands/ResultFixStatuses.php index 6089bef3f..16aa20f64 100644 --- a/app/Console/Commands/Maintenance/FixResultStatuses.php +++ b/app/Console/Commands/ResultFixStatuses.php @@ -1,20 +1,20 @@ newLine(); @@ -34,7 +34,7 @@ public function handle() $this->info('📖 Read the docs: https://docs.speedtest-tracker.dev/other/commands'); if (! $this->confirm('Do you want to continue?')) { - return Command::FAILURE; + $this->fail('Command cancelled.'); } /** @@ -64,7 +64,5 @@ public function handle() ]); $this->line('✅ finished!'); - - return Command::SUCCESS; } } diff --git a/app/Console/Commands/SystemMaintenance.php b/app/Console/Commands/SystemMaintenance.php deleted file mode 100644 index 06ce65a10..000000000 --- a/app/Console/Commands/SystemMaintenance.php +++ /dev/null @@ -1,48 +0,0 @@ - $settings->v2_enabled, - 'url' => $settings?->v2_url, - 'org' => $settings?->v2_org, - 'bucket' => $settings?->v2_bucket, - 'token' => $settings?->v2_token, - ]; - - if ($influxdb['enabled'] == true) { - $result = Result::factory()->create(); - } - - return 0; - } -} diff --git a/app/Console/Commands/UpdateGeneralSettings.php b/app/Console/Commands/UpdateGeneralSettings.php deleted file mode 100644 index efd4ee0ac..000000000 --- a/app/Console/Commands/UpdateGeneralSettings.php +++ /dev/null @@ -1,142 +0,0 @@ -updateSiteName($settings); - $this->updatePublicDashboard($settings); - $this->updateTimeZone($settings); - $this->updateSchedule($settings); - $this->resetSevers($settings); - - $this->line('✅ Settings updated!'); - } - - protected function resetSevers($settings): void - { - $confirmed = confirm( - label: 'Do you want to reset the server list?', - default: false, - yes: 'Yes, reset it', - no: 'No, keep it' - ); - - if ($confirmed) { - $settings->speedtest_server = []; - - $settings->save(); - } - } - - protected function updatePublicDashboard($settings): void - { - $publicDashboard = select( - label: 'Make the dashboard public?', - options: ['Yes', 'No'], - default: 'Yes', - required: true, - ); - - if ($publicDashboard == 'Yes') { - $settings->public_dashboard_enabled = true; - - $settings->save(); - } else { - $settings->public_dashboard_enabled = false; - } - - $settings->save(); - } - - protected function updateSchedule($settings): void - { - $cron = text( - label: 'What is the schedule?', - placeholder: '0 * * * *', - default: $settings->speedtest_schedule ?? '0 * * * *', - required: true, - validate: fn (string $value) => match (true) { - ! CronExpression::isValidExpression($value) => 'The schedule expression is invalid.', - default => null - } - ); - - if ($cron) { - $settings->speedtest_schedule = $cron; - - $settings->save(); - } - } - - protected function updateSiteName($settings): void - { - $name = text( - label: 'What is the site name?', - placeholder: 'Speedtest Tracker', - default: $settings->site_name, - required: true, - validate: fn (string $value) => match (true) { - strlen($value) < 2 => 'The site name must be at least 2 characters.', - strlen($value) > 50 => 'The site name must not exceed 50 characters.', - default => null - } - ); - - if ($name) { - $settings->site_name = $name; - - $settings->save(); - } - } - - protected function updateTimeZone($settings): void - { - $timezone = text( - label: 'What is the time zone?', - placeholder: 'UTC', - default: $settings->timezone, - required: true, - validate: fn (string $value) => match (true) { - ! TimeZoneHelper::validate($value) => 'The time zone must be a valid time zone.', - default => null - } - ); - - if ($timezone) { - $settings->timezone = $timezone; - - $settings->save(); - } - } -} diff --git a/app/Console/Commands/UpdateUserRole.php b/app/Console/Commands/UserChangeRole.php similarity index 64% rename from app/Console/Commands/UpdateUserRole.php rename to app/Console/Commands/UserChangeRole.php index 9f44782c0..e21db8f96 100644 --- a/app/Console/Commands/UpdateUserRole.php +++ b/app/Console/Commands/UserChangeRole.php @@ -5,31 +5,30 @@ use App\Models\User; use Illuminate\Console\Command; -use function Laravel\Prompts\confirm; use function Laravel\Prompts\info; use function Laravel\Prompts\select; use function Laravel\Prompts\text; -class UpdateUserRole extends Command +class UserChangeRole extends Command { /** * The name and signature of the console command. * * @var string */ - protected $signature = 'app:update-user-role'; + protected $signature = 'app:user-change-role'; /** * The console command description. * * @var string */ - protected $description = 'Change the role for a given user.'; + protected $description = 'Change the role for a user.'; /** * Execute the console command. */ - public function handle() + public function handle(): void { $email = text( label: 'What is the email address?', @@ -49,18 +48,11 @@ public function handle() default: 'user' ); - $confirmed = confirm( - label: 'Are you sure?', - required: true - ); - - if ($confirmed) { - User::firstWhere('email', $email) - ->update([ - 'role' => $role, - ]); + User::where('email', '=', $email) + ->update([ + 'role' => $role, + ]); - info('User role updated.'); - } + info('User role updated.'); } } diff --git a/app/Console/Commands/UserResetPassword.php b/app/Console/Commands/UserResetPassword.php new file mode 100644 index 000000000..b6fb784e1 --- /dev/null +++ b/app/Console/Commands/UserResetPassword.php @@ -0,0 +1,55 @@ + match (true) { + ! User::firstWhere('email', $value) => 'User not found.', + default => null + } + ); + + $password = password( + label: 'What is the new password?', + required: true, + ); + + User::where('email', '=', $email) + ->update([ + 'password' => Hash::make($password), + ]); + + info('The password for "'.$email.'" has been updated.'); + } +} diff --git a/app/Console/Commands/VersionChecker.php b/app/Console/Commands/VersionChecker.php deleted file mode 100644 index 7b2acc9bb..000000000 --- a/app/Console/Commands/VersionChecker.php +++ /dev/null @@ -1,59 +0,0 @@ -isOutOfDate()) { - return Command::SUCCESS; - } - - $admins = User::select(['id', 'name', 'email', 'role']) - ->where('role', 'admin') - ->get(); - - foreach ($admins as $user) { - Notification::make() - ->title('Update Available') - ->body("There's a new version of Speedtest Tracker available: {$system->getRemoteVersion()}") - ->info() - ->actions([ - Action::make('view releases') - ->button() - ->color('gray') - ->url('https://github.com/alexjustesen/speedtest-tracker/releases') - ->openUrlInNewTab(), - ]) - ->sendToDatabase($user); - } - - return Command::SUCCESS; - } -} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php deleted file mode 100644 index 8c555aab1..000000000 --- a/app/Console/Kernel.php +++ /dev/null @@ -1,66 +0,0 @@ -prune_results_older_than > 0) { - $schedule->command('model:prune', [ - '--model' => [Result::class], - ])->daily(); - } - - /** - * Perform system maintenance weekly on Sunday morning, - * start off the week nice and fresh. - */ - $schedule->command(SystemMaintenance::class)->weeklyOn(0) - ->timezone($settings->timezone ?? 'UTC'); - - /** - * Checked for new versions weekly on Thursday because - * I usually do releases on Thursday or Friday. - */ - $schedule->command(VersionChecker::class)->weeklyOn(5) - ->timezone($settings->timezone ?? 'UTC'); - - /** - * Action to run scheduled speedtests. - */ - $schedule->call(function () { - RunScheduledSpeedtests::run(); - }) - ->everyMinute() - ->when(function () use ($settings) { - return ! blank($settings->speedtest_schedule); - }); - } - - /** - * Register the commands for the application. - */ - protected function commands(): void - { - $this->load(__DIR__.'/Commands'); - - require base_path('routes/console.php'); - } -} diff --git a/app/Enums/ResultService.php b/app/Enums/ResultService.php new file mode 100644 index 000000000..39a441d39 --- /dev/null +++ b/app/Enums/ResultService.php @@ -0,0 +1,21 @@ + __('enums.service.faker'), + self::Librespeed => __('enums.service.librespeed'), + self::Ookla => __('enums.service.ookla'), + }; + } +} diff --git a/app/Enums/ResultStatus.php b/app/Enums/ResultStatus.php index 9445e03b8..9ac28e370 100644 --- a/app/Enums/ResultStatus.php +++ b/app/Enums/ResultStatus.php @@ -7,25 +7,40 @@ enum ResultStatus: string implements HasColor, HasLabel { - case Completed = 'completed'; // a speedtest that ran successfully. - case Failed = 'failed'; // a speedtest that failed to run successfully. - case Started = 'started'; // a speedtest that has been started by a worker but has not finish running. + case Benchmarking = 'benchmarking'; + case Checking = 'checking'; + case Completed = 'completed'; + case Failed = 'failed'; + case Running = 'running'; + case Started = 'started'; + case Skipped = 'skipped'; + case Waiting = 'waiting'; public function getColor(): ?string { return match ($this) { + self::Benchmarking => 'info', + self::Checking => 'info', self::Completed => 'success', self::Failed => 'danger', - self::Started => 'warning', + self::Running => 'info', + self::Started => 'info', + self::Skipped => 'gray', + self::Waiting => 'info', }; } public function getLabel(): ?string { return match ($this) { - self::Completed => 'Completed', - self::Failed => 'Failed', - self::Started => 'Started', + self::Benchmarking => __('enums.status.benchmarking'), + self::Checking => __('enums.status.checking'), + self::Completed => __('enums.status.completed'), + self::Failed => __('enums.status.failed'), + self::Running => __('enums.status.running'), + self::Started => __('enums.status.started'), + self::Skipped => __('enums.status.skipped'), + self::Waiting => __('enums.status.waiting'), }; } } diff --git a/app/Enums/UserRole.php b/app/Enums/UserRole.php index 7154ae8c8..62e7d57e1 100644 --- a/app/Enums/UserRole.php +++ b/app/Enums/UserRole.php @@ -21,8 +21,8 @@ public function getColor(): ?string public function getLabel(): ?string { return match ($this) { - self::Admin => 'Admin', - self::User => 'User', + self::Admin => __('general.admin'), + self::User => __('general.user'), }; } } diff --git a/app/Events/SpeedtestBenchmarkHealthy.php b/app/Events/SpeedtestBenchmarkHealthy.php new file mode 100644 index 000000000..2838d442b --- /dev/null +++ b/app/Events/SpeedtestBenchmarkHealthy.php @@ -0,0 +1,19 @@ + - */ - protected $dontFlash = [ - 'current_password', - 'password', - 'password_confirmation', - ]; - - /** - * Register the exception handling callbacks for the application. - */ - public function register(): void - { - $this->reportable(function (Throwable $e) { - // - }); - } -} diff --git a/app/Filament/Exports/ResultExporter.php b/app/Filament/Exports/ResultExporter.php index 0fa701256..15ff08118 100644 --- a/app/Filament/Exports/ResultExporter.php +++ b/app/Filament/Exports/ResultExporter.php @@ -21,85 +21,59 @@ public function getFormats(): array public static function getColumns(): array { - return [ - ExportColumn::make('id') - ->label('ID'), - ExportColumn::make('ip_address') - ->label('IP address') - ->state(function (Result $record): ?string { - return $record->ip_address; - }) - ->enabledByDefault(false), - ExportColumn::make('service'), - ExportColumn::make('server_id') - ->label('Server ID') - ->state(function (Result $record): ?string { - return $record->server_id; - }) - ->enabledByDefault(false), - ExportColumn::make('server_name') - ->state(function (Result $record): ?string { - return $record->server_name; - }) - ->enabledByDefault(false), - - ExportColumn::make('download') - ->state(function (Result $record): ?string { - return $record->download_bits; - }), - ExportColumn::make('upload') - ->state(function (Result $record): ?string { - return $record->upload_bits; - }), - ExportColumn::make('ping'), - ExportColumn::make('packet_loss'), - ExportColumn::make('download_jitter') - ->state(function (Result $record): ?string { - return $record->download_jitter; - }), - ExportColumn::make('upload_jitter') - ->state(function (Result $record): ?string { - return $record->upload_jitter; - }), - ExportColumn::make('ping_jitter') - ->state(function (Result $record): ?string { - return $record->ping_jitter; - }), - ExportColumn::make('upload_latency_high') - ->state(function (Result $record): ?string { - return $record->upload_latency_high; - }), - ExportColumn::make('upload_latency_low') - ->state(function (Result $record): ?string { - return $record->upload_latency_low; - }), - ExportColumn::make('upload_latency_avg') - ->state(function (Result $record): ?string { - return $record->upload_latency_iqm; - }), - ExportColumn::make('download_latency_high') - ->state(function (Result $record): ?string { - return $record->download_latency_high; - }), - ExportColumn::make('download_latency_low') - ->state(function (Result $record): ?string { - return $record->download_latency_low; - }), - ExportColumn::make('download_latency_avg') - ->state(function (Result $record): ?string { - return $record->download_latency_iqm; - }), - ExportColumn::make('comments') - ->enabledByDefault(false), - // ExportColumn::make('status'), // TODO: enable status when upgrading to PHP v8.3: https://php.watch/versions/8.3/dynamic-class-const-enum-member-syntax-support - ExportColumn::make('scheduled') - ->state(function (Result $record): string { - return $record->scheduled ? 'Yes' : 'No'; - }), + $columns = [ + ExportColumn::make('id')->label('ID'), + ExportColumn::make('service')->state(fn (Result $r) => $r->service->getLabel()), + ExportColumn::make('status')->state(fn (Result $r) => $r->status->getLabel()), + ExportColumn::make('scheduled')->state(fn (Result $r) => $r->scheduled ? 'Yes' : 'No'), + ExportColumn::make('healthy')->state(fn (Result $r) => $r->healthy ? 'Yes' : 'No'), ExportColumn::make('created_at'), - ExportColumn::make('updated_at') - ->enabledByDefault(false), + ExportColumn::make('updated_at'), + ExportColumn::make('comments'), ]; + + $columns = array_merge($columns, self::generateDataColumns()); + + return $columns; + } + + protected static function generateDataColumns(): array + { + + $sample = Result::query()->whereNotNull('data')->first()?->data ?? []; + + $flattened = self::flatten($sample); + + $columns = []; + + foreach ($flattened as $key => $default) { + $columns[] = ExportColumn::make($key) + ->label(str_replace('_', ' ', ucfirst($key))) + ->state(function (Result $r) use ($key) { + $flattened = self::flatten($r->data ?? []); + + return $flattened[$key] ?? null; + }); + } + + return $columns; + } + + protected static function flatten(array $array, string $prefix = ''): array + { + $result = []; + + foreach ($array as $key => $value) { + $newKey = $prefix ? "{$prefix}_{$key}" : $key; + + if (is_array($value)) { + $result += self::flatten($value, $newKey); + } else { + $result[$newKey] = $value; + } + } + + return $result; } public static function getCompletedNotificationBody(Export $export): string diff --git a/app/Filament/Pages/Dashboard.php b/app/Filament/Pages/Dashboard.php index b45aee80d..bc6d7591d 100644 --- a/app/Filament/Pages/Dashboard.php +++ b/app/Filament/Pages/Dashboard.php @@ -2,77 +2,21 @@ namespace App\Filament\Pages; -use App\Actions\Speedtests\RunOoklaSpeedtest; -use App\Filament\Widgets\DeprecatedImage; -use App\Filament\Widgets\RecentDownloadChartWidget; -use App\Filament\Widgets\RecentDownloadLatencyChartWidget; -use App\Filament\Widgets\RecentJitterChartWidget; -use App\Filament\Widgets\RecentPingChartWidget; -use App\Filament\Widgets\RecentUploadChartWidget; -use App\Filament\Widgets\RecentUploadLatencyChartWidget; -use App\Filament\Widgets\StatsOverviewWidget; -use App\Settings\GeneralSettings; -use Filament\Actions\Action; -use Filament\Actions\ActionGroup; -use Filament\Notifications\Notification; use Filament\Pages\Dashboard as BasePage; -use Filament\Support\Enums\IconPosition; -use Illuminate\Support\Arr; class Dashboard extends BasePage { - protected static ?string $navigationIcon = 'heroicon-o-chart-bar'; + protected static string|\BackedEnum|null $navigationIcon = 'tabler-layout-dashboard'; - protected static string $view = 'filament.pages.dashboard'; + protected string $view = 'filament.pages.dashboard'; - protected function getHeaderActions(): array + public function getTitle(): string { - return [ - Action::make('home') - ->label('Public Dashboard') - ->icon('heroicon-o-chart-bar') - ->iconPosition(IconPosition::Before) - ->color('gray') - ->hidden(fn (): bool => ! config('speedtest.public_dashboard')) - ->url(shouldOpenInNewTab: true, url: '/'), - ActionGroup::make([ - Action::make('ookla speedtest') - ->action(function (GeneralSettings $settings) { - $serverId = null; - - if (is_array($settings->speedtest_server) && count($settings->speedtest_server)) { - $serverId = Arr::random($settings->speedtest_server); - } - - RunOoklaSpeedtest::run(serverId: $serverId); - - Notification::make() - ->title('Ookla speedtest started') - ->success() - ->send(); - }), - ]) - ->button() - ->color('primary') - ->dropdownPlacement('bottom-end') - ->label('Run Speedtest') - ->icon('heroicon-o-rocket-launch') - ->iconPosition(IconPosition::Before) - ->hidden(! auth()->user()->is_admin), - ]; + return __('dashboard.title'); } - protected function getHeaderWidgets(): array + public static function getNavigationLabel(): string { - return [ - DeprecatedImage::make(), - StatsOverviewWidget::make(), - RecentDownloadChartWidget::make(), - RecentUploadChartWidget::make(), - RecentPingChartWidget::make(), - RecentJitterChartWidget::make(), - RecentUploadLatencyChartWidget::make(), - RecentDownloadLatencyChartWidget::make(), - ]; + return __('dashboard.title'); } } diff --git a/app/Filament/Pages/Settings/DataIntegration.php b/app/Filament/Pages/Settings/DataIntegration.php new file mode 100644 index 000000000..67a66bf52 --- /dev/null +++ b/app/Filament/Pages/Settings/DataIntegration.php @@ -0,0 +1,156 @@ +is_admin; + } + + public static function shouldRegisterNavigation(): bool + { + return Auth::check() && Auth::user()->is_admin; + } + + public function form(Schema $schema): Schema + { + return $schema + ->components([ + Tabs::make() + ->schema([ + Tab::make(__('settings/data_integration.influxdb_v2')) + ->icon(Heroicon::OutlinedCircleStack) + ->schema([ + Toggle::make('influxdb_v2_enabled') + ->label(__('settings/data_integration.influxdb_v2_enabled')) + ->helperText(__('settings/data_integration.influxdb_v2_description')) + ->reactive() + ->columnSpanFull(), + Grid::make(['default' => 1, 'md' => 3]) + ->hidden(fn (Get $get) => $get('influxdb_v2_enabled') !== true) + ->schema([ + TextInput::make('influxdb_v2_url') + ->label(__('settings/data_integration.influxdb_v2_url')) + ->placeholder(__('settings/data_integration.influxdb_v2_url_placeholder')) + ->maxLength(255) + ->required(fn (Get $get) => $get('influxdb_v2_enabled') === true) + ->columnSpan(['md' => 1]), + TextInput::make('influxdb_v2_org') + ->label(__('settings/data_integration.influxdb_v2_org')) + ->maxLength(255) + ->required(fn (Get $get) => $get('influxdb_v2_enabled') === true) + ->columnSpan(['md' => 1]), + TextInput::make('influxdb_v2_bucket') + ->placeholder(__('settings/data_integration.influxdb_v2_bucket_placeholder')) + ->label(__('settings/data_integration.influxdb_v2_bucket')) + ->maxLength(255) + ->required(fn (Get $get) => $get('influxdb_v2_enabled') === true) + ->columnSpan(['md' => 2]), + TextInput::make('influxdb_v2_token') + ->label(__('settings/data_integration.influxdb_v2_token')) + ->maxLength(255) + ->password() + ->required(fn (Get $get) => $get('influxdb_v2_enabled') === true) + ->columnSpan(['md' => 2]), + Checkbox::make('influxdb_v2_verify_ssl') + ->label(__('settings/data_integration.influxdb_v2_verify_ssl')) + ->columnSpanFull(), + // Button to send old data to InfluxDB + Actions::make([ + Action::make('Export current results') + ->label(__('general.export_current_results')) + ->action(function () { + Notification::make() + ->title(__('settings/data_integration.starting_bulk_data_write_to_influxdb')) + ->info() + ->send(); + + BulkWriteResults::dispatch(Auth::user()); + }) + ->color('primary') + ->icon('heroicon-o-cloud-arrow-up') + ->visible(fn (): bool => app(DataIntegrationSettings::class)->influxdb_v2_enabled), + ]), + // Button to test InfluxDB connection + Actions::make([ + Action::make('Test connection') + ->label(__('settings/data_integration.test_connection')) + ->action(function () { + Notification::make() + ->title(__('settings/data_integration.sending_test_data_to_influxdb')) + ->info() + ->send(); + + TestConnectionJob::dispatch(Auth::user()); + }) + ->color('primary') + ->icon('heroicon-o-check-circle') + ->visible(fn (): bool => app(DataIntegrationSettings::class)->influxdb_v2_enabled), + ]), + ]), + ]) + ->columnSpanFull(), + Tab::make(__('settings/data_integration.prometheus')) + ->icon(Heroicon::OutlinedChartBar) + ->schema([ + Toggle::make('prometheus_enabled') + ->label(__('settings/data_integration.prometheus_enabled')) + ->helperText(__('settings/data_integration.prometheus_enabled_helper_text')) + ->reactive() + ->columnSpanFull(), + Grid::make(['default' => 1, 'md' => 3]) + ->hidden(fn (Get $get) => $get('prometheus_enabled') !== true) + ->schema([ + TagsInput::make('prometheus_allowed_ips') + ->label(__('settings/data_integration.prometheus_allowed_ips')) + ->helperText(__('settings/data_integration.prometheus_allowed_ips_helper')) + ->placeholder('192.168.1.100') + ->splitKeys(['Tab', ',', ' ']) + ->columnSpanFull(), + ]), + ]) + ->columnSpanFull(), + ]) + ->columnSpanFull(), + ]); + } +} diff --git a/app/Filament/Pages/Settings/GeneralPage.php b/app/Filament/Pages/Settings/GeneralPage.php deleted file mode 100644 index cd8635e86..000000000 --- a/app/Filament/Pages/Settings/GeneralPage.php +++ /dev/null @@ -1,167 +0,0 @@ -user()->is_admin; - } - - public static function shouldRegisterNavigation(): bool - { - return auth()->user()->is_admin; - } - - public function form(Form $form): Form - { - return $form - ->schema([ - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->schema([ - Forms\Components\Section::make('Site Settings') - ->schema([ - Forms\Components\TextInput::make('site_name') - ->disabled() - ->helperText(new HtmlString('⚠️ DEPRECATED: Use APP_NAME environment variable.')) - ->columnSpanFull(), - Forms\Components\Toggle::make('public_dashboard_enabled') - ->label('Public dashboard') - ->disabled() - ->helperText(new HtmlString('⚠️ DEPRECATED: Use PUBLIC_DASHBOARD environment variable.')), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Time Zone Settings') - ->schema([ - Forms\Components\Select::make('timezone') - ->label('Time zone') - ->hint(new HtmlString('🔗Docs')) - ->options(TimeZoneHelper::list()) - ->searchable() - ->required(), - Forms\Components\TextInput::make('time_format') - ->hint(new HtmlString('🔗DateTime Format')) - ->placeholder('M j, Y G:i:s') - ->maxLength(25) - ->required(), - Forms\Components\Toggle::make('db_has_timezone') - ->label('Database has time zone') - ->helperText(new HtmlString('Enable if your database has a time zone already set.')), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Speedtest Settings') - ->schema([ - Forms\Components\TextInput::make('speedtest_schedule') - ->rules([new Cron()]) - ->helperText('Leave empty to disable scheduled tests.') - ->hint(new HtmlString('🔗Cron Generator')) - ->nullable() - ->columnSpan(1), - Forms\Components\TextInput::make('prune_results_older_than') - ->helperText('Set to zero to disable pruning.') - ->suffix('days') - ->numeric() - ->required() - ->minValue(0) - ->maxValue(9999) - ->columnSpan(1), - Forms\Components\Select::make('speedtest_server') - ->label('Speedtest servers') - ->helperText('Leave empty to let the system pick the best server.') - ->maxItems(10) - ->multiple() - ->nullable() - ->searchable() - ->options(GetOoklaSpeedtestServers::run()) - ->getSearchResultsUsing(fn (string $search): array => $this->getServerSearchOptions($search)) - ->getOptionLabelsUsing(fn (array $values): array => $this->getServerLabels($values)) - ->columnSpanFull(), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - ]) - ->columnSpan('full'), - ]); - } - - protected function getServerLabels(array $values): array - { - if (count($values) && is_null($values[0])) { - return []; - } - - return collect($values)->mapWithKeys(function (string $item, int $key) { - return [$item => $item]; - })->toArray(); - } - - protected function getServerSearchOptions(string $search): array - { - $response = Http::get( - url: 'https://www.speedtest.net/api/js/servers', - query: [ - 'engine' => 'js', - 'search' => $search, - 'https_functional' => true, - 'limit' => 20, - ] - ); - - if ($response->failed()) { - return [ - '' => 'There was an error retrieving Speedtest servers', - ]; - } - - if (! $response->collect()->count() && is_numeric($search)) { - return collect([ - [ - 'id' => $search, - 'name' => $search.' (Manually entered server)', - ], - ])->pluck('name', 'id')->toArray(); - } - - return $response->collect()->mapWithKeys(function (array $item, int $key) { - return [$item['id'] => $item['id'].': '.$item['name'].' ('.$item['sponsor'].')']; - })->toArray(); - } -} diff --git a/app/Filament/Pages/Settings/InfluxDbPage.php b/app/Filament/Pages/Settings/InfluxDbPage.php deleted file mode 100644 index 1c0d495e7..000000000 --- a/app/Filament/Pages/Settings/InfluxDbPage.php +++ /dev/null @@ -1,92 +0,0 @@ -user()->is_admin; - } - - public static function shouldRegisterNavigation(): bool - { - return auth()->user()->is_admin; - } - - public function form(Form $form): Form - { - return $form - ->schema([ - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->schema([ - Forms\Components\Section::make('InfluxDB v2 Settings') - ->schema([ - Forms\Components\Toggle::make('v2_enabled') - ->label('Enable') - ->reactive() - ->columnSpan(2), - Forms\Components\Grid::make([ - 'default' => 1, - 'md' => 3, - ]) - ->hidden(fn (Forms\Get $get) => $get('v2_enabled') !== true) - ->schema([ - Forms\Components\TextInput::make('v2_url') - ->label('URL') - ->placeholder('http://your-influxdb-instance') - ->maxLength(255) - ->required(fn (Forms\Get $get) => $get('v2_enabled') == true) - ->columnSpanFull(), - Forms\Components\Checkbox::make('v2_verify_ssl') - ->label('Verify SSL') - ->columnSpanFull(), - Forms\Components\TextInput::make('v2_org') - ->label('Org') - ->maxLength(255) - ->required(fn (Forms\Get $get) => $get('v2_enabled') == true) - ->columnSpan(['md' => 2]), - Forms\Components\TextInput::make('v2_bucket') - ->placeholder('speedtest-tracker') - ->label('Bucket') - ->maxLength(255) - ->required(fn (Forms\Get $get) => $get('v2_enabled') == true) - ->columnSpan(['md' => 1]), - Forms\Components\TextInput::make('v2_token') - ->label('Token') - ->maxLength(255) - ->password() - ->required(fn (Forms\Get $get) => $get('v2_enabled') == true) - ->disableAutocomplete() - ->columnSpanFull(), - ]), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - ]) - ->columnSpan('full'), - ]); - } -} diff --git a/app/Filament/Pages/Settings/Notification.php b/app/Filament/Pages/Settings/Notification.php new file mode 100755 index 000000000..c01ee4e1f --- /dev/null +++ b/app/Filament/Pages/Settings/Notification.php @@ -0,0 +1,646 @@ +is_admin; + } + + public static function shouldRegisterNavigation(): bool + { + return Auth::check() && Auth::user()->is_admin; + } + + public function form(Schema $schema): Schema + { + return $schema + ->components([ + Tabs::make() + ->schema([ + Tab::make(__('settings/notifications.database')) + ->icon(Heroicon::OutlinedCircleStack) + ->schema([ + Toggle::make('database_enabled') + ->label(__('general.enable')) + ->live(), + + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('database_enabled') !== true) + ->schema([ + Fieldset::make(__('settings.triggers')) + ->columns(1) + ->schema([ + Checkbox::make('database_on_speedtest_run') + ->label(__('settings/notifications.notify_on_every_speedtest_run')) + ->helpertext(__('settings/notifications.notify_on_every_speedtest_run_helper')), + Checkbox::make('database_on_threshold_failure') + ->label(__('settings/notifications.notify_on_threshold_failures')) + ->helpertext(__('settings/notifications.notify_on_threshold_failures_helper')), + ]), + + Actions::make([ + Action::make('test database') + ->label(__('settings/notifications.test_database_channel')) + ->action(fn () => SendDatabaseTestNotification::run(user: Auth::user())), + ]), + ]), + + // ... + ]), + + Tab::make(__('settings/notifications.mail')) + ->icon(Heroicon::OutlinedEnvelope) + ->schema([ + Toggle::make('mail_enabled') + ->label(__('general.enable')) + ->live(), + + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('mail_enabled') !== true) + ->schema([ + Fieldset::make(__('settings.triggers')) + ->columns(1) + ->schema([ + Checkbox::make('mail_on_speedtest_run') + ->label(__('settings/notifications.notify_on_every_speedtest_run')) + ->helpertext(__('settings/notifications.notify_on_every_speedtest_run_helper')), + Checkbox::make('mail_on_threshold_failure') + ->label(__('settings/notifications.notify_on_threshold_failures')) + ->helpertext(__('settings/notifications.notify_on_threshold_failures_helper')), + ]), + + Repeater::make('mail_recipients') + ->label(__('settings/notifications.recipients')) + ->schema([ + TextInput::make('email_address') + ->placeholder('your@email.com') + ->email() + ->required(), + ]), + + Actions::make([ + Action::make('test mail') + ->label(__('settings/notifications.test_mail_channel')) + ->action(fn (Get $get) => SendMailTestNotification::run(recipients: $get('mail_recipients'))) + ->hidden(fn (Get $get) => ! count($get('mail_recipients'))), + ]), + ]), + + // ... + ]), + + Tab::make(__('settings/notifications.webhook')) + ->icon(Heroicon::OutlinedGlobeAlt) + ->schema([ + SimpleAlert::make('wehbook_info') + ->title(__('general.documentation')) + ->description(__('settings/notifications.webhook_hint_description')) + ->border() + ->info() + ->actions([ + Action::make('webhook_docs') + ->label(__('general.view_documentation')) + ->icon('heroicon-m-arrow-long-right') + ->color('info') + ->link() + ->url('https://docs.speedtest-tracker.dev/settings/notifications/webhook') + ->openUrlInNewTab(), + ]) + ->columnSpanFull(), + + Toggle::make('webhook_enabled') + ->label(__('general.enable')) + ->live(), + + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('webhook_enabled') !== true) + ->schema([ + Fieldset::make(__('settings.triggers')) + ->columns(1) + ->schema([ + Checkbox::make('webhook_on_speedtest_run') + ->label(__('settings/notifications.notify_on_every_speedtest_run')) + ->helpertext(__('settings/notifications.notify_on_every_speedtest_run_helper')), + Checkbox::make('webhook_on_threshold_failure') + ->label(__('settings/notifications.notify_on_threshold_failures')) + ->helpertext(__('settings/notifications.notify_on_threshold_failures_helper')), + ]), + + Repeater::make('webhook_urls') + ->label(__('settings/notifications.recipients')) + ->schema([ + TextInput::make('url') + ->placeholder('https://webhook.site/longstringofcharacters') + ->maxLength(2000) + ->required() + ->url(), + ]), + + Actions::make([ + Action::make('test webhook') + ->label(__('settings/notifications.test_webhook_channel')) + ->action(fn (Get $get) => SendWebhookTestNotification::run(webhooks: $get('webhook_urls'))) + ->hidden(fn (Get $get) => ! count($get('webhook_urls'))), + ]), + ]), + + // ... + ]), + Tab::make(__('settings/notifications.apprise')) + ->icon(Heroicon::CloudArrowUp) + ->schema([ + SimpleAlert::make('wehbook_info') + ->title(__('general.documentation')) + ->description(__('settings/notifications.apprise_hint_description')) + ->border() + ->info() + ->actions([ + Action::make('webhook_docs') + ->label(__('general.view_documentation')) + ->icon('heroicon-m-arrow-long-right') + ->color('info') + ->link() + ->url('https://docs.speedtest-tracker.dev/settings/notifications/apprise') + ->openUrlInNewTab(), + ]) + ->columnSpanFull(), + + Toggle::make('apprise_enabled') + ->label(__('settings/notifications.enable_apprise_notifications')) + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('apprise_enabled') !== true) + ->schema([ + Fieldset::make(__('settings/notifications.apprise_server')) + ->schema([ + TextInput::make('apprise_server_url') + ->label(__('settings/notifications.apprise_server_url')) + ->placeholder('http://localhost:8000/notify') + ->helperText(__('settings/notifications.apprise_server_url_helper')) + ->maxLength(2000) + ->required() + ->url() + ->rule(new ContainsString('/notify')) + ->columnSpanFull(), + Checkbox::make('apprise_verify_ssl') + ->label(__('settings/notifications.apprise_verify_ssl')) + ->default(true) + ->columnSpanFull(), + ]), + Fieldset::make(__('settings.triggers')) + ->schema([ + Checkbox::make('apprise_on_speedtest_run') + ->label(__('settings/notifications.notify_on_every_speedtest_run')) + ->helpertext(__('settings/notifications.notify_on_every_speedtest_run_helper')) + ->columnSpanFull(), + Checkbox::make('apprise_on_threshold_failure') + ->label(__('settings/notifications.notify_on_threshold_failures')) + ->helpertext(__('settings/notifications.notify_on_threshold_failures_helper')) + ->columnSpanFull(), + ]), + Repeater::make('apprise_channel_urls') + ->label(__('settings/notifications.apprise_channels')) + ->helperText(__('settings/notifications.apprise_save_to_test')) + ->schema([ + TextInput::make('channel_url') + ->label(__('settings/notifications.apprise_channel_url')) + ->placeholder('discord://WebhookID/WebhookToken') + ->helperText(__('settings/notifications.apprise_channel_url_helper')) + ->maxLength(2000) + ->distinct() + ->required() + ->rule(new AppriseScheme), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test apprise') + ->label(__('settings/notifications.test_apprise_channel')) + ->action(fn (Get $get) => SendAppriseTestNotification::run( + channel_urls: $get('apprise_channel_urls'), + )) + ->hidden(function () { + $settings = app(NotificationSettings::class); + + return empty($settings->apprise_server_url) || ! count($settings->apprise_channel_urls ?? []); + }), + ]), + ]), + ]), + ]) + ->columnSpanFull(), + + // ! DEPRECATED CHANNELS + SimpleAlert::make('deprecation_warning') + ->title('Deprecated Notification Channels') + ->description('The following notification channels are deprecated and will be removed in a future release!') + ->border() + ->warning() + ->columnSpanFull(), + + Grid::make([ + 'default' => 1, + 'md' => 3, + ]) + ->columnSpan('full') + ->schema([ + Grid::make([ + 'default' => 1, + ]) + ->schema([ + Section::make('Pushover') + ->description('⚠️ Pushover is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('pushover_enabled') + ->label('Enable Pushover webhook notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('pushover_enabled') !== true) + ->schema([ + Fieldset::make('Triggers') + ->schema([ + Toggle::make('pushover_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('pushover_on_threshold_failure') + ->label('Notify on threshold failures') + ->columnSpanFull(), + ]), + Repeater::make('pushover_webhooks') + ->label('Pushover Webhooks') + ->schema([ + TextInput::make('url') + ->label('URL') + ->placeholder('http://api.pushover.net/1/messages.json') + ->maxLength(2000) + ->required() + ->url(), + TextInput::make('user_key') + ->label('User Key') + ->placeholder('Your Pushover User Key') + ->maxLength(200) + ->required(), + TextInput::make('api_token') + ->label('API Token') + ->placeholder('Your Pushover API Token') + ->maxLength(200) + ->required(), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test pushover') + ->label('Test Pushover webhook') + ->action(fn (Get $get) => SendPushoverTestNotification::run( + webhooks: $get('pushover_webhooks') + )) + ->hidden(fn (Get $get) => ! count($get('pushover_webhooks'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + + Section::make('Discord') + ->description('⚠️ Discord is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('discord_enabled') + ->label('Enable Discord webhook notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('discord_enabled') !== true) + ->schema([ + Fieldset::make('Triggers') + ->schema([ + Toggle::make('discord_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('discord_on_threshold_failure') + ->label('Notify on threshold failures') + ->columnSpanFull(), + ]), + Repeater::make('discord_webhooks') + ->label('Webhooks') + ->schema([ + TextInput::make('url') + ->placeholder('https://discord.com/api/webhooks/longstringofcharacters') + ->maxLength(2000) + ->required() + ->url(), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test discord') + ->label('Test Discord webhook') + ->action(fn (Get $get) => SendDiscordTestNotification::run(webhooks: $get('discord_webhooks'))) + ->hidden(fn (Get $get) => ! count($get('discord_webhooks'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + + Section::make('Gotify') + ->description('⚠️ Gotify is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('gotify_enabled') + ->label('Enable Gotify webhook notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('gotify_enabled') !== true) + ->schema([ + Fieldset::make('Triggers') + ->schema([ + Toggle::make('gotify_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('gotify_on_threshold_failure') + ->label('Notify on threshold failures') + ->columnSpanFull(), + ]), + Repeater::make('gotify_webhooks') + ->label('Webhooks') + ->schema([ + TextInput::make('url') + ->placeholder('https://example.com/message?token=') + ->maxLength(2000) + ->required() + ->url(), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test gotify') + ->label('Test Gotify webhook') + ->action(fn (Get $get) => SendgotifyTestNotification::run(webhooks: $get('gotify_webhooks'))) + ->hidden(fn (Get $get) => ! count($get('gotify_webhooks'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + + Section::make('Slack') + ->description('⚠️ Slack is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('slack_enabled') + ->label('Enable Slack webhook notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('slack_enabled') !== true) + ->schema([ + Fieldset::make('Triggers') + ->schema([ + Toggle::make('slack_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('slack_on_threshold_failure') + ->label('Notify on threshold failures') + ->columnSpanFull(), + ]), + Repeater::make('slack_webhooks') + ->label('Webhooks') + ->schema([ + TextInput::make('url') + ->placeholder('https://hooks.slack.com/services/abc/xyz') + ->maxLength(2000) + ->required() + ->url(), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test Slack') + ->label('Test slack webhook') + ->action(fn (Get $get) => SendSlackTestNotification::run(webhooks: $get('slack_webhooks'))) + ->hidden(fn (Get $get) => ! count($get('slack_webhooks'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + + Section::make('Ntfy') + ->description('⚠️ Ntfy is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('ntfy_enabled') + ->label('Enable Ntfy webhook notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('ntfy_enabled') !== true) + ->schema([ + Fieldset::make('Triggers') + ->schema([ + Toggle::make('ntfy_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('ntfy_on_threshold_failure') + ->label('Notify on threshold failures') + ->columnSpanFull(), + ]), + Repeater::make('ntfy_webhooks') + ->label('Webhooks') + ->schema([ + TextInput::make('url') + ->maxLength(2000) + ->placeholder('Your ntfy server url') + ->required() + ->url(), + TextInput::make('topic') + ->label('Topic') + ->placeholder('Your ntfy Topic') + ->maxLength(200) + ->required(), + TextInput::make('username') + ->label('Username') + ->placeholder('Username for Basic Auth (optional)') + ->maxLength(200), + TextInput::make('password') + ->label('Password') + ->placeholder('Password for Basic Auth (optional)') + ->password() + ->maxLength(200), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test ntfy') + ->label('Test Ntfy webhook') + ->action(fn (Get $get) => SendNtfyTestNotification::run(webhooks: $get('ntfy_webhooks'))) + ->hidden(fn (Get $get) => ! count($get('ntfy_webhooks'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + + Section::make('Healthcheck.io') + ->description('⚠️ Healthcheck.io is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('healthcheck_enabled') + ->label('Enable healthcheck.io webhook notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('healthcheck_enabled') !== true) + ->schema([ + Fieldset::make('Triggers') + ->schema([ + Toggle::make('healthcheck_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('healthcheck_on_threshold_failure') + ->label('Notify on threshold failures') + ->helperText('Threshold notifications will be sent to the /fail path of the URL.') + ->columnSpanFull(), + ]), + Repeater::make('healthcheck_webhooks') + ->label('webhooks') + ->schema([ + TextInput::make('url') + ->placeholder('https://hc-ping.com/your-uuid-here') + ->maxLength(2000) + ->required() + ->url(), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test healthcheck') + ->label('Test healthcheck.io webhook') + ->action(fn (Get $get) => SendHealthCheckTestNotification::run(webhooks: $get('healthcheck_webhooks'))) + ->hidden(fn (Get $get) => ! count($get('healthcheck_webhooks'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + + Section::make('Telegram') + ->description('⚠️ Telegram is deprecated and will be removed in a future release.') + ->schema([ + Toggle::make('telegram_enabled') + ->label('Enable telegram notifications') + ->reactive() + ->columnSpanFull(), + Grid::make([ + 'default' => 1, + ]) + ->hidden(fn (Get $get) => $get('telegram_enabled') !== true) + ->schema([ + Fieldset::make('Options') + ->schema([ + Toggle::make('telegram_disable_notification') + ->label('Send the message silently to the user') + ->columnSpanFull(), + ]), + Fieldset::make('Triggers') + ->schema([ + Toggle::make('telegram_on_speedtest_run') + ->label('Notify on every speedtest run') + ->columnSpanFull(), + Toggle::make('telegram_on_threshold_failure') + ->label('Notify on threshold failures') + ->columnSpanFull(), + ]), + Repeater::make('telegram_recipients') + ->label('Recipients') + ->schema([ + TextInput::make('telegram_chat_id') + ->placeholder('12345678910') + ->label('Telegram Chat ID') + ->maxLength(50) + ->required(), + ]) + ->columnSpanFull(), + Actions::make([ + Action::make('test telegram') + ->label('Test Telegram channel') + ->action(fn (Get $get) => SendTelegramTestNotification::run(recipients: $get('telegram_recipients'))) + ->hidden(fn (Get $get) => ! count($get('telegram_recipients')) || blank(config('telegram.bot'))), + ]), + ]), + ]) + ->compact() + ->columnSpan('full'), + ]) + ->columnSpan([ + 'md' => 2, + ]), + ]), + ]); + } +} diff --git a/app/Filament/Pages/Settings/NotificationPage.php b/app/Filament/Pages/Settings/NotificationPage.php deleted file mode 100755 index a40a5e080..000000000 --- a/app/Filament/Pages/Settings/NotificationPage.php +++ /dev/null @@ -1,278 +0,0 @@ -user()->is_admin; - } - - public static function shouldRegisterNavigation(): bool - { - return auth()->user()->is_admin; - } - - public function form(Form $form): Form - { - return $form - ->schema([ - Forms\Components\Grid::make([ - 'default' => 1, - 'md' => 3, - ]) - ->schema([ - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->schema([ - Forms\Components\Section::make('Database') - ->description('Notifications sent to this channel will show up under the 🔔 icon in the header.') - ->schema([ - Forms\Components\Toggle::make('database_enabled') - ->label('Enable database notifications') - ->reactive() - ->columnSpanFull(), - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->hidden(fn (Forms\Get $get) => $get('database_enabled') !== true) - ->schema([ - Forms\Components\Fieldset::make('Triggers') - ->schema([ - Forms\Components\Toggle::make('database_on_speedtest_run') - ->label('Notify on every speedtest run') - ->columnSpanFull(), - Forms\Components\Toggle::make('database_on_threshold_failure') - ->label('Notify on threshold failures') - ->columnSpanFull(), - ]), - Forms\Components\Actions::make([ - Forms\Components\Actions\Action::make('test database') - ->label('Test database channel') - ->action(fn () => SendDatabaseTestNotification::run(user: Auth::user())), - ]), - ]), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Discord') - ->schema([ - Forms\Components\Toggle::make('discord_enabled') - ->label('Enable Discord webhook notifications') - ->reactive() - ->columnSpanFull(), - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->hidden(fn (Forms\Get $get) => $get('discord_enabled') !== true) - ->schema([ - Forms\Components\Fieldset::make('Triggers') - ->schema([ - Forms\Components\Toggle::make('discord_on_speedtest_run') - ->label('Notify on every speedtest run') - ->columnSpanFull(), - Forms\Components\Toggle::make('discord_on_threshold_failure') - ->label('Notify on threshold failures') - ->columnSpanFull(), - ]), - Forms\Components\Repeater::make('discord_webhooks') - ->label('Webhooks') - ->schema([ - Forms\Components\TextInput::make('url') - ->maxLength(2000) - ->required() - ->url(), - ]) - ->columnSpanFull(), - Forms\Components\Actions::make([ - Forms\Components\Actions\Action::make('test discord') - ->label('Test Discord webhook') - ->action(fn (Forms\Get $get) => SendDiscordTestNotification::run(webhooks: $get('discord_webhooks'))) - ->hidden(fn (Forms\Get $get) => ! count($get('discord_webhooks'))), - ]), - ]), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Mail') - ->schema([ - Forms\Components\Toggle::make('mail_enabled') - ->label('Enable mail notifications') - ->reactive() - ->columnSpanFull(), - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->hidden(fn (Forms\Get $get) => $get('mail_enabled') !== true) - ->schema([ - Forms\Components\Fieldset::make('Triggers') - ->schema([ - Forms\Components\Toggle::make('mail_on_speedtest_run') - ->label('Notify on every speedtest run') - ->columnSpanFull(), - Forms\Components\Toggle::make('mail_on_threshold_failure') - ->label('Notify on threshold failures') - ->columnSpanFull(), - ]), - Forms\Components\Repeater::make('mail_recipients') - ->label('Recipients') - ->schema([ - Forms\Components\TextInput::make('email_address') - ->email() - ->required(), - ]) - ->columnSpanFull(), - Forms\Components\Actions::make([ - Forms\Components\Actions\Action::make('test mail') - ->label('Test mail channel') - ->action(fn (Forms\Get $get) => SendMailTestNotification::run(recipients: $get('mail_recipients'))) - ->hidden(fn (Forms\Get $get) => ! count($get('mail_recipients'))), - ]), - ]), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Telegram') - ->schema([ - Forms\Components\Toggle::make('telegram_enabled') - ->label('Enable telegram notifications') - ->reactive() - ->columnSpanFull(), - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->hidden(fn (Forms\Get $get) => $get('telegram_enabled') !== true) - ->schema([ - Forms\Components\Fieldset::make('Options') - ->schema([ - Forms\Components\Toggle::make('telegram_disable_notification') - ->label('Send the message silently to the user') - ->columnSpanFull(), - ]), - Forms\Components\Fieldset::make('Triggers') - ->schema([ - Forms\Components\Toggle::make('telegram_on_speedtest_run') - ->label('Notify on every speedtest run') - ->columnSpanFull(), - Forms\Components\Toggle::make('telegram_on_threshold_failure') - ->label('Notify on threshold failures') - ->columnSpanFull(), - ]), - Forms\Components\Repeater::make('telegram_recipients') - ->label('Recipients') - ->schema([ - Forms\Components\TextInput::make('telegram_chat_id') - ->label('Telegram Chat ID') - ->maxLength(50) - ->required(), - ]) - ->columnSpanFull(), - Forms\Components\Actions::make([ - Forms\Components\Actions\Action::make('test telegram') - ->label('Test Telegram channel') - ->action(fn (Forms\Get $get) => SendTelegramTestNotification::run(recipients: $get('telegram_recipients'))) - ->hidden(fn (Forms\Get $get) => ! count($get('telegram_recipients')) || blank(config('telegram.bot'))), - ]), - ]), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - - Forms\Components\Section::make('Webhook') - ->schema([ - Forms\Components\Toggle::make('webhook_enabled') - ->label('Enable webhook notifications') - ->reactive() - ->columnSpanFull(), - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->hidden(fn (Forms\Get $get) => $get('webhook_enabled') !== true) - ->schema([ - Forms\Components\Fieldset::make('Triggers') - ->schema([ - Forms\Components\Toggle::make('webhook_on_speedtest_run') - ->label('Notify on every speedtest run') - ->columnSpan(2), - Forms\Components\Toggle::make('webhook_on_threshold_failure') - ->label('Notify on threshold failures') - ->columnSpan(2), - ]), - Forms\Components\Repeater::make('webhook_urls') - ->label('Recipients') - ->schema([ - Forms\Components\TextInput::make('url') - ->maxLength(2000) - ->required() - ->url(), - ]) - ->columnSpanFull(), - Forms\Components\Actions::make([ - Forms\Components\Actions\Action::make('test webhook') - ->label('Test webhook channel') - ->action(fn (Forms\Get $get) => SendWebhookTestNotification::run(webhooks: $get('webhook_urls'))) - ->hidden(fn (Forms\Get $get) => ! count($get('webhook_urls'))), - ]), - ]), - ]) - ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), - ]) - ->columnSpan([ - 'md' => 2, - ]), - - Forms\Components\Section::make() - ->schema([ - Forms\Components\View::make('filament.forms.notifications-helptext'), - ]) - ->columnSpan([ - 'md' => 1, - ]), - ]), - ]); - } -} diff --git a/app/Filament/Pages/Settings/ThresholdsPage.php b/app/Filament/Pages/Settings/Thresholds.php similarity index 56% rename from app/Filament/Pages/Settings/ThresholdsPage.php rename to app/Filament/Pages/Settings/Thresholds.php index 7f60ba5f5..1953ff52a 100644 --- a/app/Filament/Pages/Settings/ThresholdsPage.php +++ b/app/Filament/Pages/Settings/Thresholds.php @@ -3,81 +3,94 @@ namespace App\Filament\Pages\Settings; use App\Settings\ThresholdSettings; -use Filament\Forms; -use Filament\Forms\Form; +use Filament\Forms\Components\TextInput; +use Filament\Forms\Components\Toggle; use Filament\Pages\SettingsPage; +use Filament\Schemas\Components\Fieldset; +use Filament\Schemas\Components\Grid; +use Filament\Schemas\Components\Section; +use Filament\Schemas\Components\Utilities\Get; +use Filament\Schemas\Schema; +use Illuminate\Support\Facades\Auth; -class ThresholdsPage extends SettingsPage +class Thresholds extends SettingsPage { - protected static ?string $navigationIcon = 'heroicon-o-exclamation-triangle'; + protected static string|\BackedEnum|null $navigationIcon = 'tabler-alert-triangle'; - protected static ?string $navigationGroup = 'Settings'; + protected static string|\UnitEnum|null $navigationGroup = 'Settings'; protected static ?int $navigationSort = 4; - protected static ?string $title = 'Thresholds'; + public function getTitle(): string + { + return __('settings/thresholds.title'); + } - protected static ?string $navigationLabel = 'Thresholds'; + public static function getNavigationLabel(): string + { + return __('settings/thresholds.label'); + } protected static string $settings = ThresholdSettings::class; public static function canAccess(): bool { - return auth()->user()->is_admin; + return Auth::check() && Auth::user()->is_admin; } public static function shouldRegisterNavigation(): bool { - return auth()->user()->is_admin; + return Auth::check() && Auth::user()->is_admin; } - public function form(Form $form): Form + public function form(Schema $schema): Schema { - return $form - ->schema([ - Forms\Components\Grid::make([ + return $schema + ->components([ + Grid::make([ 'default' => 1, 'md' => 3, ]) + ->columnSpan('full') ->schema([ - Forms\Components\Grid::make([ + Grid::make([ 'default' => 1, ]) ->schema([ - Forms\Components\Section::make('Absolute') - ->description('Absolute thresholds do not take into account previous history and could be triggered on each test.') + Section::make(__('settings/thresholds.absolute')) + ->description(__('settings/thresholds.absolute_description')) ->schema([ - Forms\Components\Toggle::make('absolute_enabled') - ->label('Enable absolute thresholds') + Toggle::make('absolute_enabled') + ->label(__('settings/thresholds.absolute_enabled')) ->reactive() ->columnSpan(2), - Forms\Components\Grid::make([ + Grid::make([ 'default' => 1, ]) - ->hidden(fn (Forms\Get $get) => $get('absolute_enabled') !== true) + ->hidden(fn (Get $get) => $get('absolute_enabled') !== true) ->schema([ - Forms\Components\Fieldset::make('Metrics') + Fieldset::make(__('settings/thresholds.metrics')) ->schema([ - Forms\Components\TextInput::make('absolute_download') - ->label('Download') - ->hint('Mbps') - ->helperText('Set to zero to disable this metric.') + TextInput::make('absolute_download') + ->label(__('general.download')) + ->hint(__('general.mbps')) + ->helperText(__('settings/thresholds.metrics_helper_text')) ->default(0) ->minValue(0) ->numeric() ->required(), - Forms\Components\TextInput::make('absolute_upload') - ->label('Upload') - ->hint('Mbps') - ->helperText('Set to zero to disable this metric.') + TextInput::make('absolute_upload') + ->label(__('general.upload')) + ->hint(__('general.mbps')) + ->helperText(__('settings/thresholds.metrics_helper_text')) ->default(0) ->minValue(0) ->numeric() ->required(), - Forms\Components\TextInput::make('absolute_ping') - ->label('Ping') - ->hint('ms') - ->helperText('Set to zero to disable this metric.') + TextInput::make('absolute_ping') + ->label(__('general.ping')) + ->hint(__('general.ms')) + ->helperText(__('settings/thresholds.metrics_helper_text')) ->default(0) ->minValue(0) ->numeric() @@ -90,22 +103,11 @@ public function form(Form $form): Form ]), ]) ->compact() - ->columns([ - 'default' => 1, - 'md' => 2, - ]), + ->columnSpan('full'), ]) ->columnSpan([ 'md' => 2, ]), - - Forms\Components\Section::make() - ->schema([ - Forms\Components\View::make('filament.forms.thresholds-helptext'), - ]) - ->columnSpan([ - 'md' => 1, - ]), ]), ]); } diff --git a/app/Filament/Pages/Tools/ListOoklaServers.php b/app/Filament/Pages/Tools/ListOoklaServers.php new file mode 100644 index 000000000..c82ad82b3 --- /dev/null +++ b/app/Filament/Pages/Tools/ListOoklaServers.php @@ -0,0 +1,115 @@ +fetchServers(); + } + + public function fetchServers(): void + { + $this->isLoading = true; + + try { + $servers = GetOoklaSpeedtestServers::fetch(); + + $this->servers = json_encode($servers, JSON_PRETTY_PRINT); + + $this->form->fill([ + 'servers' => $this->servers, + ]); + } catch (\Exception $e) { + Notification::make() + ->title(__('errors.error_fetching_servers')) + ->body($e->getMessage()) + ->danger() + ->send(); + + $this->servers = ''; + $this->form->fill([ + 'servers' => '', + ]); + } finally { + $this->isLoading = false; + } + } + + public function form(Schema $schema): Schema + { + return $schema + ->components([ + Textarea::make('servers') + ->label(false) + ->rows(20) + ->columnSpanFull() + ->extraAttributes(['class' => 'font-mono']) + ->disabled(), + ]); + } + + protected function getHeaderActions(): array + { + return [ + Action::make('refreshServers') + ->label('Refresh') + ->icon('heroicon-o-arrow-path') + ->action(function () { + $this->fetchServers(); + + Notification::make() + ->title(__('errors.servers_refreshed_successfully')) + ->success() + ->send(); + }), + + Action::make('copyServers') + ->label('Copy to Clipboard') + ->icon('heroicon-o-clipboard') + ->disabled(fn () => blank($this->servers)) + ->requiresConfirmation(false) + ->action(function () { + $this->js('navigator.clipboard.writeText('.json_encode($this->servers).')'); + + Notification::make() + ->title(__('errors.copied_to_clipboard')) + ->success() + ->send(); + }), + ]; + } +} diff --git a/app/Filament/Resources/ApiTokens/ApiTokenResource.php b/app/Filament/Resources/ApiTokens/ApiTokenResource.php new file mode 100644 index 000000000..acca29a28 --- /dev/null +++ b/app/Filament/Resources/ApiTokens/ApiTokenResource.php @@ -0,0 +1,63 @@ +is_admin; + } + + public static function shouldRegisterNavigation(): bool + { + return Auth::check() && Auth::user()->is_admin; + } + + public static function form(Schema $schema): Schema + { + return $schema->components(ApiTokenForm::schema()); + } + + public static function table(Table $table): Table + { + return ApiTokenTable::table($table); + } + + public static function getTokenFormSchema(): array + { + return ApiTokenForm::schema(); + } + + public static function getPages(): array + { + return [ + 'index' => ListApiTokens::route('/'), + ]; + } +} diff --git a/app/Filament/Resources/ApiTokens/Pages/ListApiTokens.php b/app/Filament/Resources/ApiTokens/Pages/ListApiTokens.php new file mode 100644 index 000000000..8c36d0fe9 --- /dev/null +++ b/app/Filament/Resources/ApiTokens/Pages/ListApiTokens.php @@ -0,0 +1,40 @@ +label(__('api_tokens.create_api_token')) + ->schema(ApiTokenForm::schema()) + ->action(function (array $data): void { + $token = Auth::user()->createToken( + $data['name'], + $data['abilities'], + $data['expires_at'] ? Carbon::parse($data['expires_at']) : null + ); + + Notification::make() + ->title(__('general.token_created')) + ->body(__('api_tokens.your_token').': `'.explode('|', $token->plainTextToken)[1].'`') + ->success() + ->persistent() + ->send(); + }) + ->modalWidth('xl'), + ]; + } +} diff --git a/app/Filament/Resources/ApiTokens/Schemas/ApiTokenForm.php b/app/Filament/Resources/ApiTokens/Schemas/ApiTokenForm.php new file mode 100644 index 000000000..ed66fbe11 --- /dev/null +++ b/app/Filament/Resources/ApiTokens/Schemas/ApiTokenForm.php @@ -0,0 +1,47 @@ +schema([ + TextInput::make('name') + ->label(__('general.name')) + ->unique(ignoreRecord: true) + ->maxLength(100) + ->required(), + CheckboxList::make('abilities') + ->label(__('api_tokens.abilities')) + ->options([ + 'results:read' => __('api_tokens.read_results'), + 'speedtests:run' => __('general.run_speedtest'), + 'ookla:list-servers' => __('general.list_servers'), + ]) + ->required() + ->bulkToggleable() + ->descriptions([ + 'results:read' => __('api_tokens.read_results_description'), + 'speedtests:run' => __('api_tokens.run_speedtest_description'), + 'ookla:list-servers' => __('api_tokens.list_servers_description'), + ]), + DateTimePicker::make('expires_at') + ->label(__('api_tokens.expires_at')) + ->nullable() + ->native(false) + ->helperText(__('api_tokens.expires_at_helper_text')), + ]) + ->columns([ + 'lg' => 1, + ]), + ]; + } +} diff --git a/app/Filament/Resources/ApiTokens/Tables/ApiTokenTable.php b/app/Filament/Resources/ApiTokens/Tables/ApiTokenTable.php new file mode 100644 index 000000000..31aff987e --- /dev/null +++ b/app/Filament/Resources/ApiTokens/Tables/ApiTokenTable.php @@ -0,0 +1,99 @@ +query(PersonalAccessToken::query()->where('tokenable_id', Auth::id())) + ->columns([ + TextColumn::make('name') + ->label(__('general.name')) + ->searchable(), + TextColumn::make('abilities') + ->label(__('api_tokens.abilities')) + ->badge(), + TextColumn::make('created_at') + ->label(__('general.created_at')) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable() + ->alignEnd(), + TextColumn::make('last_used_at') + ->label(__('api_tokens.last_used_at')) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) + ->toggleable(isToggledHiddenByDefault: true) + ->sortable() + ->alignEnd(), + TextColumn::make('expires_at') + ->label(__('api_tokens.expires_at')) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable() + ->alignEnd(), + ]) + ->filters([ + TernaryFilter::make('expired') + ->label(__('api_tokens.token_status')) + ->placeholder(__('api_tokens.all_tokens')) + ->falseLabel(__('api_tokens.active_tokens')) + ->trueLabel(__('api_tokens.expired_tokens')) + ->native(false) + ->queries( + true: fn (Builder $query) => $query + ->where('expires_at', '<=', now()), + + false: fn (Builder $query) => $query + ->where(function (Builder $q) { + $q->whereNull('expires_at') + ->orWhere('expires_at', '>', now()); + }), + + blank: fn (Builder $query) => $query, + ), + SelectFilter::make('abilities') + ->label(__('api_tokens.abilities')) + ->multiple() + ->options([ + 'results:read' => __('api_tokens.read_results'), + 'speedtests:run' => __('general.run_speedtest'), + 'ookla:list-servers' => __('general.list_servers'), + ]) + ->query(function (Builder $query, array $data): Builder { + foreach ($data['values'] ?? [] as $value) { + $query->whereJsonContains('abilities', $value); + } + + return $query; + }), + ]) + ->recordActions([ + ActionGroup::make([ + EditAction::make() + ->disabled(fn ($record) => $record->expires_at !== null && $record->expires_at->isPast()) + ->modalWidth('xl'), + DeleteAction::make(), + ]), + ]) + ->toolbarActions([ + DeleteBulkAction::make(), + ]); + } +} diff --git a/app/Filament/Resources/ResultResource.php b/app/Filament/Resources/ResultResource.php deleted file mode 100644 index 26f408f92..000000000 --- a/app/Filament/Resources/ResultResource.php +++ /dev/null @@ -1,343 +0,0 @@ -schema([ - Forms\Components\Grid::make([ - 'default' => 2, - 'md' => 3, - ])->schema([ - Forms\Components\Grid::make([ - 'default' => 2, - 'md' => 3, - ]) - ->schema([ - Forms\Components\TextInput::make('id') - ->label('ID'), - Forms\Components\TextInput::make('created_at') - ->label('Created') - ->afterStateHydrated(function (TextInput $component, $state) use ($settings) { - $component->state(Carbon::parse($state)->timezone(TimeZoneHelper::displayTimeZone($settings))->format($settings->time_format ?? 'M j, Y G:i:s')); - }) - ->columnSpan(2), - Forms\Components\TextInput::make('download') - ->label('Download') - ->afterStateHydrated(function (TextInput $component, Result $record) { - $component->state(! blank($record->download) ? Number::toBitRate(bits: $record->download_bits, precision: 2) : ''); - }), - Forms\Components\TextInput::make('upload') - ->label('Upload') - ->afterStateHydrated(function (TextInput $component, Result $record) { - $component->state(! blank($record->upload) ? Number::toBitRate(bits: $record->upload_bits, precision: 2) : ''); - }), - Forms\Components\TextInput::make('ping') - ->label('Ping (ms)'), - Forms\Components\TextInput::make('data.download.latency.jitter') - ->label('Download Jitter (ms)'), - Forms\Components\TextInput::make('data.download.latency.high') - ->label('Download Latency High'), - Forms\Components\TextInput::make('data.download.latency.low') - ->label('Download Latency low'), - Forms\Components\TextInput::make('data.download.latency.iqm') - ->label('Download Latency iqm'), - Forms\Components\TextInput::make('data.upload.latency.jitter') - ->label('Upload Jitter (ms)'), - Forms\Components\TextInput::make('data.upload.latency.high') - ->label('Upload Latency High'), - Forms\Components\TextInput::make('data.upload.latency.low') - ->label('Upload Latency low'), - Forms\Components\TextInput::make('data.upload.latency.iqm') - ->label('Upload Latency iqm'), - Forms\Components\TextInput::make('data.ping.jitter') - ->label('Ping Jitter (ms)'), - Forms\Components\TextInput::make('data.packetLoss') - ->label('Packet Loss'), - Forms\Components\Textarea::make('data.message') - ->label('Error Message') - ->hint(new HtmlString('🔗Error Messages')) - ->hidden(fn (Result $record): bool => $record->status !== ResultStatus::Failed) - ->columnSpanFull(), - ]) - ->columnSpan(2), - Forms\Components\Section::make() - ->schema([ - Forms\Components\Placeholder::make('service') - ->content(fn (Result $result): string => $result->service), - Forms\Components\Placeholder::make('server_name') - ->content(fn (Result $result): ?string => $result->server_name), - Forms\Components\Placeholder::make('server_id') - ->label('Server ID') - ->content(fn (Result $result): ?string => $result->server_id), - Forms\Components\Placeholder::make('server_host') - ->content(fn (Result $result): ?string => $result->server_host), - Forms\Components\Checkbox::make('scheduled'), - ]) - ->columns(1) - ->columnSpan([ - 'default' => 2, - 'md' => 1, - ]), - ]), - ]); - } - - public static function table(Table $table): Table - { - $dataSettings = new DataMigrationSettings(); - - $settings = new GeneralSettings(); - - return $table - ->columns([ - Tables\Columns\TextColumn::make('id') - ->label('ID') - ->sortable(), - Tables\Columns\TextColumn::make('ip_address') - ->label('IP address') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->interface->externalIp', $direction); - }), - Tables\Columns\TextColumn::make('service') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(), - Tables\Columns\TextColumn::make('server_id') - ->label('Server ID') - ->toggleable() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->server->id', $direction); - }), - Tables\Columns\TextColumn::make('server_name') - ->toggleable() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->server->name', $direction); - }), - Tables\Columns\TextColumn::make('download') - ->getStateUsing(fn (Result $record): ?string => ! blank($record->download) ? Number::toBitRate(bits: $record->download_bits, precision: 2) : null) - ->sortable(), - Tables\Columns\TextColumn::make('upload') - ->getStateUsing(fn (Result $record): ?string => ! blank($record->upload) ? Number::toBitRate(bits: $record->upload_bits, precision: 2) : null) - ->sortable(), - Tables\Columns\TextColumn::make('ping') - ->toggleable() - ->sortable(), - Tables\Columns\TextColumn::make('download_jitter') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->download->latency->jitter', $direction); - }), - Tables\Columns\TextColumn::make('download_latency_high') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->download->latency->high', $direction); - }), - Tables\Columns\TextColumn::make('download_latency_low') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->download->latency->low', $direction); - }), - Tables\Columns\TextColumn::make('download_latency_iqm') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->download->latency->iqm', $direction); - }), - Tables\Columns\TextColumn::make('upload_jitter') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->upload->latency->jitter', $direction); - }), - Tables\Columns\TextColumn::make('upload_latency_high') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->upload->latency->high', $direction); - }), - Tables\Columns\TextColumn::make('upload_latency_low') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->upload->latency->low', $direction); - }), - Tables\Columns\TextColumn::make('upload_latency_iqm') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->upload->latency->iqm', $direction); - }), - Tables\Columns\TextColumn::make('ping_jitter') - ->toggleable() - ->toggledHiddenByDefault() - ->sortable(query: function (Builder $query, string $direction): Builder { - return $query->orderBy('data->ping->jitter', $direction); - }), - Tables\Columns\TextColumn::make('packet_loss') - ->toggleable() - ->toggledHiddenByDefault(), - Tables\Columns\TextColumn::make('status') - ->badge() - ->toggleable() - ->sortable(), - Tables\Columns\IconColumn::make('scheduled') - ->boolean() - ->toggleable() - ->toggledHiddenByDefault() - ->alignment(Alignment::Center), - Tables\Columns\TextColumn::make('created_at') - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)) - ->toggleable() - ->sortable() - ->alignment(Alignment::End), - Tables\Columns\TextColumn::make('updated_at') - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)) - ->toggleable() - ->toggledHiddenByDefault() - ->sortable() - ->alignment(Alignment::End), - ]) - ->filters([ - Tables\Filters\SelectFilter::make('ip_address') - ->label('IP address') - ->multiple() - ->options(function (): array { - return Result::query() - ->select('data->interface->externalIp AS public_ip_address') - ->whereNotNull('data->interface->externalIp') - ->where('status', '=', ResultStatus::Completed) - ->distinct() - ->get() - ->mapWithKeys(function (Result $item, int $key) { - return [$item['public_ip_address'] => $item['public_ip_address']]; - }) - ->toArray(); - }) - ->attribute('data->interface->externalIp'), - Tables\Filters\TernaryFilter::make('scheduled') - ->placeholder('-') - ->trueLabel('Only scheduled speedtests') - ->falseLabel('Only manual speedtests') - ->queries( - true: fn (Builder $query) => $query->where('scheduled', true), - false: fn (Builder $query) => $query->where('scheduled', false), - blank: fn (Builder $query) => $query, - ), - Tables\Filters\SelectFilter::make('status') - ->multiple() - ->options(ResultStatus::class), - ]) - ->actions([ - Tables\Actions\ActionGroup::make([ - Action::make('view result') - ->label('View on Speedtest.net') - ->icon('heroicon-o-link') - ->url(fn (Result $record): ?string => $record->result_url) - ->hidden(fn (Result $record): bool => $record->status !== ResultStatus::Completed) - ->openUrlInNewTab(), - Tables\Actions\ViewAction::make(), - Tables\Actions\Action::make('updateComments') - ->icon('heroicon-o-chat-bubble-bottom-center-text') - ->hidden(fn (): bool => ! auth()->user()->is_admin && ! auth()->user()->is_user) - ->mountUsing(fn (Forms\ComponentContainer $form, Result $record) => $form->fill([ - 'comments' => $record->comments, - ])) - ->action(function (Result $record, array $data): void { - $record->comments = $data['comments']; - $record->save(); - }) - ->form([ - Forms\Components\Textarea::make('comments') - ->rows(6) - ->maxLength(500), - ]) - ->modalButton('Save'), - Tables\Actions\DeleteAction::make(), - ]), - ]) - ->bulkActions([ - Tables\Actions\DeleteBulkAction::make(), - ]) - ->headerActions([ - Tables\Actions\ExportAction::make() - ->exporter(ResultExporter::class) - ->fileName(fn (): string => 'results-'.now()->timestamp), - Tables\Actions\Action::make('migrate') - ->action(function (): void { - Notification::make() - ->title('Starting data migration...') - ->body('This can take a little bit depending how much data you have.') - ->warning() - ->sendToDatabase(Auth::user()); - - MigrateBadJsonResults::dispatch(Auth::user()); - }) - ->hidden($dataSettings->bad_json_migrated) - ->requiresConfirmation() - ->modalHeading('Migrate History') - ->modalDescription(new HtmlString('

v0.16.0 archived the old "results" table, to migrate your history click the button below.

For more information read the docs.

')) - ->modalSubmitActionLabel('Yes, migrate it'), - Tables\Actions\ActionGroup::make([ - Tables\Actions\Action::make('truncate') - ->action(fn () => TruncateResults::dispatch(Auth::user())) - ->requiresConfirmation() - ->modalHeading('Truncate Results') - ->modalDescription('Are you sure you want to truncate all results data? This can\'t be undone.') - ->color('danger') - ->icon('heroicon-o-trash') - ->hidden(fn (): bool => ! Auth::user()->is_admin), - ])->dropdownPlacement('bottom-end'), - ]) - ->defaultSort('created_at', 'desc') - ->paginated([5, 15, 25, 50, 100]) - ->defaultPaginationPageOption(15); - } - - public static function getPages(): array - { - return [ - 'index' => Pages\ListResults::route('/'), - ]; - } -} diff --git a/app/Filament/Resources/ResultResource/Pages/ListResults.php b/app/Filament/Resources/Results/Pages/ListResults.php similarity index 54% rename from app/Filament/Resources/ResultResource/Pages/ListResults.php rename to app/Filament/Resources/Results/Pages/ListResults.php index c139b6748..408275b61 100644 --- a/app/Filament/Resources/ResultResource/Pages/ListResults.php +++ b/app/Filament/Resources/Results/Pages/ListResults.php @@ -1,19 +1,14 @@ components(ResultForm::schema()); + } + + public static function table(Table $table): Table + { + return ResultTable::table($table); + } + + public static function getPages(): array + { + return [ + 'index' => ListResults::route('/'), + ]; + } +} diff --git a/app/Filament/Resources/Results/Schemas/ResultForm.php b/app/Filament/Resources/Results/Schemas/ResultForm.php new file mode 100644 index 000000000..3e2e5b852 --- /dev/null +++ b/app/Filament/Resources/Results/Schemas/ResultForm.php @@ -0,0 +1,132 @@ + 1, 'md' => 5]) + ->columnSpan('full') + ->schema([ + // Left column: stacked sections + Grid::make(['default' => 1]) + ->schema([ + Section::make(__('results.result_overview'))->schema([ + TextInput::make('id') + ->label(__('general.id')), + TextInput::make('created_at') + ->label(__('general.created_at')) + ->afterStateHydrated(function (TextInput $component, $state) { + $component->state(Carbon::parse($state) + ->timezone(config('app.display_timezone')) + ->format(config('app.datetime_format'))); + }), + TextInput::make('download') + ->label(__('general.download')) + ->afterStateHydrated(fn ($component, Result $record) => $component->state(! blank($record->download) ? Number::toBitRate(bits: $record->download_bits, precision: 2) : '')), + TextInput::make('upload') + ->label(__('general.upload')) + ->afterStateHydrated(fn ($component, Result $record) => $component->state(! blank($record->upload) ? Number::toBitRate(bits: $record->upload_bits, precision: 2) : '')), + TextInput::make('ping') + ->label(__('general.ping')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.packetLoss') + ->label(__('results.packet_loss')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 2, '.', '').' %'), + ])->columns(2)->columnSpan('full'), + + Section::make(__('general.download_latency')) + ->schema([ + TextInput::make('data.download.latency.jitter')->label(__('general.jitter')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.download.latency.high')->label(__('general.high')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.download.latency.low')->label(__('general.low')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.download.latency.iqm')->label(__('results.iqm')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + ]) + ->columns(2) + ->collapsed() + ->columnSpan('full'), + + Section::make(__('general.upload_latency')) + ->schema([ + TextInput::make('data.upload.latency.jitter')->label(__('general.jitter')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.upload.latency.high')->label(__('general.high')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.upload.latency.low')->label(__('general.low')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.upload.latency.iqm')->label(__('results.iqm')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + ]) + ->columns(2) + ->collapsed() + ->columnSpan('full'), + + Section::make(__('results.ping_details')) + ->schema([ + TextInput::make('data.ping.jitter')->label(__('general.jitter')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.ping.low')->label(__('general.low')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + TextInput::make('data.ping.high')->label(__('general.high')) + ->formatStateUsing(fn ($state) => number_format((float) $state, 0, '.', '').' ms'), + ]) + ->columns(2) + ->collapsed() + ->columnSpan('full'), + + Textarea::make('data.message') + ->label(__('general.message')) + ->hint(new HtmlString('🔗Error Messages')) + ->columnSpanFull(), + ]) + ->columnSpan(['md' => 3]), + + // Right column: Server & Metadata + Section::make(__('results.server_&_metadata'))->schema([ + TextEntry::make('service') + ->label(__('results.service')) + ->state(fn (Result $result): string => $result->service->getLabel()), + TextEntry::make('server_name') + ->label(__('results.server_name')) + ->state(fn (Result $result): ?string => $result->server_name), + TextEntry::make('server_id') + ->label(__('results.server_id')) + ->state(fn (Result $result): ?string => $result->server_id), + TextEntry::make('isp') + ->label(__('results.isp')) + ->state(fn (Result $result): ?string => $result->isp), + TextEntry::make('server_location') + ->label(__('results.server_location')) + ->state(fn (Result $result): ?string => $result->server_location), + TextEntry::make('server_host') + ->label(__('results.server_host')) + ->state(fn (Result $result): ?string => $result->server_host), + TextEntry::make('comment') + ->label(__('general.comment')) + ->state(fn (Result $result): ?string => $result->comments), + Checkbox::make('scheduled') + ->label(__('results.scheduled')), + Checkbox::make('healthy') + ->label(__('general.healthy')), + ])->columns(1)->columnSpan(['md' => 2]), + ]), + ]; + } +} diff --git a/app/Filament/Resources/Results/Tables/ResultTable.php b/app/Filament/Resources/Results/Tables/ResultTable.php new file mode 100644 index 000000000..6808e9f7d --- /dev/null +++ b/app/Filament/Resources/Results/Tables/ResultTable.php @@ -0,0 +1,278 @@ +columns([ + TextColumn::make('id') + ->label(__('general.id')) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable(), + + TextColumn::make('status') + ->label(__('general.status')) + ->badge() + ->toggleable(isToggledHiddenByDefault: false), + + TextColumn::make('data.interface.externalIp') + ->label(__('results.ip_address')) + ->toggleable(isToggledHiddenByDefault: true), + + TextColumn::make('service') + ->label(__('results.service')) + ->toggleable(isToggledHiddenByDefault: true), + + ResultServerColumn::make('server') + ->label(__('general.server')) + ->toggleable(isToggledHiddenByDefault: false), + + TextColumn::make('download') + ->label(__('results.download')) + ->getStateUsing(fn (Result $record): ?string => ! blank($record->download) ? Number::toBitRate(bits: $record->download_bits, precision: 2) : null) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable(), + + TextColumn::make('upload') + ->label(__('results.upload')) + ->getStateUsing(fn (Result $record): ?string => ! blank($record->upload) ? Number::toBitRate(bits: $record->upload_bits, precision: 2) : null) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable(), + + TextColumn::make('ping') + ->label(__('results.ping')) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable() + ->formatStateUsing(function ($state) { + return number_format((float) $state, 0, '.', '').' ms'; + }), + + TextColumn::make('data.packetLoss') + ->label(__('results.packet_loss')) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable() + ->formatStateUsing(function ($state) { + return number_format((float) $state, 2, '.', '').' %'; + }), + + TextColumn::make('data.download.latency.jitter') + ->label(__('results.download_latency_jitter')) + ->toggleable(isToggledHiddenByDefault: true) + ->sortable(query: function (Builder $query, string $direction): Builder { + return $query->orderBy('data->download->latency->jitter', $direction); + }) + ->formatStateUsing(function ($state) { + return number_format((float) $state, 0, '.', '').' ms'; + }), + + TextColumn::make('data.upload.latency.jitter') + ->label(__('results.upload_latency_jitter')) + ->toggleable(isToggledHiddenByDefault: true) + ->sortable(query: function (Builder $query, string $direction): Builder { + return $query->orderBy('data->upload->latency->jitter', $direction); + }) + ->formatStateUsing(function ($state) { + return number_format((float) $state, 0, '.', '').' ms'; + }), + + IconColumn::make('healthy') + ->label(__('general.healthy')) + ->boolean() + ->trueIcon(Heroicon::OutlinedCheckCircle) + ->falseIcon(Heroicon::OutlinedExclamationCircle) + ->trueColor('success') + ->falseColor('warning') + ->toggleable(isToggledHiddenByDefault: false) + ->alignment(Alignment::Center), + + IconColumn::make('scheduled') + ->label(__('results.scheduled')) + ->boolean() + ->toggleable(isToggledHiddenByDefault: true) + ->alignment(Alignment::Center), + + TextColumn::make('created_at') + ->label(__('general.created_at')) + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) + ->toggleable(isToggledHiddenByDefault: false) + ->sortable(), + ]) + ->filters([ + Filter::make('created_at') + ->label(__('general.created_at')) + ->schema([ + DatePicker::make('created_from') + ->label(__('results.created_from')) + ->closeOnDateSelection() + ->native(false), + DatePicker::make('created_until') + ->label(__('results.created_until')) + ->closeOnDateSelection() + ->native(false), + ]) + ->query(function (Builder $query, array $data): Builder { + return $query + ->when( + $data['created_from'], + fn (Builder $query, $date): Builder => $query->whereDate('created_at', '>=', $date), + ) + ->when( + $data['created_until'], + fn (Builder $query, $date): Builder => $query->whereDate('created_at', '<=', $date), + ); + }), + + SelectFilter::make('ip_address') + ->label(__('results.ip_address')) + ->multiple() + ->options(function (): array { + return Result::query() + ->select('data->interface->externalIp AS public_ip_address') + ->whereNotNull('data->interface->externalIp') + ->where('status', '=', ResultStatus::Completed) + ->distinct() + ->orderBy('data->interface->externalIp') + ->get() + ->mapWithKeys(function (Result $item, int $key) { + return [$item['public_ip_address'] => $item['public_ip_address']]; + }) + ->toArray(); + }) + ->attribute('data->interface->externalIp'), + + SelectFilter::make('server_name') + ->label(__('results.server_name')) + ->multiple() + ->options(function (): array { + return Result::query() + ->select('data->server->name AS data_server_name') + ->whereNotNull('data->server->name') + ->where('status', '=', ResultStatus::Completed) + ->distinct() + ->orderBy('data->server->name') + ->get() + ->mapWithKeys(function (Result $item, int $key) { + return [$item['data_server_name'] => $item['data_server_name']]; + }) + ->toArray(); + }) + ->attribute('data->server->name'), + + SelectFilter::make('server_id') + ->label(__('results.server_id')) + ->multiple() + ->options(function (): array { + return Result::query() + ->select('data->server->id AS data_server_id') + ->whereNotNull('data->server->id') + ->where('status', '=', ResultStatus::Completed) + ->distinct() + ->orderBy('data->server->id') + ->get() + ->mapWithKeys(function (Result $item, int $key) { + return [$item['data_server_id'] => $item['data_server_id']]; + }) + ->toArray(); + }) + ->attribute('data->server->id'), + + TernaryFilter::make('scheduled') + ->label(__('results.scheduled')) + ->nullable() + ->native(false) + ->trueLabel(__('results.only_scheduled_speedtests')) + ->falseLabel(__('results.only_manual_speedtests')) + ->queries( + true: fn (Builder $query) => $query->where('scheduled', true), + false: fn (Builder $query) => $query->where('scheduled', false), + blank: fn (Builder $query) => $query, + ), + + SelectFilter::make('status') + ->label(__('general.status')) + ->multiple() + ->options(ResultStatus::class), + + TernaryFilter::make('healthy') + ->label(__('general.healthy')) + ->nullable() + ->native(false) + ->trueLabel(__('results.only_healthy_speedtests')) + ->falseLabel(__('results.only_unhealthy_speedtests')) + ->queries( + true: fn (Builder $query) => $query->where('healthy', true), + false: fn (Builder $query) => $query->where('healthy', false), + blank: fn (Builder $query) => $query, + ), + ]) + ->recordActions([ + ActionGroup::make([ + ViewAction::make(), + DeleteAction::make(), + Action::make('view result') + ->label(__('results.view_on_speedtest_net')) + ->icon('heroicon-o-link') + ->url(fn (Result $record): ?string => $record->result_url) + ->hidden(fn (Result $record): bool => $record->status !== ResultStatus::Completed) + ->openUrlInNewTab(), + Action::make('updateComments') + ->label(__('results.update_comments')) + ->icon('heroicon-o-chat-bubble-bottom-center-text') + ->hidden(fn (): bool => ! (Auth::user()?->is_admin ?? false) && ! (Auth::user()?->is_user ?? false)) + ->mountUsing(fn ($form, Result $record) => $form->fill([ + 'comments' => $record->comments, + ])) + ->action(function (Result $record, array $data): void { + $record->comments = $data['comments']; + $record->save(); + }) + ->schema([ + Textarea::make('comments') + ->label(__('general.comments')) + ->rows(6) + ->maxLength(500), + ]), + ]), + ]) + ->toolbarActions([ + DeleteBulkAction::make(), + ExportAction::make() + ->exporter(ResultExporter::class) + ->columnMapping(false) + ->modalHeading(__('results.export_all_results')) + ->modalDescription(__('results.export_all_results_description')) + ->fileName(fn (): string => 'results-'.now()->timestamp), + ]) + ->defaultSort('id', 'desc') + ->paginationPageOptions([10, 25, 50]) + ->poll('60s'); + } +} diff --git a/app/Filament/Resources/UserResource.php b/app/Filament/Resources/UserResource.php deleted file mode 100644 index 9256ed6f1..000000000 --- a/app/Filament/Resources/UserResource.php +++ /dev/null @@ -1,160 +0,0 @@ -schema([ - Forms\Components\Grid::make([ - 'default' => 1, - 'md' => 3, - ]) - ->schema([ - Forms\Components\Section::make() - ->schema([ - Forms\Components\TextInput::make('name') - ->required(), - Forms\Components\TextInput::make('email') - ->required() - ->email() - ->unique(ignoreRecord: true), - Forms\Components\TextInput::make('password') - ->required() - ->password() - ->dehydrateStateUsing(fn ($state) => Hash::make($state)) - ->visible(fn ($livewire) => $livewire instanceof CreateUser) - ->rule(Password::default()), - Forms\Components\TextInput::make('new_password') - ->password() - ->label('New Password') - ->nullable() - ->rule(Password::default()) - ->visible(fn ($livewire) => $livewire instanceof EditUser) - ->dehydrated(false), - Forms\Components\TextInput::make('new_password_confirmation') - ->password() - ->label('Confirm New Password') - ->rule('required', fn ($get) => (bool) $get('new_password')) - ->same('new_password') - ->visible(fn ($livewire) => $livewire instanceof EditUser) - ->dehydrated(false), - ]) - ->columns(1) - ->columnSpan([ - 'md' => 2, - ]), - - Forms\Components\Grid::make([ - 'default' => 1, - ]) - ->schema([ - Forms\Components\Section::make() - ->schema([ - Forms\Components\Select::make('role') - ->options(UserRole::class) - ->disabled(fn (): bool => ! Auth::user()->is_admin) - ->required(), - ]) - ->columns(1) - ->columnSpan([ - 'md' => 1, - ]), - - Forms\Components\Section::make() - ->schema([ - Forms\Components\Placeholder::make('created_at') - ->content(fn ($record) => $record?->created_at?->diffForHumans() ?? new HtmlString('—')), - Forms\Components\Placeholder::make('updated_at') - ->content(fn ($record) => $record?->updated_at?->diffForHumans() ?? new HtmlString('—')), - ]) - ->columns(1) - ->columnSpan([ - 'md' => 1, - ]), - ]) - ->columns(1) - ->columnSpan([ - 'md' => 1, - ]), - ]), - ]); - } - - public static function table(Table $table): Table - { - $settings = new GeneralSettings(); - - return $table - ->columns([ - Tables\Columns\TextColumn::make('id') - ->label('ID'), - Tables\Columns\TextColumn::make('name') - ->searchable(), - Tables\Columns\TextColumn::make('email') - ->searchable(), - Tables\Columns\TextColumn::make('role') - ->badge() - ->color(UserRole::class), - Tables\Columns\TextColumn::make('created_at') - ->alignEnd() - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)), - Tables\Columns\TextColumn::make('updated_at') - ->alignEnd() - ->dateTime($settings->time_format ?? 'M j, Y G:i:s') - ->timezone(TimeZoneHelper::displayTimeZone($settings)) - ->toggleable(isToggledHiddenByDefault: true), - ]) - ->filters([ - Tables\Filters\SelectFilter::make('role') - ->options(UserRole::class), - ]) - ->actions([ - Tables\Actions\ActionGroup::make([ - Tables\Actions\ViewAction::make(), - Tables\Actions\EditAction::make(), - Tables\Actions\DeleteAction::make(), - ]), - ]); - } - - public static function getRelations(): array - { - return [ - // - ]; - } - - public static function getPages(): array - { - return [ - 'index' => Pages\ListUsers::route('/'), - 'create' => Pages\CreateUser::route('/create'), - 'edit' => Pages\EditUser::route('/{record}/edit'), - ]; - } -} diff --git a/app/Filament/Resources/UserResource/Pages/CreateUser.php b/app/Filament/Resources/UserResource/Pages/CreateUser.php deleted file mode 100644 index 78a389490..000000000 --- a/app/Filament/Resources/UserResource/Pages/CreateUser.php +++ /dev/null @@ -1,11 +0,0 @@ -data) || ! filled($this->data['new_password'])) { - return; - } - - $this->record->password = Hash::make($this->data['new_password']); - } -} diff --git a/app/Filament/Resources/UserResource/Pages/ListUsers.php b/app/Filament/Resources/Users/Pages/ListUsers.php similarity index 59% rename from app/Filament/Resources/UserResource/Pages/ListUsers.php rename to app/Filament/Resources/Users/Pages/ListUsers.php index 0766ffed7..6f0e73deb 100644 --- a/app/Filament/Resources/UserResource/Pages/ListUsers.php +++ b/app/Filament/Resources/Users/Pages/ListUsers.php @@ -1,9 +1,9 @@ 1, + ])->columnSpan([ + 'lg' => 2, + ])->schema([ + Section::make(__('general.details')) + ->columns([ + 'default' => 1, + 'lg' => 2, + ]) + ->schema([ + TextInput::make('name') + ->label(__('general.name')) + ->required() + ->maxLength(255) + ->columnSpanFull(), + + TextInput::make('email') + ->label(__('general.email')) + ->email() + ->required() + ->maxLength(255) + ->columnSpanFull(), + + TextInput::make('password') + ->label(__('general.password')) + ->confirmed() + ->password() + ->revealable() + ->required(fn (string $context): bool => $context === 'create') + ->dehydrateStateUsing(fn ($state) => Hash::make($state)) + ->dehydrated(fn ($state) => filled($state)), + + TextInput::make('password_confirmation') + ->label(__('general.password_confirmation')) + ->password() + ->revealable(), + ]), + ]), + + Grid::make(1) + ->columnSpan(1) + ->schema([ + Section::make(__('general.platform')) + ->schema([ + Select::make('role') + ->label(__('general.role')) + ->default(UserRole::User) + ->options(UserRole::class) + ->required() + ->disabled(fn (?User $record): bool => Auth::user()->role !== UserRole::Admin), + ]), + + Section::make() + ->schema([ + Placeholder::make('created_at') + ->label(__('general.created_at')) + ->content(fn (?User $record): string => $record ? $record->created_at->diffForHumans() : '-'), + + Placeholder::make('updated_at') + ->label(__('general.updated_at')) + ->content(fn (?User $record): string => $record ? $record->updated_at->diffForHumans() : '-'), + ]), + ]), + ]; + } +} diff --git a/app/Filament/Resources/Users/Tables/UserTable.php b/app/Filament/Resources/Users/Tables/UserTable.php new file mode 100644 index 000000000..cb910493e --- /dev/null +++ b/app/Filament/Resources/Users/Tables/UserTable.php @@ -0,0 +1,66 @@ +columns([ + TextColumn::make('id') + ->label(__('general.id')) + ->sortable() + ->toggleable(isToggledHiddenByDefault: false), + TextColumn::make('name') + ->label(__('general.name')) + ->sortable() + ->toggleable(isToggledHiddenByDefault: false), + TextColumn::make('email') + ->label(__('general.email')) + ->searchable() + ->toggleable(isToggledHiddenByDefault: false), + TextColumn::make('role') + ->label(__('general.role')) + ->badge() + ->toggleable(isToggledHiddenByDefault: false), + TextColumn::make('created_at') + ->label(__('general.created_at')) + ->alignEnd() + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) + ->sortable() + ->toggleable(isToggledHiddenByDefault: false), + TextColumn::make('updated_at') + ->label(__('general.updated_at')) + ->alignEnd() + ->dateTime(config('app.datetime_format')) + ->timezone(config('app.display_timezone')) + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + SelectFilter::make('role') + ->label(__('general.role')) + ->native(false) + ->options(UserRole::class), + ]) + ->recordActions([ + ActionGroup::make([ + EditAction::make(), + DeleteAction::make(), + ]), + ]) + ->toolbarActions([ + // Add bulk actions here if needed + ]); + } +} diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php new file mode 100644 index 000000000..c1b2d958d --- /dev/null +++ b/app/Filament/Resources/Users/UserResource.php @@ -0,0 +1,54 @@ +components(UserForm::schema()); + } + + public static function table(Table $table): Table + { + return UserTable::table($table); + } + + public static function getRelations(): array + { + return [ + // + ]; + } + + public static function getPages(): array + { + return [ + 'index' => ListUsers::route('/'), + ]; + } +} diff --git a/app/Filament/Tables/Columns/ResultServerColumn.php b/app/Filament/Tables/Columns/ResultServerColumn.php new file mode 100644 index 000000000..357951e15 --- /dev/null +++ b/app/Filament/Tables/Columns/ResultServerColumn.php @@ -0,0 +1,28 @@ +serverName = $this->record->server_name; + + return $this->serverName; + } + + public function getServerId(): ?int + { + $this->serverId = $this->record->server_id; + + return $this->serverId; + } +} diff --git a/app/Filament/VersionProviders/SpeedtestTrackerVersionProvider.php b/app/Filament/VersionProviders/SpeedtestTrackerVersionProvider.php deleted file mode 100644 index e25d66032..000000000 --- a/app/Filament/VersionProviders/SpeedtestTrackerVersionProvider.php +++ /dev/null @@ -1,21 +0,0 @@ -isProduction() - ? (new SystemChecker)->getLocalVersion() - : config('app.env'); - } -} diff --git a/app/Filament/Widgets/Concerns/HasChartFilters.php b/app/Filament/Widgets/Concerns/HasChartFilters.php new file mode 100644 index 000000000..a792e07c9 --- /dev/null +++ b/app/Filament/Widgets/Concerns/HasChartFilters.php @@ -0,0 +1,15 @@ + __('general.last_24h'), + 'week' => __('general.last_week'), + 'month' => __('general.last_month'), + ]; + } +} diff --git a/app/Filament/Widgets/DeprecatedImage.php b/app/Filament/Widgets/DeprecatedImage.php deleted file mode 100644 index 8e5f7886b..000000000 --- a/app/Filament/Widgets/DeprecatedImage.php +++ /dev/null @@ -1,18 +0,0 @@ -exists('.deprecated_image'); - } -} diff --git a/app/Filament/Widgets/RecentDownloadChartWidget.php b/app/Filament/Widgets/RecentDownloadChartWidget.php index a9640c889..098708648 100644 --- a/app/Filament/Widgets/RecentDownloadChartWidget.php +++ b/app/Filament/Widgets/RecentDownloadChartWidget.php @@ -3,50 +3,48 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; +use App\Filament\Widgets\Concerns\HasChartFilters; +use App\Helpers\Average; use App\Helpers\Number; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentDownloadChartWidget extends ChartWidget { - protected static ?string $heading = 'Download (Mbps)'; + use HasChartFilters; + + protected ?string $heading = null; + + public function getHeading(): ?string + { + return __('general.download_mbps'); + } protected int|string|array $columnSpan = 'full'; - protected static ?string $maxHeight = '250px'; + protected ?string $maxHeight = '250px'; - public ?string $filter = '24h'; + protected ?string $pollingInterval = '60s'; - protected function getPollingInterval(): ?string - { - return config('speedtest.dashboard_polling'); - } + public ?string $filter = null; - protected function getFilters(): ?array + public function mount(): void { - return [ - '24h' => 'Last 24h', - 'week' => 'Last week', - 'month' => 'Last month', - ]; + $this->filter = $this->filter ?? config('speedtest.default_chart_range', '24h'); } protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'download', 'created_at']) ->where('status', '=', ResultStatus::Completed) - ->when($this->filter == '24h', function ($query) { + ->when($this->filter === '24h', function ($query) { $query->where('created_at', '>=', now()->subDay()); }) - ->when($this->filter == 'week', function ($query) { + ->when($this->filter === 'week', function ($query) { $query->where('created_at', '>=', now()->subWeek()); }) - ->when($this->filter == 'month', function ($query) { + ->when($this->filter === 'month', function ($query) { $query->where('created_at', '>=', now()->subMonth()); }) ->orderBy('created_at') @@ -55,16 +53,28 @@ protected function getData(): array return [ 'datasets' => [ [ - 'label' => 'Download', - 'data' => $results->map(fn ($item) => ! blank($item->download) ? Number::bitsToMagnitude(bits: $item->download_bits, precision: 2, magnitude: 'mbit') : 0), - 'borderColor' => '#0ea5e9', - 'backgroundColor' => '#0ea5e9', + 'label' => __('general.download'), + 'data' => $results->map(fn ($item) => ! blank($item->download) ? Number::bitsToMagnitude(bits: $item->download_bits, precision: 2, magnitude: 'mbit') : null), + 'borderColor' => 'rgba(14, 165, 233)', + 'backgroundColor' => 'rgba(14, 165, 233, 0.1)', + 'pointBackgroundColor' => 'rgba(14, 165, 233)', + 'fill' => true, + 'cubicInterpolationMode' => 'monotone', + 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, + ], + [ + 'label' => __('general.average'), + 'data' => array_fill(0, count($results), Average::averageDownload($results)), + 'borderColor' => 'rgb(243, 7, 6, 1)', + 'pointBackgroundColor' => 'rgb(243, 7, 6, 1)', 'fill' => false, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => 0, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format(config('app.chart_datetime_format'))), ]; } @@ -73,12 +83,20 @@ protected function getOptions(): array return [ 'plugins' => [ 'legend' => [ - 'display' => false, + 'display' => true, + + ], + 'tooltip' => [ + 'enabled' => true, + 'mode' => 'index', + 'intersect' => false, + 'position' => 'nearest', ], ], 'scales' => [ 'y' => [ - 'beginAtZero' => true, + 'beginAtZero' => config('app.chart_begin_at_zero'), + 'grace' => 2, ], ], ]; diff --git a/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php b/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php index dc68d8b02..e06c86c87 100644 --- a/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php +++ b/app/Filament/Widgets/RecentDownloadLatencyChartWidget.php @@ -3,49 +3,46 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; +use App\Filament\Widgets\Concerns\HasChartFilters; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentDownloadLatencyChartWidget extends ChartWidget { - protected static ?string $heading = 'Download Latency'; + use HasChartFilters; + + protected ?string $heading = null; + + public function getHeading(): ?string + { + return __('general.download_latency'); + } protected int|string|array $columnSpan = 'full'; - protected static ?string $maxHeight = '250px'; + protected ?string $maxHeight = '250px'; - public ?string $filter = '24h'; + protected ?string $pollingInterval = '60s'; - protected function getPollingInterval(): ?string - { - return config('speedtest.dashboard_polling'); - } + public ?string $filter = null; - protected function getFilters(): ?array + public function mount(): void { - return [ - '24h' => 'Last 24h', - 'week' => 'Last week', - 'month' => 'Last month', - ]; + $this->filter = $this->filter ?? config('speedtest.default_chart_range', '24h'); } protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'data', 'created_at']) ->where('status', '=', ResultStatus::Completed) - ->when($this->filter == '24h', function ($query) { + ->when($this->filter === '24h', function ($query) { $query->where('created_at', '>=', now()->subDay()); }) - ->when($this->filter == 'week', function ($query) { + ->when($this->filter === 'week', function ($query) { $query->where('created_at', '>=', now()->subWeek()); }) - ->when($this->filter == 'month', function ($query) { + ->when($this->filter === 'month', function ($query) { $query->where('created_at', '>=', now()->subMonth()); }) ->orderBy('created_at') @@ -54,43 +51,61 @@ protected function getData(): array return [ 'datasets' => [ [ - 'label' => 'Average (ms)', - 'data' => $results->map(fn ($item) => $item->download_latency_iqm ? number_format($item->download_latency_iqm, 2) : 0), - 'borderColor' => '#10b981', - 'backgroundColor' => '#10b981', - 'fill' => false, + 'label' => __('general.average_ms'), + 'data' => $results->map(fn ($item) => $item->download_latency_iqm), + 'borderColor' => 'rgba(16, 185, 129)', + 'backgroundColor' => 'rgba(16, 185, 129, 0.1)', + 'pointBackgroundColor' => 'rgba(16, 185, 129)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], [ - 'label' => 'High (ms)', - 'data' => $results->map(fn ($item) => $item->download_latency_high ? number_format($item->download_latency_high, 2) : 0), - 'borderColor' => '#0ea5e9', - 'backgroundColor' => '#0ea5e9', - 'fill' => false, + 'label' => __('general.high_ms'), + 'data' => $results->map(fn ($item) => $item->download_latency_high), + 'borderColor' => 'rgba(14, 165, 233)', + 'backgroundColor' => 'rgba(14, 165, 233, 0.1)', + 'pointBackgroundColor' => 'rgba(14, 165, 233)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], [ - 'label' => 'Low (ms)', - 'data' => $results->map(fn ($item) => $item->download_latency_low ? number_format($item->download_latency_low, 2) : 0), - 'borderColor' => '#8b5cf6', - 'backgroundColor' => '#8b5cf6', - 'fill' => false, + 'label' => __('general.low_ms'), + 'data' => $results->map(fn ($item) => $item->download_latency_low), + 'borderColor' => 'rgba(139, 92, 246)', + 'backgroundColor' => 'rgba(139, 92, 246, 0.1)', + 'pointBackgroundColor' => 'rgba(139, 92, 246)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format(config('app.chart_datetime_format'))), ]; } protected function getOptions(): array { return [ + 'plugins' => [ + 'legend' => [ + 'display' => true, + ], + 'tooltip' => [ + 'enabled' => true, + 'mode' => 'index', + 'intersect' => false, + 'position' => 'nearest', + ], + ], 'scales' => [ 'y' => [ - 'beginAtZero' => true, + 'beginAtZero' => config('app.chart_begin_at_zero'), + 'grace' => 2, ], ], ]; diff --git a/app/Filament/Widgets/RecentJitterChartWidget.php b/app/Filament/Widgets/RecentJitterChartWidget.php index 03d0e09be..03dd59b13 100644 --- a/app/Filament/Widgets/RecentJitterChartWidget.php +++ b/app/Filament/Widgets/RecentJitterChartWidget.php @@ -3,49 +3,46 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; +use App\Filament\Widgets\Concerns\HasChartFilters; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentJitterChartWidget extends ChartWidget { - protected static ?string $heading = 'Jitter'; + use HasChartFilters; + + protected ?string $heading = null; + + public function getHeading(): ?string + { + return __('general.jitter'); + } protected int|string|array $columnSpan = 'full'; - protected static ?string $maxHeight = '250px'; + protected ?string $maxHeight = '250px'; - public ?string $filter = '24h'; + protected ?string $pollingInterval = '60s'; - protected function getPollingInterval(): ?string - { - return config('speedtest.dashboard_polling'); - } + public ?string $filter = null; - protected function getFilters(): ?array + public function mount(): void { - return [ - '24h' => 'Last 24h', - 'week' => 'Last week', - 'month' => 'Last month', - ]; + $this->filter = $this->filter ?? config('speedtest.default_chart_range', '24h'); } protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'data', 'created_at']) ->where('status', '=', ResultStatus::Completed) - ->when($this->filter == '24h', function ($query) { + ->when($this->filter === '24h', function ($query) { $query->where('created_at', '>=', now()->subDay()); }) - ->when($this->filter == 'week', function ($query) { + ->when($this->filter === 'week', function ($query) { $query->where('created_at', '>=', now()->subWeek()); }) - ->when($this->filter == 'month', function ($query) { + ->when($this->filter === 'month', function ($query) { $query->where('created_at', '>=', now()->subMonth()); }) ->orderBy('created_at') @@ -54,43 +51,60 @@ protected function getData(): array return [ 'datasets' => [ [ - 'label' => 'Download (ms)', - 'data' => $results->map(fn ($item) => $item->download_jitter ? number_format($item->download_jitter, 2) : 0), - 'borderColor' => '#0ea5e9', - 'backgroundColor' => '#0ea5e9', - 'fill' => false, + 'label' => __('general.download_ms'), + 'data' => $results->map(fn ($item) => $item->download_jitter), + 'borderColor' => 'rgba(14, 165, 233)', + 'backgroundColor' => 'rgba(14, 165, 233, 0.1)', + 'pointBackgroundColor' => 'rgba(14, 165, 233)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], [ - 'label' => 'Upload (ms)', - 'data' => $results->map(fn ($item) => $item->upload_jitter ? number_format($item->upload_jitter, 2) : 0), - 'borderColor' => '#8b5cf6', - 'backgroundColor' => '#8b5cf6', - 'fill' => false, + 'label' => __('general.upload_ms'), + 'data' => $results->map(fn ($item) => $item->upload_jitter), + 'borderColor' => 'rgba(139, 92, 246)', + 'backgroundColor' => 'rgba(139, 92, 246, 0.1)', + 'pointBackgroundColor' => 'rgba(139, 92, 246)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], [ - 'label' => 'Ping (ms)', - 'data' => $results->map(fn ($item) => $item->ping_jitter ? number_format($item->ping_jitter, 2) : 0), - 'borderColor' => '#10b981', - 'backgroundColor' => '#10b981', - 'fill' => false, + 'label' => __('general.ping_ms_label'), + 'data' => $results->map(fn ($item) => $item->ping_jitter), + 'borderColor' => 'rgba(16, 185, 129)', + 'backgroundColor' => 'rgba(16, 185, 129, 0.1)', + 'pointBackgroundColor' => 'rgba(16, 185, 129)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format(config('app.chart_datetime_format'))), ]; } protected function getOptions(): array { return [ + 'plugins' => [ + 'legend' => [ + 'display' => true, + ], + 'tooltip' => [ + 'enabled' => true, + 'mode' => 'index', + 'intersect' => false, + 'position' => 'nearest', + ], + ], 'scales' => [ 'y' => [ - 'beginAtZero' => true, + 'beginAtZero' => config('app.chart_begin_at_zero'), ], ], ]; diff --git a/app/Filament/Widgets/RecentPingChartWidget.php b/app/Filament/Widgets/RecentPingChartWidget.php index 068cfd5ba..096a190ec 100644 --- a/app/Filament/Widgets/RecentPingChartWidget.php +++ b/app/Filament/Widgets/RecentPingChartWidget.php @@ -3,49 +3,47 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; +use App\Filament\Widgets\Concerns\HasChartFilters; +use App\Helpers\Average; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentPingChartWidget extends ChartWidget { - protected static ?string $heading = 'Ping (ms)'; + use HasChartFilters; + + protected ?string $heading = null; + + public function getHeading(): ?string + { + return __('general.ping_ms'); + } protected int|string|array $columnSpan = 'full'; - protected static ?string $maxHeight = '250px'; + protected ?string $maxHeight = '250px'; - public ?string $filter = '24h'; + protected ?string $pollingInterval = '60s'; - protected function getPollingInterval(): ?string - { - return config('speedtest.dashboard_polling'); - } + public ?string $filter = null; - protected function getFilters(): ?array + public function mount(): void { - return [ - '24h' => 'Last 24h', - 'week' => 'Last week', - 'month' => 'Last month', - ]; + $this->filter = $this->filter ?? config('speedtest.default_chart_range', '24h'); } protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'ping', 'created_at']) ->where('status', '=', ResultStatus::Completed) - ->when($this->filter == '24h', function ($query) { + ->when($this->filter === '24h', function ($query) { $query->where('created_at', '>=', now()->subDay()); }) - ->when($this->filter == 'week', function ($query) { + ->when($this->filter === 'week', function ($query) { $query->where('created_at', '>=', now()->subWeek()); }) - ->when($this->filter == 'month', function ($query) { + ->when($this->filter === 'month', function ($query) { $query->where('created_at', '>=', now()->subMonth()); }) ->orderBy('created_at') @@ -54,25 +52,49 @@ protected function getData(): array return [ 'datasets' => [ [ - 'label' => 'Ping (ms)', - 'data' => $results->map(fn ($item) => ! blank($item->ping) ? number_format($item->ping, 2) : 0), - 'borderColor' => '#10b981', - 'backgroundColor' => '#10b981', + 'label' => __('general.ping'), + 'data' => $results->map(fn ($item) => $item->ping), + 'borderColor' => 'rgba(16, 185, 129)', + 'backgroundColor' => 'rgba(16, 185, 129, 0.1)', + 'pointBackgroundColor' => 'rgba(16, 185, 129)', + 'fill' => true, + 'cubicInterpolationMode' => 'monotone', + 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, + ], + [ + 'label' => __('general.average'), + 'data' => array_fill(0, count($results), Average::averagePing($results)), + 'borderColor' => 'rgb(243, 7, 6, 1)', + 'pointBackgroundColor' => 'rgb(243, 7, 6, 1)', 'fill' => false, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => 0, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format(config('app.chart_datetime_format'))), ]; } protected function getOptions(): array { return [ + 'plugins' => [ + 'legend' => [ + 'display' => true, + ], + 'tooltip' => [ + 'enabled' => true, + 'mode' => 'index', + 'intersect' => false, + 'position' => 'nearest', + ], + ], 'scales' => [ 'y' => [ - 'beginAtZero' => true, + 'beginAtZero' => config('app.chart_begin_at_zero'), + 'grace' => 2, ], ], ]; diff --git a/app/Filament/Widgets/RecentUploadChartWidget.php b/app/Filament/Widgets/RecentUploadChartWidget.php index aab60eaab..1bb96eb04 100644 --- a/app/Filament/Widgets/RecentUploadChartWidget.php +++ b/app/Filament/Widgets/RecentUploadChartWidget.php @@ -3,50 +3,48 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; +use App\Filament\Widgets\Concerns\HasChartFilters; +use App\Helpers\Average; use App\Helpers\Number; -use App\Helpers\TimeZoneHelper; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentUploadChartWidget extends ChartWidget { - protected static ?string $heading = 'Upload (Mbps)'; + use HasChartFilters; + + protected ?string $heading = null; + + public function getHeading(): ?string + { + return __('general.upload_mbps'); + } protected int|string|array $columnSpan = 'full'; - protected static ?string $maxHeight = '250px'; + protected ?string $maxHeight = '250px'; - public ?string $filter = '24h'; + protected ?string $pollingInterval = '60s'; - protected function getPollingInterval(): ?string - { - return config('speedtest.dashboard_polling'); - } + public ?string $filter = null; - protected function getFilters(): ?array + public function mount(): void { - return [ - '24h' => 'Last 24h', - 'week' => 'Last week', - 'month' => 'Last month', - ]; + $this->filter = $this->filter ?? config('speedtest.default_chart_range', '24h'); } protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'upload', 'created_at']) ->where('status', '=', ResultStatus::Completed) - ->when($this->filter == '24h', function ($query) { + ->when($this->filter === '24h', function ($query) { $query->where('created_at', '>=', now()->subDay()); }) - ->when($this->filter == 'week', function ($query) { + ->when($this->filter === 'week', function ($query) { $query->where('created_at', '>=', now()->subWeek()); }) - ->when($this->filter == 'month', function ($query) { + ->when($this->filter === 'month', function ($query) { $query->where('created_at', '>=', now()->subMonth()); }) ->orderBy('created_at') @@ -55,16 +53,28 @@ protected function getData(): array return [ 'datasets' => [ [ - 'label' => 'Upload', - 'data' => $results->map(fn ($item) => ! blank($item->upload) ? Number::bitsToMagnitude(bits: $item->upload_bits, precision: 2, magnitude: 'mbit') : 0), - 'borderColor' => '#8b5cf6', - 'backgroundColor' => '#8b5cf6', + 'label' => __('general.upload'), + 'data' => $results->map(fn ($item) => ! blank($item->upload) ? Number::bitsToMagnitude(bits: $item->upload_bits, precision: 2, magnitude: 'mbit') : null), + 'borderColor' => 'rgba(139, 92, 246)', + 'backgroundColor' => 'rgba(139, 92, 246, 0.1)', + 'pointBackgroundColor' => 'rgba(139, 92, 246)', + 'fill' => true, + 'cubicInterpolationMode' => 'monotone', + 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, + ], + [ + 'label' => __('general.average'), + 'data' => array_fill(0, count($results), Average::averageUpload($results)), + 'borderColor' => 'rgb(243, 7, 6, 1)', + 'pointBackgroundColor' => 'rgb(243, 7, 6, 1)', 'fill' => false, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => 0, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format(config('app.chart_datetime_format'))), ]; } @@ -73,12 +83,19 @@ protected function getOptions(): array return [ 'plugins' => [ 'legend' => [ - 'display' => false, + 'display' => true, + ], + 'tooltip' => [ + 'enabled' => true, + 'mode' => 'index', + 'intersect' => false, + 'position' => 'nearest', ], ], 'scales' => [ 'y' => [ - 'beginAtZero' => true, + 'beginAtZero' => config('app.chart_begin_at_zero'), + 'grace' => 2, ], ], ]; diff --git a/app/Filament/Widgets/RecentUploadLatencyChartWidget.php b/app/Filament/Widgets/RecentUploadLatencyChartWidget.php index 6128e34ba..90315ddd9 100644 --- a/app/Filament/Widgets/RecentUploadLatencyChartWidget.php +++ b/app/Filament/Widgets/RecentUploadLatencyChartWidget.php @@ -3,49 +3,46 @@ namespace App\Filament\Widgets; use App\Enums\ResultStatus; -use App\Helpers\TimeZoneHelper; +use App\Filament\Widgets\Concerns\HasChartFilters; use App\Models\Result; -use App\Settings\GeneralSettings; use Filament\Widgets\ChartWidget; class RecentUploadLatencyChartWidget extends ChartWidget { - protected static ?string $heading = 'Upload Latency'; + use HasChartFilters; + + protected ?string $heading = null; + + public function getHeading(): ?string + { + return __('general.upload_latency'); + } protected int|string|array $columnSpan = 'full'; - protected static ?string $maxHeight = '250px'; + protected ?string $maxHeight = '250px'; - public ?string $filter = '24h'; + protected ?string $pollingInterval = '60s'; - protected function getPollingInterval(): ?string - { - return config('speedtest.dashboard_polling'); - } + public ?string $filter = null; - protected function getFilters(): ?array + public function mount(): void { - return [ - '24h' => 'Last 24h', - 'week' => 'Last week', - 'month' => 'Last month', - ]; + $this->filter = $this->filter ?? config('speedtest.default_chart_range', '24h'); } protected function getData(): array { - $settings = new GeneralSettings(); - $results = Result::query() ->select(['id', 'data', 'created_at']) ->where('status', '=', ResultStatus::Completed) - ->when($this->filter == '24h', function ($query) { + ->when($this->filter === '24h', function ($query) { $query->where('created_at', '>=', now()->subDay()); }) - ->when($this->filter == 'week', function ($query) { + ->when($this->filter === 'week', function ($query) { $query->where('created_at', '>=', now()->subWeek()); }) - ->when($this->filter == 'month', function ($query) { + ->when($this->filter === 'month', function ($query) { $query->where('created_at', '>=', now()->subMonth()); }) ->orderBy('created_at') @@ -54,43 +51,61 @@ protected function getData(): array return [ 'datasets' => [ [ - 'label' => 'Average (ms)', - 'data' => $results->map(fn ($item) => $item->upload_latency_iqm ? number_format($item->upload_latency_iqm, 2) : 0), - 'borderColor' => '#10b981', - 'backgroundColor' => '#10b981', - 'fill' => false, + 'label' => __('general.average_ms'), + 'data' => $results->map(fn ($item) => $item->upload_latency_iqm), + 'borderColor' => 'rgba(16, 185, 129)', + 'backgroundColor' => 'rgba(16, 185, 129, 0.1)', + 'pointBackgroundColor' => 'rgba(16, 185, 129)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], [ - 'label' => 'High (ms)', - 'data' => $results->map(fn ($item) => $item->upload_latency_high ? number_format($item->upload_latency_high, 2) : 0), - 'borderColor' => '#0ea5e9', - 'backgroundColor' => '#0ea5e9', - 'fill' => false, + 'label' => __('general.high_ms'), + 'data' => $results->map(fn ($item) => $item->upload_latency_high), + 'borderColor' => 'rgba(14, 165, 233)', + 'backgroundColor' => 'rgba(14, 165, 233, 0.1)', + 'pointBackgroundColor' => 'rgba(14, 165, 233)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], [ - 'label' => 'Low (ms)', - 'data' => $results->map(fn ($item) => $item->upload_latency_low ? number_format($item->upload_latency_low, 2) : 0), - 'borderColor' => '#8b5cf6', - 'backgroundColor' => '#8b5cf6', - 'fill' => false, + 'label' => __('general.low_ms'), + 'data' => $results->map(fn ($item) => $item->upload_latency_low), + 'borderColor' => 'rgba(139, 92, 246)', + 'backgroundColor' => 'rgba(139, 92, 246, 0.1)', + 'pointBackgroundColor' => 'rgba(139, 92, 246)', + 'fill' => true, 'cubicInterpolationMode' => 'monotone', 'tension' => 0.4, + 'pointRadius' => count($results) <= 24 ? 3 : 0, ], ], - 'labels' => $results->map(fn ($item) => $item->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->format('M d - G:i')), + 'labels' => $results->map(fn ($item) => $item->created_at->timezone(config('app.display_timezone'))->format(config('app.chart_datetime_format'))), ]; } protected function getOptions(): array { return [ + 'plugins' => [ + 'legend' => [ + 'display' => true, + ], + 'tooltip' => [ + 'enabled' => true, + 'mode' => 'index', + 'intersect' => false, + 'position' => 'nearest', + ], + ], 'scales' => [ 'y' => [ - 'beginAtZero' => true, + 'beginAtZero' => config('app.chart_begin_at_zero'), + 'grace' => 2, ], ], ]; diff --git a/app/Filament/Widgets/StatsOverviewWidget.php b/app/Filament/Widgets/StatsOverviewWidget.php deleted file mode 100644 index 6a7721147..000000000 --- a/app/Filament/Widgets/StatsOverviewWidget.php +++ /dev/null @@ -1,79 +0,0 @@ -result = Result::query() - ->select(['id', 'ping', 'download', 'upload', 'status', 'created_at']) - ->where('status', '=', ResultStatus::Completed) - ->latest() - ->first(); - - if (blank($this->result)) { - return [ - Stat::make('Latest download', '-') - ->icon('heroicon-o-arrow-down-tray'), - Stat::make('Latest upload', '-') - ->icon('heroicon-o-arrow-up-tray'), - Stat::make('Latest ping', '-') - ->icon('heroicon-o-clock'), - ]; - } - - $previous = Result::query() - ->select(['id', 'ping', 'download', 'upload', 'status', 'created_at']) - ->where('id', '<', $this->result->id) - ->where('status', '=', ResultStatus::Completed) - ->latest() - ->first(); - - if (! $previous) { - return [ - Stat::make('Latest download', fn (): string => ! blank($this->result) ? Number::toBitRate(bits: $this->result->download_bits, precision: 2) : 'n/a') - ->icon('heroicon-o-arrow-down-tray'), - Stat::make('Latest upload', fn (): string => ! blank($this->result) ? Number::toBitRate(bits: $this->result->upload_bits, precision: 2) : 'n/a') - ->icon('heroicon-o-arrow-up-tray'), - Stat::make('Latest ping', fn (): string => ! blank($this->result) ? number_format($this->result->ping, 2).' ms' : 'n/a') - ->icon('heroicon-o-clock'), - ]; - } - - $downloadChange = percentChange($this->result->download, $previous->download, 2); - $uploadChange = percentChange($this->result->upload, $previous->upload, 2); - $pingChange = percentChange($this->result->ping, $previous->ping, 2); - - return [ - Stat::make('Latest download', fn (): string => ! blank($this->result) ? Number::toBitRate(bits: $this->result->download_bits, precision: 2) : 'n/a') - ->icon('heroicon-o-arrow-down-tray') - ->description($downloadChange > 0 ? $downloadChange.'% faster' : abs($downloadChange).'% slower') - ->descriptionIcon($downloadChange > 0 ? 'heroicon-m-arrow-trending-up' : 'heroicon-m-arrow-trending-down') - ->color($downloadChange > 0 ? 'success' : 'danger'), - Stat::make('Latest upload', fn (): string => ! blank($this->result) ? Number::toBitRate(bits: $this->result->upload_bits, precision: 2) : 'n/a') - ->icon('heroicon-o-arrow-up-tray') - ->description($uploadChange > 0 ? $uploadChange.'% faster' : abs($uploadChange).'% slower') - ->descriptionIcon($uploadChange > 0 ? 'heroicon-m-arrow-trending-up' : 'heroicon-m-arrow-trending-down') - ->color($uploadChange > 0 ? 'success' : 'danger'), - Stat::make('Latest ping', fn (): string => ! blank($this->result) ? number_format($this->result->ping, 2).' ms' : 'n/a') - ->icon('heroicon-o-clock') - ->description($pingChange > 0 ? $pingChange.'% slower' : abs($pingChange).'% faster') - ->descriptionIcon($pingChange > 0 ? 'heroicon-m-arrow-trending-up' : 'heroicon-m-arrow-trending-down') - ->color($pingChange > 0 ? 'danger' : 'success'), - ]; - } -} diff --git a/app/Helpers/Average.php b/app/Helpers/Average.php new file mode 100644 index 000000000..c93d2d5cd --- /dev/null +++ b/app/Helpers/Average.php @@ -0,0 +1,44 @@ +map(function ($item) use ($magnitude, $precision) { + return ! blank($item->download) + ? Number::bitsToMagnitude(bits: $item->download_bits, precision: $precision, magnitude: $magnitude) + : 0; + })->avg(), + $precision + ); + } + + public static function averageUpload(Collection $results, int $precision = 2, string $magnitude = 'mbit'): float + { + return round( + $results->map(function ($item) use ($magnitude, $precision) { + return ! blank($item->upload) + ? Number::bitsToMagnitude(bits: $item->upload_bits, precision: $precision, magnitude: $magnitude) + : 0; + })->avg(), + $precision + ); + } + + public static function averagePing(Collection $results, int $precision = 2): float + { + $avgPing = $results->filter(function ($item) { + return ! blank($item->ping); + })->avg('ping'); + + return round($avgPing, $precision); + } +} diff --git a/app/Helpers/Benchmark.php b/app/Helpers/Benchmark.php new file mode 100644 index 000000000..db9de97df --- /dev/null +++ b/app/Helpers/Benchmark.php @@ -0,0 +1,40 @@ += Bitrate::normalizeToBits($value.$unit); + } + + /** + * Validate if the ping passes the benchmark. + */ + public static function ping(float|int $ping, array $benchmark): bool + { + $value = Arr::get($benchmark, 'value'); + + // Pass the benchmark if the value is empty. + if (blank($value)) { + return true; + } + + return $ping < $value; + } +} diff --git a/app/Helpers/Bitrate.php b/app/Helpers/Bitrate.php new file mode 100644 index 000000000..ba646cade --- /dev/null +++ b/app/Helpers/Bitrate.php @@ -0,0 +1,94 @@ + 1, + 'kb' => 1000, + 'kib' => 1024, + 'mb' => 1000000, + 'mib' => 1048576, + 'gb' => 1000000000, + 'gib' => 1073741824, + 'tb' => 1000000000000, + 'tib' => 1099511627776, + ]; + + /** + * Convert bytes to bits. + */ + public static function bytesToBits(int|float $bytes): int|float + { + if ($bytes < 0) { + throw new InvalidArgumentException('Bytes value cannot be negative'); + } + + // 1 byte = 8 bits + return round($bytes * 8); + } + + /** + * Parse and normalize any bit rate to bits. + */ + public static function normalizeToBits(float|int|string $bitrate): float + { + // If numeric, assume it's already in bits + if (is_numeric($bitrate)) { + return (float) $bitrate; + } + + // Convert to lowercase and remove any whitespace + $bitrate = strtolower(trim($bitrate)); + + // Remove 'ps' or 'per second' suffix if present + $bitrate = str_replace(['ps', 'per second'], '', $bitrate); + + // Extract numeric value and unit + if (! preg_match('/^([\d.]+)\s*([kmgt]?i?b)$/', $bitrate, $matches)) { + throw new InvalidArgumentException( + "Invalid bitrate format. Expected format: '1.5 Mb', '500kb', etc." + ); + } + + $value = (float) $matches[1]; + $unit = $matches[2]; + + // Validate unit + if (! isset(self::UNITS[$unit])) { + throw new InvalidArgumentException( + "Invalid unit '$unit'. Supported units: ".implode(', ', array_keys(self::UNITS)) + ); + } + + // Convert to bits + return $value * self::UNITS[$unit]; + } + + /** + * Format bits to human readable string. + */ + public static function formatBits(float $bits, bool $useBinaryPrefix = false, int $precision = 2): string + { + $units = $useBinaryPrefix + ? ['b', 'Kib', 'Mib', 'Gib', 'Tib'] + : ['b', 'kb', 'Mb', 'Gb', 'Tb']; + + $divisor = $useBinaryPrefix ? 1024 : 1000; + $power = floor(($bits ? log($bits) : 0) / log($divisor)); + $power = min($power, count($units) - 1); + + return sprintf( + "%.{$precision}f %s", + $bits / pow($divisor, $power), + $units[$power] + ); + } +} diff --git a/app/Helpers/Network.php b/app/Helpers/Network.php new file mode 100644 index 000000000..66e7bbd60 --- /dev/null +++ b/app/Helpers/Network.php @@ -0,0 +1,22 @@ + '32']; + + $rangeDecimal = ip2long($range); + + $ipDecimal = ip2long($ip); + + $maskDecimal = ~((1 << (32 - (int) $mask)) - 1); + + return ($rangeDecimal & $maskDecimal) === ($ipDecimal & $maskDecimal); + } +} diff --git a/app/Helpers/Number.php b/app/Helpers/Number.php index c565eebe3..b191632a2 100644 --- a/app/Helpers/Number.php +++ b/app/Helpers/Number.php @@ -6,6 +6,20 @@ class Number extends SupportNumber { + /** + * Cast the given value to the type specified. + */ + public static function castToType(mixed $value, string $type): mixed + { + if (is_null($value)) { + return null; + } + + settype($value, $type); + + return $value; + } + /** * Convert the given number to a specific bit order of magnitude. */ diff --git a/app/Helpers/Ookla.php b/app/Helpers/Ookla.php new file mode 100644 index 000000000..ca0fdf34e --- /dev/null +++ b/app/Helpers/Ookla.php @@ -0,0 +1,56 @@ +getMessage()); + $errorMessages = []; + + foreach ($messages as $message) { + $decoded = json_decode($message, true); + if (json_last_error() === JSON_ERROR_NONE && isset($decoded['message'])) { + $errorMessages[] = $decoded['message']; + } + } + + // If no valid messages, use the placeholder + if (empty($errorMessages)) { + $errorMessages[] = 'An unexpected error occurred while running the Ookla CLI.'; + } + + // Remove duplicates and concatenate + return implode(' | ', array_unique($errorMessages)); + } + + public static function getConfigServers(): ?array + { + $list = []; + + if (blank(config('speedtest.servers'))) { + return null; + } + + $servers = collect(array_map( + 'trim', + explode(',', config('speedtest.servers')) + )); + + if (! count($servers)) { + return null; + } + + $list = $servers->mapWithKeys(function ($serverId) { + return [$serverId => $serverId.' (Config server)']; + })->sort()->toArray(); + + return $list; + } +} diff --git a/app/Helpers/TimeZoneHelper.php b/app/Helpers/TimeZoneHelper.php deleted file mode 100644 index a965bf889..000000000 --- a/app/Helpers/TimeZoneHelper.php +++ /dev/null @@ -1,58 +0,0 @@ -db_has_timezone) { - return 'UTC'; - } - - return $settings->timezone - ?? 'UTC'; - } - - /** - * Returns a collection of time zones with their offset from UTC. - */ - public static function list() - { - $seconds = 3600; // 1hr - - return Cache::remember('timezones_list_collection', $seconds, function () { - $timestamp = time(); - - foreach (timezone_identifiers_list() as $key => $value) { - date_default_timezone_set($value); - - $timezone[$value] = $value.' (UTC '.date('P', $timestamp).')'; - } - - return collect($timezone)->sortKeys(); - }); - } - - /** - * Validates the time zone string provided. - * - * Ref: https://github.com/laravel/framework/blob/10.x/src/Illuminate/Validation/Concerns/ValidatesAttributes.php#L2406-L2420 - */ - public static function validate($value, $parameters = []) - { - return in_array($value, timezone_identifiers_list( - constant(DateTimeZone::class.'::'.Str::upper($parameters[0] ?? 'ALL')), - isset($parameters[1]) ? Str::upper($parameters[1]) : null, - ), true); - } -} diff --git a/app/Http/Controllers/API/HealthCheckController.php b/app/Http/Controllers/API/HealthCheckController.php deleted file mode 100644 index aed856e0b..000000000 --- a/app/Http/Controllers/API/HealthCheckController.php +++ /dev/null @@ -1,18 +0,0 @@ -json([ - 'message' => 'Speedtest Tracker is running!', - ]); - } -} diff --git a/app/Http/Controllers/API/Speedtest/GetLatestController.php b/app/Http/Controllers/Api/V0/GetLatestController.php similarity index 77% rename from app/Http/Controllers/API/Speedtest/GetLatestController.php rename to app/Http/Controllers/Api/V0/GetLatestController.php index 1eeb84639..8d62639ab 100644 --- a/app/Http/Controllers/API/Speedtest/GetLatestController.php +++ b/app/Http/Controllers/Api/V0/GetLatestController.php @@ -1,13 +1,11 @@ json([ 'message' => 'ok', 'data' => [ @@ -43,8 +39,8 @@ public function __invoke(): JsonResponse 'url' => $latest->result_url, 'scheduled' => $latest->scheduled, 'failed' => $latest->status === ResultStatus::Failed, - 'created_at' => $latest->created_at->timezone(TimeZoneHelper::displayTimeZone($settings))->toISOString(true), - 'updated_at' => $latest->updated_at->timezone(TimeZoneHelper::displayTimeZone($settings))->toISOString(true), + 'created_at' => $latest->created_at->timezone(config('app.display_timezone'))->toISOString(true), + 'updated_at' => $latest->updated_at->timezone(config('app.display_timezone'))->toISOString(true), ], ]); } diff --git a/app/Http/Controllers/Api/V1/ApiController.php b/app/Http/Controllers/Api/V1/ApiController.php new file mode 100644 index 000000000..78dd11b86 --- /dev/null +++ b/app/Http/Controllers/Api/V1/ApiController.php @@ -0,0 +1,62 @@ + $data, + 'filters' => $filters, + 'message' => $message, + ]); + + if (! empty($message)) { + $response['message'] = $message; + } + + return response()->json( + data: $response, + status: $code, + ); + } + + /** + * Throw an exception. + * + * @param Exception $e + * @param int $code + * + * @throws HttpResponseException + */ + public static function throw($e, $code = 500) + { + Log::info($e); + + $response = [ + 'message' => $e->getMessage(), + ]; + + throw new HttpResponseException( + response: response()->json( + data: $response, + status: $code, + ), + ); + } +} diff --git a/app/Http/Controllers/Api/V1/OoklaController.php b/app/Http/Controllers/Api/V1/OoklaController.php new file mode 100644 index 000000000..992ce94db --- /dev/null +++ b/app/Http/Controllers/Api/V1/OoklaController.php @@ -0,0 +1,32 @@ +user()->tokenCant('ookla:list-servers')) { + return $this->sendResponse( + data: null, + message: 'You do not have permission to view speedtest servers.', + code: Response::HTTP_FORBIDDEN, + ); + } + + $servers = GetOoklaSpeedtestServers::forApi(); + + return $this->sendResponse( + data: $servers, + message: 'Speedtest servers fetched successfully.' + ); + } +} diff --git a/app/Http/Controllers/Api/V1/ResultsController.php b/app/Http/Controllers/Api/V1/ResultsController.php new file mode 100644 index 000000000..5f462ae3c --- /dev/null +++ b/app/Http/Controllers/Api/V1/ResultsController.php @@ -0,0 +1,118 @@ +user()->tokenCant('results:read')) { + return $this->sendResponse( + data: null, + message: 'You do not have permission to view results.', + code: Response::HTTP_FORBIDDEN + ); + } + $validator = Validator::make($request->all(), [ + 'page.size' => 'integer|min:1|max:'.config('json-api-paginate.max_results'), + ]); + + if ($validator->fails()) { + return $this->sendResponse( + data: $validator->errors(), + message: 'Validation failed.', + code: 422 + ); + } + + $results = QueryBuilder::for(Result::class) + ->allowedFilters([ + AllowedFilter::operator('ping', FilterOperator::DYNAMIC), + AllowedFilter::operator('download', FilterOperator::DYNAMIC), + AllowedFilter::operator('upload', FilterOperator::DYNAMIC), + AllowedFilter::exact('healthy')->nullable(), + AllowedFilter::exact('status'), + AllowedFilter::exact('scheduled'), + AllowedFilter::operator( + name: 'start_at', + internalName: 'created_at', + filterOperator: FilterOperator::DYNAMIC, + ), + AllowedFilter::operator( + name: 'end_at', + internalName: 'created_at', + filterOperator: FilterOperator::DYNAMIC, + ), + ]) + ->allowedSorts([ + 'ping', + 'download', + 'upload', + 'created_at', + 'updated_at', + ]) + ->jsonPaginate(); + + return ResultResource::collection($results); + } + + /** + * GET /results/{id} + * Fetch a single result by ID. + */ + public function show(Request $request, int $id) + { + if ($request->user()->tokenCant('results:read')) { + return $this->sendResponse( + data: null, + message: 'You do not have permission to view results.', + code: Response::HTTP_FORBIDDEN + ); + } + $result = Result::findOr($id, function () { + self::throw( + e: new NotFoundException('Result not found.'), + code: 404 + ); + }); + + return $this->sendResponse( + data: new ResultResource($result) + ); + } + + /** + * GET /results/latest + * Fetch the single most recent result. + */ + public function latest(Request $request) + { + if ($request->user()->tokenCant('results:read')) { + return $this->sendResponse( + data: null, + message: 'You do not have permission to view results.', + code: Response::HTTP_FORBIDDEN + ); + } + $result = Result::latest() + ->firstOrFail(); + + return $this->sendResponse( + data: new ResultResource($result) + ); + } +} diff --git a/app/Http/Controllers/Api/V1/SpeedtestController.php b/app/Http/Controllers/Api/V1/SpeedtestController.php new file mode 100644 index 000000000..d605d945c --- /dev/null +++ b/app/Http/Controllers/Api/V1/SpeedtestController.php @@ -0,0 +1,51 @@ +user()->tokenCant('speedtests:run')) { + return $this->sendResponse( + data: null, + message: 'You do not have permission to run speedtests.', + code: Response::HTTP_FORBIDDEN, + ); + } + + $validator = Validator::make($request->all(), [ + 'server_id' => 'sometimes|integer', + ]); + + if ($validator->fails()) { + return $this->sendResponse( + data: $validator->errors(), + message: 'Validation failed.', + code: Response::HTTP_UNPROCESSABLE_ENTITY, + ); + } + + $result = RunSpeedtestAction::run( + scheduled: true, + serverId: $request->input('server_id'), + dispatchedBy: $request->user()->id, + ); + + return $this->sendResponse( + data: new ResultResource($result), + message: 'Speedtest added to the queue.', + code: Response::HTTP_CREATED, + ); + } +} diff --git a/app/Http/Controllers/Api/V1/StatsController.php b/app/Http/Controllers/Api/V1/StatsController.php new file mode 100644 index 000000000..0e283f710 --- /dev/null +++ b/app/Http/Controllers/Api/V1/StatsController.php @@ -0,0 +1,52 @@ +user()->tokenCant('results:read')) { + return $this->sendResponse( + data: null, + message: 'You do not have permission to view statistics.', + code: Response::HTTP_FORBIDDEN + ); + } + + // Build the stats query + $stats = QueryBuilder::for(Result::class) + ->selectRaw('count(*) as total_results') + ->selectRaw('avg(ping) as avg_ping') + ->selectRaw('avg(download) as avg_download') + ->selectRaw('avg(upload) as avg_upload') + ->selectRaw('min(ping) as min_ping') + ->selectRaw('min(download) as min_download') + ->selectRaw('min(upload) as min_upload') + ->selectRaw('max(ping) as max_ping') + ->selectRaw('max(download) as max_download') + ->selectRaw('max(upload) as max_upload') + ->allowedFilters([ + AllowedFilter::operator(name: 'start_at', internalName: 'created_at', filterOperator: FilterOperator::DYNAMIC), + AllowedFilter::operator(name: 'end_at', internalName: 'created_at', filterOperator: FilterOperator::DYNAMIC), + ]) + ->first(); + + // Return wrapped in a resource + return $this->sendResponse( + data: new StatResource($stats) + ); + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 77ec359ab..8677cd5ca 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -2,11 +2,7 @@ namespace App\Http\Controllers; -use Illuminate\Foundation\Auth\Access\AuthorizesRequests; -use Illuminate\Foundation\Validation\ValidatesRequests; -use Illuminate\Routing\Controller as BaseController; - -class Controller extends BaseController +abstract class Controller { - use AuthorizesRequests, ValidatesRequests; + // } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 3f1219c55..543c692e4 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -2,9 +2,6 @@ namespace App\Http\Controllers; -use App\Enums\ResultStatus; -use App\Models\Result; -use App\Settings\GeneralSettings; use Illuminate\Http\Request; class HomeController extends Controller @@ -14,36 +11,6 @@ class HomeController extends Controller */ public function __invoke(Request $request) { - $settings = new GeneralSettings(); - - if (! config('speedtest.public_dashboard')) { - return redirect()->route('filament.admin.auth.login'); - } - - $latestResult = Result::query() - ->select(['id', 'ping', 'download', 'upload', 'status', 'created_at']) - ->where('status', '=', ResultStatus::Completed) - ->latest() - ->first(); - - if (! $latestResult) { - return view('get-started'); - } - - /** - * This jank needs to happen because some people like - * to watch the world burn by setting a time zone - * in their database instances. - */ - if ($settings->db_has_timezone) { - date_default_timezone_set($settings->timezone ?? 'UTC'); - } - - $diff = $latestResult->created_at->diffForHumans(); - - return view('dashboard', [ - 'diff' => $diff, - 'latestResult' => $latestResult, - ]); + return view('dashboard'); } } diff --git a/app/Http/Controllers/MetricsController.php b/app/Http/Controllers/MetricsController.php new file mode 100644 index 000000000..984be20d8 --- /dev/null +++ b/app/Http/Controllers/MetricsController.php @@ -0,0 +1,28 @@ +settings->prometheus_enabled) { + abort(404); + } + + $metrics = $this->metricsService->generateMetrics(); + + return response($metrics, 200, [ + 'Content-Type' => 'text/plain; version=0.0.4; charset=utf-8', + ]); + } +} diff --git a/app/Http/Integrations/Unifi/Requests/GetApplicationInformationRequest.php b/app/Http/Integrations/Unifi/Requests/GetApplicationInformationRequest.php new file mode 100644 index 000000000..6303a26f7 --- /dev/null +++ b/app/Http/Integrations/Unifi/Requests/GetApplicationInformationRequest.php @@ -0,0 +1,22 @@ +siteId.'/wans'; + } +} diff --git a/app/Http/Integrations/Unifi/UnifiConnector.php b/app/Http/Integrations/Unifi/UnifiConnector.php new file mode 100644 index 000000000..8d97ba7f8 --- /dev/null +++ b/app/Http/Integrations/Unifi/UnifiConnector.php @@ -0,0 +1,39 @@ + false, + ]; + } + + /** + * Default headers for the connector + */ + protected function defaultHeaders(): array + { + return [ + 'X-API-KEY' => config('services.unifi-api.token'), + ]; + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php deleted file mode 100644 index 9d8ea4daa..000000000 --- a/app/Http/Kernel.php +++ /dev/null @@ -1,68 +0,0 @@ - - */ - protected $middleware = [ - // \App\Http\Middleware\TrustHosts::class, - Middleware\TrustProxies::class, - \Illuminate\Http\Middleware\HandleCors::class, - Middleware\PreventRequestsDuringMaintenance::class, - \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, - Middleware\TrimStrings::class, - \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, - ]; - - /** - * The application's route middleware groups. - * - * @var array> - */ - protected $middlewareGroups = [ - 'web' => [ - Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - - 'api' => [ - // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, - \Illuminate\Routing\Middleware\ThrottleRequests::class.':api', - \Illuminate\Routing\Middleware\SubstituteBindings::class, - ], - ]; - - /** - * The application's middleware aliases. - * - * Aliases may be used instead of class names to conveniently assign middleware to routes and groups. - * - * @var array - */ - protected $middlewareAliases = [ - 'auth' => Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'guest' => Middleware\RedirectIfAuthenticated::class, - 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, - 'precognitive' => \Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests::class, - 'signed' => Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, - ]; -} diff --git a/app/Http/Middleware/AcceptJsonMiddleware.php b/app/Http/Middleware/AcceptJsonMiddleware.php new file mode 100644 index 000000000..35259d437 --- /dev/null +++ b/app/Http/Middleware/AcceptJsonMiddleware.php @@ -0,0 +1,38 @@ +acceptsJson()) { + return response()->json([ + 'message' => 'This endpoint only accepts JSON. Please include "Accept: application/json" in your request headers.', + 'error' => 'Unsupported Media Type', + ], Response::HTTP_NOT_ACCEPTABLE); + } + + // Ensure the response is JSON + $response = $next($request); + + // Force JSON content type if not already set + if (! $response->headers->has('Content-Type') || + ! str_contains($response->headers->get('Content-Type'), 'application/json')) { + $response->headers->set('Content-Type', 'application/json'); + } + + return $response; + } +} diff --git a/app/Http/Middleware/AllowedIpAddressesMiddleware.php b/app/Http/Middleware/AllowedIpAddressesMiddleware.php new file mode 100644 index 000000000..2a17163ab --- /dev/null +++ b/app/Http/Middleware/AllowedIpAddressesMiddleware.php @@ -0,0 +1,28 @@ +ip(), $allowedIps) + ? $next($request) + : abort(403); + } +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php deleted file mode 100644 index e57091d85..000000000 --- a/app/Http/Middleware/Authenticate.php +++ /dev/null @@ -1,19 +0,0 @@ -expectsJson()) { - return route('admin/login'); - } - } -} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php deleted file mode 100644 index 867695bdc..000000000 --- a/app/Http/Middleware/EncryptCookies.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ - protected $except = [ - // - ]; -} diff --git a/app/Http/Middleware/GettingStarted.php b/app/Http/Middleware/GettingStarted.php new file mode 100644 index 000000000..fcf115b6a --- /dev/null +++ b/app/Http/Middleware/GettingStarted.php @@ -0,0 +1,26 @@ +doesntExist()) { + return redirect()->route('getting-started'); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php deleted file mode 100644 index 74cbd9a9e..000000000 --- a/app/Http/Middleware/PreventRequestsDuringMaintenance.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ - protected $except = [ - // - ]; -} diff --git a/app/Http/Middleware/PrometheusAllowedIpMiddleware.php b/app/Http/Middleware/PrometheusAllowedIpMiddleware.php new file mode 100644 index 000000000..c599b8a6f --- /dev/null +++ b/app/Http/Middleware/PrometheusAllowedIpMiddleware.php @@ -0,0 +1,43 @@ +settings->prometheus_allowed_ips)) { + return $next($request); + } + + $clientIp = $request->ip(); + $allowedIps = $this->settings->prometheus_allowed_ips; + + foreach ($allowedIps as $allowedIp) { + if (str_contains($allowedIp, '/')) { + if (Network::ipInRange($clientIp, $allowedIp)) { + return $next($request); + } + } elseif ($clientIp === $allowedIp) { + return $next($request); + } + } + + abort(403); + } +} diff --git a/app/Http/Middleware/PublicDashboard.php b/app/Http/Middleware/PublicDashboard.php new file mode 100644 index 000000000..fc5ba35f3 --- /dev/null +++ b/app/Http/Middleware/PublicDashboard.php @@ -0,0 +1,25 @@ +route('filament.admin.auth.login'); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php deleted file mode 100644 index 12bbdba5f..000000000 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ /dev/null @@ -1,30 +0,0 @@ -check()) { - return redirect()->to(RouteServiceProvider::HOME); - } - } - - return $next($request); - } -} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php deleted file mode 100644 index 88cadcaaf..000000000 --- a/app/Http/Middleware/TrimStrings.php +++ /dev/null @@ -1,19 +0,0 @@ - - */ - protected $except = [ - 'current_password', - 'password', - 'password_confirmation', - ]; -} diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php deleted file mode 100644 index c9c58bddc..000000000 --- a/app/Http/Middleware/TrustHosts.php +++ /dev/null @@ -1,20 +0,0 @@ - - */ - public function hosts(): array - { - return [ - $this->allSubdomainsOfApplicationUrl(), - ]; - } -} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php deleted file mode 100644 index 5e1aa694d..000000000 --- a/app/Http/Middleware/TrustProxies.php +++ /dev/null @@ -1,28 +0,0 @@ -|string|null - */ - protected $proxies = '*'; - - /** - * The headers that should be used to detect proxies. - * - * @var int - */ - protected $headers = - Request::HEADER_X_FORWARDED_FOR | - Request::HEADER_X_FORWARDED_HOST | - Request::HEADER_X_FORWARDED_PORT | - Request::HEADER_X_FORWARDED_PROTO | - Request::HEADER_X_FORWARDED_PREFIX; -} diff --git a/app/Http/Middleware/ValidateSignature.php b/app/Http/Middleware/ValidateSignature.php deleted file mode 100644 index 093bf64af..000000000 --- a/app/Http/Middleware/ValidateSignature.php +++ /dev/null @@ -1,22 +0,0 @@ - - */ - protected $except = [ - // 'fbclid', - // 'utm_campaign', - // 'utm_content', - // 'utm_medium', - // 'utm_source', - // 'utm_term', - ]; -} diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php deleted file mode 100644 index 77c2021d5..000000000 --- a/app/Http/Middleware/VerifyCsrfToken.php +++ /dev/null @@ -1,17 +0,0 @@ - - */ - protected $except = [ - '/', - ]; -} diff --git a/app/Http/Resources/V1/ResultResource.php b/app/Http/Resources/V1/ResultResource.php new file mode 100644 index 000000000..069a90e71 --- /dev/null +++ b/app/Http/Resources/V1/ResultResource.php @@ -0,0 +1,44 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'id' => $this->id, + 'service' => $this->service, + 'ping' => $this->ping, + 'download' => $this->download, + 'upload' => $this->upload, + 'download_bits' => $this->when($this->download, fn (): int|float => Bitrate::bytesToBits($this->download)), + 'upload_bits' => $this->when($this->upload, fn (): int|float => Bitrate::bytesToBits($this->upload)), + 'download_bits_human' => $this->when($this->download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->download)).'ps'), + 'upload_bits_human' => $this->when($this->upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->upload)).'ps'), + 'download_bytes' => $this->download_bytes, + 'upload_bytes' => $this->upload_bytes, + 'download_bytes_human' => $this->when($this->download_bytes, fn (): string => Number::fileSize($this->download_bytes)), + 'upload_bytes_human' => $this->when($this->upload_bytes, fn (): string => Number::fileSize($this->upload_bytes)), + 'benchmarks' => $this->benchmarks, + 'healthy' => $this->healthy, + 'status' => $this->status, + 'scheduled' => $this->scheduled, + 'dispatched_by' => $this->dispatched_by, + 'comments' => $this->comments, + 'data' => $this->data, + 'created_at' => $this->created_at->toDateTimestring(), + 'updated_at' => $this->updated_at->toDateTimestring(), + ]; + } +} diff --git a/app/Http/Resources/V1/StatResource.php b/app/Http/Resources/V1/StatResource.php new file mode 100644 index 000000000..8b8033eee --- /dev/null +++ b/app/Http/Resources/V1/StatResource.php @@ -0,0 +1,49 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'ping' => [ + 'avg' => round($this->avg_ping, 2), + 'min' => round($this->min_ping, 2), + 'max' => round($this->max_ping, 2), + ], + 'download' => [ + 'avg' => round($this->avg_download), + 'avg_bits' => $this->when($this->avg_download, fn (): int|float => Bitrate::bytesToBits($this->avg_download)), + 'avg_bits_human' => $this->when($this->avg_download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->avg_download)).'ps'), + 'min' => round($this->min_download), + 'min_bits' => $this->when($this->min_download, fn (): int|float => Bitrate::bytesToBits($this->min_download)), + 'min_bits_human' => $this->when($this->min_download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->min_download)).'ps'), + 'max' => round($this->max_download), + 'max_bits' => $this->when($this->max_download, fn (): int|float => Bitrate::bytesToBits($this->max_download)), + 'max_bits_human' => $this->when($this->max_download, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->max_download)).'ps'), + ], + 'upload' => [ + 'avg' => round($this->avg_upload), + 'avg_bits' => $this->when($this->avg_upload, fn (): int|float => Bitrate::bytesToBits($this->avg_upload)), + 'avg_bits_human' => $this->when($this->avg_upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->avg_upload)).'ps'), + 'min' => round($this->min_upload), + 'min_bits' => $this->when($this->min_upload, fn (): int|float => Bitrate::bytesToBits($this->min_upload)), + 'min_bits_human' => $this->when($this->min_upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->min_upload)).'ps'), + 'max' => round($this->max_upload), + 'max_bits' => $this->when($this->max_upload, fn (): int|float => Bitrate::bytesToBits($this->max_upload)), + 'max_bits_human' => $this->when($this->max_upload, fn (): string => Bitrate::formatBits(Bitrate::bytesToBits($this->max_upload)).'ps'), + ], + 'total_results' => $this->total_results, + ]; + } +} diff --git a/app/Jobs/CheckForInternetConnectionJob.php b/app/Jobs/CheckForInternetConnectionJob.php new file mode 100644 index 000000000..c0f39a61f --- /dev/null +++ b/app/Jobs/CheckForInternetConnectionJob.php @@ -0,0 +1,66 @@ +result->update([ + 'status' => ResultStatus::Checking, + ]); + + SpeedtestChecking::dispatch($this->result); + + $ping = PingHostname::run(); + + if ($ping->isSuccess()) { + return; + } + + $message = sprintf('Failed to connected to hostname "%s". Error received "%s".', $ping->getHost(), $ping->error()?->value); + + $this->result->update([ + 'data->type' => 'log', + 'data->level' => 'error', + 'data->message' => $message, + 'status' => ResultStatus::Failed, + ]); + + SpeedtestFailed::dispatch($this->result); + + $this->batch()->cancel(); + } +} diff --git a/app/Jobs/InfluxDBv2/WriteCompletedSpeedtest.php b/app/Jobs/InfluxDBv2/WriteCompletedSpeedtest.php deleted file mode 100644 index ea6328bd8..000000000 --- a/app/Jobs/InfluxDBv2/WriteCompletedSpeedtest.php +++ /dev/null @@ -1,72 +0,0 @@ - $this->settings->v2_enabled, - 'url' => $this->settings?->v2_url, - 'org' => $this->settings?->v2_org, - 'bucket' => $this->settings?->v2_bucket, - 'token' => $this->settings?->v2_token, - 'verifySSL' => $this->settings->v2_verify_ssl, - ]; - - $client = new Client([ - 'url' => $influxdb['url'], - 'token' => $influxdb['token'], - 'bucket' => $influxdb['bucket'], - 'org' => $influxdb['org'], - 'verifySSL' => $influxdb['verifySSL'], - 'precision' => \InfluxDB2\Model\WritePrecision::S, - ]); - - $writeApi = $client->createWriteApi(); - - $dataArray = [ - 'name' => 'speedtest', - 'tags' => $this->result->formatTagsForInfluxDB2(), - 'fields' => $this->result->formatForInfluxDB2(), - 'time' => strtotime($this->result->created_at), - ]; - - try { - $writeApi->write($dataArray); - } catch (\Exception $e) { - Log::info($e); - - $this->fail(); - } - - $writeApi->close(); - } -} diff --git a/app/Jobs/Influxdb/v2/BulkWriteResults.php b/app/Jobs/Influxdb/v2/BulkWriteResults.php new file mode 100644 index 000000000..2c3c866b3 --- /dev/null +++ b/app/Jobs/Influxdb/v2/BulkWriteResults.php @@ -0,0 +1,82 @@ +createWriteApi(); + + Result::query() + ->where('status', '=', ResultStatus::Completed) + ->chunkById(100, function (Collection $results) use ($writeApi) { + $points = []; + + foreach ($results as $result) { + $points[] = BuildPointData::run($result); + } + + try { + $writeApi->write($points); + } catch (Exception $e) { + Log::error('Failed to bulk write to InfluxDB.', [ + 'error' => $e->getMessage(), + ]); + + Notification::make() + ->title(__('settings/data_integration.influxdb_bulk_write_failed')) + ->body(__('settings/data_integration.influxdb_bulk_write_failed_body')) + ->danger() + ->sendToDatabase($this->user); + + $this->fail($e); + + $writeApi->close(); + + return; + } + }); + + $writeApi->close(); + + Notification::make() + ->title(__('settings/data_integration.influxdb_bulk_write_success')) + ->body(__('settings/data_integration.influxdb_bulk_write_success_body')) + ->success() + ->sendToDatabase($this->user); + } +} diff --git a/app/Jobs/Influxdb/v2/TestConnectionJob.php b/app/Jobs/Influxdb/v2/TestConnectionJob.php new file mode 100644 index 000000000..1d758513c --- /dev/null +++ b/app/Jobs/Influxdb/v2/TestConnectionJob.php @@ -0,0 +1,67 @@ +createWriteApi(); + + $point = Point::measurement('speedtest') + ->addTag('service', 'faker') + ->addField('download', (int) 420) + ->addField('upload', (int) 69) + ->addField('ping', (float) 4.321) + ->time(time()); + + try { + $writeApi->write($point); + } catch (ApiException $e) { + Log::error('Failed to write test data to Influxdb.', [ + 'error' => $e->getMessage(), + ]); + + Notification::make() + ->title(__('settings/data_integration.influxdb_test_failed')) + ->body(__('settings/data_integration.influxdb_test_failed_body')) + ->danger() + ->sendToDatabase($this->user); + + $writeApi->close(); + + return; + } + + $writeApi->close(); + + Notification::make() + ->title(__('settings/data_integration.influxdb_test_success')) + ->body(__('settings/data_integration.influxdb_test_success_body')) + ->success() + ->sendToDatabase($this->user); + } +} diff --git a/app/Jobs/Influxdb/v2/WriteResult.php b/app/Jobs/Influxdb/v2/WriteResult.php new file mode 100644 index 000000000..6d4054205 --- /dev/null +++ b/app/Jobs/Influxdb/v2/WriteResult.php @@ -0,0 +1,48 @@ +createWriteApi(); + + $point = BuildPointData::run($this->result); + + try { + $writeApi->write($point); + } catch (Exception $e) { + Log::error('Failed to write to InfluxDB.', [ + 'error' => $e->getMessage(), + 'result_id' => $this->result->id, + ]); + + $this->fail($e); + } + + $writeApi->close(); + } +} diff --git a/app/Jobs/Ookla/BenchmarkSpeedtestJob.php b/app/Jobs/Ookla/BenchmarkSpeedtestJob.php new file mode 100644 index 000000000..683fe395b --- /dev/null +++ b/app/Jobs/Ookla/BenchmarkSpeedtestJob.php @@ -0,0 +1,129 @@ +absolute_enabled == false) { + return; + } + + $this->result->update([ + 'status' => ResultStatus::Benchmarking, + ]); + + SpeedtestBenchmarking::dispatch($this->result); + + $benchmarks = $this->benchmark( + result: $this->result, + settings: $settings, + ); + + if (! count($benchmarks)) { + return; + } + + $this->result->update([ + 'benchmarks' => $benchmarks, + 'healthy' => $this->healthy, + ]); + + $this->healthy + ? SpeedtestBenchmarkHealthy::dispatch($this->result) + : SpeedtestBenchmarkUnhealthy::dispatch($this->result); + } + + private function benchmark(Result $result, ThresholdSettings $settings): array + { + $benchmarks = []; + + if (! blank($settings->absolute_download) && $settings->absolute_download > 0) { + $benchmarks = Arr::add($benchmarks, 'download', [ + 'bar' => 'min', + 'passed' => Benchmark::bitrate($result->download, ['value' => $settings->absolute_download, 'unit' => 'mbps']), + 'type' => 'absolute', + 'test_value' => Number::bitsToMagnitude(bits: $result->download_bits, precision: 0, magnitude: 'mbit'), + 'benchmark_value' => $settings->absolute_download, + 'unit' => 'mbps', + ]); + + if (Arr::get($benchmarks, 'download.passed') == false) { + $this->healthy = false; + } + } + + if (! blank($settings->absolute_upload) && $settings->absolute_upload > 0) { + $benchmarks = Arr::add($benchmarks, 'upload', [ + 'bar' => 'min', + 'passed' => filter_var(Benchmark::bitrate($result->upload, ['value' => $settings->absolute_upload, 'unit' => 'mbps']), FILTER_VALIDATE_BOOLEAN), + 'type' => 'absolute', + 'test_value' => Number::bitsToMagnitude(bits: $result->upload_bits, precision: 0, magnitude: 'mbit'), + 'benchmark_value' => $settings->absolute_upload, + 'unit' => 'mbps', + ]); + + if (Arr::get($benchmarks, 'upload.passed') == false) { + $this->healthy = false; + } + } + + if (! blank($settings->absolute_ping) && $settings->absolute_ping > 0) { + $benchmarks = Arr::add($benchmarks, 'ping', [ + 'bar' => 'max', + 'passed' => Benchmark::ping($result->ping, ['value' => $settings->absolute_ping]), + 'type' => 'absolute', + 'test_value' => round($result->ping), + 'benchmark_value' => $settings->absolute_ping, + 'unit' => 'ms', + ]); + + if (Arr::get($benchmarks, 'ping.passed') == false) { + $this->healthy = false; + } + } + + return $benchmarks; + } +} diff --git a/app/Jobs/Ookla/CompleteSpeedtestJob.php b/app/Jobs/Ookla/CompleteSpeedtestJob.php new file mode 100644 index 000000000..0777bc976 --- /dev/null +++ b/app/Jobs/Ookla/CompleteSpeedtestJob.php @@ -0,0 +1,45 @@ +result->update([ + 'status' => ResultStatus::Completed, + ]); + + SpeedtestCompleted::dispatch($this->result); + } +} diff --git a/app/Jobs/Ookla/RunSpeedtestJob.php b/app/Jobs/Ookla/RunSpeedtestJob.php new file mode 100644 index 000000000..61b371939 --- /dev/null +++ b/app/Jobs/Ookla/RunSpeedtestJob.php @@ -0,0 +1,99 @@ + + */ + public function middleware(): array + { + return [ + new SkipIfBatchCancelled, + ]; + } + + /** + * Execute the job. + */ + public function handle(): void + { + $this->result->update([ + 'status' => ResultStatus::Running, + ]); + + SpeedtestRunning::dispatch($this->result); + + $command = array_filter([ + 'speedtest', + '--accept-license', + '--accept-gdpr', + '--selection-details', + '--format=json', + $this->result->server_id ? '--server-id='.$this->result->server_id : null, + config('speedtest.interface') ? '--interface='.config('speedtest.interface') : null, + ]); + + $process = new Process($command); + + try { + $process->mustRun(); + } catch (ProcessFailedException $exception) { + $this->result->update([ + 'data->type' => 'log', + 'data->level' => 'error', + 'data->message' => Ookla::getErrorMessage($exception), + 'status' => ResultStatus::Failed, + ]); + + $this->batch()->cancel(); + + SpeedtestFailed::dispatch($this->result); + + return; + } + + $output = json_decode($process->getOutput(), true); + + $this->result->update([ + 'ping' => Arr::get($output, 'ping.latency'), + 'download' => Arr::get($output, 'download.bandwidth'), + 'upload' => Arr::get($output, 'upload.bandwidth'), + 'download_bytes' => Arr::get($output, 'download.bytes'), + 'upload_bytes' => Arr::get($output, 'upload.bytes'), + 'data' => $output, + ]); + } +} diff --git a/app/Jobs/Ookla/SelectSpeedtestServerJob.php b/app/Jobs/Ookla/SelectSpeedtestServerJob.php new file mode 100644 index 000000000..c788e1f74 --- /dev/null +++ b/app/Jobs/Ookla/SelectSpeedtestServerJob.php @@ -0,0 +1,176 @@ +result->data, 'server.id')) { + return; + } + + // If preferred servers are set in the config, we can use that, + // but only if the test is scheduled. + if ($this->result->scheduled && ! blank(config('speedtest.servers'))) { + $this->updateServerId( + result: $this->result, + serverId: $this->getConfigServer(), + ); + + return; + } + + // If blocked servers config is blank, we can skip picking a server. + if (blank(config('speedtest.blocked_servers'))) { + return; + } + + $serverId = $this->filterBlockedServers(); + + if (blank($serverId)) { + Log::info('Failed to select a server for Ookla speedtest, skipping blocked server filter.', [ + 'result_id' => $this->result->id, + ]); + + return; + } + + $this->updateServerId($this->result, $serverId); + } + + /** + * Get a list of servers from config blocked servers. + */ + private function getConfigBlockedServers(): array + { + $blocked = config('speedtest.blocked_servers'); + + $blocked = array_filter( + array_map( + 'trim', + explode(',', $blocked), + ), + ); + + if (blank($blocked)) { + return []; + } + + return collect($blocked)->mapWithKeys(function (int $serverId) { + return [$serverId => $serverId]; + })->toArray(); + } + + /** + * Get a server from the config servers list. + */ + private function getConfigServer(): ?string + { + $servers = config('speedtest.servers'); + + $servers = array_filter( + array_map( + 'trim', + explode(',', $servers), + ), + ); + + return count($servers) > 0 + ? Arr::random($servers) + : null; + } + + /** + * Filter servers from server list. + */ + private function filterBlockedServers(): mixed + { + $blocked = $this->getConfigBlockedServers(); + + $servers = $this->listServers(); + + $filtered = Arr::except($servers, $blocked); + + return Arr::first($filtered); + } + + /** + * Get a list of servers. + */ + private function listServers(): array + { + $command = [ + 'speedtest', + '--accept-license', + '--accept-gdpr', + '--servers', + '--format=json', + ]; + + $process = new Process($command); + + try { + $process->run(); + } catch (ProcessFailedException $e) { + Log::error('Failed listing Ookla speedtest servers.', [ + 'error' => $e->getMessage(), + ]); + + return []; + } + + $servers = Arr::get( + array: json_decode($process->getOutput(), true), + key: 'servers', + default: [], + ); + + return collect($servers)->mapWithKeys(function (array $server) { + return [$server['id'] => $server['id']]; + })->toArray(); + } + + /** + * Update the result with the selected server Id. + */ + private function updateServerId(Result $result, int $serverId): void + { + $result->update([ + 'data->server->id' => $serverId, + ]); + } +} diff --git a/app/Jobs/Ookla/SkipSpeedtestJob.php b/app/Jobs/Ookla/SkipSpeedtestJob.php new file mode 100644 index 000000000..773d4a793 --- /dev/null +++ b/app/Jobs/Ookla/SkipSpeedtestJob.php @@ -0,0 +1,117 @@ +result->scheduled === false || empty(config('speedtest.preflight.skip_ips'))) { + return; + } + + $externalIp = GetExternalIpAddress::run(); + + if ($externalIp['ok'] === false) { + $this->result->update([ + 'data->type' => 'log', + 'data->level' => 'error', + 'data->message' => $externalIp['body'], + 'status' => ResultStatus::Failed, + ]); + + SpeedtestFailed::dispatch($this->result); + + $this->batch()->cancel(); + + return; + } + + $shouldSkip = $this->shouldSkip( + externalIp: $externalIp['body'], + ); + + if ($shouldSkip === false) { + return; + } + + $this->result->update([ + 'data->type' => 'log', + 'data->level' => 'error', + 'data->message' => $shouldSkip, + 'data->interface->externalIp' => $externalIp, + 'status' => ResultStatus::Skipped, + ]); + + SpeedtestSkipped::dispatch($this->result); + + $this->batch()->cancel(); + } + + /** + * Check if the test should be skipped. + */ + private function shouldSkip(string $externalIp): bool|string + { + $skipIPs = array_filter( + array_map( + 'trim', + explode(',', config('speedtest.preflight.skip_ips')), + ), + ); + + if (empty($skipIPs)) { + return false; + } + + foreach ($skipIPs as $ip) { + // Check for exact IP match + if (filter_var($ip, FILTER_VALIDATE_IP) && $externalIp === $ip) { + return sprintf('"%s" was found in external IP address skip list.', $externalIp); + } + + // Check for IP range match + if (strpos($ip, '/') !== false && Network::ipInRange($externalIp, $ip)) { + return sprintf('"%s" was found in external IP address skip list within range "%s".', $externalIp, $ip); + } + } + + return false; + } +} diff --git a/app/Jobs/Ookla/StartSpeedtestJob.php b/app/Jobs/Ookla/StartSpeedtestJob.php new file mode 100644 index 000000000..806aee592 --- /dev/null +++ b/app/Jobs/Ookla/StartSpeedtestJob.php @@ -0,0 +1,45 @@ +result->update([ + 'status' => ResultStatus::Started, + ]); + + SpeedtestStarted::dispatch($this->result); + } +} diff --git a/app/Jobs/Speedtests/ExecuteOoklaSpeedtest.php b/app/Jobs/Speedtests/ExecuteOoklaSpeedtest.php deleted file mode 100644 index 56353b8b7..000000000 --- a/app/Jobs/Speedtests/ExecuteOoklaSpeedtest.php +++ /dev/null @@ -1,75 +0,0 @@ -serverId) ? '--server-id='.$this->serverId : false, - ]); - - $process = new Process($options); - - try { - $process->mustRun(); - } catch (ProcessFailedException $exception) { - $messages = explode(PHP_EOL, $exception->getMessage()); - - $message = collect(array_filter($messages, 'json_validate'))->last(); - - Result::create([ - 'data' => json_decode($message, true), - 'status' => ResultStatus::Failed, - ]); - - SpeedtestFailed::dispatch($this->result); - - return; - } - - $output = json_decode($process->getOutput(), true); - - $this->result->update([ - 'ping' => Arr::get($output, 'ping.latency'), - 'download' => Arr::get($output, 'download.bandwidth'), - 'upload' => Arr::get($output, 'upload.bandwidth'), - 'data' => $output, - 'status' => ResultStatus::Completed, - ]); - - SpeedtestCompleted::dispatch($this->result); - } -} diff --git a/app/Jobs/TruncateResults.php b/app/Jobs/TruncateResults.php deleted file mode 100644 index b3202a800..000000000 --- a/app/Jobs/TruncateResults.php +++ /dev/null @@ -1,48 +0,0 @@ -truncate(); - } catch (\Throwable $th) { - $this->fail($th); - - return; - } - - Notification::make() - ->title('Results table truncated!') - ->success() - ->sendToDatabase($this->user); - } -} diff --git a/app/Listeners/ClearApplicationCache.php b/app/Listeners/ClearApplicationCache.php deleted file mode 100644 index 0d085cbee..000000000 --- a/app/Listeners/ClearApplicationCache.php +++ /dev/null @@ -1,18 +0,0 @@ -v2_enabled) { - WriteCompletedSpeedtest::dispatch($event->result, $influxSettings); - } - } -} diff --git a/app/Listeners/Database/SendSpeedtestCompletedNotification.php b/app/Listeners/Database/SendSpeedtestCompletedNotification.php deleted file mode 100644 index a1bc97975..000000000 --- a/app/Listeners/Database/SendSpeedtestCompletedNotification.php +++ /dev/null @@ -1,34 +0,0 @@ -database_enabled) { - return; - } - - if (! $notificationSettings->database_on_speedtest_run) { - return; - } - - foreach (User::all() as $user) { - Notification::make() - ->title('Speedtest completed') - ->success() - ->sendToDatabase($user); - } - } -} diff --git a/app/Listeners/Database/SendSpeedtestThresholdNotification.php b/app/Listeners/Database/SendSpeedtestThresholdNotification.php deleted file mode 100644 index 843b88a28..000000000 --- a/app/Listeners/Database/SendSpeedtestThresholdNotification.php +++ /dev/null @@ -1,101 +0,0 @@ -database_enabled) { - return; - } - - if (! $notificationSettings->database_on_threshold_failure) { - return; - } - - $thresholdSettings = new ThresholdSettings(); - - if (! $thresholdSettings->absolute_enabled) { - return; - } - - if ($thresholdSettings->absolute_download > 0) { - $this->absoluteDownloadThreshold(event: $event, thresholdSettings: $thresholdSettings); - } - - if ($thresholdSettings->absolute_upload > 0) { - $this->absoluteUploadThreshold(event: $event, thresholdSettings: $thresholdSettings); - } - - if ($thresholdSettings->absolute_ping > 0) { - $this->absolutePingThreshold(event: $event, thresholdSettings: $thresholdSettings); - } - } - - /** - * Send database notification if absolute download threshold is breached. - */ - protected function absoluteDownloadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): void - { - if (! absoluteDownloadThresholdFailed($thresholdSettings->absolute_download, $event->result->download)) { - return; - } - - foreach (User::all() as $user) { - Notification::make() - ->title('Download threshold breached!') - ->body('Speedtest #'.$event->result->id.' breached the download threshold of '.$thresholdSettings->absolute_download.' Mbps at '.Number::toBitRate($event->result->download_bits).'.') - ->warning() - ->sendToDatabase($user); - } - } - - /** - * Send database notification if absolute upload threshold is breached. - */ - protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): void - { - if (! absoluteUploadThresholdFailed($thresholdSettings->absolute_upload, $event->result->upload)) { - return; - } - - foreach (User::all() as $user) { - Notification::make() - ->title('Upload threshold breached!') - ->body('Speedtest #'.$event->result->id.' breached the upload threshold of '.$thresholdSettings->absolute_upload.' Mbps at '.Number::toBitRate($event->result->upload_bits).'.') - ->warning() - ->sendToDatabase($user); - } - } - - /** - * Send database notification if absolute upload threshold is breached. - */ - protected function absolutePingThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): void - { - if (! absolutePingThresholdFailed($thresholdSettings->absolute_ping, $event->result->ping)) { - return; - } - - foreach (User::all() as $user) { - Notification::make() - ->title('Ping threshold breached!') - ->body('Speedtest #'.$event->result->id.' breached the ping threshold of '.$thresholdSettings->absolute_ping.'ms at '.$event->result->ping.'ms.') - ->warning() - ->sendToDatabase($user); - } - } -} diff --git a/app/Listeners/Discord/SendSpeedtestCompletedNotification.php b/app/Listeners/Discord/SendSpeedtestCompletedNotification.php index f1d88691d..b6e5a484b 100644 --- a/app/Listeners/Discord/SendSpeedtestCompletedNotification.php +++ b/app/Listeners/Discord/SendSpeedtestCompletedNotification.php @@ -16,7 +16,7 @@ class SendSpeedtestCompletedNotification */ public function handle(SpeedtestCompleted $event): void { - $notificationSettings = new NotificationSettings(); + $notificationSettings = new NotificationSettings; if (! $notificationSettings->discord_enabled) { return; @@ -35,13 +35,15 @@ public function handle(SpeedtestCompleted $event): void $payload = [ 'content' => view('discord.speedtest-completed', [ 'id' => $event->result->id, - 'service' => Str::title($event->result->service), + 'service' => Str::title($event->result->service->getLabel()), 'serverName' => $event->result->server_name, 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, 'ping' => round($event->result->ping).' ms', 'download' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), 'upload' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), 'packetLoss' => $event->result->packet_loss, + 'speedtest_url' => $event->result->result_url, 'url' => url('/admin/results'), ])->render(), ]; diff --git a/app/Listeners/Discord/SendSpeedtestThresholdNotification.php b/app/Listeners/Discord/SendSpeedtestThresholdNotification.php index 0c8608820..50dd18411 100644 --- a/app/Listeners/Discord/SendSpeedtestThresholdNotification.php +++ b/app/Listeners/Discord/SendSpeedtestThresholdNotification.php @@ -17,7 +17,7 @@ class SendSpeedtestThresholdNotification */ public function handle(SpeedtestCompleted $event): void { - $notificationSettings = new NotificationSettings(); + $notificationSettings = new NotificationSettings; if (! $notificationSettings->discord_enabled) { return; @@ -33,7 +33,7 @@ public function handle(SpeedtestCompleted $event): void return; } - $thresholdSettings = new ThresholdSettings(); + $thresholdSettings = new ThresholdSettings; if (! $thresholdSettings->absolute_enabled) { return; @@ -64,10 +64,12 @@ public function handle(SpeedtestCompleted $event): void $payload = [ 'content' => view('discord.speedtest-threshold', [ 'id' => $event->result->id, - 'service' => Str::title($event->result->service), + 'service' => Str::title($event->result->service->getLabel()), 'serverName' => $event->result->server_name, 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, 'url' => url('/admin/results'), ])->render(), ]; diff --git a/app/Listeners/Gotify/SendSpeedtestCompletedNotification.php b/app/Listeners/Gotify/SendSpeedtestCompletedNotification.php new file mode 100644 index 000000000..13f3d2cb8 --- /dev/null +++ b/app/Listeners/Gotify/SendSpeedtestCompletedNotification.php @@ -0,0 +1,64 @@ +gotify_enabled) { + return; + } + + if (! $notificationSettings->gotify_on_speedtest_run) { + return; + } + + if (! count($notificationSettings->gotify_webhooks)) { + Log::warning('Gotify urls not found, check Gotify notification channel settings.'); + + return; + } + + $payload = [ + 'message' => view('gotify.speedtest-completed', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'ping' => round($event->result->ping).' ms', + 'download' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + 'upload' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + 'packetLoss' => $event->result->packet_loss, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(), + 'extras' => [ + 'client::display' => [ + 'contentType' => 'text/markdown', + ], + ], + ]; + + foreach ($notificationSettings->gotify_webhooks as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload($payload) + ->doNotSign() + ->dispatch(); + } + } +} diff --git a/app/Listeners/Gotify/SendSpeedtestThresholdNotification.php b/app/Listeners/Gotify/SendSpeedtestThresholdNotification.php new file mode 100644 index 000000000..690f565e7 --- /dev/null +++ b/app/Listeners/Gotify/SendSpeedtestThresholdNotification.php @@ -0,0 +1,138 @@ +gotify_enabled) { + return; + } + + if (! $notificationSettings->gotify_on_threshold_failure) { + return; + } + + if (! count($notificationSettings->gotify_webhooks)) { + Log::warning('Gotify urls not found, check gotify notification channel settings.'); + + return; + } + + $thresholdSettings = new ThresholdSettings; + + if (! $thresholdSettings->absolute_enabled) { + return; + } + + $failed = []; + + if ($thresholdSettings->absolute_download > 0) { + array_push($failed, $this->absoluteDownloadThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + if ($thresholdSettings->absolute_upload > 0) { + array_push($failed, $this->absoluteUploadThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + if ($thresholdSettings->absolute_ping > 0) { + array_push($failed, $this->absolutePingThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + $failed = array_filter($failed); + + if (! count($failed)) { + Log::warning('Failed Gotify thresholds not found, won\'t send notification.'); + + return; + } + + $payload = [ + 'message' => view('gotify.speedtest-threshold', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(), + 'extras' => [ + 'client::display' => [ + 'contentType' => 'text/markdown', + ], + ], + ]; + + foreach ($notificationSettings->gotify_webhooks as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload($payload) + ->doNotSign() + ->dispatch(); + } + } + + /** + * Build gotify notification if absolute download threshold is breached. + */ + protected function absoluteDownloadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absoluteDownloadThresholdFailed($thresholdSettings->absolute_download, $event->result->download)) { + return false; + } + + return [ + 'name' => 'Download', + 'threshold' => $thresholdSettings->absolute_download.' Mbps', + 'value' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + ]; + } + + /** + * Build gotify notification if absolute upload threshold is breached. + */ + protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absoluteUploadThresholdFailed($thresholdSettings->absolute_upload, $event->result->upload)) { + return false; + } + + return [ + 'name' => 'Upload', + 'threshold' => $thresholdSettings->absolute_upload.' Mbps', + 'value' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + ]; + } + + /** + * Build gotify notification if absolute ping threshold is breached. + */ + protected function absolutePingThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absolutePingThresholdFailed($thresholdSettings->absolute_ping, $event->result->ping)) { + return false; + } + + return [ + 'name' => 'Ping', + 'threshold' => $thresholdSettings->absolute_ping.' ms', + 'value' => round($event->result->ping, 2).' ms', + ]; + } +} diff --git a/app/Listeners/Webhook/SendSpeedtestCompletedNotification.php b/app/Listeners/HealthCheck/SendSpeedtestCompletedNotification.php similarity index 62% rename from app/Listeners/Webhook/SendSpeedtestCompletedNotification.php rename to app/Listeners/HealthCheck/SendSpeedtestCompletedNotification.php index 58c58e41f..4b9ae48d2 100644 --- a/app/Listeners/Webhook/SendSpeedtestCompletedNotification.php +++ b/app/Listeners/HealthCheck/SendSpeedtestCompletedNotification.php @@ -1,6 +1,6 @@ webhook_enabled) { + if (! $notificationSettings->healthcheck_enabled) { return; } - if (! $notificationSettings->webhook_on_speedtest_run) { + if (! $notificationSettings->healthcheck_on_speedtest_run) { return; } - if (! count($notificationSettings->webhook_urls)) { - Log::warning('Webhook urls not found, check webhook notification channel settings.'); + if (! count($notificationSettings->healthcheck_webhooks)) { + Log::warning('healthcheck urls not found, check healthcheck notification channel settings.'); return; } - foreach ($notificationSettings->webhook_urls as $url) { + foreach ($notificationSettings->healthcheck_webhooks as $url) { WebhookCall::create() ->url($url['url']) ->payload([ 'result_id' => $event->result->id, 'site_name' => config('app.name'), + 'isp' => $event->result->isp, 'ping' => $event->result->ping, 'download' => $event->result->downloadBits, 'upload' => $event->result->uploadBits, 'packetLoss' => $event->result->packet_loss, + 'speedtest_url' => $event->result->result_url, 'url' => url('/admin/results'), ]) ->doNotSign() diff --git a/app/Listeners/Webhook/SendSpeedtestThresholdNotification.php b/app/Listeners/HealthCheck/SendSpeedtestThresholdNotification.php similarity index 75% rename from app/Listeners/Webhook/SendSpeedtestThresholdNotification.php rename to app/Listeners/HealthCheck/SendSpeedtestThresholdNotification.php index 47c5fcf72..4b48fc25b 100644 --- a/app/Listeners/Webhook/SendSpeedtestThresholdNotification.php +++ b/app/Listeners/HealthCheck/SendSpeedtestThresholdNotification.php @@ -1,6 +1,6 @@ webhook_enabled) { + if (! $notificationSettings->healthcheck_enabled) { return; } - if (! $notificationSettings->webhook_on_threshold_failure) { + if (! $notificationSettings->healthcheck_on_threshold_failure) { return; } - if (! count($notificationSettings->webhook_urls)) { - Log::warning('Webhook urls not found, check webhook notification channel settings.'); + if (! count($notificationSettings->healthcheck_webhooks)) { + Log::warning('HealthCheck urls not found, check healthcheck notification channel settings.'); return; } - $thresholdSettings = new ThresholdSettings(); + $thresholdSettings = new ThresholdSettings; if (! $thresholdSettings->absolute_enabled) { return; @@ -55,18 +55,20 @@ public function handle(SpeedtestCompleted $event): void $failed = array_filter($failed); if (! count($failed)) { - Log::warning('Failed webhook thresholds not found, won\'t send notification.'); + Log::warning('Failed healthcheck thresholds not found, won\'t send notification.'); return; } - foreach ($notificationSettings->webhook_urls as $url) { + foreach ($notificationSettings->healthcheck_webhooks as $url) { WebhookCall::create() - ->url($url['url']) + ->url($url['url'].'/fail') ->payload([ 'result_id' => $event->result->id, 'site_name' => config('app.name'), + 'isp' => $event->result->isp, 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, 'url' => url('/admin/results'), ]) ->doNotSign() @@ -75,7 +77,7 @@ public function handle(SpeedtestCompleted $event): void } /** - * Build webhook notification if absolute download threshold is breached. + * Build HealthCheck notification if absolute download threshold is breached. */ protected function absoluteDownloadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array { @@ -91,7 +93,7 @@ protected function absoluteDownloadThreshold(SpeedtestCompleted $event, Threshol } /** - * Build webhook notification if absolute upload threshold is breached. + * Build Healthcheck notification if absolute upload threshold is breached. */ protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array { @@ -107,7 +109,7 @@ protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdS } /** - * Build webhook notification if absolute ping threshold is breached. + * Build Healthcheck notification if absolute ping threshold is breached. */ protected function absolutePingThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array { diff --git a/app/Listeners/LogWebhookFailure.php b/app/Listeners/LogWebhookFailure.php new file mode 100644 index 000000000..d9884b873 --- /dev/null +++ b/app/Listeners/LogWebhookFailure.php @@ -0,0 +1,21 @@ + $event->webhookUrl, + 'error_type' => $event->errorType, + 'error_message' => $event->errorMessage, + ]); + } +} diff --git a/app/Listeners/Mail/SendSpeedtestCompletedNotification.php b/app/Listeners/Mail/SendSpeedtestCompletedNotification.php deleted file mode 100644 index d162666c4..000000000 --- a/app/Listeners/Mail/SendSpeedtestCompletedNotification.php +++ /dev/null @@ -1,39 +0,0 @@ -mail_enabled) { - return; - } - - if (! $notificationSettings->mail_on_speedtest_run) { - return; - } - - if (! count($notificationSettings->mail_recipients)) { - Log::warning('Mail recipients not found, check mail notification channel settings.'); - - return; - } - - foreach ($notificationSettings->mail_recipients as $recipient) { - Mail::to($recipient) - ->send(new SpeedtestCompletedMail($event->result)); - } - } -} diff --git a/app/Listeners/Ntfy/SendSpeedtestCompletedNotification.php b/app/Listeners/Ntfy/SendSpeedtestCompletedNotification.php new file mode 100644 index 000000000..08052c0e5 --- /dev/null +++ b/app/Listeners/Ntfy/SendSpeedtestCompletedNotification.php @@ -0,0 +1,69 @@ +ntfy_enabled) { + return; + } + + if (! $notificationSettings->ntfy_on_speedtest_run) { + return; + } + + if (! count($notificationSettings->ntfy_webhooks)) { + Log::warning('Ntfy urls not found, check Ntfy notification channel settings.'); + + return; + } + + $payload = + view('ntfy.speedtest-completed', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'ping' => round($event->result->ping).' ms', + 'download' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + 'upload' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + 'packetLoss' => $event->result->packet_loss, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(); + + foreach ($notificationSettings->ntfy_webhooks as $url) { + $webhookCall = WebhookCall::create() + ->url($url['url']) + ->payload([ + 'topic' => $url['topic'], + 'message' => $payload, + ]) + ->doNotSign(); + + // Only add authentication if username and password are provided + if (! empty($url['username']) && ! empty($url['password'])) { + $authHeader = 'Basic '.base64_encode($url['username'].':'.$url['password']); + $webhookCall->withHeaders([ + 'Authorization' => $authHeader, + ]); + } + $webhookCall->dispatch(); + } + } +} diff --git a/app/Listeners/Ntfy/SendSpeedtestThresholdNotification.php b/app/Listeners/Ntfy/SendSpeedtestThresholdNotification.php new file mode 100644 index 000000000..67ed5312a --- /dev/null +++ b/app/Listeners/Ntfy/SendSpeedtestThresholdNotification.php @@ -0,0 +1,144 @@ +ntfy_enabled) { + return; + } + + if (! $notificationSettings->ntfy_on_threshold_failure) { + return; + } + + if (! count($notificationSettings->ntfy_webhooks)) { + Log::warning('Ntfy urls not found, check Ntfy notification channel settings.'); + + return; + } + + $thresholdSettings = new ThresholdSettings; + + if (! $thresholdSettings->absolute_enabled) { + return; + } + + $failed = []; + + if ($thresholdSettings->absolute_download > 0) { + array_push($failed, $this->absoluteDownloadThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + if ($thresholdSettings->absolute_upload > 0) { + array_push($failed, $this->absoluteUploadThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + if ($thresholdSettings->absolute_ping > 0) { + array_push($failed, $this->absolutePingThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + $failed = array_filter($failed); + + if (! count($failed)) { + Log::warning('Failed ntfy thresholds not found, won\'t send notification.'); + + return; + } + + $payload = + view('ntfy.speedtest-threshold', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(); + + foreach ($notificationSettings->ntfy_webhooks as $url) { + $webhookCall = WebhookCall::create() + ->url($url['url']) + ->payload([ + 'topic' => $url['topic'], + 'message' => $payload, + ]) + ->doNotSign(); + + // Only add authentication if username and password are provided + if (! empty($url['username']) && ! empty($url['password'])) { + $authHeader = 'Basic '.base64_encode($url['username'].':'.$url['password']); + $webhookCall->withHeaders([ + 'Authorization' => $authHeader, + ]); + } + + $webhookCall->dispatch(); + } + } + + /** + * Build Ntfy notification if absolute download threshold is breached. + */ + protected function absoluteDownloadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absoluteDownloadThresholdFailed($thresholdSettings->absolute_download, $event->result->download)) { + return false; + } + + return [ + 'name' => 'Download', + 'threshold' => $thresholdSettings->absolute_download.' Mbps', + 'value' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + ]; + } + + /** + * Build Ntfy notification if absolute upload threshold is breached. + */ + protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absoluteUploadThresholdFailed($thresholdSettings->absolute_upload, $event->result->upload)) { + return false; + } + + return [ + 'name' => 'Upload', + 'threshold' => $thresholdSettings->absolute_upload.' Mbps', + 'value' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + ]; + } + + /** + * Build Ntfy notification if absolute ping threshold is breached. + */ + protected function absolutePingThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absolutePingThresholdFailed($thresholdSettings->absolute_ping, $event->result->ping)) { + return false; + } + + return [ + 'name' => 'Ping', + 'threshold' => $thresholdSettings->absolute_ping.' ms', + 'value' => round($event->result->ping, 2).' ms', + ]; + } +} diff --git a/app/Listeners/ProcessCompletedSpeedtest.php b/app/Listeners/ProcessCompletedSpeedtest.php new file mode 100644 index 000000000..c1399c076 --- /dev/null +++ b/app/Listeners/ProcessCompletedSpeedtest.php @@ -0,0 +1,178 @@ +result; + + if ($result->healthy === false) { + return; + } + + // Don't send notifications for unscheduled speedtests. + if ($result->unscheduled) { + return; + } + + $this->notifyAppriseChannels($result); + $this->notifyDatabaseChannels($result); + $this->notifyMailChannels($result); + $this->notifyWebhookChannels($result); + } + + /** + * Notify Apprise channels. + */ + private function notifyAppriseChannels(Result $result): void + { + // Check if Apprise notifications are enabled. + if (! $this->notificationSettings->apprise_enabled || ! $this->notificationSettings->apprise_on_speedtest_run) { + return; + } + + if (! count($this->notificationSettings->apprise_channel_urls)) { + Log::warning('Apprise channel URLs not found, check Apprise notification channel settings.'); + + return; + } + + // Build the speedtest data + $body = view('apprise.speedtest-completed', [ + 'id' => $result->id, + 'service' => Str::title($result->service->getLabel()), + 'serverName' => $result->server_name, + 'serverId' => $result->server_id, + 'isp' => $result->isp, + 'ping' => round($result->ping).' ms', + 'download' => Number::toBitRate(bits: $result->download_bits, precision: 2), + 'upload' => Number::toBitRate(bits: $result->upload_bits, precision: 2), + 'packetLoss' => $result->packet_loss ? round($result->packet_loss, precision: 2) : '', + 'speedtest_url' => $result->result_url, + 'url' => url('/admin/results'), + ])->render(); + + $title = 'Speedtest Completed – #'.$result->id; + + // Send notification to each configured channel URL + foreach ($this->notificationSettings->apprise_channel_urls as $row) { + $channelUrl = $row['channel_url'] ?? null; + if (! $channelUrl) { + Log::warning('Skipping entry with missing channel_url.'); + + continue; + } + + Notification::route('apprise_urls', $channelUrl) + ->notify(new SpeedtestNotification($title, $body, 'info', 'markdown')); + } + } + + /** + * Notify database channels. + */ + private function notifyDatabaseChannels(Result $result): void + { + // Check if database notifications are enabled. + if (! $this->notificationSettings->database_enabled || ! $this->notificationSettings->database_on_speedtest_run) { + return; + } + + foreach (User::all() as $user) { + FilamentNotification::make() + ->title(__('results.speedtest_completed')) + ->actions([ + Action::make('view') + ->label(__('general.view')) + ->url(route('filament.admin.resources.results.index')), + ]) + ->success() + ->sendToDatabase($user); + } + } + + /** + * Notify mail channels. + */ + private function notifyMailChannels(Result $result): void + { + if (! $this->notificationSettings->mail_enabled || ! $this->notificationSettings->mail_on_speedtest_run) { + return; + } + + if (! count($this->notificationSettings->mail_recipients)) { + Log::warning('Mail recipients not found, check mail notification channel settings.'); + + return; + } + + foreach ($this->notificationSettings->mail_recipients as $recipient) { + Mail::to($recipient) + ->send(new CompletedSpeedtestMail($result)); + } + } + + /** + * Notify webhook channels. + */ + private function notifyWebhookChannels(Result $result): void + { + // Check if webhook notifications are enabled. + if (! $this->notificationSettings->webhook_enabled || ! $this->notificationSettings->webhook_on_speedtest_run) { + return; + } + + // Check if webhook urls are configured. + if (! count($this->notificationSettings->webhook_urls)) { + Log::warning('Webhook urls not found, check webhook notification channel settings.'); + + return; + } + + foreach ($this->notificationSettings->webhook_urls as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload([ + 'result_id' => $result->id, + 'site_name' => config('app.name'), + 'server_name' => Arr::get($result->data, 'server.name'), + 'server_id' => Arr::get($result->data, 'server.id'), + 'status' => $result->status, + 'isp' => Arr::get($result->data, 'isp'), + 'ping' => round($result->ping), + 'download' => Number::bitsToMagnitude(bits: $result->download_bits, precision: 0, magnitude: 'mbit'), + 'upload' => Number::bitsToMagnitude(bits: $result->upload_bits, precision: 0, magnitude: 'mbit'), + 'packet_loss' => Arr::get($result->data, 'packetLoss'), + 'speedtest_url' => Arr::get($result->data, 'result.url'), + 'url' => url('/admin/results'), + ]) + ->doNotSign() + ->dispatch(); + } + } +} diff --git a/app/Listeners/ProcessFailedSpeedtest.php b/app/Listeners/ProcessFailedSpeedtest.php new file mode 100644 index 000000000..3cc4d9cd8 --- /dev/null +++ b/app/Listeners/ProcessFailedSpeedtest.php @@ -0,0 +1,32 @@ +result; + + // Don't send notifications for unscheduled speedtests. + if ($result->unscheduled) { + return; + } + + // $this->notifyAppriseChannels($result); + } + + /** + * Notify Apprise channels. + */ + private function notifyAppriseChannels(Result $result): void + { + // + } +} diff --git a/app/Listeners/ProcessSpeedtestDataIntegrations.php b/app/Listeners/ProcessSpeedtestDataIntegrations.php new file mode 100644 index 000000000..8b2360b9f --- /dev/null +++ b/app/Listeners/ProcessSpeedtestDataIntegrations.php @@ -0,0 +1,33 @@ +settings->influxdb_v2_enabled) { + WriteResult::dispatch($event->result); + } + + if ($this->settings->prometheus_enabled) { + Cache::forever('prometheus:latest_result', $event->result->id); + } + } +} diff --git a/app/Listeners/ProcessUnhealthySpeedtest.php b/app/Listeners/ProcessUnhealthySpeedtest.php new file mode 100644 index 000000000..288f60739 --- /dev/null +++ b/app/Listeners/ProcessUnhealthySpeedtest.php @@ -0,0 +1,205 @@ +result; + + // Don't send notifications for unscheduled speedtests. + if ($result->unscheduled) { + return; + } + + $this->notifyAppriseChannels($result); + $this->notifyDatabaseChannels($result); + $this->notifyMailChannels($result); + $this->notifyWebhookChannels($result); + } + + /** + * Notify Apprise channels. + */ + private function notifyAppriseChannels(Result $result): void + { + if (! $this->notificationSettings->apprise_enabled || ! $this->notificationSettings->apprise_on_threshold_failure) { + return; + } + + if (! count($this->notificationSettings->apprise_channel_urls)) { + Log::warning('Apprise channel URLs not found, check Apprise notification channel settings.'); + + return; + } + + if (empty($result->benchmarks)) { + Log::warning('Benchmark data not found, won\'t send Apprise notification.'); + + return; + } + + // Build metrics array from failed benchmarks + $failed = []; + + foreach ($result->benchmarks as $metric => $benchmark) { + if ($benchmark['passed'] === false) { + $failed[] = [ + 'name' => ucfirst($metric), + 'threshold' => $benchmark['value'].' '.$benchmark['unit'], + 'value' => $this->formatMetricValue($metric, $result), + ]; + } + } + + if (! count($failed)) { + Log::warning('No failed thresholds found in benchmarks, won\'t send Apprise notification.'); + + return; + } + + $body = view('apprise.speedtest-threshold', [ + 'id' => $result->id, + 'service' => Str::title($result->service->getLabel()), + 'serverName' => $result->server_name, + 'serverId' => $result->server_id, + 'isp' => $result->isp, + 'metrics' => $failed, + 'speedtest_url' => $result->result_url, + 'url' => url('/admin/results'), + ])->render(); + + $title = 'Speedtest Threshold Breach – #'.$result->id; + + // Send notification to each configured channel URL + foreach ($this->notificationSettings->apprise_channel_urls as $row) { + $channelUrl = $row['channel_url'] ?? null; + if (! $channelUrl) { + Log::warning('Skipping entry with missing channel_url.'); + + continue; + } + + Notification::route('apprise_urls', $channelUrl) + ->notify(new SpeedtestNotification($title, $body, 'warning', 'markdown')); + } + } + + /** + * Format metric value for display in notification. + */ + private function formatMetricValue(string $metric, Result $result): string + { + return match ($metric) { + 'download' => Number::toBitRate(bits: $result->download_bits, precision: 2), + 'upload' => Number::toBitRate(bits: $result->upload_bits, precision: 2), + 'ping' => round($result->ping, 2).' ms', + default => '', + }; + } + + /** + * Notify database channels. + */ + private function notifyDatabaseChannels(Result $result): void + { + // Check if database notifications are enabled. + if (! $this->notificationSettings->database_enabled || ! $this->notificationSettings->database_on_threshold_failure) { + return; + } + + foreach (User::all() as $user) { + FilamentNotification::make() + ->title(__('results.speedtest_benchmark_failed')) + ->actions([ + Action::make('view') + ->label(__('general.view')) + ->url(route('filament.admin.resources.results.index')), + ]) + ->success() + ->sendToDatabase($user); + } + } + + /** + * Notify mail channels. + */ + private function notifyMailChannels(Result $result): void + { + // Check if mail notifications are enabled. + if (! $this->notificationSettings->mail_enabled || ! $this->notificationSettings->mail_on_threshold_failure) { + return; + } + + // Check if mail recipients are configured. + if (! count($this->notificationSettings->mail_recipients)) { + Log::warning('Mail recipients not found, check mail notification channel settings.'); + + return; + } + + foreach ($this->notificationSettings->mail_recipients as $recipient) { + Mail::to($recipient) + ->send(new UnhealthySpeedtestMail($result)); + } + } + + /** + * Notify webhook channels. + */ + private function notifyWebhookChannels(Result $result): void + { + // Check if webhook notifications are enabled. + if (! $this->notificationSettings->webhook_enabled || ! $this->notificationSettings->webhook_on_threshold_failure) { + return; + } + + // Check if webhook urls are configured. + if (! count($this->notificationSettings->webhook_urls)) { + Log::warning('Webhook urls not found, check webhook notification channel settings.'); + + return; + } + + foreach ($this->notificationSettings->webhook_urls as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload([ + 'result_id' => $result->id, + 'site_name' => config('app.name'), + 'isp' => $result->isp, + 'benchmarks' => $result->benchmarks, + 'speedtest_url' => $result->result_url, + 'url' => url('/admin/results'), + ]) + ->doNotSign() + ->dispatch(); + } + } +} diff --git a/app/Listeners/Pushover/SendSpeedtestCompletedNotification.php b/app/Listeners/Pushover/SendSpeedtestCompletedNotification.php new file mode 100644 index 000000000..c7e55d000 --- /dev/null +++ b/app/Listeners/Pushover/SendSpeedtestCompletedNotification.php @@ -0,0 +1,63 @@ +pushover_enabled) { + return; + } + + if (! $notificationSettings->pushover_on_speedtest_run) { + return; + } + + if (! count($notificationSettings->pushover_webhooks)) { + Log::warning('Pushover urls not found, check Pushover notification channel settings.'); + + return; + } + + $payload = [ + view('pushover.speedtest-completed', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'ping' => round($event->result->ping).' ms', + 'download' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + 'upload' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + 'packetLoss' => $event->result->packet_loss, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(), + ]; + + foreach ($notificationSettings->pushover_webhooks as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload([ + 'token' => $url['api_token'], + 'user' => $url['user_key'], + 'message' => $payload, + ]) + ->doNotSign() + ->dispatch(); + } + } +} diff --git a/app/Listeners/Pushover/SendSpeedtestThresholdNotification.php b/app/Listeners/Pushover/SendSpeedtestThresholdNotification.php new file mode 100644 index 000000000..52b964c7b --- /dev/null +++ b/app/Listeners/Pushover/SendSpeedtestThresholdNotification.php @@ -0,0 +1,137 @@ +pushover_enabled) { + return; + } + + if (! $notificationSettings->pushover_on_threshold_failure) { + return; + } + + if (! count($notificationSettings->pushover_webhooks)) { + Log::warning('Pushover urls not found, check Pushover notification channel settings.'); + + return; + } + + $thresholdSettings = new ThresholdSettings; + + if (! $thresholdSettings->absolute_enabled) { + return; + } + + $failed = []; + + if ($thresholdSettings->absolute_download > 0) { + array_push($failed, $this->absoluteDownloadThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + if ($thresholdSettings->absolute_upload > 0) { + array_push($failed, $this->absoluteUploadThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + if ($thresholdSettings->absolute_ping > 0) { + array_push($failed, $this->absolutePingThreshold(event: $event, thresholdSettings: $thresholdSettings)); + } + + $failed = array_filter($failed); + + if (! count($failed)) { + Log::warning('Failed Pushover thresholds not found, won\'t send notification.'); + + return; + } + + $payload = [ + view('pushover.speedtest-threshold', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(), + ]; + + foreach ($notificationSettings->pushover_webhooks as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload([ + 'token' => $url['api_token'], + 'user' => $url['user_key'], + 'message' => $payload, + ]) + ->doNotSign() + ->dispatch(); + } + } + + /** + * Build Pushover notification if absolute download threshold is breached. + */ + protected function absoluteDownloadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absoluteDownloadThresholdFailed($thresholdSettings->absolute_download, $event->result->download)) { + return false; + } + + return [ + 'name' => 'Download', + 'threshold' => $thresholdSettings->absolute_download.' Mbps', + 'value' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + ]; + } + + /** + * Build Pushover notification if absolute upload threshold is breached. + */ + protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absoluteUploadThresholdFailed($thresholdSettings->absolute_upload, $event->result->upload)) { + return false; + } + + return [ + 'name' => 'Upload', + 'threshold' => $thresholdSettings->absolute_upload.' Mbps', + 'value' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + ]; + } + + /** + * Build Pushover notification if absolute ping threshold is breached. + */ + protected function absolutePingThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array + { + if (! absolutePingThresholdFailed($thresholdSettings->absolute_ping, $event->result->ping)) { + return false; + } + + return [ + 'name' => 'Ping', + 'threshold' => $thresholdSettings->absolute_ping.' ms', + 'value' => round($event->result->ping, 2).' ms', + ]; + } +} diff --git a/app/Listeners/Slack/SendSpeedtestCompletedNotification.php b/app/Listeners/Slack/SendSpeedtestCompletedNotification.php new file mode 100644 index 000000000..54d7439a0 --- /dev/null +++ b/app/Listeners/Slack/SendSpeedtestCompletedNotification.php @@ -0,0 +1,59 @@ +slack_enabled) { + return; + } + + if (! $notificationSettings->slack_on_speedtest_run) { + return; + } + + if (! count($notificationSettings->slack_webhooks)) { + Log::warning('Slack URLs not found, check Slack notification channel settings.'); + + return; + } + + $payload = [ + 'text' => view('slack.speedtest-completed', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'ping' => round($event->result->ping).' ms', + 'download' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), + 'upload' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), + 'packetLoss' => $event->result->packet_loss, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(), + ]; + + foreach ($notificationSettings->slack_webhooks as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload($payload) + ->doNotSign() + ->dispatch(); + } + } +} diff --git a/app/Listeners/Mail/SendSpeedtestThresholdNotification.php b/app/Listeners/Slack/SendSpeedtestThresholdNotification.php similarity index 63% rename from app/Listeners/Mail/SendSpeedtestThresholdNotification.php rename to app/Listeners/Slack/SendSpeedtestThresholdNotification.php index 2cd246655..d5f6a748d 100644 --- a/app/Listeners/Mail/SendSpeedtestThresholdNotification.php +++ b/app/Listeners/Slack/SendSpeedtestThresholdNotification.php @@ -1,14 +1,14 @@ mail_enabled) { + if (! $notificationSettings->slack_enabled) { return; } - if (! $notificationSettings->mail_on_threshold_failure) { + if (! $notificationSettings->slack_on_threshold_failure) { return; } - if (! count($notificationSettings->mail_recipients) > 0) { - Log::warning('Mail recipients not found, check mail notification channel settings.'); + if (! count($notificationSettings->slack_webhooks)) { + Log::warning('Slack urls not found, check Slack notification channel settings.'); return; } - $thresholdSettings = new ThresholdSettings(); + $thresholdSettings = new ThresholdSettings; if (! $thresholdSettings->absolute_enabled) { return; @@ -56,19 +56,35 @@ public function handle(SpeedtestCompleted $event): void $failed = array_filter($failed); if (! count($failed)) { - Log::warning('Failed mail thresholds not found, won\'t send notification.'); + Log::warning('Failed Slack thresholds not found, won\'t send notification.'); return; } - foreach ($notificationSettings->mail_recipients as $recipient) { - Mail::to($recipient) - ->send(new SpeedtestThresholdMail($event->result, $failed)); + $payload = [ + 'text' => view('slack.speedtest-threshold', [ + 'id' => $event->result->id, + 'service' => Str::title($event->result->service->getLabel()), + 'serverName' => $event->result->server_name, + 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, + 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, + 'url' => url('/admin/results'), + ])->render(), + ]; + + foreach ($notificationSettings->slack_webhooks as $url) { + WebhookCall::create() + ->url($url['url']) + ->payload($payload) + ->doNotSign() + ->dispatch(); } } /** - * Build mail notification if absolute download threshold is breached. + * Build Slack notification if absolute download threshold is breached. */ protected function absoluteDownloadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array { @@ -84,7 +100,7 @@ protected function absoluteDownloadThreshold(SpeedtestCompleted $event, Threshol } /** - * Build mail notification if absolute upload threshold is breached. + * Build Slack notification if absolute upload threshold is breached. */ protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array { @@ -100,7 +116,7 @@ protected function absoluteUploadThreshold(SpeedtestCompleted $event, ThresholdS } /** - * Build mail notification if absolute ping threshold is breached. + * Build Slack notification if absolute ping threshold is breached. */ protected function absolutePingThreshold(SpeedtestCompleted $event, ThresholdSettings $thresholdSettings): bool|array { diff --git a/app/Listeners/Telegram/SendSpeedtestCompletedNotification.php b/app/Listeners/Telegram/SendSpeedtestCompletedNotification.php index 7f2a6d37e..ee269799c 100644 --- a/app/Listeners/Telegram/SendSpeedtestCompletedNotification.php +++ b/app/Listeners/Telegram/SendSpeedtestCompletedNotification.php @@ -17,7 +17,7 @@ class SendSpeedtestCompletedNotification */ public function handle(SpeedtestCompleted $event): void { - $notificationSettings = new NotificationSettings(); + $notificationSettings = new NotificationSettings; if (! $notificationSettings->telegram_enabled) { return; @@ -35,13 +35,15 @@ public function handle(SpeedtestCompleted $event): void $content = view('telegram.speedtest-completed', [ 'id' => $event->result->id, - 'service' => Str::title($event->result->service), + 'service' => Str::title($event->result->service->getLabel()), 'serverName' => $event->result->server_name, 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, 'ping' => round($event->result->ping).' ms', 'download' => Number::toBitRate(bits: $event->result->download_bits, precision: 2), 'upload' => Number::toBitRate(bits: $event->result->upload_bits, precision: 2), - 'packetLoss' => $event->result->packet_loss, + 'packetLoss' => is_numeric($event->result->packet_loss) ? round($event->result->packet_loss, 2) : 'n/a', + 'speedtest_url' => $event->result->result_url, 'url' => url('/admin/results'), ])->render(); diff --git a/app/Listeners/Telegram/SendSpeedtestThresholdNotification.php b/app/Listeners/Telegram/SendSpeedtestThresholdNotification.php index 98b354ad4..dcb4aa87d 100644 --- a/app/Listeners/Telegram/SendSpeedtestThresholdNotification.php +++ b/app/Listeners/Telegram/SendSpeedtestThresholdNotification.php @@ -18,7 +18,7 @@ class SendSpeedtestThresholdNotification */ public function handle(SpeedtestCompleted $event): void { - $notificationSettings = new NotificationSettings(); + $notificationSettings = new NotificationSettings; if (! $notificationSettings->telegram_enabled) { return; @@ -34,7 +34,7 @@ public function handle(SpeedtestCompleted $event): void return; } - $thresholdSettings = new ThresholdSettings(); + $thresholdSettings = new ThresholdSettings; if (! $thresholdSettings->absolute_enabled) { return; @@ -64,10 +64,12 @@ public function handle(SpeedtestCompleted $event): void $content = view('telegram.speedtest-threshold', [ 'id' => $event->result->id, - 'service' => Str::title($event->result->service), + 'service' => Str::title($event->result->service->getLabel()), 'serverName' => $event->result->server_name, 'serverId' => $event->result->server_id, + 'isp' => $event->result->isp, 'metrics' => $failed, + 'speedtest_url' => $event->result->result_url, 'url' => url('/admin/results'), ])->render(); diff --git a/app/Listeners/UserNotificationSubscriber.php b/app/Listeners/UserNotificationSubscriber.php new file mode 100644 index 000000000..aefa0eaae --- /dev/null +++ b/app/Listeners/UserNotificationSubscriber.php @@ -0,0 +1,104 @@ +result; + + if (empty($result->dispatched_by)) { + return; + } + + $result->loadMissing('dispatchedBy'); + + Notification::make() + ->title(__('results.speedtest_completed')) + ->actions([ + Action::make('view') + ->label(__('general.view')) + ->url(route('filament.admin.resources.results.index')), + ]) + ->success() + ->sendToDatabase($result->dispatchedBy); + } + + /** + * Handle the event. + */ + public function handleBenchmarkFailed(SpeedtestBenchmarkUnhealthy $event): void + { + $result = $event->result; + + if (empty($result->dispatched_by)) { + return; + } + + // Don't send notifications for unscheduled speedtests. + if ($result->unscheduled) { + return; + } + + $result->loadMissing('dispatchedBy'); + + Notification::make() + ->title(__('results.speedtest_benchmark_failed')) + ->actions([ + Action::make('view') + ->label(__('general.view')) + ->url(route('filament.admin.resources.results.index')), + ]) + ->warning() + ->sendToDatabase($result->dispatchedBy); + } + + /** + * Handle the event. + */ + public function handleFailed(SpeedtestFailed $event): void + { + $result = $event->result; + + if (empty($result->dispatched_by)) { + return; + } + + $result->loadMissing('dispatchedBy'); + + Notification::make() + ->title(__('results.speedtest_failed')) + ->actions([ + Action::make('view') + ->label(__('general.view')) + ->url(route('filament.admin.resources.results.index')), + ]) + ->warning() + ->sendToDatabase($result->dispatchedBy); + } + + /** + * Register the listeners for the subscriber. + * + * @return array + */ + public function subscribe(Dispatcher $events): array + { + return [ + SpeedtestCompleted::class => 'handleCompleted', + SpeedtestBenchmarkUnhealthy::class => 'handleBenchmarkFailed', + SpeedtestFailed::class => 'handleFailed', + ]; + } +} diff --git a/app/Livewire/Debug/Timezone.php b/app/Livewire/Debug/Timezone.php deleted file mode 100644 index 50eb8a5a8..000000000 --- a/app/Livewire/Debug/Timezone.php +++ /dev/null @@ -1,32 +0,0 @@ -settings = $settings->toArray(); - - $this->latest = Result::query() - ->latest() - ->first(); - } - - public function render() - { - return view('livewire.debug.timezone'); - } -} diff --git a/app/Livewire/DeprecatedNotificationChannelsBanner.php b/app/Livewire/DeprecatedNotificationChannelsBanner.php new file mode 100644 index 000000000..84533de19 --- /dev/null +++ b/app/Livewire/DeprecatedNotificationChannelsBanner.php @@ -0,0 +1,66 @@ +discord_enabled + || $settings->gotify_enabled + || $settings->healthcheck_enabled + || $settings->ntfy_enabled + || $settings->pushover_enabled + || $settings->slack_enabled + || $settings->telegram_enabled; + } + + #[Computed] + public function deprecatedChannelsList(): array + { + $settings = app(NotificationSettings::class); + $channels = []; + + if ($settings->discord_enabled) { + $channels[] = 'Discord'; + } + + if ($settings->gotify_enabled) { + $channels[] = 'Gotify'; + } + + if ($settings->healthcheck_enabled) { + $channels[] = 'Healthchecks'; + } + + if ($settings->ntfy_enabled) { + $channels[] = 'Ntfy'; + } + + if ($settings->pushover_enabled) { + $channels[] = 'Pushover'; + } + + if ($settings->slack_enabled) { + $channels[] = 'Slack'; + } + + if ($settings->telegram_enabled) { + $channels[] = 'Telegram'; + } + + return $channels; + } + + public function render() + { + return view('livewire.deprecated-notification-channels-banner'); + } +} diff --git a/app/Livewire/LatestResultStats.php b/app/Livewire/LatestResultStats.php new file mode 100644 index 000000000..64217b8ab --- /dev/null +++ b/app/Livewire/LatestResultStats.php @@ -0,0 +1,24 @@ +latest() + ->first(); + } + + public function render() + { + return view('livewire.latest-result-stats'); + } +} diff --git a/app/Livewire/NextSpeedtestBanner.php b/app/Livewire/NextSpeedtestBanner.php new file mode 100644 index 000000000..2e20874ac --- /dev/null +++ b/app/Livewire/NextSpeedtestBanner.php @@ -0,0 +1,22 @@ +count(); + $failedResults = Result::where('status', ResultStatus::Failed)->count(); + + return [ + 'total' => Number::format($totalResults), + 'completed' => Number::format($completedResults), + 'failed' => Number::format($failedResults), + ]; + } + + public function render() + { + return view('livewire.platform-stats'); + } +} diff --git a/app/Livewire/Topbar/Actions.php b/app/Livewire/Topbar/Actions.php new file mode 100644 index 000000000..9077724c8 --- /dev/null +++ b/app/Livewire/Topbar/Actions.php @@ -0,0 +1,85 @@ +iconButton() + ->icon('tabler-chart-histogram') + ->color('gray') + ->url(url: route('home')) + ->extraAttributes([ + 'id' => 'dashboardAction', + ]); + } + + public function speedtestAction(): Action + { + return Action::make('speedtest') + ->schema([ + Select::make('server_id') + ->label(__('results.select_server')) + ->helperText(__('results.select_server_helper')) + ->options(function (): array { + return array_filter([ + __('results.manual_servers') => Ookla::getConfigServers(), + __('results.closest_servers') => GetOoklaSpeedtestServers::run(), + ]); + }) + ->searchable(), + ]) + ->action(function (array $data) { + $serverId = $data['server_id'] ?? null; + + RunSpeedtest::run( + serverId: $serverId, + dispatchedBy: Auth::id(), + ); + + Notification::make() + ->title(__('results.speedtest_started')) + ->success() + ->send(); + }) + ->modalHeading(__('results.speedtest')) + ->modalWidth('lg') + ->modalSubmitActionLabel(__('results.start')) + ->button() + ->size(request()->is('filament*') ? Size::Medium : Size::Large) + ->color('primary') + ->label(__('results.speedtest')) + ->icon('tabler-rocket') + ->iconPosition(IconPosition::Before) + ->hidden(! Auth::check() && Auth::user()->is_admin) + ->extraAttributes([ + 'id' => 'speedtestAction', + ]); + } + + public function render() + { + return view('livewire.topbar.actions'); + } +} diff --git a/app/Mail/SpeedtestCompletedMail.php b/app/Mail/CompletedSpeedtestMail.php similarity index 77% rename from app/Mail/SpeedtestCompletedMail.php rename to app/Mail/CompletedSpeedtestMail.php index 0b05b9231..cfd7cecf6 100644 --- a/app/Mail/SpeedtestCompletedMail.php +++ b/app/Mail/CompletedSpeedtestMail.php @@ -12,7 +12,7 @@ use Illuminate\Queue\SerializesModels; use Illuminate\Support\Str; -class SpeedtestCompletedMail extends Mailable implements ShouldQueue +class CompletedSpeedtestMail extends Mailable implements ShouldQueue { use Queueable, SerializesModels; @@ -23,8 +23,7 @@ class SpeedtestCompletedMail extends Mailable implements ShouldQueue */ public function __construct( public Result $result, - ) { - } + ) {} /** * Get the message envelope. @@ -42,16 +41,18 @@ public function envelope(): Envelope public function content(): Content { return new Content( - markdown: 'emails.speedtest-completed', + markdown: 'mail.speedtest.completed', with: [ 'id' => $this->result->id, - 'service' => Str::title($this->result->service), + 'service' => Str::title($this->result->service->getLabel()), 'serverName' => $this->result->server_name, 'serverId' => $this->result->server_id, + 'isp' => $this->result->isp, 'ping' => round($this->result->ping, 2).' ms', 'download' => Number::toBitRate(bits: $this->result->download_bits, precision: 2), 'upload' => Number::toBitRate(bits: $this->result->upload_bits, precision: 2), - 'packetLoss' => $event->result->packet_loss, + 'packetLoss' => $result->packet_loss ? round($result->packet_loss, precision: 2) : '', + 'speedtest_url' => $this->result->result_url, 'url' => url('/admin/results'), ], ); diff --git a/app/Mail/SpeedtestThresholdMail.php b/app/Mail/SpeedtestThresholdMail.php deleted file mode 100644 index f148b123b..000000000 --- a/app/Mail/SpeedtestThresholdMail.php +++ /dev/null @@ -1,56 +0,0 @@ -result->id, - ); - } - - /** - * Get the message content definition. - */ - public function content(): Content - { - return new Content( - markdown: 'emails.speedtest-threshold', - with: [ - 'id' => $this->result->id, - 'service' => Str::title($this->result->service), - 'serverName' => $this->result->server_name, - 'serverId' => $this->result->server_id, - 'url' => url('/admin/results'), - 'metrics' => $this->metrics, - ], - ); - } -} diff --git a/app/Mail/Test.php b/app/Mail/TestMail.php similarity index 87% rename from app/Mail/Test.php rename to app/Mail/TestMail.php index 5fe6fd88b..c6e43a269 100644 --- a/app/Mail/Test.php +++ b/app/Mail/TestMail.php @@ -9,7 +9,7 @@ use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; -class Test extends Mailable implements ShouldQueue +class TestMail extends Mailable implements ShouldQueue { use Queueable, SerializesModels; @@ -29,7 +29,7 @@ public function envelope(): Envelope public function content(): Content { return new Content( - markdown: 'emails.test', + markdown: 'mail.test', ); } } diff --git a/app/Mail/UnhealthySpeedtestMail.php b/app/Mail/UnhealthySpeedtestMail.php new file mode 100644 index 000000000..e22f4ec28 --- /dev/null +++ b/app/Mail/UnhealthySpeedtestMail.php @@ -0,0 +1,83 @@ +result->id, + ); + } + + /** + * Get the message content definition. + */ + public function content(): Content + { + $benchmarks = []; + + foreach ($this->result->benchmarks as $metric => $benchmark) { + $benchmarks[] = $this->formatBenchmark($metric, $benchmark); + } + + return new Content( + markdown: 'mail.speedtest.unhealthy', + with: [ + 'id' => $this->result->id, + 'service' => str($this->result->service->getLabel())->title(), + 'isp' => $this->result->isp, + 'url' => url('/admin/results'), + 'benchmarks' => $benchmarks, + ], + ); + } + + /** + * Format a benchmark for display in the email. + */ + private function formatBenchmark(string $metric, array $benchmark): array + { + $metricName = str($metric)->title(); + $type = str($benchmark['type'])->title(); + $thresholdValue = $benchmark['value'].' '.str($benchmark['unit'])->title(); + + // Get the actual result value + $resultValue = match ($metric) { + 'download' => Number::toBitRate($this->result->download_bits, 2), + 'upload' => Number::toBitRate($this->result->upload_bits, 2), + 'ping' => round(Number::castToType($this->result->ping, 'float'), 2).' ms', + default => 'N/A', + }; + + return [ + 'metric' => $metricName, + 'type' => $type, + 'threshold_value' => $thresholdValue, + 'result_value' => $resultValue, + 'passed' => $benchmark['passed'], + ]; + } +} diff --git a/app/Models/Result.php b/app/Models/Result.php index 6dcfe12f4..084c04097 100644 --- a/app/Models/Result.php +++ b/app/Models/Result.php @@ -2,18 +2,19 @@ namespace App\Models; +use App\Enums\ResultService; use App\Enums\ResultStatus; -use App\Settings\GeneralSettings; +use App\Models\Traits\ResultDataAttributes; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Prunable; -use Illuminate\Support\Arr; +use Illuminate\Database\Eloquent\Relations\BelongsTo; class Result extends Model { - use HasFactory, Prunable; + use HasFactory, Prunable, ResultDataAttributes; /** * The attributes that aren't mass assignable. @@ -23,55 +24,19 @@ class Result extends Model protected $guarded = []; /** - * The attributes that should be cast. + * Get the attributes that should be cast. * - * @var array + * @return array */ - protected $casts = [ - 'data' => 'array', - 'status' => ResultStatus::class, - 'scheduled' => 'boolean', - ]; - - /** - * The tag attributes to be passed to influxdb - */ - public function formatTagsForInfluxDB2(): array + protected function casts(): array { return [ - 'server_id' => (int) $this->server_id, - 'server_host' => $this->server_host, - 'server_name' => $this->server_name, - ]; - } - - /** - * The attributes to be passed to influxdb - */ - public function formatForInfluxDB2() - { - return [ - 'id' => $this->id, - 'ping' => $this?->ping, - 'download' => $this?->download, - 'upload' => $this?->upload, - 'download_bits' => $this->download_bits, - 'upload_bits' => $this->upload_bits, - 'ping_jitter' => $this->ping_jitter, - 'download_jitter' => $this->download_jitter, - 'upload_jitter' => $this->upload_jitter, - 'download_latency_avg' => $this->download_latency_iqm, - 'download_latency_low' => $this->download_latency_low, - 'download_latency_high' => $this->download_latency_high, - 'upload_latency_avg' => $this->upload_latency_iqm, - 'upload_latency_low' => $this->upload_latency_low, - 'upload_latency_high' => $this->upload_latency_high, - 'server_id' => $this?->server_id, - 'server_host' => $this?->server_host, - 'server_name' => $this?->server_name, - 'scheduled' => $this->scheduled, - 'successful' => $this->status === ResultStatus::Completed, - 'packet_loss' => (float) $this->packet_loss, + 'benchmarks' => 'array', + 'data' => 'array', + 'healthy' => 'boolean', + 'scheduled' => 'boolean', + 'service' => ResultService::class, + 'status' => ResultStatus::class, ]; } @@ -80,202 +45,24 @@ public function formatForInfluxDB2() */ public function prunable(): Builder { - $settings = new GeneralSettings(); - - return static::where('created_at', '<=', now()->subDays($settings->prune_results_older_than)); - } - - /** - * Get the result's download in bits. - */ - protected function downloadBits(): Attribute - { - return Attribute::make( - get: fn (): ?int => ! blank($this->download) && is_numeric($this->download) - ? number_format(num: $this->download * 8, decimals: 0, thousands_separator: '') - : null, - ); - } - - /** - * Get the result's download jitter in milliseconds. - */ - protected function downloadJitter(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'download.latency.jitter'), - ); + return static::where('created_at', '<=', now()->subDays(config('speedtest.prune_results_older_than'))); } /** - * Get the result's download latency high in milliseconds. + * Get the user who dispatched this speedtest. */ - protected function downloadlatencyHigh(): Attribute + public function dispatchedBy(): BelongsTo { - return Attribute::make( - get: fn () => Arr::get($this->data, 'download.latency.high'), - ); - } - - /** - * Get the result's download latency low in milliseconds. - */ - protected function downloadlatencyLow(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'download.latency.low'), - ); - } - - /** - * Get the result's download latency iqm in milliseconds. - */ - protected function downloadlatencyiqm(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'download.latency.iqm'), - ); - } - - /** - * Get the result's download jitter in milliseconds. - */ - protected function errorMessage(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'message', ''), - ); - } - - /** - * Get the result's external ip address (yours). - */ - protected function ipAddress(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'interface.externalIp'), - ); - } - - /** - * Get the result's isp tied to the external (yours) ip address. - */ - protected function isp(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'isp'), - ); - } - - /** - * Get the result's packet loss as a percentage. - */ - protected function packetLoss(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'packetLoss'), - ); - } - - /** - * Get the result's ping jitter in milliseconds. - */ - protected function pingJitter(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'ping.jitter'), - ); - } - - /** - * Get the result's server ID. - */ - protected function resultUrl(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'result.url'), - ); - } - - /** - * Get the result's server host. - */ - protected function serverHost(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'server.host'), - ); - } - - /** - * Get the result's server ID. - */ - protected function serverId(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'server.id'), - ); - } - - /** - * Get the result's server name. - */ - protected function serverName(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'server.name'), - ); - } - - /** - * Get the result's upload in bits. - */ - protected function uploadBits(): Attribute - { - return Attribute::make( - get: fn (): ?int => ! blank($this->upload) && is_numeric($this->upload) - ? number_format(num: $this->upload * 8, decimals: 0, thousands_separator: '') - : null, - ); - } - - /** - * Get the result's upload jitter in milliseconds. - */ - protected function uploadJitter(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'upload.latency.jitter'), - ); - } - - /** - * Get the result's upload latency high in milliseconds. - */ - protected function uploadlatencyHigh(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'upload.latency.high'), - ); - } - - /** - * Get the result's upload latency low in milliseconds. - */ - protected function uploadlatencyLow(): Attribute - { - return Attribute::make( - get: fn () => Arr::get($this->data, 'upload.latency.low'), - ); + return $this->belongsTo(User::class, 'dispatched_by'); } /** - * Get the result's upload latency iqm in milliseconds. + * Determine if the result was unscheduled. */ - protected function uploadlatencyiqm(): Attribute + protected function unscheduled(): Attribute { return Attribute::make( - get: fn () => Arr::get($this->data, 'upload.latency.iqm'), + get: fn (): bool => ! $this->scheduled, ); } } diff --git a/app/Models/Traits/ResultDataAttributes.php b/app/Models/Traits/ResultDataAttributes.php new file mode 100644 index 000000000..0e38bc2af --- /dev/null +++ b/app/Models/Traits/ResultDataAttributes.php @@ -0,0 +1,300 @@ + ! blank($this->download) ? Bitrate::bytesToBits($this->download) : null, + ); + } + + /** + * Get the result's download jitter in milliseconds. + */ + protected function downloadJitter(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'download.latency.jitter'), + ); + } + + /** + * Get the result's download latency high in milliseconds. + */ + protected function downloadlatencyHigh(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'download.latency.high'), + ); + } + + /** + * Get the result's download latency low in milliseconds. + */ + protected function downloadlatencyLow(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'download.latency.low'), + ); + } + + /** + * Get the result's download latency iqm in milliseconds. + */ + protected function downloadlatencyiqm(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'download.latency.iqm'), + ); + } + + /** + * Get the result's download jitter in milliseconds. + */ + protected function errorMessage(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'message', ''), + ); + } + + /** + * Get the result's external ip address (yours). + */ + protected function ipAddress(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'interface.externalIp'), + ); + } + + /** + * Get the result's isp tied to the external ip address. + */ + protected function isp(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'isp'), + ); + } + + /** + * Get the result's packet loss as a percentage. + */ + protected function packetLoss(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'packetLoss'), + ); + } + + /** + * Get the result's ping jitter in milliseconds. + */ + protected function pingJitter(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'ping.jitter'), + ); + } + + /** + * Get the result's server ID. + */ + protected function resultUrl(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'result.url'), + ); + } + + /** + * Get the result's server host. + */ + protected function serverHost(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.host'), + ); + } + + /** + * Get the result's server ID. + */ + protected function serverId(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.id'), + ); + } + + /** + * Get the result's server name. + */ + protected function serverName(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.name'), + ); + } + + /** + * Get the result's server location. + */ + protected function serverLocation(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.location'), + ); + } + + /** + * Get the result's upload in bits. + */ + protected function uploadBits(): Attribute + { + return Attribute::make( + get: fn (): null|int|float => ! blank($this->upload) ? Bitrate::bytesToBits($this->upload) : null, + ); + } + + /** + * Get the result's upload jitter in milliseconds. + */ + protected function uploadJitter(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'upload.latency.jitter'), + ); + } + + /** + * Get the result's upload latency high in milliseconds. + */ + protected function uploadlatencyHigh(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'upload.latency.high'), + ); + } + + /** + * Get the result's upload latency low in milliseconds. + */ + protected function uploadlatencyLow(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'upload.latency.low'), + ); + } + + /** + * Get the result's upload latency iqm in milliseconds. + */ + protected function uploadlatencyiqm(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'upload.latency.iqm'), + ); + } + + /** + * Get the result's ping low latency in milliseconds. + */ + protected function pingLow(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'ping.low'), + ); + } + + /** + * Get the result's ping high latency in milliseconds. + */ + protected function pingHigh(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'ping.high'), + ); + } + + /** + * Get the result's download elapsed time in milliseconds. + */ + protected function downloadElapsed(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'download.elapsed'), + ); + } + + /** + * Get the result's upload elapsed time in milliseconds. + */ + protected function uploadElapsed(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'upload.elapsed'), + ); + } + + /** + * Get the result's uploaded bytes. + */ + public function uploadedBytes(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'upload.bytes'), + ); + } + + /** + * Get the result's downloaded bytes. + */ + public function downloadedBytes(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'download.bytes'), + ); + } + + /** + * Get the result's server port. + */ + protected function serverPort(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.port'), + ); + } + + /** + * Get the result's server IP address. + */ + protected function serverIp(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.ip'), + ); + } + + /** + * Get the result's server country. + */ + protected function serverCountry(): Attribute + { + return Attribute::make( + get: fn () => Arr::get($this->data, 'server.country'), + ); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index f1c90bbb0..416ab3184 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -36,18 +36,22 @@ class User extends Authenticatable implements FilamentUser protected $hidden = [ 'password', 'remember_token', + 'role', ]; /** - * The attributes that should be cast. + * Get the attributes that should be cast. * - * @var array + * @return array */ - protected $casts = [ - 'email_verified_at' => 'datetime', - 'password' => 'hashed', - 'role' => UserRole::class, - ]; + protected function casts(): array + { + return [ + 'email_verified_at' => 'datetime', + 'password' => 'hashed', + 'role' => UserRole::class, + ]; + } /** * Any user can access the Filament admin panel. diff --git a/app/Notifications/Apprise/AppriseMessage.php b/app/Notifications/Apprise/AppriseMessage.php new file mode 100644 index 000000000..a510ded7b --- /dev/null +++ b/app/Notifications/Apprise/AppriseMessage.php @@ -0,0 +1,66 @@ +urls = $urls; + + return $this; + } + + public function title(string $title): self + { + $this->title = $title; + + return $this; + } + + public function body(string $body): self + { + $this->body = $body; + + return $this; + } + + public function type(string $type): self + { + $this->type = $type; + + return $this; + } + + public function format(string $format): self + { + $this->format = $format; + + return $this; + } + + public function tag(string $tag): self + { + $this->tag = $tag; + + return $this; + } +} diff --git a/app/Notifications/Apprise/SpeedtestNotification.php b/app/Notifications/Apprise/SpeedtestNotification.php new file mode 100644 index 000000000..0af16a52f --- /dev/null +++ b/app/Notifications/Apprise/SpeedtestNotification.php @@ -0,0 +1,52 @@ +30s to respond (timeout), but still processes successfully. + * See #2653 and #2615 + * + * @var int + */ + public $tries = 1; + + public function __construct( + public string $title, + public string $body, + public string $type = 'info', + public string $format = 'markdown', + ) {} + + /** + * Get the notification's delivery channels. + * + * @return array + */ + public function via(object $notifiable): array + { + return ['apprise']; + } + + /** + * Get the Apprise message representation of the notification. + */ + public function toApprise(object $notifiable): AppriseMessage + { + return AppriseMessage::create() + ->urls($notifiable->routes['apprise_urls']) + ->title($this->title) + ->body($this->body) + ->type($this->type) + ->format($this->format); + } +} diff --git a/app/Notifications/Apprise/TestNotification.php b/app/Notifications/Apprise/TestNotification.php new file mode 100644 index 000000000..a31de6d89 --- /dev/null +++ b/app/Notifications/Apprise/TestNotification.php @@ -0,0 +1,48 @@ +30s to respond (timeout), but still processes successfully. + * See #2653 and #2615 + * + * @var int + */ + public $tries = 1; + + /** + * Get the notification's delivery channels. + * + * @return array + */ + public function via(object $notifiable): array + { + return ['apprise']; + } + + /** + * Get the Apprise message representation of the notification. + */ + public function toApprise(object $notifiable): AppriseMessage + { + $body = '👋 This is a test notification from **'.config('app.name')."**.\n\n"; + $body .= "If you're seeing this, your Apprise notification channel is configured correctly!\n\n"; + + return AppriseMessage::create() + ->urls($notifiable->routes['apprise_urls']) + ->title('Test Notification') + ->body($body) + ->type('info') + ->format('markdown'); + } +} diff --git a/app/Notifications/AppriseChannel.php b/app/Notifications/AppriseChannel.php new file mode 100644 index 000000000..5eed50ace --- /dev/null +++ b/app/Notifications/AppriseChannel.php @@ -0,0 +1,81 @@ +toApprise($notifiable); + + if (! $message) { + return; + } + + $settings = app(NotificationSettings::class); + $appriseUrl = $settings->apprise_server_url ?? ''; + + if (empty($appriseUrl)) { + Log::warning('Apprise notification skipped: No Server URL configured'); + + return; + } + + Log::debug('Attempting to send Apprise notification', [ + 'channel' => $message->urls, + 'instance' => $appriseUrl, + ]); + + try { + $request = Http::timeout(60) + ->withHeaders([ + 'Content-Type' => 'application/json', + ]); + + // If SSL verification is disabled in settings, skip it + if (! $settings->apprise_verify_ssl) { + $request = $request->withoutVerifying(); + } + + $response = $request->post($appriseUrl, [ + 'urls' => $message->urls, + 'title' => $message->title, + 'body' => $message->body, + 'type' => $message->type ?? 'info', + 'format' => $message->format ?? 'text', + 'tag' => $message->tag ?? null, + ]); + + // Only accept 200 OK responses as successful + if ($response->status() !== 200) { + throw new Exception('Apprise returned an error, please check Apprise logs for details'); + } + + Log::debug('Apprise notification sent', [ + 'channel' => $message->urls, + 'instance' => $appriseUrl, + ]); + } catch (Throwable $e) { + Log::error('Apprise notification failed', [ + 'channel' => $message->urls ?? 'unknown', + 'instance' => $appriseUrl, + 'message' => $e->getMessage(), + 'exception' => get_class($e), + ]); + + // Re-throw the exception so it can be handled by the queue + throw $e; + } + } +} diff --git a/app/Notifications/Telegram/SpeedtestNotification.php b/app/Notifications/Telegram/SpeedtestNotification.php index 066bef93f..5317f7bf9 100644 --- a/app/Notifications/Telegram/SpeedtestNotification.php +++ b/app/Notifications/Telegram/SpeedtestNotification.php @@ -17,8 +17,7 @@ class SpeedtestNotification extends Notification implements ShouldQueue public function __construct( public string $content, public bool $disableNotification = false, - ) { - } + ) {} /** * Get the notification's delivery channels. diff --git a/app/Notifications/Telegram/TestNotification.php b/app/Notifications/Telegram/TestNotification.php index f59d11157..111ddc47d 100644 --- a/app/Notifications/Telegram/TestNotification.php +++ b/app/Notifications/Telegram/TestNotification.php @@ -21,7 +21,7 @@ class TestNotification extends Notification implements ShouldQueue */ public function __construct() { - $this->settings = new NotificationSettings(); + $this->settings = new NotificationSettings; } /** diff --git a/app/OpenApi/Annotations/V1/OoklaAnnotations.php b/app/OpenApi/Annotations/V1/OoklaAnnotations.php new file mode 100644 index 000000000..af559b059 --- /dev/null +++ b/app/OpenApi/Annotations/V1/OoklaAnnotations.php @@ -0,0 +1,47 @@ +=, <=, etc.)' + ), + new OA\Parameter( + name: 'filter[download]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'integer'), + description: 'Filter by download speed (supports operators like >=, <=, etc.)' + ), + new OA\Parameter( + name: 'filter[upload]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'integer'), + description: 'Filter by upload speed (supports operators like >=, <=, etc.)' + ), + new OA\Parameter( + name: 'filter[healthy]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'boolean'), + description: 'Filter by healthy status' + ), + new OA\Parameter( + name: 'filter[status]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'string'), + description: 'Filter by status' + ), + new OA\Parameter( + name: 'filter[scheduled]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'boolean'), + description: 'Filter by scheduled status' + ), + new OA\Parameter( + name: 'filter[start_at]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'string', format: 'date'), + description: 'Filter results created on or after this date (alias for created_at>=)' + ), + new OA\Parameter( + name: 'filter[end_at]', + in: 'query', + required: false, + schema: new OA\Schema(type: 'string', format: 'date'), + description: 'Filter results created on or before this date (alias for created_at<=)' + ), + new OA\Parameter( + name: 'sort', + in: 'query', + required: false, + schema: new OA\Schema(type: 'string', enum: ['ping', '-ping', 'download', '-download', 'upload', '-upload', 'created_at', '-created_at', 'updated_at', '-updated_at']), + description: 'Sort results by field (prefix with - for descending)' + ), + ], + responses: [ + new OA\Response( + response: Response::HTTP_OK, + description: 'OK', + content: new OA\JsonContent(ref: '#/components/schemas/ResultsCollection') + ), + new OA\Response( + response: Response::HTTP_FORBIDDEN, + description: 'Forbidden', + content: new OA\JsonContent(ref: '#/components/schemas/ForbiddenError') + ), + new OA\Response( + response: Response::HTTP_UNAUTHORIZED, + description: 'Unauthenticated', + content: new OA\JsonContent(ref: '#/components/schemas/UnauthenticatedError') + ), + new OA\Response( + response: Response::HTTP_NOT_ACCEPTABLE, + description: 'Not Acceptable - Missing or invalid Accept header', + content: new OA\JsonContent(ref: '#/components/schemas/NotAcceptableError') + ), + new OA\Response( + response: Response::HTTP_UNPROCESSABLE_ENTITY, + description: 'Validation failed', + content: new OA\JsonContent(ref: '#/components/schemas/ValidationError') + ), + ] + )] + public function index(): void {} + + #[OA\Get( + path: '/api/v1/results/{id}', + summary: 'Get a single result', + operationId: 'getResult', + tags: ['Results'], + parameters: [ + new OA\Parameter(ref: '#/components/parameters/AcceptHeader'), + new OA\Parameter( + name: 'id', + in: 'path', + required: true, + schema: new OA\Schema(type: 'integer'), + description: 'The ID of the result' + ), + ], + responses: [ + new OA\Response( + response: Response::HTTP_OK, + description: 'OK', + content: new OA\JsonContent(ref: '#/components/schemas/ResultResponse') + ), + new OA\Response( + response: Response::HTTP_FORBIDDEN, + description: 'Forbidden', + content: new OA\JsonContent(ref: '#/components/schemas/ForbiddenError') + ), + new OA\Response( + response: Response::HTTP_UNAUTHORIZED, + description: 'Unauthenticated', + content: new OA\JsonContent(ref: '#/components/schemas/UnauthenticatedError') + ), + new OA\Response( + response: Response::HTTP_NOT_ACCEPTABLE, + description: 'Not Acceptable - Missing or invalid Accept header', + content: new OA\JsonContent(ref: '#/components/schemas/NotAcceptableError') + ), + new OA\Response( + response: Response::HTTP_NOT_FOUND, + description: 'Result not found', + content: new OA\JsonContent(ref: '#/components/schemas/NotFoundError') + ), + ] + )] + public function show(): void {} + + #[OA\Get( + path: '/api/v1/results/latest', + summary: 'Get the most recent result', + operationId: 'getLatestResult', + tags: ['Results'], + parameters: [ + new OA\Parameter(ref: '#/components/parameters/AcceptHeader'), + ], + responses: [ + new OA\Response( + response: Response::HTTP_OK, + description: 'OK', + content: new OA\JsonContent(ref: '#/components/schemas/Result') + ), + new OA\Response( + response: Response::HTTP_FORBIDDEN, + description: 'Forbidden', + content: new OA\JsonContent(ref: '#/components/schemas/ForbiddenError') + ), + new OA\Response( + response: Response::HTTP_UNAUTHORIZED, + description: 'Unauthenticated', + content: new OA\JsonContent(ref: '#/components/schemas/UnauthenticatedError') + ), + new OA\Response( + response: Response::HTTP_NOT_ACCEPTABLE, + description: 'Not Acceptable - Missing or invalid Accept header', + content: new OA\JsonContent(ref: '#/components/schemas/NotAcceptableError') + ), + new OA\Response( + response: Response::HTTP_NOT_FOUND, + description: 'No result found', + content: new OA\JsonContent(ref: '#/components/schemas/NotFoundError') + ), + ] + )] + public function latest(): void {} +} diff --git a/app/OpenApi/Annotations/V1/SpeedtestAnnotations.php b/app/OpenApi/Annotations/V1/SpeedtestAnnotations.php new file mode 100644 index 000000000..2a18ecbf2 --- /dev/null +++ b/app/OpenApi/Annotations/V1/SpeedtestAnnotations.php @@ -0,0 +1,97 @@ + 'You do not have permission to view speedtest servers.'] + ) + ), + new OA\Response( + response: Response::HTTP_NOT_ACCEPTABLE, + description: 'Not Acceptable - Missing or invalid Accept header', + content: new OA\JsonContent(ref: '#/components/schemas/NotAcceptableError') + ), + ] + )] + public function listServers(): void {} +} diff --git a/app/OpenApi/Annotations/V1/StatsAnnotations.php b/app/OpenApi/Annotations/V1/StatsAnnotations.php new file mode 100644 index 000000000..20145b338 --- /dev/null +++ b/app/OpenApi/Annotations/V1/StatsAnnotations.php @@ -0,0 +1,65 @@ +is_admin - || $user->is_user; + return Response::allow(); } /** * Determine whether the user can bulk delete any model. */ - public function deleteAny(User $user) + public function deleteAny(User $user): Response { - return $user->is_admin; + return $user->is_admin + ? Response::allow() + : Response::deny('You do not have permission to delete results.'); } /** * Determine whether the user can delete the model. */ - public function delete(User $user, Result $result): bool + public function delete(User $user, Result $result): Response { - return $user->is_admin; + return $user->is_admin + ? Response::allow() + : Response::deny('You do not have permission to delete this result.'); } /** * Determine whether the user can restore the model. */ - public function restore(User $user, Result $result): bool + public function restore(User $user, Result $result): Response { - return false; // soft deletes not used + return Response::deny(); // soft deletes not used } /** * Determine whether the user can permanently delete the model. */ - public function forceDelete(User $user, Result $result): bool + public function forceDelete(User $user, Result $result): Response { - return false; // soft deletes not used + return Response::deny(); // soft deletes not used } } diff --git a/app/Policies/UserPolicy.php b/app/Policies/UserPolicy.php index 8b5959a5a..c2615281f 100644 --- a/app/Policies/UserPolicy.php +++ b/app/Policies/UserPolicy.php @@ -3,75 +3,89 @@ namespace App\Policies; use App\Models\User; +use Illuminate\Auth\Access\Response; class UserPolicy { /** * Determine whether the user can view any models. */ - public function viewAny(User $user): bool + public function viewAny(User $user): Response { - return $user->is_admin; + return $user->is_admin + ? Response::allow() + : Response::deny('You do not have permission to view users.'); } /** * Determine whether the user can view the model. */ - public function view(User $user, User $model): bool + public function view(User $user, User $model): Response { - return $user->is_admin; + return $user->is_admin + ? Response::allow() + : Response::deny('You do not have permission to view this user.'); } /** * Determine whether the user can create models. */ - public function create(User $user): bool + public function create(User $user): Response { - return $user->is_admin; + return $user->is_admin + ? Response::allow() + : Response::deny('You do not have permission to create a new user.'); } /** * Determine whether the user can update the model. */ - public function update(User $user, User $model): bool + public function update(User $user, User $model): Response { - if ($user->id == $model->id) { - return true; + if ($model->is($user)) { + return Response::deny('You cannot update your own account.'); } - return $user->is_admin; + return $user->is_admin + ? Response::allow() + : Response::deny('You do not have permission to update this user.'); } /** * Determine whether the user can bulk delete any model. */ - public function deleteAny(User $user): bool + public function deleteAny(User $user): Response { - return false; + return Response::deny('You do not have permission to delete users.'); } /** * Determine whether the user can delete the model. */ - public function delete(User $user, User $model): bool + public function delete(User $user, User $model): Response { + if ($model->is_admin) { + return Response::deny('You cannot delete an admin user.'); + } + return $user->is_admin - && ! $model->is_admin; + ? Response::allow() + : Response::deny('You do not have permission to delete this user.'); } /** * Determine whether the user can restore the model. */ - public function restore(User $user, User $model): bool + public function restore(User $user, User $model): Response { - return false; // soft deletes not used + return Response::deny(); // soft deletes not used } /** * Determine whether the user can permanently delete the model. */ - public function forceDelete(User $user, User $model): bool + public function forceDelete(User $user, User $model): Response { - return false; // soft deletes not used + return Response::deny(); // soft deletes not used } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 2b276b8e3..ba434c79e 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,21 +2,37 @@ namespace App\Providers; -use App\Services\SystemChecker; +use App\Enums\UserRole; +use App\Models\User; +use App\Notifications\AppriseChannel; +use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Console\AboutCommand; +use Illuminate\Http\Request; +use Illuminate\Notifications\ChannelManager; +use Illuminate\Support\Facades\Blade; +use Illuminate\Support\Facades\Gate; +use Illuminate\Support\Facades\Notification; +use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { + /** + * The path to your application's "home" route. + * + * Typically, users are redirected here after authentication. + * + * @var string + */ + public const HOME = '/'; + /** * Register any application services. */ public function register(): void { - if ($this->app->isLocal()) { - $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); - + if ($this->app->environment('local')) { $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class); $this->app->register(TelescopeServiceProvider::class); } @@ -27,15 +43,87 @@ public function register(): void */ public function boot(): void { - if (config('app.force_https')) { - URL::forceScheme('https'); - } - - $system = new SystemChecker; + $this->defineCustomIfStatements(); + $this->defineGates(); + $this->forceHttps(); + $this->setApiRateLimit(); + $this->registerNotificationChannels(); AboutCommand::add('Speedtest Tracker', fn () => [ - 'Version' => $system->getLocalVersion(), - 'Out of date' => $system->isOutOfDate() ? 'Yes' : 'No', + 'Version' => config('speedtest.build_version'), ]); } + + /** + * Register custom notification channels. + */ + protected function registerNotificationChannels(): void + { + Notification::resolved(function (ChannelManager $service) { + $service->extend('apprise', function ($app) { + return new AppriseChannel; + }); + }); + } + + /** + * Define custom if statements, these were added to make the blade templates more readable. + * + * Ref: https://github.com/laravel/framework/pull/51561 + */ + protected function defineCustomIfStatements(): void + { + /** + * Adds blank() custom if statement. + */ + Blade::if('blank', function (mixed $value) { + return blank($value); + }); + + /** + * Adds filled() custom if statement. + */ + Blade::if('filled', function (mixed $value) { + return filled($value); + }); + } + + /** + * Define any application gates. + */ + protected function defineGates(): void + { + Gate::define('access-admin-panel', function (User $user) { + return in_array($user->role, [UserRole::Admin, UserRole::User]); + }); + + Gate::define('view-dashboard', function (?User $user) { + if (config('speedtest.public_dashboard')) { + return true; + } + + if ($user === null) { + return false; + } + + return in_array($user->role, [UserRole::Admin, UserRole::User]); + }); + } + + /** + * Force https scheme in non-local environments. + */ + protected function forceHttps(): void + { + if (! app()->environment('local') && config('app.force_https')) { + URL::forceScheme('https'); + } + } + + protected function setApiRateLimit(): void + { + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(config('api.rate_limit')); + }); + } } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php deleted file mode 100644 index 54756cd1c..000000000 --- a/app/Providers/AuthServiceProvider.php +++ /dev/null @@ -1,26 +0,0 @@ - - */ - protected $policies = [ - // - ]; - - /** - * Register any authentication / authorization services. - */ - public function boot(): void - { - // - } -} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php deleted file mode 100644 index 2be04f5d9..000000000 --- a/app/Providers/BroadcastServiceProvider.php +++ /dev/null @@ -1,19 +0,0 @@ -> - */ - protected $listen = [ - Registered::class => [ - SendEmailVerificationNotification::class, - ], - - SettingsSaved::class => [ - ClearApplicationCache::class, - ], - - SpeedtestCompleted::class => [ - // Data listeners - InfluxDb2Listener::class, - - // Database notification listeners - DatabaseSendSpeedtestCompletedNotification::class, - DatabaseSendSpeedtestThresholdNotification::class, - - // Discord notification listeners - DiscordSendSpeedtestCompletedNotification::class, - DiscordSendSpeedtestThresholdNotification::class, - - // Mail notification listeners - MailSendSpeedtestCompletedNotification::class, - MailSendSpeedtestThresholdNotification::class, - - // Telegram notification listeners - TelegramSendSpeedtestCompletedNotification::class, - TelegramSendSpeedtestThresholdNotification::class, - - // Webhook notification listeners - WebhookSendSpeedtestCompletedNotification::class, - WebhookSendSpeedtestThresholdNotification::class, - ], - - SpeedtestFailed::class => [ - // nothing yet... - ], - - SpeedtestStarted::class => [ - // nothing yet... - ], - ]; - - /** - * Register any events for your application. - */ - public function boot(): void - { - // - } - - /** - * Determine if events and listeners should be automatically discovered. - */ - public function shouldDiscoverEvents(): bool - { - return false; - } -} diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index e7b3d3927..3a6ba6f40 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -2,14 +2,10 @@ namespace App\Providers\Filament; -use App\Filament\VersionProviders\SpeedtestTrackerVersionProvider; -use Awcodes\FilamentVersions\VersionsPlugin; -use Filament\FontProviders\LocalFontProvider; use Filament\Http\Middleware\Authenticate; use Filament\Http\Middleware\DisableBladeIconComponents; use Filament\Http\Middleware\DispatchServingFilamentEvent; use Filament\Navigation\NavigationGroup; -use Filament\Navigation\NavigationItem; use Filament\Panel; use Filament\PanelProvider; use Filament\Support\Colors\Color; @@ -30,33 +26,21 @@ public function panel(Panel $panel): Panel ->id('admin') ->path('admin') ->login() + ->profile(isSimple: false) ->colors([ 'primary' => Color::Amber, ]) + ->viteTheme('resources/css/filament/admin/theme.css') ->favicon(asset('img/speedtest-tracker-icon.png')) - ->font( - 'Inter', - url: asset('fonts/inter/inter.css'), - provider: LocalFontProvider::class, - ) ->sidebarCollapsibleOnDesktop() - ->viteTheme('resources/css/filament/admin/theme.css') ->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources') ->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages') ->pages([]) - ->plugins([ - VersionsPlugin::make() - ->hasDefaults(false) - ->items([ - new SpeedtestTrackerVersionProvider(), - ]), - ]) ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\\Filament\\Widgets') ->widgets([]) ->databaseNotifications() - ->databaseNotificationsPolling(config('speedtest.notification_polling')) + ->databaseNotificationsPolling('5s') ->maxContentWidth(config('speedtest.content_width')) - ->spa() ->middleware([ EncryptCookies::class, AddQueuedCookiesToResponse::class, @@ -73,24 +57,8 @@ public function panel(Panel $panel): Panel ]) ->navigationGroups([ NavigationGroup::make() - ->label('Settings'), - NavigationGroup::make() - ->label('Links') + ->label(__('general.settings')) ->collapsible(false), - ]) - ->navigationItems([ - NavigationItem::make('Documentation') - ->url('https://docs.speedtest-tracker.dev/', shouldOpenInNewTab: true) - ->icon('heroicon-o-book-open') - ->group('Links'), - NavigationItem::make('Donate') - ->url('https://github.com/sponsors/alexjustesen', shouldOpenInNewTab: true) - ->icon('heroicon-o-banknotes') - ->group('Links'), - NavigationItem::make('GitHub') - ->url('https://github.com/alexjustesen/speedtest-tracker', shouldOpenInNewTab: true) - ->icon('heroicon-o-code-bracket') - ->group('Links'), ]); } } diff --git a/app/Providers/FilamentServiceProvider.php b/app/Providers/FilamentServiceProvider.php new file mode 100644 index 000000000..99e95cd2e --- /dev/null +++ b/app/Providers/FilamentServiceProvider.php @@ -0,0 +1,30 @@ + Blade::render("@livewire('topbar.actions')"), + ); + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php deleted file mode 100644 index 973b5446e..000000000 --- a/app/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,40 +0,0 @@ -by($request->user()?->id ?: $request->ip()); - }); - - $this->routes(function () { - Route::middleware('api') - ->prefix('api') - ->group(base_path('routes/api.php')); - - Route::middleware('web') - ->group(base_path('routes/web.php')); - }); - } -} diff --git a/app/Rules/AppriseScheme.php b/app/Rules/AppriseScheme.php new file mode 100644 index 000000000..03a50059e --- /dev/null +++ b/app/Rules/AppriseScheme.php @@ -0,0 +1,22 @@ +caseSensitive ? $value : strtolower($value); + $needle = $this->caseSensitive ? $this->needle : strtolower($this->needle); + + if (! str_contains($haystack, $needle)) { + $fail("The :attribute must contain '{$this->needle}'."); + } + } +} diff --git a/app/Rules/Cron.php b/app/Rules/Cron.php index 570c0aff2..ef59213d0 100644 --- a/app/Rules/Cron.php +++ b/app/Rules/Cron.php @@ -5,18 +5,19 @@ use Closure; use Cron\CronExpression; use Illuminate\Contracts\Validation\ValidationRule; +use Illuminate\Translation\PotentiallyTranslatedString; class Cron implements ValidationRule { /** * Run the validation rule. * - * @param \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString $fail + * @param Closure(string):PotentiallyTranslatedString $fail */ public function validate(string $attribute, mixed $value, Closure $fail): void { if (! CronExpression::isValidExpression($value)) { - $fail('Cron expression is not valid'); + $fail(__('errors.cron_invalid')); } } } diff --git a/app/Services/GitHub/Repository.php b/app/Services/GitHub/Repository.php new file mode 100644 index 000000000..8cc50aee0 --- /dev/null +++ b/app/Services/GitHub/Repository.php @@ -0,0 +1,82 @@ +addHour(), function () { + try { + $response = Http::retry(3, 100) + ->timeout(10) + ->withHeaders([ + 'Accept' => 'application/vnd.github.v3+json', + 'User-Agent' => 'speedtest-tracker', + ]) + ->get('https://api.github.com/repos/alexjustesen/speedtest-tracker/releases/latest'); + + if (! $response->successful()) { + Log::warning('Failed to fetch latest version from GitHub API', [ + 'status' => $response->status(), + 'response' => $response->body(), + ]); + + return false; + } + + $data = $response->json(); + + if (! isset($data['tag_name'])) { + Log::warning('GitHub API response missing tag_name field', ['response' => $data]); + + return false; + } + + return $data['tag_name']; + } catch (Throwable $e) { + Log::error('Exception occurred while fetching latest version from GitHub', [ + 'message' => $e->getMessage(), + 'file' => $e->getFile(), + 'line' => $e->getLine(), + ]); + + return false; + } + }); + } + + /** + * Check if a newer version is available. + * + * @return bool Returns true if a newer version is available, false if up to date or unable to determine + */ + public static function updateAvailable(): bool + { + $currentVersion = config('speedtest.build_version'); + $latestVersion = self::getLatestVersion(); + + if ($latestVersion === false) { + return false; // Unable to determine, assume no update available + } + + // Normalize versions by removing 'v' prefix for comparison + $normalizedCurrent = ltrim($currentVersion, 'v'); + $normalizedLatest = ltrim($latestVersion, 'v'); + + // Use version_compare to properly compare semantic versions + $comparison = version_compare($normalizedLatest, $normalizedCurrent); + + return $comparison > 0; // 1 = latest is newer, 0 = equal, -1 = latest is older + } +} diff --git a/app/Services/PrometheusMetricsService.php b/app/Services/PrometheusMetricsService.php new file mode 100644 index 000000000..08473a6df --- /dev/null +++ b/app/Services/PrometheusMetricsService.php @@ -0,0 +1,265 @@ +emptyMetrics(); + } + + $lastResult = Result::find($resultId); + + if (! $lastResult) { + return $this->emptyMetrics(); + } + + $this->registerMetrics($registry, $lastResult); + + $renderer = new RenderTextFormat; + + return $renderer->render($registry->getMetricFamilySamples()); + } + + protected function registerMetrics(CollectorRegistry $registry, Result $result): void + { + $labels = $this->buildLabels($result); + $labelNames = array_keys($labels); + $labelValues = array_values($labels); + + // Info metric - always exported so users can see test status (including failures) + $infoGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'result_id', + 'Speedtest result id', + $labelNames + ); + $infoGauge->set($result->id, $labelValues); + + // Only export numeric metrics for completed tests + // Failed/incomplete tests won't have valid measurements + if ($result->status !== ResultStatus::Completed) { + return; + } + + // Download speed in bytes + $downloadBytesGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_bytes', + 'Download speed in bytes per second', + $labelNames + ); + $downloadBytesGauge->set($result->download, $labelValues); + + // Upload speed in bytes + $uploadBytesGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_bytes', + 'Upload speed in bytes per second', + $labelNames + ); + $uploadBytesGauge->set($result->upload, $labelValues); + + // Download speed in bits per second + $downloadBitsGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_bits', + 'Download speed in bits per second', + $labelNames + ); + $downloadBitsGauge->set(toBits($result->download), $labelValues); + + // Upload speed in bits per second + $uploadBitsGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_bits', + 'Upload speed in bits per second', + $labelNames + ); + $uploadBitsGauge->set(toBits($result->upload), $labelValues); + + // Ping latency in milliseconds + $pingGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'ping_ms', + 'Ping latency in milliseconds', + $labelNames + ); + $pingGauge->set($result->ping, $labelValues); + + // Ping jitter + $pingJitterGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'ping_jitter_ms', + 'Ping jitter in milliseconds', + $labelNames + ); + $pingJitterGauge->set($result->ping_jitter, $labelValues); + + // Download jitter + $downloadJitterGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_jitter_ms', + 'Download jitter in milliseconds', + $labelNames + ); + $downloadJitterGauge->set($result->download_jitter, $labelValues); + + // Upload jitter + $uploadJitterGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_jitter_ms', + 'Upload jitter in milliseconds', + $labelNames + ); + $uploadJitterGauge->set($result->upload_jitter, $labelValues); + + // Packet loss + $packetLossGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'packet_loss_percent', + 'Packet loss percentage', + $labelNames + ); + $packetLossGauge->set($result->packet_loss, $labelValues); + + // Ping latency low/high + $pingLowGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'ping_low_ms', + 'Ping low latency in milliseconds', + $labelNames + ); + $pingLowGauge->set($result->ping_low, $labelValues); + + $pingHighGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'ping_high_ms', + 'Ping high latency in milliseconds', + $labelNames + ); + $pingHighGauge->set($result->ping_high, $labelValues); + + // Download latency metrics (IQM = Interquartile Mean - more reliable than average) + $downloadLatencyIqmGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_latency_iqm_ms', + 'Download latency interquartile mean in milliseconds', + $labelNames + ); + $downloadLatencyIqmGauge->set($result->downloadlatencyiqm, $labelValues); + + $downloadLatencyLowGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_latency_low_ms', + 'Download latency low in milliseconds', + $labelNames + ); + $downloadLatencyLowGauge->set($result->downloadlatency_low, $labelValues); + + $downloadLatencyHighGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_latency_high_ms', + 'Download latency high in milliseconds', + $labelNames + ); + $downloadLatencyHighGauge->set($result->downloadlatency_high, $labelValues); + + // Upload latency metrics + $uploadLatencyIqmGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_latency_iqm_ms', + 'Upload latency interquartile mean in milliseconds', + $labelNames + ); + $uploadLatencyIqmGauge->set($result->uploadlatencyiqm, $labelValues); + + $uploadLatencyLowGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_latency_low_ms', + 'Upload latency low in milliseconds', + $labelNames + ); + $uploadLatencyLowGauge->set($result->uploadlatency_low, $labelValues); + + $uploadLatencyHighGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_latency_high_ms', + 'Upload latency high in milliseconds', + $labelNames + ); + $uploadLatencyHighGauge->set($result->uploadlatency_high, $labelValues); + + // Bytes transferred during test + $downloadedBytesGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'downloaded_bytes', + 'Total bytes downloaded during test', + $labelNames + ); + $downloadedBytesGauge->set($result->downloaded_bytes, $labelValues); + + $uploadedBytesGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'uploaded_bytes', + 'Total bytes uploaded during test', + $labelNames + ); + $uploadedBytesGauge->set($result->uploaded_bytes, $labelValues); + + // Test duration + $downloadElapsedGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'download_elapsed_ms', + 'Download test duration in milliseconds', + $labelNames + ); + $downloadElapsedGauge->set($result->download_elapsed, $labelValues); + + $uploadElapsedGauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + 'upload_elapsed_ms', + 'Upload test duration in milliseconds', + $labelNames + ); + $uploadElapsedGauge->set($result->upload_elapsed, $labelValues); + } + + protected function buildLabels(Result $result): array + { + return [ + 'server_id' => (string) ($result->server_id ?? ''), + 'server_name' => $result->server_name ?? '', + 'server_country' => $result->server_country ?? '', + 'server_location' => $result->server_location ?? '', + 'isp' => $result->isp ?? '', + 'scheduled' => $result->scheduled ? 'true' : 'false', + 'healthy' => $result->healthy ? 'true' : 'false', + 'status' => $result->status->value, + 'app_name' => config('app.name', 'Speedtest Tracker'), + ]; + } + + protected function emptyMetrics(): string + { + return "# no data available\n"; + } +} diff --git a/app/Services/ScheduledSpeedtestService.php b/app/Services/ScheduledSpeedtestService.php new file mode 100644 index 000000000..8f9b85fc6 --- /dev/null +++ b/app/Services/ScheduledSpeedtestService.php @@ -0,0 +1,29 @@ +getNextRunDate(timeZone: config('app.display_timezone')) + ); + } +} diff --git a/app/Services/SpeedtestFakeResultGenerator.php b/app/Services/SpeedtestFakeResultGenerator.php new file mode 100644 index 000000000..647768a6c --- /dev/null +++ b/app/Services/SpeedtestFakeResultGenerator.php @@ -0,0 +1,127 @@ + 'Speedtest Communications', + 'ping' => [ + 'low' => 17.841, + 'high' => 24.077, + 'jitter' => 1.878, + 'latency' => 19.133, + ], + 'type' => 'result', + 'result' => [ + 'id' => (string) Str::uuid(), + 'url' => 'https://docs.speedtest-tracker.dev', + 'persisted' => true, + ], + 'server' => [ + 'id' => 1234, + 'ip' => '127.0.0.1', + 'host' => 'docs.speedtest-tracker.dev', + 'name' => 'Speedtest', + 'port' => 8080, + 'country' => 'United States', + 'location' => 'New York City, NY', + ], + 'upload' => [ + 'bytes' => 124297377, + 'elapsed' => 9628, + 'latency' => [ + 'iqm' => 341.111, + 'low' => 16.663, + 'high' => 529.86, + 'jitter' => 37.587, + ], + 'bandwidth' => 113750000, + ], + 'download' => [ + 'bytes' => 230789788, + 'elapsed' => 14301, + 'latency' => [ + 'iqm' => 104.125, + 'low' => 23.72, + 'high' => 269.563, + 'jitter' => 13.447, + ], + 'bandwidth' => 115625000, + ], + 'interface' => [ + 'name' => 'eth0', + 'isVpn' => false, + 'macAddr' => '00:00:00:00:00:00', + 'externalIp' => '127.0.0.1', + 'internalIp' => '127.0.0.1', + ], + 'timestamp' => now()->toIso8601String(), + 'packetLoss' => 11, + ]; + + return new Result([ + 'ping' => $data['ping']['latency'], + 'ping_low' => $data['ping']['low'], + 'ping_high' => $data['ping']['high'], + 'ping_jitter' => $data['ping']['jitter'], + 'packet_loss' => $data['packetLoss'], + 'download' => $data['download']['bandwidth'], + 'download_bits' => $data['download']['bandwidth'], + 'download_bytes' => $data['download']['bytes'], + 'download_elapsed' => $data['download']['elapsed'], + 'download_latency_iqm' => $data['download']['latency']['iqm'], + 'download_latency_low' => $data['download']['latency']['low'], + 'download_latency_high' => $data['download']['latency']['high'], + 'download_latency_jitter' => $data['download']['latency']['jitter'], + 'upload' => $data['upload']['bandwidth'], + 'upload_bits' => $data['upload']['bandwidth'], + 'upload_bytes' => $data['upload']['bytes'], + 'upload_elapsed' => $data['upload']['elapsed'], + 'upload_latency_iqm' => $data['upload']['latency']['iqm'], + 'upload_latency_low' => $data['upload']['latency']['low'], + 'upload_latency_high' => $data['upload']['latency']['high'], + 'upload_latency_jitter' => $data['upload']['latency']['jitter'], + 'server_id' => $data['server']['id'], + 'server_ip' => $data['server']['ip'], + 'server_host' => $data['server']['host'], + 'server_name' => $data['server']['name'], + 'server_port' => $data['server']['port'], + 'server_country' => $data['server']['country'], + 'server_location' => $data['server']['location'], + 'interface_name' => $data['interface']['name'], + 'interface_is_vpn' => $data['interface']['isVpn'], + 'interface_mac_addr' => $data['interface']['macAddr'], + 'interface_internal_ip' => $data['interface']['internalIp'], + 'ip_address' => $data['interface']['externalIp'], + 'uuid' => $data['result']['id'], + 'result_url' => $data['result']['url'], + 'data' => $data, + 'status' => 'completed', + 'service' => 'faker', + 'scheduled' => false, + ]); + } + + public static function failed(): Result + { + $data = [ + 'type' => 'log', + 'level' => 'error', + 'message' => 'A faked error message.', + 'timestamp' => now()->toIso8601String(), + ]; + + return new Result([ + 'data' => $data, + 'status' => 'failed', + 'service' => 'faker', + 'scheduled' => false, + ]); + } +} diff --git a/app/Services/SystemChecker.php b/app/Services/SystemChecker.php deleted file mode 100644 index 8d7ee391f..000000000 --- a/app/Services/SystemChecker.php +++ /dev/null @@ -1,61 +0,0 @@ -localVersion = trim($this->getLocalVersion()); - - $this->remoteVersion = trim($this->getRemoteVersion()); - - return $this; - } - - public function getLocalVersion() - { - return config('speedtest.build_version'); - } - - public function getRemoteVersion() - { - return cache()->remember($this->cacheKeyRemote, now()->addDay(), function () { - return shell_exec('curl https://api.github.com/repos/alexjustesen/speedtest-tracker/releases/latest -s | grep \'"tag_name":\' | sed -E \'s/.*"([^"]+)".*/\1/\''); - }); - } - - public function isOutOfDate() - { - $this->getVersions(); - - return $this->localVersion != $this->remoteVersion; - } - - public function flushVersionData() - { - try { - cache()->forget($this->cacheKeyLocal); - - cache()->forget($this->cacheKeyRemote); - } catch (\Exception $exception) { - // fail silently, it's ok - } - } - - public function getPhpVersion(): string - { - return phpversion(); - } -} diff --git a/app/Settings/DataIntegrationSettings.php b/app/Settings/DataIntegrationSettings.php new file mode 100644 index 000000000..31811c768 --- /dev/null +++ b/app/Settings/DataIntegrationSettings.php @@ -0,0 +1,29 @@ +title = $title; + } + + /** + * Get the view / contents that represent the component. + */ + public function render(): View|Closure|string + { + return view('layouts.guest'); + } +} diff --git a/artisan b/artisan index 67a3329b1..c35e31d6a 100755 --- a/artisan +++ b/artisan @@ -1,53 +1,18 @@ #!/usr/bin/env php make(Illuminate\Contracts\Console\Kernel::class); - -$status = $kernel->handle( - $input = new Symfony\Component\Console\Input\ArgvInput, - new Symfony\Component\Console\Output\ConsoleOutput -); - -/* -|-------------------------------------------------------------------------- -| Shutdown The Application -|-------------------------------------------------------------------------- -| -| Once Artisan has finished running, we will fire off the shutdown events -| so that any final work may be done by the application before we shut -| down the process. This is the last thing to happen to the request. -| -*/ - -$kernel->terminate($input, $status); +$status = $app->handleCommand(new ArgvInput); exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php index 037e17df0..e56dcd548 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,55 +1,47 @@ singleton( - Illuminate\Contracts\Http\Kernel::class, - App\Http\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Console\Kernel::class, - App\Console\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Debug\ExceptionHandler::class, - App\Exceptions\Handler::class -); - -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ - -return $app; +use App\Providers\AppServiceProvider; +use Illuminate\Foundation\Application; +use Illuminate\Foundation\Configuration\Exceptions; +use Illuminate\Foundation\Configuration\Middleware; +use Illuminate\Http\Request; + +return Application::configure(basePath: dirname(__DIR__)) + ->withProviders() + ->withRouting( + web: __DIR__.'/../routes/web.php', + api: __DIR__.'/../routes/api.php', + commands: __DIR__.'/../routes/console.php', + ) + ->withMiddleware(function (Middleware $middleware) { + $middleware->alias([ + 'getting-started' => App\Http\Middleware\GettingStarted::class, + 'public-dashboard' => App\Http\Middleware\PublicDashboard::class, + 'accept-json' => App\Http\Middleware\AcceptJsonMiddleware::class, + ]); + + $middleware->prependToGroup('api', [ + App\Http\Middleware\AllowedIpAddressesMiddleware::class, + ]); + + $middleware->prependToGroup('web', [ + App\Http\Middleware\AllowedIpAddressesMiddleware::class, + ]); + + $middleware->redirectGuestsTo(fn () => route('filament.admin.auth.login')); + $middleware->redirectUsersTo(AppServiceProvider::HOME); + + $middleware->trustProxies(at: '*'); + + $middleware->trustProxies(headers: Request::HEADER_X_FORWARDED_FOR | + Request::HEADER_X_FORWARDED_HOST | + Request::HEADER_X_FORWARDED_PORT | + Request::HEADER_X_FORWARDED_PROTO | + Request::HEADER_X_FORWARDED_AWS_ELB + ); + + $middleware->throttleApi(); + }) + ->withExceptions(function (Exceptions $exceptions) { + // + })->create(); diff --git a/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 000000000..7600f34b1 --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,7 @@ +=4.0.0" + "doctrine/dbal": "<4.0.0 || >=5.0.0" }, "require-dev": { - "doctrine/dbal": "^3.7.0", + "doctrine/dbal": "^4.0.0", "nesbot/carbon": "^2.71.0 || ^3.0.0", "phpunit/phpunit": "^10.3" }, @@ -392,7 +333,7 @@ ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" }, "funding": [ { @@ -408,7 +349,166 @@ "type": "tidelift" } ], - "time": "2023-12-11T17:09:12+00:00" + "time": "2024-02-09T16:56:22+00:00" + }, + { + "name": "chillerlan/php-qrcode", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-qrcode.git", + "reference": "7b66282572fc14075c0507d74d9837dab25b38d6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/7b66282572fc14075c0507d74d9837dab25b38d6", + "reference": "7b66282572fc14075c0507d74d9837dab25b38d6", + "shasum": "" + }, + "require": { + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", + "ext-mbstring": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "chillerlan/php-authenticator": "^4.3.1 || ^5.2.1", + "ext-fileinfo": "*", + "phan/phan": "^5.5.2", + "phpcompatibility/php-compatibility": "10.x-dev", + "phpmd/phpmd": "^2.15", + "phpunit/phpunit": "^9.6", + "setasign/fpdf": "^1.8.2", + "slevomat/coding-standard": "^8.23.0", + "squizlabs/php_codesniffer": "^4.0.0" + }, + "suggest": { + "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", + "setasign/fpdf": "Required to use the QR FPDF output.", + "simple-icons/simple-icons": "SVG icons that you can use to embed as logos in the QR Code" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\QRCode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT", + "Apache-2.0" + ], + "authors": [ + { + "name": "Kazuhiko Arase", + "homepage": "https://github.com/kazuhikoarase/qrcode-generator" + }, + { + "name": "ZXing Authors", + "homepage": "https://github.com/zxing/zxing" + }, + { + "name": "Ashot Khanamiryan", + "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder" + }, + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + }, + { + "name": "Contributors", + "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" + } + ], + "description": "A QR Code generator and reader with a user-friendly API. PHP 7.4+", + "homepage": "https://github.com/chillerlan/php-qrcode", + "keywords": [ + "phpqrcode", + "qr", + "qr code", + "qr-reader", + "qrcode", + "qrcode-generator", + "qrcode-reader" + ], + "support": { + "docs": "https://php-qrcode.readthedocs.io", + "issues": "https://github.com/chillerlan/php-qrcode/issues", + "source": "https://github.com/chillerlan/php-qrcode" + }, + "funding": [ + { + "url": "https://ko-fi.com/codemasher", + "type": "Ko-Fi" + } + ], + "time": "2025-11-23T23:51:44+00:00" + }, + { + "name": "chillerlan/php-settings-container", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-settings-container.git", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.1" + }, + "require-dev": { + "phpmd/phpmd": "^2.15", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\Settings\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + } + ], + "description": "A container class for immutable settings objects. Not a DI container.", + "homepage": "https://github.com/chillerlan/php-settings-container", + "keywords": [ + "Settings", + "configuration", + "container", + "helper" + ], + "support": { + "issues": "https://github.com/chillerlan/php-settings-container/issues", + "source": "https://github.com/chillerlan/php-settings-container" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2024-07-16T11:13:48+00:00" }, { "name": "chrisullyott/php-filesize", @@ -525,18 +625,91 @@ ], "time": "2023-12-20T15:40:13+00:00" }, + { + "name": "codewithdennis/filament-simple-alert", + "version": "v4.0.5", + "source": { + "type": "git", + "url": "https://github.com/CodeWithDennis/filament-simple-alert.git", + "reference": "ce0b4573c45fdf2a72a4f63f660a9f22f3a7688a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CodeWithDennis/filament-simple-alert/zipball/ce0b4573c45fdf2a72a4f63f660a9f22f3a7688a", + "reference": "ce0b4573c45fdf2a72a4f63f660a9f22f3a7688a", + "shasum": "" + }, + "require": { + "filament/filament": "^4.0|^5.0", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.15.0" + }, + "require-dev": { + "laravel/pint": "^1.16", + "nunomaduro/collision": "^7.9", + "orchestra/testbench": "^8.0", + "pestphp/pest": "^2.1", + "pestphp/pest-plugin-arch": "^2.0", + "pestphp/pest-plugin-laravel": "^2.0" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "SimpleAlert": "CodeWithDennis\\SimpleAlert\\Facades\\SimpleAlert" + }, + "providers": [ + "CodeWithDennis\\SimpleAlert\\SimpleAlertServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "CodeWithDennis\\SimpleAlert\\": "src/", + "CodeWithDennis\\SimpleAlert\\Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CodeWithDennis", + "role": "Developer" + } + ], + "description": "A plugin for adding straightforward alerts to your filament pages", + "homepage": "https://github.com/codewithdennis/filament-simple-alert", + "keywords": [ + "CodeWithDennis", + "filament-simple-alert", + "laravel" + ], + "support": { + "issues": "https://github.com/codewithdennis/filament-simple-alert/issues", + "source": "https://github.com/codewithdennis/filament-simple-alert" + }, + "funding": [ + { + "url": "https://github.com/CodeWithDennis", + "type": "github" + } + ], + "time": "2026-01-27T13:26:28+00:00" + }, { "name": "danharrin/date-format-converter", - "version": "v0.3.0", + "version": "v0.3.1", "source": { "type": "git", "url": "https://github.com/danharrin/date-format-converter.git", - "reference": "42b6ddc52059d4ba228a67c15adaaa0c039e75f2" + "reference": "7c31171bc981e48726729a5f3a05a2d2b63f0b1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/danharrin/date-format-converter/zipball/42b6ddc52059d4ba228a67c15adaaa0c039e75f2", - "reference": "42b6ddc52059d4ba228a67c15adaaa0c039e75f2", + "url": "https://api.github.com/repos/danharrin/date-format-converter/zipball/7c31171bc981e48726729a5f3a05a2d2b63f0b1e", + "reference": "7c31171bc981e48726729a5f3a05a2d2b63f0b1e", "shasum": "" }, "require": { @@ -574,31 +747,31 @@ "type": "github" } ], - "time": "2022-09-29T07:48:20+00:00" + "time": "2024-06-13T09:38:44+00:00" }, { "name": "danharrin/livewire-rate-limiting", - "version": "v1.3.0", + "version": "v2.1.0", "source": { "type": "git", "url": "https://github.com/danharrin/livewire-rate-limiting.git", - "reference": "bf16003f0d977b5a41071526d697eec94ac41735" + "reference": "14dde653a9ae8f38af07a0ba4921dc046235e1a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/bf16003f0d977b5a41071526d697eec94ac41735", - "reference": "bf16003f0d977b5a41071526d697eec94ac41735", + "url": "https://api.github.com/repos/danharrin/livewire-rate-limiting/zipball/14dde653a9ae8f38af07a0ba4921dc046235e1a0", + "reference": "14dde653a9ae8f38af07a0ba4921dc046235e1a0", "shasum": "" }, "require": { - "illuminate/support": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.0|^12.0", "php": "^8.0" }, "require-dev": { "livewire/livewire": "^3.0", "livewire/volt": "^1.3", - "orchestra/testbench": "^7.0|^8.0|^9.0", - "phpunit/phpunit": "^9.0|^10.0" + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpunit/phpunit": "^9.0|^10.0|^11.5.3" }, "type": "library", "autoload": { @@ -628,20 +801,20 @@ "type": "github" } ], - "time": "2024-01-21T14:53:34+00:00" + "time": "2025-02-21T08:52:11+00:00" }, { "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -701,42 +874,86 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { - "name": "doctrine/cache", - "version": "2.2.0", + "name": "doctrine/deprecations", + "version": "1.1.5", "source": { "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", "shasum": "" }, "require": { - "php": "~7.1 || ^8.0" + "php": "^7.1 || ^8.0" }, "conflict": { - "doctrine/common": ">2.2,<2.4" + "phpunit/phpunit": "<=7.5 || >=13" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12 || ^13", + "phpstan/phpstan": "1.4.10 || 2.1.11", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.5" + }, + "time": "2025-04-07T20:06:18+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" }, "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6" + "doctrine/coding-standard": "^12.0 || ^13.0", + "phpstan/phpstan": "^1.12 || ^2.0", + "phpstan/phpstan-phpunit": "^1.4 || ^2.0", + "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", + "phpunit/phpunit": "^8.5 || ^12.2" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + "Doctrine\\Inflector\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -765,22 +982,23 @@ "email": "schmittjoh@gmail.com" } ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", + "inflection", + "inflector", + "lowercase", + "manipulation", "php", - "redis", - "xcache" + "plural", + "singular", + "strings", + "uppercase", + "words" ], "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.2.0" + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.1.0" }, "funding": [ { @@ -792,370 +1010,28 @@ "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", "type": "tidelift" } ], - "time": "2022-05-20T20:07:39+00:00" + "time": "2025-08-10T19:31:58+00:00" }, { - "name": "doctrine/dbal", - "version": "3.8.3", + "name": "doctrine/lexer", + "version": "3.0.1", "source": { "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c" + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/db922ba9436b7b18a23d1653a0b41ff2369ca41c", - "reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { - "composer-runtime-api": "^2", - "doctrine/cache": "^1.11|^2.0", - "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1|^2", - "php": "^7.4 || ^8.0", - "psr/cache": "^1|^2|^3", - "psr/log": "^1|^2|^3" - }, - "require-dev": { - "doctrine/coding-standard": "12.0.0", - "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.58", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.16", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.9.0", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0", - "vimeo/psalm": "4.30.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2024-03-03T15:55:06+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" - }, - "time": "2024-01-30T19:34:25+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "conflict": { - "doctrine/common": "<2.9" - }, - "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^4.28" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2022-10-12T20:59:15+00:00" - }, - { - "name": "doctrine/inflector", - "version": "2.0.10", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", - "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^11.0", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^8.5 || ^9.5", - "vimeo/psalm": "^4.25 || ^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", - "homepage": "https://www.doctrine-project.org/projects/inflector.html", - "keywords": [ - "inflection", - "inflector", - "lowercase", - "manipulation", - "php", - "plural", - "singular", - "strings", - "uppercase", - "words" - ], - "support": { - "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.10" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" - } - ], - "time": "2024-02-18T20:23:39+00:00" - }, - { - "name": "doctrine/lexer", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", - "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", - "shasum": "" - }, - "require": { - "php": "^8.1" + "php": "^8.1" }, "require-dev": { "doctrine/coding-standard": "^12", @@ -1219,32 +1095,35 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v3.3.3", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" + "php": "^8.2|^8.3|^8.4|^8.5" }, "replace": { "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.32|^2.1.31", + "phpunit/phpunit": "^8.5.48|^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -1268,7 +1147,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0" }, "funding": [ { @@ -1276,20 +1155,20 @@ "type": "github" } ], - "time": "2023-08-10T19:36:49+00:00" + "time": "2025-10-31T18:51:33+00:00" }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", "shasum": "" }, "require": { @@ -1335,7 +1214,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" }, "funding": [ { @@ -1343,20 +1222,20 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2025-03-06T22:45:56+00:00" }, { "name": "filament/actions", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/actions.git", - "reference": "46decf6a9fc438c60c9fb1c5631820fab49fefb6" + "reference": "4a3896cd956fcb7d132a51453bc8110d47023433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/actions/zipball/46decf6a9fc438c60c9fb1c5631820fab49fefb6", - "reference": "46decf6a9fc438c60c9fb1c5631820fab49fefb6", + "url": "https://api.github.com/repos/filamentphp/actions/zipball/4a3896cd956fcb7d132a51453bc8110d47023433", + "reference": "4a3896cd956fcb7d132a51453bc8110d47023433", "shasum": "" }, "require": { @@ -1365,13 +1244,9 @@ "filament/infolists": "self.version", "filament/notifications": "self.version", "filament/support": "self.version", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/database": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "league/csv": "^9.14", + "league/csv": "^9.27", "openspout/openspout": "^4.23", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2" }, "type": "library", "extra": { @@ -1396,43 +1271,35 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T15:42:36+00:00" + "time": "2026-01-30T12:51:27+00:00" }, { "name": "filament/filament", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/panels.git", - "reference": "f9011967b6ea0cd79cf7b210bbb59de6bbe2ce1f" + "reference": "24aababf2777f82014887199f9cd029b5e6251d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/panels/zipball/f9011967b6ea0cd79cf7b210bbb59de6bbe2ce1f", - "reference": "f9011967b6ea0cd79cf7b210bbb59de6bbe2ce1f", + "url": "https://api.github.com/repos/filamentphp/panels/zipball/24aababf2777f82014887199f9cd029b5e6251d5", + "reference": "24aababf2777f82014887199f9cd029b5e6251d5", "shasum": "" }, "require": { - "danharrin/livewire-rate-limiting": "^0.3|^1.0", + "chillerlan/php-qrcode": "^5.0", "filament/actions": "self.version", "filament/forms": "self.version", "filament/infolists": "self.version", "filament/notifications": "self.version", + "filament/schemas": "self.version", "filament/support": "self.version", "filament/tables": "self.version", "filament/widgets": "self.version", - "illuminate/auth": "^10.45|^11.0", - "illuminate/console": "^10.45|^11.0", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/cookie": "^10.45|^11.0", - "illuminate/database": "^10.45|^11.0", - "illuminate/http": "^10.45|^11.0", - "illuminate/routing": "^10.45|^11.0", - "illuminate/session": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "illuminate/view": "^10.45|^11.0", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2", + "pragmarx/google2fa": "^8.0|^9.0", + "pragmarx/google2fa-qrcode": "^3.0" }, "type": "library", "extra": { @@ -1461,35 +1328,29 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T15:42:54+00:00" + "time": "2026-01-30T12:47:54+00:00" }, { "name": "filament/forms", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/forms.git", - "reference": "85670891877fd57e322a8a4c8580ebef1d368f87" + "reference": "137090f3d2b1dc6e4234ad2325c9acb34276d5b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/forms/zipball/85670891877fd57e322a8a4c8580ebef1d368f87", - "reference": "85670891877fd57e322a8a4c8580ebef1d368f87", + "url": "https://api.github.com/repos/filamentphp/forms/zipball/137090f3d2b1dc6e4234ad2325c9acb34276d5b5", + "reference": "137090f3d2b1dc6e4234ad2325c9acb34276d5b5", "shasum": "" }, "require": { "danharrin/date-format-converter": "^0.3", "filament/actions": "self.version", + "filament/schemas": "self.version", "filament/support": "self.version", - "illuminate/console": "^10.45|^11.0", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/database": "^10.45|^11.0", - "illuminate/filesystem": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "illuminate/validation": "^10.45|^11.0", - "illuminate/view": "^10.45|^11.0", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2", + "ueberdosis/tiptap-php": "^2.0" }, "type": "library", "extra": { @@ -1517,33 +1378,27 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T17:20:05+00:00" + "time": "2026-01-30T12:47:37+00:00" }, { "name": "filament/infolists", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/infolists.git", - "reference": "123bbd4e81cd3e8bcdfad77b9554bf8e4185689f" + "reference": "03228d5cf9310598712299d49ac38b75d61d7c1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/infolists/zipball/123bbd4e81cd3e8bcdfad77b9554bf8e4185689f", - "reference": "123bbd4e81cd3e8bcdfad77b9554bf8e4185689f", + "url": "https://api.github.com/repos/filamentphp/infolists/zipball/03228d5cf9310598712299d49ac38b75d61d7c1c", + "reference": "03228d5cf9310598712299d49ac38b75d61d7c1c", "shasum": "" }, "require": { "filament/actions": "self.version", + "filament/schemas": "self.version", "filament/support": "self.version", - "illuminate/console": "^10.45|^11.0", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/database": "^10.45|^11.0", - "illuminate/filesystem": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "illuminate/view": "^10.45|^11.0", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2" }, "type": "library", "extra": { @@ -1568,31 +1423,26 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T15:42:38+00:00" + "time": "2026-01-29T21:00:53+00:00" }, { "name": "filament/notifications", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/notifications.git", - "reference": "5731f4b9eb2b3f292b45fbb9ce173ee7d6b7dddb" + "reference": "af01c113555d26ba73e75331ca19772b92a34dcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/notifications/zipball/5731f4b9eb2b3f292b45fbb9ce173ee7d6b7dddb", - "reference": "5731f4b9eb2b3f292b45fbb9ce173ee7d6b7dddb", + "url": "https://api.github.com/repos/filamentphp/notifications/zipball/af01c113555d26ba73e75331ca19772b92a34dcf", + "reference": "af01c113555d26ba73e75331ca19772b92a34dcf", "shasum": "" }, "require": { "filament/actions": "self.version", "filament/support": "self.version", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/filesystem": "^10.45|^11.0", - "illuminate/notifications": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2" }, "type": "library", "extra": { @@ -1604,7 +1454,7 @@ }, "autoload": { "files": [ - "src/Testing/Autoload.php" + "src/Testing/helpers.php" ], "psr-4": { "Filament\\Notifications\\": "src" @@ -1620,29 +1470,117 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T15:42:43+00:00" + "time": "2026-01-23T10:54:41+00:00" }, { - "name": "filament/spatie-laravel-settings-plugin", - "version": "v3.2.69", + "name": "filament/query-builder", + "version": "v4.6.3", "source": { "type": "git", - "url": "https://github.com/filamentphp/spatie-laravel-settings-plugin.git", - "reference": "f8c7a64ad51d97093005115cfad86c7606a731f6" + "url": "https://github.com/filamentphp/query-builder.git", + "reference": "132ad55f85eaa427bb786b4a8184ac6e24a7e676" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/spatie-laravel-settings-plugin/zipball/f8c7a64ad51d97093005115cfad86c7606a731f6", - "reference": "f8c7a64ad51d97093005115cfad86c7606a731f6", + "url": "https://api.github.com/repos/filamentphp/query-builder/zipball/132ad55f85eaa427bb786b4a8184ac6e24a7e676", + "reference": "132ad55f85eaa427bb786b4a8184ac6e24a7e676", "shasum": "" }, "require": { - "filament/filament": "self.version", - "illuminate/console": "^10.45|^11.0", - "illuminate/filesystem": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "php": "^8.1", - "spatie/laravel-settings": "^2.2|^3.0" + "filament/actions": "self.version", + "filament/forms": "self.version", + "filament/schemas": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\QueryBuilder\\QueryBuilderServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\QueryBuilder\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A powerful query builder component for Filament.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2026-01-30T12:51:18+00:00" + }, + { + "name": "filament/schemas", + "version": "v4.6.3", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/schemas.git", + "reference": "e1bdda85e9fb5d65774df153e0357eb41c7c7a3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/schemas/zipball/e1bdda85e9fb5d65774df153e0357eb41c7c7a3d", + "reference": "e1bdda85e9fb5d65774df153e0357eb41c7c7a3d", + "shasum": "" + }, + "require": { + "danharrin/date-format-converter": "^0.3", + "filament/actions": "self.version", + "filament/support": "self.version", + "php": "^8.2" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Schemas\\SchemasServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Schemas\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Easily add beautiful UI to any Livewire component.", + "homepage": "https://github.com/filamentphp/filament", + "support": { + "issues": "https://github.com/filamentphp/filament/issues", + "source": "https://github.com/filamentphp/filament" + }, + "time": "2026-01-29T21:01:33+00:00" + }, + { + "name": "filament/spatie-laravel-settings-plugin", + "version": "v4.6.3", + "source": { + "type": "git", + "url": "https://github.com/filamentphp/spatie-laravel-settings-plugin.git", + "reference": "2d3585a6cf3dadddb8cb037334538fcbd666d4fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filamentphp/spatie-laravel-settings-plugin/zipball/2d3585a6cf3dadddb8cb037334538fcbd666d4fc", + "reference": "2d3585a6cf3dadddb8cb037334538fcbd666d4fc", + "shasum": "" + }, + "require": { + "filament/filament": "self.version", + "php": "^8.2", + "spatie/laravel-settings": "^3.0" }, "type": "library", "extra": { @@ -1667,37 +1605,37 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-03-11T11:21:36+00:00" + "time": "2026-01-23T10:52:10+00:00" }, { "name": "filament/support", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/support.git", - "reference": "fc9038785de9d49802c36c1aef341af8dfa4dbe0" + "reference": "67a017956b2fe3d37425a2df0d1f8e18c30b42e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/support/zipball/fc9038785de9d49802c36c1aef341af8dfa4dbe0", - "reference": "fc9038785de9d49802c36c1aef341af8dfa4dbe0", + "url": "https://api.github.com/repos/filamentphp/support/zipball/67a017956b2fe3d37425a2df0d1f8e18c30b42e2", + "reference": "67a017956b2fe3d37425a2df0d1f8e18c30b42e2", "shasum": "" }, "require": { - "blade-ui-kit/blade-heroicons": "^2.2.1", - "doctrine/dbal": "^3.2", + "blade-ui-kit/blade-heroicons": "^2.5", + "danharrin/livewire-rate-limiting": "^2.0", "ext-intl": "*", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "illuminate/view": "^10.45|^11.0", - "livewire/livewire": "^3.4.9", - "php": "^8.1", - "ryangjchandler/blade-capture-directive": "^0.2|^0.3|^1.0", - "spatie/color": "^1.5", - "spatie/invade": "^1.0|^2.0", + "illuminate/contracts": "^11.28|^12.0", + "kirschbaum-development/eloquent-power-joins": "^4.0", + "league/uri-components": "^7.0", + "livewire/livewire": "^3.5", + "nette/php-generator": "^4.0", + "php": "^8.2", + "ryangjchandler/blade-capture-directive": "^1.0", + "spatie/invade": "^2.0", "spatie/laravel-package-tools": "^1.9", - "symfony/console": "^6.0|^7.0", - "symfony/html-sanitizer": "^6.1|^7.0" + "symfony/console": "^7.0", + "symfony/html-sanitizer": "^7.0" }, "type": "library", "extra": { @@ -1725,35 +1663,28 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T17:58:12+00:00" + "time": "2026-01-29T21:00:17+00:00" }, { "name": "filament/tables", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/tables.git", - "reference": "87f802bb8bfea1e77ed17ecd86a9d2074786f88a" + "reference": "e3cb9c71e150a6a2b7e8601c363e7731ddfc9518" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/tables/zipball/87f802bb8bfea1e77ed17ecd86a9d2074786f88a", - "reference": "87f802bb8bfea1e77ed17ecd86a9d2074786f88a", + "url": "https://api.github.com/repos/filamentphp/tables/zipball/e3cb9c71e150a6a2b7e8601c363e7731ddfc9518", + "reference": "e3cb9c71e150a6a2b7e8601c363e7731ddfc9518", "shasum": "" }, "require": { "filament/actions": "self.version", "filament/forms": "self.version", + "filament/query-builder": "self.version", "filament/support": "self.version", - "illuminate/console": "^10.45|^11.0", - "illuminate/contracts": "^10.45|^11.0", - "illuminate/database": "^10.45|^11.0", - "illuminate/filesystem": "^10.45|^11.0", - "illuminate/support": "^10.45|^11.0", - "illuminate/view": "^10.45|^11.0", - "kirschbaum-development/eloquent-power-joins": "^3.0", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2" }, "type": "library", "extra": { @@ -1778,26 +1709,26 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-16T15:43:11+00:00" + "time": "2026-01-30T12:51:42+00:00" }, { "name": "filament/widgets", - "version": "v3.2.69", + "version": "v4.6.3", "source": { "type": "git", "url": "https://github.com/filamentphp/widgets.git", - "reference": "bbc450b18cf37c8afa0b81f6e7f9ec6927c67382" + "reference": "d9b5a35a04048bea86563223d2505d11aea5a7e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filamentphp/widgets/zipball/bbc450b18cf37c8afa0b81f6e7f9ec6927c67382", - "reference": "bbc450b18cf37c8afa0b81f6e7f9ec6927c67382", + "url": "https://api.github.com/repos/filamentphp/widgets/zipball/d9b5a35a04048bea86563223d2505d11aea5a7e0", + "reference": "d9b5a35a04048bea86563223d2505d11aea5a7e0", "shasum": "" }, "require": { + "filament/schemas": "self.version", "filament/support": "self.version", - "php": "^8.1", - "spatie/laravel-package-tools": "^1.9" + "php": "^8.2" }, "type": "library", "extra": { @@ -1822,35 +1753,35 @@ "issues": "https://github.com/filamentphp/filament/issues", "source": "https://github.com/filamentphp/filament" }, - "time": "2024-04-05T21:55:38+00:00" + "time": "2026-01-29T20:48:44+00:00" }, { "name": "fruitcake/php-cors", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", "shasum": "" }, "require": { - "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6|^7" + "php": "^8.1", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8" }, "require-dev": { - "phpstan/phpstan": "^1.4", + "phpstan/phpstan": "^2", "phpunit/phpunit": "^9", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -1881,7 +1812,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0" }, "funding": [ { @@ -1893,28 +1824,28 @@ "type": "github" } ], - "time": "2023-10-12T05:21:21+00:00" + "time": "2025-12-03T09:33:47+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.1.2", + "version": "v1.1.4", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2" + "phpoption/phpoption": "^1.9.5" }, "require-dev": { - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" }, "type": "library", "autoload": { @@ -1943,7 +1874,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4" }, "funding": [ { @@ -1955,26 +1886,26 @@ "type": "tidelift" } ], - "time": "2023-11-12T22:16:48+00:00" + "time": "2025-12-27T19:43:20+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "version": "7.10.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1985,9 +1916,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -2065,7 +1996,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" }, "funding": [ { @@ -2081,20 +2012,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2025-08-23T22:36:01+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "481557b130ef3790cf82b713667b43030dc9c957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", "shasum": "" }, "require": { @@ -2102,7 +2033,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "type": "library", "extra": { @@ -2148,7 +2079,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.3.0" }, "funding": [ { @@ -2164,20 +2095,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2025-08-22T14:34:08+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "21dc724a0583619cd1652f673303492272778051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", "shasum": "" }, "require": { @@ -2192,8 +2123,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -2264,7 +2195,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.8.0" }, "funding": [ { @@ -2280,20 +2211,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2025-08-23T21:21:41+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.3", + "version": "v1.0.5", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", "shasum": "" }, "require": { @@ -2302,7 +2233,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.44 || ^9.6.25", "uri-template/tests": "1.0.0" }, "type": "library", @@ -2350,7 +2281,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" }, "funding": [ { @@ -2366,20 +2297,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T19:50:20+00:00" + "time": "2025-08-22T14:27:06+00:00" }, { "name": "influxdata/influxdb-client-php", - "version": "3.5.0", + "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/influxdata/influxdb-client-php.git", - "reference": "fbdc713e22223a0adc1e76251535a2f43ec55055" + "reference": "59ac11d63ce030973c79d5b05797813761a0d58e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/influxdata/influxdb-client-php/zipball/fbdc713e22223a0adc1e76251535a2f43ec55055", - "reference": "fbdc713e22223a0adc1e76251535a2f43ec55055", + "url": "https://api.github.com/repos/influxdata/influxdb-client-php/zipball/59ac11d63ce030973c79d5b05797813761a0d58e", + "reference": "59ac11d63ce030973c79d5b05797813761a0d58e", "shasum": "" }, "require": { @@ -2414,33 +2345,34 @@ ], "support": { "issues": "https://github.com/influxdata/influxdb-client-php/issues", - "source": "https://github.com/influxdata/influxdb-client-php/tree/3.5.0" + "source": "https://github.com/influxdata/influxdb-client-php/tree/3.8.0" }, - "time": "2024-04-16T19:28:44+00:00" + "time": "2025-06-26T05:12:59+00:00" }, { "name": "kirschbaum-development/eloquent-power-joins", - "version": "3.5.6", + "version": "4.2.11", "source": { "type": "git", "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git", - "reference": "6de51d9ec43af34e77bd1d9908173de1416a0aed" + "reference": "0e3e3372992e4bf82391b3c7b84b435c3db73588" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/6de51d9ec43af34e77bd1d9908173de1416a0aed", - "reference": "6de51d9ec43af34e77bd1d9908173de1416a0aed", + "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/0e3e3372992e4bf82391b3c7b84b435c3db73588", + "reference": "0e3e3372992e4bf82391b3c7b84b435c3db73588", "shasum": "" }, "require": { - "illuminate/database": "^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "php": "^8.0" + "illuminate/database": "^11.42|^12.0", + "illuminate/support": "^11.42|^12.0", + "php": "^8.2" }, "require-dev": { + "friendsofphp/php-cs-fixer": "dev-master", "laravel/legacy-factories": "^1.0@dev", - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0", - "phpunit/phpunit": "^8.0|^9.0|^10.0" + "orchestra/testbench": "^9.0|^10.0", + "phpunit/phpunit": "^10.0|^11.0" }, "type": "library", "extra": { @@ -2476,42 +2408,41 @@ ], "support": { "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues", - "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/3.5.6" + "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.2.11" }, - "time": "2024-04-09T00:35:30+00:00" + "time": "2025-12-17T00:37:48+00:00" }, { "name": "laravel-notification-channels/telegram", - "version": "4.0.0", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/laravel-notification-channels/telegram.git", - "reference": "c67b312193fcd59c8abad1ee1f5b1f4e5540c201" + "reference": "289eb825f6c918b21bbda19bffb900d882c9647a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-notification-channels/telegram/zipball/c67b312193fcd59c8abad1ee1f5b1f4e5540c201", - "reference": "c67b312193fcd59c8abad1ee1f5b1f4e5540c201", + "url": "https://api.github.com/repos/laravel-notification-channels/telegram/zipball/289eb825f6c918b21bbda19bffb900d882c9647a", + "reference": "289eb825f6c918b21bbda19bffb900d882c9647a", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/guzzle": "^7.2", - "illuminate/contracts": "^10.0", - "illuminate/notifications": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" + "guzzlehttp/guzzle": "^7.8", + "illuminate/contracts": "^11.0 || ^12.0", + "illuminate/notifications": "^11.0 || ^12.0", + "illuminate/support": "^11.0 || ^12.0", + "php": "^8.2" }, "require-dev": { + "larastan/larastan": "^3.0", "mockery/mockery": "^1.4.4", - "nunomaduro/larastan": "^2.4", - "orchestra/testbench": "^8.0", - "pestphp/pest": "^1.22", - "pestphp/pest-plugin-laravel": "^1.4", + "orchestra/testbench": "^10.0", + "pestphp/pest": "^3.0", + "pestphp/pest-plugin-laravel": "^3.0", "phpstan/extension-installer": "^1.2", - "phpstan/phpstan-deprecation-rules": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.10" + "phpstan/phpstan-deprecation-rules": "^2.0", + "phpstan/phpstan-phpunit": "^2.0" }, "type": "library", "extra": { @@ -2549,29 +2480,29 @@ ], "support": { "issues": "https://github.com/laravel-notification-channels/telegram/issues", - "source": "https://github.com/laravel-notification-channels/telegram/tree/4.0.0" + "source": "https://github.com/laravel-notification-channels/telegram/tree/6.0.0" }, - "time": "2023-02-14T18:21:03+00:00" + "time": "2025-02-25T22:59:13+00:00" }, { "name": "laravel/framework", - "version": "v10.48.8", + "version": "v12.49.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "8e9ab6da362f268170fe815127aed5ec7d303697" + "reference": "4bde4530545111d8bdd1de6f545fa8824039fcb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/8e9ab6da362f268170fe815127aed5ec7d303697", - "reference": "8e9ab6da362f268170fe815127aed5ec7d303697", + "url": "https://api.github.com/repos/laravel/framework/zipball/4bde4530545111d8bdd1de6f545fa8824039fcb5", + "reference": "4bde4530545111d8bdd1de6f545fa8824039fcb5", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "brick/math": "^0.11|^0.12|^0.13|^0.14", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", - "dragonmantank/cron-expression": "^3.3.2", + "dragonmantank/cron-expression": "^3.4", "egulias/email-validator": "^3.2.1|^4.0", "ext-ctype": "*", "ext-filter": "*", @@ -2580,44 +2511,47 @@ "ext-openssl": "*", "ext-session": "*", "ext-tokenizer": "*", - "fruitcake/php-cors": "^1.2", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.1.9", - "laravel/serializable-closure": "^1.3", - "league/commonmark": "^2.2.1", - "league/flysystem": "^3.8.0", + "laravel/prompts": "^0.3.0", + "laravel/serializable-closure": "^1.3|^2.0", + "league/commonmark": "^2.7", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^2.67", - "nunomaduro/termwind": "^1.13", - "php": "^8.1", + "nesbot/carbon": "^3.8.4", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^6.2", - "symfony/error-handler": "^6.2", - "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.2", - "symfony/mailer": "^6.2", - "symfony/mime": "^6.2", - "symfony/process": "^6.2", - "symfony/routing": "^6.2", - "symfony/uid": "^6.2", - "symfony/var-dumper": "^6.2", + "symfony/console": "^7.2.0", + "symfony/error-handler": "^7.2.0", + "symfony/finder": "^7.2.0", + "symfony/http-foundation": "^7.2.0", + "symfony/http-kernel": "^7.2.0", + "symfony/mailer": "^7.2.0", + "symfony/mime": "^7.2.0", + "symfony/polyfill-php83": "^1.33", + "symfony/polyfill-php84": "^1.33", + "symfony/polyfill-php85": "^1.33", + "symfony/process": "^7.2.0", + "symfony/routing": "^7.2.0", + "symfony/uid": "^7.2.0", + "symfony/var-dumper": "^7.2.0", "tijsverkoyen/css-to-inline-styles": "^2.2.5", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" }, "conflict": { - "carbonphp/carbon-doctrine-types": ">=3.0", - "doctrine/dbal": ">=4.0", - "mockery/mockery": "1.6.8", - "phpunit/phpunit": ">=11.0.0", "tightenco/collect": "<5.5.33" }, "provide": { "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { @@ -2626,6 +2560,7 @@ "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", "illuminate/conditionable": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", @@ -2638,6 +2573,7 @@ "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", + "illuminate/json-schema": "self.version", "illuminate/log": "self.version", "illuminate/macroable": "self.version", "illuminate/mail": "self.version", @@ -2647,42 +2583,47 @@ "illuminate/process": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", + "illuminate/reflection": "self.version", "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", - "illuminate/view": "self.version" + "illuminate/view": "self.version", + "spatie/once": "*" }, "require-dev": { "ably/ably-php": "^1.0", - "aws/aws-sdk-php": "^3.235.5", - "doctrine/dbal": "^3.5.1", + "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", - "fakerphp/faker": "^1.21", - "guzzlehttp/guzzle": "^7.5", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-path-prefixing": "^3.3", - "league/flysystem-read-only": "^3.3", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.5.1", - "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^8.23.4", - "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^10.0.7", - "predis/predis": "^2.0.2", - "symfony/cache": "^6.2", - "symfony/http-client": "^6.2.4", - "symfony/psr-http-message-bridge": "^2.0" + "fakerphp/faker": "^1.24", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/psr7": "^2.4", + "laravel/pint": "^1.18", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "opis/json-schema": "^2.4.1", + "orchestra/testbench-core": "^10.9.0", + "pda/pheanstalk": "^5.0.6|^7.0.0", + "php-http/discovery": "^1.15", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", + "predis/predis": "^2.3|^3.0", + "resend/resend-php": "^0.10.0|^1.0", + "symfony/cache": "^7.2.0", + "symfony/http-client": "^7.2.0", + "symfony/psr-http-message-bridge": "^7.2.0", + "symfony/translation": "^7.2.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", "ext-apcu": "Required to use the APC cache driver.", "ext-fileinfo": "Required to use the Filesystem class.", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -2691,42 +2632,46 @@ "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", + "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", - "league/flysystem-read-only": "Required to use read-only disks (^3.3)", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.5.1).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).", - "predis/predis": "Required to use the predis connector (^2.0.2).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", + "mockery/mockery": "Required to use mocking (^1.6).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3|^3.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.2).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "10.x-dev" + "dev-master": "12.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/functions.php", "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", + "src/Illuminate/Reflection/helpers.php", + "src/Illuminate/Support/functions.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { @@ -2734,7 +2679,8 @@ "Illuminate\\Support\\": [ "src/Illuminate/Macroable/", "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/" + "src/Illuminate/Conditionable/", + "src/Illuminate/Reflection/" ] } }, @@ -2758,25 +2704,25 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-04-16T14:26:04+00:00" + "time": "2026-01-28T03:40:49+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.19", + "version": "v0.3.11", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "0ab75ac3434d9f610c5691758a6146a3d1940c18" + "reference": "dd2a2ed95acacbcccd32fd98dee4c946ae7a7217" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/0ab75ac3434d9f610c5691758a6146a3d1940c18", - "reference": "0ab75ac3434d9f610c5691758a6146a3d1940c18", + "url": "https://api.github.com/repos/laravel/prompts/zipball/dd2a2ed95acacbcccd32fd98dee4c946ae7a7217", + "reference": "dd2a2ed95acacbcccd32fd98dee4c946ae7a7217", "shasum": "" }, "require": { + "composer-runtime-api": "^2.2", "ext-mbstring": "*", - "illuminate/collections": "^10.0|^11.0", "php": "^8.1", "symfony/console": "^6.2|^7.0" }, @@ -2785,10 +2731,11 @@ "laravel/framework": ">=10.17.0 <10.25.0" }, "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0", "mockery/mockery": "^1.5", - "pestphp/pest": "^2.3", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-mockery": "^1.1" + "pestphp/pest": "^2.3|^3.4|^4.0", + "phpstan/phpstan": "^1.12.28", + "phpstan/phpstan-mockery": "^1.1.3" }, "suggest": { "ext-pcntl": "Required for the spinner to be animated." @@ -2796,7 +2743,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.1.x-dev" + "dev-main": "0.3.x-dev" } }, "autoload": { @@ -2811,45 +2758,43 @@ "license": [ "MIT" ], + "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.19" + "source": "https://github.com/laravel/prompts/tree/v0.3.11" }, - "time": "2024-04-16T14:20:35+00:00" + "time": "2026-01-27T02:55:06+00:00" }, { "name": "laravel/sanctum", - "version": "v3.3.3", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/laravel/sanctum.git", - "reference": "8c104366459739f3ada0e994bcd3e6fd681ce3d5" + "reference": "c978c82b2b8ab685468a7ca35224497d541b775a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sanctum/zipball/8c104366459739f3ada0e994bcd3e6fd681ce3d5", - "reference": "8c104366459739f3ada0e994bcd3e6fd681ce3d5", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/c978c82b2b8ab685468a7ca35224497d541b775a", + "reference": "c978c82b2b8ab685468a7ca35224497d541b775a", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/console": "^9.21|^10.0", - "illuminate/contracts": "^9.21|^10.0", - "illuminate/database": "^9.21|^10.0", - "illuminate/support": "^9.21|^10.0", - "php": "^8.0.2" + "illuminate/console": "^11.0|^12.0", + "illuminate/contracts": "^11.0|^12.0", + "illuminate/database": "^11.0|^12.0", + "illuminate/support": "^11.0|^12.0", + "php": "^8.2", + "symfony/console": "^7.0" }, "require-dev": { - "mockery/mockery": "^1.0", - "orchestra/testbench": "^7.28.2|^8.8.3", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.6" + "mockery/mockery": "^1.6", + "orchestra/testbench": "^9.15|^10.8", + "phpstan/phpstan": "^1.10" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - }, "laravel": { "providers": [ "Laravel\\Sanctum\\SanctumServiceProvider" @@ -2881,35 +2826,36 @@ "issues": "https://github.com/laravel/sanctum/issues", "source": "https://github.com/laravel/sanctum" }, - "time": "2023-12-19T18:44:48+00:00" + "time": "2026-01-22T22:27:01+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.3", + "version": "v2.0.8", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + "reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/7581a4407012f5f53365e11bafc520fd7f36bc9b", + "reference": "7581a4407012f5f53365e11bafc520fd7f36bc9b", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^8.1" }, "require-dev": { - "nesbot/carbon": "^2.61", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11" + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0|^4.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2941,86 +2887,20 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-11-08T14:08:06+00:00" - }, - { - "name": "laravel/tinker", - "version": "v2.9.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", - "shasum": "" - }, - "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "php": "^7.2.5|^8.0", - "psy/psysh": "^0.11.1|^0.12.0", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" - }, - "require-dev": { - "mockery/mockery": "~1.3.3|^1.4.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ], - "support": { - "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.9.0" - }, - "time": "2024-01-04T16:10:04+00:00" + "time": "2026-01-08T16:22:46+00:00" }, { "name": "league/commonmark", - "version": "2.4.2", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb", "shasum": "" }, "require": { @@ -3033,8 +2913,8 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.3", - "commonmark/commonmark.js": "0.30.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", @@ -3045,10 +2925,11 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -3056,7 +2937,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "2.9-dev" } }, "autoload": { @@ -3113,7 +2994,7 @@ "type": "tidelift" } ], - "time": "2024-02-02T11:59:32+00:00" + "time": "2025-11-26T21:48:24+00:00" }, { "name": "league/config", @@ -3199,40 +3080,42 @@ }, { "name": "league/csv", - "version": "9.15.0", + "version": "9.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/csv.git", - "reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435" + "reference": "6582ace29ae09ba5b07049d40ea13eb19c8b5073" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/fa7e2441c0bc9b2360f4314fd6c954f7ff40d435", - "reference": "fa7e2441c0bc9b2360f4314fd6c954f7ff40d435", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/6582ace29ae09ba5b07049d40ea13eb19c8b5073", + "reference": "6582ace29ae09ba5b07049d40ea13eb19c8b5073", "shasum": "" }, "require": { "ext-filter": "*", - "ext-json": "*", - "ext-mbstring": "*", "php": "^8.1.2" }, "require-dev": { - "doctrine/collections": "^2.1.4", "ext-dom": "*", "ext-xdebug": "*", - "friendsofphp/php-cs-fixer": "^v3.22.0", - "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.10.57", - "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "phpunit/phpunit": "^10.5.9", - "symfony/var-dumper": "^6.4.2" + "friendsofphp/php-cs-fixer": "^3.92.3", + "phpbench/phpbench": "^1.4.3", + "phpstan/phpstan": "^1.12.32", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.2", + "phpstan/phpstan-strict-rules": "^1.6.2", + "phpunit/phpunit": "^10.5.16 || ^11.5.22 || ^12.5.4", + "symfony/var-dumper": "^6.4.8 || ^7.4.0 || ^8.0" }, "suggest": { "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", - "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" + "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters", + "ext-mbstring": "Needed to ease transcoding CSV using mb stream filters", + "ext-mysqli": "Requiered to use the package with the MySQLi extension", + "ext-pdo": "Required to use the package with the PDO extension", + "ext-pgsql": "Requiered to use the package with the PgSQL extension", + "ext-sqlite3": "Required to use the package with the SQLite3 extension" }, "type": "library", "extra": { @@ -3284,20 +3167,20 @@ "type": "github" } ], - "time": "2024-02-20T20:00:00+00:00" + "time": "2025-12-27T15:18:42+00:00" }, { "name": "league/flysystem", - "version": "3.27.0", + "version": "3.31.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "4729745b1ab737908c7d055148c9a6b3e959832f" + "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4729745b1ab737908c7d055148c9a6b3e959832f", - "reference": "4729745b1ab737908c7d055148c9a6b3e959832f", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1717e0b3642b0df65ecb0cc89cdd99fa840672ff", + "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff", "shasum": "" }, "require": { @@ -3321,10 +3204,13 @@ "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", + "ext-mongodb": "^1.3|^2", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2|^2", "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", @@ -3362,32 +3248,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.27.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.31.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2024-04-07T19:17:50+00:00" + "time": "2026-01-23T15:38:47+00:00" }, { "name": "league/flysystem-local", - "version": "3.25.1", + "version": "3.31.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92" + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/61a6a90d6e999e4ddd9ce5adb356de0939060b92", - "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079", "shasum": "" }, "require": { @@ -3421,32 +3297,22 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.25.1" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2024-03-15T19:58:44+00:00" + "time": "2026-01-23T15:30:45+00:00" }, { "name": "league/mime-type-detection", - "version": "1.15.0", + "version": "1.16.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", "shasum": "" }, "require": { @@ -3477,7 +3343,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" }, "funding": [ { @@ -3489,37 +3355,42 @@ "type": "tidelift" } ], - "time": "2024-01-28T23:22:08+00:00" + "time": "2024-09-21T08:32:55+00:00" }, { "name": "league/uri", - "version": "7.4.1", + "version": "7.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4" + "reference": "4436c6ec8d458e4244448b069cc572d088230b76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/bedb6e55eff0c933668addaa7efa1e1f2c417cc4", - "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76", + "reference": "4436c6ec8d458e4244448b069cc572d088230b76", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.3", - "php": "^8.1" + "league/uri-interfaces": "^7.8", + "php": "^8.1", + "psr/http-factory": "^1" }, "conflict": { "league/uri-schemes": "^1.0" }, "suggest": { "ext-bcmath": "to improve IPV4 host parsing", + "ext-dom": "to convert the URI into an HTML anchor tag", "ext-fileinfo": "to create Data URI from file contennts", "ext-gmp": "to improve IPV4 host parsing", "ext-intl": "to handle IDN host with the best performance", - "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", - "league/uri-components": "Needed to easily manipulate URI objects components", + "ext-uri": "to use the PHP native URI class", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-components": "to provide additional tools to manipulate URI objects components", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", @@ -3547,6 +3418,7 @@ "description": "URI manipulation library", "homepage": "https://uri.thephpleague.com", "keywords": [ + "URN", "data-uri", "file-uri", "ftp", @@ -3559,9 +3431,11 @@ "psr-7", "query-string", "querystring", + "rfc2141", "rfc3986", "rfc3987", "rfc6570", + "rfc8141", "uri", "uri-template", "url", @@ -3571,7 +3445,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.4.1" + "source": "https://github.com/thephpleague/uri/tree/7.8.0" }, "funding": [ { @@ -3579,26 +3453,109 @@ "type": "github" } ], - "time": "2024-03-23T07:42:40+00:00" + "time": "2026-01-14T17:24:56+00:00" + }, + { + "name": "league/uri-components", + "version": "7.8.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-components.git", + "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/8b5ffcebcc0842b76eb80964795bd56a8333b2ba", + "reference": "8b5ffcebcc0842b76eb80964795bd56a8333b2ba", + "shasum": "" + }, + "require": { + "league/uri": "^7.8", + "php": "^8.1" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "ext-mbstring": "to use the sorting algorithm of URLSearchParams", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI components manipulation library", + "homepage": "http://uri.thephpleague.com", + "keywords": [ + "authority", + "components", + "fragment", + "host", + "middleware", + "modifier", + "path", + "port", + "query", + "rfc3986", + "scheme", + "uri", + "url", + "userinfo" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-components/tree/7.8.0" + }, + "funding": [ + { + "url": "https://github.com/nyamsprod", + "type": "github" + } + ], + "time": "2026-01-14T17:24:56+00:00" }, { "name": "league/uri-interfaces", - "version": "7.4.1", + "version": "7.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "8d43ef5c841032c87e2de015972c06f3865ef718" + "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/8d43ef5c841032c87e2de015972c06f3865ef718", - "reference": "8d43ef5c841032c87e2de015972c06f3865ef718", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4", + "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4", "shasum": "" }, "require": { "ext-filter": "*", "php": "^8.1", - "psr/http-factory": "^1", "psr/http-message": "^1.1 || ^2.0" }, "suggest": { @@ -3606,6 +3563,7 @@ "ext-gmp": "to improve IPV4 host parsing", "ext-intl": "to handle IDN host with the best performance", "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", @@ -3630,7 +3588,7 @@ "homepage": "https://nyamsprod.com" } ], - "description": "Common interfaces and classes for URI representation and interaction", + "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI", "homepage": "https://uri.thephpleague.com", "keywords": [ "data-uri", @@ -3655,7 +3613,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.1" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0" }, "funding": [ { @@ -3663,27 +3621,28 @@ "type": "github" } ], - "time": "2024-03-23T07:42:40+00:00" + "time": "2026-01-15T06:54:53+00:00" }, { "name": "livewire/livewire", - "version": "v3.4.10", + "version": "v3.7.8", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "6f90e2d7f8e80a97a7406c22a0fbc61ca1256ed9" + "reference": "06ec7e8cd61bb01739b8f26396db6fe73b7e0607" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/6f90e2d7f8e80a97a7406c22a0fbc61ca1256ed9", - "reference": "6f90e2d7f8e80a97a7406c22a0fbc61ca1256ed9", + "url": "https://api.github.com/repos/livewire/livewire/zipball/06ec7e8cd61bb01739b8f26396db6fe73b7e0607", + "reference": "06ec7e8cd61bb01739b8f26396db6fe73b7e0607", "shasum": "" }, "require": { - "illuminate/database": "^10.0|^11.0", - "illuminate/routing": "^10.0|^11.0", - "illuminate/support": "^10.0|^11.0", - "illuminate/validation": "^10.0|^11.0", + "illuminate/database": "^10.0|^11.0|^12.0", + "illuminate/routing": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/validation": "^10.0|^11.0|^12.0", + "laravel/prompts": "^0.1.24|^0.2|^0.3", "league/mime-type-detection": "^1.9", "php": "^8.1", "symfony/console": "^6.0|^7.0", @@ -3691,23 +3650,22 @@ }, "require-dev": { "calebporzio/sushi": "^2.1", - "laravel/framework": "^10.0|^11.0", - "laravel/prompts": "^0.1.6", + "laravel/framework": "^10.15.0|^11.0|^12.0", "mockery/mockery": "^1.3.1", - "orchestra/testbench": "^8.21.0|^9.0", - "orchestra/testbench-dusk": "^8.24|^9.1", - "phpunit/phpunit": "^10.4", + "orchestra/testbench": "^8.21.0|^9.0|^10.0", + "orchestra/testbench-dusk": "^8.24|^9.1|^10.0", + "phpunit/phpunit": "^10.4|^11.5", "psy/psysh": "^0.11.22|^0.12" }, "type": "library", "extra": { "laravel": { - "providers": [ - "Livewire\\LivewireServiceProvider" - ], "aliases": { "Livewire": "Livewire\\Livewire" - } + }, + "providers": [ + "Livewire\\LivewireServiceProvider" + ] } }, "autoload": { @@ -3731,7 +3689,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.4.10" + "source": "https://github.com/livewire/livewire/tree/v3.7.8" }, "funding": [ { @@ -3739,41 +3697,41 @@ "type": "github" } ], - "time": "2024-04-02T14:22:50+00:00" + "time": "2026-02-03T02:57:56+00:00" }, { "name": "lorisleiva/laravel-actions", - "version": "v2.8.0", + "version": "v2.9.1", "source": { "type": "git", "url": "https://github.com/lorisleiva/laravel-actions.git", - "reference": "d5c2ca544f40d85f877b38eb6d23e9c967ecb69f" + "reference": "11c2531366ca8bd5efcd0afc9e8047e7999926ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lorisleiva/laravel-actions/zipball/d5c2ca544f40d85f877b38eb6d23e9c967ecb69f", - "reference": "d5c2ca544f40d85f877b38eb6d23e9c967ecb69f", + "url": "https://api.github.com/repos/lorisleiva/laravel-actions/zipball/11c2531366ca8bd5efcd0afc9e8047e7999926ff", + "reference": "11c2531366ca8bd5efcd0afc9e8047e7999926ff", "shasum": "" }, "require": { - "illuminate/contracts": "^10.0|^11.0", - "lorisleiva/lody": "^0.5", + "illuminate/contracts": "^10.0|^11.0|^12.0", + "lorisleiva/lody": "^0.6", "php": "^8.1" }, "require-dev": { - "orchestra/testbench": "^9.0", - "pestphp/pest": "^1.23|^2.34", - "phpunit/phpunit": "^9.6|^10.0" + "orchestra/testbench": "^10.0", + "pestphp/pest": "^2.34|^3.0", + "phpunit/phpunit": "^10.5|^11.5" }, "type": "library", "extra": { "laravel": { - "providers": [ - "Lorisleiva\\Actions\\ActionServiceProvider" - ], "aliases": { "Action": "Lorisleiva\\Actions\\Facades\\Actions" - } + }, + "providers": [ + "Lorisleiva\\Actions\\ActionServiceProvider" + ] } }, "autoload": { @@ -3802,11 +3760,12 @@ "controller", "job", "laravel", + "listener", "object" ], "support": { "issues": "https://github.com/lorisleiva/laravel-actions/issues", - "source": "https://github.com/lorisleiva/laravel-actions/tree/v2.8.0" + "source": "https://github.com/lorisleiva/laravel-actions/tree/v2.9.1" }, "funding": [ { @@ -3814,41 +3773,41 @@ "type": "github" } ], - "time": "2024-03-13T12:47:32+00:00" + "time": "2025-08-10T08:58:19+00:00" }, { "name": "lorisleiva/lody", - "version": "v0.5.0", + "version": "v0.6.0", "source": { "type": "git", "url": "https://github.com/lorisleiva/lody.git", - "reference": "c2f51b070e99f3a240d66cf68ef1f232036917fe" + "reference": "6bada710ebc75f06fdf62db26327be1592c4f014" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lorisleiva/lody/zipball/c2f51b070e99f3a240d66cf68ef1f232036917fe", - "reference": "c2f51b070e99f3a240d66cf68ef1f232036917fe", + "url": "https://api.github.com/repos/lorisleiva/lody/zipball/6bada710ebc75f06fdf62db26327be1592c4f014", + "reference": "6bada710ebc75f06fdf62db26327be1592c4f014", "shasum": "" }, "require": { - "illuminate/contracts": "^9.0|^10.0|^11.0", - "php": "^8.0" + "illuminate/contracts": "^10.0|^11.0|^12.0", + "php": "^8.1" }, "require-dev": { - "orchestra/testbench": "^9.0", - "pestphp/pest": "^1.20|^2.34", - "phpunit/phpunit": "^9.5.10|^10.5" + "orchestra/testbench": "^10.0", + "pestphp/pest": "^2.34|^3.0", + "phpunit/phpunit": "^10.5|^11.5" }, "type": "library", "extra": { "laravel": { - "providers": [ - "Lorisleiva\\Lody\\LodyServiceProvider" - ], "aliases": { "Lody": "Lorisleiva\\Lody\\Lody" - } - } + }, + "providers": [ + "Lorisleiva\\Lody\\LodyServiceProvider" + ] + } }, "autoload": { "psr-4": { @@ -3878,7 +3837,7 @@ ], "support": { "issues": "https://github.com/lorisleiva/lody/issues", - "source": "https://github.com/lorisleiva/lody/tree/v0.5.0" + "source": "https://github.com/lorisleiva/lody/tree/v0.6.0" }, "funding": [ { @@ -3886,7 +3845,7 @@ "type": "github" } ], - "time": "2024-03-13T12:08:59+00:00" + "time": "2025-03-01T19:21:17+00:00" }, { "name": "maennchen/zipstream-php", @@ -3968,16 +3927,16 @@ }, { "name": "masterminds/html5", - "version": "2.9.0", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" + "reference": "fcf91eb64359852f00d921887b219479b4f21251" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", - "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251", + "reference": "fcf91eb64359852f00d921887b219479b4f21251", "shasum": "" }, "require": { @@ -4029,22 +3988,22 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" + "source": "https://github.com/Masterminds/html5-php/tree/2.10.0" }, - "time": "2024-03-31T07:05:07+00:00" + "time": "2025-07-25T09:04:22+00:00" }, { "name": "monolog/monolog", - "version": "3.6.0", + "version": "3.10.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0", "shasum": "" }, "require": { @@ -4062,14 +4021,16 @@ "graylog2/gelf-php": "^1.4.2 || ^2.0", "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", + "mongodb/mongodb": "^1.8 || ^2.0", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.5.17", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", "predis/predis": "^1.1 || ^2", - "ruflin/elastica": "^7", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -4120,7 +4081,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.6.0" + "source": "https://github.com/Seldaek/monolog/tree/3.10.0" }, "funding": [ { @@ -4132,20 +4093,20 @@ "type": "tidelift" } ], - "time": "2024-04-12T21:02:21+00:00" + "time": "2026-01-02T08:56:05+00:00" }, { "name": "myclabs/php-enum", - "version": "1.8.4", + "version": "1.8.5", "source": { "type": "git", "url": "https://github.com/myclabs/php-enum.git", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483" + "reference": "e7be26966b7398204a234f8673fdad5ac6277802" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/a867478eae49c9f59ece437ae7f9506bfaa27483", - "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/e7be26966b7398204a234f8673fdad5ac6277802", + "reference": "e7be26966b7398204a234f8673fdad5ac6277802", "shasum": "" }, "require": { @@ -4155,7 +4116,7 @@ "require-dev": { "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" + "vimeo/psalm": "^4.6.2 || ^5.2" }, "type": "library", "autoload": { @@ -4177,13 +4138,13 @@ } ], "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", + "homepage": "https://github.com/myclabs/php-enum", "keywords": [ "enum" ], "support": { "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.4" + "source": "https://github.com/myclabs/php-enum/tree/1.8.5" }, "funding": [ { @@ -4195,56 +4156,50 @@ "type": "tidelift" } ], - "time": "2022-08-04T09:53:51+00:00" + "time": "2025-01-14T11:49:03+00:00" }, { "name": "nesbot/carbon", - "version": "2.72.3", + "version": "3.11.1", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "f438fcc98f92babee98381d399c65336f3a3827f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/f438fcc98f92babee98381d399c65336f3a3827f", + "reference": "f438fcc98f92babee98381d399c65336f3a3827f", "shasum": "" }, "require": { - "carbonphp/carbon-doctrine-types": "*", + "carbonphp/carbon-doctrine-types": "<100.0", "ext-json": "*", - "php": "^7.1.8 || ^8.0", + "php": "^8.1", "psr/clock": "^1.0", + "symfony/clock": "^6.3.12 || ^7.0 || ^8.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0 || ^8.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^v3.87.1", + "kylekatarnls/multi-tester": "^2.5.3", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.22", + "phpunit/phpunit": "^10.5.53", + "squizlabs/php_codesniffer": "^3.13.4 || ^4.0.0" }, "bin": [ "bin/carbon" ], "type": "library", "extra": { - "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -4254,6 +4209,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -4277,16 +4236,16 @@ } ], "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", + "homepage": "https://carbonphp.github.io/carbon/", "keywords": [ "date", "datetime", "time" ], "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" + "docs": "https://carbonphp.github.io/carbon/guide/getting-started/introduction.html", + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" }, "funding": [ { @@ -4302,29 +4261,101 @@ "type": "tidelift" } ], - "time": "2024-01-25T10:35:09+00:00" + "time": "2026-01-29T09:26:29+00:00" + }, + { + "name": "nette/php-generator", + "version": "v4.2.0", + "source": { + "type": "git", + "url": "https://github.com/nette/php-generator.git", + "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/php-generator/zipball/4707546a1f11badd72f5d82af4f8a6bc64bd56ac", + "reference": "4707546a1f11badd72f5d82af4f8a6bc64bd56ac", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0.6", + "php": "8.1 - 8.5" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "^1.2", + "nette/tester": "^2.4", + "nikic/php-parser": "^5.0", + "phpstan/phpstan-nette": "^2.0@stable", + "tracy/tracy": "^2.8" + }, + "suggest": { + "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.5 features.", + "homepage": "https://nette.org", + "keywords": [ + "code", + "nette", + "php", + "scaffolding" + ], + "support": { + "issues": "https://github.com/nette/php-generator/issues", + "source": "https://github.com/nette/php-generator/tree/v4.2.0" + }, + "time": "2025-08-06T18:24:31+00:00" }, { "name": "nette/schema", - "version": "v1.3.0", + "version": "v1.3.3", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", - "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", "shasum": "" }, "require": { "nette/utils": "^4.0", - "php": "8.1 - 8.3" + "php": "8.1 - 8.5" }, "require-dev": { - "nette/tester": "^2.4", - "phpstan/phpstan-nette": "^1.0", + "nette/tester": "^2.5.2", + "phpstan/phpstan-nette": "^2.0@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -4334,6 +4365,9 @@ } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -4362,35 +4396,35 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.0" + "source": "https://github.com/nette/schema/tree/v1.3.3" }, - "time": "2023-12-11T11:54:22+00:00" + "time": "2025-10-30T22:57:59+00:00" }, { "name": "nette/utils", - "version": "v4.0.4", + "version": "v4.1.2", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "url": "https://api.github.com/repos/nette/utils/zipball/f76b5dc3d6c6d3043c8d937df2698515b99cbaf5", + "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5", "shasum": "" }, "require": { - "php": ">=8.0 <8.4" + "php": "8.2 - 8.5" }, "conflict": { "nette/finder": "<3", "nette/schema": "<1.2.2" }, "require-dev": { - "jetbrains/phpstorm-attributes": "dev-master", + "jetbrains/phpstorm-attributes": "^1.2", "nette/tester": "^2.5", - "phpstan/phpstan": "^1.0", + "phpstan/phpstan": "^2.0@stable", "tracy/tracy": "^2.9" }, "suggest": { @@ -4404,10 +4438,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -4448,22 +4485,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.4" + "source": "https://github.com/nette/utils/tree/v4.1.2" }, - "time": "2024-01-17T16:50:36+00:00" + "time": "2026-02-03T17:21:09+00:00" }, { "name": "nikic/php-parser", - "version": "v5.0.2", + "version": "v5.7.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", "shasum": "" }, "require": { @@ -4474,7 +4511,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -4482,7 +4519,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.x-dev" } }, "autoload": { @@ -4506,39 +4543,37 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "time": "2024-03-05T20:51:40+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.15.1", + "version": "v2.3.3", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017", + "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" + "php": "^8.2", + "symfony/console": "^7.3.6" }, "require-dev": { - "ergebnis/phpstan-rules": "^1.0.", - "illuminate/console": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "laravel/pint": "^1.0.0", - "pestphp/pest": "^1.21.0", - "pestphp/pest-plugin-mock": "^1.0", - "phpstan/phpstan": "^1.4.6", - "phpstan/phpstan-strict-rules": "^1.1.0", - "symfony/var-dumper": "^5.2.7|^6.0.0", + "illuminate/console": "^11.46.1", + "laravel/pint": "^1.25.1", + "mockery/mockery": "^1.6.12", + "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.1.3", + "phpstan/phpstan": "^1.12.32", + "phpstan/phpstan-strict-rules": "^1.6.2", + "symfony/var-dumper": "^7.3.5", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -4547,6 +4582,9 @@ "providers": [ "Termwind\\Laravel\\TermwindServiceProvider" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -4578,7 +4616,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + "source": "https://github.com/nunomaduro/termwind/tree/v2.3.3" }, "funding": [ { @@ -4594,20 +4632,20 @@ "type": "github" } ], - "time": "2023-02-08T01:06:31+00:00" + "time": "2025-11-20T02:34:59+00:00" }, { "name": "openspout/openspout", - "version": "v4.23.0", + "version": "v4.32.0", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "28f6a0e45acc3377f34c26cc3866e21f0447e0c8" + "reference": "41f045c1f632e1474e15d4c7bc3abcb4a153563d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/28f6a0e45acc3377f34c26cc3866e21f0447e0c8", - "reference": "28f6a0e45acc3377f34c26cc3866e21f0447e0c8", + "url": "https://api.github.com/repos/openspout/openspout/zipball/41f045c1f632e1474e15d4c7bc3abcb4a153563d", + "reference": "41f045c1f632e1474e15d4c7bc3abcb4a153563d", "shasum": "" }, "require": { @@ -4617,17 +4655,17 @@ "ext-libxml": "*", "ext-xmlreader": "*", "ext-zip": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~8.3.0 || ~8.4.0 || ~8.5.0" }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.46.0", - "infection/infection": "^0.27.9", - "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.10.55", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "phpunit/phpunit": "^10.5.5" + "friendsofphp/php-cs-fixer": "^3.86.0", + "infection/infection": "^0.31.2", + "phpbench/phpbench": "^1.4.1", + "phpstan/phpstan": "^2.1.22", + "phpstan/phpstan-phpunit": "^2.0.7", + "phpstan/phpstan-strict-rules": "^2.0.6", + "phpunit/phpunit": "^12.3.7" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -4675,7 +4713,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.23.0" + "source": "https://github.com/openspout/openspout/tree/v4.32.0" }, "funding": [ { @@ -4687,20 +4725,89 @@ "type": "github" } ], - "time": "2024-01-09T09:30:37+00:00" + "time": "2025-09-03T16:03:54+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v3.1.3", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77", + "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77", + "shasum": "" + }, + "require": { + "php": "^8" + }, + "require-dev": { + "infection/infection": "^0", + "nikic/php-fuzzer": "^0", + "phpunit/phpunit": "^9|^10|^11", + "vimeo/psalm": "^4|^5|^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2025-09-24T15:06:41+00:00" }, { "name": "php-http/client-common", - "version": "2.7.1", + "version": "2.7.3", "source": { "type": "git", "url": "https://github.com/php-http/client-common.git", - "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612" + "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612", - "reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612", + "url": "https://api.github.com/repos/php-http/client-common/zipball/dcc6de29c90dd74faab55f71b79d89409c4bf0c1", + "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1", "shasum": "" }, "require": { @@ -4710,15 +4817,13 @@ "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0", + "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0", "symfony/polyfill-php80": "^1.17" }, "require-dev": { "doctrine/instantiator": "^1.1", "guzzlehttp/psr7": "^1.4", "nyholm/psr7": "^1.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "phpspec/prophecy": "^1.10.2", "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7" }, "suggest": { @@ -4754,22 +4859,22 @@ ], "support": { "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.1" + "source": "https://github.com/php-http/client-common/tree/2.7.3" }, - "time": "2023-11-30T10:31:25+00:00" + "time": "2025-11-29T19:12:34+00:00" }, { "name": "php-http/discovery", - "version": "1.19.4", + "version": "1.20.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "0700efda8d7526335132360167315fdab3aeb599" + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", - "reference": "0700efda8d7526335132360167315fdab3aeb599", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", "shasum": "" }, "require": { @@ -4833,22 +4938,22 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.4" + "source": "https://github.com/php-http/discovery/tree/1.20.0" }, - "time": "2024-03-29T13:00:05+00:00" + "time": "2024-10-02T11:20:13+00:00" }, { "name": "php-http/httplug", - "version": "2.4.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67" + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67", + "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", "shasum": "" }, "require": { @@ -4890,22 +4995,22 @@ ], "support": { "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.0" + "source": "https://github.com/php-http/httplug/tree/2.4.1" }, - "time": "2023-04-14T15:10:03+00:00" + "time": "2024-09-23T11:39:58+00:00" }, { "name": "php-http/message", - "version": "1.16.1", + "version": "1.16.2", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "5997f3289332c699fa2545c427826272498a2088" + "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", - "reference": "5997f3289332c699fa2545c427826272498a2088", + "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", + "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", "shasum": "" }, "require": { @@ -4959,9 +5064,9 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.1" + "source": "https://github.com/php-http/message/tree/1.16.2" }, - "time": "2024-03-07T13:22:09+00:00" + "time": "2024-10-02T11:34:13+00:00" }, { "name": "php-http/promise", @@ -5070,23 +5175,23 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.2", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "153ae662783729388a584b4361f2545e4d841e3c" + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", - "reference": "153ae662783729388a584b4361f2545e4d841e3c", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195", + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { "ext-tokenizer": "*", @@ -5122,22 +5227,22 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0" }, - "time": "2024-02-23T11:10:43+00:00" + "time": "2025-11-21T15:09:14+00:00" }, { "name": "phpoption/phpoption", - "version": "1.9.2", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", "shasum": "" }, "require": { @@ -5145,13 +5250,13 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34" }, "type": "library", "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": true + "forward-command": false }, "branch-alias": { "dev-master": "1.9-dev" @@ -5187,7 +5292,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.5" }, "funding": [ { @@ -5199,34 +5304,34 @@ "type": "tidelift" } ], - "time": "2023-11-12T21:59:55+00:00" + "time": "2025-12-27T19:41:33+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.28.0", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb" + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^5.3.0", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "symfony/process": "^5.2" }, "type": "library", @@ -5244,36 +5349,101 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" }, - "time": "2024-04-03T18:51:33+00:00" + "time": "2026-01-25T14:56:51+00:00" }, { - "name": "psr/cache", - "version": "3.0.0", + "name": "pragmarx/google2fa", + "version": "v9.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + "url": "https://github.com/antonioribeiro/google2fa.git", + "reference": "e6bc62dd6ae83acc475f57912e27466019a1f2cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/e6bc62dd6ae83acc475f57912e27466019a1f2cf", + "reference": "e6bc62dd6ae83acc475f57912e27466019a1f2cf", "shasum": "" }, "require": { - "php": ">=8.0.0" + "paragonie/constant_time_encoding": "^1.0|^2.0|^3.0", + "php": "^7.1|^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^7.5.15|^8.5|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "PragmaRX\\Google2FA\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" + } + ], + "description": "A One Time Password Authentication package, compatible with Google Authenticator.", + "keywords": [ + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa" + ], + "support": { + "issues": "https://github.com/antonioribeiro/google2fa/issues", + "source": "https://github.com/antonioribeiro/google2fa/tree/v9.0.0" + }, + "time": "2025-09-19T22:51:08+00:00" + }, + { + "name": "pragmarx/google2fa-qrcode", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/antonioribeiro/google2fa-qrcode.git", + "reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/ce4d8a729b6c93741c607cfb2217acfffb5bf76b", + "reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "pragmarx/google2fa": ">=4.0" + }, + "require-dev": { + "bacon/bacon-qr-code": "^2.0", + "chillerlan/php-qrcode": "^1.0|^2.0|^3.0|^4.0", + "khanamiryan/qrcode-detector-decoder": "^1.0", + "phpunit/phpunit": "~4|~5|~6|~7|~8|~9" + }, + "suggest": { + "bacon/bacon-qr-code": "For QR Code generation, requires imagick", + "chillerlan/php-qrcode": "For QR Code generation" }, "type": "library", "extra": { + "component": "package", "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Psr\\Cache\\": "src/" + "PragmaRX\\Google2FAQRCode\\": "src/", + "PragmaRX\\Google2FAQRCode\\Tests\\": "tests/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5282,20 +5452,93 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" } ], - "description": "Common interface for caching libraries", + "description": "QR Code package for Google2FA", "keywords": [ - "cache", - "psr", - "psr-6" + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa", + "qr code", + "qrcode" + ], + "support": { + "issues": "https://github.com/antonioribeiro/google2fa-qrcode/issues", + "source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.0" + }, + "time": "2021-08-15T12:53:48+00:00" + }, + { + "name": "promphp/prometheus_client_php", + "version": "v2.14.1", + "source": { + "type": "git", + "url": "https://github.com/PromPHP/prometheus_client_php.git", + "reference": "a283aea8269287dc35313a0055480d950c59ac1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PromPHP/prometheus_client_php/zipball/a283aea8269287dc35313a0055480d950c59ac1f", + "reference": "a283aea8269287dc35313a0055480d950c59ac1f", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.4|^8.0" + }, + "replace": { + "endclothing/prometheus_client_php": "*", + "jimdo/prometheus_client_php": "*", + "lkaemmerling/prometheus_client_php": "*" + }, + "require-dev": { + "guzzlehttp/guzzle": "^6.3|^7.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5.4", + "phpstan/phpstan-phpunit": "^1.1.0", + "phpstan/phpstan-strict-rules": "^1.1.0", + "phpunit/phpunit": "^9.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/polyfill-apcu": "^1.6" + }, + "suggest": { + "ext-apc": "Required if using APCu.", + "ext-pdo": "Required if using PDO.", + "ext-redis": "Required if using Redis.", + "promphp/prometheus_push_gateway_php": "An easy client for using Prometheus PushGateway.", + "symfony/polyfill-apcu": "Required if you use APCu on PHP8.0+" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Prometheus\\": "src/Prometheus/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Lukas Kämmerling", + "email": "kontakt@lukas-kaemmerling.de" + } ], + "description": "Prometheus instrumentation library for PHP applications.", "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" + "issues": "https://github.com/PromPHP/prometheus_client_php/issues", + "source": "https://github.com/PromPHP/prometheus_client_php/tree/v2.14.1" }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2025-04-14T07:59:43+00:00" }, { "name": "psr/clock", @@ -5502,20 +5745,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -5539,7 +5782,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -5551,9 +5794,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -5610,16 +5853,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { @@ -5654,9 +5897,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "psr/simple-cache", @@ -5710,58 +5953,31 @@ "time": "2021-10-29T13:26:27+00:00" }, { - "name": "psy/psysh", - "version": "v0.12.3", + "name": "ralouphie/getallheaders", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73" + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "^5.0 || ^4.0", - "php": "^8.0 || ^7.4", - "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" - }, - "conflict": { - "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + "php": ">=5.6" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, - "bin": [ - "bin/psysh" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, - "bamarni-bin": { - "bin-links": false, - "forward-command": false - } - }, "autoload": { "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5769,63 +5985,11 @@ ], "authors": [ { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "support": { - "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.3" - }, - "time": "2024-04-02T15:57:53+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", + "description": "A polyfill for getallheaders.", "support": { "issues": "https://github.com/ralouphie/getallheaders/issues", "source": "https://github.com/ralouphie/getallheaders/tree/develop" @@ -5834,16 +5998,16 @@ }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { @@ -5851,25 +6015,22 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", "extra": { @@ -5907,37 +6068,26 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" + "time": "2025-03-22T05:38:12+00:00" }, { "name": "ramsey/uuid", - "version": "4.7.5", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" + "reference": "8429c78ca35a09f27565311b98101e2826affde0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", - "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", - "ext-json": "*", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -5945,26 +6095,23 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.10", + "captainhook/captainhook": "^5.25", "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -5999,60 +6146,50 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.5" + "source": "https://github.com/ramsey/uuid/tree/4.9.2" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2023-11-08T05:53:05+00:00" + "time": "2025-12-14T04:43:48+00:00" }, { "name": "ryangjchandler/blade-capture-directive", - "version": "v1.0.0", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/ryangjchandler/blade-capture-directive.git", - "reference": "cb6f58663d97f17bece176295240b740835e14f1" + "reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ryangjchandler/blade-capture-directive/zipball/cb6f58663d97f17bece176295240b740835e14f1", - "reference": "cb6f58663d97f17bece176295240b740835e14f1", + "url": "https://api.github.com/repos/ryangjchandler/blade-capture-directive/zipball/bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d", + "reference": "bbb1513dfd89eaec87a47fe0c449a7e3d4a1976d", "shasum": "" }, "require": { - "illuminate/contracts": "^10.0|^11.0", + "illuminate/contracts": "^10.0|^11.0|^12.0", "php": "^8.1", "spatie/laravel-package-tools": "^1.9.2" }, "require-dev": { "nunomaduro/collision": "^7.0|^8.0", - "nunomaduro/larastan": "^2.0", - "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^2.0", - "pestphp/pest-plugin-laravel": "^2.0", + "nunomaduro/larastan": "^2.0|^3.0", + "orchestra/testbench": "^8.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.7", + "pestphp/pest-plugin-laravel": "^2.0|^3.1", "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^10.0", + "phpstan/phpstan-deprecation-rules": "^1.0|^2.0", + "phpstan/phpstan-phpunit": "^1.0|^2.0", + "phpunit/phpunit": "^10.0|^11.5.3", "spatie/laravel-ray": "^1.26" }, "type": "library", "extra": { "laravel": { - "providers": [ - "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider" - ], "aliases": { "BladeCaptureDirective": "RyanChandler\\BladeCaptureDirective\\Facades\\BladeCaptureDirective" - } + }, + "providers": [ + "RyanChandler\\BladeCaptureDirective\\BladeCaptureDirectiveServiceProvider" + ] } }, "autoload": { @@ -6081,7 +6218,7 @@ ], "support": { "issues": "https://github.com/ryangjchandler/blade-capture-directive/issues", - "source": "https://github.com/ryangjchandler/blade-capture-directive/tree/v1.0.0" + "source": "https://github.com/ryangjchandler/blade-capture-directive/tree/v1.1.0" }, "funding": [ { @@ -6089,33 +6226,50 @@ "type": "github" } ], - "time": "2024-02-26T18:08:49+00:00" + "time": "2025-02-25T09:09:36+00:00" }, { - "name": "spatie/color", - "version": "1.5.3", + "name": "saloonphp/laravel-plugin", + "version": "v3.8.0", "source": { "type": "git", - "url": "https://github.com/spatie/color.git", - "reference": "49739265900cabce4640cd26c3266fd8d2cca390" + "url": "https://github.com/saloonphp/laravel-plugin.git", + "reference": "19c7ab459a0b7c21b54c8eda8b5028d5b48ca577" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/color/zipball/49739265900cabce4640cd26c3266fd8d2cca390", - "reference": "49739265900cabce4640cd26c3266fd8d2cca390", + "url": "https://api.github.com/repos/saloonphp/laravel-plugin/zipball/19c7ab459a0b7c21b54c8eda8b5028d5b48ca577", + "reference": "19c7ab459a0b7c21b54c8eda8b5028d5b48ca577", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "illuminate/console": "^11.0 || ^v12.39.0", + "illuminate/support": "^11.0 || ^12.39.0", + "php": "^8.2", + "saloonphp/saloon": "^3.5", + "symfony/finder": "^6.4 || ^7.0" }, "require-dev": { - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^6.5||^9.0" + "friendsofphp/php-cs-fixer": "^3.48", + "laravel/telescope": "^5.16", + "orchestra/testbench": "^9.15 || ^10.7", + "pestphp/pest": "^3.0|^4.0", + "phpstan/phpstan": "^1.10.57|^2.0.2" }, "type": "library", + "extra": { + "laravel": { + "aliases": { + "Saloon": "Saloon\\Laravel\\Facades\\Saloon" + }, + "providers": [ + "Saloon\\Laravel\\SaloonServiceProvider" + ] + } + }, "autoload": { "psr-4": { - "Spatie\\Color\\": "src" + "Saloon\\Laravel\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6124,61 +6278,72 @@ ], "authors": [ { - "name": "Sebastian De Deyne", - "email": "sebastian@spatie.be", - "homepage": "https://spatie.be", + "name": "Sam Carré", + "email": "29132017+Sammyjo20@users.noreply.github.com", "role": "Developer" } ], - "description": "A little library to handle color conversions", - "homepage": "https://github.com/spatie/color", + "description": "The official Laravel plugin for Saloon", + "homepage": "https://github.com/saloonphp/laravel-plugin", "keywords": [ - "color", - "conversion", - "rgb", - "spatie" + "api", + "api-integrations", + "saloon", + "saloonphp", + "sdk" ], "support": { - "issues": "https://github.com/spatie/color/issues", - "source": "https://github.com/spatie/color/tree/1.5.3" + "source": "https://github.com/saloonphp/laravel-plugin/tree/v3.8.0" }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2022-12-18T12:58:32+00:00" + "time": "2025-12-18T22:46:16+00:00" }, { - "name": "spatie/invade", - "version": "2.0.0", + "name": "saloonphp/saloon", + "version": "v3.14.2", "source": { "type": "git", - "url": "https://github.com/spatie/invade.git", - "reference": "7b20a25486de69198e402da20dc924d8bcc8024a" + "url": "https://github.com/saloonphp/saloon.git", + "reference": "634be16ca5eb0b71ab01533f58dc88d174a2e28b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/invade/zipball/7b20a25486de69198e402da20dc924d8bcc8024a", - "reference": "7b20a25486de69198e402da20dc924d8bcc8024a", + "url": "https://api.github.com/repos/saloonphp/saloon/zipball/634be16ca5eb0b71ab01533f58dc88d174a2e28b", + "reference": "634be16ca5eb0b71ab01533f58dc88d174a2e28b", "shasum": "" }, "require": { - "php": "^8.0" + "guzzlehttp/guzzle": "^7.6", + "guzzlehttp/promises": "^1.5 || ^2.0", + "guzzlehttp/psr7": "^2.0", + "php": "^8.2", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "conflict": { + "sammyjo20/saloon": "*" }, "require-dev": { - "pestphp/pest": "^1.20", - "phpstan/phpstan": "^1.4", - "spatie/ray": "^1.28" + "ext-simplexml": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "illuminate/collections": "^10.0 || ^11.0 || ^12.0", + "league/flysystem": "^3.0", + "pestphp/pest": "^2.36.0 || ^3.8.2 || ^4.1.4", + "phpstan/phpstan": "^2.1.13", + "saloonphp/xml-wrangler": "^1.1", + "spatie/invade": "^2.1", + "symfony/dom-crawler": "^6.0 || ^7.0", + "symfony/var-dumper": "^6.3 || ^7.0" + }, + "suggest": { + "illuminate/collections": "Required for the response collect() method.", + "saloonphp/xml-wrangler": "Required for the response xmlReader() method.", + "symfony/dom-crawler": "Required for the response dom() method.", + "symfony/var-dumper": "Required for default debugging drivers." }, "type": "library", "autoload": { - "files": [ - "src/functions.php" - ], "psr-4": { - "Spatie\\Invade\\": "src" + "Saloon\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6187,139 +6352,144 @@ ], "authors": [ { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", + "name": "Sam Carré", + "email": "29132017+Sammyjo20@users.noreply.github.com", "role": "Developer" } ], - "description": "A PHP function to work with private properties and methods", - "homepage": "https://github.com/spatie/invade", + "description": "Build beautiful API integrations and SDKs with Saloon", + "homepage": "https://github.com/saloonphp/saloon", "keywords": [ - "invade", - "spatie" + "api", + "api-integrations", + "saloon", + "sammyjo20", + "sdk" ], "support": { - "source": "https://github.com/spatie/invade/tree/2.0.0" + "issues": "https://github.com/saloonphp/saloon/issues", + "source": "https://github.com/saloonphp/saloon/tree/v3.14.2" }, "funding": [ { - "url": "https://github.com/spatie", + "url": "https://github.com/sammyjo20", "type": "github" } ], - "time": "2023-07-19T18:55:36+00:00" + "time": "2025-11-20T21:42:32+00:00" }, { - "name": "spatie/laravel-package-tools", - "version": "1.16.4", + "name": "scrivo/highlight.php", + "version": "v9.18.1.10", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53" + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", - "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/850f4b44697a2552e892ffe71490ba2733c2fc6e", + "reference": "850f4b44697a2552e892ffe71490ba2733c2fc6e", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0", - "php": "^8.0" + "ext-json": "*", + "php": ">=5.4" }, "require-dev": { - "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.7|^8.0", - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5.24", - "spatie/pest-plugin-test-time": "^1.1" + "phpunit/phpunit": "^4.8|^5.7", + "sabberworm/php-css-parser": "^8.3", + "symfony/finder": "^2.8|^3.4|^5.4", + "symfony/var-dumper": "^2.8|^3.4|^5.4" + }, + "suggest": { + "ext-mbstring": "Allows highlighting code with unicode characters and supports language with unicode keywords" }, "type": "library", "autoload": { - "psr-4": { - "Spatie\\LaravelPackageTools\\": "src" + "files": [ + "HighlightUtilities/functions.php" + ], + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "role": "Developer" + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Maintainer" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" } ], - "description": "Tools for creating Laravel packages", - "homepage": "https://github.com/spatie/laravel-package-tools", + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", "keywords": [ - "laravel-package-tools", - "spatie" + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" ], "support": { - "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4" + "issues": "https://github.com/scrivo/highlight.php/issues", + "source": "https://github.com/scrivo/highlight.php" }, "funding": [ { - "url": "https://github.com/spatie", + "url": "https://github.com/allejo", "type": "github" } ], - "time": "2024-03-20T07:29:11+00:00" + "time": "2022-12-17T21:53:22+00:00" }, { - "name": "spatie/laravel-settings", - "version": "2.8.3", + "name": "secondnetwork/blade-tabler-icons", + "version": "v3.36.1", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-settings.git", - "reference": "9193603a3e02d19af9f2fd0d309ac2469b25d680" + "url": "https://github.com/secondnetwork/blade-tabler-icons.git", + "reference": "d04786e34b9e74820ad6a32290a17f9a59fefb6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-settings/zipball/9193603a3e02d19af9f2fd0d309ac2469b25d680", - "reference": "9193603a3e02d19af9f2fd0d309ac2469b25d680", + "url": "https://api.github.com/repos/secondnetwork/blade-tabler-icons/zipball/d04786e34b9e74820ad6a32290a17f9a59fefb6c", + "reference": "d04786e34b9e74820ad6a32290a17f9a59fefb6c", "shasum": "" }, "require": { - "ext-json": "*", - "illuminate/database": "^8.73|^9.0|^10.0", - "php": "^7.4|^8.0", - "phpdocumentor/type-resolver": "^1.5", - "spatie/temporary-directory": "^1.3|^2.0" + "blade-ui-kit/blade-icons": "^1.8", + "illuminate/support": "^9.0|^10.0|^11.0|^12.0", + "php": "^8.0" }, "require-dev": { - "ext-redis": "*", - "mockery/mockery": "^1.4", - "nunomaduro/larastan": "^2.0", - "orchestra/testbench": "^6.23|^7.0|^8.0", - "pestphp/pest": "^1.21", - "pestphp/pest-plugin-laravel": "^1.2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5", - "spatie/laravel-data": "^1.0.0|^2.0.0", - "spatie/pest-plugin-snapshots": "^1.1", - "spatie/phpunit-snapshot-assertions": "^4.2", - "spatie/ray": "^1.36" - }, - "suggest": { - "spatie/data-transfer-object": "Allows for DTO casting to settings. (deprecated)" + "orchestra/testbench": "^6.0|^7.0|^9.0", + "phpunit/phpunit": "^9.0|^10.0|^11.0|^12.0" }, "type": "library", "extra": { "laravel": { "providers": [ - "Spatie\\LaravelSettings\\LaravelSettingsServiceProvider" + "secondnetwork\\TablerIcons\\BladeTablerIconsServiceProvider" ] } }, "autoload": { "psr-4": { - "Spatie\\LaravelSettings\\": "src" + "secondnetwork\\TablerIcons\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6328,75 +6498,115 @@ ], "authors": [ { - "name": "Ruben Van Assche", - "email": "ruben@spatie.be", - "homepage": "https://spatie.be", + "name": "Andreas Farah" + } + ], + "description": "A package to easily make use of tabler-icons in your Laravel Blade views.", + "homepage": "https://github.com/secondnetwork/blade-tabler-icons", + "keywords": [ + "blade", + "laravel", + "tabler-icons" + ], + "support": { + "issues": "https://github.com/secondnetwork/blade-tabler-icons/issues", + "source": "https://github.com/secondnetwork/blade-tabler-icons/tree/v3.36.1" + }, + "time": "2026-01-05T15:11:00+00:00" + }, + { + "name": "spatie/invade", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/invade.git", + "reference": "b920f6411d21df4e8610a138e2e87ae4957d7f63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/invade/zipball/b920f6411d21df4e8610a138e2e87ae4957d7f63", + "reference": "b920f6411d21df4e8610a138e2e87ae4957d7f63", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.20", + "phpstan/phpstan": "^1.4", + "spatie/ray": "^1.28" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Spatie\\Invade\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", "role": "Developer" } ], - "description": "Store your application settings", - "homepage": "https://github.com/spatie/laravel-settings", + "description": "A PHP function to work with private properties and methods", + "homepage": "https://github.com/spatie/invade", "keywords": [ - "laravel-settings", + "invade", "spatie" ], "support": { - "issues": "https://github.com/spatie/laravel-settings/issues", - "source": "https://github.com/spatie/laravel-settings/tree/2.8.3" + "source": "https://github.com/spatie/invade/tree/2.1.0" }, "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, { "url": "https://github.com/spatie", "type": "github" } ], - "time": "2023-03-30T12:47:39+00:00" + "time": "2024-05-17T09:06:10+00:00" }, { - "name": "spatie/laravel-webhook-server", - "version": "3.8.1", + "name": "spatie/laravel-json-api-paginate", + "version": "1.16.3", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-webhook-server.git", - "reference": "d4cc24141a4d6a148e110df5f36217cc8f40f07e" + "url": "https://github.com/spatie/laravel-json-api-paginate.git", + "reference": "2acf8b754e088285f1a29fdd5b2295769aee76f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-webhook-server/zipball/d4cc24141a4d6a148e110df5f36217cc8f40f07e", - "reference": "d4cc24141a4d6a148e110df5f36217cc8f40f07e", + "url": "https://api.github.com/repos/spatie/laravel-json-api-paginate/zipball/2acf8b754e088285f1a29fdd5b2295769aee76f4", + "reference": "2acf8b754e088285f1a29fdd5b2295769aee76f4", "shasum": "" }, "require": { - "ext-json": "*", - "guzzlehttp/guzzle": "^6.3|^7.3", - "illuminate/bus": "^8.50|^9.0|^10.0|^11.0", - "illuminate/queue": "^8.50|^9.0|^10.0|^11.0", - "illuminate/support": "^8.50|^9.0|^10.0|^11.0", - "php": "^8.0", - "spatie/laravel-package-tools": "^1.11" + "illuminate/support": "^10.0|^11.0|^12.0", + "php": "^8.0" }, "require-dev": { - "mockery/mockery": "^1.4.3", - "orchestra/testbench": "^6.19|^7.0|^8.0", - "pestphp/pest": "^1.22|^2.0", - "pestphp/pest-plugin-laravel": "^1.3|^2.0", - "spatie/test-time": "^1.2.2" + "orchestra/testbench": "^8.21.1|^9.0|^10.0", + "pestphp/pest": "^2.34|^3.7", + "phpunit/phpunit": "^9.0|^10.5.10|^11.5.3" }, "type": "library", "extra": { "laravel": { "providers": [ - "Spatie\\WebhookServer\\WebhookServerServiceProvider" + "Spatie\\JsonApiPaginate\\JsonApiPaginateServiceProvider" ] } }, "autoload": { "psr-4": { - "Spatie\\WebhookServer\\": "src" + "Spatie\\JsonApiPaginate\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6411,16 +6621,14 @@ "role": "Developer" } ], - "description": "Send webhooks in Laravel apps", - "homepage": "https://github.com/spatie/laravel-webhook-server", + "description": "A paginator that plays nice with the JSON API spec", + "homepage": "https://github.com/spatie/laravel-json-api-paginate", "keywords": [ - "laravel-webhook-server", - "server", - "spatie", - "webhook" + "laravel-json-api-paginate", + "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-webhook-server/tree/3.8.1" + "source": "https://github.com/spatie/laravel-json-api-paginate/tree/1.16.3" }, "funding": [ { @@ -6428,32 +6636,38 @@ "type": "custom" } ], - "time": "2024-02-12T08:18:25+00:00" + "time": "2025-02-25T20:27:30+00:00" }, { - "name": "spatie/temporary-directory", - "version": "2.2.1", + "name": "spatie/laravel-package-tools", + "version": "1.92.7", "source": { "type": "git", - "url": "https://github.com/spatie/temporary-directory.git", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" + "url": "https://github.com/spatie/laravel-package-tools.git", + "reference": "f09a799850b1ed765103a4f0b4355006360c49a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5", + "reference": "f09a799850b1ed765103a4f0b4355006360c49a5", "shasum": "" }, "require": { + "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", "php": "^8.0" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "mockery/mockery": "^1.5", + "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.23|^2.1|^3.1", + "phpunit/php-code-coverage": "^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.5.24|^10.5|^11.5", + "spatie/pest-plugin-test-time": "^1.1|^2.2" }, "type": "library", "autoload": { "psr-4": { - "Spatie\\TemporaryDirectory\\": "src" + "Spatie\\LaravelPackageTools\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6462,87 +6676,72 @@ ], "authors": [ { - "name": "Alex Vanderbist", - "email": "alex@spatie.be", - "homepage": "https://spatie.be", + "name": "Freek Van der Herten", + "email": "freek@spatie.be", "role": "Developer" } ], - "description": "Easily create, use and destroy temporary directories", - "homepage": "https://github.com/spatie/temporary-directory", + "description": "Tools for creating Laravel packages", + "homepage": "https://github.com/spatie/laravel-package-tools", "keywords": [ - "php", - "spatie", - "temporary-directory" + "laravel-package-tools", + "spatie" ], "support": { - "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" + "issues": "https://github.com/spatie/laravel-package-tools/issues", + "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7" }, "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, { "url": "https://github.com/spatie", "type": "github" } ], - "time": "2023-12-25T11:46:58+00:00" + "time": "2025-07-17T15:46:43+00:00" }, { - "name": "symfony/console", - "version": "v6.4.6", + "name": "spatie/laravel-query-builder", + "version": "6.4.1", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "a2708a5da5c87d1d0d52937bdeac625df659e11f" + "url": "https://github.com/spatie/laravel-query-builder.git", + "reference": "9c7427c0dff87d7232beeecd2d33bf7d21952b43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a2708a5da5c87d1d0d52937bdeac625df659e11f", - "reference": "a2708a5da5c87d1d0d52937bdeac625df659e11f", + "url": "https://api.github.com/repos/spatie/laravel-query-builder/zipball/9c7427c0dff87d7232beeecd2d33bf7d21952b43", + "reference": "9c7427c0dff87d7232beeecd2d33bf7d21952b43", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "illuminate/database": "^10.0|^11.0|^12.0", + "illuminate/http": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "php": "^8.2", + "spatie/laravel-package-tools": "^1.11" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "ext-json": "*", + "larastan/larastan": "^2.7 || ^3.3", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^7.0|^8.0|^10.0", + "pestphp/pest": "^2.0|^3.7|^4.0", + "phpunit/phpunit": "^10.0|^11.5.3|^12.0", + "spatie/invade": "^2.0" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\QueryBuilder\\QueryBuilderServiceProvider" + ] + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Spatie\\QueryBuilder\\": "src", + "Spatie\\QueryBuilder\\Database\\Factories\\": "database/factories" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6550,66 +6749,80 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Alex Vanderbist", + "email": "alex@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", + "description": "Easily build Eloquent queries from API requests", + "homepage": "https://github.com/spatie/laravel-query-builder", "keywords": [ - "cli", - "command-line", - "console", - "terminal" + "laravel-query-builder", + "spatie" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.6" + "issues": "https://github.com/spatie/laravel-query-builder/issues", + "source": "https://github.com/spatie/laravel-query-builder" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-03-29T19:07:53+00:00" + "time": "2026-01-27T07:27:24+00:00" }, { - "name": "symfony/css-selector", - "version": "v7.0.3", + "name": "spatie/laravel-settings", + "version": "3.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "ec60a4edf94e63b0556b6a0888548bb400a3a3be" + "url": "https://github.com/spatie/laravel-settings.git", + "reference": "fae93dadb8f748628ecaf5710f494adf790255b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/ec60a4edf94e63b0556b6a0888548bb400a3a3be", - "reference": "ec60a4edf94e63b0556b6a0888548bb400a3a3be", + "url": "https://api.github.com/repos/spatie/laravel-settings/zipball/fae93dadb8f748628ecaf5710f494adf790255b2", + "reference": "fae93dadb8f748628ecaf5710f494adf790255b2", "shasum": "" }, "require": { - "php": ">=8.2" + "ext-json": "*", + "illuminate/database": "^11.0|^12.0", + "php": "^8.2", + "phpdocumentor/type-resolver": "^1.5", + "spatie/temporary-directory": "^1.3|^2.0" + }, + "require-dev": { + "ext-redis": "*", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^9.0|^10.0", + "pestphp/pest": "^2.0|^3.0", + "pestphp/pest-plugin-laravel": "^2.0|^3.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/laravel-data": "^2.0.0|^4.0.0", + "spatie/pest-plugin-snapshots": "^2.0", + "spatie/phpunit-snapshot-assertions": "^4.2|^5.0", + "spatie/ray": "^1.36" + }, + "suggest": { + "spatie/data-transfer-object": "Allows for DTO casting to settings. (deprecated)" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelSettings\\LaravelSettingsServiceProvider" + ] + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Spatie\\LaravelSettings\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6617,70 +6830,76 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Ruben Van Assche", + "email": "ruben@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", + "description": "Store your application settings", + "homepage": "https://github.com/spatie/laravel-settings", + "keywords": [ + "laravel-settings", + "spatie" + ], "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.0.3" + "issues": "https://github.com/spatie/laravel-settings/issues", + "source": "https://github.com/spatie/laravel-settings/tree/3.6.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/spatie", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-01-23T15:02:46+00:00" + "time": "2025-12-03T10:29:27+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v3.4.0", + "name": "spatie/laravel-webhook-server", + "version": "3.8.3", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "url": "https://github.com/spatie/laravel-webhook-server.git", + "reference": "e3d8f24030bbb4087867cd0be681c028736b772f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/spatie/laravel-webhook-server/zipball/e3d8f24030bbb4087867cd0be681c028736b772f", + "reference": "e3d8f24030bbb4087867cd0be681c028736b772f", "shasum": "" }, "require": { - "php": ">=8.1" + "ext-json": "*", + "guzzlehttp/guzzle": "^6.3|^7.3", + "illuminate/bus": "^8.50|^9.0|^10.0|^11.0|^12.0", + "illuminate/queue": "^8.50|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^8.50|^9.0|^10.0|^11.0|^12.0", + "php": "^8.0", + "spatie/laravel-package-tools": "^1.11" + }, + "require-dev": { + "mockery/mockery": "^1.4.3", + "orchestra/testbench": "^6.19|^7.0|^8.0|^10.0", + "pestphp/pest": "^1.22|^2.0|^3.0", + "pestphp/pest-plugin-laravel": "^1.3|^2.0|^3.0", + "spatie/test-time": "^1.2.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "laravel": { + "providers": [ + "Spatie\\WebhookServer\\WebhookServerServiceProvider" + ] } }, "autoload": { - "files": [ - "function.php" - ] + "psr-4": { + "Spatie\\WebhookServer\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6688,74 +6907,60 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", + "description": "Send webhooks in Laravel apps", + "homepage": "https://github.com/spatie/laravel-webhook-server", + "keywords": [ + "laravel-webhook-server", + "server", + "spatie", + "webhook" + ], "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + "source": "https://github.com/spatie/laravel-webhook-server/tree/3.8.3" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2025-02-14T12:55:41+00:00" }, { - "name": "symfony/error-handler", - "version": "v6.4.6", + "name": "spatie/ping", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "64db1c1802e3a4557e37ba33031ac39f452ac5d4" + "url": "https://github.com/spatie/ping.git", + "reference": "feaacd959db4f76b5d01576d48d3256bf502cc75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/64db1c1802e3a4557e37ba33031ac39f452ac5d4", - "reference": "64db1c1802e3a4557e37ba33031ac39f452ac5d4", + "url": "https://api.github.com/repos/spatie/ping/zipball/feaacd959db4f76b5d01576d48d3256bf502cc75", + "reference": "feaacd959db4f76b5d01576d48d3256bf502cc75", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" + "php": "^8.4", + "symfony/process": "^7.0|^8.0" }, "require-dev": { - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "laravel/pint": "^1.0", + "pestphp/pest": "^3.0", + "spatie/pest-expectations": "^1.13", + "spatie/ray": "^1.28" }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Spatie\\Ping\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6763,79 +6968,60 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" } ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", + "description": "Run an ICMP ping and get structured results", + "homepage": "https://github.com/spatie/ping", + "keywords": [ + "ping", + "spatie" + ], "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.6" + "issues": "https://github.com/spatie/ping/issues", + "source": "https://github.com/spatie/ping/tree/1.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/spatie", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-03-19T11:56:30+00:00" + "time": "2026-02-01T08:15:29+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v7.0.3", + "name": "spatie/shiki-php", + "version": "2.3.3", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e" + "url": "https://github.com/spatie/shiki-php.git", + "reference": "9d50ff4d9825d87d3283a6695c65ae9c3c3caa6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/834c28d533dd0636f910909d01b9ff45cc094b5e", - "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e", + "url": "https://api.github.com/repos/spatie/shiki-php/zipball/9d50ff4d9825d87d3283a6695c65ae9c3c3caa6b", + "reference": "9d50ff4d9825d87d3283a6695c65ae9c3c3caa6b", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" + "ext-json": "*", + "php": "^8.0", + "symfony/process": "^5.4|^6.4|^7.1|^8.0" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "friendsofphp/php-cs-fixer": "^v3.0", + "pestphp/pest": "^1.8", + "phpunit/phpunit": "^9.5", + "spatie/pest-plugin-snapshots": "^1.1", + "spatie/ray": "^1.10" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Spatie\\ShikiPhp\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6843,66 +7029,57 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Rias Van der Veken", + "email": "rias@spatie.be", + "role": "Developer" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" } ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", + "description": "Highlight code using Shiki in PHP", + "homepage": "https://github.com/spatie/shiki-php", + "keywords": [ + "shiki", + "spatie" + ], "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.3" + "source": "https://github.com/spatie/shiki-php/tree/2.3.3" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/spatie", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-01-23T15:02:46+00:00" + "time": "2026-02-01T09:30:04+00:00" }, { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.2", + "name": "spatie/temporary-directory", + "version": "2.3.1", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "4e64b49bf370ade88e567de29465762e316e4224" + "url": "https://github.com/spatie/temporary-directory.git", + "reference": "662e481d6ec07ef29fd05010433428851a42cd07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224", - "reference": "4e64b49bf370ade88e567de29465762e316e4224", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/662e481d6ec07ef29fd05010433428851a42cd07", + "reference": "662e481d6ec07ef29fd05010433428851a42cd07", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" + "php": "^8.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "require-dev": { + "phpunit/phpunit": "^9.5" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" + "Spatie\\TemporaryDirectory\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6911,67 +7088,63 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Alex Vanderbist", + "email": "alex@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", + "description": "Easily create, use and destroy temporary directories", + "homepage": "https://github.com/spatie/temporary-directory", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "php", + "spatie", + "temporary-directory" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2" + "issues": "https://github.com/spatie/temporary-directory/issues", + "source": "https://github.com/spatie/temporary-directory/tree/2.3.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/spatie", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2026-01-12T07:42:22+00:00" }, { - "name": "symfony/finder", - "version": "v6.4.0", + "name": "symfony/clock", + "version": "v8.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + "url": "https://github.com/symfony/clock.git", + "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "url": "https://api.github.com/repos/symfony/clock/zipball/832119f9b8dbc6c8e6f65f30c5969eca1e88764f", + "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.4", + "psr/clock": "^1.0" }, - "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "provide": { + "psr/clock-implementation": "1.0" }, "type": "library", "autoload": { + "files": [ + "Resources/now.php" + ], "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Component\\Clock\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -6983,18 +7156,23 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Finds files and directories via an intuitive fluent interface", + "description": "Decouples applications from the system clock", "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.0" + "source": "https://github.com/symfony/clock/tree/v8.0.0" }, "funding": [ { @@ -7005,37 +7183,65 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-10-31T17:30:12+00:00" + "time": "2025-11-12T15:46:48+00:00" }, { - "name": "symfony/html-sanitizer", - "version": "v7.0.4", + "name": "symfony/console", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/symfony/html-sanitizer.git", - "reference": "a8543ad56bc5250378ca44bb3988516fcb073c5d" + "url": "https://github.com/symfony/console.git", + "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/a8543ad56bc5250378ca44bb3988516fcb073c5d", - "reference": "a8543ad56bc5250378ca44bb3988516fcb073c5d", + "url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894", + "reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894", "shasum": "" }, "require": { - "ext-dom": "*", - "league/uri": "^6.5|^7.0", - "masterminds/html5": "^2.7.2", - "php": ">=8.2" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.2|^8.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HtmlSanitizer\\": "" + "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7047,23 +7253,24 @@ ], "authors": [ { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's DOM.", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "keywords": [ - "Purifier", - "html", - "sanitizer" + "cli", + "command-line", + "console", + "terminal" ], "support": { - "source": "https://github.com/symfony/html-sanitizer/tree/v7.0.4" + "source": "https://github.com/symfony/console/tree/v7.4.4" }, "funding": [ { @@ -7074,50 +7281,38 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-02-15T11:33:06+00:00" + "time": "2026-01-13T11:36:38+00:00" }, { - "name": "symfony/http-foundation", - "version": "v6.4.4", + "name": "symfony/css-selector", + "version": "v8.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304" + "url": "https://github.com/symfony/css-selector.git", + "reference": "6225bd458c53ecdee056214cb4a2ffaf58bd592b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ebc713bc6e6f4b53f46539fc158be85dfcd77304", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/6225bd458c53ecdee056214cb4a2ffaf58bd592b", + "reference": "6225bd458c53ecdee056214cb4a2ffaf58bd592b", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" - }, - "conflict": { - "symfony/cache": "<6.3" - }, - "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" + "php": ">=8.4" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "Symfony\\Component\\CssSelector\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7132,15 +7327,19 @@ "name": "Fabien Potencier", "email": "fabien@symfony.com" }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Defines an object-oriented layer for the HTTP specification", + "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.4" + "source": "https://github.com/symfony/css-selector/tree/v8.0.0" }, "funding": [ { @@ -7151,89 +7350,47 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-02-08T15:01:18+00:00" + "time": "2025-10-30T14:17:19+00:00" }, { - "name": "symfony/http-kernel", - "version": "v6.4.6", + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "060038863743fd0cd982be06acecccf246d35653" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/060038863743fd0cd982be06acecccf246d35653", - "reference": "060038863743fd0cd982be06acecccf246d35653", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" + "php": ">=8.1" }, "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" }, - "exclude-from-classmap": [ - "/Tests/" + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7242,18 +7399,18 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a structured process for converting a Request into a Response", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.6" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -7269,48 +7426,46 @@ "type": "tidelift" } ], - "time": "2024-04-03T06:09:15+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { - "name": "symfony/mailer", - "version": "v6.4.6", + "name": "symfony/error-handler", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/symfony/mailer.git", - "reference": "677f34a6f4b4559e08acf73ae0aec460479e5859" + "url": "https://github.com/symfony/error-handler.git", + "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/677f34a6f4b4559e08acf73ae0aec460479e5859", - "reference": "677f34a6f4b4559e08acf73ae0aec460479e5859", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8", + "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8", "shasum": "" }, "require": { - "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.1", - "psr/event-dispatcher": "^1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", - "symfony/service-contracts": "^2.5|^3" + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "conflict": { - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/messenger": "<6.2", - "symfony/mime": "<6.2", - "symfony/twig-bridge": "<6.2.1" + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^7.0" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4|^7.0|^8.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Mailer\\": "" + "Symfony\\Component\\ErrorHandler\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7330,10 +7485,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Helps sending emails", + "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.6" + "source": "https://github.com/symfony/error-handler/tree/v7.4.4" }, "funding": [ { @@ -7344,54 +7499,58 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-27T21:14:17+00:00" + "time": "2026-01-20T16:42:42+00:00" }, { - "name": "symfony/mime", - "version": "v6.4.6", + "name": "symfony/event-dispatcher", + "version": "v8.0.4", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "14762b86918823cb42e3558cdcca62e58b5227fe" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "99301401da182b6cfaa4700dbe9987bb75474b47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/14762b86918823cb42e3558cdcca62e58b5227fe", - "reference": "14762b86918823cb42e3558cdcca62e58b5227fe", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47", + "reference": "99301401da182b6cfaa4700dbe9987bb75474b47", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" + "php": ">=8.4", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", - "symfony/serializer": "<6.3.2" + "symfony/security-http": "<7.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", - "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.4|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3.2|^7.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^7.4|^8.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Mime\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7411,14 +7570,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Allows manipulating MIME messages", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.6" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.4" }, "funding": [ { @@ -7430,38 +7585,48 @@ "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-03-21T19:36:20+00:00" + "time": "2026-01-05T11:45:55+00:00" }, { - "name": "symfony/options-resolver", - "version": "v7.0.0", + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "700ff4096e346f54cb628ea650767c8130f1001f" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/700ff4096e346f54cb628ea650767c8130f1001f", - "reference": "700ff4096e346f54cb628ea650767c8130f1001f", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=8.1", + "psr/event-dispatcher": "^1" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\EventDispatcher\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7469,23 +7634,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an improved replacement for the array_replace PHP function", + "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", "keywords": [ - "config", - "configuration", - "options" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.0.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -7501,45 +7669,36 @@ "type": "tidelift" } ], - "time": "2023-08-08T10:20:21+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.29.0", + "name": "symfony/finder", + "version": "v7.4.5", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + "url": "https://github.com/symfony/finder.git", + "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", + "reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" + "php": ">=8.2" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "symfony/filesystem": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7547,24 +7706,18 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + "source": "https://github.com/symfony/finder/tree/v7.4.5" }, "funding": [ { @@ -7575,47 +7728,46 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-01-26T15:07:59+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "name": "symfony/html-sanitizer", + "version": "v7.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "url": "https://github.com/symfony/html-sanitizer.git", + "reference": "5b0bbcc3600030b535dd0b17a0e8c56243f96d7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/html-sanitizer/zipball/5b0bbcc3600030b535dd0b17a0e8c56243f96d7f", + "reference": "5b0bbcc3600030b535dd0b17a0e8c56243f96d7f", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" + "ext-dom": "*", + "league/uri": "^6.5|^7.0", + "masterminds/html5": "^2.7.2", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } + "Symfony\\Component\\HtmlSanitizer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7623,26 +7775,23 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Titouan Galopin", + "email": "galopintitouan@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", + "description": "Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's DOM.", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" + "Purifier", + "html", + "sanitizer" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/html-sanitizer/tree/v7.4.0" }, "funding": [ { @@ -7653,49 +7802,59 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2025-10-30T13:39:42+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", + "name": "symfony/http-foundation", + "version": "v7.4.5", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "446d0db2b1f21575f1284b74533e425096abdfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/446d0db2b1f21575f1284b74533e425096abdfb6", + "reference": "446d0db2b1f21575f1284b74533e425096abdfb6", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "^1.1" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4.12|^7.1.5|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/mime": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7703,30 +7862,18 @@ ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.5" }, "funding": [ { @@ -7737,49 +7884,95 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-01-27T16:16:02+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "name": "symfony/http-kernel", + "version": "v7.4.5", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "229eda477017f92bd2ce7615d06222ec0c19e82a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/229eda477017f92bd2ce7615d06222ec0c19e82a", + "reference": "229eda477017f92bd2ce7615d06222ec0c19e82a", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^7.3|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/polyfill-ctype": "^1.8" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/flex": "<2.10", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<6.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.12" }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^6.4|^7.0|^8.0", + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/css-selector": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/dom-crawler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^7.1|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", + "symfony/serializer": "^7.1|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/translation": "^6.4|^7.0|^8.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^6.4|^7.0|^8.0", + "symfony/validator": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0", + "symfony/var-exporter": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + "Symfony\\Component\\HttpKernel\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -7788,26 +7981,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", + "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/http-kernel/tree/v7.4.5" }, "funding": [ { @@ -7818,76 +8003,80 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-01-28T10:33:42+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "name": "symfony/mailer", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "url": "https://github.com/symfony/mailer.git", + "reference": "7b750074c40c694ceb34cb926d6dffee231c5cd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/mailer/zipball/7b750074c40c694ceb34cb926d6dffee231c5cd6", + "reference": "7b750074c40c694ceb34cb926d6dffee231c5cd6", "shasum": "" }, "require": { - "php": ">=7.1" + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/mime": "^7.2|^8.0", + "symfony/service-contracts": "^2.5|^3" }, - "provide": { - "ext-mbstring": "*" + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, - "suggest": { - "ext-mbstring": "For best performance" + "require-dev": { + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/twig-bridge": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Helps sending emails", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/mailer/tree/v7.4.4" }, "funding": [ { @@ -7898,44 +8087,62 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-01-08T08:25:11+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.29.0", + "name": "symfony/mime", + "version": "v7.4.5", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + "url": "https://github.com/symfony/mime.git", + "reference": "b18c7e6e9eee1e19958138df10412f3c4c316148" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "url": "https://api.github.com/repos/symfony/mime/zipball/b18c7e6e9eee1e19958138df10412f3c4c316148", + "reference": "b18c7e6e9eee1e19958138df10412f3c4c316148", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<5.2|>=6", + "phpdocumentor/type-resolver": "<1.5.1", + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^5.2", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/property-access": "^6.4|^7.0|^8.0", + "symfony/property-info": "^6.4|^7.0|^8.0", + "symfony/serializer": "^6.4.3|^7.0.3|^8.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7943,24 +8150,22 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "mime", + "mime-type" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" + "source": "https://github.com/symfony/mime/tree/v7.4.5" }, "funding": [ { @@ -7971,46 +8176,42 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2026-01-27T08:59:58+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "name": "symfony/options-resolver", + "version": "v8.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "url": "https://github.com/symfony/options-resolver.git", + "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/d2b592535ffa6600c265a3893a7f7fd2bad82dd7", + "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.4", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" + "Symfony\\Component\\OptionsResolver\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8019,28 +8220,23 @@ ], "authors": [ { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Provides an improved replacement for the array_replace PHP function", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "config", + "configuration", + "options" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/options-resolver/tree/v8.0.0" }, "funding": [ { @@ -8051,36 +8247,45 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2025-11-12T15:55:31+00:00" }, { - "name": "symfony/polyfill-php83", - "version": "v1.29.0", + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8088,11 +8293,8 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8100,24 +8302,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" }, "funding": [ { @@ -8128,41 +8330,42 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/polyfill-uuid", - "version": "v1.29.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "provide": { - "ext-uuid": "*" + "php": ">=7.2" }, "suggest": { - "ext-uuid": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -8170,7 +8373,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Uuid\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -8179,24 +8382,26 @@ ], "authors": [ { - "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for uuid functions", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "grapheme", + "intl", "polyfill", "portable", - "uuid" + "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" }, "funding": [ { @@ -8207,38 +8412,52 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2025-06-27T09:58:17+00:00" }, { - "name": "symfony/process", - "version": "v6.4.4", + "name": "symfony/polyfill-intl-idn", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "710e27879e9be3395de2b98da3f52a946039f297" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", - "reference": "710e27879e9be3395de2b98da3f52a946039f297", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8246,18 +8465,30 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Executes commands in sub-processes", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/process/tree/v6.4.4" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" }, "funding": [ { @@ -8268,53 +8499,53 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-02-20T12:31:00+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { - "name": "symfony/routing", - "version": "v6.4.6", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "f2591fd1f8c6e3734656b5d6b3829e8bf81f507c" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/f2591fd1f8c6e3734656b5d6b3829e8bf81f507c", - "reference": "f2591fd1f8c6e3734656b5d6b3829e8bf81f507c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=7.2" }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "suggest": { + "ext-intl": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8323,24 +8554,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Maps an HTTP request to a set of configuration variables", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.6" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" }, "funding": [ { @@ -8351,51 +8584,55 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-28T13:28:49+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/service-contracts", - "version": "v3.4.2", + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "ext-iconv": "*", + "php": ">=7.2" }, - "conflict": { - "ext-psr": "<1.1|>=2" + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8411,18 +8648,17 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" }, "funding": [ { @@ -8433,54 +8669,50 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-12-19T21:51:00+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { - "name": "symfony/string", - "version": "v7.0.4", + "name": "symfony/polyfill-php80", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f5832521b998b0bec40bee688ad5de98d4cf111b", - "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { "files": [ - "Resources/functions.php" + "bootstrap.php" ], "psr-4": { - "Symfony\\Component\\String\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8488,6 +8720,10 @@ "MIT" ], "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -8497,18 +8733,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.4" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" }, "funding": [ { @@ -8519,71 +8753,50 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-02-01T13:17:36+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { - "name": "symfony/translation", - "version": "v6.4.4", + "name": "symfony/polyfill-php83", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bce6a5a78e94566641b2594d17e48b0da3184a8e", - "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.5|^3.0" - }, - "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" - }, - "provide": { - "symfony/translation-implementation": "2.3|3.0" - }, - "require-dev": { - "nikic/php-parser": "^4.18|^5.0", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { "files": [ - "Resources/functions.php" + "bootstrap.php" ], "psr-4": { - "Symfony\\Component\\Translation\\": "" + "Symfony\\Polyfill\\Php83\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8592,18 +8805,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to internationalize your application", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.4" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" }, "funding": [ { @@ -8614,46 +8833,50 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-02-20T13:16:58+00:00" + "time": "2025-07-08T02:45:35+00:00" }, { - "name": "symfony/translation-contracts", - "version": "v3.4.2", + "name": "symfony/polyfill-php84", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b" + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\Translation\\": "" + "Symfony\\Polyfill\\Php84\\": "" }, - "exclude-from-classmap": [ - "/Test/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8670,18 +8893,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" }, "funding": [ { @@ -8692,41 +8913,50 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2025-06-24T13:30:11+00:00" }, { - "name": "symfony/uid", - "version": "v6.4.3", + "name": "symfony/polyfill-php85", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/uid.git", - "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0" + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", - "reference": "1d31267211cc3a2fff32bcfc7c1818dac41b6fc0", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-uuid": "^1.15" - }, - "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "php": ">=7.2" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Uid\\": "" + "Symfony\\Polyfill\\Php85\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8734,10 +8964,6 @@ "MIT" ], "authors": [ - { - "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -8747,15 +8973,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to generate and represent UIDs", + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "UID", - "ulid", - "uuid" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.3" + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" }, "funding": [ { @@ -8766,58 +8993,54 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2025-06-23T16:12:55+00:00" }, { - "name": "symfony/var-dumper", - "version": "v6.4.6", + "name": "symfony/polyfill-uuid", + "version": "v1.33.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "95bd2706a97fb875185b51ecaa6112ec184233d4" + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/95bd2706a97fb875185b51ecaa6112ec184233d4", - "reference": "95bd2706a97fb875185b51ecaa6112ec184233d4", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=7.2" }, - "conflict": { - "symfony/console": "<5.4" + "provide": { + "ext-uuid": "*" }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" + "suggest": { + "ext-uuid": "For best performance" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { "files": [ - "Resources/functions/dump.php" + "bootstrap.php" ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Uuid\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8825,22 +9048,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "description": "Symfony polyfill for uuid functions", "homepage": "https://symfony.com", "keywords": [ - "debug", - "dump" + "compatibility", + "polyfill", + "portable", + "uuid" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.6" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0" }, "funding": [ { @@ -8851,102 +9076,121 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-19T11:56:30+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "name": "symfony/process", + "version": "v7.4.5", "source": { "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "url": "https://github.com/symfony/process.git", + "reference": "608476f4604102976d687c483ac63a79ba18cc97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97", + "reference": "608476f4604102976d687c483ac63a79ba18cc97", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "php": ">=8.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, "autoload": { "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/symfony/process/tree/v7.4.5" }, - "time": "2023-12-08T13:03:43+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-26T15:07:59+00:00" }, { - "name": "timokoerber/laravel-one-time-operations", - "version": "1.4.2", + "name": "symfony/routing", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/TimoKoerber/laravel-one-time-operations.git", - "reference": "33292b8606ff51b8bebe2d6f62fe057621e56942" + "url": "https://github.com/symfony/routing.git", + "reference": "0798827fe2c79caeed41d70b680c2c3507d10147" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TimoKoerber/laravel-one-time-operations/zipball/33292b8606ff51b8bebe2d6f62fe057621e56942", - "reference": "33292b8606ff51b8bebe2d6f62fe057621e56942", + "url": "https://api.github.com/repos/symfony/routing/zipball/0798827fe2c79caeed41d70b680c2c3507d10147", + "reference": "0798827fe2c79caeed41d70b680c2c3507d10147", "shasum": "" }, "require": { - "illuminate/contracts": "^9.0|^10.0|^11.0", - "illuminate/support": "^9.0|^10.0|^11.0", - "php": "^8.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "orchestra/testbench": "7|^9.0", - "phpunit/phpunit": "^9.4|^10.5" + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "TimoKoerber\\LaravelOneTimeOperations\\Providers\\OneTimeOperationsServiceProvider" - ] - } - }, "autoload": { "psr-4": { - "TimoKoerber\\LaravelOneTimeOperations\\": "src/", - "TimoKoerber\\LaravelOneTimeOperations\\Database\\Factories\\": "database/factories/" - } + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8954,139 +9198,174 @@ ], "authors": [ { - "name": "timo.koerber", - "email": "koerber.timo@gmail.com", - "homepage": "https://www.timokoerber.com", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Run operations once after deployment - just like you do it with migrations!", - "homepage": "https://github.com/timokoerber/laravel-one-time-operations", + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", "keywords": [ - "deployment", - "jobs", - "laravel", - "migrations", - "operations" + "router", + "routing", + "uri", + "url" ], "support": { - "issues": "https://github.com/TimoKoerber/laravel-one-time-operations/issues", - "source": "https://github.com/TimoKoerber/laravel-one-time-operations/tree/1.4.2" + "source": "https://github.com/symfony/routing/tree/v7.4.4" }, - "time": "2024-04-04T11:16:58+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-12T12:19:02+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v5.6.0", + "name": "symfony/service-contracts", + "version": "v3.6.1", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "shasum": "" }, "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.2", - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-filter": "*", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, - "suggest": { - "ext-filter": "Required to use the boolean validator." + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" }, "branch-alias": { - "dev-master": "5.6-dev" + "dev-main": "3.6-dev" } }, "autoload": { "psr-4": { - "Dotenv\\": "src/" - } + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://github.com/vlucas" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", "keywords": [ - "dotenv", - "env", - "environment" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" }, "funding": [ { - "url": "https://github.com/GrahamCampbell", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2023-11-12T22:43:29+00:00" + "time": "2025-07-15T11:30:57+00:00" }, { - "name": "voku/portable-ascii", - "version": "2.0.1", + "name": "symfony/string", + "version": "v8.0.4", "source": { "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "url": "https://github.com/symfony/string.git", + "reference": "758b372d6882506821ed666032e43020c4f57194" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/symfony/string/zipball/758b372d6882506821ed666032e43020c4f57194", + "reference": "758b372d6882506821ed666032e43020c4f57194", "shasum": "" }, "require": { - "php": ">=7.0.0" + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-intl-grapheme": "^1.33", + "symfony/polyfill-intl-normalizer": "^1.0", + "symfony/polyfill-mbstring": "^1.0" }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + "conflict": { + "symfony/translation-contracts": "<2.5" }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" + "require-dev": { + "symfony/emoji": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^7.4|^8.0" }, "type": "library", "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "voku\\": "src/voku/" - } + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9094,80 +9373,100 @@ ], "authors": [ { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", "keywords": [ - "ascii", - "clean", - "php" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/symfony/string/tree/v8.0.4" }, "funding": [ { - "url": "https://www.paypal.me/moelleken", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/voku", + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2026-01-12T12:37:40+00:00" }, { - "name": "webmozart/assert", - "version": "1.11.0", + "name": "symfony/translation", + "version": "v8.0.4", "source": { "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + "url": "https://github.com/symfony/translation.git", + "reference": "db70c8ce7db74fd2da7b1d268db46b2a8ce32c10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "url": "https://api.github.com/repos/symfony/translation/zipball/db70c8ce7db74fd2da7b1d268db46b2a8ce32c10", + "reference": "db70c8ce7db74fd2da7b1d268db46b2a8ce32c10", "shasum": "" }, "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation-contracts": "^3.6.1" }, "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" + "nikic/php-parser": "<5.0", + "symfony/http-client-contracts": "<2.5", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "phpunit/phpunit": "^8.5.13" + "nikic/php-parser": "^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/finder": "^7.4|^8.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^7.4|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^7.4|^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "Webmozart\\Assert\\": "src/" - } + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9175,79 +9474,73 @@ ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" + "source": "https://github.com/symfony/translation/tree/v8.0.4" }, - "time": "2022-06-03T18:03:27+00:00" - } - ], - "packages-dev": [ - { - "name": "barryvdh/laravel-ide-helper", - "version": "v2.15.1", - "source": { + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-13T13:06:50+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.6.1", + "source": { "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b" + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/77831852bb7bc54f287246d32eb91274eaf87f8b", - "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", "shasum": "" }, "require": { - "barryvdh/reflection-docblock": "^2.0.6", - "composer/class-map-generator": "^1.0", - "doctrine/dbal": "^2.6 || ^3.1.4", - "ext-json": "*", - "illuminate/console": "^9 || ^10", - "illuminate/filesystem": "^9 || ^10", - "illuminate/support": "^9 || ^10", - "nikic/php-parser": "^4.18 || ^5", - "php": "^8.0", - "phpdocumentor/type-resolver": "^1.1.0" - }, - "require-dev": { - "ext-pdo_sqlite": "*", - "friendsofphp/php-cs-fixer": "^3", - "illuminate/config": "^9 || ^10", - "illuminate/view": "^9 || ^10", - "mockery/mockery": "^1.4", - "orchestra/testbench": "^7 || ^8", - "phpunit/phpunit": "^9", - "spatie/phpunit-snapshot-assertions": "^4", - "vimeo/psalm": "^5.4" - }, - "suggest": { - "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)." + "php": ">=8.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.15-dev" + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" }, - "laravel": { - "providers": [ - "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" - ] + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { "psr-4": { - "Barryvdh\\LaravelIdeHelper\\": "src" - } + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9255,74 +9548,76 @@ ], "authors": [ { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", "keywords": [ - "autocomplete", - "codeintel", - "helper", - "ide", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.15.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" }, "funding": [ { - "url": "https://fruitcake.nl", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/barryvdh", + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-02-15T14:23:20+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { - "name": "barryvdh/reflection-docblock", - "version": "v2.1.1", + "name": "symfony/uid", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597" + "url": "https://github.com/symfony/uid.git", + "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/e6811e927f0ecc37cc4deaa6627033150343e597", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597", + "url": "https://api.github.com/repos/symfony/uid/zipball/7719ce8aba76be93dfe249192f1fbfa52c588e36", + "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=8.2", + "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "phpunit/phpunit": "^8.5.14|^9" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { - "psr-0": { - "Barryvdh": [ - "src/" - ] - } + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9330,52 +9625,91 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], "support": { - "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.1" + "source": "https://github.com/symfony/uid/tree/v7.4.4" }, - "time": "2023-06-14T05:06:27+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-01-03T23:30:35+00:00" }, { - "name": "composer/class-map-generator", - "version": "1.1.1", + "name": "symfony/var-dumper", + "version": "v7.4.4", "source": { "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "8286a62d243312ed99b3eee20d5005c961adb311" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "0e4769b46a0c3c62390d124635ce59f66874b282" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8286a62d243312ed99b3eee20d5005c961adb311", - "reference": "8286a62d243312ed99b3eee20d5005c961adb311", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e4769b46a0c3c62390d124635ce59f66874b282", + "reference": "0e4769b46a0c3c62390d124635ce59f66874b282", "shasum": "" }, "require": { - "composer/pcre": "^2.1 || ^3.1", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<6.4" }, "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/uid": "^6.4|^7.0|^8.0", + "twig/twig": "^3.12" }, + "bin": [ + "Resources/bin/var-dump-server" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, "autoload": { + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { - "Composer\\ClassMapGenerator\\": "src" - } + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9383,67 +9717,79 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Utilities to scan PHP code and generate class maps.", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", "keywords": [ - "classmap" + "debug", + "dump" ], "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.1.1" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.4" }, "funding": [ { - "url": "https://packagist.com", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/composer", + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-15T12:53:41+00:00" + "time": "2026-01-01T22:13:48+00:00" }, { - "name": "composer/pcre", - "version": "3.1.3", + "name": "symfony/yaml", + "version": "v7.4.1", "source": { "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8" + "url": "https://github.com/symfony/yaml.git", + "reference": "24dd4de28d2e3988b311751ac49e684d783e2345" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", - "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8", + "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345", + "reference": "24dd4de28d2e3988b311751ac49e684d783e2345", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "symfony/console": "^6.4|^7.0|^8.0" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { "psr-4": { - "Composer\\Pcre\\": "src" - } + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9451,137 +9797,123 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.3" + "source": "https://github.com/symfony/yaml/tree/v7.4.1" }, "funding": [ { - "url": "https://packagist.com", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/composer", + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-03-19T10:26:25+00:00" + "time": "2025-12-04T18:11:45+00:00" }, { - "name": "fakerphp/faker", - "version": "v1.23.1", + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41", "shasum": "" }, "require": { + "ext-dom": "*", + "ext-libxml": "*", "php": "^7.4 || ^8.0", - "psr/container": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "conflict": { - "fzaninotto/faker": "*" + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "doctrine/persistence": "^1.3 || ^2.0", - "ext-intl": "*", - "phpunit/phpunit": "^9.5.26", - "symfony/phpunit-bridge": "^5.4.16" - }, - "suggest": { - "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", - "ext-curl": "Required by Faker\\Provider\\Image to download images.", - "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", - "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", - "ext-mbstring": "Required for multibyte Unicode string functionality." + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, "autoload": { "psr-4": { - "Faker\\": "src/Faker/" + "TijsVerkoyen\\CssToInlineStyles\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "François Zaninotto" + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" } ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { - "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0" }, - "time": "2024-01-02T13:46:09+00:00" + "time": "2025-12-02T11:56:42+00:00" }, { - "name": "filp/whoops", - "version": "2.15.4", + "name": "ueberdosis/tiptap-php", + "version": "2.1.0", "source": { "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + "url": "https://github.com/ueberdosis/tiptap-php.git", + "reference": "6ea321fa665080e1a72ac5f52dfab19f6a292e2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", - "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "url": "https://api.github.com/repos/ueberdosis/tiptap-php/zipball/6ea321fa665080e1a72ac5f52dfab19f6a292e2d", + "reference": "6ea321fa665080e1a72ac5f52dfab19f6a292e2d", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" + "php": "^8.0", + "scrivo/highlight.php": "^9.18", + "spatie/shiki-php": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" + "friendsofphp/php-cs-fixer": "^3.5", + "pestphp/pest": "^1.21", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, "autoload": { "psr-4": { - "Whoops\\": "src/Whoops/" + "Tiptap\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -9590,123 +9922,149 @@ ], "authors": [ { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", + "name": "Hans Pagel", + "email": "humans@tiptap.dev", "role": "Developer" } ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", + "description": "A PHP package to work with Tiptap output", + "homepage": "https://github.com/ueberdosis/tiptap-php", "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" + "prosemirror", + "tiptap", + "ueberdosis" ], "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.4" + "issues": "https://github.com/ueberdosis/tiptap-php/issues", + "source": "https://github.com/ueberdosis/tiptap-php/tree/2.1.0" }, "funding": [ { - "url": "https://github.com/denis-sokolov", + "url": "https://tiptap.dev/pricing", + "type": "custom" + }, + { + "url": "https://github.com/ueberdosis", "type": "github" + }, + { + "url": "https://opencollective.com/tiptap", + "type": "open_collective" } ], - "time": "2023-11-03T12:00:00+00:00" + "time": "2026-01-10T16:40:02+00:00" }, { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "name": "vlucas/phpdotenv", + "version": "v5.6.3", "source": { "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "955e7815d677a3eaa7075231212f2110983adecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.4", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "5.6-dev" } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "psr-4": { + "Dotenv\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "This is the PHP port of Hamcrest Matchers", + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", "keywords": [ - "test" + "dotenv", + "env", + "environment" ], "support": { - "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3" }, - "time": "2020-07-09T08:09:16+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:49:13+00:00" }, { - "name": "laravel/pint", - "version": "v1.15.1", + "name": "voku/portable-ascii", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/laravel/pint.git", - "reference": "5f288b5e79938cc72f5c298d384e639de87507c6" + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/5f288b5e79938cc72f5c298d384e639de87507c6", - "reference": "5f288b5e79938cc72f5c298d384e639de87507c6", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { - "ext-json": "*", - "ext-mbstring": "*", - "ext-tokenizer": "*", - "ext-xml": "*", - "php": "^8.1.0" + "php": ">=7.0.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.52.1", - "illuminate/view": "^10.48.4", - "larastan/larastan": "^2.9.2", - "laravel-zero/framework": "^10.3.0", - "mockery/mockery": "^1.6.11", - "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.34.5" + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" }, - "bin": [ - "builds/pint" - ], - "type": "project", + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", "autoload": { "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" + "voku\\": "src/voku/" } }, "notification-url": "https://packagist.org/downloads/", @@ -9715,131 +10073,192 @@ ], "authors": [ { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "Lars Moelleken", + "homepage": "https://www.moelleken.org/" } ], - "description": "An opinionated code formatter for PHP.", - "homepage": "https://laravel.com", + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", "keywords": [ - "format", - "formatter", - "lint", - "linter", + "ascii", + "clean", "php" ], "support": { - "issues": "https://github.com/laravel/pint/issues", - "source": "https://github.com/laravel/pint" + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, - "time": "2024-04-02T14:28:47+00:00" + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2024-11-21T01:49:47+00:00" }, { - "name": "laravel/sail", - "version": "v1.29.1", + "name": "zircote/swagger-php", + "version": "5.8.0", "source": { "type": "git", - "url": "https://github.com/laravel/sail.git", - "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e" + "url": "https://github.com/zircote/swagger-php.git", + "reference": "9cf5d1a0c159894026708c9e837e69140c2d3922" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/8be4a31150eab3b46af11a2e7b2c4632eefaad7e", - "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e", + "url": "https://api.github.com/repos/zircote/swagger-php/zipball/9cf5d1a0c159894026708c9e837e69140c2d3922", + "reference": "9cf5d1a0c159894026708c9e837e69140c2d3922", "shasum": "" }, "require": { - "illuminate/console": "^9.52.16|^10.0|^11.0", - "illuminate/contracts": "^9.52.16|^10.0|^11.0", - "illuminate/support": "^9.52.16|^10.0|^11.0", - "php": "^8.0", - "symfony/console": "^6.0|^7.0", - "symfony/yaml": "^6.0|^7.0" + "ext-json": "*", + "nikic/php-parser": "^4.19 || ^5.0", + "php": ">=7.4", + "phpstan/phpdoc-parser": "^2.0", + "psr/log": "^1.1 || ^2.0 || ^3.0", + "symfony/deprecation-contracts": "^2 || ^3", + "symfony/finder": "^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0 || ^8.0" + }, + "conflict": { + "symfony/process": ">=6, <6.4.14" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0", - "phpstan/phpstan": "^1.10" + "composer/package-versions-deprecated": "^1.11", + "doctrine/annotations": "^2.0", + "friendsofphp/php-cs-fixer": "^3.62.0", + "phpstan/phpstan": "^1.6 || ^2.0", + "phpunit/phpunit": "^9.0", + "rector/rector": "^1.0 || ^2.3.1", + "vimeo/psalm": "^4.30 || ^5.0" + }, + "suggest": { + "doctrine/annotations": "^2.0", + "radebatz/type-info-extras": "^1.0.2" }, "bin": [ - "bin/sail" + "bin/openapi" ], "type": "library", "extra": { - "laravel": { - "providers": [ - "Laravel\\Sail\\SailServiceProvider" - ] + "branch-alias": { + "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { - "Laravel\\Sail\\": "src/" + "OpenApi\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "Apache-2.0" ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Robert Allen", + "email": "zircote@gmail.com" + }, + { + "name": "Bob Fanger", + "email": "bfanger@gmail.com", + "homepage": "https://bfanger.nl" + }, + { + "name": "Martin Rademacher", + "email": "mano@radebatz.net", + "homepage": "https://radebatz.net" } ], - "description": "Docker files for running a basic Laravel application.", + "description": "Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations", + "homepage": "https://github.com/zircote/swagger-php", "keywords": [ - "docker", - "laravel" + "api", + "json", + "rest", + "service discovery" ], "support": { - "issues": "https://github.com/laravel/sail/issues", - "source": "https://github.com/laravel/sail" + "issues": "https://github.com/zircote/swagger-php/issues", + "source": "https://github.com/zircote/swagger-php/tree/5.8.0" }, - "time": "2024-03-20T20:09:31+00:00" - }, + "funding": [ + { + "url": "https://github.com/zircote", + "type": "github" + } + ], + "time": "2026-01-28T01:27:48+00:00" + } + ], + "packages-dev": [ { - "name": "laravel/telescope", - "version": "v4.17.6", + "name": "brianium/paratest", + "version": "v7.8.5", "source": { "type": "git", - "url": "https://github.com/laravel/telescope.git", - "reference": "2d453dc629b27e8cf39fb1217aba062f8c54e690" + "url": "https://github.com/paratestphp/paratest.git", + "reference": "9b324c8fc319cf9728b581c7a90e1c8f6361c5e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/2d453dc629b27e8cf39fb1217aba062f8c54e690", - "reference": "2d453dc629b27e8cf39fb1217aba062f8c54e690", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/9b324c8fc319cf9728b581c7a90e1c8f6361c5e5", + "reference": "9b324c8fc319cf9728b581c7a90e1c8f6361c5e5", "shasum": "" }, "require": { - "ext-json": "*", - "laravel/framework": "^8.37|^9.0|^10.0", - "php": "^8.0", - "symfony/var-dumper": "^5.0|^6.0" + "ext-dom": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-simplexml": "*", + "fidry/cpu-core-counter": "^1.3.0", + "jean85/pretty-package-versions": "^2.1.1", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "phpunit/php-code-coverage": "^11.0.12", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-timer": "^7.0.1", + "phpunit/phpunit": "^11.5.46", + "sebastian/environment": "^7.2.1", + "symfony/console": "^6.4.22 || ^7.3.4 || ^8.0.3", + "symfony/process": "^6.4.20 || ^7.3.4 || ^8.0.3" }, "require-dev": { - "ext-gd": "*", - "guzzlehttp/guzzle": "^6.0|^7.0", - "laravel/octane": "^1.4", - "orchestra/testbench": "^6.0|^7.0|^8.0", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.0" + "doctrine/coding-standard": "^12.0.0", + "ext-pcov": "*", + "ext-posix": "*", + "phpstan/phpstan": "^2.1.33", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.11", + "phpstan/phpstan-strict-rules": "^2.0.7", + "squizlabs/php_codesniffer": "^3.13.5", + "symfony/filesystem": "^6.4.13 || ^7.3.2 || ^8.0.1" }, + "bin": [ + "bin/paratest", + "bin/paratest_for_phpstorm" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Telescope\\TelescopeServiceProvider" - ] - } - }, "autoload": { "psr-4": { - "Laravel\\Telescope\\": "src/", - "Laravel\\Telescope\\Database\\Factories\\": "database/factories/" + "ParaTest\\": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -9848,219 +10267,1486 @@ ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Brian Scaturro", + "email": "scaturrob@gmail.com", + "role": "Developer" }, { - "name": "Mohamed Said", - "email": "mohamed@laravel.com" + "name": "Filippo Tessarotto", + "email": "zoeslam@gmail.com", + "role": "Developer" } ], - "description": "An elegant debug assistant for the Laravel framework.", + "description": "Parallel testing for PHP", + "homepage": "https://github.com/paratestphp/paratest", "keywords": [ - "debugging", - "laravel", - "monitoring" + "concurrent", + "parallel", + "phpunit", + "testing" ], "support": { - "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v4.17.6" + "issues": "https://github.com/paratestphp/paratest/issues", + "source": "https://github.com/paratestphp/paratest/tree/v7.8.5" }, - "time": "2024-02-08T15:04:38+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/Slamdunk", + "type": "github" + }, + { + "url": "https://paypal.me/filippotessarotto", + "type": "paypal" + } + ], + "time": "2026-01-08T08:02:38+00:00" }, { - "name": "mockery/mockery", - "version": "1.6.11", + "name": "fakerphp/faker", + "version": "v1.24.1", "source": { "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "81a161d0b135df89951abd52296adf97deb0723d" + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/81a161d0b135df89951abd52296adf97deb0723d", - "reference": "81a161d0b135df89951abd52296adf97deb0723d", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { - "hamcrest/hamcrest-php": "^2.0.1", + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, + { + "name": "fidry/cpu-core-counter", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678", + "reference": "db9508f7b1474469d9d3c53b86f817e344732678", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2025-08-14T07:29:31+00:00" + }, + { + "name": "filp/whoops", + "version": "2.18.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.18.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-08-08T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" + }, + "time": "2025-04-30T06:54:44+00:00" + }, + { + "name": "jean85/pretty-package-versions", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/Jean85/pretty-package-versions.git", + "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a", + "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.1.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "jean85/composer-provided-replaced-stub-package": "^1.0", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^7.5|^8.5|^9.6", + "rector/rector": "^2.0", + "vimeo/psalm": "^4.3 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Jean85\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alessandro Lai", + "email": "alessandro.lai85@gmail.com" + } + ], + "description": "A library to get pretty versions strings of installed dependencies", + "keywords": [ + "composer", + "package", + "release", + "versions" + ], + "support": { + "issues": "https://github.com/Jean85/pretty-package-versions/issues", + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1" + }, + "time": "2025-03-19T14:43:43+00:00" + }, + { + "name": "laravel/boost", + "version": "v2.0.5", + "source": { + "type": "git", + "url": "https://github.com/laravel/boost.git", + "reference": "00eede2041a9bac83eabbd3b3f16bd4aa91277c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/boost/zipball/00eede2041a9bac83eabbd3b3f16bd4aa91277c9", + "reference": "00eede2041a9bac83eabbd3b3f16bd4aa91277c9", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^7.9", + "illuminate/console": "^11.45.3|^12.41.1", + "illuminate/contracts": "^11.45.3|^12.41.1", + "illuminate/routing": "^11.45.3|^12.41.1", + "illuminate/support": "^11.45.3|^12.41.1", + "laravel/mcp": "^0.5.1", + "laravel/prompts": "^0.3.10", + "laravel/roster": "^0.2.9", + "php": "^8.2" + }, + "require-dev": { + "laravel/pint": "^1.27.0", + "mockery/mockery": "^1.6.12", + "orchestra/testbench": "^9.15.0|^10.6", + "pestphp/pest": "^2.36.0|^3.8.4|^4.1.5", + "phpstan/phpstan": "^2.1.27", + "rector/rector": "^2.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Boost\\BoostServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Boost\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.", + "homepage": "https://github.com/laravel/boost", + "keywords": [ + "ai", + "dev", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/boost/issues", + "source": "https://github.com/laravel/boost" + }, + "time": "2026-02-01T09:52:44+00:00" + }, + { + "name": "laravel/mcp", + "version": "v0.5.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/mcp.git", + "reference": "39b9791b989927642137dd5b55dde0529f1614f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/mcp/zipball/39b9791b989927642137dd5b55dde0529f1614f9", + "reference": "39b9791b989927642137dd5b55dde0529f1614f9", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/console": "^10.49.0|^11.45.3|^12.41.1", + "illuminate/container": "^10.49.0|^11.45.3|^12.41.1", + "illuminate/contracts": "^10.49.0|^11.45.3|^12.41.1", + "illuminate/http": "^10.49.0|^11.45.3|^12.41.1", + "illuminate/json-schema": "^12.41.1", + "illuminate/routing": "^10.49.0|^11.45.3|^12.41.1", + "illuminate/support": "^10.49.0|^11.45.3|^12.41.1", + "illuminate/validation": "^10.49.0|^11.45.3|^12.41.1", + "php": "^8.1" + }, + "require-dev": { + "laravel/pint": "^1.20", + "orchestra/testbench": "^8.36|^9.15|^10.8", + "pestphp/pest": "^2.36.0|^3.8.4|^4.1.0", + "phpstan/phpstan": "^2.1.27", + "rector/rector": "^2.2.4" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Mcp": "Laravel\\Mcp\\Server\\Facades\\Mcp" + }, + "providers": [ + "Laravel\\Mcp\\Server\\McpServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Mcp\\": "src/", + "Laravel\\Mcp\\Server\\": "src/Server/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Rapidly build MCP servers for your Laravel applications.", + "homepage": "https://github.com/laravel/mcp", + "keywords": [ + "laravel", + "mcp" + ], + "support": { + "issues": "https://github.com/laravel/mcp/issues", + "source": "https://github.com/laravel/mcp" + }, + "time": "2026-01-26T10:25:21+00:00" + }, + { + "name": "laravel/pail", + "version": "v1.2.4", + "source": { + "type": "git", + "url": "https://github.com/laravel/pail.git", + "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pail/zipball/49f92285ff5d6fc09816e976a004f8dec6a0ea30", + "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/console": "^10.24|^11.0|^12.0", + "illuminate/contracts": "^10.24|^11.0|^12.0", + "illuminate/log": "^10.24|^11.0|^12.0", + "illuminate/process": "^10.24|^11.0|^12.0", + "illuminate/support": "^10.24|^11.0|^12.0", + "nunomaduro/termwind": "^1.15|^2.0", + "php": "^8.2", + "symfony/console": "^6.0|^7.0" + }, + "require-dev": { + "laravel/framework": "^10.24|^11.0|^12.0", + "laravel/pint": "^1.13", + "orchestra/testbench-core": "^8.13|^9.17|^10.8", + "pestphp/pest": "^2.20|^3.0|^4.0", + "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0", + "phpstan/phpstan": "^1.12.27", + "symfony/var-dumper": "^6.3|^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Pail\\PailServiceProvider" + ] + }, + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Pail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Easily delve into your Laravel application's log files directly from the command line.", + "homepage": "https://github.com/laravel/pail", + "keywords": [ + "dev", + "laravel", + "logs", + "php", + "tail" + ], + "support": { + "issues": "https://github.com/laravel/pail/issues", + "source": "https://github.com/laravel/pail" + }, + "time": "2025-11-20T16:29:35+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "c67b4195b75491e4dfc6b00b1c78b68d86f54c90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/c67b4195b75491e4dfc6b00b1c78b68d86f54c90", + "reference": "c67b4195b75491e4dfc6b00b1c78b68d86f54c90", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.92.4", + "illuminate/view": "^12.44.0", + "larastan/larastan": "^3.8.1", + "laravel-zero/framework": "^12.0.4", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.3.3", + "pestphp/pest": "^3.8.4" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "dev", + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2026-01-05T16:49:17+00:00" + }, + { + "name": "laravel/roster", + "version": "v0.2.9", + "source": { + "type": "git", + "url": "https://github.com/laravel/roster.git", + "reference": "82bbd0e2de614906811aebdf16b4305956816fa6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/roster/zipball/82bbd0e2de614906811aebdf16b4305956816fa6", + "reference": "82bbd0e2de614906811aebdf16b4305956816fa6", + "shasum": "" + }, + "require": { + "illuminate/console": "^10.0|^11.0|^12.0", + "illuminate/contracts": "^10.0|^11.0|^12.0", + "illuminate/routing": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "php": "^8.1|^8.2", + "symfony/yaml": "^6.4|^7.2" + }, + "require-dev": { + "laravel/pint": "^1.14", + "mockery/mockery": "^1.6", + "orchestra/testbench": "^8.22.0|^9.0|^10.0", + "pestphp/pest": "^2.0|^3.0", + "phpstan/phpstan": "^2.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Roster\\RosterServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Roster\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Detect packages & approaches in use within a Laravel project", + "homepage": "https://github.com/laravel/roster", + "keywords": [ + "dev", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/roster/issues", + "source": "https://github.com/laravel/roster" + }, + "time": "2025-10-20T09:56:46+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.52.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/64ac7d8abb2dbcf2b76e61289451bae79066b0b3", + "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpstan/phpstan": "^2.0" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2026-01-01T02:46:03+00:00" + }, + { + "name": "laravel/telescope", + "version": "v5.16.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/telescope.git", + "reference": "dc114b94f025b8c16b5eb3194b4ddc0e46d5310c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/telescope/zipball/dc114b94f025b8c16b5eb3194b4ddc0e46d5310c", + "reference": "dc114b94f025b8c16b5eb3194b4ddc0e46d5310c", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/framework": "^8.37|^9.0|^10.0|^11.0|^12.0", + "php": "^8.0", + "symfony/console": "^5.3|^6.0|^7.0", + "symfony/var-dumper": "^5.0|^6.0|^7.0" + }, + "require-dev": { + "ext-gd": "*", + "guzzlehttp/guzzle": "^6.0|^7.0", + "laravel/octane": "^1.4|^2.0", + "orchestra/testbench": "^6.47.1|^7.55|^8.36|^9.15|^10.8", + "phpstan/phpstan": "^1.10" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Telescope\\TelescopeServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Telescope\\": "src/", + "Laravel\\Telescope\\Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Mohamed Said", + "email": "mohamed@laravel.com" + } + ], + "description": "An elegant debug assistant for the Laravel framework.", + "keywords": [ + "debugging", + "laravel", + "monitoring" + ], + "support": { + "issues": "https://github.com/laravel/telescope/issues", + "source": "https://github.com/laravel/telescope/tree/v5.16.1" + }, + "time": "2025-12-30T17:31:31+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.11.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/3d34b97c9a1747a81a3fde90482c092bd8b66468", + "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0|^8.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.11.0" + }, + "time": "2025-12-19T19:16:45+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", "php": ">=7.3" }, "conflict": { - "phpunit/phpunit": "<8.0" + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v8.8.3", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/1dc9e88d105699d0fee8bb18890f41b274f6b4c4", + "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.18.1", + "nunomaduro/termwind": "^2.3.1", + "php": "^8.2.0", + "symfony/console": "^7.3.0" + }, + "conflict": { + "laravel/framework": "<11.44.2 || >=13.0.0", + "phpunit/phpunit": "<11.5.15 || >=13.0.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.17", - "symplify/easy-coding-standard": "^12.1.14" + "brianium/paratest": "^7.8.3", + "larastan/larastan": "^3.4.2", + "laravel/framework": "^11.44.2 || ^12.18", + "laravel/pint": "^1.22.1", + "laravel/sail": "^1.43.1", + "laravel/sanctum": "^4.1.1", + "laravel/tinker": "^2.10.1", + "orchestra/testbench-core": "^9.12.0 || ^10.4", + "pestphp/pest": "^3.8.2 || ^4.0.0", + "sebastian/environment": "^7.2.1 || ^8.0" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" + } + }, "autoload": { "files": [ - "library/helpers.php", - "library/Mockery.php" + "./src/Adapters/Phpunit/Autoload.php" ], "psr-4": { - "Mockery\\": "library/Mockery" + "NunoMaduro\\Collision\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "https://github.com/padraic", - "role": "Author" + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "dev", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" }, { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "https://davedevelopment.co.uk", - "role": "Developer" + "url": "https://github.com/nunomaduro", + "type": "github" }, { - "name": "Nathanael Esayeas", - "email": "nathanael.esayeas@protonmail.com", - "homepage": "https://github.com/ghostwriter", - "role": "Lead Developer" + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" } ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", + "time": "2025-11-20T02:55:25+00:00" + }, + { + "name": "pestphp/pest", + "version": "v3.8.5", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest.git", + "reference": "7796630eafcfd1c02660cecdde3bc6984fbf01f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest/zipball/7796630eafcfd1c02660cecdde3bc6984fbf01f4", + "reference": "7796630eafcfd1c02660cecdde3bc6984fbf01f4", + "shasum": "" + }, + "require": { + "brianium/paratest": "^7.8.5", + "nunomaduro/collision": "^8.8.3", + "nunomaduro/termwind": "^2.3.3", + "pestphp/pest-plugin": "^3.0.0", + "pestphp/pest-plugin-arch": "^3.1.1", + "pestphp/pest-plugin-mutate": "^3.0.5", + "php": "^8.2.0", + "phpunit/phpunit": "^11.5.50" + }, + "conflict": { + "filp/whoops": "<2.16.0", + "phpunit/phpunit": ">11.5.50", + "sebastian/exporter": "<6.0.0", + "webmozart/assert": "<1.11.0" + }, + "require-dev": { + "pestphp/pest-dev-tools": "^3.4.0", + "pestphp/pest-plugin-type-coverage": "^3.6.1", + "symfony/process": "^7.4.4" + }, + "bin": [ + "bin/pest" + ], + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Pest\\Mutate\\Plugins\\Mutate", + "Pest\\Plugins\\Configuration", + "Pest\\Plugins\\Bail", + "Pest\\Plugins\\Cache", + "Pest\\Plugins\\Coverage", + "Pest\\Plugins\\Init", + "Pest\\Plugins\\Environment", + "Pest\\Plugins\\Help", + "Pest\\Plugins\\Memory", + "Pest\\Plugins\\Only", + "Pest\\Plugins\\Printer", + "Pest\\Plugins\\ProcessIsolation", + "Pest\\Plugins\\Profile", + "Pest\\Plugins\\Retry", + "Pest\\Plugins\\Snapshot", + "Pest\\Plugins\\Verbose", + "Pest\\Plugins\\Version", + "Pest\\Plugins\\Parallel" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "files": [ + "src/Functions.php", + "src/Pest.php" + ], + "psr-4": { + "Pest\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "The elegant PHP Testing Framework.", "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", + "framework", + "pest", + "php", "test", - "test double", - "testing" + "testing", + "unit" + ], + "support": { + "issues": "https://github.com/pestphp/pest/issues", + "source": "https://github.com/pestphp/pest/tree/v3.8.5" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2026-01-28T01:33:45+00:00" + }, + { + "name": "pestphp/pest-plugin", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin.git", + "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e79b26c65bc11c41093b10150c1341cc5cdbea83", + "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0.0", + "composer-runtime-api": "^2.2.2", + "php": "^8.2" + }, + "conflict": { + "pestphp/pest": "<3.0.0" + }, + "require-dev": { + "composer/composer": "^2.7.9", + "pestphp/pest": "^3.0.0", + "pestphp/pest-dev-tools": "^3.0.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Pest\\Plugin\\Manager" + }, + "autoload": { + "psr-4": { + "Pest\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest plugin manager", + "keywords": [ + "framework", + "manager", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin/tree/v3.0.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2024-09-08T23:21:41+00:00" + }, + { + "name": "pestphp/pest-plugin-arch", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-arch.git", + "reference": "db7bd9cb1612b223e16618d85475c6f63b9c8daa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/db7bd9cb1612b223e16618d85475c6f63b9c8daa", + "reference": "db7bd9cb1612b223e16618d85475c6f63b9c8daa", + "shasum": "" + }, + "require": { + "pestphp/pest-plugin": "^3.0.0", + "php": "^8.2", + "ta-tikoma/phpunit-architecture-test": "^0.8.4" + }, + "require-dev": { + "pestphp/pest": "^3.8.1", + "pestphp/pest-dev-tools": "^3.4.0" + }, + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Pest\\Arch\\Plugin" + ] + } + }, + "autoload": { + "files": [ + "src/Autoload.php" + ], + "psr-4": { + "Pest\\Arch\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Arch plugin for Pest PHP.", + "keywords": [ + "arch", + "architecture", + "framework", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" ], "support": { - "docs": "https://docs.mockery.io/", - "issues": "https://github.com/mockery/mockery/issues", - "rss": "https://github.com/mockery/mockery/releases.atom", - "security": "https://github.com/mockery/mockery/security/advisories", - "source": "https://github.com/mockery/mockery" + "source": "https://github.com/pestphp/pest-plugin-arch/tree/v3.1.1" }, - "time": "2024-03-21T18:34:15+00:00" + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + } + ], + "time": "2025-04-16T22:59:48+00:00" }, { - "name": "myclabs/deep-copy", - "version": "1.11.1", + "name": "pestphp/pest-plugin-laravel", + "version": "v3.2.0", "source": { "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "url": "https://github.com/pestphp/pest-plugin-laravel.git", + "reference": "6801be82fd92b96e82dd72e563e5674b1ce365fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/6801be82fd92b96e82dd72e563e5674b1ce365fc", + "reference": "6801be82fd92b96e82dd72e563e5674b1ce365fc", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "laravel/framework": "^11.39.1|^12.9.2", + "pestphp/pest": "^3.8.2", + "php": "^8.2.0" }, "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + "laravel/dusk": "^8.2.13|dev-develop", + "orchestra/testbench": "^9.9.0|^10.2.1", + "pestphp/pest-dev-tools": "^3.4.0" }, "type": "library", + "extra": { + "pest": { + "plugins": [ + "Pest\\Laravel\\Plugin" + ] + }, + "laravel": { + "providers": [ + "Pest\\Laravel\\PestServiceProvider" + ] + } + }, "autoload": { "files": [ - "src/DeepCopy/deep_copy.php" + "src/Autoload.php" ], "psr-4": { - "DeepCopy\\": "src/DeepCopy/" + "Pest\\Laravel\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Create deep copies (clones) of your objects", + "description": "The Pest Laravel Plugin", "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" + "framework", + "laravel", + "pest", + "php", + "test", + "testing", + "unit" ], "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v3.2.0" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2025-04-21T07:40:53+00:00" }, { - "name": "nunomaduro/collision", - "version": "v7.10.0", + "name": "pestphp/pest-plugin-mutate", + "version": "v3.0.5", "source": { "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "49ec67fa7b002712da8526678abd651c09f375b2" + "url": "https://github.com/pestphp/pest-plugin-mutate.git", + "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", - "reference": "49ec67fa7b002712da8526678abd651c09f375b2", + "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/e10dbdc98c9e2f3890095b4fe2144f63a5717e08", + "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08", "shasum": "" }, "require": { - "filp/whoops": "^2.15.3", - "nunomaduro/termwind": "^1.15.1", - "php": "^8.1.0", - "symfony/console": "^6.3.4" - }, - "conflict": { - "laravel/framework": ">=11.0.0" + "nikic/php-parser": "^5.2.0", + "pestphp/pest-plugin": "^3.0.0", + "php": "^8.2", + "psr/simple-cache": "^3.0.0" }, "require-dev": { - "brianium/paratest": "^7.3.0", - "laravel/framework": "^10.28.0", - "laravel/pint": "^1.13.3", - "laravel/sail": "^1.25.0", - "laravel/sanctum": "^3.3.1", - "laravel/tinker": "^2.8.2", - "nunomaduro/larastan": "^2.6.4", - "orchestra/testbench-core": "^8.13.0", - "pestphp/pest": "^2.23.2", - "phpunit/phpunit": "^10.4.1", - "sebastian/environment": "^6.0.1", - "spatie/laravel-ignition": "^2.3.1" + "pestphp/pest": "^3.0.8", + "pestphp/pest-dev-tools": "^3.0.0", + "pestphp/pest-plugin-type-coverage": "^3.0.0" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, "autoload": { - "files": [ - "./src/Adapters/Phpunit/Autoload.php" - ], "psr-4": { - "NunoMaduro\\Collision\\": "src/" + "Pest\\Mutate\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -10069,26 +11755,24 @@ ], "authors": [ { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "Sandro Gehri", + "email": "sandrogehri@gmail.com" } ], - "description": "Cli error handling for console/command-line PHP applications.", + "description": "Mutates your code to find untested cases", "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", + "framework", + "mutate", + "mutation", + "pest", "php", - "symfony" + "plugin", + "test", + "testing", + "unit" ], "support": { - "issues": "https://github.com/nunomaduro/collision/issues", - "source": "https://github.com/nunomaduro/collision" + "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v3.0.5" }, "funding": [ { @@ -10096,15 +11780,15 @@ "type": "custom" }, { - "url": "https://github.com/nunomaduro", + "url": "https://github.com/gehrisandro", "type": "github" }, { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" + "url": "https://github.com/nunomaduro", + "type": "github" } ], - "time": "2023-10-11T15:45:01+00:00" + "time": "2024-09-22T07:54:40+00:00" }, { "name": "phar-io/manifest", @@ -10224,37 +11908,101 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.6.6", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8", + "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.1", + "ext-filter": "*", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", + "webmozart/assert": "^1.9.1 || ^2" + }, + "require-dev": { + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6" + }, + "time": "2025-12-22T21:13:58+00:00" + }, { "name": "phpunit/php-code-coverage", - "version": "10.1.14", + "version": "11.0.12", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b" + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", - "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", + "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "nikic/php-parser": "^5.7.0", + "php": ">=8.2", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-text-template": "^4.0.1", + "sebastian/code-unit-reverse-lookup": "^4.0.1", + "sebastian/complexity": "^4.0.1", + "sebastian/environment": "^7.2.1", + "sebastian/lines-of-code": "^3.0.1", + "sebastian/version": "^5.0.2", + "theseer/tokenizer": "^1.3.1" }, "require-dev": { - "phpunit/phpunit": "^10.1" + "phpunit/phpunit": "^11.5.46" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -10263,7 +12011,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "11.0.x-dev" } }, "autoload": { @@ -10292,40 +12040,52 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" } ], - "time": "2024-03-12T15:33:41+00:00" + "time": "2025-12-24T07:01:01+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "4.1.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" + "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903", + "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -10353,36 +12113,48 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "type": "tidelift" } ], - "time": "2023-08-31T06:24:48+00:00" + "time": "2026-02-02T13:52:54+00:00" }, { "name": "phpunit/php-invoker", - "version": "4.0.0", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", + "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "suggest": { "ext-pcntl": "*" @@ -10390,7 +12162,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -10416,7 +12188,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" }, "funding": [ { @@ -10424,32 +12197,32 @@ "type": "github" } ], - "time": "2023-02-03T06:56:09+00:00" + "time": "2024-07-03T05:07:44+00:00" }, { "name": "phpunit/php-text-template", - "version": "3.0.1", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -10476,7 +12249,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" }, "funding": [ { @@ -10484,32 +12257,32 @@ "type": "github" } ], - "time": "2023-08-31T14:07:24+00:00" + "time": "2024-07-03T05:08:43+00:00" }, { "name": "phpunit/php-timer", - "version": "6.0.0", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -10535,7 +12308,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" }, "funding": [ { @@ -10543,20 +12317,20 @@ "type": "github" } ], - "time": "2023-02-03T06:57:52+00:00" + "time": "2024-07-03T05:09:35+00:00" }, { "name": "phpunit/phpunit", - "version": "10.5.18", + "version": "11.5.50", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "835df1709ac6c968ba34bf23f3c30e5d5a266de8" + "reference": "fdfc727f0fcacfeb8fcb30c7e5da173125b58be3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/835df1709ac6c968ba34bf23f3c30e5d5a266de8", - "reference": "835df1709ac6c968ba34bf23f3c30e5d5a266de8", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fdfc727f0fcacfeb8fcb30c7e5da173125b58be3", + "reference": "fdfc727f0fcacfeb8fcb30c7e5da173125b58be3", "shasum": "" }, "require": { @@ -10566,26 +12340,26 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.2", + "phpunit/php-code-coverage": "^11.0.12", + "phpunit/php-file-iterator": "^5.1.0", + "phpunit/php-invoker": "^5.0.1", + "phpunit/php-text-template": "^4.0.1", + "phpunit/php-timer": "^7.0.1", + "sebastian/cli-parser": "^3.0.2", + "sebastian/code-unit": "^3.0.3", + "sebastian/comparator": "^6.3.3", + "sebastian/diff": "^6.0.2", + "sebastian/environment": "^7.2.1", + "sebastian/exporter": "^6.3.2", + "sebastian/global-state": "^7.0.2", + "sebastian/object-enumerator": "^6.0.1", + "sebastian/type": "^5.1.3", + "sebastian/version": "^5.0.2", + "staabm/side-effects-detector": "^1.0.5" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -10596,7 +12370,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "11.5-dev" } }, "autoload": { @@ -10628,7 +12402,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.18" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.50" }, "funding": [ { @@ -10639,37 +12413,124 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-04-14T07:05:31+00:00" + "time": "2026-01-27T05:59:18+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.19", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "a4f766e5c5b6773d8399711019bb7d90875a50ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a4f766e5c5b6773d8399711019bb7d90875a50ee", + "reference": "a4f766e5c5b6773d8399711019bb7d90875a50ee", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "composer/class-map-generator": "^1.6" + }, + "suggest": { + "composer/class-map-generator": "Improved tab completion performance with better class discovery.", + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "https://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.19" + }, + "time": "2026-01-30T17:33:13+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", + "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -10693,7 +12554,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" }, "funding": [ { @@ -10701,32 +12562,32 @@ "type": "github" } ], - "time": "2024-03-02T07:12:49+00:00" + "time": "2024-07-03T04:41:36+00:00" }, { "name": "sebastian/code-unit", - "version": "2.0.0", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", + "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -10749,7 +12610,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/code-unit/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" }, "funding": [ { @@ -10757,32 +12619,32 @@ "type": "github" } ], - "time": "2023-02-03T06:58:43+00:00" + "time": "2025-03-19T07:56:08+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" + "reference": "183a9b2632194febd219bb9246eee421dad8d45e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", + "reference": "183a9b2632194febd219bb9246eee421dad8d45e", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -10804,7 +12666,8 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" }, "funding": [ { @@ -10812,36 +12675,39 @@ "type": "github" } ], - "time": "2023-02-03T06:59:15+00:00" + "time": "2024-07-03T04:45:54+00:00" }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "6.3.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" + "php": ">=8.2", + "sebastian/diff": "^6.0", + "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^11.4" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.3-dev" } }, "autoload": { @@ -10881,41 +12747,53 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2026-01-24T09:26:40+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", + "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -10939,7 +12817,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" }, "funding": [ { @@ -10947,33 +12825,33 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2024-07-03T04:49:50+00:00" }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -11006,7 +12884,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -11014,27 +12892,27 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { "name": "sebastian/environment", - "version": "6.1.0", + "version": "7.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", + "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "suggest": { "ext-posix": "*" @@ -11042,7 +12920,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "7.2-dev" } }, "autoload": { @@ -11070,42 +12948,54 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" } ], - "time": "2024-03-23T08:47:14+00:00" + "time": "2025-05-21T11:55:47+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.2", + "version": "6.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", + "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "6.3-dev" } }, "autoload": { @@ -11148,43 +13038,55 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2024-03-02T07:17:12+00:00" + "time": "2025-09-24T06:12:51+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.2", + "version": "7.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + "reference": "3be331570a721f9a4b5917f4209773de17f747d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", + "reference": "3be331570a721f9a4b5917f4209773de17f747d7", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -11210,7 +13112,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" }, "funding": [ { @@ -11218,33 +13120,33 @@ "type": "github" } ], - "time": "2024-03-02T07:19:19+00:00" + "time": "2024-07-03T04:57:36+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=8.1" + "nikic/php-parser": "^5.0", + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -11268,7 +13170,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" }, "funding": [ { @@ -11276,34 +13178,34 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2024-07-03T04:58:38+00:00" }, { "name": "sebastian/object-enumerator", - "version": "5.0.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" + "reference": "f5b498e631a74204185071eb41f33f38d64608aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", + "reference": "f5b498e631a74204185071eb41f33f38d64608aa", "shasum": "" }, "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" + "php": ">=8.2", + "sebastian/object-reflector": "^4.0", + "sebastian/recursion-context": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -11325,7 +13227,8 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" }, "funding": [ { @@ -11333,32 +13236,32 @@ "type": "github" } ], - "time": "2023-02-03T07:08:32+00:00" + "time": "2024-07-03T05:00:13+00:00" }, { "name": "sebastian/object-reflector", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -11380,7 +13283,8 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" }, "funding": [ { @@ -11388,32 +13292,32 @@ "type": "github" } ], - "time": "2023-02-03T07:06:18+00:00" + "time": "2024-07-03T05:01:32+00:00" }, { "name": "sebastian/recursion-context", - "version": "5.0.0", + "version": "6.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -11443,40 +13347,53 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2023-02-03T07:05:40+00:00" + "time": "2025-08-13T04:42:22+00:00" }, { "name": "sebastian/type", - "version": "4.0.0", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^11.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -11499,37 +13416,50 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" } ], - "time": "2023-02-03T07:10:45+00:00" + "time": "2025-08-09T06:55:48+00:00" }, { "name": "sebastian/version", - "version": "4.0.1", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", + "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -11552,7 +13482,8 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" }, "funding": [ { @@ -11560,30 +13491,31 @@ "type": "github" } ], - "time": "2023-02-07T11:34:05+00:00" + "time": "2024-10-09T05:16:32+00:00" }, { "name": "spatie/backtrace", - "version": "1.5.3", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" + "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", - "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110", + "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^7.3 || ^8.0" }, "require-dev": { "ext-json": "*", - "phpunit/phpunit": "^9.3", - "spatie/phpunit-snapshot-assertions": "^4.2", - "symfony/var-dumper": "^5.1" + "laravel/serializable-closure": "^1.3 || ^2.0", + "phpunit/phpunit": "^9.3 || ^11.4.3", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", + "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -11610,7 +13542,8 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.5.3" + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.8.1" }, "funding": [ { @@ -11622,26 +13555,100 @@ "type": "other" } ], - "time": "2023-06-28T12:59:17+00:00" + "time": "2025-08-26T08:22:30+00:00" + }, + { + "name": "spatie/error-solutions", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/error-solutions.git", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "illuminate/broadcasting": "^10.0|^11.0|^12.0", + "illuminate/cache": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "livewire/livewire": "^2.11|^3.5.20", + "openai-php/client": "^0.10.1", + "orchestra/testbench": "8.22.3|^9.0|^10.0", + "pestphp/pest": "^2.20|^3.0", + "phpstan/phpstan": "^2.1", + "psr/simple-cache": "^3.0", + "psr/simple-cache-implementation": "^3.0", + "spatie/ray": "^1.28", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "legacy/ignition", + "Spatie\\ErrorSolutions\\": "src", + "Spatie\\LaravelIgnition\\": "legacy/laravel-ignition" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ruben Van Assche", + "email": "ruben@spatie.be", + "role": "Developer" + } + ], + "description": "This is my package error-solutions", + "homepage": "https://github.com/spatie/error-solutions", + "keywords": [ + "error-solutions", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/error-solutions/issues", + "source": "https://github.com/spatie/error-solutions/tree/1.1.3" + }, + "funding": [ + { + "url": "https://github.com/Spatie", + "type": "github" + } + ], + "time": "2025-02-14T12:29:50+00:00" }, { "name": "spatie/flare-client-php", - "version": "1.4.4", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "17082e780752d346c2db12ef5d6bee8e835e399c" + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/17082e780752d346c2db12ef5d6bee8e835e399c", - "reference": "17082e780752d346c2db12ef5d6bee8e835e399c", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^8.0", - "spatie/backtrace": "^1.5.2", + "spatie/backtrace": "^1.6.1", "symfony/http-foundation": "^5.2|^6.0|^7.0", "symfony/mime": "^5.2|^6.0|^7.0", "symfony/process": "^5.2|^6.0|^7.0", @@ -11653,7 +13660,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + "spatie/pest-plugin-snapshots": "^1.0|^2.0" }, "type": "library", "extra": { @@ -11683,7 +13690,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.4.4" + "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" }, "funding": [ { @@ -11691,33 +13698,33 @@ "type": "github" } ], - "time": "2024-01-31T14:18:45+00:00" + "time": "2025-02-14T13:42:06+00:00" }, { "name": "spatie/ignition", - "version": "1.13.2", + "version": "1.15.1", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "952798e239d9969e4e694b124c2cc222798dbb28" + "reference": "31f314153020aee5af3537e507fef892ffbf8c85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/952798e239d9969e4e694b124c2cc222798dbb28", - "reference": "952798e239d9969e4e694b124c2cc222798dbb28", + "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", + "reference": "31f314153020aee5af3537e507fef892ffbf8c85", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "php": "^8.0", - "spatie/backtrace": "^1.5.3", - "spatie/flare-client-php": "^1.4.0", + "spatie/error-solutions": "^1.0", + "spatie/flare-client-php": "^1.7", "symfony/console": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0", + "illuminate/cache": "^9.52|^10.0|^11.0|^12.0", "mockery/mockery": "^1.4", "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", @@ -11774,43 +13781,43 @@ "type": "github" } ], - "time": "2024-04-16T08:49:17+00:00" + "time": "2025-02-21T14:31:39+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.5.2", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "c93fcadcc4629775c839ac9a90916f07a660266f" + "reference": "2abefdcca6074a9155f90b4ccb3345af8889d5f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/c93fcadcc4629775c839ac9a90916f07a660266f", - "reference": "c93fcadcc4629775c839ac9a90916f07a660266f", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/2abefdcca6074a9155f90b4ccb3345af8889d5f5", + "reference": "2abefdcca6074a9155f90b4ccb3345af8889d5f5", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "illuminate/support": "^10.0|^11.0", - "php": "^8.1", - "spatie/flare-client-php": "^1.3.5", - "spatie/ignition": "^1.13.2", - "symfony/console": "^6.2.3|^7.0", - "symfony/var-dumper": "^6.2.3|^7.0" + "illuminate/support": "^11.0|^12.0", + "nesbot/carbon": "^2.72|^3.0", + "php": "^8.2", + "spatie/ignition": "^1.15.1", + "symfony/console": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "require-dev": { - "livewire/livewire": "^2.11|^3.3.5", - "mockery/mockery": "^1.5.1", - "openai-php/client": "^0.8.1", - "orchestra/testbench": "^8.0|^9.0", - "pestphp/pest": "^2.30", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.3", - "vlucas/phpdotenv": "^5.5" + "livewire/livewire": "^3.7.0|^4.0", + "mockery/mockery": "^1.6.12", + "openai-php/client": "^0.10.3", + "orchestra/testbench": "^v9.16.0|^10.6", + "pestphp/pest": "^3.7|^4.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpstan/phpstan-phpunit": "^2.0.8", + "vlucas/phpdotenv": "^5.6.2" }, "suggest": { "openai-php/client": "Require get solutions from OpenAI", @@ -11819,12 +13826,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ], "aliases": { "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - } + }, + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ] } }, "autoload": { @@ -11866,91 +13873,131 @@ "type": "github" } ], - "time": "2024-04-16T08:57:16+00:00" + "time": "2026-01-20T13:16:11+00:00" }, { - "name": "symfony/yaml", - "version": "v7.0.3", + "name": "staabm/side-effects-detector", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "2d4fca631c00700597e9442a0b2451ce234513d3" + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/2d4fca631c00700597e9442a0b2451ce234513d3", - "reference": "2d4fca631c00700597e9442a0b2451ce234513d3", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<6.4" + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" }, "require-dev": { - "symfony/console": "^6.4|^7.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" }, - "bin": [ - "Resources/bin/yaml-lint" - ], "type": "library", "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "lib/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.0.3" + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/staabm", "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "ta-tikoma/phpunit-architecture-test", + "version": "0.8.6", + "source": { + "type": "git", + "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git", + "reference": "ad48430b92901fd7d003fdaf2d7b139f96c0906e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/ad48430b92901fd7d003fdaf2d7b139f96c0906e", + "reference": "ad48430b92901fd7d003fdaf2d7b139f96c0906e", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18.0 || ^5.0.0", + "php": "^8.1.0", + "phpdocumentor/reflection-docblock": "^5.3.0 || ^6.0.0", + "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0", + "symfony/finder": "^6.4.0 || ^7.0.0 || ^8.0.0" + }, + "require-dev": { + "laravel/pint": "^1.13.7", + "phpstan/phpstan": "^1.10.52" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPUnit\\Architecture\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ni Shi", + "email": "futik0ma011@gmail.com" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" } ], - "time": "2024-01-23T15:02:46+00:00" + "description": "Methods for testing application architecture", + "keywords": [ + "architecture", + "phpunit", + "stucture", + "test", + "testing" + ], + "support": { + "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues", + "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.6" + }, + "time": "2026-01-30T07:16:00+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.3", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -11979,7 +14026,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -11987,43 +14034,42 @@ "type": "github" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2025-11-17T20:03:58+00:00" }, { - "name": "tightenco/duster", - "version": "v2.7.5", + "name": "webmozart/assert", + "version": "2.1.2", "source": { "type": "git", - "url": "https://github.com/tighten/duster.git", - "reference": "b12d519e8cc59632832dbd4f9995d67ae015c600" + "url": "https://github.com/webmozarts/assert.git", + "reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tighten/duster/zipball/b12d519e8cc59632832dbd4f9995d67ae015c600", - "reference": "b12d519e8cc59632832dbd4f9995d67ae015c600", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/ce6a2f100c404b2d32a1dd1270f9b59ad4f57649", + "reference": "ce6a2f100c404b2d32a1dd1270f9b59ad4f57649", "shasum": "" }, "require": { - "php": "^8.1.0" + "ext-ctype": "*", + "ext-date": "*", + "ext-filter": "*", + "php": "^8.2" }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.49", - "laravel-zero/framework": "^10.3", - "laravel/pint": "^1.13", - "nunomaduro/termwind": "^1.15", - "spatie/invade": "^1.1", - "squizlabs/php_codesniffer": "^3.8", - "tightenco/tlint": "^9.2" + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-feature/2-0": "2.0-dev" + } }, - "bin": [ - "builds/duster" - ], - "type": "project", "autoload": { "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -12032,45 +14078,38 @@ ], "authors": [ { - "name": "Matt Stauffer", - "email": "matt@tighten.com", - "homepage": "https://tighten.com", - "role": "Developer" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" }, { - "name": "Anthony Clark", - "email": "anthony@tighten.com", - "homepage": "https://tighten.com", - "role": "Developer" + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com" } ], - "description": "Automatic configuration for Laravel apps to apply Tighten's standard linting & code standards.", - "homepage": "https://github.com/tighten/duster", + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "Code style", - "duster", - "laravel", - "php", - "tightenco" + "assert", + "check", + "validate" ], "support": { - "issues": "https://github.com/tighten/duster/issues", - "source": "https://github.com/tighten/duster" + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/2.1.2" }, - "time": "2024-04-12T19:37:39+00:00" + "time": "2026-01-13T14:02:24+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1" + "php": "^8.2" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { - "php": "8.3" + "php": "8.4" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/cron/dependencies.d/laravel-automations b/config/.gitkeep similarity index 100% rename from docker/deploy/etc/s6-overlay/s6-rc.d/cron/dependencies.d/laravel-automations rename to config/.gitkeep diff --git a/config/api.php b/config/api.php new file mode 100644 index 000000000..d0b0f661b --- /dev/null +++ b/config/api.php @@ -0,0 +1,7 @@ + env('API_RATE_LIMIT', 60), + +]; diff --git a/config/app.php b/config/app.php index 7beedc5ac..639fb4881 100644 --- a/config/app.php +++ b/config/app.php @@ -1,8 +1,5 @@ env('APP_URL', 'http://localhost'), - 'asset_url' => env('ASSET_URL'), - 'force_https' => env('FORCE_HTTPS', false), /* @@ -67,12 +62,12 @@ |-------------------------------------------------------------------------- | | Here you may specify the default timezone for your application, which - | will be used by the PHP date and date-time functions. We have gone - | ahead and set this to a sensible default for you out of the box. + | will be used by the PHP date and date-time functions. The timezone + | is set to "UTC" by default as it is suitable for most use cases. | */ - 'timezone' => 'UTC', + 'timezone' => env('APP_TIMEZONE', 'UTC'), /* |-------------------------------------------------------------------------- @@ -80,53 +75,37 @@ |-------------------------------------------------------------------------- | | The application locale determines the default locale that will be used - | by the translation service provider. You are free to set this value - | to any of the locales which will be supported by the application. + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. | */ - 'locale' => 'en', + 'locale' => env('APP_LOCALE', 'en'), - /* - |-------------------------------------------------------------------------- - | Application Fallback Locale - |-------------------------------------------------------------------------- - | - | The fallback locale determines the locale to use when the current one - | is not available. You may change the value to correspond to any of - | the language folders that are provided through your application. - | - */ + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), - 'fallback_locale' => 'en', - - /* - |-------------------------------------------------------------------------- - | Faker Locale - |-------------------------------------------------------------------------- - | - | This locale will be used by the Faker PHP library when generating fake - | data for your database seeds. For example, this will be used to get - | localized telephone numbers, street address information and more. - | - */ - - 'faker_locale' => 'en_US', + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), /* |-------------------------------------------------------------------------- | Encryption Key |-------------------------------------------------------------------------- | - | This key is used by the Illuminate encrypter service and should be set - | to a random, 32 character string, otherwise these encrypted strings - | will not be safe. Please do this before deploying an application! + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. | */ + 'cipher' => 'AES-256-CBC', + 'key' => env('APP_KEY'), - 'cipher' => 'AES-256-CBC', + 'previous_keys' => [ + ...array_filter( + explode(',', env('APP_PREVIOUS_KEYS', '')) + ), + ], /* |-------------------------------------------------------------------------- @@ -142,51 +121,51 @@ */ 'maintenance' => [ - 'driver' => 'file', - // 'store' => 'redis', + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), ], + // TODO: move to speedtest.php configuration file + + /* + |-------------------------------------------------------------------------- + | Chart Configuration + |-------------------------------------------------------------------------- + | + | Here you may specify the default settings for charts used in the application. + | + */ + + 'chart_begin_at_zero' => env('CHART_BEGIN_AT_ZERO', true), + + 'chart_datetime_format' => env('CHART_DATETIME_FORMAT', 'M. j - G:i'), + /* |-------------------------------------------------------------------------- - | Autoloaded Service Providers + | Display Configuration |-------------------------------------------------------------------------- | - | The service providers listed here will be automatically loaded on the - | request to your application. Feel free to add your own services to - | this array to grant expanded functionality to your applications. + | Here you may specify the default settings for displaying data in the application. | */ - 'providers' => ServiceProvider::defaultProviders()->merge([ - /* - * Package Service Providers... - */ - - /* - * Application Service Providers... - */ - App\Providers\AppServiceProvider::class, - App\Providers\AuthServiceProvider::class, - // App\Providers\BroadcastServiceProvider::class, - App\Providers\EventServiceProvider::class, - App\Providers\Filament\AdminPanelProvider::class, - App\Providers\RouteServiceProvider::class, - ])->toArray(), + 'datetime_format' => env('DATETIME_FORMAT', 'M. j, Y g:ia'), + + 'display_timezone' => env('DISPLAY_TIMEZONE', 'UTC'), /* |-------------------------------------------------------------------------- - | Class Aliases + | Admin Configuration |-------------------------------------------------------------------------- | - | This array of class aliases will be registered when this application - | is started. However, feel free to register as many as you wish as - | the aliases are "lazy" loaded so they don't hinder performance. + | Here you may specify the default account settings for the admin user at installation. | */ - 'aliases' => Facade::defaultAliases()->merge([ - // 'ExampleClass' => App\Example\ExampleClass::class, - 'TimeZoneHelper' => App\Helpers\TimeZoneHelper::class, - ])->toArray(), + 'admin_name' => env('ADMIN_NAME', 'Admin'), + + 'admin_email' => env('ADMIN_EMAIL', 'admin@example.com'), + + 'admin_password' => env('ADMIN_PASSWORD', 'password'), ]; diff --git a/config/auth.php b/config/auth.php deleted file mode 100644 index 9548c15de..000000000 --- a/config/auth.php +++ /dev/null @@ -1,115 +0,0 @@ - [ - 'guard' => 'web', - 'passwords' => 'users', - ], - - /* - |-------------------------------------------------------------------------- - | Authentication Guards - |-------------------------------------------------------------------------- - | - | Next, you may define every authentication guard for your application. - | Of course, a great default configuration has been defined for you - | here which uses session storage and the Eloquent user provider. - | - | All authentication drivers have a user provider. This defines how the - | users are actually retrieved out of your database or other storage - | mechanisms used by this application to persist your user's data. - | - | Supported: "session" - | - */ - - 'guards' => [ - 'web' => [ - 'driver' => 'session', - 'provider' => 'users', - ], - ], - - /* - |-------------------------------------------------------------------------- - | User Providers - |-------------------------------------------------------------------------- - | - | All authentication drivers have a user provider. This defines how the - | users are actually retrieved out of your database or other storage - | mechanisms used by this application to persist your user's data. - | - | If you have multiple user tables or models you may configure multiple - | sources which represent each model / table. These sources may then - | be assigned to any extra authentication guards you have defined. - | - | Supported: "database", "eloquent" - | - */ - - 'providers' => [ - 'users' => [ - 'driver' => 'eloquent', - 'model' => App\Models\User::class, - ], - - // 'users' => [ - // 'driver' => 'database', - // 'table' => 'users', - // ], - ], - - /* - |-------------------------------------------------------------------------- - | Resetting Passwords - |-------------------------------------------------------------------------- - | - | You may specify multiple password reset configurations if you have more - | than one user table or model in the application and you want to have - | separate password reset settings based on the specific user types. - | - | The expiry time is the number of minutes that each reset token will be - | considered valid. This security feature keeps tokens short-lived so - | they have less time to be guessed. You may change this as needed. - | - | The throttle setting is the number of seconds a user must wait before - | generating more password reset tokens. This prevents the user from - | quickly generating a very large amount of password reset tokens. - | - */ - - 'passwords' => [ - 'users' => [ - 'provider' => 'users', - 'table' => 'password_reset_tokens', - 'expire' => 60, - 'throttle' => 60, - ], - ], - - /* - |-------------------------------------------------------------------------- - | Password Confirmation Timeout - |-------------------------------------------------------------------------- - | - | Here you may define the amount of seconds before a password confirmation - | times out and the user is prompted to re-enter their password via the - | confirmation screen. By default, the timeout lasts for three hours. - | - */ - - 'password_timeout' => 10800, - -]; diff --git a/config/broadcasting.php b/config/broadcasting.php deleted file mode 100644 index a0273be91..000000000 --- a/config/broadcasting.php +++ /dev/null @@ -1,71 +0,0 @@ - env('BROADCAST_DRIVER', 'log'), - - /* - |-------------------------------------------------------------------------- - | Broadcast Connections - |-------------------------------------------------------------------------- - | - | Here you may define all of the broadcast connections that will be used - | to broadcast events to other systems or over websockets. Samples of - | each available type of connection are provided inside this array. - | - */ - - 'connections' => [ - - 'pusher' => [ - 'driver' => 'pusher', - 'key' => env('PUSHER_APP_KEY'), - 'secret' => env('PUSHER_APP_SECRET'), - 'app_id' => env('PUSHER_APP_ID'), - 'options' => [ - 'cluster' => env('PUSHER_APP_CLUSTER'), - 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com', - 'port' => env('PUSHER_PORT', 443), - 'scheme' => env('PUSHER_SCHEME', 'https'), - 'encrypted' => true, - 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https', - ], - 'client_options' => [ - // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html - ], - ], - - 'ably' => [ - 'driver' => 'ably', - 'key' => env('ABLY_KEY'), - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - ], - - 'log' => [ - 'driver' => 'log', - ], - - 'null' => [ - 'driver' => 'null', - ], - - ], - -]; diff --git a/config/cache.php b/config/cache.php deleted file mode 100644 index 444d01e06..000000000 --- a/config/cache.php +++ /dev/null @@ -1,111 +0,0 @@ - env('CACHE_DRIVER', 'database'), - - /* - |-------------------------------------------------------------------------- - | Cache Stores - |-------------------------------------------------------------------------- - | - | Here you may define all of the cache "stores" for your application as - | well as their drivers. You may even define multiple stores for the - | same cache driver to group types of items stored in your caches. - | - | Supported drivers: "apc", "array", "database", "file", - | "memcached", "redis", "dynamodb", "octane", "null" - | - */ - - 'stores' => [ - - 'apc' => [ - 'driver' => 'apc', - ], - - 'array' => [ - 'driver' => 'array', - 'serialize' => false, - ], - - 'database' => [ - 'driver' => 'database', - 'table' => 'cache', - 'connection' => null, - 'lock_connection' => null, - ], - - 'file' => [ - 'driver' => 'file', - 'path' => storage_path('framework/cache/data'), - 'lock_path' => storage_path('framework/cache/data'), - ], - - 'memcached' => [ - 'driver' => 'memcached', - 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), - 'sasl' => [ - env('MEMCACHED_USERNAME'), - env('MEMCACHED_PASSWORD'), - ], - 'options' => [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, - ], - 'servers' => [ - [ - 'host' => env('MEMCACHED_HOST', '127.0.0.1'), - 'port' => env('MEMCACHED_PORT', 11211), - 'weight' => 100, - ], - ], - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'cache', - 'lock_connection' => 'default', - ], - - 'dynamodb' => [ - 'driver' => 'dynamodb', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), - 'endpoint' => env('DYNAMODB_ENDPOINT'), - ], - - 'octane' => [ - 'driver' => 'octane', - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Cache Key Prefix - |-------------------------------------------------------------------------- - | - | When utilizing the APC, database, memcached, Redis, or DynamoDB cache - | stores there might be other applications using the same cache. For - | that reason, you may prefix every cache key to avoid collisions. - | - */ - - 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), - -]; diff --git a/config/cors.php b/config/cors.php deleted file mode 100644 index 8a39e6daa..000000000 --- a/config/cors.php +++ /dev/null @@ -1,34 +0,0 @@ - ['api/*', 'sanctum/csrf-cookie'], - - 'allowed_methods' => ['*'], - - 'allowed_origins' => ['*'], - - 'allowed_origins_patterns' => [], - - 'allowed_headers' => ['*'], - - 'exposed_headers' => [], - - 'max_age' => 0, - - 'supports_credentials' => false, - -]; diff --git a/config/database.php b/config/database.php index 137ad18ce..ba9b4389a 100644 --- a/config/database.php +++ b/config/database.php @@ -10,26 +10,22 @@ |-------------------------------------------------------------------------- | | Here you may specify which of the database connections below you wish - | to use as your default connection for all database work. Of course - | you may use many connections at once using the Database library. + | to use as your default connection for database operations. This is + | the connection which will be utilized unless another connection + | is explicitly specified when you execute a query / statement. | */ - 'default' => env('DB_CONNECTION', 'mysql'), + 'default' => env('DB_CONNECTION', 'sqlite'), /* |-------------------------------------------------------------------------- | Database Connections |-------------------------------------------------------------------------- | - | Here are each of the database connections setup for your application. - | Of course, examples of configuring each database platform that is - | supported by Laravel is shown below to make development simple. - | - | - | All database work in Laravel is done through the PHP PDO facilities - | so make sure you have the driver for your particular database of - | choice installed on your machine before you begin development. + | Below are all of the database connections defined for your application. + | An example configuration is provided for each database system which + | is supported by Laravel. You're free to add / remove connections. | */ @@ -37,23 +33,47 @@ 'sqlite' => [ 'driver' => 'sqlite', - 'url' => env('DATABASE_URL'), + 'url' => env('DB_URL'), 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', + 'prefix_indexes' => null, 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + 'busy_timeout' => null, + 'journal_mode' => null, + 'synchronous' => null, ], 'mysql' => [ 'driver' => 'mysql', - 'url' => env('DATABASE_URL'), + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, @@ -65,28 +85,28 @@ 'pgsql' => [ 'driver' => 'pgsql', - 'url' => env('DATABASE_URL'), + 'url' => env('DB_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', + 'charset' => env('DB_CHARSET', 'utf8'), 'prefix' => '', 'prefix_indexes' => true, - 'search_path' => 'public', + 'search_path' => env('DB_SEARCH_PATH', 'public'), 'sslmode' => 'prefer', ], 'sqlsrv' => [ 'driver' => 'sqlsrv', - 'url' => env('DATABASE_URL'), + 'url' => env('DB_URL'), 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '1433'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', + 'charset' => env('DB_CHARSET', 'utf8'), 'prefix' => '', 'prefix_indexes' => true, // 'encrypt' => env('DB_ENCRYPT', 'yes'), @@ -102,11 +122,14 @@ | | This table keeps track of all the migrations that have already run for | your application. Using this information, we can determine which of - | the migrations on disk haven't actually been run in the database. + | the migrations on disk haven't actually been run on the database. | */ - 'migrations' => 'migrations', + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], /* |-------------------------------------------------------------------------- @@ -115,7 +138,7 @@ | | Redis is an open source, fast, and advanced key-value store that also | provides a richer body of commands than a typical key-value system - | such as APC or Memcached. Laravel makes it easy to dig right in. + | such as Memcached. You may define your connection settings here. | */ @@ -126,6 +149,7 @@ 'options' => [ 'cluster' => env('REDIS_CLUSTER', 'redis'), 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + 'persistent' => env('REDIS_PERSISTENT', false), ], 'default' => [ diff --git a/config/filament.php b/config/filament.php index b68797308..0092bca0b 100644 --- a/config/filament.php +++ b/config/filament.php @@ -20,6 +20,12 @@ // 'broadcaster' => 'pusher', // 'key' => env('VITE_PUSHER_APP_KEY'), // 'cluster' => env('VITE_PUSHER_APP_CLUSTER'), + // 'wsHost' => env('VITE_PUSHER_HOST'), + // 'wsPort' => env('VITE_PUSHER_PORT'), + // 'wssPort' => env('VITE_PUSHER_PORT'), + // 'authEndpoint' => '/broadcasting/auth', + // 'disableStats' => true, + // 'encrypted' => true, // 'forceTLS' => true, // ], @@ -30,11 +36,85 @@ | Default Filesystem Disk |-------------------------------------------------------------------------- | - | This is the storage disk Filament will use to put media. You may use any - | of the disks defined in the `config/filesystems.php`. + | This is the storage disk Filament will use to store files. You may use + | any of the disks defined in the `config/filesystems.php`. | */ - 'default_filesystem_disk' => env('FILAMENT_FILESYSTEM_DISK', 'public'), + 'default_filesystem_disk' => env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Assets Path + |-------------------------------------------------------------------------- + | + | This is the directory where Filament's assets will be published to. It + | is relative to the `public` directory of your Laravel application. + | + | After changing the path, you should run `php artisan filament:assets`. + | + */ + + 'assets_path' => null, + + /* + |-------------------------------------------------------------------------- + | Cache Path + |-------------------------------------------------------------------------- + | + | This is the directory that Filament will use to store cache files that + | are used to optimize the registration of components. + | + | After changing the path, you should run `php artisan filament:cache-components`. + | + */ + + 'cache_path' => base_path('bootstrap/cache/filament'), + + /* + |-------------------------------------------------------------------------- + | Livewire Loading Delay + |-------------------------------------------------------------------------- + | + | This sets the delay before loading indicators appear. + | + | Setting this to 'none' makes indicators appear immediately, which can be + | desirable for high-latency connections. Setting it to 'default' applies + | Livewire's standard 200ms delay. + | + */ + + 'livewire_loading_delay' => 'default', + + /* + |-------------------------------------------------------------------------- + | File Generation + |-------------------------------------------------------------------------- + | + | Artisan commands that generate files can be configured here by setting + | configuration flags that will impact their location or content. + | + | Often, this is useful to preserve file generation behavior from a + | previous version of Filament, to ensure consistency between older and + | newer generated files. These flags are often documented in the upgrade + | guide for the version of Filament you are upgrading to. + | + */ + + 'file_generation' => [ + 'flags' => [], + ], + + /* + |-------------------------------------------------------------------------- + | System Route Prefix + |-------------------------------------------------------------------------- + | + | This is the prefix used for the system routes that Filament registers, + | such as the routes for downloading exports and failed import rows. + | + */ + + 'system_route_prefix' => 'filament', ]; diff --git a/config/filesystems.php b/config/filesystems.php deleted file mode 100644 index e9d9dbdbe..000000000 --- a/config/filesystems.php +++ /dev/null @@ -1,76 +0,0 @@ - env('FILESYSTEM_DISK', 'local'), - - /* - |-------------------------------------------------------------------------- - | Filesystem Disks - |-------------------------------------------------------------------------- - | - | Here you may configure as many filesystem "disks" as you wish, and you - | may even configure multiple disks of the same driver. Defaults have - | been set up for each driver as an example of the required values. - | - | Supported Drivers: "local", "ftp", "sftp", "s3" - | - */ - - 'disks' => [ - - 'local' => [ - 'driver' => 'local', - 'root' => storage_path('app'), - 'throw' => false, - ], - - 'public' => [ - 'driver' => 'local', - 'root' => storage_path('app/public'), - 'url' => env('APP_URL').'/storage', - 'visibility' => 'public', - 'throw' => false, - ], - - 's3' => [ - 'driver' => 's3', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION'), - 'bucket' => env('AWS_BUCKET'), - 'url' => env('AWS_URL'), - 'endpoint' => env('AWS_ENDPOINT'), - 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), - 'throw' => false, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Symbolic Links - |-------------------------------------------------------------------------- - | - | Here you may configure the symbolic links that will be created when the - | `storage:link` Artisan command is executed. The array keys should be - | the locations of the links and the values should be their targets. - | - */ - - 'links' => [ - public_path('storage') => storage_path('app/public'), - ], - -]; diff --git a/config/hashing.php b/config/hashing.php deleted file mode 100644 index bcd3be4c2..000000000 --- a/config/hashing.php +++ /dev/null @@ -1,52 +0,0 @@ - 'bcrypt', - - /* - |-------------------------------------------------------------------------- - | Bcrypt Options - |-------------------------------------------------------------------------- - | - | Here you may specify the configuration options that should be used when - | passwords are hashed using the Bcrypt algorithm. This will allow you - | to control the amount of time it takes to hash the given password. - | - */ - - 'bcrypt' => [ - 'rounds' => env('BCRYPT_ROUNDS', 10), - ], - - /* - |-------------------------------------------------------------------------- - | Argon Options - |-------------------------------------------------------------------------- - | - | Here you may specify the configuration options that should be used when - | passwords are hashed using the Argon algorithm. These will allow you - | to control the amount of time it takes to hash the given password. - | - */ - - 'argon' => [ - 'memory' => 65536, - 'threads' => 1, - 'time' => 4, - ], - -]; diff --git a/config/json-api-paginate.php b/config/json-api-paginate.php new file mode 100644 index 000000000..6ff3c2afa --- /dev/null +++ b/config/json-api-paginate.php @@ -0,0 +1,17 @@ + env('API_MAX_RESULTS', 500), + + /* + * The default number of results that will be returned + * when using the JSON API paginator. + */ + 'default_size' => 25, + +]; diff --git a/config/logging.php b/config/logging.php index cf03a0930..23e17b3ce 100644 --- a/config/logging.php +++ b/config/logging.php @@ -12,9 +12,9 @@ | Default Log Channel |-------------------------------------------------------------------------- | - | This option defines the default log channel that gets used when writing - | messages to the logs. The name specified in this option should match - | one of the channels defined in the "channels" configuration array. + | This option defines the default log channel that is utilized to write + | messages to your logs. The value provided here should match one of + | the channels present in the list of "channels" configured below. | */ @@ -33,7 +33,7 @@ 'deprecations' => [ 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), - 'trace' => false, + 'trace' => env('LOG_DEPRECATIONS_TRACE', false), ], /* @@ -41,20 +41,20 @@ | Log Channels |-------------------------------------------------------------------------- | - | Here you may configure the log channels for your application. Out of - | the box, Laravel uses the Monolog PHP logging library. This gives - | you a variety of powerful log handlers / formatters to utilize. + | Here you may configure the log channels for your application. Laravel + | utilizes the Monolog PHP logging library, which includes a variety + | of powerful log handlers and formatters that you're free to use. | - | Available Drivers: "single", "daily", "slack", "syslog", - | "errorlog", "monolog", - | "custom", "stack" + | Available drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", "custom", "stack" | */ 'channels' => [ + 'stack' => [ 'driver' => 'stack', - 'channels' => ['single'], + 'channels' => explode(',', env('LOG_STACK', 'single')), 'ignore_exceptions' => false, ], @@ -69,15 +69,15 @@ 'driver' => 'daily', 'path' => storage_path('logs/laravel.log'), 'level' => env('LOG_LEVEL', 'debug'), - 'days' => 14, + 'days' => env('LOG_DAILY_DAYS', 14), 'replace_placeholders' => true, ], 'slack' => [ 'driver' => 'slack', 'url' => env('LOG_SLACK_WEBHOOK_URL'), - 'username' => 'Laravel Log', - 'emoji' => ':boom:', + 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), + 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), 'level' => env('LOG_LEVEL', 'critical'), 'replace_placeholders' => true, ], @@ -96,7 +96,7 @@ 'stderr' => [ 'driver' => 'monolog', - 'level' => env('LOG_LEVEL', 'error'), + 'level' => env('LOG_LEVEL', 'debug'), 'handler' => StreamHandler::class, 'formatter' => env('LOG_STDERR_FORMATTER'), 'with' => [ @@ -108,7 +108,7 @@ 'syslog' => [ 'driver' => 'syslog', 'level' => env('LOG_LEVEL', 'debug'), - 'facility' => LOG_USER, + 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), 'replace_placeholders' => true, ], @@ -126,6 +126,7 @@ 'emergency' => [ 'path' => storage_path('logs/laravel.log'), ], + ], ]; diff --git a/config/mail.php b/config/mail.php index 48e949673..5a940fb01 100644 --- a/config/mail.php +++ b/config/mail.php @@ -2,53 +2,19 @@ return [ - /* - |-------------------------------------------------------------------------- - | Default Mailer - |-------------------------------------------------------------------------- - | - | This option controls the default mailer that is used to send any email - | messages sent by your application. Alternative mailers may be setup - | and used as needed; however, this mailer will be used by default. - | - */ - - 'default' => env('MAIL_MAILER', 'smtp'), - - /* - |-------------------------------------------------------------------------- - | Mailer Configurations - |-------------------------------------------------------------------------- - | - | Here you may configure all of the mailers used by your application plus - | their respective settings. Several examples have been configured for - | you and you are free to add your own as your application requires. - | - | Laravel supports a variety of mail "transport" drivers to be used while - | sending an e-mail. You will specify which one you are using for your - | mailers below. You are free to add additional mailers as required. - | - | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", - | "postmark", "log", "array", "failover" - | - */ - 'mailers' => [ 'smtp' => [ 'transport' => 'smtp', 'url' => env('MAIL_URL'), 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), - 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'encryption' => env('MAIL_SCHEME', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'local_domain' => env('MAIL_EHLO_DOMAIN'), 'verify_peer' => env('MAIL_VERIFY_SSL', true), - ], - - 'ses' => [ - 'transport' => 'ses', + 'scheme' => env('MAIL_SCHEME'), ], 'mailgun' => [ @@ -57,70 +23,6 @@ // 'timeout' => 5, // ], ], - - 'postmark' => [ - 'transport' => 'postmark', - // 'client' => [ - // 'timeout' => 5, - // ], - ], - - 'sendmail' => [ - 'transport' => 'sendmail', - 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), - ], - - 'log' => [ - 'transport' => 'log', - 'channel' => env('MAIL_LOG_CHANNEL'), - ], - - 'array' => [ - 'transport' => 'array', - ], - - 'failover' => [ - 'transport' => 'failover', - 'mailers' => [ - 'smtp', - 'log', - ], - ], - ], - - /* - |-------------------------------------------------------------------------- - | Global "From" Address - |-------------------------------------------------------------------------- - | - | You may wish for all e-mails sent by your application to be sent from - | the same address. Here, you may specify a name and address that is - | used globally for all e-mails that are sent by your application. - | - */ - - 'from' => [ - 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Speedtest Tracker'), - ], - - /* - |-------------------------------------------------------------------------- - | Markdown Mail Settings - |-------------------------------------------------------------------------- - | - | If you are using Markdown based email rendering, you may configure your - | theme and component paths here, allowing you to customize the design - | of the emails. Or, you may simply stick with the Laravel defaults! - | - */ - - 'markdown' => [ - 'theme' => 'default', - - 'paths' => [ - resource_path('views/vendor/mail'), - ], ], ]; diff --git a/config/queue.php b/config/queue.php deleted file mode 100644 index 675de38f6..000000000 --- a/config/queue.php +++ /dev/null @@ -1,109 +0,0 @@ - env('QUEUE_CONNECTION', 'database'), - - /* - |-------------------------------------------------------------------------- - | Queue Connections - |-------------------------------------------------------------------------- - | - | Here you may configure the connection information for each server that - | is used by your application. A default configuration has been added - | for each back-end shipped with Laravel. You are free to add more. - | - | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" - | - */ - - 'connections' => [ - - 'sync' => [ - 'driver' => 'sync', - ], - - 'database' => [ - 'driver' => 'database', - 'table' => 'jobs', - 'queue' => 'default', - 'retry_after' => 90, - 'after_commit' => false, - ], - - 'beanstalkd' => [ - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', - 'retry_after' => 90, - 'block_for' => 0, - 'after_commit' => false, - ], - - 'sqs' => [ - 'driver' => 'sqs', - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), - 'queue' => env('SQS_QUEUE', 'default'), - 'suffix' => env('SQS_SUFFIX'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), - 'after_commit' => false, - ], - - 'redis' => [ - 'driver' => 'redis', - 'connection' => 'default', - 'queue' => env('REDIS_QUEUE', 'default'), - 'retry_after' => 90, - 'block_for' => null, - 'after_commit' => false, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Job Batching - |-------------------------------------------------------------------------- - | - | The following options configure the database and table that store job - | batching information. These options can be updated to any database - | connection and table which has been defined by your application. - | - */ - - 'batching' => [ - 'database' => env('DB_CONNECTION', 'mysql'), - 'table' => 'job_batches', - ], - - /* - |-------------------------------------------------------------------------- - | Failed Queue Jobs - |-------------------------------------------------------------------------- - | - | These options configure the behavior of failed queue job logging so you - | can control which database and table are used to store the jobs that - | have failed. You may change them to any database / table you wish. - | - */ - - 'failed' => [ - 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), - 'database' => env('DB_CONNECTION', 'mysql'), - 'table' => 'failed_jobs', - ], - -]; diff --git a/config/sanctum.php b/config/sanctum.php index 529cfdc99..764a82fac 100644 --- a/config/sanctum.php +++ b/config/sanctum.php @@ -41,13 +41,28 @@ |-------------------------------------------------------------------------- | | This value controls the number of minutes until an issued token will be - | considered expired. If this value is null, personal access tokens do - | not expire. This won't tweak the lifetime of first-party sessions. + | considered expired. This will override any values set in the token's + | "expires_at" attribute, but first-party sessions are not affected. | */ 'expiration' => null, + /* + |-------------------------------------------------------------------------- + | Token Prefix + |-------------------------------------------------------------------------- + | + | Sanctum can prefix new tokens in order to take advantage of numerous + | security scanning initiatives maintained by open source platforms + | that notify developers if they commit tokens into repositories. + | + | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning + | + */ + + 'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''), + /* |-------------------------------------------------------------------------- | Sanctum Middleware @@ -60,8 +75,9 @@ */ 'middleware' => [ - 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, - 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + 'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class, + 'encrypt_cookies' => Illuminate\Cookie\Middleware\EncryptCookies::class, + 'validate_csrf_token' => Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class, ], ]; diff --git a/config/services.php b/config/services.php index 81627cb76..c7f3bddd7 100644 --- a/config/services.php +++ b/config/services.php @@ -2,37 +2,13 @@ return [ - /* - |-------------------------------------------------------------------------- - | Third Party Services - |-------------------------------------------------------------------------- - | - | This file is for storing the credentials for third party services such - | as Mailgun, Postmark, AWS and more. This file provides the de facto - | location for this type of information, allowing packages to have - | a conventional file to locate the various service credentials. - | - */ - - 'mailgun' => [ - 'domain' => env('MAILGUN_DOMAIN'), - 'secret' => env('MAILGUN_SECRET'), - 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), - 'scheme' => 'https', - ], - - 'postmark' => [ - 'token' => env('POSTMARK_TOKEN'), - ], - - 'ses' => [ - 'key' => env('AWS_ACCESS_KEY_ID'), - 'secret' => env('AWS_SECRET_ACCESS_KEY'), - 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'telegram-bot-api' => [ + 'token' => env('TELEGRAM_BOT_TOKEN'), ], - 'telegram-bot-api' => [ - 'token' => env('TELEGRAM_BOT_TOKEN', 'YOUR BOT TOKEN HERE'), + 'unifi-api' => [ + 'base_url' => env('UNIFI_API_BASE_URL', 'https://192.168.1.1'), + 'token' => env('UNIFI_API_TOKEN'), ], ]; diff --git a/config/session.php b/config/session.php index cbcaf0b47..d9dbaea98 100644 --- a/config/session.php +++ b/config/session.php @@ -9,12 +9,12 @@ | Default Session Driver |-------------------------------------------------------------------------- | - | This option controls the default session "driver" that will be used on - | requests. By default, we will use the lightweight native driver but - | you may specify any of the other wonderful drivers provided here. + | This option determines the default session driver that is utilized for + | incoming requests. Laravel supports a variety of storage options to + | persist session data. Database storage is a great default choice. | - | Supported: "file", "cookie", "database", "apc", - | "memcached", "redis", "dynamodb", "array" + | Supported: "file", "cookie", "database", "memcached", + | "redis", "dynamodb", "array" | */ @@ -27,13 +27,14 @@ | | Here you may specify the number of minutes that you wish the session | to be allowed to remain idle before it expires. If you want them - | to immediately expire on the browser closing, set that option. + | to expire immediately when the browser is closed then you may + | indicate that via the expire_on_close configuration option. | */ - 'lifetime' => env('SESSION_LIFETIME', 120), + 'lifetime' => (int) env('SESSION_LIFETIME', 10800), # 1 week - 'expire_on_close' => false, + 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), /* |-------------------------------------------------------------------------- @@ -41,21 +42,21 @@ |-------------------------------------------------------------------------- | | This option allows you to easily specify that all of your session data - | should be encrypted before it is stored. All encryption will be run - | automatically by Laravel and you can use the Session like normal. + | should be encrypted before it's stored. All encryption is performed + | automatically by Laravel and you may use the session like normal. | */ - 'encrypt' => false, + 'encrypt' => env('SESSION_ENCRYPT', false), /* |-------------------------------------------------------------------------- | Session File Location |-------------------------------------------------------------------------- | - | When using the native session driver, we need a location where session - | files may be stored. A default has been set for you but a different - | location may be specified. This is only needed for file sessions. + | When utilizing the "file" session driver, the session files are placed + | on disk. The default storage location is defined here; however, you + | are free to provide another location where they should be stored. | */ @@ -79,24 +80,24 @@ | Session Database Table |-------------------------------------------------------------------------- | - | When using the "database" session driver, you may specify the table we - | should use to manage the sessions. Of course, a sensible default is - | provided for you; however, you are free to change this as needed. + | When using the "database" session driver, you may specify the table to + | be used to store sessions. Of course, a sensible default is defined + | for you; however, you're welcome to change this to another table. | */ - 'table' => 'sessions', + 'table' => env('SESSION_TABLE', 'sessions'), /* |-------------------------------------------------------------------------- | Session Cache Store |-------------------------------------------------------------------------- | - | While using one of the framework's cache driven session backends you may - | list a cache store that should be used for these sessions. This value - | must match with one of the application's configured cache "stores". + | When using one of the framework's cache driven session backends, you may + | define the cache store which should be used to store the session data + | between requests. This must match one of your defined cache stores. | - | Affects: "apc", "dynamodb", "memcached", "redis" + | Affects: "dynamodb", "memcached", "redis" | */ @@ -120,15 +121,15 @@ | Session Cookie Name |-------------------------------------------------------------------------- | - | Here you may change the name of the cookie used to identify a session - | instance by ID. The name specified here will get used every time a - | new session cookie is created by the framework for every driver. + | Here you may change the name of the session cookie that is created by + | the framework. Typically, you should not need to change this value + | since doing so does not grant a meaningful security improvement. | */ 'cookie' => env( 'SESSION_COOKIE', - Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + Str::slug((string) env('APP_NAME', 'laravel'), '_').'_session' ), /* @@ -138,20 +139,20 @@ | | The session cookie path determines the path for which the cookie will | be regarded as available. Typically, this will be the root path of - | your application but you are free to change this when necessary. + | your application, but you're free to change this when necessary. | */ - 'path' => '/', + 'path' => env('SESSION_PATH', '/'), /* |-------------------------------------------------------------------------- | Session Cookie Domain |-------------------------------------------------------------------------- | - | Here you may change the domain of the cookie used to identify a session - | in your application. This will determine which domains the cookie is - | available to in your application. A sensible default has been set. + | This value determines the domain and subdomains the session cookie is + | available to. By default, the cookie will be available to the root + | domain and all subdomains. Typically, this shouldn't be changed. | */ @@ -177,11 +178,11 @@ | | Setting this value to true will prevent JavaScript from accessing the | value of the cookie and the cookie will only be accessible through - | the HTTP protocol. You are free to modify this option if needed. + | the HTTP protocol. It's unlikely you should disable this option. | */ - 'http_only' => true, + 'http_only' => env('SESSION_HTTP_ONLY', true), /* |-------------------------------------------------------------------------- @@ -190,12 +191,27 @@ | | This option determines how your cookies behave when cross-site requests | take place, and can be used to mitigate CSRF attacks. By default, we - | will set this value to "lax" since this is a secure default value. + | will set this value to "lax" to permit secure cross-site requests. + | + | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value | | Supported: "lax", "strict", "none", null | */ - 'same_site' => 'lax', + 'same_site' => env('SESSION_SAME_SITE', 'lax'), + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), ]; diff --git a/config/settings.php b/config/settings.php index b2b6f9183..759e06fbd 100644 --- a/config/settings.php +++ b/config/settings.php @@ -53,8 +53,8 @@ * additional prefix. */ 'cache' => [ - 'enabled' => env('SETTINGS_CACHE_ENABLED', true), - 'store' => env('CACHE_DRIVER', 'database'), + 'enabled' => env('SETTINGS_CACHE_ENABLED', false), + 'store' => env('CACHE_STORE', 'database'), 'prefix' => null, 'ttl' => null, ], diff --git a/config/speedtest.php b/config/speedtest.php index 2057fe41d..0782457aa 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -4,25 +4,50 @@ return [ /** - * Build information + * General settings. */ - 'build_date' => Carbon::parse('2024-04-16'), + 'build_date' => Carbon::parse('2026-02-03'), - 'build_version' => 'v0.19.0', + 'build_version' => 'v1.13.6', - /** - * General - */ 'content_width' => env('CONTENT_WIDTH', '7xl'), + 'prune_results_older_than' => (int) env('PRUNE_RESULTS_OLDER_THAN', 0), + 'public_dashboard' => env('PUBLIC_DASHBOARD', false), + 'default_chart_range' => strtolower(env('DEFAULT_CHART_RANGE', '24h')), + /** - * Polling + * Speedtest settings. */ - 'dashboard_polling' => env('DASHBOARD_POLLING', '60s'), + 'schedule' => env('SPEEDTEST_SCHEDULE', false), + + 'servers' => env('SPEEDTEST_SERVERS'), + + 'blocked_servers' => env('SPEEDTEST_BLOCKED_SERVERS'), + + 'interface' => env('SPEEDTEST_INTERFACE'), + + 'preflight' => [ + 'external_ip_url' => env('SPEEDTEST_CHECKINTERNET_URL') ?? env('SPEEDTEST_EXTERNAL_IP_URL', 'https://icanhazip.com'), + 'internet_check_hostname' => env('SPEEDTEST_CHECKINTERNET_URL') ?? env('SPEEDTEST_INTERNET_CHECK_HOSTNAME', 'icanhazip.com'), + 'skip_ips' => env('SPEEDTEST_SKIP_IPS'), + ], + + /** + * IP filtering settings. + */ + 'allowed_ips' => env('ALLOWED_IPS'), + + /** + * Threshold settings. + */ + 'threshold_enabled' => env('THRESHOLD_ENABLED', false), + + 'threshold_download' => env('THRESHOLD_DOWNLOAD', 0), - 'notification_polling' => env('NOTIFICATION_POLLING', '60s'), + 'threshold_upload' => env('THRESHOLD_UPLOAD', 0), - 'results_polling' => env('RESULTS_POLLING', null), + 'threshold_ping' => env('THRESHOLD_PING', 0), ]; diff --git a/config/telegram.php b/config/telegram.php deleted file mode 100755 index 982d6cf95..000000000 --- a/config/telegram.php +++ /dev/null @@ -1,5 +0,0 @@ - env('TELEGRAM_BOT_TOKEN', null), -]; diff --git a/config/view.php b/config/view.php deleted file mode 100644 index 22b8a18d3..000000000 --- a/config/view.php +++ /dev/null @@ -1,36 +0,0 @@ - [ - resource_path('views'), - ], - - /* - |-------------------------------------------------------------------------- - | Compiled View Path - |-------------------------------------------------------------------------- - | - | This option determines where all the compiled Blade templates will be - | stored for your application. Typically, this is within the storage - | directory. However, as usual, you are free to change this value. - | - */ - - 'compiled' => env( - 'VIEW_COMPILED_PATH', - realpath(storage_path('framework/views')) - ), - -]; diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 000000000..510736be9 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,13 @@ +base_path: /lang +preserve_hierarchy: true +pull_request_labels: + - "chore" + +files: + # PHP language files - root level + - source: /en/*.php + translation: /%locale_with_underscore%/%original_file_name% + + # PHP language files - settings subdirectory + - source: /en/settings/*.php + translation: /%locale_with_underscore%/settings/%original_file_name% diff --git a/database/factories/ResultFactory.php b/database/factories/ResultFactory.php index 42b3e3488..fb338571b 100644 --- a/database/factories/ResultFactory.php +++ b/database/factories/ResultFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use App\Enums\ResultService; use App\Enums\ResultStatus; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Arr; @@ -32,7 +33,7 @@ public function definition(): array if (Arr::exists($output, 'level')) { return [ - 'service' => 'faker', + 'service' => ResultService::Faker, 'data' => $output, 'status' => ResultStatus::Failed, 'scheduled' => false, @@ -40,10 +41,12 @@ public function definition(): array } return [ - 'service' => 'faker', + 'service' => ResultService::Faker, 'ping' => Arr::get($output, 'ping.latency'), 'download' => Arr::get($output, 'download.bandwidth'), 'upload' => Arr::get($output, 'upload.bandwidth'), + 'download_bytes' => Arr::get($output, 'download.bytes'), + 'upload_bytes' => Arr::get($output, 'upload.bytes'), 'data' => $output, 'status' => ResultStatus::Completed, 'scheduled' => false, diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 444fafb7f..67b418aed 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -1,7 +1,10 @@ timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); + $table->string('role')->default('user'); $table->timestamps(); }); + + User::create([ + 'name' => config('app.admin_name'), + 'email' => config('app.admin_email'), + 'email_verified_at' => now(), + 'password' => Hash::make(config('app.admin_password')), + 'role' => UserRole::Admin, + ]); } /** diff --git a/database/migrations/2018_08_08_100000_create_telescope_entries_table.php b/database/migrations/2018_08_08_100000_create_telescope_entries_table.php new file mode 100644 index 000000000..700a83f09 --- /dev/null +++ b/database/migrations/2018_08_08_100000_create_telescope_entries_table.php @@ -0,0 +1,70 @@ +getConnection()); + + $schema->create('telescope_entries', function (Blueprint $table) { + $table->bigIncrements('sequence'); + $table->uuid('uuid'); + $table->uuid('batch_id'); + $table->string('family_hash')->nullable(); + $table->boolean('should_display_on_index')->default(true); + $table->string('type', 20); + $table->longText('content'); + $table->dateTime('created_at')->nullable(); + + $table->unique('uuid'); + $table->index('batch_id'); + $table->index('family_hash'); + $table->index('created_at'); + $table->index(['type', 'should_display_on_index']); + }); + + $schema->create('telescope_entries_tags', function (Blueprint $table) { + $table->uuid('entry_uuid'); + $table->string('tag'); + + $table->primary(['entry_uuid', 'tag']); + $table->index('tag'); + + $table->foreign('entry_uuid') + ->references('uuid') + ->on('telescope_entries') + ->onDelete('cascade'); + }); + + $schema->create('telescope_monitoring', function (Blueprint $table) { + $table->string('tag')->primary(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + $schema = Schema::connection($this->getConnection()); + + $schema->dropIfExists('telescope_entries_tags'); + $schema->dropIfExists('telescope_entries'); + $schema->dropIfExists('telescope_monitoring'); + } +}; diff --git a/database/migrations/2022_08_31_202106_create_results_table.php b/database/migrations/2022_08_31_202106_create_results_table.php index 4b8429117..6614b8239 100644 --- a/database/migrations/2022_08_31_202106_create_results_table.php +++ b/database/migrations/2022_08_31_202106_create_results_table.php @@ -13,17 +13,15 @@ public function up(): void { Schema::create('results', function (Blueprint $table) { $table->id(); - $table->float('ping', 8, 3); - $table->unsignedBigInteger('download'); // will be stored in bytes - $table->unsignedBigInteger('upload'); // will be stored in bytes - $table->integer('server_id')->nullable(); - $table->string('server_host')->nullable(); - $table->string('server_name')->nullable(); - $table->string('url')->nullable(); + $table->string('service')->default('ookla'); + $table->float('ping', 8, 3)->nullable(); + $table->unsignedBigInteger('download')->nullable(); + $table->unsignedBigInteger('upload')->nullable(); + $table->text('comments')->nullable(); + $table->json('data')->nullable(); + $table->string('status'); $table->boolean('scheduled')->default(false); - $table->json('data'); // is a dump of the cli output in case we want more fields later - $table->timestamp('created_at') - ->useCurrent(); + $table->timestamps(); }); } diff --git a/database/migrations/2022_12_16_164913_transform_speedtest_server_id.php b/database/migrations/2022_12_16_164913_transform_speedtest_server_id.php deleted file mode 100644 index 7c98e7345..000000000 --- a/database/migrations/2022_12_16_164913_transform_speedtest_server_id.php +++ /dev/null @@ -1,22 +0,0 @@ -speedtest_server = [$settings->speedtest_server]; - $settings->save(); - } catch (Throwable $th) { - // This code is short lived as it'll be replaced with a jobs table... - } - } -}; diff --git a/database/migrations/2023_09_11_225054_add_role_to_users_table.php b/database/migrations/2023_09_11_225054_add_role_to_users_table.php deleted file mode 100644 index cf23b8020..000000000 --- a/database/migrations/2023_09_11_225054_add_role_to_users_table.php +++ /dev/null @@ -1,39 +0,0 @@ -string('role') - ->nullable() - ->after('remember_token'); - }); - - $user = User::first(); - - if ($user) { - $user->role = 'admin'; - - $user->save(); - } - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('users', function (Blueprint $table) { - $table->dropColumn('role'); - }); - } -}; diff --git a/database/migrations/2024_02_18_000050_update_locked_default_on_settings_table.php b/database/migrations/2024_02_18_000050_update_locked_default_on_settings_table.php new file mode 100644 index 000000000..064652094 --- /dev/null +++ b/database/migrations/2024_02_18_000050_update_locked_default_on_settings_table.php @@ -0,0 +1,36 @@ +boolean('locked')->default(false)->change(); + + $table->unique(['group', 'name']); + + $table->dropIndex(['group']); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('settings', function (Blueprint $table): void { + $table->boolean('locked')->default(null)->change(); + + $table->dropUnique(['group', 'name']); + + $table->index('group'); + }); + } +}; diff --git a/database/migrations/2024_02_18_100000_results_bad_json_table.php b/database/migrations/2024_02_18_100000_results_bad_json_table.php deleted file mode 100644 index 40d5447c0..000000000 --- a/database/migrations/2024_02_18_100000_results_bad_json_table.php +++ /dev/null @@ -1,96 +0,0 @@ -id(); - $table->string('service')->default('ookla'); - $table->float('ping', 8, 3)->nullable(); - $table->unsignedBigInteger('download')->nullable(); - $table->unsignedBigInteger('upload')->nullable(); - $table->text('comments')->nullable(); - $table->json('data')->nullable(); - $table->string('status'); - $table->boolean('scheduled')->default(false); - $table->timestamps(); - }); - } - } - - /** - * Don't disable the schedule or send a notification if there are no records. - */ - if (! DB::table('results_bad_json')->count()) { - $dataSettings = new DataMigrationSettings(); - - $dataSettings->bad_json_migrated = true; - - $dataSettings->save(); - - return; - } - - $settings = new GeneralSettings(); - - $settings->speedtest_schedule = ''; - - $settings->save(); - - $admins = User::select(['id', 'name', 'email', 'role']) - ->where('role', 'admin') - ->get(); - - foreach ($admins as $user) { - Notification::make() - ->title('Breaking change, user action required!') - ->body('v0.16.0 includes a breaking change to resolve a data quality issue. Read the release notes regarding the data migration.') - ->danger() - ->actions([ - Action::make('Release notes') - ->button() - ->url('https://github.com/alexjustesen/speedtest-tracker/releases/tag/v0.16.0') - ->openUrlInNewTab(), - ]) - ->sendToDatabase($user); - } - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::drop('results'); - - if (! Schema::hasTable('results')) { - Schema::rename('results_bad_json', 'results'); - } - } -}; diff --git a/database/migrations/2024_02_19_134706_create_imports_table.php b/database/migrations/2024_02_19_134706_create_imports_table.php index 34c5fc5b5..100b7d969 100644 --- a/database/migrations/2024_02_19_134706_create_imports_table.php +++ b/database/migrations/2024_02_19_134706_create_imports_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class() extends Migration +return new class extends Migration { /** * Run the migrations. diff --git a/database/migrations/2024_02_19_134707_create_exports_table.php b/database/migrations/2024_02_19_134707_create_exports_table.php index 91624d270..a4aab11e7 100644 --- a/database/migrations/2024_02_19_134707_create_exports_table.php +++ b/database/migrations/2024_02_19_134707_create_exports_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class() extends Migration +return new class extends Migration { /** * Run the migrations. diff --git a/database/migrations/2024_02_19_134708_create_failed_import_rows_table.php b/database/migrations/2024_02_19_134708_create_failed_import_rows_table.php index eae8cb2e2..260507e85 100644 --- a/database/migrations/2024_02_19_134708_create_failed_import_rows_table.php +++ b/database/migrations/2024_02_19_134708_create_failed_import_rows_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class() extends Migration +return new class extends Migration { /** * Run the migrations. diff --git a/database/migrations/2023_02_12_131620_add_comments_to_results_table.php b/database/migrations/2024_11_22_235011_add_benchmarks_to_results_table.php similarity index 81% rename from database/migrations/2023_02_12_131620_add_comments_to_results_table.php rename to database/migrations/2024_11_22_235011_add_benchmarks_to_results_table.php index 7d566a946..b6bba5458 100644 --- a/database/migrations/2023_02_12_131620_add_comments_to_results_table.php +++ b/database/migrations/2024_11_22_235011_add_benchmarks_to_results_table.php @@ -12,7 +12,9 @@ public function up(): void { Schema::table('results', function (Blueprint $table) { - $table->text('comments')->nullable()->after('url'); + $table->json('benchmarks') + ->nullable() + ->after('data'); }); } diff --git a/database/migrations/2023_01_12_135235_update_results_table.php b/database/migrations/2024_11_23_021744_add_healthy_to_results_table.php similarity index 56% rename from database/migrations/2023_01_12_135235_update_results_table.php rename to database/migrations/2024_11_23_021744_add_healthy_to_results_table.php index e7081fb47..62d1e8e82 100644 --- a/database/migrations/2023_01_12_135235_update_results_table.php +++ b/database/migrations/2024_11_23_021744_add_healthy_to_results_table.php @@ -12,12 +12,9 @@ public function up(): void { Schema::table('results', function (Blueprint $table) { - $table->float('ping', 8, 3)->nullable()->change(); - $table->unsignedBigInteger('download')->nullable()->change(); - $table->unsignedBigInteger('upload')->nullable()->change(); - $table->json('data')->nullable()->change(); - - $table->boolean('successful')->default(true)->after('scheduled'); + $table->boolean('healthy') + ->nullable() + ->after('benchmarks'); }); } diff --git a/database/migrations/2022_09_27_212959_create_admin_user.php b/database/migrations/2025_05_19_160458_reset_existing_api_token_abilities.php similarity index 52% rename from database/migrations/2022_09_27_212959_create_admin_user.php rename to database/migrations/2025_05_19_160458_reset_existing_api_token_abilities.php index 8b8907026..7d1fb7b3f 100644 --- a/database/migrations/2022_09_27_212959_create_admin_user.php +++ b/database/migrations/2025_05_19_160458_reset_existing_api_token_abilities.php @@ -1,8 +1,7 @@ 'Admin', - 'email' => 'admin@example.com', - 'email_verified_at' => now(), - 'password' => Hash::make('password'), - ]); + PersonalAccessToken::all()->each(function (PersonalAccessToken $token) { + $token->abilities = [ + 'results:read', + ]; + + $token->save(); + }); } /** diff --git a/database/migrations/2025_07_31_225208_add_bytes_to_results_table.php b/database/migrations/2025_07_31_225208_add_bytes_to_results_table.php new file mode 100644 index 000000000..6a9fa87a7 --- /dev/null +++ b/database/migrations/2025_07_31_225208_add_bytes_to_results_table.php @@ -0,0 +1,29 @@ +after('upload', function (Blueprint $table) { + $table->unsignedBigInteger('download_bytes')->nullable(); + $table->unsignedBigInteger('upload_bytes')->nullable(); + }); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // + } +}; diff --git a/database/migrations/2025_11_24_151719_add_dispatched_by_to_results_table.php b/database/migrations/2025_11_24_151719_add_dispatched_by_to_results_table.php new file mode 100644 index 000000000..473c9b776 --- /dev/null +++ b/database/migrations/2025_11_24_151719_add_dispatched_by_to_results_table.php @@ -0,0 +1,18 @@ +foreignId('dispatched_by')->nullable()->constrained('users')->nullOnDelete(); + }); + } +}; diff --git a/database/settings/2022_10_21_105703_create_general_settings.php b/database/settings/2022_10_21_105703_create_general_settings.php deleted file mode 100644 index 12de1d523..000000000 --- a/database/settings/2022_10_21_105703_create_general_settings.php +++ /dev/null @@ -1,15 +0,0 @@ -migrator->add('general.auth_enabled', true); - $this->migrator->add('general.site_name', 'Speedtest Tracker'); - $this->migrator->add('general.speedtest_schedule', ''); - $this->migrator->add('general.speedtest_server', null); - $this->migrator->add('general.timezone', 'UTC'); - } -} diff --git a/database/settings/2022_10_24_122646_add_time_format_to_general_settings.php b/database/settings/2022_10_24_122646_add_time_format_to_general_settings.php deleted file mode 100644 index 85e5e2c0e..000000000 --- a/database/settings/2022_10_24_122646_add_time_format_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.time_format', 'M j, Y G:i:s'); - } -} diff --git a/database/settings/2022_10_24_153411_create_thresholds_settings.php b/database/settings/2022_10_24_153411_create_thresholds_settings.php index 9dbc9496d..f41e37c41 100644 --- a/database/settings/2022_10_24_153411_create_thresholds_settings.php +++ b/database/settings/2022_10_24_153411_create_thresholds_settings.php @@ -6,9 +6,9 @@ class CreateThresholdsSettings extends SettingsMigration { public function up(): void { - $this->migrator->add('threshold.absolute_enabled', false); - $this->migrator->add('threshold.absolute_download', 0); - $this->migrator->add('threshold.absolute_upload', 0); - $this->migrator->add('threshold.absolute_ping', 0); + $this->migrator->add('threshold.absolute_enabled', config('speedtest.threshold_enabled')); + $this->migrator->add('threshold.absolute_download', config('speedtest.threshold_download')); + $this->migrator->add('threshold.absolute_upload', config('speedtest.threshold_upload')); + $this->migrator->add('threshold.absolute_ping', config('speedtest.threshold_ping')); } } diff --git a/database/settings/2023_03_05_233042_add_content_width_to_general_settings.php b/database/settings/2023_03_05_233042_add_content_width_to_general_settings.php deleted file mode 100644 index 22e74b349..000000000 --- a/database/settings/2023_03_05_233042_add_content_width_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.content_width', '7xl'); - } -}; diff --git a/database/settings/2023_10_07_113220_add_public_dashboard_enabled_to_general_settings.php b/database/settings/2023_10_07_113220_add_public_dashboard_enabled_to_general_settings.php deleted file mode 100644 index d4dcee06d..000000000 --- a/database/settings/2023_10_07_113220_add_public_dashboard_enabled_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.public_dashboard_enabled', true); - } -}; diff --git a/database/settings/2023_12_12_234839_add_db_has_time_zone_to_general_settings.php b/database/settings/2023_12_12_234839_add_db_has_time_zone_to_general_settings.php deleted file mode 100644 index caff13154..000000000 --- a/database/settings/2023_12_12_234839_add_db_has_time_zone_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.db_has_timezone', false); - } -}; diff --git a/database/settings/2024_02_18_000000_create_data_migration_settings.php b/database/settings/2024_02_18_000000_create_data_migration_settings.php deleted file mode 100644 index 0b0b06e1c..000000000 --- a/database/settings/2024_02_18_000000_create_data_migration_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('data_migration.bad_json_migrated', false); - } -}; diff --git a/database/settings/2024_02_18_010000_add_prune_results_to_general_settings.php b/database/settings/2024_02_18_010000_add_prune_results_to_general_settings.php deleted file mode 100644 index e7bf5e819..000000000 --- a/database/settings/2024_02_18_010000_add_prune_results_to_general_settings.php +++ /dev/null @@ -1,11 +0,0 @@ -migrator->add('general.prune_results_older_than', 0); - } -}; diff --git a/database/settings/2024_02_22_144620_create_healthcheck_notification_settings.php b/database/settings/2024_02_22_144620_create_healthcheck_notification_settings.php new file mode 100644 index 000000000..b5dd742bb --- /dev/null +++ b/database/settings/2024_02_22_144620_create_healthcheck_notification_settings.php @@ -0,0 +1,14 @@ +migrator->add('notification.healthcheck_enabled', false); + $this->migrator->add('notification.healthcheck_on_speedtest_run', false); + $this->migrator->add('notification.healthcheck_on_threshold_failure', false); + $this->migrator->add('notification.healthcheck_webhooks', null); + } +}; diff --git a/database/settings/2024_02_22_144650_create_ntfy_notification_settings.php b/database/settings/2024_02_22_144650_create_ntfy_notification_settings.php new file mode 100644 index 000000000..aca36e39f --- /dev/null +++ b/database/settings/2024_02_22_144650_create_ntfy_notification_settings.php @@ -0,0 +1,14 @@ +migrator->add('notification.ntfy_enabled', false); + $this->migrator->add('notification.ntfy_on_speedtest_run', false); + $this->migrator->add('notification.ntfy_on_threshold_failure', false); + $this->migrator->add('notification.ntfy_webhooks', null); + } +}; diff --git a/database/settings/2024_02_22_144650_create_slack_notification_settings.php b/database/settings/2024_02_22_144650_create_slack_notification_settings.php new file mode 100644 index 000000000..755a70b74 --- /dev/null +++ b/database/settings/2024_02_22_144650_create_slack_notification_settings.php @@ -0,0 +1,14 @@ +migrator->add('notification.slack_enabled', false); + $this->migrator->add('notification.slack_on_speedtest_run', false); + $this->migrator->add('notification.slack_on_threshold_failure', false); + $this->migrator->add('notification.slack_webhooks', null); + } +}; diff --git a/database/settings/2024_02_22_144654_create_gotify_notification_settings.php b/database/settings/2024_02_22_144654_create_gotify_notification_settings.php new file mode 100644 index 000000000..af0d818d7 --- /dev/null +++ b/database/settings/2024_02_22_144654_create_gotify_notification_settings.php @@ -0,0 +1,14 @@ +migrator->add('notification.gotify_enabled', false); + $this->migrator->add('notification.gotify_on_speedtest_run', false); + $this->migrator->add('notification.gotify_on_threshold_failure', false); + $this->migrator->add('notification.gotify_webhooks', null); + } +}; diff --git a/database/settings/2024_02_22_144680_create_pushover_notification_settings.php b/database/settings/2024_02_22_144680_create_pushover_notification_settings.php new file mode 100644 index 000000000..92f394001 --- /dev/null +++ b/database/settings/2024_02_22_144680_create_pushover_notification_settings.php @@ -0,0 +1,14 @@ +migrator->add('notification.pushover_enabled', false); + $this->migrator->add('notification.pushover_on_speedtest_run', false); + $this->migrator->add('notification.pushover_on_threshold_failure', false); + $this->migrator->add('notification.pushover_webhooks', null); + } +}; diff --git a/database/settings/2024_09_11_094357_rename_influxdb_settings.php.php b/database/settings/2024_09_11_094357_rename_influxdb_settings.php.php new file mode 100644 index 000000000..3bcca09c1 --- /dev/null +++ b/database/settings/2024_09_11_094357_rename_influxdb_settings.php.php @@ -0,0 +1,16 @@ +migrator->rename('influxdb.v2_enabled', 'dataintegration.influxdb_v2_enabled'); + $this->migrator->rename('influxdb.v2_url', 'dataintegration.influxdb_v2_url'); + $this->migrator->rename('influxdb.v2_org', 'dataintegration.influxdb_v2_org'); + $this->migrator->rename('influxdb.v2_bucket', 'dataintegration.influxdb_v2_bucket'); + $this->migrator->rename('influxdb.v2_token', 'dataintegration.influxdb_v2_token'); + $this->migrator->rename('influxdb.v2_verify_ssl', 'dataintegration.influxdb_v2_verify_ssl'); + } +} diff --git a/database/settings/2024_12_31_164343_create_apprise_notification.php b/database/settings/2024_12_31_164343_create_apprise_notification.php new file mode 100644 index 000000000..1be9ac906 --- /dev/null +++ b/database/settings/2024_12_31_164343_create_apprise_notification.php @@ -0,0 +1,16 @@ +migrator->add('notification.apprise_enabled', false); + $this->migrator->add('notification.apprise_server_url', null); + $this->migrator->add('notification.apprise_on_speedtest_run', false); + $this->migrator->add('notification.apprise_on_threshold_failure', false); + $this->migrator->add('notification.apprise_verify_ssl', true); + $this->migrator->add('notification.apprise_channel_urls', null); + } +}; diff --git a/database/settings/2025_11_25_191005_create_prometheus_settings.php b/database/settings/2025_11_25_191005_create_prometheus_settings.php new file mode 100644 index 000000000..da7c8025f --- /dev/null +++ b/database/settings/2025_11_25_191005_create_prometheus_settings.php @@ -0,0 +1,12 @@ +migrator->add('dataintegration.prometheus_enabled', false); + $this->migrator->add('dataintegration.prometheus_allowed_ips', []); + } +} diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 18253a41b..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,90 +0,0 @@ -services: - laravel.test: - build: - context: ./docker/8.3 - dockerfile: Dockerfile - args: - WWWGROUP: '${WWWGROUP}' - image: speedtest-tracker-8.3/app - extra_hosts: - - 'host.docker.internal:host-gateway' - ports: - - '${APP_PORT:-80}:80' - - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' - environment: - WWWUSER: '${WWWUSER}' - LARAVEL_SAIL: 1 - XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' - XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' - volumes: - - '.:/var/www/html' - networks: - - sail - depends_on: - - mysql - - mailpit - # - pgsql - mysql: - image: 'mysql/mysql-server:8.0' - ports: - - '${FORWARD_DB_PORT:-3306}:3306' - environment: - MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' - MYSQL_ROOT_HOST: '%' - MYSQL_DATABASE: '${DB_DATABASE}' - MYSQL_USER: '${DB_USERNAME}' - MYSQL_PASSWORD: '${DB_PASSWORD}' - MYSQL_ALLOW_EMPTY_PASSWORD: 1 - volumes: - - 'sail-mysql:/var/lib/mysql' - - './docker/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh' - networks: - - sail - healthcheck: - test: - - CMD - - mysqladmin - - ping - - '-p${DB_PASSWORD}' - retries: 3 - timeout: 5s - mailpit: - image: 'axllent/mailpit:latest' - ports: - - '${FORWARD_MAILPIT_PORT:-1025}:1025' - - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025' - networks: - - sail - # pgsql: - # image: 'postgres:15' - # ports: - # - '${FORWARD_DB_PORT:-5432}:5432' - # environment: - # PGPASSWORD: '${DB_PASSWORD:-secret}' - # POSTGRES_DB: '${DB_DATABASE}' - # POSTGRES_USER: '${DB_USERNAME}' - # POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}' - # volumes: - # - 'sail-pgsql:/var/lib/postgresql/data' - # - './docker/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql' - # networks: - # - sail - # healthcheck: - # test: - # - CMD - # - pg_isready - # - '-q' - # - '-d' - # - '${DB_DATABASE}' - # - '-U' - # - '${DB_USERNAME}' - # retries: 3 - # timeout: 5s -networks: - sail: - driver: bridge -volumes: - sail-mysql: - driver: local - # sail-pgsql: - # driver: local diff --git a/docker/8.3/Dockerfile b/docker/8.3/Dockerfile deleted file mode 100644 index c32e9908c..000000000 --- a/docker/8.3/Dockerfile +++ /dev/null @@ -1,62 +0,0 @@ -FROM ubuntu:22.04 - -LABEL maintainer="Alex Justesen" - -ARG WWWGROUP -ARG NODE_VERSION=20 -ARG POSTGRES_VERSION=15 - -WORKDIR /var/www/html - -ENV DEBIAN_FRONTEND noninteractive -ENV TZ=UTC -ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" -ENV SUPERVISOR_PHP_USER="sail" - -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone - -RUN apt-get update \ - && mkdir -p /etc/apt/keyrings \ - && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils librsvg2-bin fswatch ffmpeg nano cron \ - && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null \ - && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ - && echo "MAILTO=\"\"\n* * * * * sail /usr/bin/php /var/www/html/artisan schedule:run" > /etc/cron.d/laravel \ - && apt-get update \ - && apt-get install -y php8.3-cli php8.3-dev \ - php8.3-pgsql php8.3-sqlite3 php8.3-gd \ - php8.3-curl \ - php8.3-mysql php8.3-mbstring \ - php8.3-xml php8.3-zip php8.3-bcmath php8.3-soap \ - php8.3-intl php8.3-readline \ - php8.3-msgpack php8.3-igbinary php8.3-redis \ - php8.3-memcached php8.3-pcov php8.3-xdebug - -RUN curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ - && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ - && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ - && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null \ - && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ - && curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash \ - && apt-get update \ - && apt-get install -y nodejs \ - && npm install -g npm \ - && apt-get install -y mysql-client \ - && apt-get install -y postgresql-client-$POSTGRES_VERSION \ - && apt-get install -y speedtest \ - && apt-get -y autoremove \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.3 - -RUN groupadd --force -g $WWWGROUP sail -RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail - -COPY start-container /usr/local/bin/start-container -COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf -COPY php.ini /etc/php/8.3/cli/conf.d/99-sail.ini -RUN chmod +x /usr/local/bin/start-container - -EXPOSE 8000 - -ENTRYPOINT ["start-container"] diff --git a/docker/8.4/Dockerfile b/docker/8.4/Dockerfile new file mode 100644 index 000000000..262aa0055 --- /dev/null +++ b/docker/8.4/Dockerfile @@ -0,0 +1,84 @@ +FROM ubuntu:24.04 + +LABEL maintainer="Alex Justesen" + +ARG WWWGROUP +ARG NODE_VERSION=22 +ARG MYSQL_CLIENT="mysql-client" +ARG POSTGRES_VERSION=17 +ARG SPEEDTEST_VERSION=1.2.0 +ARG LIBRESPEED_VERSION=1.0.12 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC +ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" +ENV SUPERVISOR_PHP_USER="sail" + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN apt-get update && apt-get upgrade -y \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python3 dnsutils iputils-ping librsvg2-bin fswatch \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xb8dc7e53946656efbce4c1dd71daeaab4ad4cab6' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.4-cli php8.4-dev \ + php8.4-pgsql php8.4-sqlite3 php8.4-gd \ + php8.4-curl \ + php8.4-mysql php8.4-mbstring \ + php8.4-xml php8.4-zip php8.4-bcmath php8.4-soap \ + php8.4-intl php8.4-readline \ + php8.4-msgpack php8.4-igbinary php8.4-redis \ + php8.4-pcov php8.4-xdebug \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y $MYSQL_CLIENT \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && ARCH=$(uname -m) \ + && if [ "$ARCH" = "x86_64" ]; then \ + PLATFORM="x86_64"; \ + LIBRESPEED_PLATFORM="amd64"; \ + elif [ "$ARCH" = "aarch64" ]; then \ + PLATFORM="aarch64"; \ + LIBRESPEED_PLATFORM="arm64"; \ + else \ + echo "Unsupported architecture: $ARCH"; exit 1; \ + fi \ + && curl -o /tmp/speedtest-cli.tgz -L \ + "https://install.speedtest.net/app/cli/ookla-speedtest-$SPEEDTEST_VERSION-linux-$PLATFORM.tgz" \ + && tar -xzf /tmp/speedtest-cli.tgz -C /usr/bin \ + && curl -o /tmp/librespeed-cli.tar.gz -L \ + "https://github.com/librespeed/speedtest-cli/releases/download/v$LIBRESPEED_VERSION/librespeed-cli_${LIBRESPEED_VERSION}_linux_${LIBRESPEED_PLATFORM}.tar.gz" \ + && tar -xzf /tmp/librespeed-cli.tar.gz -C /usr/bin \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.4 + +RUN userdel -r ubuntu +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail +RUN git config --global --add safe.directory /var/www/html + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.4/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 80/tcp + +ENTRYPOINT ["start-container"] diff --git a/docker/8.3/php.ini b/docker/8.4/php.ini similarity index 100% rename from docker/8.3/php.ini rename to docker/8.4/php.ini diff --git a/docker/8.3/start-container b/docker/8.4/start-container similarity index 100% rename from docker/8.3/start-container rename to docker/8.4/start-container diff --git a/docker/8.3/supervisord.conf b/docker/8.4/supervisord.conf similarity index 100% rename from docker/8.3/supervisord.conf rename to docker/8.4/supervisord.conf diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/cron/run b/docker/deploy/etc/s6-overlay/s6-rc.d/cron/run deleted file mode 100644 index 13f7e3dd7..000000000 --- a/docker/deploy/etc/s6-overlay/s6-rc.d/cron/run +++ /dev/null @@ -1,2 +0,0 @@ -#!/command/with-contenv bash -s6-setuidgid root /usr/sbin/cron -f -l 8 \ No newline at end of file diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/cron/type b/docker/deploy/etc/s6-overlay/s6-rc.d/cron/type deleted file mode 100644 index 1780f9f44..000000000 --- a/docker/deploy/etc/s6-overlay/s6-rc.d/cron/type +++ /dev/null @@ -1 +0,0 @@ -longrun \ No newline at end of file diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/laravel-automations/dependencies b/docker/deploy/etc/s6-overlay/s6-rc.d/laravel-automations/dependencies deleted file mode 100644 index 219e09da4..000000000 --- a/docker/deploy/etc/s6-overlay/s6-rc.d/laravel-automations/dependencies +++ /dev/null @@ -1,2 +0,0 @@ -runas-user -configure-ssl \ No newline at end of file diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/dependencies.d/laravel-automations b/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/dependencies.d/laravel-automations deleted file mode 100644 index e69de29bb..000000000 diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/run b/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/run deleted file mode 100644 index c281f3894..000000000 --- a/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/run +++ /dev/null @@ -1,2 +0,0 @@ -#!/command/with-contenv bash -s6-setuidgid webuser php $WEBUSER_HOME/artisan queue:work --tries=3 --no-ansi -q \ No newline at end of file diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/type b/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/type deleted file mode 100644 index 1780f9f44..000000000 --- a/docker/deploy/etc/s6-overlay/s6-rc.d/queue-worker/type +++ /dev/null @@ -1 +0,0 @@ -longrun \ No newline at end of file diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/user/contents.d/cron b/docker/deploy/etc/s6-overlay/s6-rc.d/user/contents.d/cron deleted file mode 100644 index e69de29bb..000000000 diff --git a/docker/deploy/etc/s6-overlay/s6-rc.d/user/contents.d/queue-worker b/docker/deploy/etc/s6-overlay/s6-rc.d/user/contents.d/queue-worker deleted file mode 100644 index e69de29bb..000000000 diff --git a/docker/deploy/etc/s6-overlay/scripts/laravel-automations b/docker/deploy/etc/s6-overlay/scripts/laravel-automations deleted file mode 100644 index 884447c73..000000000 --- a/docker/deploy/etc/s6-overlay/scripts/laravel-automations +++ /dev/null @@ -1,101 +0,0 @@ -#!/command/with-contenv bash - -# Exit on error -set -e - -echo "" -echo "🐇 Configuring Speedtest Tracker..." -echo "" - -# Fix permissions -echo "🔒 Fixing app path file permissions..." -chmod -R 755 /config -chown -R webuser:webgroup /config -chmod -R 755 $WEBUSER_HOME/storage -chown -R webuser:webgroup $WEBUSER_HOME/storage -echo "✅ Permissions fixed." -echo "" - -if [ ${DB_CONNECTION:="sqlite"} = "sqlite" ]; then - # create symlinks - echo "🔗 Creating database symlink..." - symlinks=( \ - /var/www/html/database/database.sqlite \ - ) - - for i in "${symlinks[@]}" - do - if [[ -e "$i" && ! -L "$i" ]]; then - rm -rf "$i" - fi - if [[ ! -L "$i" ]]; then - ln -s /config/"$(basename "$i")" "$i" - fi - done - - echo "✅ Database symlink created." - echo "" -fi - -# Check for env file -if [ ! -f /config/.env ]; then - echo "🙄 Environment file not found, creating..." - s6-setuidgid webuser cp $WEBUSER_HOME/.env.production /config/.env - echo "✅ Environment file created." -else - echo "✅ Environment file exists." -fi - -echo "" - -# create symlinks -echo "🔗 Creating symlinks for config and log files..." -symlinks=( \ -/var/www/html/.env \ -) - -for i in "${symlinks[@]}" -do - if [[ -e "$i" && ! -L "$i" ]]; then - rm -rf "$i" - fi - if [[ ! -L "$i" ]]; then - ln -s /config/"$(basename "$i")" "$i" - fi -done - -echo "✅ Symlinks created." -echo "" - -# Check for app key -if [ ! ${APP_KEY} ]; then - if grep -E "APP_KEY=[0-9A-Za-z:+\/=]{1,}" $WEBUSER_HOME/.env > /dev/null; then - echo "✅ An application key exists." - else - echo "⏳ Generating an application key..." - export APP_KEY=$(s6-setuidgid webuser php $WEBUSER_HOME/artisan key:generate --show) - echo "⚠️ An application key was generated at start up, no environment variable was set." - echo "👀 To set an application key that persists, read the docs: https://docs.speedtest-tracker.dev/" - fi -else - echo "✅ An application key environment variable exists." -fi - -echo "" - -# Refresh cache -echo "💰 Building the cache..." -s6-setuidgid webuser php $WEBUSER_HOME/artisan view:clear --no-ansi -q -s6-setuidgid webuser php $WEBUSER_HOME/artisan optimize --no-ansi -q -echo "✅ Cache set." -echo "" - -# Migrate database -echo "🚛 Migrating the database..." -s6-setuidgid webuser php $WEBUSER_HOME/artisan migrate --force --no-ansi -q -echo "✅ Database migrated." -echo "" - -# App install done, show a message -echo "✅ All set, Speedtest Tracker started." -echo "" diff --git a/docker/deploy/etc/s6-overlay/scripts/runas-user b/docker/deploy/etc/s6-overlay/scripts/runas-user deleted file mode 100644 index 8f5123055..000000000 --- a/docker/deploy/etc/s6-overlay/scripts/runas-user +++ /dev/null @@ -1,47 +0,0 @@ -#!/command/with-contenv bash - -PUID=${PUID:-9999} -PGID=${PGID:-9999} -WEBUSER_HOME=${WEBUSER_HOME:-"/var/www/html"} - -if [[ $PUID != 9999 || $PGID != 9999 ]]; then - - # Change the group ID - groupmod -o -g "$PGID" webgroup - - # Change the User ID - usermod -o -u "$PUID" webuser - - # Make sure the home directory is updated with the proper UID & GID - chown webuser:webgroup $WEBUSER_HOME -fi - -if [[ $S6_LOGGING != 1 ]]; then -echo ' --------------------------------------------------------------------- - - _______ __ __ __ -| __|.-----.-----.-----.--| | |_.-----.-----.| |_ -|__ || _ | -__| -__| _ | _| -__|__ --|| _| -|_______|| __|_____|_____|_____|____|_____|_____||____| - |__| - _______ __ -|_ _|.----.---.-.----.| |--.-----.----. - | | | _| _ | __|| <| -__| _| - |___| |__| |___._|____||__|__|_____|__| - - ---------------------------------------------------------------------' - -echo ' -To support Speedtest Tracker visit: -https://github.com/alexjustesen/speedtest-tracker -------------------------------------- -GID/UID --------------------------------------' -echo " -User uid: $(id -u webuser) -User gid: $(id -g webuser) -------------------------------------- -" -fi diff --git a/docker/mariadb/create-testing-database.sh b/docker/mariadb/create-testing-database.sh new file mode 100644 index 000000000..d3b19d90d --- /dev/null +++ b/docker/mariadb/create-testing-database.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +/usr/bin/mariadb --user=root --password="$MYSQL_ROOT_PASSWORD" <<-EOSQL + CREATE DATABASE IF NOT EXISTS testing; + GRANT ALL PRIVILEGES ON \`testing%\`.* TO '$MYSQL_USER'@'%'; +EOSQL diff --git a/lang/de_DE/api_tokens.php b/lang/de_DE/api_tokens.php new file mode 100644 index 000000000..ec533b9f6 --- /dev/null +++ b/lang/de_DE/api_tokens.php @@ -0,0 +1,30 @@ + 'API-Token', + 'label' => 'API-Token', + + // Token management + 'api_token' => 'API token', + 'api_tokens' => 'API-Token', + 'create_api_token' => 'API-Token erstellen', + 'your_token' => 'Dein Token', + 'token_status' => 'Token-Status', + + // Token lists + 'active_tokens' => 'Aktive Token', + 'expired_tokens' => 'Abgelaufene Token', + 'all_tokens' => 'Alle Token', + + // Token properties + 'expires_at' => 'Gültig bis', + 'expires_at_helper_text' => 'Leer lassen, wenn kein Ablaufdatum gewünscht wird', + 'last_used_at' => 'Zuletzt verwendet am', + + // Abilities/Permissions + 'abilities' => 'Fähigkeiten', + 'read_results' => 'Ergebnisse lesen', + 'read_results_description' => 'Das Token hat die Berechtigung zum Lesen von Ergebnissen und Statistiken.', + 'run_speedtest_description' => 'Der Token wird die Berechtigung haben, Geschwindigkeitstest auszuführen.', + 'list_servers_description' => 'Das Token wird die Berechtigung haben, Server zu listen.', +]; diff --git a/lang/de_DE/auth.php b/lang/de_DE/auth.php new file mode 100644 index 000000000..ed5c9f604 --- /dev/null +++ b/lang/de_DE/auth.php @@ -0,0 +1,21 @@ + 'Anmelden', + 'failed' => 'Diese Zugangsdaten stimmen nicht mit unseren Datensätzen überein.', + 'password' => 'Das angegebene Passwort ist falsch.', + 'throttle' => 'Zu viele Anmeldeversuche. Bitte versuchen Sie es in :seconds Sekunden erneut.', + +]; diff --git a/lang/de_DE/dashboard.php b/lang/de_DE/dashboard.php new file mode 100644 index 000000000..093e2caab --- /dev/null +++ b/lang/de_DE/dashboard.php @@ -0,0 +1,14 @@ + 'Dashboard', + 'no_speedtests_scheduled' => 'Keine Geschwindigkeitstests geplant.', + 'next_speedtest_at' => 'Nächster Geschwindigkeitstest um', + + // Widgets + 'recent_results' => 'Neueste Ergebnisse', + 'statistics' => 'Statistiken', + 'latest_download' => 'Letzter Download', + 'latest_upload' => 'Letzter Upload', + 'latest_ping' => 'Letztes Ping', +]; diff --git a/lang/de_DE/enums.php b/lang/de_DE/enums.php new file mode 100644 index 000000000..c088858bc --- /dev/null +++ b/lang/de_DE/enums.php @@ -0,0 +1,21 @@ + [ + 'benchmarking' => 'Benchmarking', + 'checking' => 'Prüfe', + 'completed' => 'Abgeschlossen', + 'failed' => 'Fehler', + 'running' => 'Laufend', + 'started' => 'Gestartet', + 'skipped' => 'Übersprungen', + 'waiting' => 'Warten', + ], + + // Service enum values + 'service' => [ + 'faker' => 'Faker', + 'ookla' => 'Ookla', + ], +]; diff --git a/lang/de_DE/errors.php b/lang/de_DE/errors.php new file mode 100644 index 000000000..fc3319ec3 --- /dev/null +++ b/lang/de_DE/errors.php @@ -0,0 +1,23 @@ + 'Serverfehler', + 'oops_server_error' => 'Hoppla, Serverfehler!', + 'error_message' => 'Fehlermeldung', + 'error_fetching_servers' => 'Fehler beim Abrufen der Server', + 'servers_refreshed_successfully' => 'Server erfolgreich aktualisiert', + 'copied_to_clipboard' => 'In Zwischenablage kopiert', + + // Speedtest specific errors + 'ookla_error' => 'Beim Auflisten von Speedtest Servern ist ein Fehler aufgetreten. Überprüfen Sie die Logs.', + 'cron_invalid' => 'Ungültiger Cron-Ausdruck', + + // Status fix command + 'status_fix' => [ + 'confirm' => 'Möchten Sie fortfahren?', + 'fail' => 'Befehl abgebrochen.', + 'finished' => '✅ fertig!', + 'info_1' => 'Dies prüft alle Ergebnisse und korrigiert den Status auf "abgeschlossen" oder "fehlgeschlagen" basierend auf den Daten.', + 'info_2' => '📖 Lesen Sie die Dokumentation: https://docs.speedtest-tracker.dev/other/commands', + ], +]; diff --git a/lang/de_DE/general.php b/lang/de_DE/general.php new file mode 100644 index 000000000..a3f5f64f4 --- /dev/null +++ b/lang/de_DE/general.php @@ -0,0 +1,125 @@ + 'Aktuelle Version', + 'latest_version' => 'Neueste Version', + 'github' => 'GitHub', + 'repository' => 'Repository', + + // Common actions + 'save' => 'Speichern', + 'cancel' => 'Abbrechen', + 'delete' => 'Löschen', + 'edit' => 'Bearbeiten', + 'create' => 'Anlegen', + 'search' => 'Suchen', + 'filter' => 'Filtern', + 'export' => 'Exportieren', + 'actions' => 'Aktionen', + 'enable' => 'Aktivieren', + 'yes' => 'Ja', + 'no' => 'Nein', + 'options' => 'Optionen', + 'details' => 'Details', + 'view' => 'Anzeigen', + + // Common labels + 'name' => 'Name', + 'email' => 'E-Mail', + 'email_address' => 'E-Mail-Adresse', + 'password' => 'Passwort', + 'password_confirmation' => 'Passwortbestätigung', + 'id' => 'ID', + 'status' => 'Status', + 'message' => 'Nachricht', + 'comment' => 'Kommentar', + 'comments' => 'Kommentare', + 'created_at' => 'Erstellt am', + 'updated_at' => 'Aktualisiert am', + 'url' => 'URL', + 'server' => 'Server', + 'servers' => 'Server', + 'stats' => 'Statistiken', + 'statistics' => 'Statistiken', + + // Navigation + 'dashboard' => 'Dashboard', + 'results' => 'Ergebnisse', + 'settings' => 'Einstellungen', + 'users' => 'Benutzer', + 'documentation' => 'Dokumentation', + 'view_documentation' => 'Dokumentation anzeigen', + 'links' => 'Links', + 'donate' => 'Spenden', + 'donations' => 'Spenden', + + // Roles + 'admin' => 'Admin', + 'user' => 'Benutzer', + 'role' => 'Rolle', + + // Date ranges + 'last_24h' => 'Letzte 24 Stunden', + 'last_week' => 'Letzte Woche', + 'last_month' => 'Letzten Monat', + + // Metrics + 'metrics' => 'Metriken', + 'average' => 'Durchschnitt', + 'high' => 'Hoch', + 'low' => 'Niedrig', + 'faster' => 'schneller', + 'slower' => 'langsamer', + 'healthy' => 'Gesund', + 'not_measured' => 'Nicht gemessen', + 'unhealthy' => 'fehlerhaft', + 'last_results' => 'Letzte Ergebnisse', + 'total_failed' => 'Fehlgeschlagene Tests insgesamt', + 'total_complted' => 'Gesamte abgeschlossene Tests', + 'total' => 'Gesamt', + + // Units + 'ms' => 'M', + 'mbps' => 'Mbps', + + // Speed test metrics + 'download' => 'Download', + 'upload' => 'Hochladen', + 'ping' => 'Ping', + 'jitter' => 'Jitter', + + // Metric labels with units + 'download_mbps' => 'Download (Mbps)', + 'upload_mbps' => 'Upload (Mbps)', + 'ping_ms' => 'Ping (ms)', + 'download_ms' => 'Download (ms)', + 'upload_ms' => 'Upload (ms)', + 'average_ms' => 'Durchschnitt (ms)', + 'high_ms' => 'Hoch (ms)', + 'low_ms' => 'Niedrig (ms)', + 'ping_ms_label' => 'Ping (ms)', + + // Latency + 'download_latency' => 'Download-Latenz', + 'upload_latency' => 'Upload-Latenz', + + // Actions + 'run_speedtest' => 'Schnelltest ausführen', + 'list_servers' => 'Server auflisten', + 'export_current_results' => 'Aktuelle Ergebnisse exportieren', + 'test' => 'Testen', + + // Common + 'token' => 'Token', + + // Application + 'speedtest_tracker' => 'Speedtest Tracker', + 'platform' => 'Plattform', + + // Update status + 'update_available' => 'Update verfügbar!', + 'up_to_date' => 'Aktuell', + + // Notifications + 'token_created' => 'Token erstellt', +]; diff --git a/lang/de_DE/passwords.php b/lang/de_DE/passwords.php new file mode 100644 index 000000000..b4625311f --- /dev/null +++ b/lang/de_DE/passwords.php @@ -0,0 +1,20 @@ + 'Ihr Passwort wurde zurückgesetzt!', + 'sent' => 'Wir haben Ihren Link zum Zurücksetzen des Passworts per E-Mail gesendet!', + 'password' => 'Das Passwort und die Bestätigung müssen übereinstimmen und mindestens sechs Zeichen enthalten.', + +]; diff --git a/lang/de_DE/results.php b/lang/de_DE/results.php new file mode 100644 index 000000000..a506bce62 --- /dev/null +++ b/lang/de_DE/results.php @@ -0,0 +1,78 @@ + 'Ergebnisse', + 'result_overview' => 'Ergebnisübersicht', + 'error_message_title' => 'Fehlermeldung', + + // Metrics + 'download' => 'Download', + 'download_latency_high' => 'Download-Latenz hoch', + 'download_latency_low' => 'Download-Latenz niedrig', + 'download_latency_iqm' => 'Download-Latenz IQM', + 'download_latency_jitter' => 'Download-Latenz-Jitter', + + 'upload' => 'Upload', + 'upload_latency_high' => 'Upload-Latenz hoch', + 'upload_latency_low' => 'Upload-Latenz niedrig', + 'upload_latency_iqm' => 'Upload-Latenz IQM', + 'upload_latency_jitter' => 'Upload-Latenz-Jitter', + + 'ping' => 'Ping', + 'ping_details' => 'Ping-Details', + 'ping_jitter' => 'Ping-Jitter', + 'ping_high' => 'Ping hoch', + 'ping_low' => 'Ping niedrig', + + 'packet_loss' => 'Paketverlust', + 'iqm' => 'IQM', + + // Server & metadata + 'server_&_metadata' => 'Server & Metadaten', + 'server_id' => 'Server-ID', + 'server_host' => 'Server Host', + 'server_name' => 'Servername', + 'server_location' => 'Serverstandort', + 'service' => 'Service', + 'isp' => 'ISP', + 'ip_address' => 'IP-Adresse', + 'scheduled' => 'Geplant', + + // Filters + 'only_healthy_speedtests' => 'Nur gesunde Geschwindigkeitstests', + 'only_unhealthy_speedtests' => 'Nur ungesunde Geschwindigkeitstests', + 'only_manual_speedtests' => 'Nur manuelle Geschwindigkeitstests', + 'only_scheduled_speedtests' => 'Nur geplante Geschwindigkeitstests', + 'created_from' => 'Erstellt von', + 'created_until' => 'Erstellt bis', + + // Export + 'export_all_results' => 'Alle Ergebnisse exportieren', + 'export_all_results_description' => 'Exportiert jede Spalte für alle Ergebnisse.', + 'export_completed' => 'Export abgeschlossen, :count :rows exportiert.', + 'failed_export' => ':count :rows konnte nicht exportiert werden.', + 'row' => '{1} :count Zeile|[2,*] :count Zeilen', + + // Actions + 'update_comments' => 'Kommentare aktualisieren', + 'view_on_speedtest_net' => 'Auf Speedtest.net anzeigen', + + // Notifications + 'speedtest_benchmark_passed' => 'Geschwindigkeits-Benchmark bestanden', + 'speedtest_benchmark_failed' => 'Geschwindigkeits-Benchmark fehlgeschlagen', + 'speedtest_started' => 'Geschwindigkeit gestartet', + 'speedtest_completed' => 'Geschwindigkeit, abgeschlossen', + 'speedtest_failed' => 'Geschwindigkeit fehlgeschlagen', + 'download_threshold_breached' => 'Download-Schwelle gebrochen!', + 'upload_threshold_breached' => 'Upload-Schwelle gebrochen!', + 'ping_threshold_breached' => 'Ping-Schwelle gebrochen!', + + // Run Speedtest Action + 'speedtest' => 'Schnelligkeit', + 'select_server' => 'Server auswählen', + 'select_server_helper' => 'Leer lassen, um den Speedtest auszuführen, ohne einen Server anzugeben. Blockierte Server werden übersprungen.', + 'manual_servers' => 'Manuelle Server', + 'closest_servers' => 'Closest Server', + 'run_speedtest' => 'Speedtest ausführen', + 'start' => 'Start', +]; diff --git a/lang/de_DE/settings.php b/lang/de_DE/settings.php new file mode 100644 index 000000000..0d327fd2b --- /dev/null +++ b/lang/de_DE/settings.php @@ -0,0 +1,13 @@ + 'Einstellungen', + 'label' => 'Einstellungen', + + // Common settings labels + 'triggers' => 'Auslöser', + 'verify_ssl' => 'SSL überprüfen', + 'username' => 'Benutzername', + 'username_placeholder' => 'Benutzername für Basic Auth (optional)', + 'password_placeholder' => 'Passwort für Basic Auth (optional)', +]; diff --git a/lang/de_DE/settings/data_integration.php b/lang/de_DE/settings/data_integration.php new file mode 100644 index 000000000..71d1936dc --- /dev/null +++ b/lang/de_DE/settings/data_integration.php @@ -0,0 +1,46 @@ + 'Datenintegration', + 'label' => 'Datenintegration', + + // InfluxDB v2 + 'influxdb_v2' => 'InfluxDB v2', + 'influxdb_v2_description' => 'Wenn aktiviert, werden alle neuen Speedtest-Ergebnisse auch an InfluxDB gesendet.', + 'influxdb_v2_enabled' => 'Aktivieren', + 'influxdb_v2_url' => 'URL', + 'influxdb_v2_url_placeholder' => 'http://dein-influxdb-Instanz', + 'influxdb_v2_org' => 'Org', + 'influxdb_v2_bucket' => 'Eimer', + 'influxdb_v2_bucket_placeholder' => 'speedtest-Tracker', + 'influxdb_v2_token' => 'Token', + 'influxdb_v2_verify_ssl' => 'SSL überprüfen', + + // Actions + 'test_connection' => 'Verbindung testen', + 'starting_bulk_data_write_to_influxdb' => 'Starte Massendaten in InfluxDB schreiben', + 'sending_test_data_to_influxdb' => 'Senden von Testdaten an InfluxDB', + + // Test connection notifications + 'influxdb_test_failed' => 'Influxdb-Test fehlgeschlagen', + 'influxdb_test_failed_body' => 'Überprüfen Sie die Protokolle für weitere Details.', + 'influxdb_test_success' => 'Testdaten erfolgreich an Influxdb gesendet', + 'influxdb_test_success_body' => 'Testdaten wurden an InfluxDB gesendet. Überprüfen Sie, ob die Daten empfangen wurden.', + + // Bulk write notifications + 'influxdb_bulk_write_failed' => 'Fehler beim Schreiben von Massendaten in InfluxDB.', + 'influxdb_bulk_write_failed_body' => 'Überprüfen Sie die Protokolle für weitere Details.', + 'influxdb_bulk_write_success' => 'Massendatenlade für Influxdb abgeschlossen.', + 'influxdb_bulk_write_success_body' => 'Daten wurden an InfluxDB gesendet. Überprüfen Sie, ob die Daten empfangen wurden.', + + // Prometheus + 'prometheus' => 'Prometheus', + 'prometheus_enabled' => 'Aktivieren', + 'prometheus_enabled_helper_text' => 'Wenn aktiviert, werden neue Messungen für jeden neuen Geschwindigkeitstest am /prometheus Endpunkt verfügbar sein.', + 'prometheus_allowed_ips' => 'Erlaubte IP-Adressen', + 'prometheus_allowed_ips_helper' => 'Liste der IP-Adressen oder CIDR-Bereiche (z.B. 192.168.1.0/24) denen es erlaubt ist, auf den Mess-Endpunkt zuzugreifen. Leer lassen, um alle IPs zu erlauben.', + + // Common labels + 'org' => 'Org', + 'bucket' => 'Eimer', +]; diff --git a/lang/de_DE/settings/notifications.php b/lang/de_DE/settings/notifications.php new file mode 100644 index 000000000..2e364cdd1 --- /dev/null +++ b/lang/de_DE/settings/notifications.php @@ -0,0 +1,65 @@ + 'Benachrichtigungen', + 'label' => 'Benachrichtigungen', + + // Database notifications + 'database' => 'Datenbank', + 'database_description' => 'Benachrichtigungen, die an diesen Kanal gesendet werden, werden unter 🔔 Symbol in der Kopfzeile angezeigt.', + 'test_database_channel' => 'Datenbankkanal testen', + + // Mail notifications + 'mail' => 'Mail', + 'recipients' => 'Empfänger', + 'test_mail_channel' => 'Mail-Kanal testen', + + // Apprise notifications + 'apprise' => 'Apprise', + 'enable_apprise_notifications' => 'Apprise Benachrichtigungen aktivieren', + 'apprise_server' => 'Apprise Server', + 'apprise_server_url' => 'Apprise Server URL', + 'apprise_server_url_helper' => 'Die URL deines Apprise Servers. Die URL muss mit /notify enden', + 'apprise_verify_ssl' => 'SSL verifizieren', + 'apprise_channels' => 'Benachrichtigungskanäle', + 'apprise_channel_url' => 'Service URL', + 'apprise_hint_description' => 'Apprise erlaubt es dir Benachrichtigungen zu 90+ Services zu senden. Du musst einen Apprise Server hosten und folgende Service URLs konfigurieren.', + 'apprise_channel_url_helper' => 'Verwende ein Apprise URL Format. Beispiel: discord://WebhookID/Token, slack://TokenA/TokenB/TokenC', + 'apprise_save_to_test' => 'Speichere deine Einstellungen um die Benachrichtigung zu Testen.', + 'test_apprise_channel' => 'Apprise testen', + 'apprise_channel_url_validation_error' => 'Ungültige Apprise URL. Es muss ein Apprise Format verwendet werden (z.B. discord://, slack://), und nicht http:// oder https://. Für mehr Informationen die Apprise Dokumentation prüfen', + + // Webhook + 'webhook' => 'Webhook', + 'webhooks' => 'Webhooks', + 'test_webhook_channel' => 'Webhook-Kanal testen', + 'webhook_hint_description' => 'Dies sind generische Webhooks. Payload Beispiele und Implementations-Details s. h. Dokumentation. Für Services wie Discord', + + // Common notification messages + 'notify_on_every_speedtest_run' => 'Bei jedem abgeschlossenen Geschwindigkeitstest benachrichtigen', + 'notify_on_every_speedtest_run_helper' => 'Dies wird eine Benachrichtigung für jeden abgeschlossenen Geschwindigkeitstest senden, nur für gesunde oder nicht markierte Tests', + 'notify_on_threshold_failures' => 'Benachrichtigung bei Schwellenausfällen für geplante Geschwindigkeitstests', + 'notify_on_threshold_failures_helper' => 'Dies wird eine Benachrichtigung senden, wenn ein geplanter Geschwindigkeitstest keine konfigurierten Schwellwerte auslässt', + + // Test notification messages + 'test_notifications' => [ + 'database' => [ + 'ping' => 'Ich sage: Ping', + 'pong' => 'Sie sagen: Pong', + 'received' => 'Testdatenbank-Benachrichtigung erhalten!', + 'sent' => 'Testdatenbank-Benachrichtigung gesendet.', + ], + 'mail' => [ + 'add' => 'E-Mail-Empfänger hinzufügen!', + 'sent' => 'Test-E-Mail-Benachrichtigung gesendet.', + ], + 'webhook' => [ + 'add' => 'Webhook URLs hinzufügen!', + 'sent' => 'Webhook Benachrichtigung gesendet.', + 'payload' => 'Teste Webhook-Benachrichtigung', + ], + ], + + // Helper text + 'threshold_helper_text' => 'Grenzwert-Benachrichtigungen werden an die /fail Route in der URL gesendet.', +]; diff --git a/lang/de_DE/settings/thresholds.php b/lang/de_DE/settings/thresholds.php new file mode 100644 index 000000000..4a47322ff --- /dev/null +++ b/lang/de_DE/settings/thresholds.php @@ -0,0 +1,22 @@ + 'Grenzwerte', + 'label' => 'Grenzwerte', + + // Absolute thresholds + 'absolute' => 'Absolut', + 'absolute_description' => 'Absolute Schwellenwerte berücksichtigen nicht den vorherigen Verlauf und könnten bei jedem Test ausgelöst werden.', + 'absolute_enabled' => 'absolute Schwellenwerte aktivieren', + + // Metrics section + 'metrics' => 'Metriken', + 'metrics_helper_text' => 'Setze Null, um diese Metrik zu deaktivieren.', + + // General threshold labels + 'thresholds' => 'Grenzwerte', + 'threshold_enabled' => 'Grenzwert aktiviert', + 'threshold_download' => 'Schwellen-Download', + 'threshold_upload' => 'Schwellenwert hochladen', + 'threshold_ping' => 'Grenzwert Ping', +]; diff --git a/lang/de_DE/tools.php b/lang/de_DE/tools.php new file mode 100644 index 000000000..a2cfe5d73 --- /dev/null +++ b/lang/de_DE/tools.php @@ -0,0 +1,6 @@ + 'Ookla Server', +]; diff --git a/lang/de_DE/users.php b/lang/de_DE/users.php new file mode 100644 index 000000000..fd70d8582 --- /dev/null +++ b/lang/de_DE/users.php @@ -0,0 +1,15 @@ + 'Benutzer', + 'label' => 'Benutzer', + + // User prompts and messages + 'user_change' => [ + 'info' => 'Benutzerrolle aktualisiert.', + 'password_updated_info' => ':email Passwort aktualisiert.', + 'what_is_password' => 'Was ist das neue Passwort?', + 'what_is_the_email_address' => 'Wie lautet die E-Mail-Adresse?', + 'what_role' => 'Welche Rolle soll der Benutzer spielen?', + ], +]; diff --git a/lang/de_DE/validation.php b/lang/de_DE/validation.php new file mode 100644 index 000000000..d52ae0600 --- /dev/null +++ b/lang/de_DE/validation.php @@ -0,0 +1,91 @@ + [ + 'attribute-name' => [ + + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [ + 'address' => 'adresse', + 'age' => 'alt', + 'body' => 'inhalt', + 'cell' => 'zelle', + 'city' => 'stadt', + 'country' => 'land', + 'date' => 'datum', + 'day' => 'tag', + 'excerpt' => 'summary', + 'first_name' => 'vorname', + 'gender' => 'Geschlecht', + 'marital_status' => 'ehelicher Status', + 'profession' => 'Beruf', + 'nationality' => 'Nationalität', + 'hour' => 'std', + 'last_name' => 'Nachname', + 'message' => 'nachricht', + 'minute' => 'minute', + 'mobile' => 'mobile', + 'month' => 'monat', + 'name' => 'name', + 'zipcode' => 'Postleitzahl', + 'company_name' => 'firmenname', + 'neighborhood' => 'Nachbarschaft', + 'number' => 'anzahl', + 'password' => 'passwort', + 'phone' => 'telefon', + 'second' => 'sekunde', + 'sex' => 'sex', + 'state' => 'status', + 'street' => 'Straße', + 'subject' => 'thema', + 'text' => 'text', + 'time' => 'Zeit', + 'title' => 'titel', + 'username' => 'benutzername', + 'year' => 'jahr', + 'description' => 'beschreibung', + 'password_confirmation' => 'passwort bestätigen', + 'current_password' => 'aktuelles Passwort', + 'complement' => 'ergänzen', + 'modality' => 'modalität', + 'category' => 'kategorie', + 'blood_type' => 'blutiger Typ', + 'birth_date' => 'Geburtsdatum', + ], +]; diff --git a/lang/en/api_tokens.php b/lang/en/api_tokens.php new file mode 100644 index 000000000..7324ea6b4 --- /dev/null +++ b/lang/en/api_tokens.php @@ -0,0 +1,30 @@ + 'API Tokens', + 'label' => 'API Tokens', + + // Token management + 'api_token' => 'API token', + 'api_tokens' => 'API tokens', + 'create_api_token' => 'Create API token', + 'your_token' => 'Your token', + 'token_status' => 'Token status', + + // Token lists + 'active_tokens' => 'Active tokens', + 'expired_tokens' => 'Expired tokens', + 'all_tokens' => 'All tokens', + + // Token properties + 'expires_at' => 'Expires at', + 'expires_at_helper_text' => 'Leave empty if you don\'t want an expiration date', + 'last_used_at' => 'Last used at', + + // Abilities/Permissions + 'abilities' => 'Abilities', + 'read_results' => 'Read results', + 'read_results_description' => 'The token will have permission to read results and statistics.', + 'run_speedtest_description' => 'The token will have permission to run speedtest.', + 'list_servers_description' => 'The token will have permission to list servers.', +]; diff --git a/lang/en/auth.php b/lang/en/auth.php index 6598e2c06..f0d112f16 100644 --- a/lang/en/auth.php +++ b/lang/en/auth.php @@ -13,6 +13,7 @@ | */ + 'sign_in' => 'Sign in', 'failed' => 'These credentials do not match our records.', 'password' => 'The provided password is incorrect.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', diff --git a/lang/en/dashboard.php b/lang/en/dashboard.php new file mode 100644 index 000000000..14e843caa --- /dev/null +++ b/lang/en/dashboard.php @@ -0,0 +1,14 @@ + 'Dashboard', + 'no_speedtests_scheduled' => 'No speedtests scheduled.', + 'next_speedtest_at' => 'Next speedtest at', + + // Widgets + 'recent_results' => 'Recent Results', + 'statistics' => 'Statistics', + 'latest_download' => 'Latest download', + 'latest_upload' => 'Latest upload', + 'latest_ping' => 'Latest ping', +]; diff --git a/lang/en/enums.php b/lang/en/enums.php new file mode 100644 index 000000000..c1ff432af --- /dev/null +++ b/lang/en/enums.php @@ -0,0 +1,21 @@ + [ + 'benchmarking' => 'Benchmarking', + 'checking' => 'Checking', + 'completed' => 'Completed', + 'failed' => 'Failed', + 'running' => 'Running', + 'started' => 'Started', + 'skipped' => 'Skipped', + 'waiting' => 'Waiting', + ], + + // Service enum values + 'service' => [ + 'faker' => 'Faker', + 'ookla' => 'Ookla', + ], +]; diff --git a/lang/en/errors.php b/lang/en/errors.php new file mode 100644 index 000000000..9287fe21a --- /dev/null +++ b/lang/en/errors.php @@ -0,0 +1,23 @@ + 'Server Error', + 'oops_server_error' => 'Oops, server error!', + 'error_message' => 'Error message', + 'error_fetching_servers' => 'Error fetching servers', + 'servers_refreshed_successfully' => 'Servers refreshed successfully', + 'copied_to_clipboard' => 'Copied to clipboard', + + // Speedtest specific errors + 'ookla_error' => 'An error occurred when listing speedtest servers, check the logs.', + 'cron_invalid' => 'Invalid cron expression', + + // Status fix command + 'status_fix' => [ + 'confirm' => 'Do you wish to continue?', + 'fail' => 'Command aborted.', + 'finished' => '✅ done!', + 'info_1' => 'This will check all results and fix the status to "completed" or "failed" based on the data.', + 'info_2' => '📖 Read the documentation: https://docs.speedtest-tracker.dev/other/commands', + ], +]; diff --git a/lang/en/general.php b/lang/en/general.php new file mode 100644 index 000000000..65ffa88ee --- /dev/null +++ b/lang/en/general.php @@ -0,0 +1,127 @@ + 'Current version', + 'latest_version' => 'Latest version', + 'github' => 'GitHub', + 'repository' => 'Repository', + + // Common actions + 'save' => 'Save', + 'cancel' => 'Cancel', + 'delete' => 'Delete', + 'edit' => 'Edit', + 'create' => 'Create', + 'search' => 'Search', + 'filter' => 'Filter', + 'export' => 'Export', + 'actions' => 'Actions', + 'enable' => 'Enable', + 'yes' => 'Yes', + 'no' => 'No', + 'options' => 'Options', + 'details' => 'Details', + 'view' => 'View', + + // Common labels + 'name' => 'Name', + 'email' => 'Email', + 'email_address' => 'Email address', + 'password' => 'Password', + 'password_confirmation' => 'Password confirmation', + 'id' => 'ID', + 'status' => 'Status', + 'message' => 'Message', + 'comment' => 'Comment', + 'comments' => 'Comments', + 'created_at' => 'Created at', + 'updated_at' => 'Updated at', + 'url' => 'URL', + 'server' => 'Server', + 'servers' => 'Servers', + 'stats' => 'Stats', + 'statistics' => 'Statistics', + + // Navigation + 'dashboard' => 'Dashboard', + 'results' => 'Results', + 'settings' => 'Settings', + 'users' => 'Users', + 'documentation' => 'Documentation', + 'documentation_description' => 'Need help getting started or configuring your speedtests?', + 'view_documentation' => 'View documentation', + 'links' => 'Links', + 'donate' => 'Donate', + 'donations' => 'Donations', + 'donations_description' => 'Support the development and maintenance of Speedtest Tracker by making a donation.', + + // Roles + 'admin' => 'Admin', + 'user' => 'User', + 'role' => 'Role', + + // Date ranges + 'last_24h' => 'Last 24 hours', + 'last_week' => 'Last week', + 'last_month' => 'Last month', + + // Metrics + 'metrics' => 'Metrics', + 'average' => 'Average', + 'high' => 'High', + 'low' => 'Low', + 'faster' => 'faster', + 'slower' => 'slower', + 'healthy' => 'Healthy', + 'not_measured' => 'Not measured', + 'unhealthy' => 'Unhealthy', + 'last_results' => 'Last results', + 'total_failed' => 'Total failed tests', + 'total_complted' => 'Total completed tests', + 'total' => 'Total', + + // Units + 'ms' => 'ms', + 'mbps' => 'Mbps', + + // Speed test metrics + 'download' => 'Download', + 'upload' => 'Upload', + 'ping' => 'Ping', + 'jitter' => 'Jitter', + + // Metric labels with units + 'download_mbps' => 'Download (Mbps)', + 'upload_mbps' => 'Upload (Mbps)', + 'ping_ms' => 'Ping (ms)', + 'download_ms' => 'Download (ms)', + 'upload_ms' => 'Upload (ms)', + 'average_ms' => 'Average (ms)', + 'high_ms' => 'High (ms)', + 'low_ms' => 'Low (ms)', + 'ping_ms_label' => 'Ping (ms)', + + // Latency + 'download_latency' => 'Download latency', + 'upload_latency' => 'Upload latency', + + // Actions + 'run_speedtest' => 'Run speedtest', + 'list_servers' => 'List servers', + 'export_current_results' => 'Export current results', + 'test' => 'Test', + + // Common + 'token' => 'Token', + + // Application + 'speedtest_tracker' => 'Speedtest Tracker', + 'platform' => 'Platform', + + // Update status + 'update_available' => 'Update available!', + 'up_to_date' => 'Up to date', + + // Notifications + 'token_created' => 'Token Created', +]; diff --git a/lang/en/pagination.php b/lang/en/pagination.php deleted file mode 100644 index d48141187..000000000 --- a/lang/en/pagination.php +++ /dev/null @@ -1,19 +0,0 @@ - '« Previous', - 'next' => 'Next »', - -]; diff --git a/lang/en/passwords.php b/lang/en/passwords.php index 2345a56b5..6c82e5827 100644 --- a/lang/en/passwords.php +++ b/lang/en/passwords.php @@ -15,8 +15,6 @@ 'reset' => 'Your password has been reset!', 'sent' => 'We have emailed your password reset link!', - 'throttled' => 'Please wait before retrying.', - 'token' => 'This password reset token is invalid.', - 'user' => "We can't find a user with that email address.", + 'password' => 'The password and confirmation must match and contain at least six characters.', ]; diff --git a/lang/en/results.php b/lang/en/results.php new file mode 100644 index 000000000..8b625d37a --- /dev/null +++ b/lang/en/results.php @@ -0,0 +1,78 @@ + 'Results', + 'result_overview' => 'Result overview', + 'error_message_title' => 'Error message', + + // Metrics + 'download' => 'Download', + 'download_latency_high' => 'Download latency high', + 'download_latency_low' => 'Download latency low', + 'download_latency_iqm' => 'Download latency IQM', + 'download_latency_jitter' => 'Download latency jitter', + + 'upload' => 'Upload', + 'upload_latency_high' => 'Upload latency high', + 'upload_latency_low' => 'Upload latency low', + 'upload_latency_iqm' => 'Upload latency IQM', + 'upload_latency_jitter' => 'Upload latency jitter', + + 'ping' => 'Ping', + 'ping_details' => 'Ping details', + 'ping_jitter' => 'Ping jitter', + 'ping_high' => 'Ping high', + 'ping_low' => 'Ping low', + + 'packet_loss' => 'Packet loss', + 'iqm' => 'IQM', + + // Server & metadata + 'server_&_metadata' => 'Server & Metadata', + 'server_id' => 'Server ID', + 'server_host' => 'Server host', + 'server_name' => 'Server name', + 'server_location' => 'Server location', + 'service' => 'Service', + 'isp' => 'ISP', + 'ip_address' => 'IP address', + 'scheduled' => 'Scheduled', + + // Filters + 'only_healthy_speedtests' => 'Only healthy speedtests', + 'only_unhealthy_speedtests' => 'Only unhealthy speedtests', + 'only_manual_speedtests' => 'Only manual speedtests', + 'only_scheduled_speedtests' => 'Only scheduled speedtests', + 'created_from' => 'Created from', + 'created_until' => 'Created until', + + // Export + 'export_all_results' => 'Export all results', + 'export_all_results_description' => 'Will export every column for all results.', + 'export_completed' => 'Export completed, :count :rows exported.', + 'failed_export' => ':count :rows failed to export.', + 'row' => '{1} :count row|[2,*] :count rows', + + // Actions + 'update_comments' => 'Update comments', + 'view_on_speedtest_net' => 'View on Speedtest.net', + + // Notifications + 'speedtest_benchmark_passed' => 'Speedtest benchmark passed', + 'speedtest_benchmark_failed' => 'Speedtest benchmark failed', + 'speedtest_started' => 'Speedtest started', + 'speedtest_completed' => 'Speedtest completed', + 'speedtest_failed' => 'Speedtest failed', + 'download_threshold_breached' => 'Download threshold breached!', + 'upload_threshold_breached' => 'Upload threshold breached!', + 'ping_threshold_breached' => 'Ping threshold breached!', + + // Run Speedtest Action + 'speedtest' => 'Speedtest', + 'select_server' => 'Select Server', + 'select_server_helper' => 'Leave empty to run the speedtest without specifying a server. Blocked servers will be skipped.', + 'manual_servers' => 'Manual servers', + 'closest_servers' => 'Closest servers', + 'run_speedtest' => 'Run Speedtest', + 'start' => 'Start', +]; diff --git a/lang/en/settings.php b/lang/en/settings.php new file mode 100644 index 000000000..31933b420 --- /dev/null +++ b/lang/en/settings.php @@ -0,0 +1,13 @@ + 'Settings', + 'label' => 'Settings', + + // Common settings labels + 'triggers' => 'Triggers', + 'verify_ssl' => 'Verify SSL', + 'username' => 'Username', + 'username_placeholder' => 'Username for Basic Auth (optional)', + 'password_placeholder' => 'Password for Basic Auth (optional)', +]; diff --git a/lang/en/settings/data_integration.php b/lang/en/settings/data_integration.php new file mode 100644 index 000000000..60ee353d6 --- /dev/null +++ b/lang/en/settings/data_integration.php @@ -0,0 +1,46 @@ + 'Data Integration', + 'label' => 'Data Integration', + + // InfluxDB v2 + 'influxdb_v2' => 'InfluxDB v2', + 'influxdb_v2_description' => 'When enabled, all new Speedtest results will also be sent to InfluxDB.', + 'influxdb_v2_enabled' => 'Enable', + 'influxdb_v2_url' => 'URL', + 'influxdb_v2_url_placeholder' => 'http://your-influxdb-instance', + 'influxdb_v2_org' => 'Org', + 'influxdb_v2_bucket' => 'Bucket', + 'influxdb_v2_bucket_placeholder' => 'speedtest-tracker', + 'influxdb_v2_token' => 'Token', + 'influxdb_v2_verify_ssl' => 'Verify SSL', + + // Actions + 'test_connection' => 'Test connection', + 'starting_bulk_data_write_to_influxdb' => 'Starting bulk data write to InfluxDB', + 'sending_test_data_to_influxdb' => 'Sending test data to InfluxDB', + + // Test connection notifications + 'influxdb_test_failed' => 'Influxdb test failed', + 'influxdb_test_failed_body' => 'Check the logs for more details.', + 'influxdb_test_success' => 'Successfully sent test data to Influxdb', + 'influxdb_test_success_body' => 'Test data has been sent to InfluxDB, check if the data was received.', + + // Bulk write notifications + 'influxdb_bulk_write_failed' => 'Failed to bulk write to Influxdb.', + 'influxdb_bulk_write_failed_body' => 'Check the logs for more details.', + 'influxdb_bulk_write_success' => 'Finished bulk data load to Influxdb.', + 'influxdb_bulk_write_success_body' => 'Data has been sent to InfluxDB, check if the data was received.', + + // Prometheus + 'prometheus' => 'Prometheus', + 'prometheus_enabled' => 'Enable', + 'prometheus_enabled_helper_text' => 'When enabled, metrics for each new speedtest will be available at the /prometheus endpoint.', + 'prometheus_allowed_ips' => 'Allowed IP Addresses', + 'prometheus_allowed_ips_helper' => 'List of IP addresses or CIDR ranges (e.g., 192.168.1.0/24) allowed to access the metrics endpoint. Leave empty to allow all IPs.', + + // Common labels + 'org' => 'Org', + 'bucket' => 'Bucket', +]; diff --git a/lang/en/settings/notifications.php b/lang/en/settings/notifications.php new file mode 100644 index 000000000..8ccd940a2 --- /dev/null +++ b/lang/en/settings/notifications.php @@ -0,0 +1,66 @@ + 'Notifications', + 'label' => 'Notifications', + + // Database notifications + 'database' => 'Database', + 'database_description' => 'Notifications sent to this channel will show up under the 🔔 icon in the header.', + 'test_database_channel' => 'Test database channel', + + // Mail notifications + 'mail' => 'Mail', + 'recipients' => 'Recipients', + 'test_mail_channel' => 'Test mail channel', + + // Apprise notifications + 'apprise' => 'Apprise', + 'enable_apprise_notifications' => 'Enable Apprise notifications', + 'apprise_server' => 'Apprise Server', + 'apprise_server_url' => 'Apprise Server URL', + 'apprise_server_url_helper' => 'The URL of your Apprise Server. The URL must end on /notify', + 'apprise_verify_ssl' => 'Verify SSL', + 'apprise_channels' => 'Notification Channels', + 'apprise_channel_url' => 'Service URL', + 'apprise_hint_description' => 'Apprise allows you to send notifications to 90+ services. You need to run an Apprise server and configure service URLs below.', + 'apprise_channel_url_helper' => 'Use Apprise URL format. Examples: discord://WebhookID/Token, slack://TokenA/TokenB/TokenC', + 'apprise_save_to_test' => 'Save your settings to test the notification.', + 'test_apprise_channel' => 'Test Apprise', + 'apprise_channel_url_validation_error' => 'Invalid Apprise URL. Must use Apprise format (e.g., discord://, slack://), not http:// or https://. See the Apprise documentation for more information', + + // Webhook + 'webhook' => 'Webhook', + 'webhooks' => 'Webhooks', + 'test_webhook_channel' => 'Test webhook channel', + 'webhook_hint_description' => 'These are generic webhooks. For payload examples and implementation details, view the documentation. For services like Discord, Ntfy etc please use Apprise.', + + // Common notification messages + 'notify_on_every_speedtest_run' => 'Notify on every completed scheduled speedtest run', + 'notify_on_every_speedtest_run_helper' => 'This will send a notification for every completed scheduled speedtest run, only for healthy or unbenchmarked tests', + 'notify_on_threshold_failures' => 'Notify on threshold failures for scheduled speedtests', + 'notify_on_threshold_failures_helper' => 'This will send a notification when a scheduled speedtest fails any configured thresholds', + + // Test notification messages + 'test_notifications' => [ + 'database' => [ + 'ping' => 'I say: ping', + 'pong' => 'You say: pong', + 'received' => 'Test database notification received!', + 'sent' => 'Test database notification sent.', + ], + 'mail' => [ + 'add' => 'Add email recipients!', + 'sent' => 'Test mail notification sent.', + ], + 'webhook' => [ + 'add' => 'Add webhook URLs!', + 'sent' => 'Test webhook notification sent.', + 'failed' => 'Webhook notification failed.', + 'payload' => 'Testing webhook notification', + ], + ], + + // Helper text + 'threshold_helper_text' => 'Threshold notifications will be sent to the /fail route in the URL.', +]; diff --git a/lang/en/settings/thresholds.php b/lang/en/settings/thresholds.php new file mode 100644 index 000000000..6746d607b --- /dev/null +++ b/lang/en/settings/thresholds.php @@ -0,0 +1,22 @@ + 'Thresholds', + 'label' => 'Thresholds', + + // Absolute thresholds + 'absolute' => 'Absolute', + 'absolute_description' => 'Absolute thresholds do not take into account previous history and could be triggered on each test.', + 'absolute_enabled' => 'Enable absolute thresholds', + + // Metrics section + 'metrics' => 'Metrics', + 'metrics_helper_text' => 'Set to zero to disable this metric.', + + // General threshold labels + 'thresholds' => 'Thresholds', + 'threshold_enabled' => 'Threshold enabled', + 'threshold_download' => 'Threshold download', + 'threshold_upload' => 'Threshold upload', + 'threshold_ping' => 'Threshold ping', +]; diff --git a/lang/en/tools.php b/lang/en/tools.php new file mode 100644 index 000000000..f24f227c4 --- /dev/null +++ b/lang/en/tools.php @@ -0,0 +1,6 @@ + 'Ookla servers', +]; diff --git a/lang/en/users.php b/lang/en/users.php new file mode 100644 index 000000000..e1a2db217 --- /dev/null +++ b/lang/en/users.php @@ -0,0 +1,15 @@ + 'Users', + 'label' => 'Users', + + // User prompts and messages + 'user_change' => [ + 'info' => 'User role updated.', + 'password_updated_info' => ':email password updated.', + 'what_is_password' => 'What is the new password?', + 'what_is_the_email_address' => 'What is the email address?', + 'what_role' => 'What role should the user have?', + ], +]; diff --git a/lang/en/validation.php b/lang/en/validation.php index 4f8f72621..1db044439 100644 --- a/lang/en/validation.php +++ b/lang/en/validation.php @@ -13,145 +13,6 @@ | */ - 'accepted' => 'The :attribute field must be accepted.', - 'accepted_if' => 'The :attribute field must be accepted when :other is :value.', - 'active_url' => 'The :attribute field must be a valid URL.', - 'after' => 'The :attribute field must be a date after :date.', - 'after_or_equal' => 'The :attribute field must be a date after or equal to :date.', - 'alpha' => 'The :attribute field must only contain letters.', - 'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.', - 'alpha_num' => 'The :attribute field must only contain letters and numbers.', - 'array' => 'The :attribute field must be an array.', - 'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.', - 'before' => 'The :attribute field must be a date before :date.', - 'before_or_equal' => 'The :attribute field must be a date before or equal to :date.', - 'between' => [ - 'array' => 'The :attribute field must have between :min and :max items.', - 'file' => 'The :attribute field must be between :min and :max kilobytes.', - 'numeric' => 'The :attribute field must be between :min and :max.', - 'string' => 'The :attribute field must be between :min and :max characters.', - ], - 'boolean' => 'The :attribute field must be true or false.', - 'can' => 'The :attribute field contains an unauthorized value.', - 'confirmed' => 'The :attribute field confirmation does not match.', - 'current_password' => 'The password is incorrect.', - 'date' => 'The :attribute field must be a valid date.', - 'date_equals' => 'The :attribute field must be a date equal to :date.', - 'date_format' => 'The :attribute field must match the format :format.', - 'decimal' => 'The :attribute field must have :decimal decimal places.', - 'declined' => 'The :attribute field must be declined.', - 'declined_if' => 'The :attribute field must be declined when :other is :value.', - 'different' => 'The :attribute field and :other must be different.', - 'digits' => 'The :attribute field must be :digits digits.', - 'digits_between' => 'The :attribute field must be between :min and :max digits.', - 'dimensions' => 'The :attribute field has invalid image dimensions.', - 'distinct' => 'The :attribute field has a duplicate value.', - 'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.', - 'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.', - 'email' => 'The :attribute field must be a valid email address.', - 'ends_with' => 'The :attribute field must end with one of the following: :values.', - 'enum' => 'The selected :attribute is invalid.', - 'exists' => 'The selected :attribute is invalid.', - 'file' => 'The :attribute field must be a file.', - 'filled' => 'The :attribute field must have a value.', - 'gt' => [ - 'array' => 'The :attribute field must have more than :value items.', - 'file' => 'The :attribute field must be greater than :value kilobytes.', - 'numeric' => 'The :attribute field must be greater than :value.', - 'string' => 'The :attribute field must be greater than :value characters.', - ], - 'gte' => [ - 'array' => 'The :attribute field must have :value items or more.', - 'file' => 'The :attribute field must be greater than or equal to :value kilobytes.', - 'numeric' => 'The :attribute field must be greater than or equal to :value.', - 'string' => 'The :attribute field must be greater than or equal to :value characters.', - ], - 'image' => 'The :attribute field must be an image.', - 'in' => 'The selected :attribute is invalid.', - 'in_array' => 'The :attribute field must exist in :other.', - 'integer' => 'The :attribute field must be an integer.', - 'ip' => 'The :attribute field must be a valid IP address.', - 'ipv4' => 'The :attribute field must be a valid IPv4 address.', - 'ipv6' => 'The :attribute field must be a valid IPv6 address.', - 'json' => 'The :attribute field must be a valid JSON string.', - 'lowercase' => 'The :attribute field must be lowercase.', - 'lt' => [ - 'array' => 'The :attribute field must have less than :value items.', - 'file' => 'The :attribute field must be less than :value kilobytes.', - 'numeric' => 'The :attribute field must be less than :value.', - 'string' => 'The :attribute field must be less than :value characters.', - ], - 'lte' => [ - 'array' => 'The :attribute field must not have more than :value items.', - 'file' => 'The :attribute field must be less than or equal to :value kilobytes.', - 'numeric' => 'The :attribute field must be less than or equal to :value.', - 'string' => 'The :attribute field must be less than or equal to :value characters.', - ], - 'mac_address' => 'The :attribute field must be a valid MAC address.', - 'max' => [ - 'array' => 'The :attribute field must not have more than :max items.', - 'file' => 'The :attribute field must not be greater than :max kilobytes.', - 'numeric' => 'The :attribute field must not be greater than :max.', - 'string' => 'The :attribute field must not be greater than :max characters.', - ], - 'max_digits' => 'The :attribute field must not have more than :max digits.', - 'mimes' => 'The :attribute field must be a file of type: :values.', - 'mimetypes' => 'The :attribute field must be a file of type: :values.', - 'min' => [ - 'array' => 'The :attribute field must have at least :min items.', - 'file' => 'The :attribute field must be at least :min kilobytes.', - 'numeric' => 'The :attribute field must be at least :min.', - 'string' => 'The :attribute field must be at least :min characters.', - ], - 'min_digits' => 'The :attribute field must have at least :min digits.', - 'missing' => 'The :attribute field must be missing.', - 'missing_if' => 'The :attribute field must be missing when :other is :value.', - 'missing_unless' => 'The :attribute field must be missing unless :other is :value.', - 'missing_with' => 'The :attribute field must be missing when :values is present.', - 'missing_with_all' => 'The :attribute field must be missing when :values are present.', - 'multiple_of' => 'The :attribute field must be a multiple of :value.', - 'not_in' => 'The selected :attribute is invalid.', - 'not_regex' => 'The :attribute field format is invalid.', - 'numeric' => 'The :attribute field must be a number.', - 'password' => [ - 'letters' => 'The :attribute field must contain at least one letter.', - 'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.', - 'numbers' => 'The :attribute field must contain at least one number.', - 'symbols' => 'The :attribute field must contain at least one symbol.', - 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.', - ], - 'present' => 'The :attribute field must be present.', - 'prohibited' => 'The :attribute field is prohibited.', - 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.', - 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.', - 'prohibits' => 'The :attribute field prohibits :other from being present.', - 'regex' => 'The :attribute field format is invalid.', - 'required' => 'The :attribute field is required.', - 'required_array_keys' => 'The :attribute field must contain entries for: :values.', - 'required_if' => 'The :attribute field is required when :other is :value.', - 'required_if_accepted' => 'The :attribute field is required when :other is accepted.', - 'required_unless' => 'The :attribute field is required unless :other is in :values.', - 'required_with' => 'The :attribute field is required when :values is present.', - 'required_with_all' => 'The :attribute field is required when :values are present.', - 'required_without' => 'The :attribute field is required when :values is not present.', - 'required_without_all' => 'The :attribute field is required when none of :values are present.', - 'same' => 'The :attribute field must match :other.', - 'size' => [ - 'array' => 'The :attribute field must contain :size items.', - 'file' => 'The :attribute field must be :size kilobytes.', - 'numeric' => 'The :attribute field must be :size.', - 'string' => 'The :attribute field must be :size characters.', - ], - 'starts_with' => 'The :attribute field must start with one of the following: :values.', - 'string' => 'The :attribute field must be a string.', - 'timezone' => 'The :attribute field must be a valid timezone.', - 'unique' => 'The :attribute has already been taken.', - 'uploaded' => 'The :attribute failed to upload.', - 'uppercase' => 'The :attribute field must be uppercase.', - 'url' => 'The :attribute field must be a valid URL.', - 'ulid' => 'The :attribute field must be a valid ULID.', - 'uuid' => 'The :attribute field must be a valid UUID.', - /* |-------------------------------------------------------------------------- | Custom Validation Language Lines @@ -165,7 +26,7 @@ 'custom' => [ 'attribute-name' => [ - 'rule-name' => 'custom-message', + ], ], @@ -180,6 +41,51 @@ | */ - 'attributes' => [], - + 'attributes' => [ + 'address' => 'address', + 'age' => 'age', + 'body' => 'content', + 'cell' => 'cell', + 'city' => 'city', + 'country' => 'country', + 'date' => 'date', + 'day' => 'day', + 'excerpt' => 'summary', + 'first_name' => 'first name', + 'gender' => 'gender', + 'marital_status' => 'marital status', + 'profession' => 'profession', + 'nationality' => 'nationality', + 'hour' => 'hour', + 'last_name' => 'last name', + 'message' => 'message', + 'minute' => 'minute', + 'mobile' => 'mobile', + 'month' => 'month', + 'name' => 'name', + 'zipcode' => 'zipcode', + 'company_name' => 'company name', + 'neighborhood' => 'neighborhood', + 'number' => 'number', + 'password' => 'password', + 'phone' => 'phone', + 'second' => 'second', + 'sex' => 'sex', + 'state' => 'state', + 'street' => 'street', + 'subject' => 'subject', + 'text' => 'text', + 'time' => 'time', + 'title' => 'title', + 'username' => 'username', + 'year' => 'year', + 'description' => 'description', + 'password_confirmation' => 'password confirmation', + 'current_password' => 'current password', + 'complement' => 'complement', + 'modality' => 'modality', + 'category' => 'category', + 'blood_type' => 'blood type', + 'birth_date' => 'birth date', + ], ]; diff --git a/lang/es_ES/api_tokens.php b/lang/es_ES/api_tokens.php new file mode 100644 index 000000000..762784c33 --- /dev/null +++ b/lang/es_ES/api_tokens.php @@ -0,0 +1,30 @@ + 'Tokens API', + 'label' => 'Tokens API', + + // Token management + 'api_token' => 'API token', + 'api_tokens' => 'Tokens de API', + 'create_api_token' => 'Crear token API', + 'your_token' => 'Tu token', + 'token_status' => 'Estado del token', + + // Token lists + 'active_tokens' => 'Tokens activos', + 'expired_tokens' => 'Tokens caducados', + 'all_tokens' => 'Todos los tokens', + + // Token properties + 'expires_at' => 'Expira el', + 'expires_at_helper_text' => 'Dejar en blanco si no desea una fecha de caducidad', + 'last_used_at' => 'Último usado en', + + // Abilities/Permissions + 'abilities' => 'Habilidades', + 'read_results' => 'Leer resultados', + 'read_results_description' => 'El token tendrá permiso para leer resultados y estadísticas.', + 'run_speedtest_description' => 'El token tendrá permiso para ejecutar el test de velocidad.', + 'list_servers_description' => 'El token tendrá permiso para listar servidores.', +]; diff --git a/lang/es_ES/auth.php b/lang/es_ES/auth.php new file mode 100644 index 000000000..b150afe6b --- /dev/null +++ b/lang/es_ES/auth.php @@ -0,0 +1,21 @@ + 'Iniciar sesión', + 'failed' => 'Estas credenciales no coinciden con nuestros registros.', + 'password' => 'La contraseña proporcionada es incorrecta.', + 'throttle' => 'Demasiados intentos de inicio de sesión. Por favor, inténtalo de nuevo en :seconds segundos.', + +]; diff --git a/lang/es_ES/dashboard.php b/lang/es_ES/dashboard.php new file mode 100644 index 000000000..b6783d90f --- /dev/null +++ b/lang/es_ES/dashboard.php @@ -0,0 +1,14 @@ + 'Tablero', + 'no_speedtests_scheduled' => 'No hay pruebas de velocidad programadas.', + 'next_speedtest_at' => 'Siguiente prueba de velocidad en', + + // Widgets + 'recent_results' => 'Resultados recientes', + 'statistics' => 'Estadísticas', + 'latest_download' => 'Última descarga', + 'latest_upload' => 'Última subida', + 'latest_ping' => 'Último ping', +]; diff --git a/lang/es_ES/enums.php b/lang/es_ES/enums.php new file mode 100644 index 000000000..3c8089b13 --- /dev/null +++ b/lang/es_ES/enums.php @@ -0,0 +1,21 @@ + [ + 'benchmarking' => 'Marcando', + 'checking' => 'Comprobando', + 'completed' => 'Completado', + 'failed' => 'Fallo', + 'running' => 'Ejecutando', + 'started' => 'Iniciado', + 'skipped' => 'Omitido', + 'waiting' => 'Esperando', + ], + + // Service enum values + 'service' => [ + 'faker' => 'Faker', + 'ookla' => 'Ookla', + ], +]; diff --git a/lang/es_ES/errors.php b/lang/es_ES/errors.php new file mode 100644 index 000000000..c11da734d --- /dev/null +++ b/lang/es_ES/errors.php @@ -0,0 +1,23 @@ + 'Error del servidor', + 'oops_server_error' => '¡Uy, error del servidor!', + 'error_message' => 'Mensaje de error', + 'error_fetching_servers' => 'Error obteniendo servidores', + 'servers_refreshed_successfully' => 'Servidores actualizados con éxito', + 'copied_to_clipboard' => 'Copiado al portapapeles', + + // Speedtest specific errors + 'ookla_error' => 'Se ha producido un error al listar servidores de prueba de velocidad, comprobar los registros.', + 'cron_invalid' => 'Expresión cron no válida', + + // Status fix command + 'status_fix' => [ + 'confirm' => '¿Desea continuar?', + 'fail' => 'Comando abortado.', + 'finished' => '✅ ¡Hecho!', + 'info_1' => 'Esto comprobará todos los resultados y corregirá el estado a "completado" o "fallado" basado en los datos.', + 'info_2' => '📖 Lee la documentación: https://docs.speedtest-tracker.dev/other/commands', + ], +]; diff --git a/lang/es_ES/general.php b/lang/es_ES/general.php new file mode 100644 index 000000000..270adc512 --- /dev/null +++ b/lang/es_ES/general.php @@ -0,0 +1,125 @@ + 'Versión actual', + 'latest_version' => 'Última versión', + 'github' => 'GitHub', + 'repository' => 'Repositorio', + + // Common actions + 'save' => 'Guardar', + 'cancel' => 'Cancelar', + 'delete' => 'Eliminar', + 'edit' => 'Editar', + 'create' => 'Crear', + 'search' => 'Buscar', + 'filter' => 'Filtro', + 'export' => 'Exportar', + 'actions' => 'Acciones', + 'enable' => 'Activar', + 'yes' => 'Sí', + 'no' => 'Nu', + 'options' => 'Opciones', + 'details' => 'Detalles', + 'view' => 'Ver', + + // Common labels + 'name' => 'Nombre', + 'email' => 'E-mail', + 'email_address' => 'Dirección de email', + 'password' => 'Contraseña', + 'password_confirmation' => 'Confirmación de contraseña', + 'id' => 'ID', + 'status' => 'Estado', + 'message' => 'Mensaje', + 'comment' => 'Comentario', + 'comments' => 'Comentarios', + 'created_at' => 'Creado el', + 'updated_at' => 'Actualizado el', + 'url' => 'URL', + 'server' => 'Servidor', + 'servers' => 'Servidores', + 'stats' => 'Estadísticas', + 'statistics' => 'Estadísticas', + + // Navigation + 'dashboard' => 'Tablero', + 'results' => 'Resultados', + 'settings' => 'Ajustes', + 'users' => 'Usuarios', + 'documentation' => 'Documentación', + 'view_documentation' => 'Ver documentación', + 'links' => 'Enlaces', + 'donate' => 'Donar', + 'donations' => 'Donaciones', + + // Roles + 'admin' => 'Admin', + 'user' => 'Usuario', + 'role' => 'Rol', + + // Date ranges + 'last_24h' => 'Últimas 24 horas', + 'last_week' => 'Última semana', + 'last_month' => 'Último mes', + + // Metrics + 'metrics' => 'Métricas', + 'average' => 'Promedio', + 'high' => 'Alta', + 'low' => 'Baja', + 'faster' => 'más rápido', + 'slower' => 'más lento', + 'healthy' => 'Saludable', + 'not_measured' => 'No medido', + 'unhealthy' => 'Poco saludable', + 'last_results' => 'Últimos resultados', + 'total_failed' => 'Total de pruebas fallidas', + 'total_complted' => 'Total de pruebas completadas', + 'total' => 'Total', + + // Units + 'ms' => 'm', + 'mbps' => 'Mbps', + + // Speed test metrics + 'download' => 'Descargar', + 'upload' => 'Subir', + 'ping' => 'Ping', + 'jitter' => 'Jitter', + + // Metric labels with units + 'download_mbps' => 'Descargar (Mbps)', + 'upload_mbps' => 'Subir (Mbps)', + 'ping_ms' => 'Ping (ms)', + 'download_ms' => 'Descargar (ms)', + 'upload_ms' => 'Subir (ms)', + 'average_ms' => 'Promedio (ms)', + 'high_ms' => 'Alto (ms)', + 'low_ms' => 'Baja (ms)', + 'ping_ms_label' => 'Ping (ms)', + + // Latency + 'download_latency' => 'Descargar latencia', + 'upload_latency' => 'Cargar latencia', + + // Actions + 'run_speedtest' => 'Ejecutar el test de velocidad', + 'list_servers' => 'Listar servidores', + 'export_current_results' => 'Exportar resultados actuales', + 'test' => 'Prueba', + + // Common + 'token' => 'Token', + + // Application + 'speedtest_tracker' => 'Rastreador más rápido', + 'platform' => 'Plataforma', + + // Update status + 'update_available' => '¡Actualización disponible!', + 'up_to_date' => 'Actualizado', + + // Notifications + 'token_created' => 'Token creado', +]; diff --git a/lang/es_ES/passwords.php b/lang/es_ES/passwords.php new file mode 100644 index 000000000..c1132d746 --- /dev/null +++ b/lang/es_ES/passwords.php @@ -0,0 +1,20 @@ + '¡Tu contraseña ha sido restablecida!', + 'sent' => '¡Hemos enviado por correo electrónico tu enlace de restablecimiento de contraseña!', + 'password' => 'La contraseña y la confirmación deben coincidir y contener al menos seis caracteres.', + +]; diff --git a/lang/es_ES/results.php b/lang/es_ES/results.php new file mode 100644 index 000000000..89df7e984 --- /dev/null +++ b/lang/es_ES/results.php @@ -0,0 +1,78 @@ + 'Resultados', + 'result_overview' => 'Resumen de resultados', + 'error_message_title' => 'Mensaje de error', + + // Metrics + 'download' => 'Descargar', + 'download_latency_high' => 'Descargar latencia alta', + 'download_latency_low' => 'Descargar latencia baja', + 'download_latency_iqm' => 'Descargar latencia IQM', + 'download_latency_jitter' => 'Descargar jitter de latencia', + + 'upload' => 'Subir', + 'upload_latency_high' => 'Subir latencia alta', + 'upload_latency_low' => 'Subir latencia baja', + 'upload_latency_iqm' => 'Cargar latencia IQM', + 'upload_latency_jitter' => 'Subir jitter de latencia', + + 'ping' => 'Señal', + 'ping_details' => 'Detalles de ping', + 'ping_jitter' => 'Ping jitter', + 'ping_high' => 'Ping alto', + 'ping_low' => 'Ping bajo', + + 'packet_loss' => 'Pérdida del paquete', + 'iqm' => 'IQM', + + // Server & metadata + 'server_&_metadata' => 'Servidor y metadatos', + 'server_id' => 'ID del servidor', + 'server_host' => 'Servidor host', + 'server_name' => 'Nombre del servidor', + 'server_location' => 'Ubicación del servidor', + 'service' => 'Servicio', + 'isp' => 'ISP', + 'ip_address' => 'Dirección IP', + 'scheduled' => 'Programado', + + // Filters + 'only_healthy_speedtests' => 'Sólo pruebas de velocidad saludables', + 'only_unhealthy_speedtests' => 'Sólo pruebas de velocidad poco saludables', + 'only_manual_speedtests' => 'Sólo pruebas de velocidad manuales', + 'only_scheduled_speedtests' => 'Sólo pruebas de velocidad programadas', + 'created_from' => 'Creado a partir de', + 'created_until' => 'Creado hasta', + + // Export + 'export_all_results' => 'Exportar todos los resultados', + 'export_all_results_description' => 'Exportará cada columna para todos los resultados.', + 'export_completed' => 'Exportación completada, :count :rows exportadas.', + 'failed_export' => ':count :rows falló al exportar.', + 'row' => '{1} :count fila|[2,*] :count filas', + + // Actions + 'update_comments' => 'Actualizar comentarios', + 'view_on_speedtest_net' => 'Ver en Speedtest.net', + + // Notifications + 'speedtest_benchmark_passed' => 'La prueba de rendimiento de velocidad ha pasado', + 'speedtest_benchmark_failed' => 'Prueba de rendimiento de velocidad fallida', + 'speedtest_started' => 'Velocidad iniciada', + 'speedtest_completed' => 'Velocidad completada', + 'speedtest_failed' => 'Error en la prueba de velocidad', + 'download_threshold_breached' => '¡Umbral de descarga incumplido!', + 'upload_threshold_breached' => '¡Umbral de subida infringido!', + 'ping_threshold_breached' => '¡Umbral de ping infringido!', + + // Run Speedtest Action + 'speedtest' => 'Velocidad', + 'select_server' => 'Seleccionar Servidor', + 'select_server_helper' => 'Dejar en blanco para ejecutar el test de velocidad sin especificar un servidor. Se omitirán los servidores bloqueados.', + 'manual_servers' => 'Servidores manuales', + 'closest_servers' => 'Servidor más cerrado', + 'run_speedtest' => 'Ejecutar prueba de velocidad', + 'start' => 'Empezar', +]; diff --git a/lang/es_ES/settings.php b/lang/es_ES/settings.php new file mode 100644 index 000000000..102901771 --- /dev/null +++ b/lang/es_ES/settings.php @@ -0,0 +1,13 @@ + 'Ajustes', + 'label' => 'Ajustes', + + // Common settings labels + 'triggers' => 'Disparadores', + 'verify_ssl' => 'Verificar SSL', + 'username' => 'Usuario', + 'username_placeholder' => 'Nombre de usuario para Auth Básica (opcional)', + 'password_placeholder' => 'Contraseña para autenticación básica (opcional)', +]; diff --git a/lang/es_ES/settings/data_integration.php b/lang/es_ES/settings/data_integration.php new file mode 100644 index 000000000..a1b024848 --- /dev/null +++ b/lang/es_ES/settings/data_integration.php @@ -0,0 +1,46 @@ + 'Integración de datos', + 'label' => 'Integración de datos', + + // InfluxDB v2 + 'influxdb_v2' => 'InfluxDB v2', + 'influxdb_v2_description' => 'Cuando está activado, todos los nuevos resultados de Speedtest también serán enviados a InfluxDB.', + 'influxdb_v2_enabled' => 'Activar', + 'influxdb_v2_url' => 'URL', + 'influxdb_v2_url_placeholder' => 'http://su-instancia-influxdb', + 'influxdb_v2_org' => 'Org', + 'influxdb_v2_bucket' => 'Cubo', + 'influxdb_v2_bucket_placeholder' => 'rastreador de velocidad', + 'influxdb_v2_token' => 'Token', + 'influxdb_v2_verify_ssl' => 'Verificar SSL', + + // Actions + 'test_connection' => 'Probar conexión', + 'starting_bulk_data_write_to_influxdb' => 'Iniciando escritura masiva de datos en InfluxDB', + 'sending_test_data_to_influxdb' => 'Enviando datos de prueba a InfluxDB', + + // Test connection notifications + 'influxdb_test_failed' => 'Prueba de Influxdb fallida', + 'influxdb_test_failed_body' => 'Revisa los registros para más detalles.', + 'influxdb_test_success' => 'Datos de prueba enviados con éxito a Influxdb', + 'influxdb_test_success_body' => 'Los datos de prueba han sido enviados a InfluxDB, compruebe si los datos han sido recibidos.', + + // Bulk write notifications + 'influxdb_bulk_write_failed' => 'Error al escribir en masa a Influxdb.', + 'influxdb_bulk_write_failed_body' => 'Revisa los registros para más detalles.', + 'influxdb_bulk_write_success' => 'Carga de datos en masa a Influxdb.', + 'influxdb_bulk_write_success_body' => 'Los datos han sido enviados a InfluxDB, compruebe si los datos han sido recibidos.', + + // Prometheus + 'prometheus' => 'Prometeo', + 'prometheus_enabled' => 'Activar', + 'prometheus_enabled_helper_text' => 'Cuando está activado, las métricas para cada prueba de velocidad nueva estarán disponibles en el punto final /prometheus.', + 'prometheus_allowed_ips' => 'Direcciones IP permitidas', + 'prometheus_allowed_ips_helper' => 'Lista de direcciones IP o rangos CIDR (por ejemplo, 192.168.1.0/24) permitieron acceder al extremo de las métricas. Dejar en blanco para permitir todas las IPs.', + + // Common labels + 'org' => 'Org', + 'bucket' => 'Cubo', +]; diff --git a/lang/es_ES/settings/notifications.php b/lang/es_ES/settings/notifications.php new file mode 100644 index 000000000..d19c00f5e --- /dev/null +++ b/lang/es_ES/settings/notifications.php @@ -0,0 +1,65 @@ + 'Notificaciones', + 'label' => 'Notificaciones', + + // Database notifications + 'database' => 'Base de datos', + 'database_description' => 'Las notificaciones enviadas a este canal se mostrarán bajo el icono :belell: en el encabezado.', + 'test_database_channel' => 'Probar canal de base de datos', + + // Mail notifications + 'mail' => 'Correo', + 'recipients' => 'Destinatarios', + 'test_mail_channel' => 'Canal de prueba de correo', + + // Apprise notifications + 'apprise' => 'Apprise', + 'enable_apprise_notifications' => 'Habilitar notificaciones Apprise', + 'apprise_server' => 'Servidor Apprise', + 'apprise_server_url' => 'URL del servidor', + 'apprise_server_url_helper' => 'La URL de su Servidor Apprise. La URL debe terminar en /notify', + 'apprise_verify_ssl' => 'Verificar SSL', + 'apprise_channels' => 'Canales de notificación', + 'apprise_channel_url' => 'URL del servicio', + 'apprise_hint_description' => 'Apprise le permite enviar notificaciones a más de 90 servicios. Necesita ejecutar un servidor Apprise y configurar las URL del servicio a continuación.', + 'apprise_channel_url_helper' => 'Usar formato de URL de Apprise. Ejemplos: Discord', + 'apprise_save_to_test' => 'Guarda tus ajustes para probar la notificación.', + 'test_apprise_channel' => 'Prueba de aviso', + 'apprise_channel_url_validation_error' => 'URL no válida. Debe utilizar el formato Apprise (por ejemplo, discord://, slack://), no http:// o https://. Vea la documentación de Apprise para más información', + + // Webhook + 'webhook' => 'Webhook', + 'webhooks' => 'Webhooks', + 'test_webhook_channel' => 'Probar canal webhook', + 'webhook_hint_description' => 'Estos son webhooks genéricos. Para ejemplos de payload y detalles de la implementación, vea la documentación. Para servicios como Discord, Ntfy etc por favor use Apprise.', + + // Common notification messages + 'notify_on_every_speedtest_run' => 'Notificar en cada prueba de velocidad programada completada', + 'notify_on_every_speedtest_run_helper' => 'Esto enviará una notificación para cada prueba de velocidad programada completada, sólo para pruebas saludables o no benchmark', + 'notify_on_threshold_failures' => 'Notificar fallos de umbral para pruebas de velocidad programadas', + 'notify_on_threshold_failures_helper' => 'Esto enviará una notificación cuando una prueba de velocidad programada falle cualquier umbral configurado', + + // Test notification messages + 'test_notifications' => [ + 'database' => [ + 'ping' => 'Yo digo: ping', + 'pong' => 'Dice usted: pong', + 'received' => 'Notificación de la base de datos de prueba recibida!', + 'sent' => 'Notificación de prueba de base de datos enviada.', + ], + 'mail' => [ + 'add' => '¡Añadir destinatarios de correo!', + 'sent' => 'Notificación de correo de prueba enviada.', + ], + 'webhook' => [ + 'add' => '¡Añadir URL de webhook!', + 'sent' => 'Prueba de notificación de webhook enviada.', + 'payload' => 'Probando notificación de webhook', + ], + ], + + // Helper text + 'threshold_helper_text' => 'Las notificaciones de umbral se enviarán a la ruta /fail en la URL.', +]; diff --git a/lang/es_ES/settings/thresholds.php b/lang/es_ES/settings/thresholds.php new file mode 100644 index 000000000..8fc4e7748 --- /dev/null +++ b/lang/es_ES/settings/thresholds.php @@ -0,0 +1,22 @@ + 'Umbrales', + 'label' => 'Umbrales', + + // Absolute thresholds + 'absolute' => 'Absoluto', + 'absolute_description' => 'Los umbrales absolutos no tienen en cuenta la historia anterior y podrían ser activados en cada prueba.', + 'absolute_enabled' => 'Habilitar umbrales absolutos', + + // Metrics section + 'metrics' => 'Métricas', + 'metrics_helper_text' => 'Establecer en cero para desactivar esta métrica.', + + // General threshold labels + 'thresholds' => 'Umbrales', + 'threshold_enabled' => 'Umbral habilitado', + 'threshold_download' => 'Umbral de descarga', + 'threshold_upload' => 'Umbral de subida', + 'threshold_ping' => 'Umbral de ping', +]; diff --git a/lang/es_ES/tools.php b/lang/es_ES/tools.php new file mode 100644 index 000000000..249d79aae --- /dev/null +++ b/lang/es_ES/tools.php @@ -0,0 +1,6 @@ + 'Servidores Ookla', +]; diff --git a/lang/es_ES/users.php b/lang/es_ES/users.php new file mode 100644 index 000000000..b3e7c1a88 --- /dev/null +++ b/lang/es_ES/users.php @@ -0,0 +1,15 @@ + 'Usuarios', + 'label' => 'Usuarios', + + // User prompts and messages + 'user_change' => [ + 'info' => 'Rol de usuario actualizado.', + 'password_updated_info' => ':email contraseña actualizada.', + 'what_is_password' => '¿Cuál es la nueva contraseña?', + 'what_is_the_email_address' => '¿Cuál es la dirección de correo electrónico?', + 'what_role' => '¿Qué rol debe tener el usuario?', + ], +]; diff --git a/lang/es_ES/validation.php b/lang/es_ES/validation.php new file mode 100644 index 000000000..9eb5a792a --- /dev/null +++ b/lang/es_ES/validation.php @@ -0,0 +1,91 @@ + [ + 'attribute-name' => [ + + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [ + 'address' => 'dirección', + 'age' => 'edad', + 'body' => 'contenido', + 'cell' => 'celda', + 'city' => 'ciudad', + 'country' => 'país', + 'date' => 'fecha', + 'day' => 'día', + 'excerpt' => 'summary', + 'first_name' => 'nombre', + 'gender' => 'género', + 'marital_status' => 'estado civil', + 'profession' => 'profesión', + 'nationality' => 'nacionalidad', + 'hour' => 'hora', + 'last_name' => 'apellido', + 'message' => 'mensaje', + 'minute' => 'minuto', + 'mobile' => 'móvil', + 'month' => 'mes', + 'name' => 'nombre', + 'zipcode' => 'código postal', + 'company_name' => 'nombre de empresa', + 'neighborhood' => 'vecindad', + 'number' => 'número', + 'password' => 'contraseña', + 'phone' => 'teléfono', + 'second' => 'segundo', + 'sex' => 'sexo', + 'state' => 'estado', + 'street' => 'calle', + 'subject' => 'tema', + 'text' => 'texto', + 'time' => 'tiempo', + 'title' => 'título', + 'username' => 'nombre de usuario', + 'year' => 'año', + 'description' => 'descripción', + 'password_confirmation' => 'confirmación de contraseña', + 'current_password' => 'contraseña actual', + 'complement' => 'complemento', + 'modality' => 'modalidad', + 'category' => 'categoría', + 'blood_type' => 'tipo de sangre', + 'birth_date' => 'fecha de nacimiento', + ], +]; diff --git a/lang/fr_FR/api_tokens.php b/lang/fr_FR/api_tokens.php new file mode 100644 index 000000000..1511fc17a --- /dev/null +++ b/lang/fr_FR/api_tokens.php @@ -0,0 +1,30 @@ + 'Jetons API', + 'label' => 'Jetons API', + + // Token management + 'api_token' => 'jeton API', + 'api_tokens' => 'jetons API', + 'create_api_token' => 'Créer un jeton API', + 'your_token' => 'Votre jeton', + 'token_status' => 'Statut du jeton', + + // Token lists + 'active_tokens' => 'Jetons actifs', + 'expired_tokens' => 'Jetons expirés', + 'all_tokens' => 'Tous les jetons', + + // Token properties + 'expires_at' => 'Expire le', + 'expires_at_helper_text' => 'Laisser vide si vous ne voulez pas de date d\'expiration', + 'last_used_at' => 'Dernière utilisation le', + + // Abilities/Permissions + 'abilities' => 'Capacités', + 'read_results' => 'Lire les résultats', + 'read_results_description' => 'Le jeton aura la permission de lire les résultats et les statistiques.', + 'run_speedtest_description' => 'Le jeton aura la permission d\'exécuter des tests de vitesse.', + 'list_servers_description' => 'Le jeton aura la permission de lister les serveurs.', +]; diff --git a/lang/fr_FR/auth.php b/lang/fr_FR/auth.php new file mode 100644 index 000000000..fc8d1390b --- /dev/null +++ b/lang/fr_FR/auth.php @@ -0,0 +1,21 @@ + 'Se connecter', + 'failed' => 'Ces identifiants ne correspondent pas à nos enregistrements.', + 'password' => 'Le mot de passe fourni est incorrect.', + 'throttle' => 'Trop de tentatives de connexion. Veuillez réessayer dans :seconds secondes.', + +]; diff --git a/lang/fr_FR/dashboard.php b/lang/fr_FR/dashboard.php new file mode 100644 index 000000000..7faae0a35 --- /dev/null +++ b/lang/fr_FR/dashboard.php @@ -0,0 +1,14 @@ + 'Tableau de bord', + 'no_speedtests_scheduled' => 'Aucun test de vitesse programmé.', + 'next_speedtest_at' => 'Prochain test de vitesse à', + + // Widgets + 'recent_results' => 'Résultats récents', + 'statistics' => 'Statistiques', + 'latest_download' => 'Dernier téléchargement', + 'latest_upload' => 'Dernier envoi', + 'latest_ping' => 'Dernière latence', +]; diff --git a/lang/fr_FR/enums.php b/lang/fr_FR/enums.php new file mode 100644 index 000000000..c5afd6771 --- /dev/null +++ b/lang/fr_FR/enums.php @@ -0,0 +1,21 @@ + [ + 'benchmarking' => 'Évaluation comparative', + 'checking' => 'En cours de vérification', + 'completed' => 'Terminé', + 'failed' => 'Échec', + 'running' => 'En cours d\'exécution', + 'started' => 'Démarré', + 'skipped' => 'Ignoré', + 'waiting' => 'En attente', + ], + + // Service enum values + 'service' => [ + 'faker' => 'Faker', + 'ookla' => 'Ookla', + ], +]; diff --git a/lang/fr_FR/errors.php b/lang/fr_FR/errors.php new file mode 100644 index 000000000..c42fe736a --- /dev/null +++ b/lang/fr_FR/errors.php @@ -0,0 +1,23 @@ + 'Erreur serveur', + 'oops_server_error' => 'Oups, erreur de serveur !', + 'error_message' => 'Message d\'erreur', + 'error_fetching_servers' => 'Erreur lors de la récupération des serveurs', + 'servers_refreshed_successfully' => 'Serveurs actualisés avec succès', + 'copied_to_clipboard' => 'Copié dans le presse-papiers', + + // Speedtest specific errors + 'ookla_error' => 'Une erreur s’est produite pendant la création de la liste des serveurs, vérifiez les logs.', + 'cron_invalid' => 'Expression cron invalide', + + // Status fix command + 'status_fix' => [ + 'confirm' => 'Voulez-vous continuer ?', + 'fail' => 'Commande abandonnée.', + 'finished' => '✅ terminé !', + 'info_1' => 'Cela vérifiera tous les résultats et corrigera le statut à "terminé" ou "échec" en fonction des données.', + 'info_2' => '📖 Lisez la documentation: https://docs.speedtest-tracker.dev/other/commands', + ], +]; diff --git a/lang/fr_FR/general.php b/lang/fr_FR/general.php new file mode 100644 index 000000000..1865af7d7 --- /dev/null +++ b/lang/fr_FR/general.php @@ -0,0 +1,125 @@ + 'Version actuelle', + 'latest_version' => 'Dernière version', + 'github' => 'GitHub', + 'repository' => 'Dépôt', + + // Common actions + 'save' => 'Enregistrer', + 'cancel' => 'Abandonner', + 'delete' => 'Supprimer', + 'edit' => 'Modifier', + 'create' => 'Créer', + 'search' => 'Chercher', + 'filter' => 'Filtrer', + 'export' => 'Exporter', + 'actions' => 'Actions', + 'enable' => 'Activer', + 'yes' => 'Oui', + 'no' => 'Non', + 'options' => 'Options', + 'details' => 'Détails', + 'view' => 'Voir', + + // Common labels + 'name' => 'Nom', + 'email' => 'Email', + 'email_address' => 'Adresse e-mail', + 'password' => 'Mot de passe', + 'password_confirmation' => 'Confirmation du mot de passe', + 'id' => 'Identifiant', + 'status' => 'Statut', + 'message' => 'Message', + 'comment' => 'Commentaire', + 'comments' => 'Commentaires', + 'created_at' => 'Créé le', + 'updated_at' => 'Mis à jour le', + 'url' => 'URL', + 'server' => 'Serveur', + 'servers' => 'Serveurs', + 'stats' => 'Stats', + 'statistics' => 'Statistiques', + + // Navigation + 'dashboard' => 'Tableau de bord', + 'results' => 'Résultats', + 'settings' => 'Réglages', + 'users' => 'Utilisateurs', + 'documentation' => 'Documentation', + 'view_documentation' => 'Afficher la documentation', + 'links' => 'Liens', + 'donate' => 'Faire un don', + 'donations' => 'Dons', + + // Roles + 'admin' => 'Administrateur', + 'user' => 'Utilisateur', + 'role' => 'Rôle', + + // Date ranges + 'last_24h' => 'Dernières 24 heures', + 'last_week' => 'La semaine dernière', + 'last_month' => 'Le mois dernier', + + // Metrics + 'metrics' => 'Métriques', + 'average' => 'Moyenne', + 'high' => 'Élevé', + 'low' => 'Bas', + 'faster' => 'rapide', + 'slower' => 'lent', + 'healthy' => 'Sain', + 'not_measured' => 'Non mesuré', + 'unhealthy' => 'Malsain', + 'last_results' => 'Derniers résultats', + 'total_failed' => 'Total des tests échoués', + 'total_complted' => 'Total des tests terminés', + 'total' => 'Total', + + // Units + 'ms' => 'ms', + 'mbps' => 'Mbit/s', + + // Speed test metrics + 'download' => 'Téléchargement', + 'upload' => 'Envoi', + 'ping' => 'Latence', + 'jitter' => 'Gigue', + + // Metric labels with units + 'download_mbps' => 'Téléchargement (Mbit/s)', + 'upload_mbps' => 'Envoi (Mbit/s)', + 'ping_ms' => 'Latence (ms)', + 'download_ms' => 'Téléchargement (ms)', + 'upload_ms' => 'Envoi (ms)', + 'average_ms' => 'Moyenne (ms)', + 'high_ms' => 'Élevé (ms)', + 'low_ms' => 'Bas (ms)', + 'ping_ms_label' => 'Latence (ms)', + + // Latency + 'download_latency' => 'Délai de téléchargement', + 'upload_latency' => 'Délai d\'envoi', + + // Actions + 'run_speedtest' => 'Test de vitesse', + 'list_servers' => 'Liste des serveurs', + 'export_current_results' => 'Exporter les résultats actuels', + 'test' => 'Tester', + + // Common + 'token' => 'Jeton', + + // Application + 'speedtest_tracker' => 'Suivi de test de vitesse', + 'platform' => 'Plateforme', + + // Update status + 'update_available' => 'Mise à jour disponible !', + 'up_to_date' => 'À jour', + + // Notifications + 'token_created' => 'Jeton créé', +]; diff --git a/lang/fr_FR/passwords.php b/lang/fr_FR/passwords.php new file mode 100644 index 000000000..fc96f7ae3 --- /dev/null +++ b/lang/fr_FR/passwords.php @@ -0,0 +1,20 @@ + 'Votre mot de passe a été réinitialisé !', + 'sent' => 'Nous avons envoyé un e-mail pour réinitialiser votre mot de passe !', + 'password' => 'Le mot de passe et la confirmation doivent correspondre et contenir au moins six caractères.', + +]; diff --git a/lang/fr_FR/results.php b/lang/fr_FR/results.php new file mode 100644 index 000000000..ab2715930 --- /dev/null +++ b/lang/fr_FR/results.php @@ -0,0 +1,78 @@ + 'Résultats', + 'result_overview' => 'Aperçu des résultats', + 'error_message_title' => 'Message d\'erreur', + + // Metrics + 'download' => 'Téléchargement', + 'download_latency_high' => 'Latence de téléchargement élevée', + 'download_latency_low' => 'Latence de téléchargement bas', + 'download_latency_iqm' => 'Latence de téléchargement MIQ', + 'download_latency_jitter' => 'Latence de téléchargement gigue', + + 'upload' => 'Envoi', + 'upload_latency_high' => 'Latence d\'envoi élevée', + 'upload_latency_low' => 'Latence d\'envoi faible', + 'upload_latency_iqm' => 'Latence d\'envoi MIQ', + 'upload_latency_jitter' => 'Latence d\'envoi gigue', + + 'ping' => 'Latence', + 'ping_details' => 'Détails des latences', + 'ping_jitter' => 'Latence gigue', + 'ping_high' => 'Latence élevée', + 'ping_low' => 'Latence faible', + + 'packet_loss' => 'Perte de paquets', + 'iqm' => 'MIQ', + + // Server & metadata + 'server_&_metadata' => 'Serveur et Métadonnées', + 'server_id' => 'Identifiant du serveur', + 'server_host' => 'Hôte du serveur', + 'server_name' => 'Nom du serveur', + 'server_location' => 'Emplacement du serveur', + 'service' => 'Service', + 'isp' => 'FAI', + 'ip_address' => 'Adresse IP', + 'scheduled' => 'Planifié', + + // Filters + 'only_healthy_speedtests' => 'Uniquement les tests de vitesse sains', + 'only_unhealthy_speedtests' => 'Uniquement les tests de vitesse ratés', + 'only_manual_speedtests' => 'Uniquement les tests de vitesse manuels', + 'only_scheduled_speedtests' => 'Uniquement les tests de vitesse programmés', + 'created_from' => 'Créé à partir de', + 'created_until' => 'Créé jusqu\'au', + + // Export + 'export_all_results' => 'Exporter tous les résultats', + 'export_all_results_description' => 'Exporte chaque colonne pour tous les résultats.', + 'export_completed' => 'Exportation terminée, :count :rows exportée.', + 'failed_export' => ':count :rows a échoué à l\'exportation.', + 'row' => '{1} :count ligne|[2,*] :count lignes', + + // Actions + 'update_comments' => 'Actualiser les commentaires', + 'view_on_speedtest_net' => 'Voir sur Speedtest.net', + + // Notifications + 'speedtest_benchmark_passed' => 'Le benchmark du test de vitesse a été passé', + 'speedtest_benchmark_failed' => 'Le benchmark du test de vitesse a échoué', + 'speedtest_started' => 'Test de vitesse démarré', + 'speedtest_completed' => 'Test de vitesse terminé', + 'speedtest_failed' => 'Le test de vitesse a échoué', + 'download_threshold_breached' => 'Seuil de téléchargement dépassé !', + 'upload_threshold_breached' => 'Seuil d\'envoi dépassé !', + 'ping_threshold_breached' => 'Seuil de latence dépassé !', + + // Run Speedtest Action + 'speedtest' => 'Test de vitesse', + 'select_server' => 'Sélectionner un serveur', + 'select_server_helper' => 'Laisser vide pour exécuter le test de vitesse sans spécifier de serveur. Les serveurs bloqués seront ignorés.', + 'manual_servers' => 'Serveurs manuels', + 'closest_servers' => 'Serveurs les plus proches', + 'run_speedtest' => 'Lancer le test de vitesse', + 'start' => 'Démarrer', +]; diff --git a/lang/fr_FR/settings.php b/lang/fr_FR/settings.php new file mode 100644 index 000000000..3196d8eb5 --- /dev/null +++ b/lang/fr_FR/settings.php @@ -0,0 +1,13 @@ + 'Réglages', + 'label' => 'Réglages', + + // Common settings labels + 'triggers' => 'Déclencheurs', + 'verify_ssl' => 'Vérifier SSL', + 'username' => 'Nom d\'utilisateur', + 'username_placeholder' => 'Nom d\'utilisateur pour l\'authentification de base (facultatif)', + 'password_placeholder' => 'Mot de passe pour l\'authentification de base (facultatif)', +]; diff --git a/lang/fr_FR/settings/data_integration.php b/lang/fr_FR/settings/data_integration.php new file mode 100644 index 000000000..ce0af0775 --- /dev/null +++ b/lang/fr_FR/settings/data_integration.php @@ -0,0 +1,46 @@ + 'Intégration des données', + 'label' => 'Intégration des données', + + // InfluxDB v2 + 'influxdb_v2' => 'InfluxDB v2', + 'influxdb_v2_description' => 'Lorsque cette option est activée, tous les nouveaux résultats des tests de vitesse seront également envoyés à InfluxDB.', + 'influxdb_v2_enabled' => 'Activer', + 'influxdb_v2_url' => 'URL', + 'influxdb_v2_url_placeholder' => 'http://votre-instance-influxdb', + 'influxdb_v2_org' => 'Org', + 'influxdb_v2_bucket' => 'Seau', + 'influxdb_v2_bucket_placeholder' => 'test-de-vitesse-tracker', + 'influxdb_v2_token' => 'Jeton', + 'influxdb_v2_verify_ssl' => 'Vérifier SSL', + + // Actions + 'test_connection' => 'Tester la connexion', + 'starting_bulk_data_write_to_influxdb' => 'Démarrage de l\'écriture de données en masse sur InfluxDB', + 'sending_test_data_to_influxdb' => 'Envoi de données de test à InfluxDB', + + // Test connection notifications + 'influxdb_test_failed' => 'Échec du test Influxdb', + 'influxdb_test_failed_body' => 'Consultez les journaux pour plus de détails.', + 'influxdb_test_success' => 'Données de test envoyées à Influxdb avec succès', + 'influxdb_test_success_body' => 'Les données de test ont été envoyées à InfluxDB, vérifiez si les données ont été reçues.', + + // Bulk write notifications + 'influxdb_bulk_write_failed' => 'Impossible d\'écrire en masse sur Influxdb.', + 'influxdb_bulk_write_failed_body' => 'Consultez les journaux pour plus de détails.', + 'influxdb_bulk_write_success' => 'Charge de données en masse terminée sur Influxdb.', + 'influxdb_bulk_write_success_body' => 'Les données ont été envoyées à InfluxDB, vérifiez si les données ont été reçues.', + + // Prometheus + 'prometheus' => 'Prometheus', + 'prometheus_enabled' => 'Activer', + 'prometheus_enabled_helper_text' => 'Lorsque cette option est activée, les métriques pour chaque nouveau test de vitesse seront disponibles au point de terminaison /prometheus.', + 'prometheus_allowed_ips' => 'Adresses IP autorisées', + 'prometheus_allowed_ips_helper' => 'Liste des adresses IP ou des plages CIDR (par exemple, 192.168.1.0/24) autorisés à accéder au point de terminaison des métriques. Laisser vide pour autoriser toutes les IPs.', + + // Common labels + 'org' => 'Org', + 'bucket' => 'Seau', +]; diff --git a/lang/fr_FR/settings/notifications.php b/lang/fr_FR/settings/notifications.php new file mode 100644 index 000000000..4a9bef1f6 --- /dev/null +++ b/lang/fr_FR/settings/notifications.php @@ -0,0 +1,65 @@ + 'Notifications', + 'label' => 'Notifications', + + // Database notifications + 'database' => 'Base de données', + 'database_description' => 'Les notifications envoyées à ce salon apparaîtront sous l\'icône 🔔 dans l\'entête.', + 'test_database_channel' => 'Tester le canal de base de données', + + // Mail notifications + 'mail' => 'Courrier', + 'recipients' => 'Destinataires', + 'test_mail_channel' => 'Tester le canal de messagerie', + + // Apprise notifications + 'apprise' => 'Apprise', + 'enable_apprise_notifications' => 'Activer les notifications de base de données', + 'apprise_server' => 'Serveur Apprise', + 'apprise_server_url' => 'Serveur Apprise', + 'apprise_server_url_helper' => 'L\'URL de votre serveur Apprise. L\'URL doit se terminer le /notifier', + 'apprise_verify_ssl' => 'Vérifier SSL', + 'apprise_channels' => 'Chaînes de notification', + 'apprise_channel_url' => 'URL du service', + 'apprise_hint_description' => 'Apprise vous permet d\'envoyer des notifications à plus de 90 services. Vous devez exécuter un serveur Apprise et configurer les URL de service ci-dessous.', + 'apprise_channel_url_helper' => 'Utiliser le format d\'URL d\'Apprise. Exemples: discord://WebhookID/Token, slack://TokenA/TokenB/TokenC', + 'apprise_save_to_test' => 'Enregistrez vos paramètres pour tester la notification.', + 'test_apprise_channel' => 'Apprise de test', + 'apprise_channel_url_validation_error' => 'URL d\'Apprise invalide. Doit utiliser le format Apprise (par exemple, discord://, SlackHTTPSHTTPSHTTPSHTTPS', + + // Webhook + 'webhook' => 'Webhook', + 'webhooks' => 'Webhooks', + 'test_webhook_channel' => 'Tester le canal webhook', + 'webhook_hint_description' => 'Ce sont des webhooks génériques. Pour des exemples de charge utile et des détails d\'implémentation, consultez la documentation. Pour les services comme Discord, Nef', + + // Common notification messages + 'notify_on_every_speedtest_run' => 'Notifier à chaque exécution de test de vitesse planifiée terminée', + 'notify_on_every_speedtest_run_helper' => 'Ceci enverra une notification pour chaque test de vitesse planifié terminé, uniquement pour les tests sains ou non comparés', + 'notify_on_threshold_failures' => 'Notifier les pannes de seuil pour les tests de vitesse programmés', + 'notify_on_threshold_failures_helper' => 'Ceci enverra une notification lorsqu\'un test de vitesse programmé échoue à tous les seuils configurés', + + // Test notification messages + 'test_notifications' => [ + 'database' => [ + 'ping' => 'Je dis: ping', + 'pong' => 'Vous dites: pong', + 'received' => 'Notification de base de données de test reçue !', + 'sent' => 'Notification de base de données de test envoyée.', + ], + 'mail' => [ + 'add' => 'Ajouter des destinataires d\'e-mail!', + 'sent' => 'Notification de test envoyée par e-mail.', + ], + 'webhook' => [ + 'add' => 'Ajouter des URL de webhook !', + 'sent' => 'Notification de test du webhook envoyée.', + 'payload' => 'Test de la notification de webhook', + ], + ], + + // Helper text + 'threshold_helper_text' => 'Les notifications de seuil seront envoyées à la route /fail dans l\'URL.', +]; diff --git a/lang/fr_FR/settings/thresholds.php b/lang/fr_FR/settings/thresholds.php new file mode 100644 index 000000000..26ee7a23b --- /dev/null +++ b/lang/fr_FR/settings/thresholds.php @@ -0,0 +1,22 @@ + 'Seuils', + 'label' => 'Seuils', + + // Absolute thresholds + 'absolute' => 'Absolu', + 'absolute_description' => 'Les seuils absolus ne tiennent pas compte de l\'historique précédent et peuvent être déclenchés à chaque test.', + 'absolute_enabled' => 'Activer les seuils absolus', + + // Metrics section + 'metrics' => 'Métriques', + 'metrics_helper_text' => 'Mettre à zéro pour désactiver cette métrique.', + + // General threshold labels + 'thresholds' => 'Seuils', + 'threshold_enabled' => 'Seuil activé', + 'threshold_download' => 'Seuil de téléchargement', + 'threshold_upload' => 'Seuil d\'envoi', + 'threshold_ping' => 'Seuil de ping', +]; diff --git a/lang/fr_FR/tools.php b/lang/fr_FR/tools.php new file mode 100644 index 000000000..d579be2eb --- /dev/null +++ b/lang/fr_FR/tools.php @@ -0,0 +1,6 @@ + 'Serveurs Ookla', +]; diff --git a/lang/fr_FR/users.php b/lang/fr_FR/users.php new file mode 100644 index 000000000..d699452c9 --- /dev/null +++ b/lang/fr_FR/users.php @@ -0,0 +1,15 @@ + 'Utilisateurs', + 'label' => 'Utilisateurs', + + // User prompts and messages + 'user_change' => [ + 'info' => 'Rôle de l\'utilisateur mis à jour.', + 'password_updated_info' => 'Mot de passe de l\'adresse mail mis à jour.', + 'what_is_password' => 'Quel est le nouveau mot de passe ?', + 'what_is_the_email_address' => 'Quelle est l\'adresse e-mail ?', + 'what_role' => 'Quel devrait être le rôle de l\'utilisateur ?', + ], +]; diff --git a/lang/fr_FR/validation.php b/lang/fr_FR/validation.php new file mode 100644 index 000000000..292aec82d --- /dev/null +++ b/lang/fr_FR/validation.php @@ -0,0 +1,91 @@ + [ + 'attribute-name' => [ + + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [ + 'address' => 'adresse', + 'age' => 'âge', + 'body' => 'contenu', + 'cell' => 'cellule', + 'city' => 'ville', + 'country' => 'pays', + 'date' => 'date', + 'day' => 'jour', + 'excerpt' => 'résumé', + 'first_name' => 'prénom', + 'gender' => 'sexe', + 'marital_status' => 'état civil', + 'profession' => 'profession', + 'nationality' => 'nationalité', + 'hour' => 'heure', + 'last_name' => 'nom de famille', + 'message' => 'message', + 'minute' => 'minute', + 'mobile' => 'portable', + 'month' => 'mois', + 'name' => 'nom', + 'zipcode' => 'code postal', + 'company_name' => 'nom de la société', + 'neighborhood' => 'quartier', + 'number' => 'numéro', + 'password' => 'mot de passe', + 'phone' => 'téléphone', + 'second' => 'seconde', + 'sex' => 'sexe', + 'state' => 'état', + 'street' => 'rue', + 'subject' => 'sujet', + 'text' => 'teste', + 'time' => 'temps', + 'title' => 'titre', + 'username' => 'nom d\'utilisateur', + 'year' => 'année', + 'description' => 'description', + 'password_confirmation' => 'confirmation du mot de passe', + 'current_password' => 'mot de passe actuel', + 'complement' => 'complément', + 'modality' => 'modalité', + 'category' => 'catégorie', + 'blood_type' => 'groupe sanguin', + 'birth_date' => 'date de naissance', + ], +]; diff --git a/lang/nl_NL/api_tokens.php b/lang/nl_NL/api_tokens.php new file mode 100644 index 000000000..fd9683948 --- /dev/null +++ b/lang/nl_NL/api_tokens.php @@ -0,0 +1,30 @@ + 'API Tokens', + 'label' => 'API Tokens', + + // Token management + 'api_token' => 'API token', + 'api_tokens' => 'API tokens', + 'create_api_token' => 'API-sleutel aanmaken', + 'your_token' => 'Jouw token', + 'token_status' => 'Token status', + + // Token lists + 'active_tokens' => 'Actieve tokens', + 'expired_tokens' => 'Verlopen tokens', + 'all_tokens' => 'Alle tokens', + + // Token properties + 'expires_at' => 'Verloopt op', + 'expires_at_helper_text' => 'Laat leeg als u geen vervaldatum wilt', + 'last_used_at' => 'Laatst gebruikt op', + + // Abilities/Permissions + 'abilities' => 'Vaardigheden', + 'read_results' => 'Lees resultaten', + 'read_results_description' => 'De token zal toestemming hebben om resultaten en statistieken te lezen.', + 'run_speedtest_description' => 'Het token zal toestemming hebben om snelheidstest uit te voeren.', + 'list_servers_description' => 'De token zal toestemming hebben om servers weer te geven.', +]; diff --git a/lang/nl_NL/auth.php b/lang/nl_NL/auth.php new file mode 100644 index 000000000..2c9909f81 --- /dev/null +++ b/lang/nl_NL/auth.php @@ -0,0 +1,21 @@ + 'Aanmelden', + 'failed' => 'Deze gegevens komen niet overeen met onze administratie.', + 'password' => 'Het opgegeven wachtwoord is onjuist.', + 'throttle' => 'Te veel inlogpogingen. Probeer het over :seconds seconden opnieuw.', + +]; diff --git a/lang/nl_NL/dashboard.php b/lang/nl_NL/dashboard.php new file mode 100644 index 000000000..24ea8f7b9 --- /dev/null +++ b/lang/nl_NL/dashboard.php @@ -0,0 +1,14 @@ + 'Dashboard', + 'no_speedtests_scheduled' => 'Geen snelheidtests gepland.', + 'next_speedtest_at' => 'Volgende snelheidstest op', + + // Widgets + 'recent_results' => 'Recente resultaten', + 'statistics' => 'Statistieken', + 'latest_download' => 'Laatste download', + 'latest_upload' => 'Laatste upload', + 'latest_ping' => 'Laatste ping', +]; diff --git a/lang/nl_NL/enums.php b/lang/nl_NL/enums.php new file mode 100644 index 000000000..f66fcdbd3 --- /dev/null +++ b/lang/nl_NL/enums.php @@ -0,0 +1,21 @@ + [ + 'benchmarking' => 'Benchmarking', + 'checking' => 'Controleren', + 'completed' => 'Voltooid', + 'failed' => 'Mislukt', + 'running' => 'Lopend', + 'started' => 'Gestart', + 'skipped' => 'Overgeslagen', + 'waiting' => 'Wachten', + ], + + // Service enum values + 'service' => [ + 'faker' => 'Zakker', + 'ookla' => 'Ookla', + ], +]; diff --git a/lang/nl_NL/errors.php b/lang/nl_NL/errors.php new file mode 100644 index 000000000..edf5f4304 --- /dev/null +++ b/lang/nl_NL/errors.php @@ -0,0 +1,23 @@ + 'Server fout', + 'oops_server_error' => 'Oeps, server fout!', + 'error_message' => 'Foutmelding', + 'error_fetching_servers' => 'Fout bij ophalen servers', + 'servers_refreshed_successfully' => 'Servers met succes vernieuwd', + 'copied_to_clipboard' => 'Gekopieerd naar klembord', + + // Speedtest specific errors + 'ookla_error' => 'Er is een fout opgetreden tijdens het weergeven van snelheidstest servers, controleer de logbestanden.', + 'cron_invalid' => 'Ongeldige cron expressie', + + // Status fix command + 'status_fix' => [ + 'confirm' => 'Wilt u doorgaan?', + 'fail' => 'Commando afgebroken.', + 'finished' => '✅ klaar!', + 'info_1' => 'Dit zal alle resultaten controleren en de status herstellen naar "voltooid" of "mislukt" op basis van de gegevens.', + 'info_2' => '📖 Lees de documentatie: https://docs.speedtest-tracker.dev/other/commando\'s', + ], +]; diff --git a/lang/nl_NL/general.php b/lang/nl_NL/general.php new file mode 100644 index 000000000..014edba84 --- /dev/null +++ b/lang/nl_NL/general.php @@ -0,0 +1,125 @@ + 'Huidige versie', + 'latest_version' => 'Laatste versie', + 'github' => 'GitHub', + 'repository' => 'Repository', + + // Common actions + 'save' => 'Opslaan', + 'cancel' => 'Annuleren', + 'delete' => 'Verwijderen', + 'edit' => 'Bewerken', + 'create' => 'Aanmaken', + 'search' => 'Zoeken', + 'filter' => 'Filteren', + 'export' => 'Exporteren', + 'actions' => 'Acties', + 'enable' => 'Inschakelen', + 'yes' => 'Ja', + 'no' => 'Neen', + 'options' => 'Instellingen', + 'details' => 'Beschrijving', + 'view' => 'Bekijk', + + // Common labels + 'name' => 'Naam', + 'email' => 'E-mailadres', + 'email_address' => 'E-mail adres', + 'password' => 'Wachtwoord', + 'password_confirmation' => 'Wachtwoord bevestiging', + 'id' => 'ID', + 'status' => 'Status', + 'message' => 'Bericht', + 'comment' => 'Opmerking', + 'comments' => 'Opmerkingen', + 'created_at' => 'Aangemaakt op', + 'updated_at' => 'Bijgewerkt op', + 'url' => 'URL', + 'server' => 'Server', + 'servers' => 'Servers', + 'stats' => 'Statistieken', + 'statistics' => 'Statistieken', + + // Navigation + 'dashboard' => 'Dashboard', + 'results' => 'Resultaten', + 'settings' => 'Instellingen', + 'users' => 'Gebruikers', + 'documentation' => 'Documentatie', + 'view_documentation' => 'Bekijk documentatie', + 'links' => 'Koppelingen', + 'donate' => 'Doneren', + 'donations' => 'Donaties', + + // Roles + 'admin' => 'Beheerder', + 'user' => 'Gebruiker', + 'role' => 'Functie', + + // Date ranges + 'last_24h' => 'Afgelopen 24 uur', + 'last_week' => 'Vorige week', + 'last_month' => 'Vorige maand', + + // Metrics + 'metrics' => 'Statistieken', + 'average' => 'Gemiddeld', + 'high' => 'Hoog', + 'low' => 'Laag', + 'faster' => 'sneller', + 'slower' => 'langzamer', + 'healthy' => 'Gezond', + 'not_measured' => 'Niet gemeten', + 'unhealthy' => 'Ongezond', + 'last_results' => 'Laatste resultaten', + 'total_failed' => 'Totaal mislukte tests', + 'total_complted' => 'Totaal voltooide testen', + 'total' => 'Totaal', + + // Units + 'ms' => 'ms', + 'mbps' => 'Mbps', + + // Speed test metrics + 'download' => 'Download', + 'upload' => 'Uploaden', + 'ping' => 'Ping', + 'jitter' => 'Jitter', + + // Metric labels with units + 'download_mbps' => 'Downloaden (Mbps)', + 'upload_mbps' => 'Upload (Mbps)', + 'ping_ms' => 'Ping (ms)', + 'download_ms' => 'Downloaden (ms)', + 'upload_ms' => 'Uploaden (ms)', + 'average_ms' => 'Gemiddelde (ms)', + 'high_ms' => 'Hoog (ms)', + 'low_ms' => 'Laag (ms)', + 'ping_ms_label' => 'Ping (ms)', + + // Latency + 'download_latency' => 'Download latentie', + 'upload_latency' => 'Upload latentie', + + // Actions + 'run_speedtest' => 'Snelheidstest uitvoeren', + 'list_servers' => 'Toon servers', + 'export_current_results' => 'Huidige resultaten exporteren', + 'test' => 'Test', + + // Common + 'token' => 'Token', + + // Application + 'speedtest_tracker' => 'Speedtest Tracker', + 'platform' => 'Platform', + + // Update status + 'update_available' => 'Update beschikbaar!', + 'up_to_date' => 'Bijgewerkt tot', + + // Notifications + 'token_created' => 'Token aangemaakt', +]; diff --git a/lang/nl_NL/passwords.php b/lang/nl_NL/passwords.php new file mode 100644 index 000000000..8fdab288a --- /dev/null +++ b/lang/nl_NL/passwords.php @@ -0,0 +1,20 @@ + 'Uw wachtwoord is gereset!', + 'sent' => 'We hebben uw wachtwoord reset link gemaild!', + 'password' => 'Het wachtwoord en de bevestiging moeten overeenkomen en minimaal zes tekens bevatten.', + +]; diff --git a/lang/nl_NL/results.php b/lang/nl_NL/results.php new file mode 100644 index 000000000..4a17ed6c8 --- /dev/null +++ b/lang/nl_NL/results.php @@ -0,0 +1,78 @@ + 'Resultaten', + 'result_overview' => 'Overzicht van resultaten', + 'error_message_title' => 'Fout melding', + + // Metrics + 'download' => 'Download', + 'download_latency_high' => 'Download latency hoog', + 'download_latency_low' => 'Download latency laag', + 'download_latency_iqm' => 'Download latency IQM', + 'download_latency_jitter' => 'Download latency jitter', + + 'upload' => 'Upload', + 'upload_latency_high' => 'Upload latentie hoog', + 'upload_latency_low' => 'Upload latency laag', + 'upload_latency_iqm' => 'Upload latency IQM', + 'upload_latency_jitter' => 'Upload latency Jitter', + + 'ping' => 'Ping', + 'ping_details' => 'Ping details', + 'ping_jitter' => 'Ping jitter', + 'ping_high' => 'Ping hoog', + 'ping_low' => 'Ping laag', + + 'packet_loss' => 'Pakket verlies', + 'iqm' => 'IQM', + + // Server & metadata + 'server_&_metadata' => 'Server & Metadata', + 'server_id' => 'Server ID', + 'server_host' => 'Server host', + 'server_name' => 'Server naam', + 'server_location' => 'Server locatie', + 'service' => 'Diensten', + 'isp' => 'Internetprovider', + 'ip_address' => 'IP adres', + 'scheduled' => 'Gepland', + + // Filters + 'only_healthy_speedtests' => 'Alleen gezonde snelheidstesten', + 'only_unhealthy_speedtests' => 'Alleen ongezonde snelheidstesten', + 'only_manual_speedtests' => 'Alleen handmatige snelheden', + 'only_scheduled_speedtests' => 'Alleen geplande snelheden', + 'created_from' => 'Aangemaakt vanaf', + 'created_until' => 'Gemaakt tot', + + // Export + 'export_all_results' => 'Alle resultaten exporteren', + 'export_all_results_description' => 'Zal elke kolom exporteren voor alle resultaten.', + 'export_completed' => 'Exporteren voltooid, :count :rows geëxporteerd.', + 'failed_export' => ':count :rows kon niet exporteren.', + 'row' => '{1} :count rij [2,*] :count rijen', + + // Actions + 'update_comments' => 'Reacties bijwerken', + 'view_on_speedtest_net' => 'Bekijk op Speedtest.net', + + // Notifications + 'speedtest_benchmark_passed' => 'Snelheidstest benchmark geslaagd', + 'speedtest_benchmark_failed' => 'Snelheidstest benchmark mislukt', + 'speedtest_started' => 'Snelheidstest gestart', + 'speedtest_completed' => 'Snelheidstest voltooid', + 'speedtest_failed' => 'Speedtest mislukt', + 'download_threshold_breached' => 'Drempelwaarde voor downloaden doorbroken!', + 'upload_threshold_breached' => 'Upload drempelwaarde gelekt!', + 'ping_threshold_breached' => 'Ping drempelwaarde doorgedrukt!', + + // Run Speedtest Action + 'speedtest' => 'Snelheidstest', + 'select_server' => 'Selecteer Server', + 'select_server_helper' => 'Laat leeg om de snelheidstest uit te voeren zonder een server op te geven. Geblokkeerde servers zullen worden overgeslagen.', + 'manual_servers' => 'Handmatige servers', + 'closest_servers' => 'Dichtstbijzijnde servers', + 'run_speedtest' => 'Snelheidstest uitvoeren', + 'start' => 'Begin test', +]; diff --git a/lang/nl_NL/settings.php b/lang/nl_NL/settings.php new file mode 100644 index 000000000..148d2d036 --- /dev/null +++ b/lang/nl_NL/settings.php @@ -0,0 +1,13 @@ + 'Instellingen', + 'label' => 'Instellingen', + + // Common settings labels + 'triggers' => 'Trigger', + 'verify_ssl' => 'Controleer SSL', + 'username' => 'Gebruikersnaam', + 'username_placeholder' => 'Gebruikersnaam voor Basis Auth (optioneel)', + 'password_placeholder' => 'Wachtwoord voor basis authenticatie (optioneel)', +]; diff --git a/lang/nl_NL/settings/data_integration.php b/lang/nl_NL/settings/data_integration.php new file mode 100644 index 000000000..c95902fac --- /dev/null +++ b/lang/nl_NL/settings/data_integration.php @@ -0,0 +1,46 @@ + 'Data integratie', + 'label' => 'Data integratie', + + // InfluxDB v2 + 'influxdb_v2' => 'InfluxDB v2', + 'influxdb_v2_description' => 'Wanneer ingeschakeld, zullen alle nieuwe test resultaten ook worden verzonden naar de InfluxDB.', + 'influxdb_v2_enabled' => 'Inschakelen', + 'influxdb_v2_url' => 'URL', + 'influxdb_v2_url_placeholder' => 'http://your-influxdb-instance', + 'influxdb_v2_org' => 'Org', + 'influxdb_v2_bucket' => 'Emmer', + 'influxdb_v2_bucket_placeholder' => 'speedtest-tracker', + 'influxdb_v2_token' => 'Token', + 'influxdb_v2_verify_ssl' => 'Controleer SSL', + + // Actions + 'test_connection' => 'Verbindingstest testen', + 'starting_bulk_data_write_to_influxdb' => 'Alle resultaten naar InfluxDB sturen', + 'sending_test_data_to_influxdb' => 'Testgegevens verzenden naar InfluxDB', + + // Test connection notifications + 'influxdb_test_failed' => 'Influxdb test mislukt', + 'influxdb_test_failed_body' => 'Bekijk de logs voor meer details.', + 'influxdb_test_success' => 'Test gegevens succesvol verzonden naar Influxdb', + 'influxdb_test_success_body' => 'Test gegevens zijn verzonden naar de InfluxDB, controleer of de gegevens zijn ontvangen.', + + // Bulk write notifications + 'influxdb_bulk_write_failed' => 'Bulk schrijven naar Influxdb mislukt.', + 'influxdb_bulk_write_failed_body' => 'Bekijk de logs voor meer details.', + 'influxdb_bulk_write_success' => 'Alle resultaten naar InfluxDB sturen afgerond.', + 'influxdb_bulk_write_success_body' => 'Gegevens zijn verzonden naar InfluxDB, controleer of de gegevens zijn ontvangen.', + + // Prometheus + 'prometheus' => 'Prometheus', + 'prometheus_enabled' => 'Inschakelen', + 'prometheus_enabled_helper_text' => 'Wanneer ingeschakeld, zullen statistieken voor elke nieuwe snelheidstest beschikbaar zijn vanaf het /Prometheus eindpunt.', + 'prometheus_allowed_ips' => 'Toegestane IP-adressen', + 'prometheus_allowed_ips_helper' => 'Lijst van IP-adressen of CIDR (bijv. 192.168.1.0/24) toegestaan om het eindpunt van de statistieken te bekijken. Laat leeg om alle IP-adressen toe te staan.', + + // Common labels + 'org' => 'Org', + 'bucket' => 'Emmer', +]; diff --git a/lang/nl_NL/settings/notifications.php b/lang/nl_NL/settings/notifications.php new file mode 100644 index 000000000..27dbd7140 --- /dev/null +++ b/lang/nl_NL/settings/notifications.php @@ -0,0 +1,65 @@ + 'Notificaties', + 'label' => 'Notificaties', + + // Database notifications + 'database' => 'Database', + 'database_description' => 'Meldingen die naar dit kanaal worden verzonden worden weergegeven onder de 🔔 icoon in de header.', + 'test_database_channel' => 'Test database notificaties', + + // Mail notifications + 'mail' => 'E-mailen', + 'recipients' => 'Ontvangers', + 'test_mail_channel' => 'Test e-mailkanaal', + + // Apprise notifications + 'apprise' => 'Apprise', + 'enable_apprise_notifications' => 'Inschakelen Apprise meldingen', + 'apprise_server' => 'Apprise Server', + 'apprise_server_url' => 'Appprise Server-URL', + 'apprise_server_url_helper' => 'De URL van uw Apprise Server. De URL moet eindigen op /notify', + 'apprise_verify_ssl' => 'Controleer SSL', + 'apprise_channels' => 'Notificatie kanalen', + 'apprise_channel_url' => 'Service URL', + 'apprise_hint_description' => 'Met Apprise kan je meldingen verzenden naar meer dan 90 diensten. Je moet een Apprise server hebben draaien en onderstaande service URL\'s configureren.', + 'apprise_channel_url_helper' => 'Gebruik Apprise URL formaat. Bijvoorbeeld discord://WebhookID/Token, slack://TokenA/TokenB/TokenC', + 'apprise_save_to_test' => 'Sla de instellingen op om de melding uit te proberen.', + 'test_apprise_channel' => 'Test Apprise', + 'apprise_channel_url_validation_error' => 'Ongeldige Apprise URL. De URL moet gebruik maken van Apprise formaat (bijv. discord://, slack://), niet http:// of https://. Zie de Apprise documentatie voor meer informatie', + + // Webhook + 'webhook' => 'Webhook', + 'webhooks' => 'Webhooks', + 'test_webhook_channel' => 'Test webhook kanaal', + 'webhook_hint_description' => 'Dit zijn algemene webhooks. Voor payload voorbeelden en implementatiegegevens, bekijk de documentatie. Voor diensten zoals Discord, Ntfy etc. gebruik Apprise.', + + // Common notification messages + 'notify_on_every_speedtest_run' => 'Melding voor elke voltooide geplande snelheidstest', + 'notify_on_every_speedtest_run_helper' => 'Dit zal een melding sturen voor elke voltooide snelheidstest draaien, alleen voor gezonde of niet gecontroleerde tests', + 'notify_on_threshold_failures' => 'Melding bij drempelfouten voor geplande snelheidstests', + 'notify_on_threshold_failures_helper' => 'Dit zal een melding sturen wanneer een geplande snelheidstest elke geconfigureerde drempelwaarde mislukt', + + // Test notification messages + 'test_notifications' => [ + 'database' => [ + 'ping' => 'Ik zeg: ping', + 'pong' => 'Jij zegt: pong', + 'received' => 'Test database melding ontvangen!', + 'sent' => 'Test database melding verzonden.', + ], + 'mail' => [ + 'add' => 'Ontvangers toevoegen!', + 'sent' => 'Test mail melding verzonden.', + ], + 'webhook' => [ + 'add' => 'Voeg webhook URL\'s toe!', + 'sent' => 'Test webhook melding verzonden.', + 'payload' => 'Webhook melding', + ], + ], + + // Helper text + 'threshold_helper_text' => 'Drempel meldingen worden verzonden naar de /fail route in de URL.', +]; diff --git a/lang/nl_NL/settings/thresholds.php b/lang/nl_NL/settings/thresholds.php new file mode 100644 index 000000000..b03b2974b --- /dev/null +++ b/lang/nl_NL/settings/thresholds.php @@ -0,0 +1,22 @@ + 'Limieten', + 'label' => 'Drempels', + + // Absolute thresholds + 'absolute' => 'Absoluut', + 'absolute_description' => 'Limieten houden geen rekening met de voorgeschiedenis en kunnen bij elke test worden gebruikt.', + 'absolute_enabled' => 'Limieten inschakelen', + + // Metrics section + 'metrics' => 'Statistieken', + 'metrics_helper_text' => 'Ingesteld op nul om deze meting uit te schakelen.', + + // General threshold labels + 'thresholds' => 'Grenswaarden', + 'threshold_enabled' => 'Drempel ingeschakeld', + 'threshold_download' => 'Drempel downloaden', + 'threshold_upload' => 'Drempel uploaden', + 'threshold_ping' => 'Drempel ping', +]; diff --git a/lang/nl_NL/tools.php b/lang/nl_NL/tools.php new file mode 100644 index 000000000..f24f227c4 --- /dev/null +++ b/lang/nl_NL/tools.php @@ -0,0 +1,6 @@ + 'Ookla servers', +]; diff --git a/lang/nl_NL/users.php b/lang/nl_NL/users.php new file mode 100644 index 000000000..0d5c5d5df --- /dev/null +++ b/lang/nl_NL/users.php @@ -0,0 +1,15 @@ + 'Gebruikers', + 'label' => 'Gebruikers', + + // User prompts and messages + 'user_change' => [ + 'info' => 'Gebruikersrol bijgewerkt.', + 'password_updated_info' => ':email wachtwoord bijgewerkt.', + 'what_is_password' => 'Wat is het nieuwe wachtwoord?', + 'what_is_the_email_address' => 'Wat is het e-mailadres?', + 'what_role' => 'Welke rol moet de gebruiker hebben?', + ], +]; diff --git a/lang/nl_NL/validation.php b/lang/nl_NL/validation.php new file mode 100644 index 000000000..509fabd8e --- /dev/null +++ b/lang/nl_NL/validation.php @@ -0,0 +1,91 @@ + [ + 'attribute-name' => [ + + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [ + 'address' => 'adres', + 'age' => 'leeftijd', + 'body' => 'inhoud', + 'cell' => 'cel', + 'city' => 'stad', + 'country' => 'land', + 'date' => 'datum', + 'day' => 'dag', + 'excerpt' => 'summary', + 'first_name' => 'voornaam', + 'gender' => 'geslacht', + 'marital_status' => 'burgerlijke staat', + 'profession' => 'beroep', + 'nationality' => 'nationaliteit', + 'hour' => 'uur', + 'last_name' => 'achternaam', + 'message' => 'bericht', + 'minute' => 'minuut', + 'mobile' => 'mobiel', + 'month' => 'maand', + 'name' => 'naam', + 'zipcode' => 'postcode', + 'company_name' => 'bedrijfsnaam', + 'neighborhood' => 'wijk', + 'number' => 'nummer', + 'password' => 'wachtwoord', + 'phone' => 'telefoon', + 'second' => 'seconde', + 'sex' => 'geslacht', + 'state' => 'staat', + 'street' => 'straat', + 'subject' => 'onderwerp', + 'text' => 'tekst', + 'time' => 'tijd', + 'title' => 'titel', + 'username' => 'gebruikersnaam', + 'year' => 'jaar', + 'description' => 'beschrijving', + 'password_confirmation' => 'wachtwoord bevestiging', + 'current_password' => 'huidig wachtwoord', + 'complement' => 'complementair', + 'modality' => 'modaliteit', + 'category' => 'categorie', + 'blood_type' => 'bloed type', + 'birth_date' => 'geboortedatum', + ], +]; diff --git a/lang/pt_BR/api_tokens.php b/lang/pt_BR/api_tokens.php new file mode 100644 index 000000000..17ae5269c --- /dev/null +++ b/lang/pt_BR/api_tokens.php @@ -0,0 +1,30 @@ + 'Tokens de API', + 'label' => 'Tokens de API', + + // Token management + 'api_token' => 'Token de API', + 'api_tokens' => 'Tokens da API', + 'create_api_token' => 'Criar token de API', + 'your_token' => 'Seu token', + 'token_status' => 'Estado do token', + + // Token lists + 'active_tokens' => 'Tokens ativos', + 'expired_tokens' => 'Tokens expirados', + 'all_tokens' => 'Todos os tokens', + + // Token properties + 'expires_at' => 'Expira em', + 'expires_at_helper_text' => 'Deixe em branco se você não quiser uma data de validade', + 'last_used_at' => 'Última vez usado em', + + // Abilities/Permissions + 'abilities' => 'Habilidades', + 'read_results' => 'Ler resultados', + 'read_results_description' => 'O token terá permissão para ler resultados e estatísticas.', + 'run_speedtest_description' => 'O token terá permissão para executar o teste de velocidade.', + 'list_servers_description' => 'O token terá permissão para listar servidores.', +]; diff --git a/lang/pt_BR/auth.php b/lang/pt_BR/auth.php index a9d4d26d8..13625436a 100644 --- a/lang/pt_BR/auth.php +++ b/lang/pt_BR/auth.php @@ -13,8 +13,9 @@ | */ - 'failed' => 'Essas credenciais não foram encontradas em nossos registros.', - 'password' => 'A senha informada está incorreta.', - 'throttle' => 'Muitas tentativas de login. Tente novamente em :seconds segundos.', + 'sign_in' => 'Entrar', + 'failed' => 'Credenciais não correspondem aos nossos registros.', + 'password' => 'A senha fornecida está incorreta.', + 'throttle' => 'Muitas tentativas de login. Por favor, tente novamente em :seconds segundos.', ]; diff --git a/lang/pt_BR/dashboard.php b/lang/pt_BR/dashboard.php new file mode 100644 index 000000000..16510f3e8 --- /dev/null +++ b/lang/pt_BR/dashboard.php @@ -0,0 +1,14 @@ + 'Painel', + 'no_speedtests_scheduled' => 'Nenhum teste de velocidade agendado.', + 'next_speedtest_at' => 'Próximo teste de velocidade', + + // Widgets + 'recent_results' => 'Resultados Recentes', + 'statistics' => 'Estatísticas', + 'latest_download' => 'Último download', + 'latest_upload' => 'Último upload', + 'latest_ping' => 'Último ping', +]; diff --git a/lang/pt_BR/enums.php b/lang/pt_BR/enums.php new file mode 100644 index 000000000..2518bf4a7 --- /dev/null +++ b/lang/pt_BR/enums.php @@ -0,0 +1,21 @@ + [ + 'benchmarking' => 'Benchmarking', + 'checking' => 'Verificando', + 'completed' => 'Concluído', + 'failed' => 'Falhou', + 'running' => 'Executando', + 'started' => 'Iniciado', + 'skipped' => 'Ignorado', + 'waiting' => 'Esperando', + ], + + // Service enum values + 'service' => [ + 'faker' => 'Fake', + 'ookla' => 'Ookla', + ], +]; diff --git a/lang/pt_BR/errors.php b/lang/pt_BR/errors.php new file mode 100644 index 000000000..5e1993583 --- /dev/null +++ b/lang/pt_BR/errors.php @@ -0,0 +1,23 @@ + 'Erro no Servidor', + 'oops_server_error' => 'Opa, erro no servidor!', + 'error_message' => 'Mensagem de erro', + 'error_fetching_servers' => 'Erro ao buscar servidores', + 'servers_refreshed_successfully' => 'Servidores atualizados com sucesso', + 'copied_to_clipboard' => 'Copiado para o clipboard', + + // Speedtest specific errors + 'ookla_error' => 'Ocorreu um erro ao listar servidores de velocidade, verifique os logs.', + 'cron_invalid' => 'Expressão cron inválida', + + // Status fix command + 'status_fix' => [ + 'confirm' => 'Você deseja continuar?', + 'fail' => 'Comando abortado.', + 'finished' => '✅ concluído!', + 'info_1' => 'Isto irá verificar todos os resultados e corrigir o status para "concluído" ou "falhou" com base nos dados.', + 'info_2' => '📖 Leia a documentação: https://docs.speedtest-tracker.dev/other/commands', + ], +]; diff --git a/lang/pt_BR/general.php b/lang/pt_BR/general.php new file mode 100644 index 000000000..56565dd1d --- /dev/null +++ b/lang/pt_BR/general.php @@ -0,0 +1,125 @@ + 'Versão atual', + 'latest_version' => 'Versão mais recente', + 'github' => 'GitHub', + 'repository' => 'Repositório', + + // Common actions + 'save' => 'Salvar', + 'cancel' => 'Cancelar', + 'delete' => 'Excluir', + 'edit' => 'Alterar', + 'create' => 'Criar', + 'search' => 'Pesquisar', + 'filter' => 'Filtrar', + 'export' => 'Exportar', + 'actions' => 'Ações', + 'enable' => 'Habilitado', + 'yes' => 'Sim', + 'no' => 'Não', + 'options' => 'Opções', + 'details' => 'Detalhes', + 'view' => 'Visualizar', + + // Common labels + 'name' => 'Nome', + 'email' => 'E-mail', + 'email_address' => 'Endereço de e-mail', + 'password' => 'Senha', + 'password_confirmation' => 'Confirmação de senha', + 'id' => 'ID', + 'status' => 'Status', + 'message' => 'Mensagem', + 'comment' => 'Comentar', + 'comments' => 'Comentários', + 'created_at' => 'Criado em', + 'updated_at' => 'Atualizado em', + 'url' => 'URL', + 'server' => 'Servidor', + 'servers' => 'Servidores', + 'stats' => 'Estatísticas', + 'statistics' => 'Estatísticas', + + // Navigation + 'dashboard' => 'Painel', + 'results' => 'Resultados', + 'settings' => 'Confirgurações', + 'users' => 'Usuários', + 'documentation' => 'Documentação', + 'view_documentation' => 'Ver documentação', + 'links' => 'Links', + 'donate' => 'Doar', + 'donations' => 'Doações', + + // Roles + 'admin' => 'Admin', + 'user' => 'Usuário', + 'role' => 'Funções', + + // Date ranges + 'last_24h' => 'Últimas 24 horas', + 'last_week' => 'Semana passada', + 'last_month' => 'Mês anterior', + + // Metrics + 'metrics' => 'Métricas', + 'average' => 'Média', + 'high' => 'Alta', + 'low' => 'Baixa', + 'faster' => 'mais rápido', + 'slower' => 'lento', + 'healthy' => 'Saudável', + 'not_measured' => 'Não medido', + 'unhealthy' => 'Não saudável', + 'last_results' => 'Últimos resultados', + 'total_failed' => 'Total de testes falhados', + 'total_complted' => 'Total de testes concluídos', + 'total' => 'Total', + + // Units + 'ms' => 'ms', + 'mbps' => 'Mbps', + + // Speed test metrics + 'download' => 'Download', + 'upload' => 'Upload', + 'ping' => 'Latência', + 'jitter' => 'Jitter', + + // Metric labels with units + 'download_mbps' => 'Download (Mbps)', + 'upload_mbps' => 'Upload (Mbps)', + 'ping_ms' => 'Latência (ms)', + 'download_ms' => 'Download (ms)', + 'upload_ms' => 'Upload (ms)', + 'average_ms' => 'Média (ms)', + 'high_ms' => 'Alto (ms)', + 'low_ms' => 'Baixa (ms)', + 'ping_ms_label' => 'Latência (ms)', + + // Latency + 'download_latency' => 'Latência de Download', + 'upload_latency' => 'Latência de Upload', + + // Actions + 'run_speedtest' => 'Executar teste de velocidade', + 'list_servers' => 'Listar servidores', + 'export_current_results' => 'Exportar resultados atuais', + 'test' => 'Testar', + + // Common + 'token' => 'Token', + + // Application + 'speedtest_tracker' => 'Speedtest Tracker', + 'platform' => 'Plataforma', + + // Update status + 'update_available' => 'Atualização disponível!', + 'up_to_date' => 'Atualizado', + + // Notifications + 'token_created' => 'Token criado', +]; diff --git a/lang/pt_BR/pagination.php b/lang/pt_BR/pagination.php deleted file mode 100644 index 4deabd6fb..000000000 --- a/lang/pt_BR/pagination.php +++ /dev/null @@ -1,19 +0,0 @@ - '« Anterior', - 'next' => 'Próximo »', - -]; diff --git a/lang/pt_BR/passwords.php b/lang/pt_BR/passwords.php index 9ea94b7e2..8fa4d5f00 100644 --- a/lang/pt_BR/passwords.php +++ b/lang/pt_BR/passwords.php @@ -13,11 +13,8 @@ | */ - 'password' => 'A senha e a confirmação devem combinar e possuir pelo menos seis caracteres.', 'reset' => 'Sua senha foi redefinida!', - 'sent' => 'Enviamos seu link de redefinição de senha por e-mail!', - 'throttled' => 'Aguarde antes de tentar novamente.', - 'token' => 'Este token de redefinição de senha é inválido.', - 'user' => 'Não encontramos um usuário com esse endereço de e-mail.', + 'sent' => 'Enviamos um e-mail com o link para redefinir sua senha!', + 'password' => 'A senha e a confirmação devem corresponder e conter pelo menos seis caracteres.', ]; diff --git a/lang/pt_BR/results.php b/lang/pt_BR/results.php new file mode 100644 index 000000000..5d3c62055 --- /dev/null +++ b/lang/pt_BR/results.php @@ -0,0 +1,78 @@ + 'Resultados', + 'result_overview' => 'Visão geral do resultado', + 'error_message_title' => 'Mensagem de erro', + + // Metrics + 'download' => 'Download', + 'download_latency_high' => 'Latência de Download alta', + 'download_latency_low' => 'Latência de Download baixa', + 'download_latency_iqm' => 'Latência de Download IQM', + 'download_latency_jitter' => 'Jitter de latência de Download', + + 'upload' => 'Upload', + 'upload_latency_high' => 'Latência de Upload alta', + 'upload_latency_low' => 'Latência de Upload baixa', + 'upload_latency_iqm' => 'Latência de Upload IQM', + 'upload_latency_jitter' => 'Jitter de latência de Upload', + + 'ping' => 'Latência', + 'ping_details' => 'Detalhes do Ping', + 'ping_jitter' => 'Jitter do Ping', + 'ping_high' => 'Latência de ping alta', + 'ping_low' => 'Latência de ping baixa', + + 'packet_loss' => 'Perda de pacote', + 'iqm' => 'IQM', + + // Server & metadata + 'server_&_metadata' => 'Servidor e Metadados', + 'server_id' => 'ID do Servidor', + 'server_host' => 'Host do servidor', + 'server_name' => 'Nome do servidor', + 'server_location' => 'Localização do servidor', + 'service' => 'Serviço', + 'isp' => 'Provedor', + 'ip_address' => 'Endereço IP', + 'scheduled' => 'Agendado', + + // Filters + 'only_healthy_speedtests' => 'Apenas testes de velocidade saudáveis', + 'only_unhealthy_speedtests' => 'Apenas testes de velocidade não saudáveis', + 'only_manual_speedtests' => 'Apenas testes de velocidade manuais', + 'only_scheduled_speedtests' => 'Apenas testes de velocidade agendados', + 'created_from' => 'Criado por', + 'created_until' => 'Criado até', + + // Export + 'export_all_results' => 'Exportar todos resultados', + 'export_all_results_description' => 'Irá exportar todas as colunas para todos os resultados.', + 'export_completed' => 'Exportação concluída, :count :rows exportados.', + 'failed_export' => ':count :rows falhou ao exportar.', + 'row' => '{1} :count fileira [2,*] :count linhas', + + // Actions + 'update_comments' => 'Atualizar comentários', + 'view_on_speedtest_net' => 'Ver em Speedtest.net', + + // Notifications + 'speedtest_benchmark_passed' => 'Referência do teste de velocidade aprovada', + 'speedtest_benchmark_failed' => 'Referência do teste de velocidade falhou', + 'speedtest_started' => 'Teste de velocidade iniciado', + 'speedtest_completed' => 'Teste de velocidade concluído', + 'speedtest_failed' => 'Teste de velocidade falhou', + 'download_threshold_breached' => 'Limite de Download violado!', + 'upload_threshold_breached' => 'Limite de Upload violado!', + 'ping_threshold_breached' => 'Limite de ping violado!', + + // Run Speedtest Action + 'speedtest' => 'Teste de velocidade', + 'select_server' => 'Selecionar servidor', + 'select_server_helper' => 'Deixe em branco para executar o acelerador sem especificar um servidor. Os servidores bloqueados serão ignorados.', + 'manual_servers' => 'Servidores manuais', + 'closest_servers' => 'Servidores mais próximos', + 'run_speedtest' => 'Executar teste de velocidade', + 'start' => 'Iniciar', +]; diff --git a/lang/pt_BR/settings.php b/lang/pt_BR/settings.php new file mode 100644 index 000000000..b557f3d08 --- /dev/null +++ b/lang/pt_BR/settings.php @@ -0,0 +1,13 @@ + 'Confirgurações', + 'label' => 'Confirgurações', + + // Common settings labels + 'triggers' => 'Gatilhos', + 'verify_ssl' => 'Verificar SSL', + 'username' => 'Usuário', + 'username_placeholder' => 'Nome de usuário para autenticação básica (opcional)', + 'password_placeholder' => 'Senha para Autenticação Básica (opcional)', +]; diff --git a/lang/pt_BR/settings/data_integration.php b/lang/pt_BR/settings/data_integration.php new file mode 100644 index 000000000..02cc2a6fd --- /dev/null +++ b/lang/pt_BR/settings/data_integration.php @@ -0,0 +1,46 @@ + 'Integração de dados', + 'label' => 'Integração de dados', + + // InfluxDB v2 + 'influxdb_v2' => 'InfluxDB v2', + 'influxdb_v2_description' => 'Quando ativado, todos os novos resultados de Speedtest também serão enviados para InfluxDB.', + 'influxdb_v2_enabled' => 'Habilitado', + 'influxdb_v2_url' => 'URL:', + 'influxdb_v2_url_placeholder' => 'http://sua-influxdb-instância', + 'influxdb_v2_org' => 'Org', + 'influxdb_v2_bucket' => 'Bucket', + 'influxdb_v2_bucket_placeholder' => 'speedtest-tracker', + 'influxdb_v2_token' => 'Token', + 'influxdb_v2_verify_ssl' => 'Verificar SSL', + + // Actions + 'test_connection' => 'Testar conexão', + 'starting_bulk_data_write_to_influxdb' => 'Iniciando dados em massa no InfluxDB', + 'sending_test_data_to_influxdb' => 'Enviando dados de teste para InfluxDB', + + // Test connection notifications + 'influxdb_test_failed' => 'Falha no teste Influxdb', + 'influxdb_test_failed_body' => 'Confira os logs para mais detalhes.', + 'influxdb_test_success' => 'Dados de teste enviados com sucesso para o Influxdb', + 'influxdb_test_success_body' => 'Dados de teste enviados para InfluxDB, verifique se os dados foram recebidos.', + + // Bulk write notifications + 'influxdb_bulk_write_failed' => 'Falha ao escrever em massa no Influxdb.', + 'influxdb_bulk_write_failed_body' => 'Confira os logs para mais detalhes.', + 'influxdb_bulk_write_success' => 'Carga massiva de dados concluída para o Influxdb.', + 'influxdb_bulk_write_success_body' => 'Os dados foram enviados para InfluxDB, verifique se os dados foram recebidos.', + + // Prometheus + 'prometheus' => 'Prometheus', + 'prometheus_enabled' => 'Habilitado', + 'prometheus_enabled_helper_text' => 'Quando ativado, as métricas para cada novo radar estarão disponíveis no ponto de extremidade do /prometheus.', + 'prometheus_allowed_ips' => 'Endereços de IP Permitidos', + 'prometheus_allowed_ips_helper' => 'Lista de endereços IP ou intervalos de CIDR (por exemplo, 192.168.1.0/24) permitidos de acessar o ponto de extremidade das métricas. Deixe em branco para permitir que todos os IPs.', + + // Common labels + 'org' => 'Org', + 'bucket' => 'Bucket', +]; diff --git a/lang/pt_BR/settings/notifications.php b/lang/pt_BR/settings/notifications.php new file mode 100644 index 000000000..cee325eca --- /dev/null +++ b/lang/pt_BR/settings/notifications.php @@ -0,0 +1,65 @@ + 'Notificações', + 'label' => 'Notificações', + + // Database notifications + 'database' => 'Banco de Dados', + 'database_description' => 'Notificações enviadas para este canal aparecerão sob o 🔔 ícone no cabeçalho.', + 'test_database_channel' => 'Testar canal do banco de dados', + + // Mail notifications + 'mail' => 'E-mail', + 'recipients' => 'Destinatários', + 'test_mail_channel' => 'Testar canal de e-mail', + + // Apprise notifications + 'apprise' => 'Apprise', + 'enable_apprise_notifications' => 'Habilitar notificações Apprise', + 'apprise_server' => 'Servidor Apprise', + 'apprise_server_url' => 'URL do Servidor Apprise', + 'apprise_server_url_helper' => 'A URL do seu Servidor Apprise. A URL deve terminar em /notify', + 'apprise_verify_ssl' => 'Verificar SSL', + 'apprise_channels' => 'Canais de notificação', + 'apprise_channel_url' => 'URL de serviço', + 'apprise_hint_description' => 'Apprise permite que você envie notificações para mais de 90 serviços. Você precisa executar um servidor Apprise e configurar as URLs de serviço abaixo.', + 'apprise_channel_url_helper' => 'Use o formato de URL Apprise. Exemplos: discord://WebhookID/Token, slack://TokenA/TokenB/TokenC', + 'apprise_save_to_test' => 'Salve suas configurações para testar a notificação.', + 'test_apprise_channel' => 'Testar Apprise', + 'apprise_channel_url_validation_error' => 'URL Apprise inválida. Deve usar o formato Apprise (por exemplo, discord://, slack://), não http:// ou https://. Consulte a documentação Apprise para obter mais informações', + + // Webhook + 'webhook' => 'Webhook', + 'webhooks' => 'Webhooks', + 'test_webhook_channel' => 'Testar canal webhook', + 'webhook_hint_description' => 'Estes são webhooks genéricos. Para exemplos de payload e detalhes de implementação, consulte a documentação. Para serviços como Discord, Ntfy e etc. por favor use Apprise.', + + // Common notification messages + 'notify_on_every_speedtest_run' => 'Notifique após cada teste de velocidade agendado ser concluído', + 'notify_on_every_speedtest_run_helper' => 'Isso enviará uma notificação para cada execução de teste de velocidade agendada concluída, apenas para testes sem erros ou não avaliados', + 'notify_on_threshold_failures' => 'Notificar sobre falhas nos limites de testes de velocidade agendados', + 'notify_on_threshold_failures_helper' => 'Isso enviará uma notificação quando um teste de velocidade agendado não atingir nenhum dos limites configurados', + + // Test notification messages + 'test_notifications' => [ + 'database' => [ + 'ping' => 'Eu digo: ping', + 'pong' => 'Você diz: pong', + 'received' => 'Teste de notificação de banco de dados recebida!', + 'sent' => 'Teste de notificação do banco de dados enviada.', + ], + 'mail' => [ + 'add' => 'Adicione destinatários de email!', + 'sent' => 'Notificação de teste de email enviada.', + ], + 'webhook' => [ + 'add' => 'Adicionar URLs webhook!', + 'sent' => 'Notificação de teste webhook enviada.', + 'payload' => 'Testando notificação webhook', + ], + ], + + // Helper text + 'threshold_helper_text' => 'Notificações de limite serão enviadas para a rota /fail na URL.', +]; diff --git a/lang/pt_BR/settings/thresholds.php b/lang/pt_BR/settings/thresholds.php new file mode 100644 index 000000000..5c67c55be --- /dev/null +++ b/lang/pt_BR/settings/thresholds.php @@ -0,0 +1,22 @@ + 'Limites', + 'label' => 'Limites', + + // Absolute thresholds + 'absolute' => 'Absoluto', + 'absolute_description' => 'Os limites absolutos não levam em consideração o histórico anterior e podem ser acionados em cada teste.', + 'absolute_enabled' => 'Habilitar limites absolutos', + + // Metrics section + 'metrics' => 'Métricas', + 'metrics_helper_text' => 'Defina zero para desativar esta métrica.', + + // General threshold labels + 'thresholds' => 'Limites', + 'threshold_enabled' => 'Limite habilitado', + 'threshold_download' => 'Limite de download', + 'threshold_upload' => 'Limite de upload', + 'threshold_ping' => 'Limite de ping', +]; diff --git a/lang/pt_BR/tools.php b/lang/pt_BR/tools.php new file mode 100644 index 000000000..249d79aae --- /dev/null +++ b/lang/pt_BR/tools.php @@ -0,0 +1,6 @@ + 'Servidores Ookla', +]; diff --git a/lang/pt_BR/users.php b/lang/pt_BR/users.php new file mode 100644 index 000000000..ef4af9f81 --- /dev/null +++ b/lang/pt_BR/users.php @@ -0,0 +1,15 @@ + 'Usuários', + 'label' => 'Usuários', + + // User prompts and messages + 'user_change' => [ + 'info' => 'Função do usuário atualizada.', + 'password_updated_info' => ':email atualizado.', + 'what_is_password' => 'Qual é a nova senha?', + 'what_is_the_email_address' => 'Qual é o endereço de e-mail?', + 'what_role' => 'Qual papel o usuário deve ter?', + ], +]; diff --git a/lang/pt_BR/validation.php b/lang/pt_BR/validation.php index b6c0c47a4..34d05b329 100644 --- a/lang/pt_BR/validation.php +++ b/lang/pt_BR/validation.php @@ -13,133 +13,6 @@ | */ - 'accepted' => 'O campo :attribute deve ser aceito.', - 'accepted_if' => 'O :attribute deve ser aceito quando :other for :value.', - 'active_url' => 'O campo :attribute não é uma URL válida.', - 'after' => 'O campo :attribute deve ser uma data posterior a :date.', - 'after_or_equal' => 'O campo :attribute deve ser uma data posterior ou igual a :date.', - 'alpha' => 'O campo :attribute só pode conter letras.', - 'alpha_dash' => 'O campo :attribute só pode conter letras, números e traços.', - 'alpha_num' => 'O campo :attribute só pode conter letras e números.', - 'array' => 'O campo :attribute deve ser uma matriz.', - 'before' => 'O campo :attribute deve ser uma data anterior :date.', - 'before_or_equal' => 'O campo :attribute deve ser uma data anterior ou igual a :date.', - 'between' => [ - 'numeric' => 'O campo :attribute deve ser entre :min e :max.', - 'file' => 'O campo :attribute deve ser entre :min e :max kilobytes.', - 'string' => 'O campo :attribute deve ser entre :min e :max caracteres.', - 'array' => 'O campo :attribute deve ter entre :min e :max itens.', - ], - 'boolean' => 'O campo :attribute deve ser verdadeiro ou falso.', - 'confirmed' => 'O campo :attribute de confirmação não confere.', - 'current_password' => 'A senha está incorreta.', - 'date' => 'O campo :attribute não é uma data válida.', - 'date_equals' => 'O campo :attribute deve ser uma data igual a :date.', - 'date_format' => 'O campo :attribute não corresponde ao formato :format.', - 'declined' => 'O :attribute deve ser recusado.', - 'declined_if' => 'O :attribute deve ser recusado quando :other for :value.', - 'different' => 'Os campos :attribute e :other devem ser diferentes.', - 'digits' => 'O campo :attribute deve ter :digits dígitos.', - 'digits_between' => 'O campo :attribute deve ter entre :min e :max dígitos.', - 'dimensions' => 'O campo :attribute tem dimensões de imagem inválidas.', - 'distinct' => 'O campo :attribute campo tem um valor duplicado.', - 'doesnt_end_with' => 'O :attribute não pode terminar com um dos seguintes: :values.', - 'doesnt_start_with' => 'O :attribute não pode começar com um dos seguintes: :values.', - 'email' => 'O campo :attribute deve ser um endereço de e-mail válido.', - 'ends_with' => 'O campo :attribute deve terminar com um dos seguintes: :values', - 'enum' => 'O :attribute selecionado é inválido.', - 'exists' => 'O campo :attribute selecionado é inválido.', - 'file' => 'O campo :attribute deve ser um arquivo.', - 'filled' => 'O campo :attribute deve ter um valor.', - 'gt' => [ - 'numeric' => 'O campo :attribute deve ser maior que :value.', - 'file' => 'O campo :attribute deve ser maior que :value kilobytes.', - 'string' => 'O campo :attribute deve ser maior que :value caracteres.', - 'array' => 'O campo :attribute deve conter mais de :value itens.', - ], - 'gte' => [ - 'numeric' => 'O campo :attribute deve ser maior ou igual a :value.', - 'file' => 'O campo :attribute deve ser maior ou igual a :value kilobytes.', - 'string' => 'O campo :attribute deve ser maior ou igual a :value caracteres.', - 'array' => 'O campo :attribute deve conter :value itens ou mais.', - ], - 'image' => 'O campo :attribute deve ser uma imagem.', - 'in' => 'O campo :attribute selecionado é inválido.', - 'in_array' => 'O campo :attribute não existe em :other.', - 'integer' => 'O campo :attribute deve ser um número inteiro.', - 'ip' => 'O campo :attribute deve ser um endereço de IP válido.', - 'ipv4' => 'O campo :attribute deve ser um endereço IPv4 válido.', - 'ipv6' => 'O campo :attribute deve ser um endereço IPv6 válido.', - 'json' => 'O campo :attribute deve ser uma string JSON válida.', - 'lt' => [ - 'numeric' => 'O campo :attribute deve ser menor que :value.', - 'file' => 'O campo :attribute deve ser menor que :value kilobytes.', - 'string' => 'O campo :attribute deve ser menor que :value caracteres.', - 'array' => 'O campo :attribute deve conter menos de :value itens.', - ], - 'lte' => [ - 'numeric' => 'O campo :attribute deve ser menor ou igual a :value.', - 'file' => 'O campo :attribute deve ser menor ou igual a :value kilobytes.', - 'string' => 'O campo :attribute deve ser menor ou igual a :value caracteres.', - 'array' => 'O campo :attribute não deve conter mais que :value itens.', - ], - 'max' => [ - 'numeric' => 'O campo :attribute não pode ser superior a :max.', - 'file' => 'O campo :attribute não pode ser superior a :max kilobytes.', - 'string' => 'O campo :attribute não pode ser superior a :max caracteres.', - 'array' => 'O campo :attribute não pode ter mais do que :max itens.', - ], - 'max_digits' => 'O campo :attribute não pode ser superior a :max dígitos', - 'mimes' => 'O campo :attribute deve ser um arquivo do tipo: :values.', - 'mimetypes' => 'O campo :attribute deve ser um arquivo do tipo: :values.', - 'min' => [ - 'numeric' => 'O campo :attribute deve ser pelo menos :min.', - 'file' => 'O campo :attribute deve ter pelo menos :min kilobytes.', - 'string' => 'O campo :attribute deve ter pelo menos :min caracteres.', - 'array' => 'O campo :attribute deve ter pelo menos :min itens.', - ], - 'missing_with' => 'O campo :attribute não deve estar presente quando houver :values.', - 'min_digits' => 'O campo :attribute deve ter pelo menos :min dígitos', - 'not_in' => 'O campo :attribute selecionado é inválido.', - 'multiple_of' => 'O campo :attribute deve ser um múltiplo de :value.', - 'not_regex' => 'O campo :attribute possui um formato inválido.', - 'numeric' => 'O campo :attribute deve ser um número.', - 'password' => [ - 'letters' => 'O campo :attribute deve conter pelo menos uma letra.', - 'mixed' => 'O campo :attribute deve conter pelo menos uma letra maiúscula e uma letra minúscula.', - 'numbers' => 'O campo :attribute deve conter pelo menos um número.', - 'symbols' => 'O campo :attribute deve conter pelo menos um símbolo.', - 'uncompromised' => 'A senha que você inseriu em :attribute está em um vazamento de dados. Por favor escolha uma senha diferente.', - ], - 'present' => 'O campo :attribute deve estar presente.', - 'regex' => 'O campo :attribute tem um formato inválido.', - 'required' => 'O campo :attribute é obrigatório.', - 'required_array_keys' => 'O campo :attribute deve conter entradas para: :values.', - 'required_if' => 'O campo :attribute é obrigatório quando :other for :value.', - 'required_unless' => 'O campo :attribute é obrigatório exceto quando :other for :values.', - 'required_with' => 'O campo :attribute é obrigatório quando :values está presente.', - 'required_with_all' => 'O campo :attribute é obrigatório quando :values está presente.', - 'required_without' => 'O campo :attribute é obrigatório quando :values não está presente.', - 'required_without_all' => 'O campo :attribute é obrigatório quando nenhum dos :values estão presentes.', - 'prohibited' => 'O campo :attribute é proibido.', - 'prohibited_if' => 'O campo :attribute é proibido quando :other for :value.', - 'prohibited_unless' => 'O campo :attribute é proibido exceto quando :other for :values.', - 'prohibits' => 'O campo :attribute proíbe :other de estar presente.', - 'same' => 'Os campos :attribute e :other devem corresponder.', - 'size' => [ - 'numeric' => 'O campo :attribute deve ser :size.', - 'file' => 'O campo :attribute deve ser :size kilobytes.', - 'string' => 'O campo :attribute deve ser :size caracteres.', - 'array' => 'O campo :attribute deve conter :size itens.', - ], - 'starts_with' => 'O campo :attribute deve começar com um dos seguintes valores: :values', - 'string' => 'O campo :attribute deve ser uma string.', - 'timezone' => 'O campo :attribute deve ser uma zona válida.', - 'unique' => 'O campo :attribute já está sendo utilizado.', - 'uploaded' => 'Ocorreu uma falha no upload do campo :attribute.', - 'url' => 'O campo :attribute tem um formato inválido.', - 'uuid' => 'O campo :attribute deve ser um UUID válido.', - /* |-------------------------------------------------------------------------- | Custom Validation Language Lines @@ -153,7 +26,7 @@ 'custom' => [ 'attribute-name' => [ - 'rule-name' => 'custom-message', + ], ], @@ -172,26 +45,26 @@ 'address' => 'endereço', 'age' => 'idade', 'body' => 'conteúdo', - 'cell' => 'célula', + 'cell' => 'celular', 'city' => 'cidade', 'country' => 'país', 'date' => 'data', 'day' => 'dia', 'excerpt' => 'resumo', 'first_name' => 'primeiro nome', - 'gender' => 'gênero', + 'gender' => 'sexo', 'marital_status' => 'estado civil', 'profession' => 'profissão', 'nationality' => 'nacionalidade', 'hour' => 'hora', - 'last_name' => 'sobrenome', + 'last_name' => 'último nome', 'message' => 'mensagem', 'minute' => 'minuto', 'mobile' => 'celular', 'month' => 'mês', 'name' => 'nome', - 'zipcode' => 'cep', - 'company_name' => 'razão social', + 'zipcode' => 'CEP', + 'company_name' => 'nome da empresa', 'neighborhood' => 'bairro', 'number' => 'número', 'password' => 'senha', @@ -202,17 +75,17 @@ 'street' => 'rua', 'subject' => 'assunto', 'text' => 'texto', - 'time' => 'hora', + 'time' => 'horário', 'title' => 'título', 'username' => 'usuário', 'year' => 'ano', 'description' => 'descrição', - 'password_confirmation' => 'confirmação da senha', + 'password_confirmation' => 'confirmação de senha', 'current_password' => 'senha atual', 'complement' => 'complemento', 'modality' => 'modalidade', 'category' => 'categoria', - 'blood_type' => 'tipo sanguíneo', + 'blood_type' => 'tipo de sangue', 'birth_date' => 'data de nascimento', ], ]; diff --git a/openapi.json b/openapi.json new file mode 100644 index 000000000..0c171dfba --- /dev/null +++ b/openapi.json @@ -0,0 +1,1189 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Speedtest Tracker API", + "version": "1.0.0" + }, + "paths": { + "/api/v1/ookla": { + "description": "Endpoints for retrieving Ookla speedtest servers and related resources." + }, + "/api/v1/results": { + "description": "Endpoints for retrieving speedtest results.", + "get": { + "tags": [ + "Results" + ], + "summary": "List all results", + "operationId": "listResults", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + }, + { + "name": "per.page", + "in": "query", + "description": "Number of results per page", + "required": false, + "schema": { + "type": "integer", + "default": 25, + "maximum": 500, + "minimum": 1 + } + }, + { + "name": "filter[ping]", + "in": "query", + "description": "Filter by ping value (supports operators like >=, <=, etc.)", + "required": false, + "schema": { + "type": "number" + } + }, + { + "name": "filter[download]", + "in": "query", + "description": "Filter by download speed (supports operators like >=, <=, etc.)", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "filter[upload]", + "in": "query", + "description": "Filter by upload speed (supports operators like >=, <=, etc.)", + "required": false, + "schema": { + "type": "integer" + } + }, + { + "name": "filter[healthy]", + "in": "query", + "description": "Filter by healthy status", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "filter[status]", + "in": "query", + "description": "Filter by status", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "filter[scheduled]", + "in": "query", + "description": "Filter by scheduled status", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "filter[start_at]", + "in": "query", + "description": "Filter results created on or after this date (alias for created_at>=)", + "required": false, + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "filter[end_at]", + "in": "query", + "description": "Filter results created on or before this date (alias for created_at<=)", + "required": false, + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort results by field (prefix with - for descending)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ping", + "-ping", + "download", + "-download", + "upload", + "-upload", + "created_at", + "-created_at", + "updated_at", + "-updated_at" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResultsCollection" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + }, + "422": { + "description": "Validation failed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } + } + } + } + } + }, + "/api/v1/stats": { + "description": "Endpoints for viewing performance statistics.", + "get": { + "tags": [ + "Stats" + ], + "summary": "Fetch aggregated Speedtest statistics", + "operationId": "getStats", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + }, + { + "name": "start_at", + "in": "query", + "description": "Filter stats from this date/time (ISO 8601)", + "required": false, + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "end_at", + "in": "query", + "description": "Filter stats up to this date/time (ISO 8601)", + "required": false, + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Statistics fetched successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Stats" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + }, + "422": { + "description": "Validation error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } + } + } + } + } + }, + "/api/v1/ookla/list-servers": { + "get": { + "tags": [ + "Servers" + ], + "summary": "List available Ookla speedtest servers", + "description": "Returns an array of available Ookla speedtest servers. Requires an API token with `ookla:list-servers` scope.", + "operationId": "listOoklaServers", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + } + ], + "responses": { + "200": { + "description": "Servers retrieved successfully", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServersCollection" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + } + } + } + }, + "/api/v1/results/{id}": { + "get": { + "tags": [ + "Results" + ], + "summary": "Get a single result", + "operationId": "getResult", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + }, + { + "name": "id", + "in": "path", + "description": "The ID of the result", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResultResponse" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + }, + "404": { + "description": "Result not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/api/v1/results/latest": { + "get": { + "tags": [ + "Results" + ], + "summary": "Get the most recent result", + "operationId": "getLatestResult", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Result" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + }, + "404": { + "description": "No result found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotFoundError" + } + } + } + } + } + } + }, + "/api/v1/speedtests/run": { + "post": { + "tags": [ + "Speedtests" + ], + "summary": "Run a new Ookla speedtest", + "operationId": "runSpeedtest", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + }, + { + "name": "server_id", + "in": "query", + "description": "Optional Ookla speedtest server ID", + "required": false, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpeedtestRun" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + }, + "422": { + "description": "Validation error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationError" + } + } + } + } + } + } + }, + "/api/v1/speedtests/list-servers": { + "get": { + "tags": [ + "Speedtests" + ], + "summary": "List available Ookla speedtest servers", + "operationId": "listSpeedtestServers", + "parameters": [ + { + "$ref": "#/components/parameters/AcceptHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServersCollection" + } + } + } + }, + "401": { + "description": "Unauthenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnauthenticatedError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForbiddenError" + }, + "example": { + "message": "You do not have permission to view speedtest servers." + } + } + } + }, + "406": { + "description": "Not Acceptable - Missing or invalid Accept header", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotAcceptableError" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "ForbiddenError": { + "description": "Forbidden error response when user lacks permission", + "properties": { + "message": { + "description": "Error message indicating lack of permission", + "type": "string" + } + }, + "type": "object" + }, + "NotAcceptableError": { + "description": "Error response when the Accept header is missing or invalid", + "properties": { + "message": { + "type": "string", + "example": "This endpoint only accepts JSON. Please include \"Accept: application/json\" in your request headers." + }, + "error": { + "type": "string", + "example": "Unsupported Media Type" + } + }, + "type": "object" + }, + "NotFoundError": { + "description": "Error when a requested result is not found", + "properties": { + "message": { + "description": "Result not found error message", + "type": "string" + } + }, + "type": "object" + }, + "ResultResponse": { + "description": "Response for an Single Speedtest result entry", + "properties": { + "data": { + "$ref": "#/components/schemas/Result" + }, + "message": { + "description": "Response status message", + "type": "string" + } + }, + "type": "object" + }, + "Result": { + "description": "Speedtest result entry", + "properties": { + "id": { + "type": "integer" + }, + "service": { + "type": "string" + }, + "ping": { + "type": "number" + }, + "download": { + "type": "integer" + }, + "upload": { + "type": "integer" + }, + "download_bits": { + "type": "integer" + }, + "upload_bits": { + "type": "integer" + }, + "download_bits_human": { + "type": "string" + }, + "upload_bits_human": { + "type": "string" + }, + "benchmarks": { + "type": "array", + "items": { + "type": "object" + }, + "nullable": true + }, + "healthy": { + "type": "boolean", + "nullable": true + }, + "status": { + "type": "string" + }, + "scheduled": { + "type": "boolean" + }, + "comments": { + "type": "string", + "nullable": true + }, + "data": { + "description": "Nested speedtest data payload", + "properties": { + "isp": { + "type": "string" + }, + "ping": { + "properties": { + "low": { + "type": "number", + "format": "float" + }, + "high": { + "type": "number", + "format": "float" + }, + "jitter": { + "type": "number", + "format": "float" + }, + "latency": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "type": { + "type": "string" + }, + "result": { + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + }, + "persisted": { + "type": "boolean" + } + }, + "type": "object" + }, + "server": { + "properties": { + "id": { + "type": "integer" + }, + "ip": { + "type": "string", + "format": "ipv4" + }, + "host": { + "type": "string" + }, + "name": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "country": { + "type": "string" + }, + "location": { + "type": "string" + } + }, + "type": "object" + }, + "upload": { + "properties": { + "bytes": { + "type": "integer" + }, + "elapsed": { + "type": "integer" + }, + "latency": { + "properties": { + "iqm": { + "type": "number", + "format": "float" + }, + "low": { + "type": "number", + "format": "float" + }, + "high": { + "type": "number", + "format": "float" + }, + "jitter": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "bandwidth": { + "type": "integer" + } + }, + "type": "object" + }, + "download": { + "properties": { + "bytes": { + "type": "integer" + }, + "elapsed": { + "type": "integer" + }, + "latency": { + "properties": { + "iqm": { + "type": "number", + "format": "float" + }, + "low": { + "type": "number", + "format": "float" + }, + "high": { + "type": "number", + "format": "float" + }, + "jitter": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "bandwidth": { + "type": "integer" + } + }, + "type": "object" + }, + "interface": { + "properties": { + "name": { + "type": "string" + }, + "isVpn": { + "type": "boolean" + }, + "macAddr": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$" + }, + "externalIp": { + "type": "string", + "format": "ipv4" + }, + "internalIp": { + "type": "string", + "format": "ipv4" + } + }, + "type": "object" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "packetLoss": { + "type": "number" + } + }, + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "type": "object", + "additionalProperties": false + }, + "ResultsCollection": { + "description": "Paginated list of Speedtest results", + "properties": { + "data": { + "description": "Array of result objects", + "type": "array", + "items": { + "$ref": "#/components/schemas/Result" + } + }, + "links": { + "properties": { + "first": { + "type": "string" + }, + "last": { + "type": "string" + }, + "prev": { + "type": "string", + "nullable": true + }, + "next": { + "type": "string", + "nullable": true + } + }, + "type": "object", + "additionalProperties": false + }, + "meta": { + "properties": { + "current_page": { + "type": "integer" + }, + "from": { + "type": "integer" + }, + "last_page": { + "type": "integer" + }, + "links": { + "type": "array", + "items": { + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string" + }, + "active": { + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "path": { + "type": "string" + }, + "per.page": { + "type": "integer" + }, + "to": { + "type": "integer" + }, + "total": { + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "ServersCollection": { + "description": "Collection of Ookla speedtest servers", + "properties": { + "data": { + "description": "List of server objects", + "type": "array", + "items": { + "properties": { + "id": { + "type": "string" + }, + "host": { + "type": "string" + }, + "name": { + "type": "string" + }, + "location": { + "type": "string" + }, + "country": { + "type": "string" + } + }, + "type": "object" + } + }, + "message": { + "description": "Response status message", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "SpeedtestRun": { + "description": "A queued speedtest result", + "properties": { + "data": { + "description": "Queued speedtest result payload", + "properties": { + "id": { + "type": "integer" + }, + "service": { + "type": "string" + }, + "ping": { + "type": "number", + "format": "float", + "nullable": true + }, + "download": { + "type": "integer", + "nullable": true + }, + "upload": { + "type": "integer", + "nullable": true + }, + "benchmarks": { + "type": "object", + "nullable": true + }, + "healthy": { + "type": "boolean", + "nullable": true + }, + "status": { + "type": "string" + }, + "scheduled": { + "type": "boolean" + }, + "comments": { + "type": "string", + "nullable": true + }, + "data": { + "description": "Additional data for queued result", + "properties": { + "server": { + "properties": { + "id": { + "type": "integer", + "nullable": true + } + }, + "type": "object" + } + }, + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "type": "object", + "additionalProperties": false + }, + "message": { + "description": "Response status message", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "Stats": { + "description": "Aggregated speedtest statistics", + "properties": { + "total_results": { + "type": "integer" + }, + "avg_ping": { + "type": "number", + "format": "float" + }, + "avg_download": { + "type": "number", + "format": "float" + }, + "avg_upload": { + "type": "number", + "format": "float" + }, + "min_ping": { + "type": "number", + "format": "float" + }, + "min_download": { + "type": "number", + "format": "float" + }, + "min_upload": { + "type": "number", + "format": "float" + }, + "max_ping": { + "type": "number", + "format": "float" + }, + "max_download": { + "type": "number", + "format": "float" + }, + "max_upload": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "UnauthenticatedError": { + "description": "Error when user is not authenticated", + "properties": { + "message": { + "description": "Unauthenticated error message", + "type": "string" + } + }, + "type": "object" + }, + "ValidationError": { + "description": "Validation failed due to invalid server_id input", + "properties": { + "message": { + "description": "Validation failed due to invalid server_id input", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "AcceptHeader": { + "name": "Accept", + "in": "header", + "description": "Must be \"application/json\" - this API only accepts and returns JSON", + "required": true, + "schema": { + "type": "string", + "default": "application/json" + } + } + }, + "securitySchemes": { + "bearerAuth": { + "type": "http", + "bearerFormat": "JWT", + "scheme": "bearer" + } + } + }, + "tags": [ + { + "name": "Results", + "description": "Endpoints for accessing and filtering speedtest results. Requires API token with `results:read` scope." + }, + { + "name": "Speedtests", + "description": "Endpoints for running speedtests and listing servers." + }, + { + "name": "Stats", + "description": "Endpoints for retrieving aggregated statistics and performance metrics. Requires `speedtests:read` token scope." + }, + { + "name": "Servers", + "description": "Servers" + } + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 81ee10c93..8a6a64dd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,424 +5,476 @@ "packages": { "": { "devDependencies": { - "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", + "@tailwindcss/vite": "^4.1.17", "autoprefixer": "^10.4.15", "laravel-vite-plugin": "^1.0.0", - "postcss": "^8.4.29", - "tailwindcss": "^3.4.0", - "vite": "^5.1.7" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "tailwindcss": "^4.1.17", + "vite": "^6.4.1" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -430,491 +482,722 @@ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz", - "integrity": "sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz", - "integrity": "sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz", - "integrity": "sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz", - "integrity": "sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz", - "integrity": "sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz", - "integrity": "sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz", - "integrity": "sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz", - "integrity": "sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz", - "integrity": "sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==", + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz", - "integrity": "sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz", - "integrity": "sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz", - "integrity": "sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", + "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz", - "integrity": "sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz", - "integrity": "sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz", - "integrity": "sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==", + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz", - "integrity": "sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==", + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@tailwindcss/forms": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", - "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "mini-svg-data-uri": "^1.2.3" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz", - "integrity": "sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==", + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", "dev": true, + "license": "MIT", "dependencies": { - "lodash.castarray": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" } }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 10" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" ], - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">= 10" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@tailwindcss/typography": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", + "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@tailwindcss/vite": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" } }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.24", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", + "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", "dev": true, "funding": [ { "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "url": "https://opencollective.com/postcss/" }, { "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" + "url": "https://tidelift.com/funding/github/npm/autoprefixer" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001766", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" }, "bin": { - "browserslist": "cli.js" + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", "dev": true, - "engines": { - "node": ">= 6" + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001610", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz", - "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==", + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -923,96 +1206,55 @@ }, { "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + "url": "https://tidelift.com/funding/github/npm/browserslist" }, { "type": "github", "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + ], + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/caniuse-lite": { + "version": "1.0.30001767", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz", + "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==", "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -1020,158 +1262,118 @@ "node": ">=4" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } }, "node_modules/electron-to-chromium": { - "version": "1.4.737", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.737.tgz", - "integrity": "sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==", - "dev": true + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "dev": true, + "license": "ISC" }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } }, "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" + "node": ">=12.0.0" }, - "engines": { - "node": ">=14" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, "funding": { - "type": "patreon", + "type": "github", "url": "https://github.com/sponsors/rawify" } }, @@ -1181,6 +1383,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1189,964 +1392,507 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" } }, - "node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "node_modules/laravel-vite-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.3.0.tgz", + "integrity": "sha512-P5qyG56YbYxM8OuYmK2OkhcKe0AksNVJUjq9LUZ5tOekU9fBn9LujYyctI4t9XoLjuMvHJXXpCoPntY1oKltuA==", "dev": true, + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "picocolors": "^1.0.0", + "vite-plugin-full-reload": "^1.1.0" }, "bin": { - "glob": "dist/esm/bin.mjs" + "clean-orphaned-assets": "bin/clean.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", "dev": true, + "license": "MPL-2.0", "dependencies": { - "is-glob": "^4.0.3" + "detect-libc": "^2.0.3" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" + "node": ">= 12.0.0" }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "hasown": "^2.0.0" + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/laravel-vite-plugin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.0.2.tgz", - "integrity": "sha512-Mcclml10khYzBVxDwJro8wnVDwD4i7XOSEMACQNnarvTnHjrjXLLL+B/Snif2wYAyElsOqagJZ7VAinb/2vF5g==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "vite-plugin-full-reload": "^1.1.0" - }, - "bin": { - "clean-orphaned-assets": "bin/clean.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/lodash.castarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", - "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "dev": true, - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, "engines": { - "node": "^12 || ^14 || >= 16" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" ], - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=12.0" + "node": ">= 12.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-nested/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.3.tgz", - "integrity": "sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": ">= 12.0.0" }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.3", - "@rollup/rollup-android-arm64": "4.14.3", - "@rollup/rollup-darwin-arm64": "4.14.3", - "@rollup/rollup-darwin-x64": "4.14.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.3", - "@rollup/rollup-linux-arm-musleabihf": "4.14.3", - "@rollup/rollup-linux-arm64-gnu": "4.14.3", - "@rollup/rollup-linux-arm64-musl": "4.14.3", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.3", - "@rollup/rollup-linux-riscv64-gnu": "4.14.3", - "@rollup/rollup-linux-s390x-gnu": "4.14.3", - "@rollup/rollup-linux-x64-gnu": "4.14.3", - "@rollup/rollup-linux-x64-musl": "4.14.3", - "@rollup/rollup-win32-arm64-msvc": "4.14.3", - "@rollup/rollup-win32-ia32-msvc": "4.14.3", - "@rollup/rollup-win32-x64-msvc": "4.14.3", - "fsevents": "~2.3.2" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" ], - "dependencies": { - "queue-microtask": "^1.2.2" + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=12" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, + "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14" } }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/tailwindcss": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", - "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "node_modules/rollup": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", + "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", "dev": true, + "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "@types/estree": "1.0.8" }, "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" } }, - "node_modules/tailwindcss/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } + "license": "MIT" }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, + "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=8.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -2162,9 +1908,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -2177,23 +1924,28 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vite": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.9.tgz", - "integrity": "sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, + "license": "MIT", "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -2202,18 +1954,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", - "terser": "^5.4.0" + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -2223,6 +1982,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -2231,135 +1993,37 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, "node_modules/vite-plugin-full-reload": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.1.0.tgz", - "integrity": "sha512-3cObNDzX6DdfhD9E7kf6w2mNunFpD7drxyNgHLw+XwIYAgb+Xt16SEXo0Up4VH+TMf3n+DSVJZtW2POBGcBYAA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz", + "integrity": "sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==", "dev": true, + "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "picomatch": "^2.3.1" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/vite-plugin-full-reload/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" + "url": "https://github.com/sponsors/jonschlinkert" } } } diff --git a/package.json b/package.json index bf40c6750..87e7212c3 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,11 @@ "build": "vite build" }, "devDependencies": { - "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", + "@tailwindcss/vite": "^4.1.17", "autoprefixer": "^10.4.15", "laravel-vite-plugin": "^1.0.0", - "postcss": "^8.4.29", - "tailwindcss": "^3.4.0", - "vite": "^5.1.7" + "tailwindcss": "^4.1.17", + "vite": "^6.4.1" } } diff --git a/phpunit.xml b/phpunit.xml index 807bdde14..029d6ede2 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,27 +1,30 @@ - - - - ./tests/Unit - - - ./tests/Feature - - - - - - - - - - - - - - - - ./app - - + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + diff --git a/pint.json b/pint.json index 818cc63b8..714c8e3ab 100644 --- a/pint.json +++ b/pint.json @@ -4,6 +4,7 @@ "config" ], "rules": { - "fully_qualified_strict_types": false + "fully_qualified_strict_types": false, + "single_line_empty_body": true } } diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 49c0612d5..000000000 --- a/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; diff --git a/public/.htaccess b/public/.htaccess index 3aec5e27e..b574a597d 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -9,6 +9,10 @@ RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + # Handle X-XSRF-Token Header + RewriteCond %{HTTP:x-xsrf-token} . + RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}] + # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ diff --git a/public/build/assets/app-Cvdm5QA4.css b/public/build/assets/app-Cvdm5QA4.css deleted file mode 100644 index 84eda446b..000000000 --- a/public/build/assets/app-Cvdm5QA4.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgba(var(--gray-200),1)}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:rgba(var(--gray-400),1)}input::placeholder,textarea::placeholder{opacity:1;color:rgba(var(--gray-400),1)}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='rgba(var(--gray-500)%2c var(--tw-stroke-opacity%2c 1))' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity, 1));border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity, 1));opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity, 1));opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='rgba(var(--gray-500)%2c var(--tw-stroke-opacity%2c 1))' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity, 1));border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}[x-cloak]{display:none!important}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;text-align:start;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(.prose-base>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose-lg>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-1\/2{bottom:-50%}.-top-1{top:-.25rem}.-top-1\/2{top:-50%}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.end-0{inset-inline-end:0px}.end-4{inset-inline-end:1rem}.end-6{inset-inline-end:1.5rem}.left-3{left:.75rem}.start-0{inset-inline-start:0px}.start-full{inset-inline-start:100%}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.col-\[--col-span-default\]{grid-column:var(--col-span-default)}.col-span-full{grid-column:1 / -1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-\[--col-start-default\]{grid-column-start:var(--col-start-default)}.row-start-2{grid-row-start:2}.-m-0{margin:-0px}.-m-0\.5{margin:-.125rem}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-m-2{margin:-.5rem}.-m-2\.5{margin:-.625rem}.-m-3{margin:-.75rem}.-m-3\.5{margin:-.875rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-top:4rem;margin-bottom:4rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.\!mt-0{margin-top:0!important}.-mb-4{margin-bottom:-1rem}.-mb-6{margin-bottom:-1.5rem}.-me-2{margin-inline-end:-.5rem}.-ms-0{margin-inline-start:-0px}.-ms-0\.5{margin-inline-start:-.125rem}.-ms-1{margin-inline-start:-.25rem}.-ms-2{margin-inline-start:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-1{margin-inline-end:.25rem}.me-4{margin-inline-end:1rem}.me-6{margin-inline-end:1.5rem}.ml-auto{margin-left:auto}.ms-1{margin-inline-start:.25rem}.ms-auto{margin-inline-start:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-\[--line-clamp\]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-0{height:0px}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\],.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-\[theme\(spacing\.48\)\]{min-height:12rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[calc\(100\%\+2rem\)\]{width:calc(100% + 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[theme\(spacing\.4\)\]{min-width:1rem}.min-w-\[theme\(spacing\.5\)\]{min-width:1.25rem}.min-w-\[theme\(spacing\.6\)\]{min-width:1.5rem}.min-w-\[theme\(spacing\.8\)\]{min-width:2rem}.\!max-w-2xl{max-width:42rem!important}.\!max-w-3xl{max-width:48rem!important}.\!max-w-4xl{max-width:56rem!important}.\!max-w-5xl{max-width:64rem!important}.\!max-w-6xl{max-width:72rem!important}.\!max-w-7xl{max-width:80rem!important}.\!max-w-\[14rem\]{max-width:14rem!important}.\!max-w-lg{max-width:32rem!important}.\!max-w-md{max-width:28rem!important}.\!max-w-sm{max-width:24rem!important}.\!max-w-xl{max-width:36rem!important}.\!max-w-xs{max-width:20rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-screen-xl{max-width:1280px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-12{--tw-translate-x: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x: -1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-12{--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x: 3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-12{--tw-translate-y: 3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate: -180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-mt-9{scroll-margin-top:2.25rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-\[--cols-default\]{-moz-columns:var(--cols-default);columns:var(--cols-default)}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[--cols-default\]{grid-template-columns:var(--cols-default)}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[repeat\(7\,minmax\(theme\(spacing\.7\)\,1fr\)\)\]{grid-template-columns:repeat(7,minmax(1.75rem,1fr))}.grid-cols-\[repeat\(auto-fit\,minmax\(0\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-rows-\[1fr_auto_1fr\]{grid-template-rows:1fr auto 1fr}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-px{row-gap:1px}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgba(var(--gray-100),var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgba(var(--gray-200),var(--tw-divide-opacity))}.divide-white\/80>:not([hidden])~:not([hidden]){border-color:#fffc}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x-\[0\.5px\]{border-left-width:.5px;border-right-width:.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.\!border-t-0{border-top-width:0px!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-e{border-inline-end-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-gray-100{--tw-border-opacity: 1;border-color:rgba(var(--gray-100),var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgba(var(--gray-200),var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgba(var(--gray-300),var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgba(var(--primary-600),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-gray-200{--tw-border-opacity: 1;border-top-color:rgba(var(--gray-200),var(--tw-border-opacity))}.\!bg-gray-50{--tw-bg-opacity: 1 !important;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))!important}.\!bg-gray-700{--tw-bg-opacity: 1 !important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.bg-black\/50{background-color:#00000080}.bg-current{background-color:currentColor}.bg-custom-100{--tw-bg-opacity: 1;background-color:rgba(var(--c-100),var(--tw-bg-opacity))}.bg-custom-50{--tw-bg-opacity: 1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.bg-custom-600{--tw-bg-opacity: 1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.bg-gray-100\/10{background-color:rgba(var(--gray-100),.1)}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgba(var(--gray-200),var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.bg-gray-950\/50{background-color:rgba(var(--gray-950),.5)}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/0{background-color:#fff0}.bg-white\/5{background-color:#ffffff0d}.\!bg-none{background-image:none!important}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-0{padding-inline-end:0px}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-6{padding-inline-end:1.5rem}.pe-8{padding-inline-end:2rem}.ps-0{padding-inline-start:0px}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-\[5\.25rem\]{padding-inline-start:5.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-loose{line-height:2}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-custom-400{--tw-text-opacity: 1;color:rgba(var(--c-400),var(--tw-text-opacity))}.text-custom-50{--tw-text-opacity: 1;color:rgba(var(--c-50),var(--tw-text-opacity))}.text-custom-500{--tw-text-opacity: 1;color:rgba(var(--c-500),var(--tw-text-opacity))}.text-custom-600{--tw-text-opacity: 1;color:rgba(var(--c-600),var(--tw-text-opacity))}.text-custom-700\/50{color:rgba(var(--c-700),.5)}.text-danger-600{--tw-text-opacity: 1;color:rgba(var(--danger-600),var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgba(var(--gray-100),var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgba(var(--gray-600),var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.text-gray-700\/50{color:rgba(var(--gray-700),.5)}.text-gray-900{--tw-text-opacity: 1;color:rgba(var(--gray-900),var(--tw-text-opacity))}.text-gray-950{--tw-text-opacity: 1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity: 1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-custom-600{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-600), var(--tw-ring-opacity))}.ring-custom-600\/10{--tw-ring-color: rgba(var(--c-600), .1)}.ring-custom-600\/20{--tw-ring-color: rgba(var(--c-600), .2)}.ring-danger-600{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-600), var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-200), var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-300), var(--tw-ring-opacity))}.ring-gray-600\/10{--tw-ring-color: rgba(var(--gray-600), .1)}.ring-gray-900\/10{--tw-ring-color: rgba(var(--gray-900), .1)}.ring-gray-950\/10{--tw-ring-color: rgba(var(--gray-950), .1)}.ring-gray-950\/5{--tw-ring-color: rgba(var(--gray-950), .05)}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[transform\:translateZ\(0\)\]{transform:translateZ(0)}.dark\:prose-invert:is(.dark *){--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{content:var(--tw-content);top:0;bottom:0}.before\:start-0:before{content:var(--tw-content);inset-inline-start:0px}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-0:before{content:var(--tw-content);width:0px}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:bg-primary-600:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.first\:border-s-0:first-child{border-inline-start-width:0px}.first\:border-t-0:first-child{border-top-width:0px}.last\:border-e-0:last-child{border-inline-end-width:0px}.first-of-type\:ps-1:first-of-type{padding-inline-start:.25rem}.last-of-type\:pe-1:last-of-type{padding-inline-end:.25rem}.checked\:ring-0:checked{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:bg-gray-50:focus-within{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:bg-custom-400\/10:hover{background-color:rgba(var(--c-400),.1)}.hover\:bg-custom-50:hover{--tw-bg-opacity: 1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.hover\:bg-custom-500:hover{--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.hover\:bg-gray-400\/10:hover{background-color:rgba(var(--gray-400),.1)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:text-custom-600:hover{--tw-text-opacity: 1;color:rgba(var(--c-600),var(--tw-text-opacity))}.hover\:text-custom-700\/75:hover{color:rgba(var(--c-700),.75)}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.hover\:text-gray-700\/75:hover{color:rgba(var(--gray-700),.75)}.hover\:opacity-100:hover{opacity:1}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-danger-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-600), var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-600), var(--tw-ring-opacity))}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.checked\:focus\:ring-danger-500\/50:focus:checked{--tw-ring-color: rgba(var(--danger-500), .5)}.checked\:focus\:ring-primary-500\/50:focus:checked{--tw-ring-color: rgba(var(--primary-500), .5)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-primary-500:focus-visible{--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.focus-visible\:bg-custom-50:focus-visible{--tw-bg-opacity: 1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.focus-visible\:bg-gray-100:focus-visible{--tw-bg-opacity: 1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.focus-visible\:bg-gray-50:focus-visible{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.focus-visible\:text-custom-700\/75:focus-visible{color:rgba(var(--c-700),.75)}.focus-visible\:text-gray-500:focus-visible{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.focus-visible\:text-gray-700\/75:focus-visible{color:rgba(var(--gray-700),.75)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-custom-500\/50:focus-visible{--tw-ring-color: rgba(var(--c-500), .5)}.focus-visible\:ring-custom-600:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-600), var(--tw-ring-opacity))}.focus-visible\:ring-gray-400\/40:focus-visible{--tw-ring-color: rgba(var(--gray-400), .4)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.focus-visible\:ring-primary-600:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-600), var(--tw-ring-opacity))}.enabled\:cursor-wait:enabled{cursor:wait}.enabled\:opacity-70:enabled{opacity:.7}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-gray-50:disabled{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.disabled\:text-gray-50:disabled{--tw-text-opacity: 1;color:rgba(var(--gray-50),var(--tw-text-opacity))}.disabled\:text-gray-500:disabled{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled{-webkit-text-fill-color:rgba(var(--gray-500),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:checked\:bg-current:checked:disabled{background-color:currentColor}.disabled\:checked\:text-gray-400:checked:disabled{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group\/item:first-child .group-first\/item\:rounded-s-lg{border-start-start-radius:.5rem;border-end-start-radius:.5rem}.group\/item:last-child .group-last\/item\:rounded-e-lg{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.group\/button:hover .group-hover\/button\:text-gray-500,.group:hover .group-hover\:text-gray-500{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:hover .group-hover\/item\:underline,.group\/link:hover .group-hover\/link\:underline{text-decoration-line:underline}.group:focus-visible .group-focus-visible\:text-gray-500{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:focus-visible .group-focus-visible\:text-gray-700{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:focus-visible .group-focus-visible\/item\:underline{text-decoration-line:underline}.group\/link:focus-visible .group-focus-visible\/link\:underline{text-decoration-line:underline}.dark\:flex:is(.dark *){display:flex}.dark\:hidden:is(.dark *){display:none}.dark\:divide-white\/10:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#ffffff1a}.dark\:divide-white\/5:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--gray-700),var(--tw-border-opacity))}.dark\:border-primary-500:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/5:is(.dark *){border-color:#ffffff0d}.dark\:border-t-white\/10:is(.dark *){border-top-color:#ffffff1a}.dark\:\!bg-gray-700:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.dark\:bg-custom-400\/10:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:bg-custom-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.dark\:bg-custom-500\/20:is(.dark *){background-color:rgba(var(--c-500),.2)}.dark\:bg-gray-400\/10:is(.dark *){background-color:rgba(var(--gray-400),.1)}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.dark\:bg-gray-500\/20:is(.dark *){background-color:rgba(var(--gray-500),.2)}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(var(--gray-900),.3)}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-950),var(--tw-bg-opacity))}.dark\:bg-gray-950\/75:is(.dark *){background-color:rgba(var(--gray-950),.75)}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.dark\:bg-primary-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:fill-current:is(.dark *){fill:currentColor}.dark\:text-custom-300\/50:is(.dark *){color:rgba(var(--c-300),.5)}.dark\:text-custom-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--c-400),var(--tw-text-opacity))}.dark\:text-custom-400\/10:is(.dark *){color:rgba(var(--c-400),.1)}.dark\:text-danger-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--danger-400),var(--tw-text-opacity))}.dark\:text-danger-500:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--danger-500),var(--tw-text-opacity))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:text-gray-300\/50:is(.dark *){color:rgba(var(--gray-300),.5)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.dark\:text-gray-800:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-800),var(--tw-text-opacity))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.dark\:text-primary-500:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:text-white\/5:is(.dark *){color:#ffffff0d}.dark\:ring-custom-400\/30:is(.dark *){--tw-ring-color: rgba(var(--c-400), .3)}.dark\:ring-custom-500:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-500), var(--tw-ring-opacity))}.dark\:ring-danger-500:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-500), var(--tw-ring-opacity))}.dark\:ring-gray-400\/20:is(.dark *){--tw-ring-color: rgba(var(--gray-400), .2)}.dark\:ring-gray-50\/10:is(.dark *){--tw-ring-color: rgba(var(--gray-50), .1)}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-700), var(--tw-ring-opacity))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-900), var(--tw-ring-opacity))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:ring-white\/20:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:before\:bg-primary-500:is(.dark *):before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:checked\:bg-danger-500:checked:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--danger-500),var(--tw-bg-opacity))}.dark\:checked\:bg-primary-500:checked:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:focus-within\:bg-white\/5:focus-within:is(.dark *){background-color:#ffffff0d}.dark\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}.dark\:hover\:bg-custom-400\/10:hover:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:#ffffff1a}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:#ffffff0d}.dark\:hover\:text-custom-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--c-300),var(--tw-text-opacity))}.dark\:hover\:text-custom-300\/75:hover:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:hover\:text-gray-300\/75:hover:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:hover\:text-gray-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:hover\:ring-white\/20:hover:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)}.dark\:focus\:ring-danger-500:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-500), var(--tw-ring-opacity))}.dark\:focus\:ring-primary-500:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.dark\:checked\:focus\:ring-danger-400\/50:focus:checked:is(.dark *){--tw-ring-color: rgba(var(--danger-400), .5)}.dark\:checked\:focus\:ring-primary-400\/50:focus:checked:is(.dark *){--tw-ring-color: rgba(var(--primary-400), .5)}.dark\:focus-visible\:border-primary-500:focus-visible:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:focus-visible\:bg-custom-400\/10:focus-visible:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:focus-visible\:bg-white\/5:focus-visible:is(.dark *){background-color:#ffffff0d}.dark\:focus-visible\:text-custom-300\/75:focus-visible:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:focus-visible\:text-gray-300\/75:focus-visible:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:focus-visible\:text-gray-400:focus-visible:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:focus-visible\:ring-custom-400\/50:focus-visible:is(.dark *){--tw-ring-color: rgba(var(--c-400), .5)}.dark\:focus-visible\:ring-custom-500:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-500), var(--tw-ring-opacity))}.dark\:focus-visible\:ring-primary-500:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.dark\:disabled\:bg-transparent:disabled:is(.dark *){background-color:transparent}.dark\:disabled\:text-gray-400:disabled:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:disabled\:ring-white\/10:disabled:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled:is(.dark *){-webkit-text-fill-color:rgba(var(--gray-400),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:checked\:bg-gray-600:checked:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.group\/button:hover .dark\:group-hover\/button\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width: 640px){.sm\:relative{position:relative}.sm\:inset-x-auto{left:auto;right:auto}.sm\:end-0{inset-inline-end:0px}.sm\:col-\[--col-span-sm\]{grid-column:var(--col-span-sm)}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-start-\[--col-start-sm\]{grid-column-start:var(--col-start-sm)}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:ms-auto{margin-inline-start:auto}.sm\:mt-7{margin-top:1.75rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:hidden{display:none}.sm\:w-\[calc\(100\%\+3rem\)\]{width:calc(100% + 3rem)}.sm\:w-screen{width:100vw}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:columns-\[--cols-sm\]{-moz-columns:var(--cols-sm);columns:var(--cols-sm)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-\[--cols-sm\]{grid-template-columns:var(--cols-sm)}.sm\:grid-cols-\[repeat\(auto-fit\,minmax\(0\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.sm\:grid-rows-\[1fr_auto_3fr\]{grid-template-rows:1fr auto 3fr}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:gap-8{gap:2rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:p-10{padding:2.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:pt-1{padding-top:.25rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:first-of-type\:ps-3:first-of-type{padding-inline-start:.75rem}.sm\:first-of-type\:ps-6:first-of-type{padding-inline-start:1.5rem}.sm\:last-of-type\:pe-3:last-of-type{padding-inline-end:.75rem}.sm\:last-of-type\:pe-6:last-of-type{padding-inline-end:1.5rem}}@media (min-width: 768px){.md\:bottom-4{bottom:1rem}.md\:order-first{order:-9999}.md\:col-\[--col-span-md\]{grid-column:var(--col-span-md)}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-start-\[--col-start-md\]{grid-column-start:var(--col-start-md)}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:inline-grid{display:inline-grid}.md\:hidden{display:none}.md\:w-max{width:-moz-max-content;width:max-content}.md\:max-w-60{max-width:15rem}.md\:columns-\[--cols-md\]{-moz-columns:var(--cols-md);columns:var(--cols-md)}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[--cols-md\]{grid-template-columns:var(--cols-md)}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.md\:overflow-x-auto{overflow-x:auto}.md\:rounded-xl{border-radius:.75rem}.md\:p-20{padding:5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:ps-3{padding-inline-start:.75rem}}@media (min-width: 1024px){.lg\:sticky{position:sticky}.lg\:z-0{z-index:0}.lg\:col-\[--col-span-lg\]{grid-column:var(--col-span-lg)}.lg\:col-start-\[--col-start-lg\]{grid-column-start:var(--col-start-lg)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:inline-grid{display:inline-grid}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:max-w-xs{max-width:20rem}.lg\:-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:columns-\[--cols-lg\]{-moz-columns:var(--cols-lg);columns:var(--cols-lg)}.lg\:grid-cols-\[--cols-lg\]{grid-template-columns:var(--cols-lg)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:bg-transparent{background-color:transparent}.lg\:p-8{padding:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pe-8{padding-inline-end:2rem}.lg\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.lg\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.lg\:ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.lg\:transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lg\:transition-none{transition-property:none}.lg\:delay-100{transition-delay:.1s}.dark\:lg\:bg-transparent:is(.dark *){background-color:transparent}}@media (min-width: 1280px){.xl\:col-\[--col-span-xl\]{grid-column:var(--col-span-xl)}.xl\:col-start-\[--col-start-xl\]{grid-column-start:var(--col-start-xl)}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:inline-grid{display:inline-grid}.xl\:hidden{display:none}.xl\:columns-\[--cols-xl\]{-moz-columns:var(--cols-xl);columns:var(--cols-xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[--cols-xl\]{grid-template-columns:var(--cols-xl)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width: 1536px){.\32xl\:col-\[--col-span-2xl\]{grid-column:var(--col-span-2xl)}.\32xl\:col-start-\[--col-start-2xl\]{grid-column-start:var(--col-start-2xl)}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:inline-grid{display:inline-grid}.\32xl\:hidden{display:none}.\32xl\:columns-\[--cols-2xl\]{-moz-columns:var(--cols-2xl);columns:var(--cols-2xl)}.\32xl\:grid-cols-\[--cols-2xl\]{grid-template-columns:var(--cols-2xl)}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}}.ltr\:hidden:where([dir=ltr],[dir=ltr] *){display:none}.rtl\:hidden:where([dir=rtl],[dir=rtl] *){display:none}.rtl\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-5:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/2:where([dir=rtl],[dir=rtl] *){--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:rotate-180:where([dir=rtl],[dir=rtl] *){--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:divide-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}@media (min-width: 1024px){.rtl\:lg\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:lg\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\.trix-active\]\:bg-gray-50.trix-active{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.\[\&\.trix-active\]\:text-primary-600.trix-active{--tw-text-opacity: 1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.dark\:\[\&\.trix-active\]\:bg-white\/5.trix-active:is(.dark *){background-color:#ffffff0d}.dark\:\[\&\.trix-active\]\:text-primary-400.trix-active:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.\[\&\:\:-ms-reveal\]\:hidden::-ms-reveal{display:none}.\[\&\:not\(\:first-of-type\)\]\:border-s:not(:first-of-type){border-inline-start-width:1px}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-2:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-600), var(--tw-ring-opacity))}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-600), var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-500), var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.\[\&\:not\(\:last-of-type\)\]\:border-e:not(:last-of-type){border-inline-end-width:1px}.\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.gray\.200\)\]:not(:nth-child(1 of.fi-btn)){--tw-shadow: -1px 0 0 0 rgba(var(--gray-200), 1);--tw-shadow-colored: -1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.white\/20\%\)\]:not(:nth-child(1 of.fi-btn)):is(.dark *){--tw-shadow: -1px 0 0 0 rgb(255 255 255 / 20%);--tw-shadow-colored: -1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\[\&\:not\(\:nth-last-child\(1_of_\.fi-btn\)\)\]\:me-px:not(:nth-last-child(1 of.fi-btn)){margin-inline-end:1px}.\[\&\:nth-child\(1_of_\.fi-btn\)\]\:rounded-s-lg:nth-child(1 of.fi-btn){border-start-start-radius:.5rem;border-end-start-radius:.5rem}.\[\&\:nth-last-child\(1_of_\.fi-btn\)\]\:rounded-e-lg:nth-last-child(1 of.fi-btn){border-start-end-radius:.5rem;border-end-end-radius:.5rem}.\[\&\>\*\:first-child\]\:relative>*:first-child{position:relative}.\[\&\>\*\:first-child\]\:mt-0>*:first-child{margin-top:0}.\[\&\>\*\:first-child\]\:before\:absolute>*:first-child:before{content:var(--tw-content);position:absolute}.\[\&\>\*\:first-child\]\:before\:inset-y-0>*:first-child:before{content:var(--tw-content);top:0;bottom:0}.\[\&\>\*\:first-child\]\:before\:start-0>*:first-child:before{content:var(--tw-content);inset-inline-start:0px}.\[\&\>\*\:first-child\]\:before\:w-0\.5>*:first-child:before{content:var(--tw-content);width:.125rem}.\[\&\>\*\:first-child\]\:before\:bg-primary-600>*:first-child:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.\[\&\>\*\:first-child\]\:dark\:before\:bg-primary-500:is(.dark *)>*:first-child:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.\[\&\>\*\:last-child\]\:mb-0>*:last-child{margin-bottom:0}.\[\&_\.choices\\_\\_inner\]\:ps-0 .choices__inner{padding-inline-start:0px}.\[\&_\.fi-badge-delete-button\]\:hidden .fi-badge-delete-button{display:none}.\[\&_\.filepond--root\]\:font-sans .filepond--root{font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.\[\&_optgroup\]\:bg-white optgroup{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&_optgroup\]\:dark\:bg-gray-900:is(.dark *) optgroup{--tw-bg-opacity: 1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.\[\&_option\]\:bg-white option{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&_option\]\:dark\:bg-gray-900:is(.dark *) option{--tw-bg-opacity: 1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}:checked+*>.\[\:checked\+\*\>\&\]\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (hover:hover){.\[\@media\(hover\:hover\)\]\:transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\@media\(hover\:hover\)\]\:duration-75{transition-duration:75ms}}input:checked+.\[input\:checked\+\&\]\:bg-custom-600{--tw-bg-opacity: 1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}input:checked+.\[input\:checked\+\&\]\:ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}input:checked+.\[input\:checked\+\&\]\:hover\:bg-custom-500:hover{--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-custom-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}input:checked:focus-visible+.\[input\:checked\:focus-visible\+\&\]\:ring-custom-500\/50{--tw-ring-color: rgba(var(--c-500), .5)}input:checked:focus-visible+.dark\:\[input\:checked\:focus-visible\+\&\]\:ring-custom-400\/50:is(.dark *){--tw-ring-color: rgba(var(--c-400), .5)}input:focus-visible+.\[input\:focus-visible\+\&\]\:z-10{z-index:10}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-gray-950\/10{--tw-ring-color: rgba(var(--gray-950), .1)}input:focus-visible+.dark\:\[input\:focus-visible\+\&\]\:ring-white\/20:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)} diff --git a/public/build/assets/theme-BgC2MXSU.css b/public/build/assets/theme-BgC2MXSU.css deleted file mode 100644 index 6700ec5ff..000000000 --- a/public/build/assets/theme-BgC2MXSU.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgba(var(--gray-200),1)}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:rgba(var(--gray-400),1)}input::placeholder,textarea::placeholder{opacity:1;color:rgba(var(--gray-400),1)}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity, 1));border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,input:where(:not([type])):focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity, 1));opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity, 1));opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='rgba(var(--gray-500)%2c var(--tw-stroke-opacity%2c 1))' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity, 1));border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors: active){[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}@media (forced-colors: active){[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root.dark{color-scheme:dark}[data-field-wrapper]{scroll-margin-top:8rem}.fi-fo-field-wrp-helper-text a,.fi-fo-field-wrp-hint a{font-weight:700;text-decoration-line:underline}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%),0 3px rgb(var(--tw-prose-kbd-shadows) / 10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;text-align:start;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: 17 24 39;--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: 255 255 255;--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(.prose-base>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3em;margin-bottom:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;margin-bottom:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(.prose-lg>ul>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>*:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>*:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-4{top:1rem;right:1rem;bottom:1rem;left:1rem}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-1\/2{bottom:-50%}.-top-1{top:-.25rem}.-top-1\/2{top:-50%}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.end-0{inset-inline-end:0px}.end-4{inset-inline-end:1rem}.end-6{inset-inline-end:1.5rem}.left-3{left:.75rem}.start-0{inset-inline-start:0px}.start-full{inset-inline-start:100%}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.col-\[--col-span-default\]{grid-column:var(--col-span-default)}.col-span-full{grid-column:1 / -1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-\[--col-start-default\]{grid-column-start:var(--col-start-default)}.row-start-2{grid-row-start:2}.-m-0{margin:-0px}.-m-0\.5{margin:-.125rem}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-m-2{margin:-.5rem}.-m-2\.5{margin:-.625rem}.-m-3{margin:-.75rem}.-m-3\.5{margin:-.875rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-top:4rem;margin-bottom:4rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.\!mt-0{margin-top:0!important}.-mb-4{margin-bottom:-1rem}.-mb-6{margin-bottom:-1.5rem}.-me-2{margin-inline-end:-.5rem}.-ms-0{margin-inline-start:-0px}.-ms-0\.5{margin-inline-start:-.125rem}.-ms-1{margin-inline-start:-.25rem}.-ms-2{margin-inline-start:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-1{margin-inline-end:.25rem}.me-4{margin-inline-end:1rem}.me-6{margin-inline-end:1.5rem}.ml-auto{margin-left:auto}.ms-1{margin-inline-start:.25rem}.ms-auto{margin-inline-start:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-\[--line-clamp\]{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-0{height:0px}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\],.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-\[theme\(spacing\.48\)\]{min-height:12rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[calc\(100\%\+2rem\)\]{width:calc(100% + 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[theme\(spacing\.4\)\]{min-width:1rem}.min-w-\[theme\(spacing\.5\)\]{min-width:1.25rem}.min-w-\[theme\(spacing\.6\)\]{min-width:1.5rem}.min-w-\[theme\(spacing\.8\)\]{min-width:2rem}.\!max-w-2xl{max-width:42rem!important}.\!max-w-3xl{max-width:48rem!important}.\!max-w-4xl{max-width:56rem!important}.\!max-w-5xl{max-width:64rem!important}.\!max-w-6xl{max-width:72rem!important}.\!max-w-7xl{max-width:80rem!important}.\!max-w-\[14rem\]{max-width:14rem!important}.\!max-w-lg{max-width:32rem!important}.\!max-w-md{max-width:28rem!important}.\!max-w-sm{max-width:24rem!important}.\!max-w-xl{max-width:36rem!important}.\!max-w-xs{max-width:20rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-screen-xl{max-width:1280px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-12{--tw-translate-x: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-5{--tw-translate-x: -1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-12{--tw-translate-y: -3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-12{--tw-translate-x: 3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-12{--tw-translate-y: 3rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-180{--tw-rotate: -180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-mt-9{scroll-margin-top:2.25rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-\[--cols-default\]{-moz-columns:var(--cols-default);columns:var(--cols-default)}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[--cols-default\]{grid-template-columns:var(--cols-default)}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[repeat\(7\,minmax\(theme\(spacing\.7\)\,1fr\)\)\]{grid-template-columns:repeat(7,minmax(1.75rem,1fr))}.grid-cols-\[repeat\(auto-fit\,minmax\(0\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-rows-\[1fr_auto_1fr\]{grid-template-rows:1fr auto 1fr}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-px{row-gap:1px}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.75rem * var(--tw-space-x-reverse));margin-left:calc(-.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1.25rem * var(--tw-space-x-reverse));margin-left:calc(-1.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1.5rem * var(--tw-space-x-reverse));margin-left:calc(-1.5rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1.75rem * var(--tw-space-x-reverse));margin-left:calc(-1.75rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-2rem * var(--tw-space-x-reverse));margin-left:calc(-2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgba(var(--gray-100),var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgba(var(--gray-200),var(--tw-divide-opacity))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x-\[0\.5px\]{border-left-width:.5px;border-right-width:.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.\!border-t-0{border-top-width:0px!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-e{border-inline-end-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-gray-100{--tw-border-opacity: 1;border-color:rgba(var(--gray-100),var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgba(var(--gray-200),var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgba(var(--gray-300),var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.border-gray-950\/5{border-color:rgba(var(--gray-950),.05)}.border-primary-500{--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgba(var(--primary-600),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-gray-200{--tw-border-opacity: 1;border-top-color:rgba(var(--gray-200),var(--tw-border-opacity))}.\!bg-gray-50{--tw-bg-opacity: 1 !important;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))!important}.\!bg-gray-700{--tw-bg-opacity: 1 !important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.bg-black\/50{background-color:#00000080}.bg-custom-100{--tw-bg-opacity: 1;background-color:rgba(var(--c-100),var(--tw-bg-opacity))}.bg-custom-50{--tw-bg-opacity: 1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.bg-custom-600{--tw-bg-opacity: 1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgba(var(--gray-200),var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.bg-gray-950\/50{background-color:rgba(var(--gray-950),.5)}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/0{background-color:#fff0}.bg-white\/5{background-color:#ffffff0d}.\!bg-none{background-image:none!important}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-0{padding-inline-end:0px}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-6{padding-inline-end:1.5rem}.pe-8{padding-inline-end:2rem}.ps-0{padding-inline-start:0px}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-\[5\.25rem\]{padding-inline-start:5.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-loose{line-height:2}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-custom-400{--tw-text-opacity: 1;color:rgba(var(--c-400),var(--tw-text-opacity))}.text-custom-50{--tw-text-opacity: 1;color:rgba(var(--c-50),var(--tw-text-opacity))}.text-custom-500{--tw-text-opacity: 1;color:rgba(var(--c-500),var(--tw-text-opacity))}.text-custom-600{--tw-text-opacity: 1;color:rgba(var(--c-600),var(--tw-text-opacity))}.text-custom-700\/50{color:rgba(var(--c-700),.5)}.text-danger-600{--tw-text-opacity: 1;color:rgba(var(--danger-600),var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgba(var(--gray-100),var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgba(var(--gray-600),var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.text-gray-700\/50{color:rgba(var(--gray-700),.5)}.text-gray-950{--tw-text-opacity: 1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity: 1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-custom-600{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-600), var(--tw-ring-opacity))}.ring-custom-600\/10{--tw-ring-color: rgba(var(--c-600), .1)}.ring-custom-600\/20{--tw-ring-color: rgba(var(--c-600), .2)}.ring-danger-600{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-600), var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-200), var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-300), var(--tw-ring-opacity))}.ring-gray-600\/10{--tw-ring-color: rgba(var(--gray-600), .1)}.ring-gray-900\/10{--tw-ring-color: rgba(var(--gray-900), .1)}.ring-gray-950\/10{--tw-ring-color: rgba(var(--gray-950), .1)}.ring-gray-950\/5{--tw-ring-color: rgba(var(--gray-950), .05)}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[transform\:translateZ\(0\)\]{transform:translateZ(0)}.dark\:prose-invert:is(.dark *){--tw-prose-body: var(--tw-prose-invert-body);--tw-prose-headings: var(--tw-prose-invert-headings);--tw-prose-lead: var(--tw-prose-invert-lead);--tw-prose-links: var(--tw-prose-invert-links);--tw-prose-bold: var(--tw-prose-invert-bold);--tw-prose-counters: var(--tw-prose-invert-counters);--tw-prose-bullets: var(--tw-prose-invert-bullets);--tw-prose-hr: var(--tw-prose-invert-hr);--tw-prose-quotes: var(--tw-prose-invert-quotes);--tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);--tw-prose-captions: var(--tw-prose-invert-captions);--tw-prose-kbd: var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);--tw-prose-code: var(--tw-prose-invert-code);--tw-prose-pre-code: var(--tw-prose-invert-pre-code);--tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);--tw-prose-th-borders: var(--tw-prose-invert-th-borders);--tw-prose-td-borders: var(--tw-prose-invert-td-borders)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{content:var(--tw-content);top:0;bottom:0}.before\:start-0:before{content:var(--tw-content);inset-inline-start:0px}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-0:before{content:var(--tw-content);width:0px}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:bg-primary-600:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.first\:border-s-0:first-child{border-inline-start-width:0px}.first\:border-t-0:first-child{border-top-width:0px}.last\:border-e-0:last-child{border-inline-end-width:0px}.first-of-type\:ps-1:first-of-type{padding-inline-start:.25rem}.last-of-type\:pe-1:last-of-type{padding-inline-end:.25rem}.checked\:ring-0:checked{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:bg-gray-50:focus-within{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:bg-custom-400\/10:hover{background-color:rgba(var(--c-400),.1)}.hover\:bg-custom-50:hover{--tw-bg-opacity: 1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.hover\:bg-custom-500:hover{--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.hover\:bg-gray-400\/10:hover{background-color:rgba(var(--gray-400),.1)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:text-custom-600:hover{--tw-text-opacity: 1;color:rgba(var(--c-600),var(--tw-text-opacity))}.hover\:text-custom-700\/75:hover{color:rgba(var(--c-700),.75)}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.hover\:text-gray-700\/75:hover{color:rgba(var(--gray-700),.75)}.hover\:opacity-100:hover{opacity:1}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-danger-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-600), var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-600), var(--tw-ring-opacity))}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.checked\:focus\:ring-danger-500\/50:focus:checked{--tw-ring-color: rgba(var(--danger-500), .5)}.checked\:focus\:ring-primary-500\/50:focus:checked{--tw-ring-color: rgba(var(--primary-500), .5)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-primary-500:focus-visible{--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.focus-visible\:bg-custom-50:focus-visible{--tw-bg-opacity: 1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.focus-visible\:bg-gray-100:focus-visible{--tw-bg-opacity: 1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.focus-visible\:bg-gray-50:focus-visible{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.focus-visible\:text-custom-700\/75:focus-visible{color:rgba(var(--c-700),.75)}.focus-visible\:text-gray-500:focus-visible{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.focus-visible\:text-gray-700\/75:focus-visible{color:rgba(var(--gray-700),.75)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-custom-500\/50:focus-visible{--tw-ring-color: rgba(var(--c-500), .5)}.focus-visible\:ring-custom-600:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-600), var(--tw-ring-opacity))}.focus-visible\:ring-gray-400\/40:focus-visible{--tw-ring-color: rgba(var(--gray-400), .4)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.focus-visible\:ring-primary-600:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-600), var(--tw-ring-opacity))}.enabled\:cursor-wait:enabled{cursor:wait}.enabled\:opacity-70:enabled{opacity:.7}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-gray-50:disabled{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.disabled\:text-gray-50:disabled{--tw-text-opacity: 1;color:rgba(var(--gray-50),var(--tw-text-opacity))}.disabled\:text-gray-500:disabled{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled{-webkit-text-fill-color:rgba(var(--gray-500),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:checked\:bg-current:checked:disabled{background-color:currentColor}.disabled\:checked\:text-gray-400:checked:disabled{--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group\/item:first-child .group-first\/item\:rounded-s-lg{border-start-start-radius:.5rem;border-end-start-radius:.5rem}.group\/item:last-child .group-last\/item\:rounded-e-lg{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.group\/button:hover .group-hover\/button\:text-gray-500,.group:hover .group-hover\:text-gray-500{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:hover .group-hover\/item\:underline,.group\/link:hover .group-hover\/link\:underline{text-decoration-line:underline}.group:focus-visible .group-focus-visible\:text-gray-500{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:focus-visible .group-focus-visible\:text-gray-700{--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:focus-visible .group-focus-visible\/item\:underline{text-decoration-line:underline}.group\/link:focus-visible .group-focus-visible\/link\:underline{text-decoration-line:underline}.dark\:flex:is(.dark *){display:flex}.dark\:hidden:is(.dark *){display:none}.dark\:divide-white\/10:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#ffffff1a}.dark\:divide-white\/5:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--gray-700),var(--tw-border-opacity))}.dark\:border-primary-500:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:border-white\/20:is(.dark *){border-color:#fff3}.dark\:border-white\/5:is(.dark *){border-color:#ffffff0d}.dark\:border-t-white\/10:is(.dark *){border-top-color:#ffffff1a}.dark\:\!bg-gray-700:is(.dark *){--tw-bg-opacity: 1 !important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.dark\:bg-custom-400\/10:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:bg-custom-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.dark\:bg-custom-500\/20:is(.dark *){background-color:rgba(var(--c-500),.2)}.dark\:bg-gray-400\/10:is(.dark *){background-color:rgba(var(--gray-400),.1)}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.dark\:bg-gray-500\/20:is(.dark *){background-color:rgba(var(--gray-500),.2)}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(var(--gray-900),.3)}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-950),var(--tw-bg-opacity))}.dark\:bg-gray-950\/75:is(.dark *){background-color:rgba(var(--gray-950),.75)}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.dark\:bg-primary-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/5:is(.dark *){background-color:#ffffff0d}.dark\:fill-current:is(.dark *){fill:currentColor}.dark\:text-custom-300\/50:is(.dark *){color:rgba(var(--c-300),.5)}.dark\:text-custom-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--c-400),var(--tw-text-opacity))}.dark\:text-custom-400\/10:is(.dark *){color:rgba(var(--c-400),.1)}.dark\:text-danger-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--danger-400),var(--tw-text-opacity))}.dark\:text-danger-500:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--danger-500),var(--tw-text-opacity))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-300),var(--tw-text-opacity))}.dark\:text-gray-300\/50:is(.dark *){color:rgba(var(--gray-300),.5)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.dark\:text-gray-800:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-800),var(--tw-text-opacity))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.dark\:text-primary-500:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:text-white\/5:is(.dark *){color:#ffffff0d}.dark\:ring-custom-400\/30:is(.dark *){--tw-ring-color: rgba(var(--c-400), .3)}.dark\:ring-custom-500:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-500), var(--tw-ring-opacity))}.dark\:ring-danger-500:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-500), var(--tw-ring-opacity))}.dark\:ring-gray-400\/20:is(.dark *){--tw-ring-color: rgba(var(--gray-400), .2)}.dark\:ring-gray-50\/10:is(.dark *){--tw-ring-color: rgba(var(--gray-50), .1)}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-700), var(--tw-ring-opacity))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--gray-900), var(--tw-ring-opacity))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:ring-white\/20:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:before\:bg-primary-500:is(.dark *):before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:checked\:bg-danger-500:checked:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--danger-500),var(--tw-bg-opacity))}.dark\:checked\:bg-primary-500:checked:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:focus-within\:bg-white\/5:focus-within:is(.dark *){background-color:#ffffff0d}.dark\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}.dark\:hover\:bg-custom-400\/10:hover:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:#ffffff1a}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:#ffffff0d}.dark\:hover\:text-custom-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--c-300),var(--tw-text-opacity))}.dark\:hover\:text-custom-300\/75:hover:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:hover\:text-gray-300\/75:hover:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:hover\:text-gray-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:hover\:ring-white\/20:hover:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)}.dark\:focus\:ring-danger-500:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-500), var(--tw-ring-opacity))}.dark\:focus\:ring-primary-500:focus:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.dark\:checked\:focus\:ring-danger-400\/50:focus:checked:is(.dark *){--tw-ring-color: rgba(var(--danger-400), .5)}.dark\:checked\:focus\:ring-primary-400\/50:focus:checked:is(.dark *){--tw-ring-color: rgba(var(--primary-400), .5)}.dark\:focus-visible\:border-primary-500:focus-visible:is(.dark *){--tw-border-opacity: 1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:focus-visible\:bg-custom-400\/10:focus-visible:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:focus-visible\:bg-white\/5:focus-visible:is(.dark *){background-color:#ffffff0d}.dark\:focus-visible\:text-custom-300\/75:focus-visible:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:focus-visible\:text-gray-300\/75:focus-visible:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:focus-visible\:text-gray-400:focus-visible:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:focus-visible\:ring-custom-400\/50:focus-visible:is(.dark *){--tw-ring-color: rgba(var(--c-400), .5)}.dark\:focus-visible\:ring-custom-500:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--c-500), var(--tw-ring-opacity))}.dark\:focus-visible\:ring-primary-500:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.dark\:disabled\:bg-transparent:disabled:is(.dark *){background-color:transparent}.dark\:disabled\:text-gray-400:disabled:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:disabled\:ring-white\/10:disabled:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled:is(.dark *){-webkit-text-fill-color:rgba(var(--gray-400),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:checked\:bg-gray-600:checked:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.group\/button:hover .dark\:group-hover\/button\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width: 640px){.sm\:relative{position:relative}.sm\:inset-x-auto{left:auto;right:auto}.sm\:end-0{inset-inline-end:0px}.sm\:col-\[--col-span-sm\]{grid-column:var(--col-span-sm)}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-start-\[--col-start-sm\]{grid-column-start:var(--col-start-sm)}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:mt-7{margin-top:1.75rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:hidden{display:none}.sm\:w-\[calc\(100\%\+3rem\)\]{width:calc(100% + 3rem)}.sm\:w-screen{width:100vw}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:columns-\[--cols-sm\]{-moz-columns:var(--cols-sm);columns:var(--cols-sm)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[--cols-sm\]{grid-template-columns:var(--cols-sm)}.sm\:grid-cols-\[repeat\(auto-fit\,minmax\(0\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.sm\:grid-rows-\[1fr_auto_3fr\]{grid-template-rows:1fr auto 3fr}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:p-10{padding:2.5rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:pt-1{padding-top:.25rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:first-of-type\:ps-3:first-of-type{padding-inline-start:.75rem}.sm\:first-of-type\:ps-6:first-of-type{padding-inline-start:1.5rem}.sm\:last-of-type\:pe-3:last-of-type{padding-inline-end:.75rem}.sm\:last-of-type\:pe-6:last-of-type{padding-inline-end:1.5rem}}@media (min-width: 768px){.md\:bottom-4{bottom:1rem}.md\:order-first{order:-9999}.md\:col-\[--col-span-md\]{grid-column:var(--col-span-md)}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-start-\[--col-start-md\]{grid-column-start:var(--col-start-md)}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:inline-grid{display:inline-grid}.md\:hidden{display:none}.md\:w-max{width:-moz-max-content;width:max-content}.md\:max-w-60{max-width:15rem}.md\:columns-\[--cols-md\]{-moz-columns:var(--cols-md);columns:var(--cols-md)}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[--cols-md\]{grid-template-columns:var(--cols-md)}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.md\:overflow-x-auto{overflow-x:auto}.md\:rounded-xl{border-radius:.75rem}.md\:p-20{padding:5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:ps-3{padding-inline-start:.75rem}}@media (min-width: 1024px){.lg\:sticky{position:sticky}.lg\:z-0{z-index:0}.lg\:col-\[--col-span-lg\]{grid-column:var(--col-span-lg)}.lg\:col-start-\[--col-start-lg\]{grid-column-start:var(--col-start-lg)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:inline-grid{display:inline-grid}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:max-w-xs{max-width:20rem}.lg\:-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:columns-\[--cols-lg\]{-moz-columns:var(--cols-lg);columns:var(--cols-lg)}.lg\:grid-cols-\[--cols-lg\]{grid-template-columns:var(--cols-lg)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:bg-transparent{background-color:transparent}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pe-8{padding-inline-end:2rem}.lg\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.lg\:shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.lg\:ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.lg\:transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lg\:transition-none{transition-property:none}.lg\:delay-100{transition-delay:.1s}.dark\:lg\:bg-transparent:is(.dark *){background-color:transparent}}@media (min-width: 1280px){.xl\:col-\[--col-span-xl\]{grid-column:var(--col-span-xl)}.xl\:col-start-\[--col-start-xl\]{grid-column-start:var(--col-start-xl)}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:inline-grid{display:inline-grid}.xl\:hidden{display:none}.xl\:columns-\[--cols-xl\]{-moz-columns:var(--cols-xl);columns:var(--cols-xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[--cols-xl\]{grid-template-columns:var(--cols-xl)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width: 1536px){.\32xl\:col-\[--col-span-2xl\]{grid-column:var(--col-span-2xl)}.\32xl\:col-start-\[--col-start-2xl\]{grid-column-start:var(--col-start-2xl)}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:inline-grid{display:inline-grid}.\32xl\:hidden{display:none}.\32xl\:columns-\[--cols-2xl\]{-moz-columns:var(--cols-2xl);columns:var(--cols-2xl)}.\32xl\:grid-cols-\[--cols-2xl\]{grid-template-columns:var(--cols-2xl)}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}}.ltr\:hidden:where([dir=ltr],[dir=ltr] *){display:none}.rtl\:hidden:where([dir=rtl],[dir=rtl] *){display:none}.rtl\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-5:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/2:where([dir=rtl],[dir=rtl] *){--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:rotate-180:where([dir=rtl],[dir=rtl] *){--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:divide-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 1}@media (min-width: 1024px){.rtl\:lg\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:lg\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\.trix-active\]\:bg-gray-50.trix-active{--tw-bg-opacity: 1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.\[\&\.trix-active\]\:text-primary-600.trix-active{--tw-text-opacity: 1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.dark\:\[\&\.trix-active\]\:bg-white\/5.trix-active:is(.dark *){background-color:#ffffff0d}.dark\:\[\&\.trix-active\]\:text-primary-400.trix-active:is(.dark *){--tw-text-opacity: 1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.\[\&\:\:-ms-reveal\]\:hidden::-ms-reveal{display:none}.\[\&\:not\(\:first-of-type\)\]\:border-s:not(:first-of-type){border-inline-start-width:1px}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-2:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-600), var(--tw-ring-opacity))}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-600), var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--danger-500), var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgba(var(--primary-500), var(--tw-ring-opacity))}.\[\&\:not\(\:last-of-type\)\]\:border-e:not(:last-of-type){border-inline-end-width:1px}.\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.gray\.200\)\]:not(:nth-child(1 of.fi-btn)){--tw-shadow: -1px 0 0 0 rgba(var(--gray-200), 1);--tw-shadow-colored: -1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.white\/20\%\)\]:not(:nth-child(1 of.fi-btn)):is(.dark *){--tw-shadow: -1px 0 0 0 rgb(255 255 255 / 20%);--tw-shadow-colored: -1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\[\&\:not\(\:nth-last-child\(1_of_\.fi-btn\)\)\]\:me-px:not(:nth-last-child(1 of.fi-btn)){margin-inline-end:1px}.\[\&\:nth-child\(1_of_\.fi-btn\)\]\:rounded-s-lg:nth-child(1 of.fi-btn){border-start-start-radius:.5rem;border-end-start-radius:.5rem}.\[\&\:nth-last-child\(1_of_\.fi-btn\)\]\:rounded-e-lg:nth-last-child(1 of.fi-btn){border-start-end-radius:.5rem;border-end-end-radius:.5rem}.\[\&\>\*\:first-child\]\:relative>*:first-child{position:relative}.\[\&\>\*\:first-child\]\:mt-0>*:first-child{margin-top:0}.\[\&\>\*\:first-child\]\:before\:absolute>*:first-child:before{content:var(--tw-content);position:absolute}.\[\&\>\*\:first-child\]\:before\:inset-y-0>*:first-child:before{content:var(--tw-content);top:0;bottom:0}.\[\&\>\*\:first-child\]\:before\:start-0>*:first-child:before{content:var(--tw-content);inset-inline-start:0px}.\[\&\>\*\:first-child\]\:before\:w-0\.5>*:first-child:before{content:var(--tw-content);width:.125rem}.\[\&\>\*\:first-child\]\:before\:bg-primary-600>*:first-child:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.\[\&\>\*\:first-child\]\:dark\:before\:bg-primary-500:is(.dark *)>*:first-child:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.\[\&\>\*\:last-child\]\:mb-0>*:last-child{margin-bottom:0}.\[\&_\.choices\\_\\_inner\]\:ps-0 .choices__inner{padding-inline-start:0px}.\[\&_\.fi-badge-delete-button\]\:hidden .fi-badge-delete-button{display:none}.\[\&_\.filepond--root\]\:font-sans .filepond--root{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\[\&_optgroup\]\:bg-white optgroup{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&_optgroup\]\:dark\:bg-gray-900:is(.dark *) optgroup{--tw-bg-opacity: 1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.\[\&_option\]\:bg-white option{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&_option\]\:dark\:bg-gray-900:is(.dark *) option{--tw-bg-opacity: 1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}:checked+*>.\[\:checked\+\*\>\&\]\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (hover:hover){.\[\@media\(hover\:hover\)\]\:transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[\@media\(hover\:hover\)\]\:duration-75{transition-duration:75ms}}input:checked+.\[input\:checked\+\&\]\:bg-custom-600{--tw-bg-opacity: 1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}input:checked+.\[input\:checked\+\&\]\:ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}input:checked+.\[input\:checked\+\&\]\:hover\:bg-custom-500:hover{--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-custom-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}input:checked:focus-visible+.\[input\:checked\:focus-visible\+\&\]\:ring-custom-500\/50{--tw-ring-color: rgba(var(--c-500), .5)}input:checked:focus-visible+.dark\:\[input\:checked\:focus-visible\+\&\]\:ring-custom-400\/50:is(.dark *){--tw-ring-color: rgba(var(--c-400), .5)}input:focus-visible+.\[input\:focus-visible\+\&\]\:z-10{z-index:10}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-gray-950\/10{--tw-ring-color: rgba(var(--gray-950), .1)}input:focus-visible+.dark\:\[input\:focus-visible\+\&\]\:ring-white\/20:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)} diff --git a/public/build/manifest.json b/public/build/manifest.json deleted file mode 100644 index 705e8ab25..000000000 --- a/public/build/manifest.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "resources/css/app.css": { - "file": "assets/app-Cvdm5QA4.css", - "src": "resources/css/app.css", - "isEntry": true - }, - "resources/css/filament/admin/theme.css": { - "file": "assets/theme-BgC2MXSU.css", - "src": "resources/css/filament/admin/theme.css", - "isEntry": true - } -} \ No newline at end of file diff --git a/public/css/app/panel.css b/public/css/app/panel.css new file mode 100644 index 000000000..4503ad7e8 --- /dev/null +++ b/public/css/app/panel.css @@ -0,0 +1,16 @@ +.fi-topbar #dashboardAction .fi-btn-label, +.fi-topbar #speedtestAction .fi-btn-label { + display: none; +} + +.fi-fo-field-wrp-helper-text a, +.fi-fo-field-wrp-hint a { + @apply font-bold underline; +} + +@media (min-width: 768px) { + .fi-topbar #dashboardAction .fi-btn-label, + .fi-topbar #speedtestAction .fi-btn-label { + display: block; + } +} diff --git a/public/css/filament/filament/app.css b/public/css/filament/filament/app.css index ae1da1b03..019808e22 100644 --- a/public/css/filament/filament/app.css +++ b/public/css/filament/filament/app.css @@ -1 +1,2 @@ -/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border-color:rgba(var(--gray-200),1);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-400),1);opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-400),1);opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:rgba(var(--gray-500),var(--tw-border-opacity,1));border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity,1));opacity:1}input::placeholder,textarea::placeholder{color:rgba(var(--gray-500),var(--tw-text-opacity,1));opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='rgba(var(--gray-500), var(--tw-stroke-opacity, 1))' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:rgba(var(--gray-500),var(--tw-border-opacity,1));border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}:root.dark{color-scheme:dark}[data-field-wrapper]{scroll-margin-top:8rem}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.8888889em;margin-top:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;line-height:1.2;margin-bottom:.8em;margin-top:0}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;line-height:1.4;margin-bottom:.8em;margin-top:1.6em}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.5555556em}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.4285714;margin-bottom:.5714286em;margin-top:1.4285714em}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8571429em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-top:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.25rem;font-size:.8571429em;line-height:1.6666667;margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-top:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.2857143em;margin-top:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(.prose-sm>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5714286em;margin-top:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em;margin-top:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2.8571429em;margin-top:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-top:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7142857em;margin-top:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-base{font-size:1rem;line-height:1.75}.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em}.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.25em;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.5em;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.25em;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.875em;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(.prose-base>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(.prose-base>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(.prose-base>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3em;margin-top:3em}.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857}.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.7777778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-bottom:1.0909091em;margin-top:1.0909091em}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.6666667em;margin-top:1.6666667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;line-height:1;margin-bottom:.8333333em;margin-top:0}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;line-height:1.3333333;margin-bottom:1.0666667em;margin-top:1.8666667em}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;line-height:1.5;margin-bottom:.6666667em;margin-top:1.6666667em}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.5555556;margin-bottom:.4444444em;margin-top:1.7777778em}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;font-size:.8888889em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-top:.2222222em;padding-inline-start:.4444444em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.375rem;font-size:.8888889em;line-height:1.75;margin-bottom:2em;margin-top:2em;padding-inline-end:1.5em;padding-bottom:1em;padding-top:1em;padding-inline-start:1.5em}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em;padding-inline-start:1.5555556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.6666667em;margin-top:.6666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(.prose-lg>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(.prose-lg>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(.prose-lg>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.8888889em;margin-top:.8888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em;margin-top:1.3333333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:3.1111111em;margin-top:3.1111111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-top:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.7777778em;margin-top:1.7777778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-4{inset:1rem}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.inset-y-0{bottom:0;top:0}.-bottom-1\/2{bottom:-50%}.-top-1{top:-.25rem}.-top-1\/2{top:-50%}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-1\/2{bottom:50%}.end-0{inset-inline-end:0}.end-4{inset-inline-end:1rem}.end-6{inset-inline-end:1.5rem}.left-3{left:.75rem}.start-0{inset-inline-start:0}.start-full{inset-inline-start:100%}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.col-\[--col-span-default\]{grid-column:var(--col-span-default)}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-\[--col-start-default\]{grid-column-start:var(--col-start-default)}.row-start-2{grid-row-start:2}.-m-0{margin:0}.-m-0\.5{margin:-.125rem}.-m-1{margin:-.25rem}.-m-1\.5{margin:-.375rem}.-m-2{margin:-.5rem}.-m-2\.5{margin:-.625rem}.-m-3{margin:-.75rem}.-m-3\.5{margin:-.875rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-1{margin-bottom:-.25rem;margin-top:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-bottom:4rem;margin-top:4rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-auto{margin-bottom:auto;margin-top:auto}.\!mt-0{margin-top:0!important}.-mb-4{margin-bottom:-1rem}.-mb-6{margin-bottom:-1.5rem}.-me-2{margin-inline-end:-.5rem}.-ms-0{margin-inline-start:0}.-ms-0\.5{margin-inline-start:-.125rem}.-ms-1{margin-inline-start:-.25rem}.-ms-2{margin-inline-start:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-7{margin-top:-1.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.me-1{margin-inline-end:.25rem}.me-4{margin-inline-end:1rem}.me-6{margin-inline-end:1.5rem}.ml-auto{margin-left:auto}.ms-1{margin-inline-start:.25rem}.ms-auto{margin-inline-start:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-\[--line-clamp\]{-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp);display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\],.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-\[theme\(spacing\.48\)\]{min-height:12rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[calc\(100\%\+2rem\)\]{width:calc(100% + 2rem)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[theme\(spacing\.4\)\]{min-width:1rem}.min-w-\[theme\(spacing\.5\)\]{min-width:1.25rem}.min-w-\[theme\(spacing\.6\)\]{min-width:1.5rem}.min-w-\[theme\(spacing\.8\)\]{min-width:2rem}.\!max-w-2xl{max-width:42rem!important}.\!max-w-3xl{max-width:48rem!important}.\!max-w-4xl{max-width:56rem!important}.\!max-w-5xl{max-width:64rem!important}.\!max-w-6xl{max-width:72rem!important}.\!max-w-7xl{max-width:80rem!important}.\!max-w-\[14rem\]{max-width:14rem!important}.\!max-w-lg{max-width:32rem!important}.\!max-w-md{max-width:28rem!important}.\!max-w-sm{max-width:24rem!important}.\!max-w-xl{max-width:36rem!important}.\!max-w-xs{max-width:20rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-md{max-width:28rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-screen-2xl{max-width:1536px}.max-w-screen-lg{max-width:1024px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-screen-xl{max-width:1280px}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.table-auto{table-layout:auto}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-12,.-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-12{--tw-translate-x:-3rem}.-translate-x-5{--tw-translate-x:-1.25rem}.-translate-x-5,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-12{--tw-translate-y:-3rem}.-translate-y-12,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-12{--tw-translate-x:3rem}.translate-x-12,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-full{--tw-translate-x:100%}.translate-x-full,.translate-y-12{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-12{--tw-translate-y:3rem}.-rotate-180{--tw-rotate:-180deg}.-rotate-180,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-mt-9{scroll-margin-top:2.25rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.columns-\[--cols-default\]{-moz-columns:var(--cols-default);columns:var(--cols-default)}.break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[--cols-default\]{grid-template-columns:var(--cols-default)}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[repeat\(7\2c minmax\(theme\(spacing\.7\)\2c 1fr\)\)\]{grid-template-columns:repeat(7,minmax(1.75rem,1fr))}.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.grid-rows-\[1fr_auto_1fr\]{grid-template-rows:1fr auto 1fr}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-7{row-gap:1.75rem}.gap-y-8{row-gap:2rem}.gap-y-px{row-gap:1px}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.25rem*var(--tw-space-x-reverse))}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.5rem*var(--tw-space-x-reverse))}.-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-.75rem*var(--tw-space-x-reverse))}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1rem*var(--tw-space-x-reverse))}.-space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.25rem*var(--tw-space-x-reverse))}.-space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.5rem*var(--tw-space-x-reverse))}.-space-x-7>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-1.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-1.75rem*var(--tw-space-x-reverse))}.-space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(-2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(-2rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(var(--gray-100),var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(var(--gray-200),var(--tw-divide-opacity))}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-x-\[0\.5px\]{border-left-width:.5px;border-right-width:.5px}.border-y{border-bottom-width:1px;border-top-width:1px}.\!border-t-0{border-top-width:0!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-e{border-inline-end-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.\!border-none{border-style:none!important}.border-none{border-style:none}.border-gray-100{--tw-border-opacity:1;border-color:rgba(var(--gray-100),var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(var(--gray-300),var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity:1;border-color:rgba(var(--primary-600),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-t-gray-200{--tw-border-opacity:1;border-top-color:rgba(var(--gray-200),var(--tw-border-opacity))}.\!bg-gray-50{--tw-bg-opacity:1!important;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))!important}.\!bg-gray-700{--tw-bg-opacity:1!important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-custom-100{--tw-bg-opacity:1;background-color:rgba(var(--c-100),var(--tw-bg-opacity))}.bg-custom-50{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.bg-custom-600{--tw-bg-opacity:1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(var(--gray-200),var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.bg-gray-950\/50{background-color:rgba(var(--gray-950),.5)}.bg-primary-500{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/0{background-color:hsla(0,0%,100%,0)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.\!bg-none{background-image:none!important}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-0{padding-inline-end:0}.pe-1{padding-inline-end:.25rem}.pe-2{padding-inline-end:.5rem}.pe-3{padding-inline-end:.75rem}.pe-4{padding-inline-end:1rem}.pe-6{padding-inline-end:1.5rem}.pe-8{padding-inline-end:2rem}.ps-0{padding-inline-start:0}.ps-1{padding-inline-start:.25rem}.ps-2{padding-inline-start:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.ps-\[5\.25rem\]{padding-inline-start:5.25rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-loose{line-height:2}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-custom-400{--tw-text-opacity:1;color:rgba(var(--c-400),var(--tw-text-opacity))}.text-custom-50{--tw-text-opacity:1;color:rgba(var(--c-50),var(--tw-text-opacity))}.text-custom-500{--tw-text-opacity:1;color:rgba(var(--c-500),var(--tw-text-opacity))}.text-custom-600{--tw-text-opacity:1;color:rgba(var(--c-600),var(--tw-text-opacity))}.text-custom-700\/50{color:rgba(var(--c-700),.5)}.text-danger-600{--tw-text-opacity:1;color:rgba(var(--danger-600),var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgba(var(--gray-100),var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.text-gray-700\/50{color:rgba(var(--gray-700),.5)}.text-gray-950{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-custom-600{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-600),var(--tw-ring-opacity))}.ring-custom-600\/10{--tw-ring-color:rgba(var(--c-600),0.1)}.ring-custom-600\/20{--tw-ring-color:rgba(var(--c-600),0.2)}.ring-danger-600{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-300),var(--tw-ring-opacity))}.ring-gray-600\/10{--tw-ring-color:rgba(var(--gray-600),0.1)}.ring-gray-900\/10{--tw-ring-color:rgba(var(--gray-900),0.1)}.ring-gray-950\/10{--tw-ring-color:rgba(var(--gray-950),0.1)}.ring-gray-950\/5{--tw-ring-color:rgba(var(--gray-950),0.05)}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.ring-white\/10{--tw-ring-color:hsla(0,0%,100%,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[transform\:translateZ\(0\)\]{transform:translateZ(0)}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-y-0:before{bottom:0;content:var(--tw-content);top:0}.before\:start-0:before{content:var(--tw-content);inset-inline-start:0}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-0:before{content:var(--tw-content);width:0}.before\:w-0\.5:before{content:var(--tw-content);width:.125rem}.before\:bg-primary-600:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity));content:var(--tw-content)}.first\:border-s-0:first-child{border-inline-start-width:0}.first\:border-t-0:first-child{border-top-width:0}.last\:border-e-0:last-child{border-inline-end-width:0}.first-of-type\:ps-1:first-of-type{padding-inline-start:.25rem}.last-of-type\:pe-1:last-of-type{padding-inline-end:.25rem}.checked\:ring-0:checked{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:bg-gray-50:focus-within{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:bg-custom-400\/10:hover{background-color:rgba(var(--c-400),.1)}.hover\:bg-custom-50:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.hover\:bg-custom-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.hover\:bg-gray-400\/10:hover{background-color:rgba(var(--gray-400),.1)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.hover\:text-custom-600:hover{--tw-text-opacity:1;color:rgba(var(--c-600),var(--tw-text-opacity))}.hover\:text-custom-700\/75:hover{color:rgba(var(--c-700),.75)}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.hover\:text-gray-700\/75:hover{color:rgba(var(--gray-700),.75)}.hover\:opacity-100:hover{opacity:1}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-danger-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px}.checked\:focus\:ring-danger-500\/50:focus:checked{--tw-ring-color:rgba(var(--danger-500),0.5)}.checked\:focus\:ring-primary-500\/50:focus:checked{--tw-ring-color:rgba(var(--primary-500),0.5)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-primary-500:focus-visible{--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.focus-visible\:bg-custom-50:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--c-50),var(--tw-bg-opacity))}.focus-visible\:bg-gray-100:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-100),var(--tw-bg-opacity))}.focus-visible\:bg-gray-50:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.focus-visible\:text-custom-700\/75:focus-visible{color:rgba(var(--c-700),.75)}.focus-visible\:text-gray-500:focus-visible{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.focus-visible\:text-gray-700\/75:focus-visible{color:rgba(var(--gray-700),.75)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\:ring-custom-500\/50:focus-visible{--tw-ring-color:rgba(var(--c-500),0.5)}.focus-visible\:ring-custom-600:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-600),var(--tw-ring-opacity))}.focus-visible\:ring-gray-400\/40:focus-visible{--tw-ring-color:rgba(var(--gray-400),0.4)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.focus-visible\:ring-primary-600:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.enabled\:cursor-wait:enabled{cursor:wait}.enabled\:opacity-70:enabled{opacity:.7}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-gray-50:disabled{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.disabled\:text-gray-50:disabled{--tw-text-opacity:1;color:rgba(var(--gray-50),var(--tw-text-opacity))}.disabled\:text-gray-500:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled{-webkit-text-fill-color:rgba(var(--gray-500),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled::placeholder{-webkit-text-fill-color:rgba(var(--gray-400),1)}.disabled\:checked\:bg-current:checked:disabled{background-color:currentColor}.disabled\:checked\:text-gray-400:checked:disabled{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group\/item:first-child .group-first\/item\:rounded-s-lg{border-end-start-radius:.5rem;border-start-start-radius:.5rem}.group\/item:last-child .group-last\/item\:rounded-e-lg{border-end-end-radius:.5rem;border-start-end-radius:.5rem}.group:hover .group-hover\:text-gray-500,.group\/button:hover .group-hover\/button\:text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:hover .group-hover\/item\:underline,.group\/link:hover .group-hover\/link\:underline{text-decoration-line:underline}.group:focus-visible .group-focus-visible\:text-gray-500{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.group:focus-visible .group-focus-visible\:text-gray-700{--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.group\/item:focus-visible .group-focus-visible\/item\:underline{text-decoration-line:underline}.group\/link:focus-visible .group-focus-visible\/link\:underline{text-decoration-line:underline}.dark\:flex:is(.dark *){display:flex}.dark\:hidden:is(.dark *){display:none}.dark\:divide-white\/10:is(.dark *)>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.1)}.dark\:divide-white\/5:is(.dark *)>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.05)}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--gray-600),var(--tw-border-opacity))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--gray-700),var(--tw-border-opacity))}.dark\:border-primary-500:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:border-white\/10:is(.dark *){border-color:hsla(0,0%,100%,.1)}.dark\:border-white\/5:is(.dark *){border-color:hsla(0,0%,100%,.05)}.dark\:border-t-white\/10:is(.dark *){border-top-color:hsla(0,0%,100%,.1)}.dark\:\!bg-gray-700:is(.dark *){--tw-bg-opacity:1!important;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))!important}.dark\:bg-custom-400\/10:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:bg-custom-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}.dark\:bg-custom-500\/20:is(.dark *){background-color:rgba(var(--c-500),.2)}.dark\:bg-gray-400\/10:is(.dark *){background-color:rgba(var(--gray-400),.1)}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.dark\:bg-gray-500\/20:is(.dark *){background-color:rgba(var(--gray-500),.2)}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.dark\:bg-gray-900\/30:is(.dark *){background-color:rgba(var(--gray-900),.3)}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-950),var(--tw-bg-opacity))}.dark\:bg-gray-950\/75:is(.dark *){background-color:rgba(var(--gray-950),.75)}.dark\:bg-primary-400:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.dark\:bg-primary-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-white\/10:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:bg-white\/5:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:fill-current:is(.dark *){fill:currentColor}.dark\:text-custom-300\/50:is(.dark *){color:rgba(var(--c-300),.5)}.dark\:text-custom-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--c-400),var(--tw-text-opacity))}.dark\:text-custom-400\/10:is(.dark *){color:rgba(var(--c-400),.1)}.dark\:text-danger-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--danger-400),var(--tw-text-opacity))}.dark\:text-danger-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--danger-500),var(--tw-text-opacity))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:text-gray-300\/50:is(.dark *){color:rgba(var(--gray-300),.5)}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-700),var(--tw-text-opacity))}.dark\:text-gray-800:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-800),var(--tw-text-opacity))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.dark\:text-primary-500:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:text-white\/5:is(.dark *){color:hsla(0,0%,100%,.05)}.dark\:ring-custom-400\/30:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.3)}.dark\:ring-custom-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-500),var(--tw-ring-opacity))}.dark\:ring-danger-500:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:ring-gray-400\/20:is(.dark *){--tw-ring-color:rgba(var(--gray-400),0.2)}.dark\:ring-gray-50\/10:is(.dark *){--tw-ring-color:rgba(var(--gray-50),0.1)}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-700),var(--tw-ring-opacity))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-900),var(--tw-ring-opacity))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:ring-white\/20:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.dark\:before\:bg-primary-500:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity));content:var(--tw-content)}.dark\:checked\:bg-danger-500:checked:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--danger-500),var(--tw-bg-opacity))}.dark\:checked\:bg-primary-500:checked:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity))}.dark\:focus-within\:bg-white\/5:focus-within:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}.dark\:hover\:bg-custom-400\/10:hover:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:hsla(0,0%,100%,.1)}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:hover\:text-custom-300:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--c-300),var(--tw-text-opacity))}.dark\:hover\:text-custom-300\/75:hover:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.dark\:hover\:text-gray-300\/75:hover:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:hover\:text-gray-400:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:hover\:ring-white\/20:hover:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)}.dark\:focus\:ring-danger-500:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:focus\:ring-primary-500:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.dark\:checked\:focus\:ring-danger-400\/50:focus:checked:is(.dark *){--tw-ring-color:rgba(var(--danger-400),0.5)}.dark\:checked\:focus\:ring-primary-400\/50:focus:checked:is(.dark *){--tw-ring-color:rgba(var(--primary-400),0.5)}.dark\:focus-visible\:border-primary-500:focus-visible:is(.dark *){--tw-border-opacity:1;border-color:rgba(var(--primary-500),var(--tw-border-opacity))}.dark\:focus-visible\:bg-custom-400\/10:focus-visible:is(.dark *){background-color:rgba(var(--c-400),.1)}.dark\:focus-visible\:bg-white\/5:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:focus-visible\:text-custom-300\/75:focus-visible:is(.dark *){color:rgba(var(--c-300),.75)}.dark\:focus-visible\:text-gray-300\/75:focus-visible:is(.dark *){color:rgba(var(--gray-300),.75)}.dark\:focus-visible\:text-gray-400:focus-visible:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:focus-visible\:ring-custom-400\/50:focus-visible:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.5)}.dark\:focus-visible\:ring-custom-500:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--c-500),var(--tw-ring-opacity))}.dark\:focus-visible\:ring-primary-500:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.dark\:disabled\:bg-transparent:disabled:is(.dark *){background-color:transparent}.dark\:disabled\:text-gray-400:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.dark\:disabled\:ring-white\/10:disabled:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1)}.dark\:disabled\:\[-webkit-text-fill-color\:theme\(colors\.gray\.400\)\]:disabled:is(.dark *){-webkit-text-fill-color:rgba(var(--gray-400),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::-moz-placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:placeholder\:\[-webkit-text-fill-color\:theme\(colors\.gray\.500\)\]:disabled:is(.dark *)::placeholder{-webkit-text-fill-color:rgba(var(--gray-500),1)}.dark\:disabled\:checked\:bg-gray-600:checked:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-600),var(--tw-bg-opacity))}.group\/button:hover .dark\:group-hover\/button\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:hover .dark\:group-hover\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-200),var(--tw-text-opacity))}.group:focus-visible .dark\:group-focus-visible\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width:640px){.sm\:relative{position:relative}.sm\:inset-x-auto{left:auto;right:auto}.sm\:end-0{inset-inline-end:0}.sm\:col-\[--col-span-sm\]{grid-column:var(--col-span-sm)}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-start-\[--col-start-sm\]{grid-column-start:var(--col-start-sm)}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.sm\:ms-auto{margin-inline-start:auto}.sm\:mt-7{margin-top:1.75rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:table-cell{display:table-cell}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:hidden{display:none}.sm\:w-\[calc\(100\%\+3rem\)\]{width:calc(100% + 3rem)}.sm\:w-screen{width:100vw}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-7xl{max-width:80rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-xs{max-width:20rem}.sm\:columns-\[--cols-sm\]{-moz-columns:var(--cols-sm);columns:var(--cols-sm)}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[--cols-sm\]{grid-template-columns:var(--cols-sm)}.sm\:grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.sm\:grid-rows-\[1fr_auto_3fr\]{grid-template-rows:1fr auto 3fr}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-1{gap:.25rem}.sm\:gap-3{gap:.75rem}.sm\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:p-10{padding:2.5rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1{padding-bottom:.25rem;padding-top:.25rem}.sm\:py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.sm\:pe-3{padding-inline-end:.75rem}.sm\:pe-6{padding-inline-end:1.5rem}.sm\:ps-3{padding-inline-start:.75rem}.sm\:ps-6{padding-inline-start:1.5rem}.sm\:pt-1{padding-top:.25rem}.sm\:pt-1\.5{padding-top:.375rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:first-of-type\:ps-3:first-of-type{padding-inline-start:.75rem}.sm\:first-of-type\:ps-6:first-of-type{padding-inline-start:1.5rem}.sm\:last-of-type\:pe-3:last-of-type{padding-inline-end:.75rem}.sm\:last-of-type\:pe-6:last-of-type{padding-inline-end:1.5rem}}@media (min-width:768px){.md\:bottom-4{bottom:1rem}.md\:order-first{order:-9999}.md\:col-\[--col-span-md\]{grid-column:var(--col-span-md)}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-\[--col-start-md\]{grid-column-start:var(--col-start-md)}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:inline-grid{display:inline-grid}.md\:hidden{display:none}.md\:w-max{width:-moz-max-content;width:max-content}.md\:max-w-60{max-width:15rem}.md\:columns-\[--cols-md\]{-moz-columns:var(--cols-md);columns:var(--cols-md)}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[--cols-md\]{grid-template-columns:var(--cols-md)}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:gap-1{gap:.25rem}.md\:gap-3{gap:.75rem}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:overflow-x-auto{overflow-x:auto}.md\:rounded-xl{border-radius:.75rem}.md\:p-20{padding:5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:pe-6{padding-inline-end:1.5rem}.md\:ps-3{padding-inline-start:.75rem}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:z-0{z-index:0}.lg\:col-\[--col-span-lg\]{grid-column:var(--col-span-lg)}.lg\:col-start-\[--col-start-lg\]{grid-column-start:var(--col-start-lg)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:inline-grid{display:inline-grid}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:max-w-xs{max-width:20rem}.lg\:-translate-x-full{--tw-translate-x:-100%}.lg\:-translate-x-full,.lg\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:translate-x-0{--tw-translate-x:0px}.lg\:columns-\[--cols-lg\]{-moz-columns:var(--cols-lg);columns:var(--cols-lg)}.lg\:grid-cols-\[--cols-lg\]{grid-template-columns:var(--cols-lg)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:gap-1{gap:.25rem}.lg\:gap-3{gap:.75rem}.lg\:bg-transparent{background-color:transparent}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pe-8{padding-inline-end:2rem}.lg\:shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.lg\:shadow-none,.lg\:shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lg\:shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lg\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lg\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lg\:transition-none{transition-property:none}.lg\:delay-100{transition-delay:.1s}.dark\:lg\:bg-transparent:is(.dark *){background-color:transparent}}@media (min-width:1280px){.xl\:col-\[--col-span-xl\]{grid-column:var(--col-span-xl)}.xl\:col-start-\[--col-start-xl\]{grid-column-start:var(--col-start-xl)}.xl\:block{display:block}.xl\:table-cell{display:table-cell}.xl\:inline-grid{display:inline-grid}.xl\:hidden{display:none}.xl\:columns-\[--cols-xl\]{-moz-columns:var(--cols-xl);columns:var(--cols-xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[--cols-xl\]{grid-template-columns:var(--cols-xl)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:gap-1{gap:.25rem}.xl\:gap-3{gap:.75rem}}@media (min-width:1536px){.\32xl\:col-\[--col-span-2xl\]{grid-column:var(--col-span-2xl)}.\32xl\:col-start-\[--col-start-2xl\]{grid-column-start:var(--col-start-2xl)}.\32xl\:block{display:block}.\32xl\:table-cell{display:table-cell}.\32xl\:inline-grid{display:inline-grid}.\32xl\:hidden{display:none}.\32xl\:columns-\[--cols-2xl\]{-moz-columns:var(--cols-2xl);columns:var(--cols-2xl)}.\32xl\:grid-cols-\[--cols-2xl\]{grid-template-columns:var(--cols-2xl)}.\32xl\:flex-row{flex-direction:row}.\32xl\:items-start{align-items:flex-start}.\32xl\:items-end{align-items:flex-end}.\32xl\:items-center{align-items:center}.\32xl\:gap-1{gap:.25rem}.\32xl\:gap-3{gap:.75rem}}.ltr\:hidden:where([dir=ltr],[dir=ltr] *){display:none}.rtl\:hidden:where([dir=rtl],[dir=rtl] *){display:none}.rtl\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-5:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:-translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-1\/2:where([dir=rtl],[dir=rtl] *){--tw-translate-x:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:rotate-180:where([dir=rtl],[dir=rtl] *){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:divide-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:1}@media (min-width:1024px){.rtl\:lg\:-translate-x-0:where([dir=rtl],[dir=rtl] *){--tw-translate-x:-0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\:lg\:translate-x-full:where([dir=rtl],[dir=rtl] *){--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.\[\&\.trix-active\]\:bg-gray-50.trix-active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.\[\&\.trix-active\]\:text-primary-600.trix-active{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity))}.dark\:\[\&\.trix-active\]\:bg-white\/5.trix-active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.dark\:\[\&\.trix-active\]\:text-primary-400.trix-active:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-400),var(--tw-text-opacity))}.\[\&\:\:-ms-reveal\]\:hidden::-ms-reveal{display:none}.\[\&\:not\(\:first-of-type\)\]\:border-s:not(:first-of-type){border-inline-start-width:1px}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-2:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-600),var(--tw-ring-opacity))}.\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-600:focus-within:not(:has(.fi-ac-action:focus)){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-danger-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--danger-500),var(--tw-ring-opacity))}.dark\:\[\&\:not\(\:has\(\.fi-ac-action\:focus\)\)\]\:focus-within\:ring-primary-500:focus-within:not(:has(.fi-ac-action:focus)):is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-500),var(--tw-ring-opacity))}.\[\&\:not\(\:last-of-type\)\]\:border-e:not(:last-of-type){border-inline-end-width:1px}.\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.gray\.200\)\]:not(:nth-child(1 of .fi-btn)){--tw-shadow:-1px 0 0 0 rgba(var(--gray-200),1);--tw-shadow-colored:-1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark\:\[\&\:not\(\:nth-child\(1_of_\.fi-btn\)\)\]\:shadow-\[-1px_0_0_0_theme\(colors\.white\/20\%\)\]:not(:nth-child(1 of .fi-btn)):is(.dark *){--tw-shadow:-1px 0 0 0 hsla(0,0%,100%,.2);--tw-shadow-colored:-1px 0 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\[\&\:not\(\:nth-last-child\(1_of_\.fi-btn\)\)\]\:me-px:not(:nth-last-child(1 of .fi-btn)){margin-inline-end:1px}.\[\&\:nth-child\(1_of_\.fi-btn\)\]\:rounded-s-lg:nth-child(1 of .fi-btn){border-end-start-radius:.5rem;border-start-start-radius:.5rem}.\[\&\:nth-last-child\(1_of_\.fi-btn\)\]\:rounded-e-lg:nth-last-child(1 of .fi-btn){border-end-end-radius:.5rem;border-start-end-radius:.5rem}.\[\&\>\*\:first-child\]\:relative>:first-child{position:relative}.\[\&\>\*\:first-child\]\:mt-0>:first-child{margin-top:0}.\[\&\>\*\:first-child\]\:before\:absolute>:first-child:before{content:var(--tw-content);position:absolute}.\[\&\>\*\:first-child\]\:before\:inset-y-0>:first-child:before{bottom:0;content:var(--tw-content);top:0}.\[\&\>\*\:first-child\]\:before\:start-0>:first-child:before{content:var(--tw-content);inset-inline-start:0}.\[\&\>\*\:first-child\]\:before\:w-0\.5>:first-child:before{content:var(--tw-content);width:.125rem}.\[\&\>\*\:first-child\]\:before\:bg-primary-600>:first-child:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity));content:var(--tw-content)}.\[\&\>\*\:first-child\]\:dark\:before\:bg-primary-500:is(.dark *)>:first-child:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-500),var(--tw-bg-opacity));content:var(--tw-content)}.\[\&\>\*\:last-child\]\:mb-0>:last-child{margin-bottom:0}.\[\&_\.choices\\_\\_inner\]\:ps-0 .choices__inner{padding-inline-start:0}.\[\&_\.fi-badge-delete-button\]\:hidden .fi-badge-delete-button{display:none}.\[\&_\.filepond--root\]\:font-sans .filepond--root{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\[\&_optgroup\]\:bg-white optgroup{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\[\&_optgroup\]\:dark\:bg-gray-900:is(.dark *) optgroup{--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.\[\&_option\]\:bg-white option{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\[\&_option\]\:dark\:bg-gray-900:is(.dark *) option{--tw-bg-opacity:1;background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}:checked+*>.\[\:checked\+\*\>\&\]\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[\@media\(hover\:hover\)\]\:duration-75{transition-duration:75ms}}input:checked+.\[input\:checked\+\&\]\:bg-custom-600{--tw-bg-opacity:1;background-color:rgba(var(--c-600),var(--tw-bg-opacity))}input:checked+.\[input\:checked\+\&\]\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}input:checked+.\[input\:checked\+\&\]\:ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}input:checked+.\[input\:checked\+\&\]\:hover\:bg-custom-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:bg-custom-500:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-500),var(--tw-bg-opacity))}input:checked+.dark\:\[input\:checked\+\&\]\:hover\:bg-custom-400:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--c-400),var(--tw-bg-opacity))}input:checked:focus-visible+.\[input\:checked\:focus-visible\+\&\]\:ring-custom-500\/50{--tw-ring-color:rgba(var(--c-500),0.5)}input:checked:focus-visible+.dark\:\[input\:checked\:focus-visible\+\&\]\:ring-custom-400\/50:is(.dark *){--tw-ring-color:rgba(var(--c-400),0.5)}input:focus-visible+.\[input\:focus-visible\+\&\]\:z-10{z-index:10}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}input:focus-visible+.\[input\:focus-visible\+\&\]\:ring-gray-950\/10{--tw-ring-color:rgba(var(--gray-950),0.1)}input:focus-visible+.dark\:\[input\:focus-visible\+\&\]\:ring-white\/20:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2)} \ No newline at end of file +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-tracking:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-ease:initial;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-content:"";--tw-outline-style:solid;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-mono:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-sky-400:oklch(74.6% .16 232.661);--color-gray-100:var(--gray-100);--color-gray-200:var(--gray-200);--color-gray-300:var(--gray-300);--color-gray-400:var(--gray-400);--color-gray-500:var(--gray-500);--color-gray-600:var(--gray-600);--color-gray-700:var(--gray-700);--color-gray-900:var(--gray-900);--color-gray-950:var(--gray-950);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--leading-loose:2;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--default-mono-font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-primary-400:var(--primary-400)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}:root.dark{color-scheme:dark}[data-field-wrapper]{scroll-margin-top:8rem}}@layer components{.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{color:#fff;white-space:normal;background-color:#333;border-radius:4px;outline:0;font-size:14px;line-height:1.4;transition-property:transform,visibility,opacity;position:relative}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-width:8px 8px 0;border-top-color:initial;transform-origin:top;bottom:-7px;left:0}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-width:0 8px 8px;border-bottom-color:initial;transform-origin:bottom;top:-7px;left:0}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;transform-origin:0;right:-7px}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:100%;left:-7px}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;width:16px;height:16px}.tippy-arrow:before{content:"";border-style:solid;border-color:#0000;position:absolute}.tippy-content{z-index:1;padding:5px 9px;position:relative}.tippy-box[data-theme~=light]{color:#26323d;background-color:#fff;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.fi-avatar{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8);border-radius:var(--radius-md);object-fit:cover;object-position:center}.fi-avatar.fi-circular{border-radius:3.40282e38px}.fi-avatar.fi-size-sm{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.fi-avatar.fi-size-lg{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.fi-badge{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*1);border-radius:var(--radius-md);background-color:var(--gray-50);min-width:1.5rem;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-600);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.fi-badge{--tw-ring-color:color-mix(in oklab,var(--gray-600)10%,transparent)}}.fi-badge{--tw-ring-inset:inset}.fi-badge:where(.dark,.dark *){background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}.fi-badge:where(.dark,.dark *){color:var(--gray-200);--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-400)20%,transparent)}}.fi-badge:not(.fi-wrapped){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-badge.fi-disabled:not(.fi-force-enabled),.fi-badge[disabled]:not(.fi-force-enabled){cursor:default;opacity:.7}:is(.fi-badge.fi-disabled:not(.fi-force-enabled),.fi-badge[disabled]:not(.fi-force-enabled)):not([x-tooltip]){pointer-events:none}.fi-badge .fi-badge-label-ctn{display:grid}.fi-badge .fi-badge-label.fi-wrapped{text-wrap:wrap;word-break:break-word}.fi-badge .fi-badge-label:not(.fi-wrapped){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-badge .fi-icon{flex-shrink:0}.fi-badge.fi-size-xs{min-width:1rem;padding-inline:calc(var(--spacing)*.5);padding-block:calc(var(--spacing)*0);--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.fi-badge.fi-size-sm{min-width:1.25rem;padding-inline:calc(var(--spacing)*1.5);padding-block:calc(var(--spacing)*.5);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.fi-badge.fi-color{background-color:var(--color-50);color:var(--text);--tw-ring-color:var(--color-600)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color{--tw-ring-color:color-mix(in oklab,var(--color-600)10%,transparent)}}.fi-badge.fi-color:where(.dark,.dark *){background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-badge.fi-color:where(.dark,.dark *){color:var(--dark-text);--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-400)30%,transparent)}}.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon{color:var(--color-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon{color:color-mix(in oklab,var(--color-700)50%,transparent)}}.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:var(--color-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge.fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:color-mix(in oklab,var(--color-300)50%,transparent)}}.fi-badge:not(.fi-color) .fi-icon{color:var(--gray-400)}.fi-badge:not(.fi-color) .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-badge .fi-badge-delete-btn{margin-block:calc(var(--spacing)*-1);padding:calc(var(--spacing)*1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;justify-content:center;align-items:center;margin-inline-start:calc(var(--spacing)*-1);margin-inline-end:calc(var(--spacing)*-2);transition-duration:75ms;display:flex}.fi-badge .fi-badge-delete-btn>.fi-icon{color:var(--gray-700)}@supports (color:color-mix(in lab, red, red)){.fi-badge .fi-badge-delete-btn>.fi-icon{color:color-mix(in oklab,var(--gray-700)50%,transparent)}}.fi-badge .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-300)}@supports (color:color-mix(in lab, red, red)){.fi-badge .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *){color:color-mix(in oklab,var(--gray-300)50%,transparent)}}:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])) .fi-badge-delete-btn>.fi-icon:focus-visible{color:var(--gray-700)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])) .fi-badge-delete-btn>.fi-icon:focus-visible{color:color-mix(in oklab,var(--gray-700)75%,transparent)}}@media (hover:hover){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:var(--gray-300)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:color-mix(in oklab,var(--gray-300)75%,transparent)}}}:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:var(--gray-300)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])) .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:color-mix(in oklab,var(--gray-300)75%,transparent)}}@media (hover:hover){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:hover{color:var(--color-700)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:hover{color:color-mix(in oklab,var(--color-700)75%,transparent)}}}:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:focus-visible{color:var(--color-700)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:focus-visible{color:color-mix(in oklab,var(--color-700)75%,transparent)}}@media (hover:hover){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:var(--color-300)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):hover{color:color-mix(in oklab,var(--color-300)75%,transparent)}}}:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:var(--color-300)}@supports (color:color-mix(in lab, red, red)){:is(.fi-badge.fi-force-enabled,.fi-badge:not(.fi-disabled):not([disabled])).fi-color .fi-badge-delete-btn>.fi-icon:where(.dark,.dark *):focus-visible{color:color-mix(in oklab,var(--color-300)75%,transparent)}}.fi-breadcrumbs ol{align-items:center;column-gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.fi-breadcrumbs ol li{align-items:center;column-gap:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);display:flex}.fi-breadcrumbs ol li:where(.dark,.dark *){color:var(--gray-400)}.fi-breadcrumbs ol li a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-breadcrumbs ol li a:hover{color:var(--gray-700)}.fi-breadcrumbs ol li a:where(.dark,.dark *):hover{color:var(--gray-200)}}.fi-breadcrumbs ol li .fi-icon{color:var(--gray-400);display:flex}.fi-breadcrumbs ol li .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-breadcrumbs ol li .fi-icon.fi-ltr:where(:dir(rtl),[dir=rtl],[dir=rtl] *),.fi-breadcrumbs ol li .fi-icon.fi-rtl:where(:dir(ltr),[dir=ltr],[dir=ltr] *){display:none}.fi-btn{justify-content:center;align-items:center;gap:calc(var(--spacing)*1.5);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;grid-auto-flow:column;transition-duration:75ms;display:inline-grid;position:relative}:is(.fi-btn.fi-force-enabled,.fi-btn:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn.fi-disabled:not(.fi-force-enabled),.fi-btn[disabled]:not(.fi-force-enabled){cursor:default;opacity:.7}:is(.fi-btn.fi-disabled:not(.fi-force-enabled),.fi-btn[disabled]:not(.fi-force-enabled)):not([x-tooltip]){pointer-events:none}.fi-btn>.fi-icon{color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-btn.fi-size-xs{gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-btn.fi-size-sm{gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-btn.fi-size-lg{gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3.5);padding-block:calc(var(--spacing)*2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-btn.fi-size-xl{gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-btn.fi-outlined{color:var(--gray-950);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-300)}.fi-btn.fi-outlined:where(.dark,.dark *){color:var(--color-white);--tw-ring-color:var(--gray-700)}@media (hover:hover){:is(.fi-btn.fi-outlined.fi-force-enabled,.fi-btn.fi-outlined:not(.fi-disabled):not([disabled])):hover{background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn.fi-outlined.fi-force-enabled,.fi-btn.fi-outlined:not(.fi-disabled):not([disabled])):hover{background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}}:is(.fi-btn.fi-outlined.fi-force-enabled,.fi-btn.fi-outlined:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn.fi-outlined.fi-force-enabled,.fi-btn.fi-outlined:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:color-mix(in oklab,var(--gray-400)40%,transparent)}}.fi-btn.fi-outlined.fi-color{color:var(--text);--tw-ring-color:var(--color-600)}.fi-btn.fi-outlined.fi-color:where(.dark,.dark *){color:var(--dark-text);--tw-ring-color:var(--color-500)}@media (hover:hover){:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):hover{background-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):hover{background-color:color-mix(in oklab,var(--color-500)10%,transparent)}}}:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-500)40%,transparent)}}@media (hover:hover){:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:var(--color-600)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-600)10%,transparent)}}}:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn.fi-outlined.fi-color.fi-force-enabled,.fi-btn.fi-outlined.fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-400)40%,transparent)}}.fi-btn.fi-outlined.fi-color>.fi-icon{color:var(--color-600)}.fi-btn.fi-outlined.fi-color>.fi-icon:where(.dark,.dark *){color:var(--color-400)}.fi-btn:not(.fi-outlined){background-color:var(--color-white);color:var(--gray-950)}.fi-btn:not(.fi-outlined):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-outlined):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-btn:not(.fi-outlined):where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){:is(.fi-btn:not(.fi-outlined).fi-force-enabled,.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled])):hover{background-color:var(--gray-50)}:is(.fi-btn:not(.fi-outlined).fi-force-enabled,.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn:not(.fi-outlined).fi-force-enabled,.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}}input:checked+label.fi-btn:not(.fi-outlined){background-color:var(--gray-400);color:var(--color-white);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:checked+label.fi-btn:not(.fi-outlined):where(.dark,.dark *){background-color:var(--gray-600)}@media (hover:hover){:is(input:checked+label.fi-btn:not(.fi-outlined).fi-force-enabled,input:checked+label.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled])):hover{background-color:var(--gray-300)}:is(input:checked+label.fi-btn:not(.fi-outlined).fi-force-enabled,input:checked+label.fi-btn:not(.fi-outlined):not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:var(--gray-500)}}.fi-btn:not(.fi-outlined).fi-color:not(label){background-color:var(--bg);color:var(--text)}.fi-btn:not(.fi-outlined).fi-color:not(label):where(.dark,.dark *){background-color:var(--dark-bg);color:var(--dark-text)}@media (hover:hover){:is(.fi-btn:not(.fi-outlined).fi-color:not(label).fi-force-enabled,.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled])):hover{background-color:var(--hover-bg);color:var(--hover-text)}}:is(.fi-btn:not(.fi-outlined).fi-color:not(label).fi-force-enabled,.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn:not(.fi-outlined).fi-color:not(label).fi-force-enabled,.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-500)50%,transparent)}}@media (hover:hover){:is(.fi-btn:not(.fi-outlined).fi-color:not(label).fi-force-enabled,.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:var(--dark-hover-bg);color:var(--dark-hover-text)}}:is(.fi-btn:not(.fi-outlined).fi-color:not(label).fi-force-enabled,.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled])):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn:not(.fi-outlined).fi-color:not(label).fi-force-enabled,.fi-btn:not(.fi-outlined).fi-color:not(label):not(.fi-disabled):not([disabled])):where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-400)50%,transparent)}}.fi-btn:not(.fi-outlined).fi-color:not(label)>.fi-icon{color:var(--text)}.fi-btn:not(.fi-outlined).fi-color:not(label)>.fi-icon:where(.dark,.dark *){color:var(--dark-text)}input:checked+:is(label.fi-btn:not(.fi-outlined).fi-color){background-color:var(--bg);color:var(--text);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:checked+:is(label.fi-btn:not(.fi-outlined).fi-color):where(.dark,.dark *){background-color:var(--dark-bg);color:var(--dark-text)}@media (hover:hover){input:checked+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])):hover{background-color:var(--hover-bg);color:var(--hover-text)}input:checked+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{background-color:var(--dark-hover-bg);color:var(--dark-hover-text)}}input:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])){z-index:10;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){input:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])){--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}input:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){input:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}input:checked:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])){--tw-ring-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){input:checked:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])){--tw-ring-color:color-mix(in oklab,var(--color-500)50%,transparent)}}input:checked:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *){--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){input:checked:focus-visible+:is(label.fi-btn:not(.fi-outlined).fi-color.fi-force-enabled,label.fi-btn:not(.fi-outlined).fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-400)50%,transparent)}}label.fi-btn{cursor:pointer}label.fi-btn>.fi-icon:is(:checked+label>.fi-icon){color:var(--text)}label.fi-btn>.fi-icon:is(:checked+label>.fi-icon):where(.dark,.dark *){color:var(--dark-text)}.fi-btn:not(.fi-color),label.fi-btn{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-btn:not(.fi-color),label.fi-btn{--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}:is(.fi-btn:not(.fi-color),label.fi-btn):where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){:is(.fi-btn:not(.fi-color),label.fi-btn):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-btn.fi-labeled-from-sm,.fi-btn.fi-labeled-from-md,.fi-btn.fi-labeled-from-lg,.fi-btn.fi-labeled-from-xl,.fi-btn.fi-labeled-from-2xl{display:none}@media (min-width:40rem){.fi-btn.fi-labeled-from-sm{display:inline-grid}}@media (min-width:48rem){.fi-btn.fi-labeled-from-md{display:inline-grid}}@media (min-width:64rem){.fi-btn.fi-labeled-from-lg{display:inline-grid}}@media (min-width:80rem){.fi-btn.fi-labeled-from-xl{display:inline-grid}}@media (min-width:96rem){.fi-btn.fi-labeled-from-2xl{display:inline-grid}}.fi-btn .fi-btn-badge-ctn{inset-inline-start:100%;top:calc(var(--spacing)*0);z-index:1;--tw-translate-x:calc(calc(1/2*100%)*-1);--tw-translate-y:calc(calc(1/2*100%)*-1);width:max-content;translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-md);background-color:var(--color-white);display:flex;position:absolute}.fi-btn .fi-btn-badge-ctn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-btn .fi-btn-badge-ctn:where(.dark,.dark *){background-color:var(--gray-900)}.fi-btn-group{border-radius:var(--radius-lg);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);grid-auto-flow:column;display:grid}.fi-btn-group:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-btn-group:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-btn-group>.fi-btn{border-radius:0;flex:1}.fi-btn-group>.fi-btn:nth-child(1 of .fi-btn){border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.fi-btn-group>.fi-btn:nth-last-child(1 of .fi-btn){border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.fi-btn-group>.fi-btn:not(:nth-child(1 of .fi-btn)){--tw-shadow:-1px 0 0 0 var(--tw-shadow-color,var(--color-gray-200));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn-group>.fi-btn:not(:nth-child(1 of .fi-btn)):where(.dark,.dark *){--tw-shadow:-1px 0 0 0 var(--tw-shadow-color,#fff3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn-group>.fi-btn:not(:nth-last-child(1 of .fi-btn)){margin-inline-end:1px}.fi-btn-group>.fi-btn.fi-processing:enabled{cursor:wait;opacity:.7}.fi-btn-group>.fi-btn:not(.fi-outlined){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-btn-group>.fi-btn:not(.fi-color),label:is(.fi-btn-group>.fi-btn){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-dropdown-header{gap:calc(var(--spacing)*2);width:100%;padding:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:flex}.fi-dropdown-header .fi-icon{color:var(--gray-400)}.fi-dropdown-header .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-dropdown-header span{text-overflow:ellipsis;white-space:nowrap;text-align:start;color:var(--gray-700);flex:1;overflow:hidden}.fi-dropdown-header span:where(.dark,.dark *){color:var(--gray-200)}.fi-dropdown-header.fi-color .fi-icon{color:var(--color-500)}.fi-dropdown-header.fi-color .fi-icon:where(.dark,.dark *){color:var(--color-400)}.fi-dropdown-header.fi-color span{color:var(--text)}.fi-dropdown-header.fi-color span:where(.dark,.dark *){color:var(--dark-text)}:scope .fi-dropdown-trigger{cursor:pointer;display:flex}:scope .fi-dropdown-panel{z-index:20;border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);width:100vw;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:absolute;max-width:14rem!important}:scope .fi-dropdown-panel:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:scope .fi-dropdown-panel:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}:where(:scope .fi-dropdown-panel:not(.fi-dropdown-list)>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-100)}:where(:scope .fi-dropdown-panel:not(.fi-dropdown-list):where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(:scope .fi-dropdown-panel:not(.fi-dropdown-list):where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:scope .fi-dropdown-panel.fi-opacity-0{opacity:0}:scope .fi-dropdown-panel.fi-width-xs{max-width:var(--container-xs)!important}:scope .fi-dropdown-panel.fi-width-sm{max-width:var(--container-sm)!important}:scope .fi-dropdown-panel.fi-width-md{max-width:var(--container-md)!important}:scope .fi-dropdown-panel.fi-width-lg{max-width:var(--container-lg)!important}:scope .fi-dropdown-panel.fi-width-xl{max-width:var(--container-xl)!important}:scope .fi-dropdown-panel.fi-width-2xl{max-width:var(--container-2xl)!important}:scope .fi-dropdown-panel.fi-width-3xl{max-width:var(--container-3xl)!important}:scope .fi-dropdown-panel.fi-width-4xl{max-width:var(--container-4xl)!important}:scope .fi-dropdown-panel.fi-width-5xl{max-width:var(--container-5xl)!important}:scope .fi-dropdown-panel.fi-width-6xl{max-width:var(--container-6xl)!important}:scope .fi-dropdown-panel.fi-width-7xl{max-width:var(--container-7xl)!important}:scope .fi-dropdown-panel.fi-scrollable{overflow-y:auto}.fi-dropdown-list{padding:calc(var(--spacing)*1);gap:1px;display:grid}.fi-dropdown-list>.fi-grid{overflow-x:hidden}.fi-dropdown-list-item{align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-md);width:100%;padding:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;-webkit-user-select:none;user-select:none;outline-style:none;transition-duration:75ms;display:flex;overflow:hidden}@media (hover:hover){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):hover{background-color:var(--gray-50)}}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]).fi-selected{background-color:var(--gray-50)}.fi-dropdown-list-item:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-dropdown-list-item.fi-disabled,.fi-dropdown-list-item[disabled]{cursor:default;opacity:.7}:is(.fi-dropdown-list-item.fi-disabled,.fi-dropdown-list-item[disabled]):not([x-tooltip]){pointer-events:none}.fi-dropdown-list-item .fi-icon{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-dropdown-list-item .fi-dropdown-list-item-image{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);background-position:50%;background-size:cover;border-radius:3.40282e38px}.fi-dropdown-list-item>.fi-icon{color:var(--gray-400)}.fi-dropdown-list-item>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-dropdown-list-item>.fi-icon.fi-color{color:var(--color-500)}.fi-dropdown-list-item>.fi-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}@media (hover:hover){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):hover{background-color:var(--color-50)}}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):focus-visible{background-color:var(--color-50)}@media (hover:hover){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]):where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]).fi-selected{background-color:var(--color-50)}.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-dropdown-list-item.fi-color:not(.fi-disabled):not([disabled]).fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label{color:var(--text)}@media (hover:hover){.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label:hover{color:var(--hover-text)}}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label:where(.dark,.dark *){color:var(--dark-text)}@media (hover:hover){.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label:where(.dark,.dark *):hover{color:var(--dark-hover-text)}}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label.fi-selected{color:var(--hover-text)}.fi-dropdown-list-item.fi-color .fi-dropdown-list-item-label.fi-selected:where(.dark,.dark *){color:var(--dark-hover-text)}.fi-dropdown-list-item .fi-badge{min-width:1.25rem;padding-inline:calc(var(--spacing)*1.5);padding-block:calc(var(--spacing)*.5);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.fi-dropdown-list-item-label{text-overflow:ellipsis;white-space:nowrap;text-align:start;color:var(--gray-700);flex:1;overflow:hidden}.fi-dropdown-list-item-label:where(.dark,.dark *){color:var(--gray-200)}.fi-empty-state{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*12)}.fi-empty-state:not(.fi-empty-state-not-contained){border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-empty-state:not(.fi-empty-state-not-contained):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-empty-state:not(.fi-empty-state-not-contained):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-empty-state .fi-empty-state-content{max-width:var(--container-lg);text-align:center;justify-items:center;margin-inline:auto;display:grid}.fi-empty-state .fi-empty-state-text-ctn{text-align:center;justify-items:center;display:grid}.fi-empty-state .fi-empty-state-icon-bg{margin-bottom:calc(var(--spacing)*4);background-color:var(--gray-100);padding:calc(var(--spacing)*3);border-radius:3.40282e38px}.fi-empty-state .fi-empty-state-icon-bg:where(.dark,.dark *){background-color:var(--gray-500)}@supports (color:color-mix(in lab, red, red)){.fi-empty-state .fi-empty-state-icon-bg:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-500)20%,transparent)}}.fi-empty-state .fi-empty-state-icon-bg.fi-color{background-color:var(--color-100)}.fi-empty-state .fi-empty-state-icon-bg.fi-color:where(.dark,.dark *){background-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){.fi-empty-state .fi-empty-state-icon-bg.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-500)20%,transparent)}}.fi-empty-state .fi-empty-state-icon-bg .fi-icon{color:var(--gray-500)}.fi-empty-state .fi-empty-state-icon-bg .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-empty-state .fi-empty-state-icon-bg .fi-icon.fi-color{color:var(--color-500)}.fi-empty-state .fi-empty-state-icon-bg .fi-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}.fi-empty-state .fi-empty-state-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-empty-state .fi-empty-state-heading:where(.dark,.dark *){color:var(--color-white)}.fi-empty-state .fi-empty-state-description{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-empty-state .fi-empty-state-description:where(.dark,.dark *){color:var(--gray-400)}.fi-empty-state .fi-empty-state-footer{margin-top:calc(var(--spacing)*6)}.fi-empty-state.fi-compact{padding-block:calc(var(--spacing)*6)}.fi-empty-state.fi-compact .fi-empty-state-content{margin-inline:calc(var(--spacing)*0);align-items:flex-start;gap:calc(var(--spacing)*4);text-align:start;max-width:none;display:flex}.fi-empty-state.fi-compact .fi-empty-state-icon-bg{margin-bottom:calc(var(--spacing)*0);flex-shrink:0}.fi-empty-state.fi-compact .fi-empty-state-text-ctn{text-align:start;flex:1;justify-items:start}.fi-empty-state.fi-compact .fi-empty-state-description{margin-top:calc(var(--spacing)*1)}.fi-empty-state.fi-compact .fi-empty-state-footer{margin-top:calc(var(--spacing)*4)}.fi-fieldset>legend{padding-inline:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);margin-inline-start:calc(var(--spacing)*-2)}.fi-fieldset>legend:where(.dark,.dark *){color:var(--color-white)}.fi-fieldset>legend .fi-fieldset-label-required-mark{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-600)}.fi-fieldset>legend .fi-fieldset-label-required-mark:where(.dark,.dark *){color:var(--danger-400)}.fi-fieldset.fi-fieldset-label-hidden>legend{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fi-fieldset:not(.fi-fieldset-not-contained){border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-200);padding:calc(var(--spacing)*6)}.fi-fieldset:not(.fi-fieldset-not-contained):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fieldset:not(.fi-fieldset-not-contained):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fieldset.fi-fieldset-not-contained{padding-top:calc(var(--spacing)*6)}.fi-grid:not(.fi-grid-direction-col){grid-template-columns:var(--cols-default);display:grid}@media (min-width:40rem){.fi-grid:not(.fi-grid-direction-col).sm\:fi-grid-cols{grid-template-columns:var(--cols-sm)}}@media (min-width:48rem){.fi-grid:not(.fi-grid-direction-col).md\:fi-grid-cols{grid-template-columns:var(--cols-md)}}@media (min-width:64rem){.fi-grid:not(.fi-grid-direction-col).lg\:fi-grid-cols{grid-template-columns:var(--cols-lg)}}@media (min-width:80rem){.fi-grid:not(.fi-grid-direction-col).xl\:fi-grid-cols{grid-template-columns:var(--cols-xl)}}@media (min-width:96rem){.fi-grid:not(.fi-grid-direction-col).\32 xl\:fi-grid-cols{grid-template-columns:var(--cols-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid:not(.fi-grid-direction-col).\@3xs\:fi-grid-cols{grid-template-columns:var(--cols-c3xs)}}@container (min-width:18rem){.fi-grid:not(.fi-grid-direction-col).\@2xs\:fi-grid-cols{grid-template-columns:var(--cols-c2xs)}}@container (min-width:20rem){.fi-grid:not(.fi-grid-direction-col).\@xs\:fi-grid-cols{grid-template-columns:var(--cols-cxs)}}@container (min-width:24rem){.fi-grid:not(.fi-grid-direction-col).\@sm\:fi-grid-cols{grid-template-columns:var(--cols-csm)}}@container (min-width:28rem){.fi-grid:not(.fi-grid-direction-col).\@md\:fi-grid-cols{grid-template-columns:var(--cols-cmd)}}@container (min-width:32rem){.fi-grid:not(.fi-grid-direction-col).\@lg\:fi-grid-cols{grid-template-columns:var(--cols-clg)}}@container (min-width:36rem){.fi-grid:not(.fi-grid-direction-col).\@xl\:fi-grid-cols{grid-template-columns:var(--cols-cxl)}}@container (min-width:42rem){.fi-grid:not(.fi-grid-direction-col).\@2xl\:fi-grid-cols{grid-template-columns:var(--cols-c2xl)}}@container (min-width:48rem){.fi-grid:not(.fi-grid-direction-col).\@3xl\:fi-grid-cols{grid-template-columns:var(--cols-c3xl)}}@container (min-width:56rem){.fi-grid:not(.fi-grid-direction-col).\@4xl\:fi-grid-cols{grid-template-columns:var(--cols-c4xl)}}@container (min-width:64rem){.fi-grid:not(.fi-grid-direction-col).\@5xl\:fi-grid-cols{grid-template-columns:var(--cols-c5xl)}}@container (min-width:72rem){.fi-grid:not(.fi-grid-direction-col).\@6xl\:fi-grid-cols{grid-template-columns:var(--cols-c6xl)}}@container (min-width:80rem){.fi-grid:not(.fi-grid-direction-col).\@7xl\:fi-grid-cols{grid-template-columns:var(--cols-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid:not(.fi-grid-direction-col).\!\@sm\:fi-grid-cols{grid-template-columns:var(--cols-ncsm)}}@media (min-width:48rem){.fi-grid:not(.fi-grid-direction-col).\!\@md\:fi-grid-cols{grid-template-columns:var(--cols-ncmd)}}@media (min-width:64rem){.fi-grid:not(.fi-grid-direction-col).\!\@lg\:fi-grid-cols{grid-template-columns:var(--cols-nclg)}}@media (min-width:80rem){.fi-grid:not(.fi-grid-direction-col).\!\@xl\:fi-grid-cols{grid-template-columns:var(--cols-ncxl)}}@media (min-width:96rem){.fi-grid:not(.fi-grid-direction-col).\!\@2xl\:fi-grid-cols{grid-template-columns:var(--cols-nc2xl)}}}.fi-grid.fi-grid-direction-col{columns:var(--cols-default)}@media (min-width:40rem){.fi-grid.fi-grid-direction-col.sm\:fi-grid-cols{columns:var(--cols-sm)}}@media (min-width:48rem){.fi-grid.fi-grid-direction-col.md\:fi-grid-cols{columns:var(--cols-md)}}@media (min-width:64rem){.fi-grid.fi-grid-direction-col.lg\:fi-grid-cols{columns:var(--cols-lg)}}@media (min-width:80rem){.fi-grid.fi-grid-direction-col.xl\:fi-grid-cols{columns:var(--cols-xl)}}@media (min-width:96rem){.fi-grid.fi-grid-direction-col.\32 xl\:fi-grid-cols{columns:var(--cols-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid.fi-grid-direction-col.\@3xs\:fi-grid-cols{columns:var(--cols-c3xs)}}@container (min-width:18rem){.fi-grid.fi-grid-direction-col.\@2xs\:fi-grid-cols{columns:var(--cols-c2xs)}}@container (min-width:20rem){.fi-grid.fi-grid-direction-col.\@xs\:fi-grid-cols{columns:var(--cols-cxs)}}@container (min-width:24rem){.fi-grid.fi-grid-direction-col.\@sm\:fi-grid-cols{columns:var(--cols-csm)}}@container (min-width:28rem){.fi-grid.fi-grid-direction-col.\@md\:fi-grid-cols{columns:var(--cols-cmd)}}@container (min-width:32rem){.fi-grid.fi-grid-direction-col.\@lg\:fi-grid-cols{columns:var(--cols-clg)}}@container (min-width:36rem){.fi-grid.fi-grid-direction-col.\@xl\:fi-grid-cols{columns:var(--cols-cxl)}}@container (min-width:42rem){.fi-grid.fi-grid-direction-col.\@2xl\:fi-grid-cols{columns:var(--cols-c2xl)}}@container (min-width:48rem){.fi-grid.fi-grid-direction-col.\@3xl\:fi-grid-cols{columns:var(--cols-c3xl)}}@container (min-width:56rem){.fi-grid.fi-grid-direction-col.\@4xl\:fi-grid-cols{columns:var(--cols-c4xl)}}@container (min-width:64rem){.fi-grid.fi-grid-direction-col.\@5xl\:fi-grid-cols{columns:var(--cols-c5xl)}}@container (min-width:72rem){.fi-grid.fi-grid-direction-col.\@6xl\:fi-grid-cols{columns:var(--cols-c6xl)}}@container (min-width:80rem){.fi-grid.fi-grid-direction-col.\@7xl\:fi-grid-cols{columns:var(--cols-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid.fi-grid-direction-col.\!\@sm\:fi-grid-cols{columns:var(--cols-ncsm)}}@media (min-width:48rem){.fi-grid.fi-grid-direction-col.\!\@md\:fi-grid-cols{columns:var(--cols-ncmd)}}@media (min-width:64rem){.fi-grid.fi-grid-direction-col.\!\@lg\:fi-grid-cols{columns:var(--cols-nclg)}}@media (min-width:80rem){.fi-grid.fi-grid-direction-col.\!\@xl\:fi-grid-cols{columns:var(--cols-ncxl)}}@media (min-width:96rem){.fi-grid.fi-grid-direction-col.\!\@2xl\:fi-grid-cols{columns:var(--cols-nc2xl)}}}@supports (container-type:inline-size){.fi-grid-ctn{container-type:inline-size}}.fi-grid-col{grid-column:var(--col-span-default)}@media (min-width:40rem){.fi-grid-col.sm\:fi-grid-col-span{grid-column:var(--col-span-sm)}}@media (min-width:48rem){.fi-grid-col.md\:fi-grid-col-span{grid-column:var(--col-span-md)}}@media (min-width:64rem){.fi-grid-col.lg\:fi-grid-col-span{grid-column:var(--col-span-lg)}}@media (min-width:80rem){.fi-grid-col.xl\:fi-grid-col-span{grid-column:var(--col-span-xl)}}@media (min-width:96rem){.fi-grid-col.\32 xl\:fi-grid-col-span{grid-column:var(--col-span-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid-col.\@3xs\:fi-grid-col-span{grid-column:var(--col-span-c3xs)}}@container (min-width:18rem){.fi-grid-col.\@2xs\:fi-grid-col-span{grid-column:var(--col-span-c2xs)}}@container (min-width:20rem){.fi-grid-col.\@xs\:fi-grid-col-span{grid-column:var(--col-span-cxs)}}@container (min-width:24rem){.fi-grid-col.\@sm\:fi-grid-col-span{grid-column:var(--col-span-csm)}}@container (min-width:28rem){.fi-grid-col.\@md\:fi-grid-col-span{grid-column:var(--col-span-cmd)}}@container (min-width:32rem){.fi-grid-col.\@lg\:fi-grid-col-span{grid-column:var(--col-span-clg)}}@container (min-width:36rem){.fi-grid-col.\@xl\:fi-grid-col-span{grid-column:var(--col-span-cxl)}}@container (min-width:42rem){.fi-grid-col.\@2xl\:fi-grid-col-span{grid-column:var(--col-span-c2xl)}}@container (min-width:48rem){.fi-grid-col.\@3xl\:fi-grid-col-span{grid-column:var(--col-span-c3xl)}}@container (min-width:56rem){.fi-grid-col.\@4xl\:fi-grid-col-span{grid-column:var(--col-span-c4xl)}}@container (min-width:64rem){.fi-grid-col.\@5xl\:fi-grid-col-span{grid-column:var(--col-span-c5xl)}}@container (min-width:72rem){.fi-grid-col.\@6xl\:fi-grid-col-span{grid-column:var(--col-span-c6xl)}}@container (min-width:80rem){.fi-grid-col.\@7xl\:fi-grid-col-span{grid-column:var(--col-span-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid-col.\!\@sm\:fi-grid-col-span{grid-column:var(--col-span-ncsm)}}@media (min-width:48rem){.fi-grid-col.\!\@md\:fi-grid-col-span{grid-column:var(--col-span-ncmd)}}@media (min-width:64rem){.fi-grid-col.\!\@lg\:fi-grid-col-span{grid-column:var(--col-span-nclg)}}@media (min-width:80rem){.fi-grid-col.\!\@xl\:fi-grid-col-span{grid-column:var(--col-span-ncxl)}}@media (min-width:96rem){.fi-grid-col.\!\@2xl\:fi-grid-col-span{grid-column:var(--col-span-nc2xl)}}}.fi-grid-col.fi-grid-col-start{grid-column-start:var(--col-start-default)}@media (min-width:40rem){.fi-grid-col.sm\:fi-grid-col-start{grid-column-start:var(--col-start-sm)}}@media (min-width:48rem){.fi-grid-col.md\:fi-grid-col-start{grid-column-start:var(--col-start-md)}}@media (min-width:64rem){.fi-grid-col.lg\:fi-grid-col-start{grid-column-start:var(--col-start-lg)}}@media (min-width:80rem){.fi-grid-col.xl\:fi-grid-col-start{grid-column-start:var(--col-start-xl)}}@media (min-width:96rem){.fi-grid-col.\32 xl\:fi-grid-col-start{grid-column-start:var(--col-start-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid-col.\@3xs\:fi-grid-col-start{grid-column-start:var(--col-start-c3xs)}}@container (min-width:18rem){.fi-grid-col.\@2xs\:fi-grid-col-start{grid-column-start:var(--col-start-c2xs)}}@container (min-width:20rem){.fi-grid-col.\@xs\:fi-grid-col-start{grid-column-start:var(--col-start-cxs)}}@container (min-width:24rem){.fi-grid-col.\@sm\:fi-grid-col-start{grid-column-start:var(--col-start-csm)}}@container (min-width:28rem){.fi-grid-col.\@md\:fi-grid-col-start{grid-column-start:var(--col-start-cmd)}}@container (min-width:32rem){.fi-grid-col.\@lg\:fi-grid-col-start{grid-column-start:var(--col-start-clg)}}@container (min-width:36rem){.fi-grid-col.\@xl\:fi-grid-col-start{grid-column-start:var(--col-start-cxl)}}@container (min-width:42rem){.fi-grid-col.\@2xl\:fi-grid-col-start{grid-column-start:var(--col-start-c2xl)}}@container (min-width:48rem){.fi-grid-col.\@3xl\:fi-grid-col-start{grid-column-start:var(--col-start-c3xl)}}@container (min-width:56rem){.fi-grid-col.\@4xl\:fi-grid-col-start{grid-column-start:var(--col-start-c4xl)}}@container (min-width:64rem){.fi-grid-col.\@5xl\:fi-grid-col-start{grid-column-start:var(--col-start-c5xl)}}@container (min-width:72rem){.fi-grid-col.\@6xl\:fi-grid-col-start{grid-column-start:var(--col-start-c6xl)}}@container (min-width:80rem){.fi-grid-col.\@7xl\:fi-grid-col-start{grid-column-start:var(--col-start-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid-col.\!\@sm\:fi-grid-col-start{grid-column-start:var(--col-start-ncsm)}}@media (min-width:48rem){.fi-grid-col.\!\@md\:fi-grid-col-start{grid-column-start:var(--col-start-ncmd)}}@media (min-width:64rem){.fi-grid-col.\!\@lg\:fi-grid-col-start{grid-column-start:var(--col-start-nclg)}}@media (min-width:80rem){.fi-grid-col.\!\@xl\:fi-grid-col-start{grid-column-start:var(--col-start-ncxl)}}@media (min-width:96rem){.fi-grid-col.\!\@2xl\:fi-grid-col-start{grid-column-start:var(--col-start-nc2xl)}}}.fi-grid-col.fi-grid-col-order{order:var(--col-order-default)}@media (min-width:40rem){.fi-grid-col.sm\:fi-grid-col-order{order:var(--col-order-sm)}}@media (min-width:48rem){.fi-grid-col.md\:fi-grid-col-order{order:var(--col-order-md)}}@media (min-width:64rem){.fi-grid-col.lg\:fi-grid-col-order{order:var(--col-order-lg)}}@media (min-width:80rem){.fi-grid-col.xl\:fi-grid-col-order{order:var(--col-order-xl)}}@media (min-width:96rem){.fi-grid-col.\32 xl\:fi-grid-col-order{order:var(--col-order-2xl)}}@supports (container-type:inline-size){@container (min-width:16rem){.fi-grid-col.\@3xs\:fi-grid-col-order{order:var(--col-order-c3xs)}}@container (min-width:18rem){.fi-grid-col.\@2xs\:fi-grid-col-order{order:var(--col-order-c2xs)}}@container (min-width:20rem){.fi-grid-col.\@xs\:fi-grid-col-order{order:var(--col-order-cxs)}}@container (min-width:24rem){.fi-grid-col.\@sm\:fi-grid-col-order{order:var(--col-order-csm)}}@container (min-width:28rem){.fi-grid-col.\@md\:fi-grid-col-order{order:var(--col-order-cmd)}}@container (min-width:32rem){.fi-grid-col.\@lg\:fi-grid-col-order{order:var(--col-order-clg)}}@container (min-width:36rem){.fi-grid-col.\@xl\:fi-grid-col-order{order:var(--col-order-cxl)}}@container (min-width:42rem){.fi-grid-col.\@2xl\:fi-grid-col-order{order:var(--col-order-c2xl)}}@container (min-width:48rem){.fi-grid-col.\@3xl\:fi-grid-col-order{order:var(--col-order-c3xl)}}@container (min-width:56rem){.fi-grid-col.\@4xl\:fi-grid-col-order{order:var(--col-order-c4xl)}}@container (min-width:64rem){.fi-grid-col.\@5xl\:fi-grid-col-order{order:var(--col-order-c5xl)}}@container (min-width:72rem){.fi-grid-col.\@6xl\:fi-grid-col-order{order:var(--col-order-c6xl)}}@container (min-width:80rem){.fi-grid-col.\@7xl\:fi-grid-col-order{order:var(--col-order-c7xl)}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-grid-col.\!\@sm\:fi-grid-col-order{order:var(--col-order-ncsm)}}@media (min-width:48rem){.fi-grid-col.\!\@md\:fi-grid-col-order{order:var(--col-order-ncmd)}}@media (min-width:64rem){.fi-grid-col.\!\@lg\:fi-grid-col-order{order:var(--col-order-nclg)}}@media (min-width:80rem){.fi-grid-col.\!\@xl\:fi-grid-col-order{order:var(--col-order-ncxl)}}@media (min-width:96rem){.fi-grid-col.\!\@2xl\:fi-grid-col-order{order:var(--col-order-nc2xl)}}}.fi-grid-col.fi-hidden{display:none}.fi-icon{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.fi-icon.fi-size-xs{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.fi-icon.fi-size-sm{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.fi-icon.fi-size-md{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.fi-icon.fi-size-lg{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.fi-icon.fi-size-xl{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.fi-icon.fi-size-2xl{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.fi-icon>svg{height:inherit;width:inherit}.fi-icon-btn{margin:calc(var(--spacing)*-2);width:calc(var(--spacing)*9);height:calc(var(--spacing)*9);border-radius:var(--radius-lg);color:var(--gray-500);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;justify-content:center;align-items:center;transition-duration:75ms;display:flex;position:relative}.fi-icon-btn:where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){:is(.fi-icon-btn.fi-force-enabled,.fi-icon-btn:not(.fi-disabled):not([disabled])):hover{color:var(--gray-600)}}:is(.fi-icon-btn.fi-force-enabled,.fi-icon-btn:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}@media (hover:hover){:is(.fi-icon-btn.fi-force-enabled,.fi-icon-btn:not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{color:var(--gray-400)}}:is(.fi-icon-btn.fi-force-enabled,.fi-icon-btn:not(.fi-disabled):not([disabled])):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--primary-500)}.fi-icon-btn.fi-disabled:not(.fi-force-enabled),.fi-icon-btn[disabled]:not(.fi-force-enabled){cursor:default;opacity:.7}:is(.fi-icon-btn.fi-disabled:not(.fi-force-enabled),.fi-icon-btn[disabled]:not(.fi-force-enabled)):not([x-tooltip]){pointer-events:none}.fi-icon-btn.fi-size-xs{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.fi-icon-btn.fi-size-xs:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-1.5)}.fi-icon-btn.fi-size-xs:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-1)}.fi-icon-btn.fi-size-xs:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-.5)}.fi-icon-btn.fi-size-sm{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.fi-icon-btn.fi-size-sm:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-2)}.fi-icon-btn.fi-size-sm:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-1.5)}.fi-icon-btn.fi-size-sm:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-1)}.fi-icon-btn.fi-size-md:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-2.5)}.fi-icon-btn.fi-size-md:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-1.5)}.fi-icon-btn.fi-size-lg{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.fi-icon-btn.fi-size-lg:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-3)}.fi-icon-btn.fi-size-lg:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-2.5)}.fi-icon-btn.fi-size-lg:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-2)}.fi-icon-btn.fi-size-xl{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.fi-icon-btn.fi-size-xl:has(.fi-icon.fi-size-sm){margin:calc(var(--spacing)*-3.5)}.fi-icon-btn.fi-size-xl:has(.fi-icon.fi-size-md){margin:calc(var(--spacing)*-3)}.fi-icon-btn.fi-size-xl:has(.fi-icon.fi-size-lg){margin:calc(var(--spacing)*-2.5)}.fi-icon-btn.fi-color{color:var(--text)}.fi-icon-btn.fi-color:where(.dark,.dark *){color:var(--dark-text)}@media (hover:hover){:is(.fi-icon-btn.fi-color.fi-force-enabled,.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled])):hover{color:var(--hover-text)}}:is(.fi-icon-btn.fi-color.fi-force-enabled,.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled])):focus-visible{--tw-ring-color:var(--color-600)}@media (hover:hover){:is(.fi-icon-btn.fi-color.fi-force-enabled,.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):hover{color:var(--dark-hover-text)}}:is(.fi-icon-btn.fi-color.fi-force-enabled,.fi-icon-btn.fi-color:not(.fi-disabled):not([disabled])):where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-500)}.fi-icon-btn>.fi-icon-btn-badge-ctn{inset-inline-start:100%;top:calc(var(--spacing)*1);z-index:1;--tw-translate-x:calc(calc(1/2*100%)*-1);--tw-translate-y:calc(calc(1/2*100%)*-1);width:max-content;translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-md);background-color:var(--color-white);display:flex;position:absolute}.fi-icon-btn>.fi-icon-btn-badge-ctn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1/2*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-icon-btn>.fi-icon-btn-badge-ctn:where(.dark,.dark *){background-color:var(--gray-900)}@media (min-width:40rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-sm){display:none}}@media (min-width:48rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-md){display:none}}@media (min-width:64rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-lg){display:none}}@media (min-width:80rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-xl){display:none}}@media (min-width:96rem){.fi-icon-btn:has(+.fi-btn.fi-labeled-from-2xl){display:none}}input[type=checkbox].fi-checkbox-input{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);appearance:none;--tw-border-style:none;background-color:var(--color-white);vertical-align:middle;color:var(--primary-600);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);border-style:none;border-radius:.25rem}input[type=checkbox].fi-checkbox-input:checked{background-color:var(--primary-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input[type=checkbox].fi-checkbox-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}input[type=checkbox].fi-checkbox-input:checked:focus{--tw-ring-color:var(--primary-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input:disabled{pointer-events:none;background-color:var(--gray-50);color:var(--gray-50)}input[type=checkbox].fi-checkbox-input:disabled:checked{background-color:var(--gray-400);color:var(--gray-400)}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){color:var(--primary-500);--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):checked{background-color:var(--primary-500)}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):focus{--tw-ring-color:var(--primary-500)}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-400)50%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):disabled{--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):disabled{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}input[type=checkbox].fi-checkbox-input:where(.dark,.dark *):disabled:checked{background-color:var(--gray-600)}input[type=checkbox].fi-checkbox-input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}input[type=checkbox].fi-checkbox-input:indeterminate{background-color:var(--primary-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input[type=checkbox].fi-checkbox-input:indeterminate:where(.dark,.dark *){background-color:var(--primary-500)}input[type=checkbox].fi-checkbox-input:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 6.75a1.25 1.25 0 0 0 0 2.5h7a1.25 1.25 0 0 0 0-2.5h-7z'/%3E%3C/svg%3E")}input[type=checkbox].fi-checkbox-input:indeterminate:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:indeterminate:focus{--tw-ring-color:color-mix(in oklab,var(--primary-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--primary-400)50%,transparent)}}input[type=checkbox].fi-checkbox-input:indeterminate:disabled{background-color:var(--gray-400)}input[type=checkbox].fi-checkbox-input:indeterminate:disabled:where(.dark,.dark *){background-color:var(--gray-600)}input[type=checkbox].fi-checkbox-input.fi-invalid{color:var(--danger-600);--tw-ring-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:checked{background-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:focus{--tw-ring-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:checked:focus{--tw-ring-color:var(--danger-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *){color:var(--danger-500);--tw-ring-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):checked{background-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):focus{--tw-ring-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--danger-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-400)50%,transparent)}}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate{background-color:var(--danger-600)}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:where(.dark,.dark *){background-color:var(--danger-500)}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus{--tw-ring-color:var(--danger-500)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus{--tw-ring-color:color-mix(in oklab,var(--danger-500)50%,transparent)}}input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:var(--danger-400)}@supports (color:color-mix(in lab, red, red)){input[type=checkbox].fi-checkbox-input.fi-invalid:indeterminate:focus:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--danger-400)50%,transparent)}}input.fi-input{appearance:none;--tw-border-style:none;width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;background-color:#0000;border-style:none;transition-duration:75ms;display:block}input.fi-input::placeholder{color:var(--gray-400)}input.fi-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}input.fi-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}input.fi-input:disabled::placeholder{-webkit-text-fill-color:var(--color-gray-400)}input.fi-input:where(.dark,.dark *){color:var(--color-white)}input.fi-input:where(.dark,.dark *)::placeholder{color:var(--gray-500)}input.fi-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}input.fi-input:where(.dark,.dark *):disabled::placeholder{-webkit-text-fill-color:var(--color-gray-500)}@supports (-webkit-touch-callout:none){input.fi-input{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}input.fi-input.fi-input-has-inline-prefix{padding-inline-start:calc(var(--spacing)*0)}input.fi-input.fi-input-has-inline-suffix{padding-inline-end:calc(var(--spacing)*0)}input.fi-input.fi-align-center{text-align:center}input.fi-input.fi-align-end{text-align:end}input.fi-input.fi-align-left{text-align:left}input.fi-input.fi-align-right{text-align:end}input.fi-input.fi-align-justify,input.fi-input.fi-align-between{text-align:justify}input[type=date].fi-input,input[type=datetime-local].fi-input,input[type=time].fi-input{background-color:#ffffff03}@supports (color:color-mix(in lab, red, red)){input[type=date].fi-input,input[type=datetime-local].fi-input,input[type=time].fi-input{background-color:color-mix(in oklab,var(--color-white)1%,transparent)}}input[type=range].fi-input{appearance:auto;width:calc(100% - 1.5rem);margin-inline:auto}input[type=text].fi-one-time-code-input{inset-block:calc(var(--spacing)*0);right:calc(var(--spacing)*-8);left:calc(var(--spacing)*0);--tw-border-style:none;padding-inline:calc(var(--spacing)*3);font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--tw-tracking:1.72rem;letter-spacing:1.72rem;color:var(--gray-950);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;background-color:#0000;border-style:none;transition-duration:75ms;display:block;position:absolute}input[type=text].fi-one-time-code-input::placeholder{color:var(--gray-400)}input[type=text].fi-one-time-code-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}input[type=text].fi-one-time-code-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}input[type=text].fi-one-time-code-input:disabled::placeholder{-webkit-text-fill-color:var(--color-gray-400)}input[type=text].fi-one-time-code-input:where(.dark,.dark *){color:var(--color-white)}input[type=text].fi-one-time-code-input:where(.dark,.dark *)::placeholder{color:var(--gray-500)}input[type=text].fi-one-time-code-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}input[type=text].fi-one-time-code-input:where(.dark,.dark *):disabled::placeholder{-webkit-text-fill-color:var(--color-gray-500)}input[type=text].fi-one-time-code-input.fi-valid{caret-color:#0000}.fi-one-time-code-input-ctn{height:calc(var(--spacing)*12);position:relative}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field{height:100%;width:calc(var(--spacing)*8);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950);display:inline-block}@supports (color:color-mix(in lab, red, red)){.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field{border-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field{background-color:var(--color-white)}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field.fi-active{border-style:var(--tw-border-style);border-width:2px;border-color:var(--primary-600)}.fi-one-time-code-input-ctn>.fi-one-time-code-input-digit-field.fi-active:where(.dark,.dark *){border-color:var(--primary-500)}input[type=radio].fi-radio-input{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);appearance:none;--tw-border-style:none;background-color:var(--color-white);color:var(--primary-600);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);border-style:none;border-radius:3.40282e38px}input[type=radio].fi-radio-input:checked{background-color:var(--primary-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input[type=radio].fi-radio-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600);--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-outline-style:none;outline-style:none}input[type=radio].fi-radio-input:checked:focus{--tw-ring-color:var(--primary-500)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-500)50%,transparent)}}input[type=radio].fi-radio-input:disabled{background-color:var(--gray-50);color:var(--gray-50)}input[type=radio].fi-radio-input:disabled:checked{background-color:var(--gray-400);color:var(--gray-400)}input[type=radio].fi-radio-input:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *){color:var(--primary-500);--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *):checked{background-color:var(--primary-500)}input[type=radio].fi-radio-input:where(.dark,.dark *):focus{--tw-ring-color:var(--primary-500)}input[type=radio].fi-radio-input:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--primary-400)50%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *):disabled{--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input:where(.dark,.dark *):disabled{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}input[type=radio].fi-radio-input:where(.dark,.dark *):disabled:checked{background-color:var(--gray-600)}input[type=radio].fi-radio-input:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}input[type=radio].fi-radio-input.fi-invalid{color:var(--danger-600);--tw-ring-color:var(--danger-600)}input[type=radio].fi-radio-input.fi-invalid:checked{background-color:var(--danger-600)}input[type=radio].fi-radio-input.fi-invalid:focus{--tw-ring-color:var(--danger-600)}input[type=radio].fi-radio-input.fi-invalid:checked:focus{--tw-ring-color:var(--danger-500)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input.fi-invalid:checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-500)50%,transparent)}}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *){color:var(--danger-500);--tw-ring-color:var(--danger-500)}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):checked{background-color:var(--danger-500)}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):focus{--tw-ring-color:var(--danger-500)}input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:var(--danger-400)}@supports (color:color-mix(in lab, red, red)){input[type=radio].fi-radio-input.fi-invalid:where(.dark,.dark *):checked:focus{--tw-ring-color:color-mix(in oklab,var(--danger-400)50%,transparent)}}select.fi-select-input{appearance:none;--tw-border-style:none;width:100%;padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;background-color:#0000;border-style:none;padding-inline-start:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*8);transition-duration:75ms;display:block}select.fi-select-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}select.fi-select-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}select.fi-select-input:where(.dark,.dark *){color:var(--color-white)}select.fi-select-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}select.fi-select-input optgroup{background-color:var(--color-white)}select.fi-select-input optgroup:where(.dark,.dark *){background-color:var(--gray-900)}select.fi-select-input option{background-color:var(--color-white)}select.fi-select-input option:where(.dark,.dark *){background-color:var(--gray-900)}@supports (-webkit-touch-callout:none){select.fi-select-input{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}select.fi-select-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}select.fi-select-input:where(:dir(rtl),[dir=rtl],[dir=rtl] *){background-position:.5rem}select.fi-select-input.fi-select-input-has-inline-prefix{padding-inline-start:calc(var(--spacing)*0)}.fi-select-input .fi-select-input-ctn{position:relative}.fi-select-input div[x-ref=select]{min-height:calc(var(--spacing)*9)}.fi-select-input .fi-select-input-btn{min-height:calc(var(--spacing)*9);border-radius:var(--radius-lg);width:100%;padding-block:calc(var(--spacing)*1.5);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);padding-inline-start:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*8);display:flex}.fi-select-input .fi-select-input-btn:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}.fi-select-input .fi-select-input-btn:where(.dark,.dark *){color:var(--color-white)}.fi-select-input .fi-select-input-btn{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.fi-select-input .fi-select-input-btn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){background-position:.5rem}.fi-select-input .fi-select-input-value-ctn{text-wrap:wrap;word-break:break-word;align-items:center;width:100%;display:flex}.fi-select-input .fi-select-input-value-badges-ctn{gap:calc(var(--spacing)*1.5);flex-wrap:wrap;display:flex}.fi-select-input .fi-select-input-value-label{flex:1}.fi-select-input .fi-select-input-value-remove-btn{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);color:var(--gray-500);inset-inline-end:calc(var(--spacing)*8);position:absolute;top:50%}@media (hover:hover){.fi-select-input .fi-select-input-value-remove-btn:hover{color:var(--gray-600)}}.fi-select-input .fi-select-input-value-remove-btn:focus-visible{color:var(--gray-600);--tw-outline-style:none;outline-style:none}@media (hover:hover){.fi-select-input .fi-select-input-value-remove-btn:where(.dark,.dark *):hover{color:var(--gray-300)}}.fi-select-input .fi-select-input-value-remove-btn:where(.dark,.dark *):focus-visible{color:var(--gray-300)}.fi-select-input .fi-select-input-ctn-clearable .fi-select-input-btn{padding-inline-end:calc(var(--spacing)*14)}.fi-select-input .fi-dropdown-panel{max-height:calc(var(--spacing)*60);max-width:100%!important}:where(.fi-select-input .fi-select-input-options-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-100)}:where(.fi-select-input .fi-select-input-options-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-select-input .fi-select-input-options-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-select-input .fi-select-input-option-group>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-100)}:where(.fi-select-input .fi-select-input-option-group:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-select-input .fi-select-input-option-group:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-select-input .fi-select-input-option-group .fi-dropdown-header{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-select-input .fi-select-input-option-group .fi-dropdown-header:where(.dark,.dark *){color:var(--gray-400)}.fi-select-input .fi-select-input-search-ctn{top:calc(var(--spacing)*0);z-index:10;background-color:var(--color-white);position:sticky}.fi-select-input .fi-select-input-search-ctn:where(.dark,.dark *){background-color:var(--gray-900)}.fi-select-input .fi-select-input-option{text-wrap:wrap;word-break:break-word;min-width:1px}.fi-select-input .fi-select-input-placeholder{color:var(--gray-400)}.fi-select-input .fi-select-input-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-select-input .fi-disabled{cursor:not-allowed;opacity:.7}.fi-select-input .fi-disabled .fi-select-input-placeholder{color:var(--gray-400)}.fi-select-input .fi-disabled .fi-select-input-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-select-input .fi-select-input-message{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-select-input .fi-select-input-message:where(.dark,.dark *){color:var(--gray-400)}.fi-select-input .fi-select-input-ctn.fi-select-input-ctn-option-labels-not-wrapped .fi-select-input-value-ctn>span{text-overflow:ellipsis;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;word-break:normal;overflow:hidden}.fi-select-input .fi-select-input-ctn.fi-select-input-ctn-option-labels-not-wrapped .fi-select-input-option>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-input-wrp{border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms;display:flex}.fi-input-wrp:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-input-wrp:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):where(.dark,.dark *):focus-within{--tw-ring-color:var(--primary-500)}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)).fi-invalid:focus-within{--tw-ring-color:var(--danger-600)}.fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)).fi-invalid:where(.dark,.dark *):focus-within{--tw-ring-color:var(--danger-500)}.fi-input-wrp.fi-disabled{background-color:var(--gray-50)}.fi-input-wrp.fi-disabled:where(.dark,.dark *){background-color:#0000}.fi-input-wrp.fi-disabled:not(.fi-invalid):where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp.fi-disabled:not(.fi-invalid):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-input-wrp.fi-invalid{--tw-ring-color:var(--danger-600)}.fi-input-wrp.fi-invalid:where(.dark,.dark *){--tw-ring-color:var(--danger-500)}.fi-input-wrp .fi-input-wrp-prefix{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline-start:calc(var(--spacing)*3);display:none}.fi-input-wrp .fi-input-wrp-prefix.fi-input-wrp-prefix-has-content{display:flex}.fi-input-wrp .fi-input-wrp-prefix.fi-inline{padding-inline-end:calc(var(--spacing)*2)}.fi-input-wrp .fi-input-wrp-prefix.fi-inline.fi-input-wrp-prefix-has-label{padding-inline-end:calc(var(--spacing)*1)}.fi-input-wrp .fi-input-wrp-prefix:not(.fi-inline){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-color:var(--gray-200);padding-inline-start:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*3)}.fi-input-wrp .fi-input-wrp-prefix:not(.fi-inline):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp .fi-input-wrp-prefix:not(.fi-inline):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-input-wrp .fi-input-wrp-content-ctn,.fi-input-wrp:not(:has(.fi-input-wrp-content-ctn))>*{min-width:calc(var(--spacing)*0);flex:1}:is(.fi-input-wrp .fi-input-wrp-content-ctn,.fi-input-wrp:not(:has(.fi-input-wrp-content-ctn))>*).fi-input-wrp-content-ctn-ps{padding-inline-start:calc(var(--spacing)*3)}.fi-input-wrp .fi-input-wrp-suffix{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*3);display:flex}.fi-input-wrp .fi-input-wrp-suffix.fi-inline{padding-inline-start:calc(var(--spacing)*2)}.fi-input-wrp .fi-input-wrp-suffix.fi-inline.fi-input-wrp-suffix-has-label{padding-inline-start:calc(var(--spacing)*1)}.fi-input-wrp .fi-input-wrp-suffix:not(.fi-inline){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--gray-200);padding-inline-start:calc(var(--spacing)*3)}.fi-input-wrp .fi-input-wrp-suffix:not(.fi-inline):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-input-wrp .fi-input-wrp-suffix:not(.fi-inline):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-input-wrp .fi-input-wrp-actions{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fi-input-wrp .fi-input-wrp-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;color:var(--gray-500)}.fi-input-wrp .fi-input-wrp-label:where(.dark,.dark *),:is(.fi-input-wrp .fi-input-wrp-prefix,.fi-input-wrp .fi-input-wrp-suffix)>.fi-icon{color:var(--gray-400)}:is(.fi-input-wrp .fi-input-wrp-prefix,.fi-input-wrp .fi-input-wrp-suffix)>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}:is(.fi-input-wrp .fi-input-wrp-prefix,.fi-input-wrp .fi-input-wrp-suffix)>.fi-icon.fi-color{color:var(--color-500)}.fi-link{justify-content:center;align-items:center;gap:calc(var(--spacing)*1.5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);--tw-outline-style:none;outline-style:none;display:inline-flex;position:relative}.fi-link:where(.dark,.dark *){color:var(--gray-200)}@media (hover:hover){:is(.fi-link.fi-force-enabled,.fi-link:not(.fi-disabled):not([disabled])):hover{text-decoration-line:underline}}:is(.fi-link.fi-force-enabled,.fi-link:not(.fi-disabled):not([disabled])):focus-visible{text-decoration-line:underline}.fi-link.fi-disabled:not(.fi-force-enabled),.fi-link[disabled]:not(.fi-force-enabled){cursor:default;opacity:.7}:is(.fi-link.fi-disabled:not(.fi-force-enabled),.fi-link[disabled]:not(.fi-force-enabled)):not([x-tooltip]){pointer-events:none}.fi-link.fi-size-xs{gap:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-link.fi-size-sm{gap:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-link.fi-size-md,.fi-link.fi-size-lg,.fi-link.fi-size-xl{gap:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-link.fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-link.fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-link.fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-link.fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-link.fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-link.fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-link.fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-link.fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-link.fi-color{color:var(--text)}.fi-link.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-link:not(.fi-color)>.fi-icon{color:var(--gray-400)}.fi-link:not(.fi-color)>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-link .fi-link-badge-ctn{inset-inline-start:100%;top:calc(var(--spacing)*0);z-index:1;--tw-translate-x:calc(calc(1/4*100%)*-1);--tw-translate-y:calc(calc(3/4*100%)*-1);width:max-content;translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-md);background-color:var(--color-white);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);display:flex;position:absolute}@media (hover:hover){.fi-link .fi-link-badge-ctn:hover{text-decoration-line:none}}.fi-link .fi-link-badge-ctn:focus-visible{text-decoration-line:none}.fi-link .fi-link-badge-ctn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1/4*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-link .fi-link-badge-ctn:where(.dark,.dark *){background-color:var(--gray-900)}p>.fi-link,span>.fi-link{vertical-align:middle;text-align:inherit;padding-bottom:2px}.fi-loading-indicator{animation:var(--animate-spin)}.fi-loading-section{animation:var(--animate-pulse)}:is(.fi-modal.fi-modal-slide-over,.fi-modal.fi-width-screen)>.fi-modal-window-ctn>.fi-modal-window{height:100dvh}:is(.fi-modal.fi-modal-slide-over,.fi-modal.fi-width-screen)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content{flex:1}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window{margin-inline-start:auto;overflow-y:auto}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-start,.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-end{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}:is(.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-start,.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-end):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-end,.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-start{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header{column-gap:calc(var(--spacing)*3)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg{margin-block:calc(var(--spacing)*-2);padding:calc(var(--spacing)*2);margin-inline-start:calc(var(--spacing)*-2)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window .fi-modal-close-btn{inset-inline-end:calc(var(--spacing)*6);top:calc(var(--spacing)*6)}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen):not(.fi-modal-has-sticky-header):not(.fi-modal-has-sticky-footer)>.fi-modal-window-ctn{overflow-y:auto}:is(.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen).fi-modal-has-sticky-header,.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen).fi-modal-has-sticky-footer)>.fi-modal-window-ctn>.fi-modal-window{max-height:calc(100dvh - 2rem);overflow-y:auto}.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-start,.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-end{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y);opacity:0}.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter-end,.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave-start{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y);opacity:1}.fi-modal:not(.fi-modal-slide-over)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-close-btn{inset-inline-end:calc(var(--spacing)*4);top:calc(var(--spacing)*4)}.fi-modal.fi-align-start:not(.fi-modal-has-sticky-header)>.fi-modal-window-ctn>.fi-modal-window-has-icon .fi-modal-content,.fi-modal.fi-align-start:not(.fi-modal-has-sticky-header)>.fi-modal-window-ctn>.fi-modal-window-has-icon .fi-modal-footer:not(.fi-align-center){padding-inline-start:5.25rem;padding-inline-end:calc(var(--spacing)*6)}.fi-modal:not(.fi-align-start)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content,.fi-modal:not(.fi-align-start)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer{padding-inline:calc(var(--spacing)*6)}.fi-modal>.fi-modal-close-overlay{inset:calc(var(--spacing)*0);z-index:40;background-color:var(--gray-950);position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-close-overlay{background-color:color-mix(in oklab,var(--gray-950)50%,transparent)}}.fi-modal>.fi-modal-close-overlay:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-close-overlay:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}.fi-modal>.fi-modal-window-ctn{inset:calc(var(--spacing)*0);z-index:40;grid-template-rows:1fr auto 1fr;justify-items:center;min-height:100%;display:grid;position:fixed}@media (min-width:40rem){.fi-modal>.fi-modal-window-ctn{grid-template-rows:1fr auto 3fr}}.fi-modal>.fi-modal-window-ctn.fi-clickable{cursor:pointer}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn{padding:calc(var(--spacing)*4)}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen)>.fi-modal-window-ctn .fi-modal-window{border-radius:var(--radius-xl);margin-inline:auto}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen).fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-header{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.fi-modal:not(.fi-modal-slide-over):not(.fi-width-screen).fi-modal-has-sticky-footer>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-footer{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window{pointer-events:auto;cursor:default;background-color:var(--color-white);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);width:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);flex-direction:column;grid-row-start:2;display:flex;position:relative}.fi-modal>.fi-modal-window-ctn>.fi-modal-window:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header{padding-inline:calc(var(--spacing)*6);padding-top:calc(var(--spacing)*6);display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-header.fi-vertical-align-center{align-items:center}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-heading:where(.dark,.dark *){color:var(--color-white)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-description{margin-top:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-description:where(.dark,.dark *){color:var(--gray-400)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content{row-gap:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*6);flex-direction:column;display:flex}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-left) .fi-modal-header{column-gap:calc(var(--spacing)*5)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-left) .fi-modal-icon-bg{padding:calc(var(--spacing)*2)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-center .fi-modal-header{text-align:center;flex-direction:column}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-center .fi-modal-icon-ctn{margin-bottom:calc(var(--spacing)*5);justify-content:center;align-items:center;display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-align-center .fi-modal-icon-bg{padding:calc(var(--spacing)*3)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-hidden{display:none}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-xs{max-width:var(--container-xs)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-sm{max-width:var(--container-sm)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-md{max-width:var(--container-md)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-lg{max-width:var(--container-lg)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-xl{max-width:var(--container-xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-2xl{max-width:var(--container-2xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-3xl{max-width:var(--container-3xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-4xl{max-width:var(--container-4xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-5xl{max-width:var(--container-5xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-6xl{max-width:var(--container-6xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-7xl{max-width:var(--container-7xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-full{max-width:100%}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-min{max-width:min-content}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-max{max-width:max-content}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-fit{max-width:fit-content}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-prose{max-width:65ch}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-sm{max-width:var(--breakpoint-sm)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-md{max-width:var(--breakpoint-md)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-lg{max-width:var(--breakpoint-lg)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-xl{max-width:var(--breakpoint-xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen-2xl{max-width:var(--breakpoint-2xl)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-width-screen{inset:calc(var(--spacing)*0);position:fixed}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-transition-enter,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-transition-leave{--tw-duration:.3s;transition-duration:.3s}.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn.fi-align-center:not(.fi-modal-window-has-icon) .fi-modal-heading{margin-inline-start:calc(var(--spacing)*6)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn:not(.fi-modal-window-has-icon),.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-close-btn.fi-align-left) .fi-modal-heading{margin-inline-end:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-close-btn{position:absolute}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer{width:100%}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer .fi-modal-footer-actions{gap:calc(var(--spacing)*3)}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-start,.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-left) .fi-modal-footer-actions{flex-wrap:wrap;align-items:center;display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center{padding-inline:calc(var(--spacing)*6)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center .fi-modal-footer-actions{flex-direction:column-reverse;display:flex}:is(.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-end,.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-right) .fi-modal-footer-actions{flex-flow:row-reverse wrap;align-items:center;display:flex}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg{background-color:var(--gray-100);border-radius:3.40282e38px}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg:where(.dark,.dark *){background-color:var(--gray-500)}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-500)20%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg>.fi-icon{color:var(--gray-500)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg>.fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color{background-color:var(--color-100)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color:where(.dark,.dark *){background-color:var(--color-500)}@supports (color:color-mix(in lab, red, red)){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-500)20%,transparent)}}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color>.fi-icon{color:var(--color-600)}.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-icon-bg.fi-color>.fi-icon:where(.dark,.dark *){color:var(--color-400)}.fi-modal.fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-header{top:calc(var(--spacing)*0);z-index:10;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--color-white);padding-bottom:calc(var(--spacing)*6);position:sticky}.fi-modal.fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-header:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-modal.fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-modal.fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-header:where(.dark,.dark *){background-color:var(--gray-900)}.fi-modal.fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window .fi-modal-content,.fi-modal.fi-modal-has-sticky-header>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer{padding-inline:calc(var(--spacing)*6)}.fi-modal.fi-modal-has-sticky-footer>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-footer{bottom:calc(var(--spacing)*0);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);background-color:var(--color-white);padding-block:calc(var(--spacing)*5);position:sticky}.fi-modal.fi-modal-has-sticky-footer>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-footer:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-modal.fi-modal-has-sticky-footer>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-footer:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-modal.fi-modal-has-sticky-footer>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-footer:where(.dark,.dark *){background-color:var(--gray-900)}.fi-modal:not(.fi-modal-has-sticky-footer)>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-content) .fi-modal-footer{margin-top:calc(var(--spacing)*6)}.fi-modal:not(.fi-modal-has-sticky-footer)>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-content):not(.fi-modal-window-has-footer) .fi-modal-header,.fi-modal:not(.fi-modal-has-sticky-footer)>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer{padding-bottom:calc(var(--spacing)*6)}.fi-modal:not(.fi-modal-has-sticky-header)>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-icon) .fi-modal-content,.fi-modal:not(.fi-modal-has-sticky-header)>.fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-icon) .fi-modal-footer{padding-inline:calc(var(--spacing)*6)}.fi-modal.fi-modal-slide-over>.fi-modal-window-ctn>.fi-modal-window>.fi-modal-footer{margin-top:auto}@supports (container-type:inline-size){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center{container-type:inline-size}@container (min-width:24rem){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center .fi-modal-footer-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-modal>.fi-modal-window-ctn>.fi-modal-window .fi-modal-footer.fi-align-center .fi-modal-footer-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}}}:scope .fi-modal-trigger{display:flex}.fi-pagination{align-items:center;column-gap:calc(var(--spacing)*3);grid-template-columns:1fr auto 1fr;display:grid}.fi-pagination:empty{display:none}.fi-pagination .fi-pagination-previous-btn{justify-self:flex-start}.fi-pagination .fi-pagination-overview{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);display:none}.fi-pagination .fi-pagination-overview:where(.dark,.dark *){color:var(--gray-200)}.fi-pagination .fi-pagination-records-per-page-select-ctn{grid-column-start:2;justify-self:center}.fi-pagination .fi-pagination-records-per-page-select:not(.fi-compact){display:none}.fi-pagination .fi-pagination-next-btn{grid-column-start:3;justify-self:flex-end}.fi-pagination .fi-pagination-items{border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);justify-self:flex-end;display:none}.fi-pagination .fi-pagination-items:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-items:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-pagination .fi-pagination-items:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-items:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-pagination .fi-pagination-item{border-inline-style:var(--tw-border-style);border-inline-width:.5px;border-color:var(--gray-200)}.fi-pagination .fi-pagination-item:first-child{border-inline-start-style:var(--tw-border-style);border-inline-start-width:0}.fi-pagination .fi-pagination-item:last-child{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.fi-pagination .fi-pagination-item:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-item:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn{background-color:var(--gray-50)}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-label{color:var(--primary-700)}.fi-pagination .fi-pagination-item.fi-active .fi-pagination-item-label:where(.dark,.dark *){color:var(--primary-400)}.fi-pagination .fi-pagination-item:first-of-type .fi-pagination-item-btn{border-start-start-radius:var(--radius-lg);border-end-start-radius:var(--radius-lg)}.fi-pagination .fi-pagination-item:last-of-type .fi-pagination-item-btn{border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg)}.fi-pagination .fi-pagination-item.fi-disabled .fi-pagination-item-label{color:var(--gray-500)}.fi-pagination .fi-pagination-item.fi-disabled .fi-pagination-item-label:where(.dark,.dark *){color:var(--gray-400)}.fi-pagination .fi-pagination-item-btn{padding:calc(var(--spacing)*2);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;transition-duration:75ms;display:flex;position:relative;overflow:hidden}@media (hover:hover){.fi-pagination .fi-pagination-item-btn:enabled:hover{background-color:var(--gray-50)}}.fi-pagination .fi-pagination-item-btn:enabled:focus-visible{z-index:10;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}@media (hover:hover){.fi-pagination .fi-pagination-item-btn:enabled:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-pagination .fi-pagination-item-btn:enabled:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-pagination .fi-pagination-item-btn:enabled:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--primary-500)}.fi-pagination .fi-pagination-item-btn:hover .fi-icon{color:var(--gray-500)}.fi-pagination .fi-pagination-item-btn:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-pagination .fi-pagination-item-btn .fi-icon{color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-pagination .fi-pagination-item-btn .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-pagination .fi-pagination-item-btn .fi-pagination-item-label{padding-inline:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-700)}.fi-pagination .fi-pagination-item-btn .fi-pagination-item-label:where(.dark,.dark *){color:var(--gray-200)}@supports (container-type:inline-size){.fi-pagination{container-type:inline-size}@container (min-width:28rem){.fi-pagination .fi-pagination-records-per-page-select:not(.fi-compact){display:inline}.fi-pagination .fi-pagination-records-per-page-select.fi-compact{display:none}}@container (min-width:56rem){.fi-pagination:not(.fi-simple) .fi-pagination-previous-btn,.fi-pagination:not(.fi-simple) .fi-pagination-next-btn{display:none}.fi-pagination .fi-pagination-overview{display:inline}.fi-pagination .fi-pagination-items{display:flex}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-pagination .fi-pagination-records-per-page-select:not(.fi-compact){display:inline}.fi-pagination .fi-pagination-records-per-page-select.fi-compact{display:none}}@media (min-width:48rem){.fi-pagination:not(.fi-simple) .fi-pagination-previous-btn,.fi-pagination:not(.fi-simple) .fi-pagination-next-btn{display:none}.fi-pagination .fi-pagination-overview{display:inline}.fi-pagination .fi-pagination-items{display:flex}}}.fi-section:not(.fi-section-not-contained):not(.fi-divided)>.fi-section-content-ctn>.fi-section-content,.fi-section:not(.fi-section-not-contained).fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding:calc(var(--spacing)*6)}.fi-section:not(.fi-section-not-contained)>.fi-section-content-ctn>.fi-section-footer{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4)}.fi-section:not(.fi-section-not-contained)>.fi-section-content-ctn>.fi-section-footer:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained)>.fi-section-content-ctn>.fi-section-footer:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside){border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-section:not(.fi-section-not-contained):not(.fi-aside):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-compact{border-radius:var(--radius-lg)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-secondary{background-color:var(--gray-50)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-secondary:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-secondary:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-section:not(.fi-section-not-contained):not(.fi-aside)>.fi-section-header{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed)>.fi-section-content-ctn{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200)}.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed)>.fi-section-content-ctn:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained):not(.fi-aside).fi-section-has-header:not(.fi-collapsed)>.fi-section-content-ctn:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}@media (min-width:48rem){.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn{grid-column:span 2/span 2}}.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained).fi-aside>.fi-section-content-ctn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section:not(.fi-section-not-contained).fi-aside.fi-compact>.fi-section-content-ctn{border-radius:var(--radius-lg)}.fi-section:not(.fi-section-not-contained).fi-aside.fi-secondary>.fi-section-content-ctn{background-color:var(--gray-50)}.fi-section:not(.fi-section-not-contained).fi-aside.fi-secondary>.fi-section-content-ctn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-section:not(.fi-section-not-contained).fi-aside.fi-secondary>.fi-section-content-ctn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-section:not(.fi-section-not-contained).fi-compact:not(.fi-aside)>.fi-section-header{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2.5)}.fi-section:not(.fi-section-not-contained).fi-compact:not(.fi-divided)>.fi-section-content-ctn>.fi-section-content,.fi-section:not(.fi-section-not-contained).fi-compact.fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding:calc(var(--spacing)*4)}.fi-section:not(.fi-section-not-contained).fi-compact>.fi-section-footer{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2.5)}@media (min-width:48rem){.fi-section.fi-section-not-contained.fi-aside>.fi-section-content-ctn{grid-column:span 2/span 2}}.fi-section.fi-section-not-contained:not(.fi-aside),.fi-section.fi-section-not-contained:not(.fi-aside)>.fi-section-content-ctn{row-gap:calc(var(--spacing)*4);display:grid}.fi-section.fi-section-not-contained:not(.fi-aside).fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding-block:calc(var(--spacing)*6)}.fi-section.fi-section-not-contained:not(.fi-aside).fi-compact,.fi-section.fi-section-not-contained:not(.fi-aside).fi-compact>.fi-section-content-ctn{row-gap:calc(var(--spacing)*2.5)}.fi-section.fi-section-not-contained:not(.fi-aside).fi-compact.fi-divided>.fi-section-content-ctn>.fi-section-content>*{padding-block:calc(var(--spacing)*4)}:where(.fi-section.fi-divided>.fi-section-content-ctn>.fi-section-content>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-section.fi-divided>.fi-section-content-ctn>.fi-section-content:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-section.fi-divided>.fi-section-content-ctn>.fi-section-content:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-section.fi-aside{align-items:flex-start;column-gap:calc(var(--spacing)*6);row-gap:calc(var(--spacing)*4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (min-width:48rem){.fi-section.fi-aside{grid-template-columns:repeat(3,minmax(0,1fr))}}.fi-section.fi-collapsible>.fi-section-header{cursor:pointer}.fi-section.fi-collapsed>.fi-section-header>.fi-section-collapse-btn{rotate:180deg}.fi-section.fi-collapsed>.fi-section-content-ctn{visibility:hidden;height:calc(var(--spacing)*0);--tw-border-style:none;border-style:none;position:absolute;overflow:hidden}@media (min-width:48rem){.fi-section.fi-section-has-content-before>.fi-section-content-ctn{order:-9999}}.fi-section>.fi-section-header{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fi-section>.fi-section-header>.fi-icon{color:var(--gray-400);flex-shrink:0}.fi-section>.fi-section-header>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-section>.fi-section-header>.fi-icon.fi-color{color:var(--color-500)}.fi-section>.fi-section-header>.fi-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}.fi-section>.fi-section-header>.fi-icon.fi-size-sm{margin-top:calc(var(--spacing)*1)}.fi-section>.fi-section-header>.fi-icon.fi-size-md{margin-top:calc(var(--spacing)*.5)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-sc-text,.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-link{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-xs{margin-block:calc(var(--spacing)*-.5)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-sm{margin-block:calc(var(--spacing)*-1)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-md{margin-block:calc(var(--spacing)*-1.5)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-lg{margin-block:calc(var(--spacing)*-2)}.fi-section>.fi-section-header>.fi-section-header-after-ctn .fi-btn.fi-size-xl{margin-block:calc(var(--spacing)*-2.5)}.fi-section>.fi-section-header>.fi-section-collapse-btn{margin-block:calc(var(--spacing)*-1.5);flex-shrink:0}.fi-section .fi-section-header-text-ctn{row-gap:calc(var(--spacing)*1);flex:1;display:grid}.fi-section .fi-section-header-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-section .fi-section-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-section .fi-section-header-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-wrap:break-word;color:var(--gray-500);overflow:hidden}.fi-section .fi-section-header-description:where(.dark,.dark *){color:var(--gray-400)}.fi-tabs{column-gap:calc(var(--spacing)*1);max-width:100%;display:flex;overflow-x:auto}.fi-tabs.fi-contained{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2.5)}.fi-tabs.fi-contained:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-tabs.fi-contained:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-tabs:not(.fi-contained){border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*2);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);margin-inline:auto}.fi-tabs:not(.fi-contained):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-tabs:not(.fi-contained):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-tabs.fi-vertical{column-gap:calc(var(--spacing)*0);row-gap:calc(var(--spacing)*1);flex-direction:column;overflow:hidden auto}.fi-tabs.fi-vertical.fi-contained{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0}.fi-tabs.fi-vertical:not(.fi-contained){margin-inline:calc(var(--spacing)*0)}.fi-tabs.fi-vertical .fi-tabs-item{justify-content:flex-start}.fi-tabs-item{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;--tw-outline-style:none;outline-style:none;transition-duration:75ms;display:flex}@media (hover:hover){.fi-tabs-item:hover{background-color:var(--gray-50)}}.fi-tabs-item:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-tabs-item:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tabs-item:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-tabs-item:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tabs-item:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-tabs-item.fi-active{background-color:var(--gray-50)}.fi-tabs-item.fi-active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tabs-item.fi-active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-tabs-item.fi-active .fi-tabs-item-label,.fi-tabs-item.fi-active .fi-icon{color:var(--primary-700)}:is(.fi-tabs-item.fi-active .fi-tabs-item-label,.fi-tabs-item.fi-active .fi-icon):where(.dark,.dark *){color:var(--primary-400)}.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label,.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label:is(:where(.group):focus-visible *){color:var(--gray-700)}.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label:where(.dark,.dark *),.fi-tabs-item :not(.fi-active):hover .fi-tabs-item-label:where(.dark,.dark *):is(:where(.group):focus-visible *){color:var(--gray-200)}.fi-tabs-item :not(.fi-active):focus-visible .fi-tabs-item-label{color:var(--gray-700)}.fi-tabs-item :not(.fi-active):focus-visible .fi-tabs-item-label:where(.dark,.dark *){color:var(--gray-200)}.fi-tabs-item .fi-tabs-item-label{color:var(--gray-500);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-tabs-item .fi-tabs-item-label:where(.dark,.dark *){color:var(--gray-400)}.fi-tabs-item .fi-icon{color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;transition-duration:75ms}.fi-tabs-item .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-tabs-item .fi-badge{width:max-content}.fi-toggle{height:calc(var(--spacing)*6);width:calc(var(--spacing)*11);cursor:pointer;border-style:var(--tw-border-style);background-color:var(--gray-200);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--ease-in-out);transition-duration:.2s;transition-timing-function:var(--ease-in-out);--tw-outline-style:none;border-width:2px;border-color:#0000;border-radius:3.40282e38px;outline-style:none;flex-shrink:0;display:inline-flex;position:relative}.fi-toggle:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600);--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.fi-toggle:disabled{pointer-events:none;opacity:.7}.fi-toggle:where(.dark,.dark *){background-color:var(--gray-700)}.fi-toggle:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--primary-500);--tw-ring-offset-color:var(--gray-900)}.fi-toggle:disabled,.fi-toggle[disabled]{pointer-events:none;opacity:.7}.fi-toggle.fi-color{background-color:var(--bg)}.fi-toggle.fi-color:where(.dark,.dark *){background-color:var(--dark-bg)}.fi-toggle.fi-color .fi-icon{color:var(--text)}.fi-toggle.fi-hidden{display:none}.fi-toggle>:first-child{pointer-events:none;width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--ease-in-out);transition-duration:.2s;transition-timing-function:var(--ease-in-out);border-radius:3.40282e38px;display:inline-block;position:relative}.fi-toggle>:first-child>*{inset:calc(var(--spacing)*0);width:100%;height:100%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));justify-content:center;align-items:center;display:flex;position:absolute}.fi-toggle .fi-icon{color:var(--gray-400)}.fi-toggle .fi-icon:where(.dark,.dark *){color:var(--gray-700)}.fi-toggle.fi-toggle-on>:first-child{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-toggle.fi-toggle-on>:first-child:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*-5);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-toggle.fi-toggle-on>:first-child>:first-child{opacity:0;--tw-duration:.1s;--tw-ease:var(--ease-out);transition-duration:.1s;transition-timing-function:var(--ease-out)}.fi-toggle.fi-toggle-on>:first-child>:last-child{opacity:1;--tw-duration:.2s;--tw-ease:var(--ease-in);transition-duration:.2s;transition-timing-function:var(--ease-in)}.fi-toggle.fi-toggle-off>:first-child{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-toggle.fi-toggle-off>:first-child>:first-child{opacity:1;--tw-duration:.2s;--tw-ease:var(--ease-in);transition-duration:.2s;transition-timing-function:var(--ease-in)}.fi-toggle.fi-toggle-off>:first-child>:last-child{opacity:0;--tw-duration:.1s;--tw-ease:var(--ease-out);transition-duration:.1s;transition-timing-function:var(--ease-out)}.fi-sortable-ghost{opacity:.3}.fi-ac{gap:calc(var(--spacing)*3)}.fi-ac:not(.fi-width-full){flex-wrap:wrap;align-items:center;display:flex}.fi-ac:not(.fi-width-full).fi-align-start,.fi-ac:not(.fi-width-full).fi-align-left{justify-content:flex-start}.fi-ac:not(.fi-width-full).fi-align-center{justify-content:center}.fi-ac:not(.fi-width-full).fi-align-end,.fi-ac:not(.fi-width-full).fi-align-right{flex-direction:row-reverse}.fi-ac:not(.fi-width-full).fi-align-between,.fi-ac:not(.fi-width-full).fi-align-justify{justify-content:space-between}.fi-ac.fi-width-full{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}.CodeMirror{color:#000;direction:ltr;height:300px;font-family:monospace}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{white-space:nowrap;background-color:#f7f7f7;border-right:1px solid #ddd}.CodeMirror-linenumber{text-align:right;color:#999;white-space:nowrap;min-width:20px;padding:0 3px 0 5px}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;width:auto;border:0!important}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span::-moz-selection{background:0 0}.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:#0000}@keyframes blink{50%{background-color:#0000}}.cm-tab{-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;display:inline-block}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute;top:0;bottom:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;position:relative;overflow:hidden}.CodeMirror-scroll{z-index:0;outline:0;height:100%;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;position:relative;overflow:scroll!important}.CodeMirror-sizer{border-right:50px solid #0000;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{z-index:6;outline:0;display:none;position:absolute}.CodeMirror-vscrollbar{top:0;right:0;overflow:hidden scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow:scroll hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{z-index:3;min-height:100%;position:absolute;top:0;left:0}.CodeMirror-gutter{white-space:normal;vertical-align:top;height:100%;margin-bottom:-50px;display:inline-block}.CodeMirror-gutter-wrapper{z-index:4;position:absolute;background:0 0!important;border:none!important}.CodeMirror-gutter-background{z-index:4;position:absolute;top:0;bottom:0}.CodeMirror-gutter-elt{cursor:default;z-index:4;position:absolute}.CodeMirror-gutter-wrapper ::selection{background-color:#0000}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{font-family:inherit;font-size:inherit;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;background:0 0;border-width:0;border-radius:0;margin:0;position:relative;overflow:visible}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{z-index:0;position:absolute;inset:0}.CodeMirror-linewidget{z-index:2;padding:.1px;position:relative}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{visibility:hidden;width:100%;height:0;position:absolute;overflow:hidden}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;z-index:3;position:relative}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection{background:#d7d4f0}.CodeMirror-line>span::selection{background:#d7d4f0}.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection{background:#d7d4f0}.CodeMirror-line>span::-moz-selection{background:#d7d4f0}.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{flex-flow:wrap;display:flex}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;font:inherit;z-index:0;word-wrap:break-word;border:1px solid #ced4da;border-bottom-right-radius:4px;border-bottom-left-radius:4px;padding:10px}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{z-index:8;background:#fff;height:auto;inset:50px 0 0;border-right:none!important;border-bottom-right-radius:0!important;position:fixed!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;flex:auto;position:relative;border-right:none!important}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{-webkit-user-select:none;user-select:none;-o-user-select:none;border-top:1px solid #ced4da;border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative}.editor-toolbar.fullscreen{box-sizing:border-box;opacity:1;z-index:9;background:#fff;border:0;width:100%;height:50px;padding-top:10px;padding-bottom:10px;position:fixed;top:0;left:0}.editor-toolbar.fullscreen:before{background:-o-linear-gradient(270deg,#fff 0,#fff0 100%);background:-ms-linear-gradient(left,#fff 0,#fff0 100%);background:linear-gradient(90deg,#fff 0,#fff0);width:20px;height:50px;margin:0;padding:0;position:fixed;top:0;left:0}.editor-toolbar.fullscreen:after{background:-o-linear-gradient(270deg,#fff0 0,#fff 100%);background:-ms-linear-gradient(left,#fff0 0,#fff 100%);background:linear-gradient(90deg,#fff0 0,#fff);width:20px;height:50px;margin:0;padding:0;position:fixed;top:0;right:0}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;height:30px;margin:0;padding:0;display:inline-block;text-decoration:none!important}.editor-toolbar button{white-space:nowrap;min-width:30px;padding:0 6px;font-weight:700}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{color:#0000;text-indent:-10px;border-left:1px solid #d9d9d9;border-right:1px solid #fff;width:0;margin:0 6px;display:inline-block}.editor-toolbar button:after{vertical-align:text-bottom;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;text-align:right;padding:8px 10px;font-size:12px}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{min-width:4em;margin-left:1em;display:inline-block}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{z-index:7;box-sizing:border-box;width:100%;height:100%;display:none;position:absolute;top:0;left:0;overflow:auto}.editor-preview-side{z-index:9;box-sizing:border-box;word-wrap:break-word;border:1px solid #ddd;width:50%;display:none;position:fixed;top:50px;bottom:0;right:0;overflow:auto}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{margin-bottom:.5rem;line-height:1.2}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%);border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{visibility:hidden;z-index:2;background-color:#f9f9f9;padding:8px;display:block;position:absolute;top:30px;box-shadow:0 8px 16px #0003}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{content:"";background-image:var(--bg-image);max-width:100%;height:0;max-height:100%;padding-top:var(--height);width:var(--width);background-repeat:no-repeat;background-size:contain;display:block}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}.cropper-container{-webkit-touch-callout:none;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;user-select:none;direction:ltr;font-size:0;line-height:0;position:relative}.cropper-container img{backface-visibility:hidden;image-orientation:0deg;width:100%;height:100%;display:block;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{position:absolute;inset:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{opacity:0;background-color:#fff}.cropper-modal{opacity:.5;background-color:#000}.cropper-view-box{outline:1px solid #3399ffbf;width:100%;height:100%;display:block;overflow:hidden}.cropper-dashed{opacity:.5;border:0 dashed #eee;display:block;position:absolute}.cropper-dashed.dashed-h{border-top-width:1px;border-bottom-width:1px;width:100%;height:33.3333%;top:33.3333%;left:0}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;width:33.3333%;height:100%;top:0;left:33.3333%}.cropper-center{opacity:.75;width:0;height:0;display:block;position:absolute;top:50%;left:50%}.cropper-center:after,.cropper-center:before{content:" ";background-color:#eee;display:block;position:absolute}.cropper-center:before{width:7px;height:1px;top:0;left:-3px}.cropper-center:after{width:1px;height:7px;top:-3px;left:0}.cropper-face,.cropper-line,.cropper-point{opacity:.1;width:100%;height:100%;display:block;position:absolute}.cropper-face{background-color:#fff;top:0;left:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;width:5px;top:0;right:-3px}.cropper-line.line-n{cursor:ns-resize;height:5px;top:-3px;left:0}.cropper-line.line-w{cursor:ew-resize;width:5px;top:0;left:-3px}.cropper-line.line-s{cursor:ns-resize;height:5px;bottom:-3px;left:0}.cropper-point{opacity:.75;background-color:#39f;width:5px;height:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;top:50%;right:-3px}.cropper-point.point-n{cursor:ns-resize;margin-left:-3px;top:-3px;left:50%}.cropper-point.point-w{cursor:ew-resize;margin-top:-3px;top:50%;left:-3px}.cropper-point.point-s{cursor:s-resize;margin-left:-3px;bottom:-3px;left:50%}.cropper-point.point-ne{cursor:nesw-resize;top:-3px;right:-3px}.cropper-point.point-nw{cursor:nwse-resize;top:-3px;left:-3px}.cropper-point.point-sw{cursor:nesw-resize;bottom:-3px;left:-3px}.cropper-point.point-se{cursor:nwse-resize;opacity:1;width:20px;height:20px;bottom:-3px;right:-3px}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{opacity:.75;width:5px;height:5px}}.cropper-point.point-se:before{content:" ";opacity:0;background-color:#39f;width:200%;height:200%;display:block;position:absolute;bottom:-50%;right:-50%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{width:0;height:0;display:block;position:absolute}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.filepond--assistant{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.filepond--browser.filepond--browser{opacity:0;width:calc(100% - 2em);margin:0;padding:0;font-size:0;position:absolute;top:1.75em;left:1em}.filepond--data{visibility:hidden;pointer-events:none;contain:strict;border:none;width:0;height:0;margin:0;padding:0;position:absolute}.filepond--drip{opacity:.1;pointer-events:none;background:#00000003;border-radius:.5em;position:absolute;inset:0;overflow:hidden}.filepond--drip-blob{transform-origin:50%;background:#292625;border-radius:50%;width:8em;height:8em;margin-top:-4em;margin-left:-4em}.filepond--drip-blob,.filepond--drop-label{will-change:transform,opacity;position:absolute;top:0;left:0}.filepond--drop-label{color:#4f4f4f;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:0;margin:0;display:flex;right:0}.filepond--drop-label.filepond--drop-label label{margin:0;padding:.5em;display:block}.filepond--drop-label label{cursor:default;text-align:center;font-size:.875em;font-weight:400;line-height:1.5}.filepond--label-action{-webkit-text-decoration-skip:ink;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;cursor:pointer;-webkit-text-decoration:underline #a7a4a4;text-decoration:underline #a7a4a4}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{width:1.625em;height:1.625em;font-family:inherit;font-size:1em;line-height:inherit;will-change:transform,opacity;border:none;outline:none;margin:0;padding:0}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.filepond--file-action-button.filepond--file-action-button svg{width:100%;height:100%}.filepond--file-action-button.filepond--file-action-button:after{content:"";position:absolute;inset:-.75em}.filepond--file-action-button{cursor:auto;color:#fff;background-color:#00000080;background-image:none;border-radius:50%;transition:box-shadow .25s ease-in;box-shadow:0 0 #fff0}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em #ffffffe6}.filepond--file-action-button[disabled]{color:#ffffff80;background-color:#00000040}.filepond--file-action-button[hidden]{display:none}.filepond--file-info{will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;align-items:flex-start;min-width:0;margin:0 .5em 0 0;display:flex;position:static}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.75em;line-height:1.2;overflow:hidden}.filepond--file-info .filepond--file-info-sub{opacity:.5;white-space:nowrap;font-size:.625em;transition:opacity .25s ease-in-out}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{text-align:right;will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;flex-grow:0;flex-shrink:0;align-items:flex-end;min-width:2.25em;margin:0;display:flex;position:static}.filepond--file-status *{white-space:nowrap;margin:0}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{opacity:.5;font-size:.625em;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;min-width:0;height:100%;margin:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.filepond--file{color:#fff;border-radius:.5em;align-items:flex-start;height:100%;padding:.5625em;display:flex;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:.5s linear .125s both fall}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:.65s linear both shake}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translate(-.0625em)}20%,80%{transform:translate(.125em)}30%,50%,70%{transform:translate(-.25em)}40%,60%{transform:translate(.25em)}}@keyframes fall{0%{opacity:0;animation-timing-function:ease-out;transform:scale(.5)}70%{opacity:1;animation-timing-function:ease-in-out;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{content:"";z-index:100;position:absolute;inset:0}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{z-index:1;will-change:transform,opacity;touch-action:auto;margin:.25em;padding:0;position:absolute;top:0;left:0;right:0}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em #00000040}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:-webkit-grab;cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{transition:box-shadow .125s ease-in-out;box-shadow:0 0 #0000}.filepond--item[data-drag-state=drag]{cursor:-webkit-grabbing;cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em #00000053}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{will-change:transform;margin:0;position:absolute;top:0;left:0;right:0}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;overflow:hidden scroll;-webkit-mask:linear-gradient(#000 calc(100% - .5em),#0000);mask:linear-gradient(#000 calc(100% - .5em),#0000)}.filepond--list-scroller::-webkit-scrollbar{background:0 0}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-color:#0000004d;background-clip:content-box;border:.3125em solid #0000;border-radius:99999px}.filepond--list.filepond--list{will-change:transform;margin:0;padding:0;list-style-type:none;position:absolute;top:0}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{width:100%;max-width:none;height:100%;margin:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7;justify-content:center;align-items:center;height:auto;display:flex;bottom:0}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-top:0;margin-bottom:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*,.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status{display:none}@media not all and (min-resolution:.001dpcm){@supports ((-webkit-appearance:none)) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{pointer-events:none;margin:0;position:absolute;top:0;left:0;right:0;height:100%!important}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;background-color:#0000!important;border:none!important}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{margin:0;padding:0;position:absolute;top:0;left:0;right:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.filepond--panel-top:after{content:"";background-color:inherit;height:2px;position:absolute;bottom:-1px;left:0;right:0}.filepond--panel-bottom,.filepond--panel-center{will-change:transform;backface-visibility:hidden;transform-origin:0 0;transform:translateY(.5em)}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{content:"";background-color:inherit;height:2px;position:absolute;top:-1px;left:0;right:0}.filepond--panel-center{border-top:none!important;border-bottom:none!important;border-radius:0!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;pointer-events:none;will-change:transform,opacity;width:1.25em;height:1.25em;margin:0;position:static}.filepond--progress-indicator svg{vertical-align:top;transform-box:fill-box;width:100%;height:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;text-align:left;text-rendering:optimizeLegibility;contain:layout style size;direction:ltr;margin-bottom:1em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;position:relative}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-top:1em;margin-bottom:1em}.filepond--root .filepond--credits{opacity:.4;color:inherit;z-index:3;font-size:11px;line-height:.85;text-decoration:none;position:absolute;bottom:-14px;right:0}.filepond--root .filepond--credits[style]{margin-top:14px;top:0;bottom:auto}.filepond--action-edit-item.filepond--action-edit-item{width:2em;height:2em;padding:.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{line-height:inherit;color:inherit;pointer-events:all;background:0 0;border:none;outline:none;margin:0 0 0 .25em;padding:0;font-family:inherit;position:absolute}.filepond--action-edit-item-alt svg{width:1.3125em;height:1.3125em}.filepond--action-edit-item-alt span{opacity:0;font-size:0}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}.filepond--image-preview-markup{position:absolute;top:0;left:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{opacity:0;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;min-height:5rem;max-height:7rem;margin:0;display:block;position:absolute;top:0;left:0}.filepond--image-preview-overlay svg{width:100%;height:auto;color:inherit;max-height:inherit}.filepond--image-preview-overlay-idle{mix-blend-mode:multiply;color:#282828d9}.filepond--image-preview-overlay-success{mix-blend-mode:normal;color:#369763}.filepond--image-preview-overlay-failure{mix-blend-mode:normal;color:#c44e47}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{-webkit-user-select:none;user-select:none;background:#00000003;border-radius:.45em;height:100%;margin:0;position:absolute;top:0;left:0;right:0;overflow:hidden}.filepond--image-preview{z-index:1;pointer-events:none;will-change:transform,opacity;background:#222;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.filepond--image-clip{margin:0 auto;position:relative;overflow:hidden}.filepond--image-clip[data-transparency-indicator=grid] img,.filepond--image-clip[data-transparency-indicator=grid] canvas{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{will-change:transform;position:absolute;top:0;left:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{justify-content:center;align-items:center;height:100%;display:flex}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{top:auto;bottom:0;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-top:0;margin-bottom:.1875em;margin-left:.1875em}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{width:calc(100% - 1.4em);margin:2.3em auto auto}.filepond--media-preview .playpausebtn{float:left;cursor:pointer;background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;outline:none;width:25px;height:25px;margin-top:.3em;margin-right:.3em}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{float:left;background:#ffffff4d;border-radius:15px;width:calc(100% - 2.5em);height:3px;margin-top:1em}.filepond--media-preview .playhead{background:#fff;border-radius:50%;width:13px;height:13px;margin-top:-5px}.filepond--media-preview-wrapper{pointer-events:auto;background:#00000003;border-radius:.45em;height:100%;margin:0;position:absolute;top:0;left:0;right:0;overflow:hidden}.filepond--media-preview-wrapper:before{content:" ";width:100%;height:2em;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);z-index:3;background:linear-gradient(#000,#0000);position:absolute}.filepond--media-preview{z-index:1;transform-origin:50%;will-change:transform,opacity;width:100%;height:100%;display:block;position:relative}.filepond--media-preview video,.filepond--media-preview audio{will-change:transform;width:100%}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:#0000;-webkit-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{z-index:1;width:100%;height:100%;position:relative}.noUi-connects{z-index:0;overflow:hidden}.noUi-connect,.noUi-origin{will-change:transform;z-index:1;transform-origin:0 0;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:flat;position:absolute;top:0;right:0}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{width:0;top:-100%}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{backface-visibility:hidden;position:absolute}.noUi-touch-area{width:100%;height:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;top:-6px;right:-17px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;bottom:-17px;right:-6px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#fafafa;border:1px solid #d3d3d3;border-radius:4px;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connects{border-radius:3px}.noUi-connect{background:#3fb8af}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{cursor:default;background:#fff;border:1px solid #d9d9d9;border-radius:3px;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:before,.noUi-handle:after{content:"";background:#e8e7e6;width:1px;height:14px;display:block;position:absolute;top:6px;left:14px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:before,.noUi-vertical .noUi-handle:after{width:14px;height:1px;top:14px;left:6px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-target,[disabled].noUi-handle,[disabled] .noUi-handle{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{color:#999;position:absolute}.noUi-value{white-space:nowrap;text-align:center;position:absolute}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{background:#ccc;position:absolute}.noUi-marker-sub,.noUi-marker-large{background:#aaa}.noUi-pips-horizontal{width:100%;height:80px;padding:10px 0;top:100%;left:0}.noUi-value-horizontal{transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{width:2px;height:5px;margin-left:-1px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{height:100%;padding:0 10px;top:0;left:100%}.noUi-value-vertical{padding-left:25px;transform:translateY(-50%)}.noUi-rtl .noUi-value-vertical{transform:translateY(50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{color:#000;text-align:center;white-space:nowrap;background:#fff;border:1px solid #d9d9d9;border-radius:3px;padding:5px;display:block;position:absolute}.noUi-horizontal .noUi-tooltip{bottom:120%;left:50%;transform:translate(-50%)}.noUi-vertical .noUi-tooltip{top:50%;right:120%;transform:translateY(-50%)}.noUi-horizontal .noUi-origin>.noUi-tooltip{bottom:10px;left:auto;transform:translate(50%)}.noUi-vertical .noUi-origin>.noUi-tooltip{top:auto;right:28px;transform:translateY(-18px)}.fi-fo-builder{row-gap:calc(var(--spacing)*4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.fi-fo-builder .fi-fo-builder-actions{column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-builder .fi-fo-builder-actions.fi-hidden{display:none}.fi-fo-builder .fi-fo-builder-items{grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.fi-fo-builder .fi-fo-builder-items>*+*{margin-top:calc(var(--spacing)*4)}.fi-fo-builder .fi-fo-builder-item{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-item.fi-collapsed .fi-fo-builder-item-header-collapsible-actions{rotate:-180deg}.fi-fo-builder .fi-fo-builder-item.fi-collapsed .fi-fo-builder-item-header-collapse-action,.fi-fo-builder .fi-fo-builder-item:not(.fi-collapsed) .fi-fo-builder-item-header-expand-action{pointer-events:none;opacity:0}.fi-fo-builder.fi-fo-builder-not-contained>.fi-fo-builder-items>.fi-fo-builder-item{--tw-shadow:0 0 #0000;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;border-radius:0}.fi-fo-builder.fi-fo-builder-not-contained>.fi-fo-builder-items>.fi-fo-builder-item>.fi-fo-builder-item-content{padding:calc(var(--spacing)*0)}.fi-fo-builder.fi-fo-builder-not-contained>.fi-fo-builder-items>.fi-fo-builder-label-between-items-ctn>.fi-fo-builder-label-between-items-divider-before{width:calc(var(--spacing)*0)}.fi-fo-builder.fi-fo-builder-not-contained>.fi-fo-builder-items>.fi-fo-builder-label-between-items-ctn>.fi-fo-builder-label-between-items{padding-inline-start:calc(var(--spacing)*0)}.fi-fo-builder .fi-fo-builder-item-header{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex;overflow:hidden}.fi-fo-builder.fi-collapsible .fi-fo-builder-item-header{cursor:pointer;-webkit-user-select:none;user-select:none}.fi-fo-builder .fi-fo-builder-item-header-start-actions{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-builder .fi-fo-builder-item-header-icon{color:var(--gray-400)}.fi-fo-builder .fi-fo-builder-item-header-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-builder .fi-fo-builder-item-header-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-fo-builder .fi-fo-builder-item-header-label:where(.dark,.dark *){color:var(--color-white)}.fi-fo-builder .fi-fo-builder-item-header-label.fi-truncated{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-fo-builder .fi-fo-builder-item-header-end-actions{align-items:center;column-gap:calc(var(--spacing)*3);margin-inline-start:auto;display:flex}.fi-fo-builder .fi-fo-builder-item-header-collapsible-actions{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}.fi-fo-builder .fi-fo-builder-item-header-collapse-action{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fi-fo-builder .fi-fo-builder-item-header-expand-action{inset:calc(var(--spacing)*0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:absolute;rotate:180deg}.fi-fo-builder .fi-fo-builder-item-content:not(.fi-fo-builder-item-content-has-preview){padding:calc(var(--spacing)*4)}.fi-fo-builder .fi-fo-builder-item-content.fi-fo-builder-item-content-has-preview{position:relative}.fi-fo-builder .fi-fo-builder-item-has-header>.fi-fo-builder-item-content{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-100)}.fi-fo-builder .fi-fo-builder-item-has-header>.fi-fo-builder-item-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-item-has-header>.fi-fo-builder-item-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-item-preview:not(.fi-interactive){pointer-events:none}.fi-fo-builder .fi-fo-builder-item-preview-edit-overlay{inset:calc(var(--spacing)*0);z-index:1;cursor:pointer;position:absolute}.fi-fo-builder .fi-fo-builder-block-picker-ctn{border-radius:var(--radius-lg);background-color:var(--color-white)}.fi-fo-builder .fi-fo-builder-block-picker-ctn:where(.dark,.dark *){background-color:var(--gray-900)}.fi-fo-builder .fi-fo-builder-add-between-items-ctn{pointer-events:none;visibility:hidden;margin-top:calc(var(--spacing)*0);height:calc(var(--spacing)*0);opacity:0;width:100%;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));justify-content:center;display:flex;position:relative;overflow:visible}.fi-fo-builder .fi-fo-builder-item:hover+.fi-fo-builder-add-between-items-ctn,.fi-fo-builder .fi-fo-builder-add-between-items-ctn:has(+.fi-fo-builder-item:hover),.fi-fo-builder .fi-fo-builder-add-between-items-ctn:hover,.fi-fo-builder .fi-fo-builder-add-between-items-ctn:focus-within{pointer-events:auto;visibility:visible;opacity:1}.fi-fo-builder .fi-fo-builder-add-between-items{z-index:10;--tw-translate-y:calc(-50% + .5rem);translate:var(--tw-translate-x)var(--tw-translate-y);border-radius:var(--radius-lg);background-color:var(--color-white);position:absolute;top:50%}.fi-fo-builder .fi-fo-builder-add-between-items:where(.dark,.dark *){background-color:var(--gray-900)}.fi-fo-builder .fi-fo-builder-label-between-items-ctn{margin-top:calc(var(--spacing)*1);margin-bottom:calc(var(--spacing)*-3);align-items:center;display:flex;position:relative}.fi-fo-builder .fi-fo-builder-label-between-items-divider-before{width:calc(var(--spacing)*3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);flex-shrink:0}.fi-fo-builder .fi-fo-builder-label-between-items-divider-before:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-label-between-items-divider-before:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-label-between-items{padding-inline:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);flex-shrink:0}.fi-fo-builder .fi-fo-builder-label-between-items:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-builder .fi-fo-builder-label-between-items-divider-after{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);flex:1}.fi-fo-builder .fi-fo-builder-label-between-items-divider-after:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-builder .fi-fo-builder-label-between-items-divider-after:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-builder .fi-fo-builder-block-picker{justify-content:center;display:flex}.fi-fo-builder .fi-fo-builder-block-picker.fi-align-start,.fi-fo-builder .fi-fo-builder-block-picker.fi-align-left{justify-content:flex-start}.fi-fo-builder .fi-fo-builder-block-picker.fi-align-end,.fi-fo-builder .fi-fo-builder-block-picker.fi-align-right{justify-content:flex-end}.fi-fo-checkbox-list .fi-fo-checkbox-list-search-input-wrp{margin-bottom:calc(var(--spacing)*4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-actions{margin-bottom:calc(var(--spacing)*2)}.fi-fo-checkbox-list .fi-fo-checkbox-list-options{gap:calc(var(--spacing)*4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-options.fi-grid-direction-col{margin-top:calc(var(--spacing)*-4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-options.fi-grid-direction-col .fi-fo-checkbox-list-option-ctn{break-inside:avoid;padding-top:calc(var(--spacing)*4)}.fi-fo-checkbox-list .fi-fo-checkbox-list-option{column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-checkbox-input{margin-top:calc(var(--spacing)*1);flex-shrink:0}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);display:grid}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);overflow-wrap:break-word;color:var(--gray-950);overflow:hidden}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-label:where(.dark,.dark *){color:var(--color-white)}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-description{color:var(--gray-500)}.fi-fo-checkbox-list .fi-fo-checkbox-list-option .fi-fo-checkbox-list-option-description:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-checkbox-list .fi-fo-checkbox-list-no-search-results-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-fo-checkbox-list .fi-fo-checkbox-list-no-search-results-message:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-code-editor{overflow:hidden}.fi-fo-code-editor .cm-editor.cm-focused{--tw-outline-style:none!important;outline-style:none!important}.fi-fo-code-editor .cm-editor .cm-gutters{min-height:calc(var(--spacing)*48)!important;border-inline-end-color:var(--gray-300)!important;background-color:var(--gray-100)!important}.fi-fo-code-editor .cm-editor .cm-gutters:where(.dark,.dark *){border-inline-end-color:var(--gray-800)!important;background-color:var(--gray-950)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md);margin-inline-start:calc(var(--spacing)*1)}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter{background-color:var(--gray-200)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:where(.dark,.dark *){background-color:var(--gray-800)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-foldGutter .cm-gutterElement.cm-activeLineGutter{background-color:var(--gray-200)!important}.fi-fo-code-editor .cm-editor .cm-gutters .cm-gutter.cm-foldGutter .cm-gutterElement.cm-activeLineGutter:where(.dark,.dark *){background-color:var(--gray-800)!important}.fi-fo-code-editor .cm-editor .cm-scroller{min-height:calc(var(--spacing)*48)!important}.fi-fo-code-editor .cm-editor .cm-line{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md);margin-inline-end:calc(var(--spacing)*1)}.fi-fo-code-editor.fi-disabled .cm-editor .cm-gutters .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter,.fi-fo-code-editor.fi-disabled .cm-editor .cm-gutters .cm-gutter.cm-foldGutter .cm-gutterElement.cm-activeLineGutter,.fi-fo-code-editor.fi-disabled .cm-editor .cm-line.cm-activeLine{background-color:#0000!important}.fi-fo-color-picker .fi-input-wrp-content{display:flex}.fi-fo-color-picker .fi-fo-color-picker-preview{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);-webkit-user-select:none;user-select:none;border-radius:3.40282e38px;flex-shrink:0;margin-block:auto;margin-inline-end:calc(var(--spacing)*3)}.fi-fo-color-picker .fi-fo-color-picker-preview.fi-empty{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-200);--tw-ring-inset:inset}.fi-fo-color-picker .fi-fo-color-picker-preview.fi-empty:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-color-picker .fi-fo-color-picker-preview.fi-empty:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-color-picker .fi-fo-color-picker-panel{z-index:10;border-radius:var(--radius-lg);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:none;position:absolute}.fi-fo-date-time-picker input::-webkit-datetime-edit{padding:0;display:block}.fi-fo-date-time-picker .fi-fo-date-time-picker-trigger{width:100%}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input{--tw-border-style:none;width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);--tw-outline-style:none;background-color:#0000;border-style:none;outline-style:none}@media (forced-colors:active){.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input{outline-offset:2px;outline:2px solid #0000}}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input::placeholder{color:var(--gray-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:where(.dark,.dark *)::placeholder{color:var(--gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-display-text-input:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel{z-index:10;position:absolute}:where(.fi-fo-date-time-picker .fi-fo-date-time-picker-panel>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel{border-radius:var(--radius-lg);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-panel:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-panel .fi-fo-date-time-picker-panel-header{justify-content:space-between;align-items:center;display:flex}.fi-fo-date-time-picker .fi-fo-date-time-picker-month-select{cursor:pointer;--tw-border-style:none;padding:calc(var(--spacing)*0);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);background-color:#0000;border-style:none;flex-grow:1}.fi-fo-date-time-picker .fi-fo-date-time-picker-month-select:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-month-select:where(.dark,.dark *){background-color:var(--gray-900);color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-year-input{width:calc(var(--spacing)*16);--tw-border-style:none;padding:calc(var(--spacing)*0);text-align:right;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-950);background-color:#0000;border-style:none}.fi-fo-date-time-picker .fi-fo-date-time-picker-year-input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-year-input:where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar-header{gap:calc(var(--spacing)*1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar-header .fi-fo-date-time-picker-calendar-header-day{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar-header .fi-fo-date-time-picker-calendar-header-day:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar{grid-template-columns:repeat(7,minmax(calc(var(--spacing)*7),1fr));gap:calc(var(--spacing)*1);display:grid}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day{text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-loose);line-height:var(--leading-loose);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;border-radius:3.40282e38px;transition-duration:75ms}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-disabled{pointer-events:none;opacity:.5}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day:not(.fi-disabled){cursor:pointer}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected{background-color:var(--gray-50);color:var(--primary-600)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-selected:where(.dark,.dark *){color:var(--primary-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-focused:not(.fi-selected):not(.fi-disabled){background-color:var(--gray-100)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-focused:not(.fi-selected):not(.fi-disabled):where(.dark,.dark *){background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-focused:not(.fi-selected):not(.fi-disabled):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-fo-date-time-picker-calendar-day-today:not(.fi-focused):not(.fi-selected):not(.fi-disabled){color:var(--primary-600)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day.fi-fo-date-time-picker-calendar-day-today:not(.fi-focused):not(.fi-selected):not(.fi-disabled):where(.dark,.dark *){color:var(--primary-400)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day:not(.fi-fo-date-time-picker-calendar-day-today):not(.fi-selected){color:var(--gray-950)}.fi-fo-date-time-picker .fi-fo-date-time-picker-calendar .fi-fo-date-time-picker-calendar-day:not(.fi-fo-date-time-picker-calendar-day-today):not(.fi-selected):where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs{justify-content:center;align-items:center;display:flex}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs input{width:calc(var(--spacing)*10);--tw-border-style:none;padding:calc(var(--spacing)*0);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-950);background-color:#0000;border-style:none;margin-inline-end:calc(var(--spacing)*1)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs input:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs input:where(.dark,.dark *){color:var(--color-white)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs .fi-fo-date-time-picker-time-input-separator{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-fo-date-time-picker .fi-fo-date-time-picker-time-inputs .fi-fo-date-time-picker-time-input-separator:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-field{row-gap:calc(var(--spacing)*2);display:grid}@media (min-width:40rem){.fi-fo-field.fi-fo-field-has-inline-label{align-items:flex-start;column-gap:calc(var(--spacing)*4);grid-template-columns:repeat(3,minmax(0,1fr))}.fi-fo-field.fi-fo-field-has-inline-label .fi-fo-field-content-col{grid-column:span 2/span 2}}.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label{align-items:flex-start;column-gap:calc(var(--spacing)*3);display:flex}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label)>.fi-checkbox-input{margin-top:calc(var(--spacing)*.5);flex-shrink:0}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label)>.fi-toggle{margin-block:calc(var(--spacing)*-.5)}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label)>.fi-sc:first-child{flex-grow:0}:is(.fi-fo-field .fi-fo-field-label-ctn,.fi-fo-field .fi-fo-field-label).fi-hidden{display:none}.fi-fo-field .fi-fo-field-label-content{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-fo-field .fi-fo-field-label-content:where(.dark,.dark *){color:var(--color-white)}.fi-fo-field .fi-fo-field-label-content .fi-fo-field-label-required-mark{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-600)}.fi-fo-field .fi-fo-field-label-content .fi-fo-field-label-required-mark:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-field .fi-fo-field-label-col{row-gap:calc(var(--spacing)*2);grid-auto-columns:minmax(0,1fr);height:100%;display:grid}@media (min-width:40rem){.fi-fo-field .fi-fo-field-label-col.fi-vertical-align-start{align-items:flex-start}.fi-fo-field .fi-fo-field-label-col.fi-vertical-align-center{align-items:center}.fi-fo-field .fi-fo-field-label-col.fi-vertical-align-end{align-items:flex-end}}.fi-fo-field .fi-fo-field-content-col{row-gap:calc(var(--spacing)*2);grid-auto-columns:minmax(0,1fr);display:grid}.fi-fo-field .fi-fo-field-content-ctn{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;display:flex}.fi-fo-field .fi-fo-field-content{width:100%}.fi-fo-field .fi-fo-field-wrp-error-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--danger-600)}.fi-fo-field .fi-fo-field-wrp-error-message:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-field .fi-fo-field-wrp-error-list{list-style-type:disc;list-style-position:inside}:where(.fi-fo-field .fi-fo-field-wrp-error-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-file-upload{row-gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.fi-fo-file-upload.fi-align-start,.fi-fo-file-upload.fi-align-left{align-items:flex-start}.fi-fo-file-upload.fi-align-center{align-items:center}.fi-fo-file-upload.fi-align-end,.fi-fo-file-upload.fi-align-right{align-items:flex-end}.fi-fo-file-upload .fi-fo-file-upload-input-ctn{width:100%;height:100%}.fi-fo-file-upload.fi-fo-file-upload-avatar .fi-fo-file-upload-input-ctn{height:100%;width:calc(var(--spacing)*32)}.fi-fo-file-upload .fi-fo-file-upload-error-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--danger-600)}.fi-fo-file-upload .fi-fo-file-upload-error-message:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-file-upload .filepond--root{margin-bottom:calc(var(--spacing)*0);border-radius:var(--radius-lg);background-color:var(--color-white);font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);overflow:hidden}.fi-fo-file-upload .filepond--root:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-file-upload .filepond--root:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-file-upload .filepond--root[data-disabled=disabled]{background-color:var(--gray-50)}.fi-fo-file-upload .filepond--root[data-disabled=disabled]:where(.dark,.dark *){--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root[data-disabled=disabled]:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-file-upload .filepond--root[data-style-panel-layout=compact\ circle]{border-radius:3.40282e38px}.fi-fo-file-upload .filepond--panel-root{background-color:#0000}.fi-fo-file-upload .filepond--drop-label label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);padding:calc(var(--spacing)*3)!important}.fi-fo-file-upload .filepond--drop-label label:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-file-upload .filepond--label-action{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--primary-600);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;text-decoration-line:none;transition-duration:75ms}@media (hover:hover){.fi-fo-file-upload .filepond--label-action:hover{color:var(--primary-500)}}.fi-fo-file-upload .filepond--label-action:where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-fo-file-upload .filepond--label-action:where(.dark,.dark *):hover{color:var(--primary-500)}}.fi-fo-file-upload .filepond--drip-blob{background-color:var(--gray-400)}.fi-fo-file-upload .filepond--drip-blob:where(.dark,.dark *){background-color:var(--gray-500)}.fi-fo-file-upload .filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(50% - .5rem);display:inline}@media (min-width:64rem){.fi-fo-file-upload .filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5rem)}}.fi-fo-file-upload .filepond--download-icon{pointer-events:auto;width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);background-color:var(--color-white);vertical-align:bottom;margin-inline-end:calc(var(--spacing)*1);display:inline-block}@media (hover:hover){.fi-fo-file-upload .filepond--download-icon:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--download-icon:hover{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}}.fi-fo-file-upload .filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItZG93bmxvYWQiPjxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCI+PC9wb2x5bGluZT48bGluZSB4MT0iMTIiIHkxPSIxNSIgeDI9IjEyIiB5Mj0iMyI+PC9saW5lPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItZG93bmxvYWQiPjxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCI+PC9wb2x5bGluZT48bGluZSB4MT0iMTIiIHkxPSIxNSIgeDI9IjEyIiB5Mj0iMyI+PC9saW5lPjwvc3ZnPg==);-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fi-fo-file-upload .filepond--open-icon{pointer-events:auto;width:calc(var(--spacing)*4);height:calc(var(--spacing)*4);background-color:var(--color-white);vertical-align:bottom;margin-inline-end:calc(var(--spacing)*1);display:inline-block}@media (hover:hover){.fi-fo-file-upload .filepond--open-icon:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--open-icon:hover{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}}.fi-fo-file-upload .filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJ2LTRNMTQgNGg2bTAgMHY2bTAtNkwxMCAxNCIgLz4KPC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogIDxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwMC0yIDJ2MTBhMiAyIDAgMDAyIDJoMTBhMiAyIDAgMDAyLTJ2LTRNMTQgNGg2bTAgMHY2bTAtNkwxMCAxNCIgLz4KPC9zdmc+Cg==);-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fi-fo-file-upload .filepond--file-action-button.filepond--action-edit-item{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--file-action-button.filepond--action-edit-item{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor{inset:calc(var(--spacing)*0);isolation:isolate;z-index:50;width:100vw;height:100dvh;padding:calc(var(--spacing)*2);position:fixed}@media (min-width:40rem){.fi-fo-file-upload .fi-fo-file-upload-editor{padding:calc(var(--spacing)*10)}}@media (min-width:48rem){.fi-fo-file-upload .fi-fo-file-upload-editor{padding:calc(var(--spacing)*20)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay{inset:calc(var(--spacing)*0);cursor:pointer;background-color:var(--gray-950);width:100%;height:100%;position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay{background-color:color-mix(in oklab,var(--gray-950)50%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-overlay{will-change:transform}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window{isolation:isolate;border-radius:var(--radius-xl);background-color:var(--color-white);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);width:100%;height:100%;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-900);flex-direction:column;margin-inline:auto;display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window{--tw-ring-color:color-mix(in oklab,var(--gray-900)10%,transparent)}}@media (min-width:64rem){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window{flex-direction:row}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window:where(.dark,.dark *){background-color:var(--gray-800);--tw-ring-color:var(--gray-50)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-window:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-50)10%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-image-ctn{margin:calc(var(--spacing)*4);flex:1;max-width:100%;max-height:100%}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-image{width:auto;height:100%}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel{background-color:var(--gray-50);flex-direction:column;flex:1;width:100%;height:100%;display:flex;overflow-y:auto}@media (min-width:64rem){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel{max-width:var(--container-xs)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)30%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-main{flex:1}:where(.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-main>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-main{padding:calc(var(--spacing)*4);overflow:auto}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group{gap:calc(var(--spacing)*3);display:grid}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-btn-group{width:100%}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-btn.fi-active{background-color:var(--gray-50)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-btn.fi-active:where(.dark,.dark *){background-color:var(--gray-700)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-fo-file-upload-editor-control-panel-group-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--gray-950)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-group .fi-fo-file-upload-editor-control-panel-group-title:where(.dark,.dark *){color:var(--color-white)}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-footer{align-items:center;gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex}.fi-fo-file-upload .fi-fo-file-upload-editor .fi-fo-file-upload-editor-control-panel .fi-fo-file-upload-editor-control-panel-reset-action{margin-left:auto}.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal{background-color:var(--gray-100)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal{background-color:color-mix(in oklab,var(--gray-100)50%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal{opacity:1}.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .fi-fo-file-upload-editor .cropper-drag-box.cropper-crop.cropper-modal:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)80%,transparent)}}.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-circle-cropper .cropper-view-box,.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-circle-cropper .cropper-face{border-radius:50%}.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-crop-only .fi-fo-file-upload-editor-window{max-width:var(--container-3xl);flex-direction:column}.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-crop-only .fi-fo-file-upload-editor-image-ctn{min-height:calc(var(--spacing)*0);flex:1;overflow:hidden}.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-crop-only .fi-fo-file-upload-editor-control-panel{flex:none;height:auto}@media (min-width:64rem){.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-crop-only .fi-fo-file-upload-editor-control-panel{max-width:none}}.fi-fo-file-upload .fi-fo-file-upload-editor.fi-fo-file-upload-editor-crop-only .fi-fo-file-upload-editor-control-panel-footer{justify-content:flex-start}:where(.fi-fo-key-value .fi-fo-key-value-table-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-key-value .fi-fo-key-value-table{table-layout:auto;width:100%}:where(.fi-fo-key-value .fi-fo-key-value-table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-key-value .fi-fo-key-value-table>thead>tr>th{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-fo-key-value .fi-fo-key-value-table>thead>tr>th:where(.dark,.dark *){color:var(--gray-200)}.fi-fo-key-value .fi-fo-key-value-table>thead>tr>th.fi-has-action{width:calc(var(--spacing)*9);padding:calc(var(--spacing)*0)}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));border-color:var(--gray-200)}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-divide-x-reverse:1}:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-key-value .fi-fo-key-value-table>tbody>tr:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td{width:50%;padding:calc(var(--spacing)*0)}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td.fi-has-action{width:auto;padding:calc(var(--spacing)*.5)}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td.fi-has-action .fi-fo-key-value-table-row-sortable-handle{display:flex}.fi-fo-key-value .fi-fo-key-value-table>tbody>tr>td .fi-input{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-fo-key-value .fi-fo-key-value-add-action-ctn{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);justify-content:center;display:flex}@media (min-width:40rem){.fi-fo-key-value-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-markdown-editor{--color-cm-red:#991b1b;--color-cm-orange:#9a3412;--color-cm-amber:#92400e;--color-cm-yellow:#854d0e;--color-cm-lime:#3f6212;--color-cm-green:#166534;--color-cm-emerald:#065f46;--color-cm-teal:#115e59;--color-cm-cyan:#155e75;--color-cm-sky:#075985;--color-cm-blue:#1e40af;--color-cm-indigo:#3730a3;--color-cm-violet:#5b21b6;--color-cm-purple:#6b21a8;--color-cm-fuchsia:#86198f;--color-cm-pink:#9d174d;--color-cm-rose:#9f1239;--color-cm-gray:#18181b;--color-cm-gray-muted:#71717a;--color-cm-gray-background:#e4e4e7}.fi-fo-markdown-editor:not(.fi-disabled){max-width:100%;font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-950);overflow:hidden}.fi-fo-markdown-editor:not(.fi-disabled):where(.dark,.dark *){color:var(--color-white)}.fi-fo-markdown-editor.fi-disabled{border-radius:var(--radius-lg);background-color:var(--gray-50);width:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);display:block}.fi-fo-markdown-editor.fi-disabled:where(.dark,.dark *){color:var(--gray-400);--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor.fi-disabled:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror{padding-inline:calc(var(--spacing)*4)!important;padding-block:calc(var(--spacing)*3)!important}.fi-fo-markdown-editor .cm-s-easymde .cm-comment{color:var(--color-cm-gray-muted);background-color:#0000}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror-cursor{border-color:currentColor}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-keyword{color:var(--color-cm-violet)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-atom{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-number{color:var(--color-cm-green)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-def{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-variable{color:var(--color-cm-yellow)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-variable-2{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-variable-3{color:var(--color-cm-emerald)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-property,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-operator{color:var(--color-cm-gray)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-string,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-string-2{color:var(--color-cm-rose)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-meta{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-error{color:var(--color-cm-red)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-qualifier{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-builtin{color:var(--color-cm-violet)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-bracket,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-hr{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-quote{color:var(--color-cm-sky)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-quote+.cm-quote{color:var(--color-cm-gray-muted)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-list,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-list+.cm-variable-2,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-tab+.cm-variable-2{color:var(--color-cm-gray)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-link{color:var(--color-cm-blue)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-red)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-amber)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-attribute+.cm-string{color:var(--color-cm-green)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-code+.cm-comment:not(.cm-formatting-code){background-color:var(--color-cm-gray-background);color:var(--color-cm-gray)}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-2{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-3{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-4{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-5{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-header-6{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-comment{background-image:none}.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-formatting-code-block,.fi-fo-markdown-editor .EasyMDEContainer .cm-s-easymde .cm-tab+.cm-comment{color:inherit;background-color:#0000}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror{--tw-border-style:none;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);color:inherit;background-color:#0000;border-style:none}.fi-fo-markdown-editor .EasyMDEContainer .CodeMirror-scroll{height:auto}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar{gap:calc(var(--spacing)*1);border-style:var(--tw-border-style);border-width:0;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);border-radius:0;flex-wrap:wrap;display:flex}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8);border-radius:var(--radius-lg);--tw-border-style:none;padding:calc(var(--spacing)*0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;border-style:none;place-content:center;transition-duration:75ms;display:grid}@media (hover:hover){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:hover{background-color:var(--gray-50)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active{background-color:var(--gray-50)}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button:before{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);background-color:var(--gray-700);content:"";display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar button.active:before{background-color:var(--primary-600)}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .separator{width:calc(var(--spacing)*1);--tw-border-style:none;border-style:none;margin:calc(var(--spacing)*0)!important}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .bold:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .italic:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .strikethrough:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .link:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z' /%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z' /%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .heading:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .quote:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .code:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06ZM11.377 2.011a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06ZM11.377 2.011a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .unordered-list:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 15.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 10a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 15.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01ZM1.99 10a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .ordered-list:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3ZM2.97 8.654a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 9.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 15.5a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM2.625 13.875a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3ZM2.97 8.654a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 9.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM7.75 15.5a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5ZM2.625 13.875a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .table:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .upload-image:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .undo:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-toolbar .redo:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A")}.fi-fo-markdown-editor .EasyMDEContainer .editor-statusbar{display:none}.fi-fo-markdown-editor:where(.dark,.dark *){--color-cm-red:#f87171;--color-cm-orange:#fb923c;--color-cm-amber:#fbbf24;--color-cm-yellow:#facc15;--color-cm-lime:#a3e635;--color-cm-green:#4ade80;--color-cm-emerald:#4ade80;--color-cm-teal:#2dd4bf;--color-cm-cyan:#22d3ee;--color-cm-sky:#38bdf8;--color-cm-blue:#60a5fa;--color-cm-indigo:#818cf8;--color-cm-violet:#a78bfa;--color-cm-purple:#c084fc;--color-cm-fuchsia:#e879f9;--color-cm-pink:#f472b6;--color-cm-rose:#fb7185;--color-cm-gray:#fafafa;--color-cm-gray-muted:#a1a1aa;--color-cm-gray-background:#52525b}.fi-fo-markdown-editor:where(.dark,.dark *) .EasyMDEContainer .cm-s-easymde span.CodeMirror-selectedtext{filter:invert()}.fi-fo-markdown-editor:where(.dark,.dark *) .EasyMDEContainer .editor-toolbar button:before{background-color:var(--gray-300)}.fi-fo-markdown-editor:where(.dark,.dark *) .EasyMDEContainer .editor-toolbar button.active:before{background-color:var(--primary-400)}[x-sortable]:has(.fi-sortable-ghost) .fi-fo-markdown-editor{pointer-events:none}.fi-fo-modal-table-select:not(.fi-fo-modal-table-select-multiple){align-items:flex-start;column-gap:calc(var(--spacing)*3);--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5);display:flex}.fi-fo-modal-table-select.fi-fo-modal-table-select-multiple{gap:calc(var(--spacing)*2);display:grid}.fi-fo-modal-table-select.fi-fo-modal-table-select-multiple .fi-fo-modal-table-select-badges-ctn{gap:calc(var(--spacing)*1.5);flex-wrap:wrap;display:flex}.fi-fo-modal-table-select .fi-fo-modal-table-select-placeholder{color:var(--gray-400)}.fi-fo-modal-table-select .fi-fo-modal-table-select-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-radio{gap:calc(var(--spacing)*4)}.fi-fo-radio.fi-inline{flex-wrap:wrap;display:flex}.fi-fo-radio:not(.fi-inline).fi-grid-direction-col{margin-top:calc(var(--spacing)*-4)}.fi-fo-radio:not(.fi-inline).fi-grid-direction-col>.fi-fo-radio-label{break-inside:avoid;padding-top:calc(var(--spacing)*4)}.fi-fo-radio>.fi-fo-radio-label{column-gap:calc(var(--spacing)*3);align-self:flex-start;display:flex}.fi-fo-radio>.fi-fo-radio-label>.fi-radio-input{margin-top:calc(var(--spacing)*1);flex-shrink:0}.fi-fo-radio>.fi-fo-radio-label>.fi-fo-radio-label-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);display:grid}.fi-fo-radio>.fi-fo-radio-label>.fi-fo-radio-label-text:where(.dark,.dark *){color:var(--color-white)}.fi-fo-radio>.fi-fo-radio-label .fi-fo-radio-label-description{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--gray-500)}.fi-fo-radio>.fi-fo-radio-label .fi-fo-radio-label-description:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-repeater{row-gap:calc(var(--spacing)*4);display:grid}.fi-fo-repeater .fi-fo-repeater-actions{column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-repeater .fi-fo-repeater-actions.fi-hidden{display:none}.fi-fo-repeater .fi-fo-repeater-items{align-items:flex-start;gap:calc(var(--spacing)*4)}.fi-fo-repeater .fi-fo-repeater-item{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-item.fi-collapsed .fi-fo-repeater-item-header-collapsible-actions{rotate:-180deg}.fi-fo-repeater .fi-fo-repeater-item.fi-collapsed .fi-fo-repeater-item-header-collapse-action,.fi-fo-repeater .fi-fo-repeater-item:not(.fi-collapsed) .fi-fo-repeater-item-header-expand-action{pointer-events:none;opacity:0}.fi-fo-repeater .fi-fo-repeater-item-header{align-items:center;column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex;overflow:hidden}.fi-fo-repeater.fi-collapsible .fi-fo-repeater-item-header{cursor:pointer;-webkit-user-select:none;user-select:none}.fi-fo-repeater .fi-fo-repeater-item-header-start-actions{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-repeater .fi-fo-repeater-item-header-icon{color:var(--gray-400)}.fi-fo-repeater .fi-fo-repeater-item-header-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-repeater .fi-fo-repeater-item-header-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-fo-repeater .fi-fo-repeater-item-header-label:where(.dark,.dark *){color:var(--color-white)}.fi-fo-repeater .fi-fo-repeater-item-header-label.fi-truncated{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fi-fo-repeater .fi-fo-repeater-item-header-end-actions{align-items:center;column-gap:calc(var(--spacing)*3);margin-inline-start:auto;display:flex}.fi-fo-repeater .fi-fo-repeater-item-header-collapsible-actions{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:relative}.fi-fo-repeater .fi-fo-repeater-item-header-collapse-action{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fi-fo-repeater .fi-fo-repeater-item-header-expand-action{inset:calc(var(--spacing)*0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:absolute;rotate:180deg}.fi-fo-repeater .fi-fo-repeater-item-has-header>.fi-fo-repeater-item-content{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-100)}.fi-fo-repeater .fi-fo-repeater-item-has-header>.fi-fo-repeater-item-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-item-has-header>.fi-fo-repeater-item-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-item-content{padding:calc(var(--spacing)*4)}.fi-fo-repeater .fi-fo-repeater-add-between-items-ctn{justify-content:center;width:100%;display:flex}.fi-fo-repeater .fi-fo-repeater-add-between-items{border-radius:var(--radius-lg);background-color:var(--color-white)}.fi-fo-repeater .fi-fo-repeater-add-between-items:where(.dark,.dark *){background-color:var(--gray-900)}.fi-fo-repeater .fi-fo-repeater-label-between-items-ctn{margin-block:calc(var(--spacing)*-2);align-items:center;display:flex;position:relative}.fi-fo-repeater .fi-fo-repeater-label-between-items-divider-before{width:calc(var(--spacing)*3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);flex-shrink:0}.fi-fo-repeater .fi-fo-repeater-label-between-items-divider-before:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-label-between-items-divider-before:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-label-between-items{padding-inline:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);flex-shrink:0}.fi-fo-repeater .fi-fo-repeater-label-between-items:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-repeater .fi-fo-repeater-label-between-items-divider-after{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);flex:1}.fi-fo-repeater .fi-fo-repeater-label-between-items-divider-after:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-repeater .fi-fo-repeater-label-between-items-divider-after:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-repeater .fi-fo-repeater-add{justify-content:center;width:100%;display:flex}.fi-fo-repeater .fi-fo-repeater-add.fi-align-start,.fi-fo-repeater .fi-fo-repeater-add.fi-align-left{justify-content:flex-start}.fi-fo-repeater .fi-fo-repeater-add.fi-align-end,.fi-fo-repeater .fi-fo-repeater-add.fi-align-right{justify-content:flex-end}.fi-fo-simple-repeater{row-gap:calc(var(--spacing)*4);display:grid}.fi-fo-simple-repeater .fi-fo-simple-repeater-items{gap:calc(var(--spacing)*4)}.fi-fo-simple-repeater .fi-fo-simple-repeater-item{justify-content:flex-start;column-gap:calc(var(--spacing)*3);display:flex}.fi-fo-simple-repeater .fi-fo-simple-repeater-item-content{flex:1}.fi-fo-simple-repeater .fi-fo-simple-repeater-item-actions{align-items:center;column-gap:calc(var(--spacing)*1);display:flex}.fi-fo-simple-repeater .fi-fo-simple-repeater-add{justify-content:center;width:100%;display:flex}.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-start,.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-left{justify-content:flex-start}.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-end,.fi-fo-simple-repeater .fi-fo-simple-repeater-add.fi-align-right{justify-content:flex-end}.fi-fo-table-repeater{gap:calc(var(--spacing)*3);display:grid}.fi-fo-table-repeater>table{width:100%;display:block}:where(.fi-fo-table-repeater>table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-fo-table-repeater>table{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}:where(.fi-fo-table-repeater>table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-table-repeater>table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-table-repeater>table:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-table-repeater>table>thead{white-space:nowrap;display:none}.fi-fo-table-repeater>table>thead>tr>th{border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-fo-table-repeater>table>thead>tr>th:first-of-type{border-top-left-radius:var(--radius-xl)}.fi-fo-table-repeater>table>thead>tr>th:last-of-type{border-top-right-radius:var(--radius-xl)}.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater>table>thead>tr>th:where(.dark,.dark *){color:var(--color-white)}.fi-fo-table-repeater>table>thead>tr>th:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-fo-table-repeater>table>thead>tr>th:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-fo-table-repeater>table>thead>tr>th.fi-align-start,.fi-fo-table-repeater>table>thead>tr>th.fi-align-left{text-align:start}.fi-fo-table-repeater>table>thead>tr>th.fi-align-end,.fi-fo-table-repeater>table>thead>tr>th.fi-align-right{text-align:end}.fi-fo-table-repeater>table>thead>tr>th.fi-wrapped{white-space:normal}.fi-fo-table-repeater>table>thead>tr>th:not(.fi-wrapped){white-space:nowrap}.fi-fo-table-repeater>table>thead>tr>th.fi-fo-table-repeater-empty-header-cell{width:calc(var(--spacing)*1)}.fi-fo-table-repeater>table>tbody{display:block}:where(.fi-fo-table-repeater>table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-table-repeater>table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-table-repeater>table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater>table>tbody>tr{gap:calc(var(--spacing)*6);padding:calc(var(--spacing)*6);display:grid}.fi-fo-table-repeater>table>tbody>tr>td{display:block}.fi-fo-table-repeater>table>tbody>tr>td.fi-hidden{display:none}.fi-fo-table-repeater>table>tbody>tr>td.fi-vertical-align-start{vertical-align:top}.fi-fo-table-repeater>table>tbody>tr>td.fi-vertical-align-center{vertical-align:middle}.fi-fo-table-repeater>table>tbody>tr>td.fi-vertical-align-end{vertical-align:bottom}.fi-fo-table-repeater>table .fi-fo-table-repeater-header-required-mark{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-600)}.fi-fo-table-repeater>table .fi-fo-table-repeater-header-required-mark:where(.dark,.dark *){color:var(--danger-400)}.fi-fo-table-repeater>table .fi-fo-table-repeater-actions{align-items:center;column-gap:calc(var(--spacing)*3);height:100%;display:flex}@supports (container-type:inline-size){.fi-fo-table-repeater{container-type:inline-size}@container (min-width:36rem){.fi-fo-table-repeater>table{display:table}.fi-fo-table-repeater>table>thead{display:table-header-group}.fi-fo-table-repeater>table>tbody{display:table-row-group}.fi-fo-table-repeater>table>tbody>tr{padding:calc(var(--spacing)*0);display:table-row}.fi-fo-table-repeater>table>tbody>tr>td{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td.fi-hidden{display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry{row-gap:calc(var(--spacing)*0)}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field-label-content,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry-label{display:none}.fi-fo-table-repeater>table .fi-fo-table-repeater-actions{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td{border-color:var(--gray-200);padding-inline:calc(var(--spacing)*0);padding-block:calc(var(--spacing)*1)}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-fo-table-repeater.fi-compact .fi-input-wrp{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;background-color:#0000!important}.fi-fo-table-repeater.fi-compact .fi-fo-field-wrp-error-message{padding-inline:calc(var(--spacing)*3);padding-bottom:calc(var(--spacing)*2)}.fi-fo-table-repeater.fi-compact .fi-in-entry-content,.fi-fo-table-repeater.fi-compact .fi-fo-radio{padding-inline:calc(var(--spacing)*3)}}}@supports not (container-type:inline-size){@media (min-width:64rem){.fi-fo-table-repeater>table{display:table}.fi-fo-table-repeater>table>thead{display:table-header-group}.fi-fo-table-repeater>table>tbody{display:table-row-group}.fi-fo-table-repeater>table>tbody>tr{padding:calc(var(--spacing)*0);display:table-row}.fi-fo-table-repeater>table>tbody>tr>td{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td.fi-hidden{display:table-cell}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry{row-gap:calc(var(--spacing)*0)}.fi-fo-table-repeater>table>tbody>tr>td .fi-fo-field-label-content,.fi-fo-table-repeater>table>tbody>tr>td .fi-in-entry-label{display:none}.fi-fo-table-repeater>table .fi-fo-table-repeater-actions{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td{border-color:var(--gray-200);padding-inline:calc(var(--spacing)*0);padding-block:calc(var(--spacing)*1)}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-fo-table-repeater.fi-compact>table>tbody>tr>td:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-fo-table-repeater.fi-compact .fi-input-wrp{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;background-color:#0000!important}.fi-fo-table-repeater.fi-compact .fi-fo-field-wrp-error-message{padding-inline:calc(var(--spacing)*3);padding-bottom:calc(var(--spacing)*2)}.fi-fo-table-repeater.fi-compact .fi-in-entry-content,.fi-fo-table-repeater.fi-compact .fi-fo-radio{padding-inline:calc(var(--spacing)*3)}}}.fi-fo-table-repeater .fi-fo-table-repeater-add{justify-content:center;width:100%;display:flex}.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-start,.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-left{justify-content:flex-start}.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-end,.fi-fo-table-repeater .fi-fo-table-repeater-add.fi-align-right{justify-content:flex-end}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file{pointer-events:none;cursor:wait;opacity:.5}.fi-fo-rich-editor .fi-fo-rich-editor-toolbar{column-gap:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);flex-wrap:wrap;display:flex;position:relative}.fi-fo-rich-editor .fi-fo-rich-editor-toolbar:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-toolbar:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-floating-toolbar{visibility:hidden;z-index:20;margin-top:calc(var(--spacing)*-1);column-gap:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*1);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);background-color:var(--color-white);max-width:100%;padding:calc(var(--spacing)*1);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-wrap:wrap;display:flex;position:absolute}.fi-fo-rich-editor .fi-fo-rich-editor-floating-toolbar:where(.dark,.dark *){border-color:var(--gray-600);background-color:var(--gray-800)}.fi-fo-rich-editor .fi-fo-rich-editor-toolbar-group{column-gap:calc(var(--spacing)*1);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-tool{height:calc(var(--spacing)*8);min-width:calc(var(--spacing)*8);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-700);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;justify-content:center;align-items:center;transition-duration:75ms;display:flex}@media (hover:hover){.fi-fo-rich-editor .fi-fo-rich-editor-tool:hover{background-color:var(--gray-50)}}.fi-fo-rich-editor .fi-fo-rich-editor-tool:focus-visible{background-color:var(--gray-50)}.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *){color:var(--gray-200)}@media (hover:hover){.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-tool:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-tool[disabled]{pointer-events:none;cursor:default;opacity:.7}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active{background-color:var(--gray-50);color:var(--primary-600)}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-active:where(.dark,.dark *){color:var(--primary-400)}.fi-fo-rich-editor .fi-fo-rich-editor-tool.fi-fo-rich-editor-tool-with-label{align-items:center;column-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*1.5)}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message{align-items:center;column-gap:calc(var(--spacing)*3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message:where(.dark,.dark *){color:var(--gray-200)}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message .fi-loading-indicator{color:var(--gray-400)}.fi-fo-rich-editor .fi-fo-rich-editor-uploading-file-message .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-fo-rich-editor .fi-fo-rich-editor-file-validation-message{align-items:center;column-gap:calc(var(--spacing)*3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--danger-200);background-color:var(--danger-50);padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--danger-700);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-file-validation-message:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-file-validation-message:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-file-validation-message:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-file-validation-message:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-file-validation-message:where(.dark,.dark *){color:var(--danger-200)}.fi-fo-rich-editor .fi-fo-rich-editor-main{flex-direction:column-reverse;display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-content{min-height:calc(var(--spacing)*12);width:100%;padding-inline:calc(var(--spacing)*5);padding-block:calc(var(--spacing)*3);flex:1;position:relative}.fi-fo-rich-editor span[data-type=mergeTag]{margin-block:calc(var(--spacing)*0);white-space:nowrap;display:inline-block}.fi-fo-rich-editor span[data-type=mergeTag]:before{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);opacity:.6;content:"{{";margin-inline-end:calc(var(--spacing)*1)}.fi-fo-rich-editor span[data-type=mergeTag]:after{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);opacity:.6;content:"}}";margin-inline-start:calc(var(--spacing)*1)}.fi-fo-rich-editor span[data-type=mention]{margin-block:calc(var(--spacing)*0);background-color:var(--primary-50);padding-inline:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--primary-600);border-radius:.25rem;display:inline-block}.fi-fo-rich-editor span[data-type=mention]:where(.dark,.dark *){background-color:var(--primary-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor span[data-type=mention]:where(.dark,.dark *){background-color:color-mix(in oklab,var(--primary-400)10%,transparent)}}.fi-fo-rich-editor span[data-type=mention]:where(.dark,.dark *){color:var(--primary-400)}.fi-fo-rich-editor .fi-fo-rich-editor-panels{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);width:100%}.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-panels:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)30%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-panel-header{align-items:flex-start;gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-panel-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);flex:1}.fi-fo-rich-editor .fi-fo-rich-editor-panel-heading:where(.dark,.dark *){color:var(--color-white)}.fi-fo-rich-editor .fi-fo-rich-editor-panel-close-btn-ctn{flex-shrink:0}.fi-fo-rich-editor .fi-fo-rich-editor-panel{display:grid}:where(.fi-fo-rich-editor .fi-fo-rich-editor-panel>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-fo-rich-editor .fi-fo-rich-editor-panel:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-rich-editor .fi-fo-rich-editor-panel:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tags-list{gap:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn{cursor:move;border-radius:var(--radius-lg);background-color:var(--color-white);padding:calc(var(--spacing)*1);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-600)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn{--tw-ring-color:color-mix(in oklab,var(--gray-600)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){color:var(--gray-200);--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-merge-tag-btn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-400)20%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-blocks-list{gap:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn{cursor:move;gap:calc(var(--spacing)*1.5);border-radius:var(--radius-lg);background-color:var(--color-white);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-600);display:flex}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn{--tw-ring-color:color-mix(in oklab,var(--gray-600)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){background-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-400)10%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){color:var(--gray-200);--tw-ring-color:var(--gray-400)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-btn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--gray-400)20%,transparent)}}.fi-fo-rich-editor .tiptap{height:100%}.fi-fo-rich-editor .tiptap:focus{--tw-outline-style:none;outline-style:none}div:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode)[data-type=customBlock],img:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}:is(div:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode)[data-type=customBlock],img:is(.fi-fo-rich-editor .tiptap:focus .ProseMirror-selectednode)):where(.dark,.dark *){--tw-ring-color:var(--primary-500)}.fi-fo-rich-editor .tiptap p.is-editor-empty:first-child:before{pointer-events:none;float:inline-start;height:calc(var(--spacing)*0);color:var(--gray-400);content:attr(data-placeholder)}.fi-fo-rich-editor .tiptap p.is-editor-empty:first-child:where(.dark,.dark *):before{color:var(--gray-500)}.fi-fo-rich-editor .tiptap [data-type=details]{margin-block:calc(var(--spacing)*6);gap:calc(var(--spacing)*1);border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950);display:flex}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]{border-color:color-mix(in oklab,var(--gray-950)20%,transparent)}}.fi-fo-rich-editor .tiptap [data-type=details]{padding:calc(var(--spacing)*4)}.fi-fo-rich-editor .tiptap [data-type=details]:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-rich-editor .tiptap [data-type=details]>div:first-of-type{margin-top:calc(var(--spacing)*0)!important}.fi-fo-rich-editor .tiptap [data-type=details] summary{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);list-style-type:none}.fi-fo-rich-editor .tiptap [data-type=details]>button{margin-top:1px;margin-right:calc(var(--spacing)*2);width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);border-radius:var(--radius-md);padding:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:1;background-color:#0000;justify-content:center;align-items:center;line-height:1;display:flex}@media (hover:hover){.fi-fo-rich-editor .tiptap [data-type=details]>button:hover{background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]>button:hover{background-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-rich-editor .tiptap [data-type=details]>button:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap [data-type=details]>button:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-fo-rich-editor .tiptap [data-type=details]>button:before{content:"▶"}.fi-fo-rich-editor .tiptap [data-type=details].is-open>button:before{transform:rotate(90deg)}.fi-fo-rich-editor .tiptap [data-type=details]>div{gap:calc(var(--spacing)*4);flex-direction:column;width:100%;display:flex}.fi-fo-rich-editor .tiptap [data-type=details]>div>[data-type=detailsContent]{margin-top:calc(var(--spacing)*0)!important}.fi-fo-rich-editor .tiptap [data-type=details]>div>[data-type=detailsContent]>:last-child{margin-bottom:calc(var(--spacing)*4)}.fi-fo-rich-editor .tiptap table{margin:calc(var(--spacing)*0);table-layout:fixed;border-collapse:collapse;width:100%;overflow:hidden}.fi-fo-rich-editor .tiptap table:first-child{margin-top:calc(var(--spacing)*0)}.fi-fo-rich-editor .tiptap table td,.fi-fo-rich-editor .tiptap table th{border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300);vertical-align:top;min-width:1em;position:relative;padding:calc(var(--spacing)*2)!important}:is(.fi-fo-rich-editor .tiptap table td,.fi-fo-rich-editor .tiptap table th):where(.dark,.dark *){border-color:var(--gray-600)}:is(.fi-fo-rich-editor .tiptap table td,.fi-fo-rich-editor .tiptap table th)>*{margin-bottom:calc(var(--spacing)*0)}.fi-fo-rich-editor .tiptap table th{background-color:var(--gray-100);text-align:start;--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-fo-rich-editor .tiptap table th:where(.dark,.dark *){background-color:var(--gray-800);color:var(--color-white)}.fi-fo-rich-editor .tiptap table .selectedCell:after{pointer-events:none;inset-inline-start:calc(var(--spacing)*0);inset-inline-end:calc(var(--spacing)*0);top:calc(var(--spacing)*0);bottom:calc(var(--spacing)*0);z-index:2;background-color:var(--gray-200);position:absolute}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap table .selectedCell:after{background-color:color-mix(in oklab,var(--gray-200)80%,transparent)}}.fi-fo-rich-editor .tiptap table .selectedCell:after{--tw-content:"";content:var(--tw-content)}.fi-fo-rich-editor .tiptap table .selectedCell:where(.dark,.dark *):after{background-color:var(--gray-800)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap table .selectedCell:where(.dark,.dark *):after{background-color:color-mix(in oklab,var(--gray-800)80%,transparent)}}.fi-fo-rich-editor .tiptap table .column-resize-handle{pointer-events:none;inset-inline-end:calc(var(--spacing)*0);top:calc(var(--spacing)*0);bottom:calc(var(--spacing)*0);width:calc(var(--spacing)*1);background-color:var(--primary-600);position:absolute;margin:calc(var(--spacing)*0)!important}.fi-fo-rich-editor .tiptap .tableWrapper{overflow-x:auto}.fi-fo-rich-editor .tiptap.resize-cursor{cursor:col-resize;cursor:ew-resize}.fi-fo-rich-editor .tiptap .grid-layout>.grid-layout-col{border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap .grid-layout>.grid-layout-col{border-color:color-mix(in oklab,var(--gray-950)20%,transparent)}}.fi-fo-rich-editor .tiptap .grid-layout>.grid-layout-col{padding:calc(var(--spacing)*4)}.fi-fo-rich-editor .tiptap .grid-layout>.grid-layout-col:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .tiptap .grid-layout>.grid-layout-col:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-rich-editor .tiptap [data-resize-handle]{z-index:10;background:#00000080;border:1px solid #fffc;border-radius:2px;position:absolute}.fi-fo-rich-editor .tiptap [data-resize-handle]:hover{background:#000c}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle]{margin:0!important}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=top-left],.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=top-right],.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=bottom-left],.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=bottom-right]{width:8px;height:8px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=top-left]{cursor:nwse-resize;top:-4px;left:-4px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=top-right]{cursor:nesw-resize;top:-4px;right:-4px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=bottom-left]{cursor:nesw-resize;bottom:-4px;left:-4px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=bottom-right]{cursor:nwse-resize;bottom:-4px;right:-4px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=top],.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=bottom]{height:6px;left:8px;right:8px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=top]{cursor:ns-resize;top:-3px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=bottom]{cursor:ns-resize;bottom:-3px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=left],.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=right]{width:6px;top:8px;bottom:8px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=left]{cursor:ew-resize;left:-3px}.fi-fo-rich-editor .tiptap [data-resize-handle][data-resize-handle=right]{cursor:ew-resize;right:-3px}.fi-fo-rich-editor .tiptap [data-resize-state=true] [data-resize-wrapper]{border-radius:.125rem;outline:1px solid #00000040;position:relative}.fi-fo-rich-editor .tiptap [data-resize-container]{display:inline-block!important}@supports (-webkit-touch-callout:none){.fi-fo-rich-editor .tiptap.ProseMirror{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}.fi-fo-rich-editor img{display:inline-block}.fi-fo-rich-editor div[data-type=customBlock]{display:grid}:where(.fi-fo-rich-editor div[data-type=customBlock]>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-fo-rich-editor div[data-type=customBlock]{border-radius:var(--radius-lg);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);overflow:hidden}:where(.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor div[data-type=customBlock]:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header{align-items:flex-start;gap:calc(var(--spacing)*3);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);display:flex}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-header:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)30%,transparent)}}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);flex:1}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-heading:where(.dark,.dark *){color:var(--color-white)}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-edit-btn-ctn,.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-delete-btn-ctn{flex-shrink:0}.fi-fo-rich-editor .fi-fo-rich-editor-custom-block-preview{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3)}@supports (container-type:inline-size){.fi-fo-rich-editor{container-type:inline-size}@container (min-width:42rem){.fi-fo-rich-editor .fi-fo-rich-editor-main{flex-direction:row}.fi-fo-rich-editor .fi-fo-rich-editor-panels{max-width:var(--container-3xs);border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0;border-end-end-radius:var(--radius-lg)}}}@supports not (container-type:inline-size){@media (min-width:48rem){.fi-fo-rich-editor .fi-fo-rich-editor-main{flex-direction:row}.fi-fo-rich-editor .fi-fo-rich-editor-panels{max-width:var(--container-3xs);border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0;border-end-end-radius:var(--radius-lg)}}}:scope .fi-fo-rich-editor-text-color-select-option{align-items:center;gap:calc(var(--spacing)*2);display:flex}:scope .fi-fo-rich-editor-text-color-select-option .fi-fo-rich-editor-text-color-select-option-preview{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5);background-color:var(--color);border-radius:3.40282e38px;flex-shrink:0}:scope .fi-fo-rich-editor-text-color-select-option .fi-fo-rich-editor-text-color-select-option-preview:where(.dark,.dark *){background-color:var(--dark-color)}[x-sortable]:has(.fi-sortable-ghost) .fi-fo-rich-editor{pointer-events:none}.fi-fo-select .fi-hidden{display:none}@media (min-width:40rem){.fi-fo-select-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-slider{gap:calc(var(--spacing)*4);border-radius:var(--radius-lg);border-style:var(--tw-border-style);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);background-color:#0000;border-width:0}.fi-fo-slider:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-slider .noUi-connect{background-color:var(--primary-500)}.fi-fo-slider .noUi-connect:where(.dark,.dark *){background-color:var(--primary-600)}.fi-fo-slider .noUi-connects{border-radius:var(--radius-lg);background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-connects{background-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-fo-slider .noUi-connects:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-connects:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-slider .noUi-handle{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-950);position:absolute}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-handle{border-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-fo-slider .noUi-handle{background-color:var(--color-white);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);backface-visibility:hidden}.fi-fo-slider .noUi-handle:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--primary-600)}.fi-fo-slider .noUi-handle:where(.dark,.dark *){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-handle:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-slider .noUi-handle:where(.dark,.dark *){background-color:var(--gray-700)}.fi-fo-slider .noUi-handle:where(.dark,.dark *):focus{outline-color:var(--primary-500)}.fi-fo-slider .noUi-handle:before,.fi-fo-slider .noUi-handle:after{border-style:var(--tw-border-style);background-color:var(--gray-400);border-width:0}.fi-fo-slider .noUi-tooltip{border-radius:var(--radius-md);border-style:var(--tw-border-style);background-color:var(--color-white);color:var(--gray-950);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);border-width:0}.fi-fo-slider .noUi-tooltip:where(.dark,.dark *){background-color:var(--gray-800);color:var(--color-white);--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-slider .noUi-tooltip:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-slider .noUi-pips .noUi-value{color:var(--gray-950)}.fi-fo-slider .noUi-pips .noUi-value:where(.dark,.dark *){color:var(--color-white)}.fi-fo-slider.fi-fo-slider-vertical{margin-top:calc(var(--spacing)*4);height:calc(var(--spacing)*40)}.fi-fo-slider.fi-fo-slider-vertical.fi-fo-slider-has-tooltips{margin-inline-start:calc(var(--spacing)*10)}.fi-fo-slider:not(.fi-fo-slider-vertical).fi-fo-slider-has-pips{margin-bottom:calc(var(--spacing)*8)}.fi-fo-slider:not(.fi-fo-slider-vertical).fi-fo-slider-has-tooltips{margin-top:calc(var(--spacing)*10)}.fi-fo-slider:not(.fi-fo-slider-vertical) .noUi-pips .noUi-value{margin-top:calc(var(--spacing)*1)}.fi-fo-tags-input.fi-disabled .fi-badge-delete-btn{display:none}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn{gap:calc(var(--spacing)*1.5);border-top-style:var(--tw-border-style);border-top-width:1px;border-top-color:var(--gray-200);width:100%;padding:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn:where(.dark,.dark *){border-top-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-fo-tags-input .fi-fo-tags-input-tags-ctn:where(.dark,.dark *){border-top-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn>template{display:none}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn>.fi-badge.fi-reorderable{cursor:move}.fi-fo-tags-input .fi-fo-tags-input-tags-ctn>.fi-badge .fi-badge-label-ctn{text-align:start;-webkit-user-select:none;user-select:none}@media (min-width:40rem){.fi-fo-tags-input-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-text-input{overflow:hidden}.fi-fo-text-input input.fi-revealable::-ms-reveal{display:none}.fi-fo-textarea{overflow:hidden}.fi-fo-textarea textarea{--tw-border-style:none;width:100%;height:100%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-950);background-color:#0000;border-style:none;display:block}.fi-fo-textarea textarea::placeholder{color:var(--gray-400)}.fi-fo-textarea textarea:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-outline-style:none;outline-style:none}.fi-fo-textarea textarea:disabled{color:var(--gray-500);-webkit-text-fill-color:var(--color-gray-500)}.fi-fo-textarea textarea:disabled::placeholder{-webkit-text-fill-color:var(--color-gray-400)}.fi-fo-textarea textarea:where(.dark,.dark *){color:var(--color-white)}.fi-fo-textarea textarea:where(.dark,.dark *)::placeholder{color:var(--gray-500)}.fi-fo-textarea textarea:where(.dark,.dark *):disabled{color:var(--gray-400);-webkit-text-fill-color:var(--color-gray-400)}.fi-fo-textarea textarea:where(.dark,.dark *):disabled::placeholder{-webkit-text-fill-color:var(--color-gray-500)}@supports (-webkit-touch-callout:none){.fi-fo-textarea textarea{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}.fi-fo-textarea.fi-autosizable textarea{resize:none}@media (min-width:40rem){.fi-fo-textarea-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-fo-toggle-buttons.fi-btn-group{width:max-content}.fi-fo-toggle-buttons:not(.fi-btn-group){gap:calc(var(--spacing)*3)}.fi-fo-toggle-buttons:not(.fi-btn-group).fi-inline{flex-wrap:wrap;display:flex}.fi-fo-toggle-buttons:not(.fi-btn-group):not(.fi-inline).fi-grid-direction-col{margin-top:calc(var(--spacing)*-3)}.fi-fo-toggle-buttons:not(.fi-btn-group):not(.fi-inline).fi-grid-direction-col .fi-fo-toggle-buttons-btn-ctn{break-inside:avoid;padding-top:calc(var(--spacing)*3)}.fi-fo-toggle-buttons .fi-fo-toggle-buttons-input{pointer-events:none;opacity:0;position:absolute}@media (min-width:40rem){.fi-fo-toggle-buttons-wrp.fi-fo-field-has-inline-label .fi-fo-field-label-col{padding-top:calc(var(--spacing)*1.5)}}.fi-in-code .phiki{border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);overflow-x:auto}.fi-in-code .phiki:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-in-code .phiki:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-in-code:where(.dark,.dark *) .phiki,.fi-in-code:where(.dark,.dark *) .phiki span{color:var(--phiki-dark-color)!important;background-color:var(--phiki-dark-background-color)!important;font-style:var(--phiki-dark-font-style)!important;font-weight:var(--phiki-dark-font-weight)!important;-webkit-text-decoration:var(--phiki-dark-text-decoration)!important;-webkit-text-decoration:var(--phiki-dark-text-decoration)!important;text-decoration:var(--phiki-dark-text-decoration)!important}.fi-in-code.fi-copyable{cursor:pointer}.fi-in-color{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-in-color.fi-wrapped{flex-wrap:wrap}.fi-in-color.fi-align-start,.fi-in-color.fi-align-left{justify-content:flex-start}.fi-in-color.fi-align-center{justify-content:center}.fi-in-color.fi-align-end,.fi-in-color.fi-align-right{justify-content:flex-end}.fi-in-color.fi-align-justify,.fi-in-color.fi-align-between{justify-content:space-between}.fi-in-color>.fi-in-color-item{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6);border-radius:var(--radius-md)}.fi-in-color>.fi-in-color-item.fi-copyable{cursor:pointer}.fi-in-entry{row-gap:calc(var(--spacing)*2);display:grid}@media (min-width:40rem){.fi-in-entry.fi-in-entry-has-inline-label{align-items:flex-start;column-gap:calc(var(--spacing)*4);grid-template-columns:repeat(3,minmax(0,1fr))}.fi-in-entry.fi-in-entry-has-inline-label .fi-in-entry-content-col{grid-column:span 2/span 2}}.fi-in-entry .fi-in-entry-label-ctn{align-items:flex-start;column-gap:calc(var(--spacing)*3);display:flex}.fi-in-entry .fi-in-entry-label-ctn>.fi-sc:first-child{flex-grow:0}.fi-in-entry .fi-in-entry-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-in-entry .fi-in-entry-label:where(.dark,.dark *){color:var(--color-white)}.fi-in-entry .fi-in-entry-label.fi-hidden{display:none}.fi-in-entry .fi-in-entry-label-col,.fi-in-entry .fi-in-entry-content-col{row-gap:calc(var(--spacing)*2);grid-auto-columns:minmax(0,1fr);display:grid}.fi-in-entry .fi-in-entry-content-ctn{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;display:flex}.fi-in-entry .fi-in-entry-content{text-align:start;width:100%;display:block}.fi-in-entry .fi-in-entry-content.fi-align-center{text-align:center}.fi-in-entry .fi-in-entry-content.fi-align-end{text-align:end}.fi-in-entry .fi-in-entry-content.fi-align-left{text-align:left}.fi-in-entry .fi-in-entry-content.fi-align-right{text-align:right}.fi-in-entry .fi-in-entry-content.fi-align-justify,.fi-in-entry .fi-in-entry-content.fi-align-between{text-align:justify}.fi-in-entry .fi-in-placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-400)}.fi-in-entry .fi-in-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-in-key-value{table-layout:auto;width:100%}:where(.fi-in-key-value>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-in-key-value{border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}:where(.fi-in-key-value:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-key-value:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-key-value:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-in-key-value:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-key-value:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-in-key-value:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-in-key-value th{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-in-key-value th:where(.dark,.dark *){color:var(--gray-200)}:where(.fi-in-key-value tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-in-key-value tbody{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (min-width:40rem){.fi-in-key-value tbody{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}}:where(.fi-in-key-value tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-key-value tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-in-key-value tr>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));border-color:var(--gray-200)}:where(.fi-in-key-value tr:where(:dir(rtl),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-divide-x-reverse:1}:where(.fi-in-key-value tr:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-key-value tr:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-key-value td{width:50%;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);overflow-wrap:anywhere}.fi-in-key-value td.fi-in-placeholder{width:100%;padding-block:calc(var(--spacing)*2);text-align:center;font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-in-icon{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-in-icon.fi-wrapped{flex-wrap:wrap}.fi-in-icon.fi-in-icon-has-line-breaks{flex-direction:column}.fi-in-icon.fi-align-start,.fi-in-icon.fi-align-left{justify-content:flex-start}.fi-in-icon.fi-align-center{justify-content:center}.fi-in-icon.fi-align-end,.fi-in-icon.fi-align-right{justify-content:flex-end}.fi-in-icon.fi-align-justify,.fi-in-icon.fi-align-between{justify-content:space-between}.fi-in-icon>.fi-icon,.fi-in-icon>a>.fi-icon{color:var(--gray-400)}:is(.fi-in-icon>.fi-icon,.fi-in-icon>a>.fi-icon):where(.dark,.dark *){color:var(--gray-500)}:is(.fi-in-icon>.fi-icon,.fi-in-icon>a>.fi-icon).fi-color{color:var(--text)}:is(.fi-in-icon>.fi-icon,.fi-in-icon>a>.fi-icon).fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-in-image{align-items:center;gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-in-image img{object-fit:cover;object-position:center;max-width:none}.fi-in-image.fi-circular img{border-radius:3.40282e38px}.fi-in-image.fi-in-image-ring img,.fi-in-image.fi-in-image-ring .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-white)}:is(.fi-in-image.fi-in-image-ring img,.fi-in-image.fi-in-image-ring .fi-in-image-limited-remaining-text):where(.dark,.dark *){--tw-ring-color:var(--gray-900)}.fi-in-image.fi-in-image-ring.fi-in-image-ring-1 img,.fi-in-image.fi-in-image-ring.fi-in-image-ring-1 .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-in-image.fi-in-image-ring.fi-in-image-ring-2 img,.fi-in-image.fi-in-image-ring.fi-in-image-ring-2 .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-in-image.fi-in-image-ring.fi-in-image-ring-4 img,.fi-in-image.fi-in-image-ring.fi-in-image-ring-4 .fi-in-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-in-image.fi-in-image-overlap-1{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-1)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-2{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-3{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-3)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-4{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-4)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-5{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-5)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-6{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-6)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-7{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-7>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-7)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-7)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-in-image-overlap-8{column-gap:calc(var(--spacing)*0)}:where(.fi-in-image.fi-in-image-overlap-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-8)*calc(1 - var(--tw-space-x-reverse)))}.fi-in-image.fi-wrapped{flex-wrap:wrap}.fi-in-image.fi-align-start,.fi-in-image.fi-align-left{justify-content:flex-start}.fi-in-image.fi-align-center{justify-content:center}.fi-in-image.fi-align-end,.fi-in-image.fi-align-right{justify-content:flex-end}.fi-in-image.fi-align-justify,.fi-in-image.fi-align-between{justify-content:space-between}.fi-in-image.fi-stacked .fi-in-image-limited-remaining-text{background-color:var(--gray-100);border-radius:3.40282e38px}.fi-in-image.fi-stacked .fi-in-image-limited-remaining-text:where(.dark,.dark *){background-color:var(--gray-800)}.fi-in-image .fi-in-image-limited-remaining-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);justify-content:center;align-items:center;display:flex}.fi-in-image .fi-in-image-limited-remaining-text:where(.dark,.dark *){color:var(--gray-400)}.fi-in-image .fi-in-image-limited-remaining-text.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-in-image .fi-in-image-limited-remaining-text.fi-size-base,.fi-in-image .fi-in-image-limited-remaining-text.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-in-image .fi-in-image-limited-remaining-text.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}ul.fi-in-repeatable{gap:calc(var(--spacing)*4)}.fi-in-repeatable .fi-in-repeatable-item{display:block}.fi-in-repeatable.fi-contained .fi-in-repeatable-item{border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-in-repeatable.fi-contained .fi-in-repeatable-item:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-in-table-repeatable{gap:calc(var(--spacing)*3);display:grid}.fi-in-table-repeatable>table{width:100%;display:block}:where(.fi-in-table-repeatable>table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-in-table-repeatable>table{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}:where(.fi-in-table-repeatable>table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-table-repeatable>table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-in-table-repeatable>table:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-in-table-repeatable>table:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-in-table-repeatable>table>thead{white-space:nowrap;display:none}.fi-in-table-repeatable>table>thead>tr>th{border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-in-table-repeatable>table>thead>tr>th:first-of-type{border-top-left-radius:var(--radius-xl)}.fi-in-table-repeatable>table>thead>tr>th:last-of-type{border-top-right-radius:var(--radius-xl)}.fi-in-table-repeatable>table>thead>tr>th:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-in-table-repeatable>table>thead>tr>th:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-table-repeatable>table>thead>tr>th:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-in-table-repeatable>table>thead>tr>th:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-table-repeatable>table>thead>tr>th:where(.dark,.dark *){color:var(--color-white)}.fi-in-table-repeatable>table>thead>tr>th:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-in-table-repeatable>table>thead>tr>th:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-in-table-repeatable>table>thead>tr>th.fi-align-center{text-align:center}.fi-in-table-repeatable>table>thead>tr>th.fi-align-end,.fi-in-table-repeatable>table>thead>tr>th.fi-align-right{text-align:end}.fi-in-table-repeatable>table>thead>tr>th.fi-wrapped{white-space:normal}.fi-in-table-repeatable>table>thead>tr>th:not(.fi-wrapped){white-space:nowrap}.fi-in-table-repeatable>table>thead>tr>th.fi-in-table-repeatable-empty-header-cell{width:calc(var(--spacing)*1)}.fi-in-table-repeatable>table>tbody{display:block}:where(.fi-in-table-repeatable>table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-in-table-repeatable>table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-in-table-repeatable>table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-in-table-repeatable>table>tbody>tr{gap:calc(var(--spacing)*6);padding:calc(var(--spacing)*6);display:grid}.fi-in-table-repeatable>table>tbody>tr>td{display:block}.fi-in-table-repeatable>table>tbody>tr>td.fi-hidden{display:none}@supports (container-type:inline-size){.fi-in-table-repeatable{container-type:inline-size}@container (min-width:36rem){.fi-in-table-repeatable>table{display:table}.fi-in-table-repeatable>table>thead{display:table-header-group}.fi-in-table-repeatable>table>tbody{display:table-row-group}.fi-in-table-repeatable>table>tbody>tr{padding:calc(var(--spacing)*0);display:table-row}.fi-in-table-repeatable>table>tbody>tr>td{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:table-cell}.fi-in-table-repeatable>table>tbody>tr>td.fi-hidden{display:table-cell}.fi-in-table-repeatable>table>tbody>tr>td .fi-in-entry{row-gap:calc(var(--spacing)*0)}.fi-in-table-repeatable>table>tbody>tr>td .fi-in-entry-label{display:none}.fi-in-table-repeatable>table .fi-in-table-repeatable-actions{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}}}@supports not (container-type:inline-size){@media (min-width:64rem){.fi-in-table-repeatable>table{display:table}.fi-in-table-repeatable>table>thead{display:table-header-group}.fi-in-table-repeatable>table>tbody{display:table-row-group}.fi-in-table-repeatable>table>tbody>tr{padding:calc(var(--spacing)*0);display:table-row}.fi-in-table-repeatable>table>tbody>tr>td{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);display:table-cell}.fi-in-table-repeatable>table>tbody>tr>td.fi-hidden{display:table-cell}.fi-in-table-repeatable>table>tbody>tr>td .fi-in-entry{row-gap:calc(var(--spacing)*0)}.fi-in-table-repeatable>table>tbody>tr>td .fi-in-entry-label{display:none}}}.fi-in-text{width:100%}.fi-in-text.fi-in-text-affixed{gap:calc(var(--spacing)*3);display:flex}.fi-in-text .fi-in-text-affixed-content{min-width:calc(var(--spacing)*0);flex:1}.fi-in-text .fi-in-text-affix{align-items:center;gap:calc(var(--spacing)*3);align-self:stretch;display:flex}.fi-in-text.fi-in-text-list-limited{flex-direction:column;display:flex}.fi-in-text.fi-in-text-list-limited.fi-in-text-has-badges{row-gap:calc(var(--spacing)*2)}.fi-in-text.fi-in-text-list-limited:not(.fi-in-text-has-badges){row-gap:calc(var(--spacing)*1)}ul.fi-in-text.fi-bulleted,.fi-in-text.fi-bulleted ul{list-style-type:disc;list-style-position:inside}ul.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges,.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges ul{column-gap:calc(var(--spacing)*1.5);display:flex}:is(ul.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges,.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges ul).fi-wrapped,:is(ul.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges,.fi-in-text:not(.fi-in-text-has-line-breaks).fi-in-text-has-badges ul):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul).fi-in-text-has-line-breaks,:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):is(.fi-in-text-has-line-breaks ul){row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(ul.fi-in-text-has-line-breaks),:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(.fi-in-text-has-line-breaks ul){column-gap:calc(var(--spacing)*1.5);display:flex}:is(:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(ul.fi-in-text-has-line-breaks),:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(.fi-in-text-has-line-breaks ul)).fi-wrapped,:is(:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(ul.fi-in-text-has-line-breaks),:is(ul.fi-in-text.fi-in-text-has-badges,.fi-in-text.fi-in-text-has-badges ul):not(.fi-in-text-has-line-breaks ul)):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}.fi-in-text.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks){white-space:normal;overflow-wrap:break-word}.fi-in-text.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks) .fi-badge,.fi-in-text.fi-wrapped:not(.fi-in-text-has-badges.fi-in-text-has-line-breaks) .fi-in-text-list-limited-message{white-space:nowrap}.fi-in-text>.fi-in-text-list-limited-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-in-text>.fi-in-text-list-limited-message:where(.dark,.dark *){color:var(--gray-400)}.fi-in-text.fi-align-center{text-align:center}ul.fi-in-text.fi-align-center,.fi-in-text.fi-align-center ul{justify-content:center}.fi-in-text.fi-align-end,.fi-in-text.fi-align-right{text-align:end}ul:is(.fi-in-text.fi-align-end,.fi-in-text.fi-align-right),:is(.fi-in-text.fi-align-end,.fi-in-text.fi-align-right) ul{justify-content:flex-end}.fi-in-text.fi-align-justify,.fi-in-text.fi-align-between{text-align:justify}ul:is(.fi-in-text.fi-align-justify,.fi-in-text.fi-align-between),:is(.fi-in-text.fi-align-justify,.fi-in-text.fi-align-between) ul{justify-content:space-between}.fi-in-text-item{color:var(--gray-950)}.fi-in-text-item:where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-in-text-item a:hover{text-decoration-line:underline}}.fi-in-text-item a:focus-visible{text-decoration-line:underline}.fi-in-text-item:not(.fi-bulleted li.fi-in-text-item){-webkit-line-clamp:var(--line-clamp,none);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fi-in-text-item>.fi-copyable{cursor:pointer}.fi-in-text-item.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-in-text-item.fi-size-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-in-text-item.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-in-text-item.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-in-text-item.fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-in-text-item.fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-in-text-item.fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-in-text-item.fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-in-text-item.fi-font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-in-text-item.fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-in-text-item.fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-in-text-item.fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-in-text-item.fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-in-text-item.fi-font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-in-text-item.fi-font-serif{font-family:var(--serif-font-family),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.fi-in-text-item.fi-font-mono{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-in-text-item.fi-color{color:var(--text)}.fi-in-text-item.fi-color:where(.dark,.dark *){color:var(--dark-text)}li.fi-in-text-item.fi-color::marker{color:var(--gray-950)}li.fi-in-text-item.fi-color:where(.dark,.dark *)::marker{color:var(--color-white)}.fi-in-text-item.fi-color-gray{color:var(--gray-500)}.fi-in-text-item.fi-color-gray:where(.dark,.dark *){color:var(--gray-400)}li.fi-in-text-item.fi-color-gray::marker{color:var(--gray-950)}.fi-in-text-item>.fi-icon,.fi-in-text-item>span:not(.fi-badge)>.fi-icon{color:var(--gray-400);flex-shrink:0;display:inline-block}:is(.fi-in-text-item>.fi-icon,.fi-in-text-item>span:not(.fi-badge)>.fi-icon):where(.dark,.dark *){color:var(--gray-500)}:is(.fi-in-text-item>.fi-icon,.fi-in-text-item>span:not(.fi-badge)>.fi-icon).fi-color{color:var(--color-500)}.fi-no-database{display:flex}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-heading{display:inline-block;position:relative}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-heading .fi-badge{inset-inline-start:100%;top:calc(var(--spacing)*-1);width:max-content;margin-inline-start:calc(var(--spacing)*1);position:absolute}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-header .fi-ac{margin-top:calc(var(--spacing)*2)}.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content{margin-inline:calc(var(--spacing)*-6);margin-top:calc(var(--spacing)*-6);row-gap:calc(var(--spacing)*0)}:where(.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-no-database .fi-modal-window-ctn>.fi-modal-window .fi-modal-content:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-no-database .fi-modal-window-ctn>.fi-modal-window:not(.fi-modal-window-has-footer) .fi-modal-content{margin-bottom:calc(var(--spacing)*-6)}.fi-no-database .fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-footer .fi-modal-content{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200)}.fi-no-database .fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-footer .fi-modal-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-no-database .fi-modal-window-ctn>.fi-modal-window.fi-modal-window-has-footer .fi-modal-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-no-database .fi-no-notification-unread-ctn{position:relative}.fi-no-database .fi-no-notification-unread-ctn:before{content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);content:var(--tw-content);height:100%;width:calc(var(--spacing)*.5);content:var(--tw-content);background-color:var(--primary-600);position:absolute;inset-inline-start:calc(var(--spacing)*0)}.fi-no-database .fi-no-notification-unread-ctn:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--primary-500)}.fi-no-notification{pointer-events:auto;visibility:hidden;gap:calc(var(--spacing)*3);width:100%;padding:calc(var(--spacing)*4);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;flex-shrink:0;transition-duration:.3s;display:flex;overflow:hidden}.fi-no-notification .fi-no-notification-icon{color:var(--gray-400)}.fi-no-notification .fi-no-notification-icon.fi-color{color:var(--color-400)}.fi-no-notification .fi-no-notification-main{margin-top:calc(var(--spacing)*.5);gap:calc(var(--spacing)*3);flex:1;display:grid}.fi-no-notification .fi-no-notification-text{gap:calc(var(--spacing)*1);display:grid}.fi-no-notification .fi-no-notification-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-no-notification .fi-no-notification-title:where(.dark,.dark *){color:var(--color-white)}.fi-no-notification .fi-no-notification-date{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-no-notification .fi-no-notification-date:where(.dark,.dark *){color:var(--gray-400)}.fi-no-notification .fi-no-notification-body{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));text-wrap:pretty;overflow-wrap:break-word;color:var(--gray-500);overflow:hidden}.fi-no-notification .fi-no-notification-body:where(.dark,.dark *){color:var(--gray-400)}.fi-no-notification .fi-no-notification-body>p:not(:first-of-type){margin-top:calc(var(--spacing)*1)}.fi-no-notification:not(.fi-inline){max-width:var(--container-sm);gap:calc(var(--spacing)*3);border-radius:var(--radius-xl);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);display:flex}.fi-no-notification:not(.fi-inline):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-no-notification:not(.fi-inline).fi-color{--tw-ring-color:var(--color-600)}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline).fi-color{--tw-ring-color:color-mix(in oklab,var(--color-600)20%,transparent)}}.fi-no-notification:not(.fi-inline).fi-color:where(.dark,.dark *){--tw-ring-color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-no-notification:not(.fi-inline).fi-color:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-400)30%,transparent)}}.fi-no-notification:not(.fi-inline).fi-transition-leave-end{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.fi-no-notification.fi-color{background-color:#fff}@supports (color:color-mix(in lab, red, red)){.fi-no-notification.fi-color{background-color:color-mix(in oklab,white 90%,var(--color-400))}}.fi-no-notification.fi-color:where(.dark,.dark *){background-color:var(--gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-no-notification.fi-color:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-900)90%,var(--color-400))}}.fi-no-notification.fi-transition-enter-start,.fi-no-notification.fi-transition-leave-end{opacity:0}:is(.fi-no.fi-align-start,.fi-no.fi-align-left) .fi-no-notification.fi-transition-enter-start{--tw-translate-x:calc(var(--spacing)*-12);translate:var(--tw-translate-x)var(--tw-translate-y)}:is(.fi-no.fi-align-end,.fi-no.fi-align-right) .fi-no-notification.fi-transition-enter-start{--tw-translate-x:calc(var(--spacing)*12);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-no.fi-align-center.fi-vertical-align-start .fi-no-notification.fi-transition-enter-start{--tw-translate-y:calc(var(--spacing)*-12);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-no.fi-align-center.fi-vertical-align-end .fi-no-notification.fi-transition-enter-start{--tw-translate-y:calc(var(--spacing)*12);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-no{pointer-events:none;inset:calc(var(--spacing)*4);z-index:50;gap:calc(var(--spacing)*3);margin-inline:auto;display:flex;position:fixed}.fi-no.fi-align-start,.fi-no.fi-align-left{align-items:flex-start}.fi-no.fi-align-center{align-items:center}.fi-no.fi-align-end,.fi-no.fi-align-right{align-items:flex-end}.fi-no.fi-vertical-align-start{flex-direction:column-reverse;justify-content:flex-end}.fi-no.fi-vertical-align-center{flex-direction:column;justify-content:center}.fi-no.fi-vertical-align-end{flex-direction:column;justify-content:flex-end}.fi-sc-actions{gap:calc(var(--spacing)*2);flex-direction:column;height:100%;display:flex}.fi-sc-actions .fi-sc-actions-label-ctn{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-sc-actions .fi-sc-actions-label-ctn .fi-sc-actions-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-sc-actions .fi-sc-actions-label-ctn .fi-sc-actions-label:where(.dark,.dark *){color:var(--color-white)}.fi-sc-actions.fi-sticky .fi-ac{bottom:calc(var(--spacing)*0);margin-inline:calc(var(--spacing)*-4);width:100%;transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);background-color:var(--color-white);padding:calc(var(--spacing)*4);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:fixed}@media (min-width:48rem){.fi-sc-actions.fi-sticky .fi-ac{bottom:calc(var(--spacing)*4);border-radius:var(--radius-xl)}}.fi-sc-actions.fi-sticky .fi-ac:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-actions.fi-sticky .fi-ac:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-actions.fi-vertical-align-start{justify-content:flex-start}.fi-sc-actions.fi-vertical-align-center{justify-content:center}.fi-sc-actions.fi-vertical-align-end{justify-content:flex-end}.fi-sc-flex{gap:calc(var(--spacing)*6);display:flex}.fi-sc-flex.fi-align-start,.fi-sc-flex.fi-align-left{justify-content:flex-start}.fi-sc-flex.fi-align-center{justify-content:center}.fi-sc-flex.fi-align-end,.fi-sc-flex.fi-align-right{justify-content:flex-end}.fi-sc-flex.fi-align-between,.fi-sc-flex.fi-align-justify{justify-content:space-between}.fi-sc-flex.fi-dense{gap:calc(var(--spacing)*3)}.fi-sc-flex>.fi-hidden{display:none}.fi-sc-flex>.fi-growable{flex:1;width:100%}.fi-sc-flex.fi-from-default{align-items:flex-start}.fi-sc-flex.fi-from-default.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-default.fi-vertical-align-end{align-items:flex-end}.fi-sc-flex.fi-from-sm{flex-direction:column}@media (min-width:40rem){.fi-sc-flex.fi-from-sm{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-sm.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-sm.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-md{flex-direction:column}@media (min-width:48rem){.fi-sc-flex.fi-from-md{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-md.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-md.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-lg{flex-direction:column}@media (min-width:64rem){.fi-sc-flex.fi-from-lg{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-lg.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-lg.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-xl{flex-direction:column}@media (min-width:80rem){.fi-sc-flex.fi-from-xl{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-xl.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-xl.fi-vertical-align-end{align-items:flex-end}}.fi-sc-flex.fi-from-2xl{flex-direction:column}@media (min-width:96rem){.fi-sc-flex.fi-from-2xl{flex-direction:row;align-items:flex-start}.fi-sc-flex.fi-from-2xl.fi-vertical-align-center{align-items:center}.fi-sc-flex.fi-from-2xl.fi-vertical-align-end{align-items:flex-end}}.fi-sc-form{gap:calc(var(--spacing)*6);flex-direction:column;display:flex}.fi-sc-form.fi-dense{gap:calc(var(--spacing)*3)}.fi-sc-fused-group>.fi-sc{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent)}.fi-sc-fused-group>.fi-sc:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--primary-600)}.fi-sc-fused-group>.fi-sc:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-sc-fused-group>.fi-sc:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-sc-fused-group>.fi-sc:where(.dark,.dark *):focus-within{--tw-ring-color:var(--primary-500)}:where(.fi-sc-fused-group .fi-sc>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){:where(.fi-sc-fused-group .fi-sc>:not(:last-child)){border-color:color-mix(in oklab,var(--gray-950)10%,transparent)}}.fi-sc-fused-group .fi-sc{border-radius:var(--radius-lg)}:where(.fi-sc-fused-group .fi-sc:where(.dark,.dark *)>:not(:last-child)){border-color:#fff3}@supports (color:color-mix(in lab, red, red)){:where(.fi-sc-fused-group .fi-sc:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-sc-fused-group .fi-sc .fi-sc-component,.fi-sc-fused-group .fi-sc .fi-sc-component .fi-fo-field,.fi-sc-fused-group .fi-sc .fi-sc-component .fi-input{min-height:100%}.fi-sc-fused-group .fi-sc .fi-sc-component .fi-sc-actions{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.fi-sc-fused-group .fi-sc>:first-child .fi-input-wrp{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc>:last-child .fi-input-wrp{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}:where(.fi-sc-fused-group .fi-sc.fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}@media (min-width:40rem){:where(.fi-sc-fused-group .fi-sc.sm\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.sm\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.sm\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:48rem){:where(.fi-sc-fused-group .fi-sc.md\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.md\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.md\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:64rem){:where(.fi-sc-fused-group .fi-sc.lg\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.lg\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.lg\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:80rem){:where(.fi-sc-fused-group .fi-sc.xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:96rem){:where(.fi-sc-fused-group .fi-sc.\32 xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\32 xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\32 xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@supports (container-type:inline-size){@container (min-width:16rem){:where(.fi-sc-fused-group .fi-sc.\@3xs\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@3xs\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@3xs\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:18rem){:where(.fi-sc-fused-group .fi-sc.\@2xs\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@2xs\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@2xs\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:20rem){:where(.fi-sc-fused-group .fi-sc.\@xs\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@xs\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@xs\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:24rem){:where(.fi-sc-fused-group .fi-sc.\@sm\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@sm\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@sm\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:28rem){:where(.fi-sc-fused-group .fi-sc.\@md\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@md\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@md\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:32rem){:where(.fi-sc-fused-group .fi-sc.\@lg\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@lg\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@lg\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:36rem){:where(.fi-sc-fused-group .fi-sc.\@xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:42rem){:where(.fi-sc-fused-group .fi-sc.\@2xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@2xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@2xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:48rem){:where(.fi-sc-fused-group .fi-sc.\@3xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@3xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@3xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:56rem){:where(.fi-sc-fused-group .fi-sc.\@4xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@4xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@4xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:64rem){:where(.fi-sc-fused-group .fi-sc.\@5xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@5xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@5xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:72rem){:where(.fi-sc-fused-group .fi-sc.\@6xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@6xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@6xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@container (min-width:80rem){:where(.fi-sc-fused-group .fi-sc.\@7xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\@7xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\@7xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}}@supports not (container-type:inline-size){@media (min-width:40rem){:where(.fi-sc-fused-group .fi-sc.\!\@sm\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\!\@sm\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@sm\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:48rem){:where(.fi-sc-fused-group .fi-sc.\!\@md\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\!\@md\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@md\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:64rem){:where(.fi-sc-fused-group .fi-sc.\!\@lg\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\!\@lg\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@lg\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:80rem){:where(.fi-sc-fused-group .fi-sc.\!\@xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\!\@xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}@media (min-width:96rem){:where(.fi-sc-fused-group .fi-sc.\!\@2xl\:fi-grid-cols>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px*var(--tw-divide-y-reverse));border-bottom-width:calc(0px*calc(1 - var(--tw-divide-y-reverse)))}.fi-sc-fused-group .fi-sc.\!\@2xl\:fi-grid-cols>:first-child .fi-input-wrp{border-start-end-radius:0;border-end-start-radius:var(--radius-lg)}.fi-sc-fused-group .fi-sc.\!\@2xl\:fi-grid-cols>:last-child .fi-input-wrp{border-start-end-radius:var(--radius-lg);border-end-start-radius:0}}}.fi-sc-fused-group .fi-input-wrp{--tw-shadow:0 0 #0000;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-radius:0}.fi-sc-fused-group .fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)):focus-within,.fi-sc-fused-group .fi-input-wrp:not(.fi-disabled):not(:has(.fi-ac-action:focus)).fi-invalid:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-sc-icon{color:var(--gray-400)}.fi-sc-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sc-icon.fi-color{color:var(--color-500)}.fi-sc-icon.fi-color:where(.dark,.dark *){color:var(--color-400)}.fi-sc-image{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--gray-300)}.fi-sc-image:where(.dark,.dark *){border-color:#0000}.fi-sc-image.fi-align-center{margin-inline:auto}.fi-sc-image.fi-align-end,.fi-sc-image.fi-align-right{margin-inline-start:auto}.fi-sc-section{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.fi-sc-section .fi-sc-section-label-ctn{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-sc-section .fi-sc-section-label-ctn .fi-sc-section-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-sc-section .fi-sc-section-label-ctn .fi-sc-section-label:where(.dark,.dark *){color:var(--color-white)}.fi-sc-tabs{flex-direction:column;display:flex}.fi-sc-tabs .fi-tabs.fi-invisible{visibility:hidden}.fi-sc-tabs .fi-sc-tabs-tab{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.fi-sc-tabs .fi-sc-tabs-tab{outline-offset:2px;outline:2px solid #0000}}.fi-sc-tabs .fi-sc-tabs-tab.fi-active{margin-top:calc(var(--spacing)*6)}.fi-sc-tabs .fi-sc-tabs-tab:not(.fi-active){visibility:hidden;height:calc(var(--spacing)*0);padding:calc(var(--spacing)*0);position:absolute;overflow:hidden}.fi-sc-tabs.fi-contained{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-sc-tabs.fi-contained:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-tabs.fi-contained:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-tabs.fi-contained .fi-sc-tabs-tab.fi-active{margin-top:calc(var(--spacing)*0);padding:calc(var(--spacing)*6)}.fi-sc-tabs.fi-vertical{flex-direction:row}.fi-sc-tabs.fi-vertical .fi-sc-tabs-tab.fi-active{margin-inline-start:calc(var(--spacing)*6);margin-top:calc(var(--spacing)*0);flex:1}.fi-sc-text.fi-copyable{cursor:pointer}.fi-sc-text.fi-font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-sc-text.fi-font-serif{font-family:var(--serif-font-family),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.fi-sc-text.fi-font-mono{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-sc-text:not(.fi-badge){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow-wrap:break-word;color:var(--gray-600);display:inline-block}.fi-sc-text:not(.fi-badge):where(.dark,.dark *){color:var(--gray-400)}.fi-sc-text:not(.fi-badge).fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-sc-text:not(.fi-badge).fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-sc-text:not(.fi-badge).fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-sc-text:not(.fi-badge).fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-sc-text:not(.fi-badge).fi-font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-sc-text:not(.fi-badge).fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-sc-text:not(.fi-badge).fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-sc-text:not(.fi-badge).fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-sc-text:not(.fi-badge).fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-sc-text:not(.fi-badge).fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-sc-text:not(.fi-badge).fi-color-neutral{color:var(--gray-950)}.fi-sc-text:not(.fi-badge).fi-color-neutral:where(.dark,.dark *){color:var(--color-white)}.fi-sc-text:not(.fi-badge).fi-color:not(.fi-color-neutral){color:var(--text)}.fi-sc-text:not(.fi-badge).fi-color:not(.fi-color-neutral):where(.dark,.dark *){color:var(--dark-text)}.fi-sc-text:not(.fi-badge).fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-sc-text:not(.fi-badge).fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-sc-unordered-list{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-inline-start:calc(var(--spacing)*3);list-style-type:disc}.fi-sc-unordered-list.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-sc-unordered-list.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-sc-unordered-list.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-sc-wizard{flex-direction:column;display:flex}.fi-sc-wizard .fi-sc-wizard-header{display:grid}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header{grid-auto-flow:column;overflow-x:auto}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step{display:flex;position:relative}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active){display:none}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active){display:flex}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn{align-items:center;column-gap:calc(var(--spacing)*4);height:100%;padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4);text-align:start;display:flex}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10);border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text{justify-items:start;display:grid}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text{width:max-content;max-width:calc(var(--spacing)*60)}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-description{text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-description:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator{height:100%;width:calc(var(--spacing)*5);color:var(--gray-200);display:none;position:absolute;inset-inline-end:calc(var(--spacing)*0)}@media (min-width:48rem){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator{display:block}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator:where(.dark,.dark *){color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-separator:where(.dark,.dark *){color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{background-color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn:where(.dark,.dark *){background-color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon{color:var(--color-white)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{color:var(--gray-950)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-completed .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label:where(.dark,.dark *){color:var(--color-white)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{border-style:var(--tw-border-style);border-width:2px}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed).fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon{color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed).fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon:where(.dark,.dark *){color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed):not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon{color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-completed):not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{border-color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn:where(.dark,.dark *){border-color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number{color:var(--primary-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number:where(.dark,.dark *){color:var(--primary-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{color:var(--primary-700)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step.fi-active .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label:where(.dark,.dark *){color:var(--primary-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn{border-color:var(--gray-300)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn:where(.dark,.dark *){border-color:var(--gray-600)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number{color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-number:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label{color:var(--gray-500)}.fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step:not(.fi-active) .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-icon-ctn .fi-sc-wizard-header-step-text .fi-sc-wizard-header-step-label:where(.dark,.dark *){color:var(--gray-400)}.fi-sc-wizard .fi-sc-wizard-step{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.fi-sc-wizard .fi-sc-wizard-step{outline-offset:2px;outline:2px solid #0000}}.fi-sc-wizard .fi-sc-wizard-step:not(.fi-active){visibility:hidden;height:calc(var(--spacing)*0);padding:calc(var(--spacing)*0);position:absolute;overflow:hidden}.fi-sc-wizard:not(.fi-sc-wizard-header-hidden) .fi-sc-wizard-step.fi-active{margin-top:calc(var(--spacing)*6)}.fi-sc-wizard .fi-sc-wizard-footer{justify-content:space-between;align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-sc-wizard .fi-sc-wizard-footer>.fi-hidden{display:none}.fi-sc-wizard .fi-sc-wizard-footer>.fi-disabled{pointer-events:none;opacity:.7}.fi-sc-wizard.fi-contained{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-sc-wizard.fi-contained:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard.fi-contained:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-wizard.fi-contained .fi-sc-wizard-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200)}.fi-sc-wizard.fi-contained .fi-sc-wizard-header:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard.fi-contained .fi-sc-wizard-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-wizard.fi-contained .fi-sc-wizard-step.fi-active{margin-top:calc(var(--spacing)*0);padding:calc(var(--spacing)*6)}.fi-sc-wizard.fi-contained .fi-sc-wizard-footer{padding-inline:calc(var(--spacing)*6);padding-bottom:calc(var(--spacing)*6)}.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-header:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sc-wizard:not(.fi-contained) .fi-sc-wizard-footer{margin-top:calc(var(--spacing)*6)}.fi-sc{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.fi-sc.fi-inline{flex-wrap:wrap;flex-grow:1;align-items:center;display:flex}.fi-sc.fi-inline>.fi-sc-action:not(.fi-hidden){display:contents}.fi-sc.fi-sc-has-gap{gap:calc(var(--spacing)*6)}.fi-sc.fi-sc-has-gap.fi-sc-dense{gap:calc(var(--spacing)*3)}.fi-sc.fi-align-start,.fi-sc.fi-align-left{justify-content:flex-start}.fi-sc.fi-align-center{justify-content:center}.fi-sc.fi-align-end,.fi-sc.fi-align-right{justify-content:flex-end}.fi-sc.fi-align-between,.fi-sc.fi-align-justify{justify-content:space-between}.fi-sc>.fi-hidden{display:none}.fi-sc>.fi-grid-col.fi-width-xs{max-width:var(--container-xs)}.fi-sc>.fi-grid-col.fi-width-sm{max-width:var(--container-sm)}.fi-sc>.fi-grid-col.fi-width-md{max-width:var(--container-md)}.fi-sc>.fi-grid-col.fi-width-lg{max-width:var(--container-lg)}.fi-sc>.fi-grid-col.fi-width-xl{max-width:var(--container-xl)}.fi-sc>.fi-grid-col.fi-width-2xl{max-width:var(--container-2xl)}.fi-sc>.fi-grid-col.fi-width-3xl{max-width:var(--container-3xl)}.fi-sc>.fi-grid-col.fi-width-4xl{max-width:var(--container-4xl)}.fi-sc>.fi-grid-col.fi-width-5xl{max-width:var(--container-5xl)}.fi-sc>.fi-grid-col.fi-width-6xl{max-width:var(--container-6xl)}.fi-sc>.fi-grid-col.fi-width-7xl{max-width:var(--container-7xl)}.fi-sc>.fi-grid-col>.fi-sc-component{height:100%}.fi-ta-actions{justify-content:flex-end;align-items:center;gap:calc(var(--spacing)*3);flex-shrink:0;max-width:100%;display:flex}.fi-ta-actions>*{flex-shrink:0}.fi-ta-actions.fi-wrapped{flex-wrap:wrap}@media (min-width:40rem){.fi-ta-actions.sm\:fi-not-wrapped{flex-wrap:nowrap}}.fi-ta-actions.fi-align-center{justify-content:center}.fi-ta-actions.fi-align-start{justify-content:flex-start}.fi-ta-actions.fi-align-between{justify-content:space-between}@media (min-width:48rem){.fi-ta-actions.md\:fi-align-end{justify-content:flex-end}}.fi-ta-cell{padding:calc(var(--spacing)*0)}.fi-ta-cell:first-of-type{padding-inline-start:calc(var(--spacing)*1)}.fi-ta-cell:last-of-type{padding-inline-end:calc(var(--spacing)*1)}@media (min-width:40rem){.fi-ta-cell:first-of-type{padding-inline-start:calc(var(--spacing)*3)}.fi-ta-cell:last-of-type{padding-inline-end:calc(var(--spacing)*3)}}.fi-ta-cell.fi-vertical-align-start{vertical-align:top}.fi-ta-cell.fi-vertical-align-end{vertical-align:bottom}@media (min-width:40rem){.fi-ta-cell.sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-cell.md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-cell.lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-cell.xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-cell.\32 xl\:fi-hidden{display:none}}.fi-ta-cell.sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-cell.sm\:fi-visible{display:table-cell}}.fi-ta-cell.md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-cell.md\:fi-visible{display:table-cell}}.fi-ta-cell.lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-cell.lg\:fi-visible{display:table-cell}}.fi-ta-cell.xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-cell.xl\:fi-visible{display:table-cell}}.fi-ta-cell.\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-cell.\32 xl\:fi-visible{display:table-cell}}.fi-ta-cell>.fi-ta-col{text-align:start;justify-content:flex-start;width:100%;display:flex}.fi-ta-cell>.fi-ta-col:disabled{pointer-events:none}.fi-ta-cell:has(.fi-ta-reorder-handle){width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}.fi-ta-cell:has(.fi-ta-reorder-handle):first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-reorder-handle):last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell:has(.fi-ta-reorder-handle):first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell:has(.fi-ta-reorder-handle):last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell:has(.fi-ta-actions){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);white-space:nowrap}.fi-ta-cell:has(.fi-ta-actions):first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-actions):last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell:has(.fi-ta-actions):first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell:has(.fi-ta-actions):last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell:has(.fi-ta-record-checkbox){width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-record-checkbox):first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell:has(.fi-ta-record-checkbox):last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell:has(.fi-ta-record-checkbox):first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell:has(.fi-ta-record-checkbox):last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell .fi-ta-placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);color:var(--gray-400)}.fi-ta-cell .fi-ta-placeholder:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-cell.fi-ta-summary-row-heading-cell{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-cell.fi-ta-summary-row-heading-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell.fi-ta-summary-row-heading-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell.fi-ta-summary-row-heading-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-cell.fi-align-start{text-align:start}.fi-ta-cell.fi-align-center{text-align:center}.fi-ta-cell.fi-align-end{text-align:end}.fi-ta-cell.fi-align-left{text-align:left}.fi-ta-cell.fi-align-right{text-align:right}.fi-ta-cell.fi-align-justify,.fi-ta-cell.fi-align-between{text-align:justify}.fi-ta-cell.fi-ta-summary-header-cell{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-cell.fi-ta-summary-header-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}}.fi-ta-cell.fi-ta-summary-header-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-cell.fi-ta-summary-header-cell.fi-wrapped,.fi-ta-cell.fi-ta-summary-header-cell:not(.fi-wrapped){white-space:nowrap}.fi-ta-cell.fi-ta-individual-search-cell{min-width:calc(var(--spacing)*48);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2)}.fi-ta-cell .fi-ta-reorder-handle{cursor:move}.fi-ta-cell.fi-ta-selection-cell{width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-cell.fi-ta-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell.fi-ta-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell.fi-ta-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell.fi-ta-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-cell.fi-ta-group-selection-cell{width:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3)}.fi-ta-cell.fi-ta-group-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-cell.fi-ta-group-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-cell.fi-ta-group-selection-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-cell.fi-ta-group-selection-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-checkbox{width:100%}.fi-ta-checkbox:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-checkbox.fi-align-center{text-align:center}.fi-ta-checkbox.fi-align-end,.fi-ta-checkbox.fi-align-right{text-align:end}.fi-ta-color{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-ta-color.fi-wrapped{flex-wrap:wrap}.fi-ta-color:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-color.fi-align-start,.fi-ta-color.fi-align-left{justify-content:flex-start}.fi-ta-color.fi-align-center{justify-content:center}.fi-ta-color.fi-align-end,.fi-ta-color.fi-align-right{justify-content:flex-end}.fi-ta-color.fi-align-justify,.fi-ta-color.fi-align-between{justify-content:space-between}.fi-ta-color>.fi-ta-color-item{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6);border-radius:var(--radius-md)}.fi-ta-color>.fi-ta-color-item.fi-copyable{cursor:pointer}.fi-ta-icon{gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-ta-icon.fi-wrapped{flex-wrap:wrap}.fi-ta-icon.fi-ta-icon-has-line-breaks{flex-direction:column}.fi-ta-icon:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-icon.fi-align-start,.fi-ta-icon.fi-align-left{justify-content:flex-start}.fi-ta-icon.fi-align-center{justify-content:center}.fi-ta-icon.fi-align-end,.fi-ta-icon.fi-align-right{justify-content:flex-end}.fi-ta-icon.fi-align-justify,.fi-ta-icon.fi-align-between{justify-content:space-between}.fi-ta-icon>.fi-icon,.fi-ta-icon>a>.fi-icon{color:var(--gray-400)}:is(.fi-ta-icon>.fi-icon,.fi-ta-icon>a>.fi-icon):where(.dark,.dark *){color:var(--gray-500)}:is(.fi-ta-icon>.fi-icon,.fi-ta-icon>a>.fi-icon).fi-color{color:var(--text)}:is(.fi-ta-icon>.fi-icon,.fi-ta-icon>a>.fi-icon).fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-ta-image{align-items:center;gap:calc(var(--spacing)*1.5);width:100%;display:flex}.fi-ta-image img{object-fit:cover;object-position:center;max-width:none}.fi-ta-image.fi-circular img{border-radius:3.40282e38px}.fi-ta-image.fi-ta-image-ring img,.fi-ta-image.fi-ta-image-ring .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-white)}:is(.fi-ta-image.fi-ta-image-ring img,.fi-ta-image.fi-ta-image-ring .fi-ta-image-limited-remaining-text):where(.dark,.dark *){--tw-ring-color:var(--gray-900)}.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-1 img,.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-1 .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-2 img,.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-2 .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-4 img,.fi-ta-image.fi-ta-image-ring.fi-ta-image-ring-4 .fi-ta-image-limited-remaining-text{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.fi-ta-image.fi-ta-image-overlap-1{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-1)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-2{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-3{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-3)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-4{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-4)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-5{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-5)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-5)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-6{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-6)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-7{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-7>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-7)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-7)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-ta-image-overlap-8{column-gap:calc(var(--spacing)*0)}:where(.fi-ta-image.fi-ta-image-overlap-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-8)*calc(1 - var(--tw-space-x-reverse)))}.fi-ta-image.fi-wrapped{flex-wrap:wrap}.fi-ta-image:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-image.fi-align-start,.fi-ta-image.fi-align-left{justify-content:flex-start}.fi-ta-image.fi-align-center{justify-content:center}.fi-ta-image.fi-align-end,.fi-ta-image.fi-align-right{justify-content:flex-end}.fi-ta-image.fi-align-justify,.fi-ta-image.fi-align-between{justify-content:space-between}.fi-ta-image.fi-stacked .fi-ta-image-limited-remaining-text{background-color:var(--gray-100);border-radius:3.40282e38px}.fi-ta-image.fi-stacked .fi-ta-image-limited-remaining-text:where(.dark,.dark *){background-color:var(--gray-800)}.fi-ta-image .fi-ta-image-limited-remaining-text{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);justify-content:center;align-items:center;display:flex}.fi-ta-image .fi-ta-image-limited-remaining-text:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-base,.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-ta-image .fi-ta-image-limited-remaining-text.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-ta-select{width:100%;min-width:calc(var(--spacing)*48)}.fi-ta-select:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-text{width:100%}.fi-ta-text.fi-ta-text-has-descriptions,.fi-ta-text.fi-ta-text-list-limited{flex-direction:column;display:flex}:is(.fi-ta-text.fi-ta-text-has-descriptions,.fi-ta-text.fi-ta-text-list-limited).fi-ta-text-has-badges{row-gap:calc(var(--spacing)*2)}:is(.fi-ta-text.fi-ta-text-has-descriptions,.fi-ta-text.fi-ta-text-list-limited):not(.fi-ta-text-has-badges){row-gap:calc(var(--spacing)*1)}.fi-ta-text:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}ul.fi-ta-text.fi-bulleted,.fi-ta-text.fi-bulleted ul{list-style-type:disc;list-style-position:inside}ul.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges,.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges ul{column-gap:calc(var(--spacing)*1.5);display:flex}:is(ul.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges,.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges ul).fi-wrapped,:is(ul.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges,.fi-ta-text:not(.fi-ta-text-has-line-breaks).fi-ta-text-has-badges ul):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul).fi-ta-text-has-line-breaks,:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):is(.fi-ta-text-has-line-breaks ul){row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(ul.fi-ta-text-has-line-breaks),:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(.fi-ta-text-has-line-breaks ul){column-gap:calc(var(--spacing)*1.5);display:flex}:is(:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(ul.fi-ta-text-has-line-breaks),:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(.fi-ta-text-has-line-breaks ul)).fi-wrapped,:is(:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(ul.fi-ta-text-has-line-breaks),:is(ul.fi-ta-text.fi-ta-text-has-badges,.fi-ta-text.fi-ta-text-has-badges ul):not(.fi-ta-text-has-line-breaks ul)):is(.fi-wrapped ul){row-gap:calc(var(--spacing)*1);flex-wrap:wrap}.fi-ta-text.fi-wrapped:not(.fi-ta-text-has-badges.fi-ta-text-has-line-breaks){white-space:normal}.fi-ta-text.fi-wrapped:not(.fi-ta-text-has-badges.fi-ta-text-has-line-breaks) .fi-badge,.fi-ta-text.fi-wrapped:not(.fi-ta-text-has-badges.fi-ta-text-has-line-breaks) .fi-ta-text-list-limited-message{white-space:nowrap}.fi-ta-text>.fi-ta-text-description,.fi-ta-text>.fi-ta-text-list-limited-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}:is(.fi-ta-text>.fi-ta-text-description,.fi-ta-text>.fi-ta-text-list-limited-message):where(.dark,.dark *){color:var(--gray-400)}.fi-ta-text.fi-align-center{text-align:center}ul.fi-ta-text.fi-align-center,.fi-ta-text.fi-align-center ul{justify-content:center}.fi-ta-text.fi-align-end,.fi-ta-text.fi-align-right{text-align:end}ul:is(.fi-ta-text.fi-align-end,.fi-ta-text.fi-align-right),:is(.fi-ta-text.fi-align-end,.fi-ta-text.fi-align-right) ul{justify-content:flex-end}.fi-ta-text.fi-align-justify,.fi-ta-text.fi-align-between{text-align:justify}ul:is(.fi-ta-text.fi-align-justify,.fi-ta-text.fi-align-between),:is(.fi-ta-text.fi-align-justify,.fi-ta-text.fi-align-between) ul{justify-content:space-between}.fi-ta-text-item{color:var(--gray-950)}.fi-ta-text-item:where(.dark,.dark *){color:var(--color-white)}@media (hover:hover){.fi-ta-text-item a:hover{text-decoration-line:underline}}.fi-ta-text-item a:focus-visible{text-decoration-line:underline}.fi-ta-text-item:not(.fi-bulleted li.fi-ta-text-item){-webkit-line-clamp:var(--line-clamp,none);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.fi-ta-text-item>.fi-copyable{cursor:pointer}.fi-ta-text-item.fi-size-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fi-ta-text-item.fi-size-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.fi-ta-text-item.fi-size-md{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.fi-ta-text-item.fi-size-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.fi-ta-text-item.fi-font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.fi-ta-text-item.fi-font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.fi-ta-text-item.fi-font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.fi-ta-text-item.fi-font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.fi-ta-text-item.fi-font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.fi-ta-text-item.fi-font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.fi-ta-text-item.fi-font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.fi-ta-text-item.fi-font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.fi-ta-text-item.fi-font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.fi-ta-text-item.fi-font-sans{font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.fi-ta-text-item.fi-font-serif{font-family:var(--serif-font-family),ui-serif,Georgia,Cambria,"Times New Roman",Times,serif}.fi-ta-text-item.fi-font-mono{font-family:var(--mono-font-family),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.fi-ta-text-item.fi-color{color:var(--text)}.fi-ta-text-item.fi-color:where(.dark,.dark *){color:var(--dark-text)}li.fi-ta-text-item.fi-color::marker{color:var(--gray-950)}li.fi-ta-text-item.fi-color:where(.dark,.dark *)::marker{color:var(--color-white)}.fi-ta-text-item.fi-color-gray{color:var(--gray-500)}.fi-ta-text-item.fi-color-gray:where(.dark,.dark *){color:var(--gray-400)}li.fi-ta-text-item.fi-color-gray::marker{color:var(--gray-950)}li.fi-ta-text-item.fi-color-gray:where(.dark,.dark *)::marker{color:var(--color-white)}.fi-ta-text-item>.fi-icon,.fi-ta-text-item>span:not(.fi-badge)>.fi-icon{color:var(--gray-400);flex-shrink:0;display:inline-block}:is(.fi-ta-text-item>.fi-icon,.fi-ta-text-item>span:not(.fi-badge)>.fi-icon):where(.dark,.dark *){color:var(--gray-500)}:is(.fi-ta-text-item>.fi-icon,.fi-ta-text-item>span:not(.fi-badge)>.fi-icon).fi-color{color:var(--color-500)}.fi-ta-text-item.fi-ta-text-has-badges>.fi-badge{vertical-align:middle}@media (hover:hover){.fi-ta-col-has-column-url .fi-ta-text-item:hover{text-decoration-line:underline}}.fi-ta-col-has-column-url .fi-ta-text-item:focus-visible{text-decoration-line:underline}@media (hover:hover){.fi-ta-col-has-column-url .fi-ta-text-item .fi-icon:hover{text-decoration-line:none}}.fi-ta-col-has-column-url .fi-ta-text-item .fi-icon:focus-visible{text-decoration-line:none}@media (hover:hover){.fi-ta-col-has-column-url .fi-ta-text-item>.fi-badge:hover{text-decoration-line:none}}.fi-ta-col-has-column-url .fi-ta-text-item>.fi-badge:focus-visible{text-decoration-line:none}.fi-ta-text-input{width:100%;min-width:calc(var(--spacing)*48)}.fi-ta-text-input:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-toggle{width:100%}.fi-ta-toggle:not(.fi-inline){padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4)}.fi-ta-toggle.fi-align-center{text-align:center}.fi-ta-toggle.fi-align-end,.fi-ta-toggle.fi-align-right{text-align:end}.fi-ta-grid.fi-gap-sm{gap:calc(var(--spacing)*1)}@media (min-width:40rem){.fi-ta-grid.sm\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:48rem){.fi-ta-grid.md\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:64rem){.fi-ta-grid.lg\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:80rem){.fi-ta-grid.xl\:fi-gap-sm{gap:calc(var(--spacing)*1)}}@media (min-width:96rem){.fi-ta-grid.\32 xl\:fi-gap-sm{gap:calc(var(--spacing)*1)}}.fi-ta-grid.fi-gap-lg{gap:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-grid.sm\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:48rem){.fi-ta-grid.md\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:64rem){.fi-ta-grid.lg\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:80rem){.fi-ta-grid.xl\:fi-gap-lg{gap:calc(var(--spacing)*3)}}@media (min-width:96rem){.fi-ta-grid.\32 xl\:fi-gap-lg{gap:calc(var(--spacing)*3)}}.fi-ta-panel{border-radius:var(--radius-lg);background-color:var(--gray-50);padding:calc(var(--spacing)*4);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-ta-panel{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}.fi-ta-panel{--tw-ring-inset:inset}.fi-ta-panel:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-panel:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-panel:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-panel:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-split{display:flex}.fi-ta-split.default\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3)}.fi-ta-split.sm\:fi-ta-split,.fi-ta-split.md\:fi-ta-split,.fi-ta-split.lg\:fi-ta-split,.fi-ta-split.xl\:fi-ta-split,.fi-ta-split.\32 xl\:fi-ta-split{gap:calc(var(--spacing)*2);flex-direction:column}@media (min-width:40rem){.fi-ta-split.sm\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:48rem){.fi-ta-split.md\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:64rem){.fi-ta-split.lg\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:80rem){.fi-ta-split.xl\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}@media (min-width:96rem){.fi-ta-split.\32 xl\:fi-ta-split{align-items:center;gap:calc(var(--spacing)*3);flex-direction:row}}.fi-ta-stack{flex-direction:column;display:flex}.fi-ta-stack.fi-align-start,.fi-ta-stack.fi-align-left{align-items:flex-start}.fi-ta-stack.fi-align-center{align-items:center}.fi-ta-stack.fi-align-end,.fi-ta-stack.fi-align-right{align-items:flex-end}:where(.fi-ta-stack.fi-gap-sm>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fi-ta-stack.fi-gap-md>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.fi-ta-stack.fi-gap-lg>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.fi-ta-icon-count-summary{row-gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-icon-count-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-icon-count-summary>.fi-ta-icon-count-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-icon-count-summary>.fi-ta-icon-count-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-icon-count-summary>ul{row-gap:calc(var(--spacing)*1.5);display:grid}.fi-ta-icon-count-summary>ul>li{justify-content:flex-end;align-items:center;column-gap:calc(var(--spacing)*1.5);display:flex}.fi-ta-icon-count-summary>ul>li>.fi-icon{color:var(--gray-400)}.fi-ta-icon-count-summary>ul>li>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-icon-count-summary>ul>li>.fi-icon.fi-color{color:var(--text)}.fi-ta-icon-count-summary>ul>li>.fi-icon.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-ta-range-summary{row-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-range-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-range-summary>.fi-ta-range-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-range-summary>.fi-ta-range-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-text-summary{row-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-text-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-text-summary>.fi-ta-text-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-text-summary>.fi-ta-text-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-values-summary{row-gap:calc(var(--spacing)*1);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:grid}.fi-ta-values-summary:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-values-summary>.fi-ta-values-summary-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-values-summary>.fi-ta-values-summary-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-values-summary>ul.fi-bulleted{list-style-type:disc;list-style-position:inside}.fi-ta-ctn{border-radius:var(--radius-xl);background-color:var(--color-white);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);display:flex;position:relative}.fi-ta-ctn:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn:not(.fi-ta-ctn-with-header){overflow:hidden}.fi-ta-ctn.fi-loading{animation:var(--animate-pulse)}.fi-ta-ctn .fi-ta-header-ctn{margin-top:-1px}.fi-ta-ctn .fi-ta-header{gap:calc(var(--spacing)*3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding:calc(var(--spacing)*4);flex-direction:column;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-header:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header.fi-ta-header-adaptive-actions-position{flex-direction:row;align-items:center}.fi-ta-ctn .fi-ta-header.fi-ta-header-adaptive-actions-position .fi-ta-actions{margin-inline-start:auto}}.fi-ta-ctn .fi-ta-header.fi-ta-header-adaptive-actions-position:not(:has(.fi-ta-header-heading)):not(:has(.fi-ta-header-description)) .fi-ta-actions{margin-inline-start:auto}.fi-ta-ctn .fi-ta-header .fi-ta-header-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-ctn .fi-ta-header .fi-ta-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-ctn .fi-ta-header .fi-ta-header-description{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600)}.fi-ta-ctn .fi-ta-header .fi-ta-header-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-ctn .fi-ta-header-toolbar{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header-toolbar{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-header-toolbar:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-header-toolbar:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-header-toolbar>*{align-items:center;column-gap:calc(var(--spacing)*4);display:flex}.fi-ta-ctn .fi-ta-header-toolbar>:first-child{flex-shrink:0}.fi-ta-ctn .fi-ta-header-toolbar>:nth-child(2){margin-inline-start:auto}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown.sm\:fi-hidden{display:none}}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown .fi-ta-grouping-settings-fields{row-gap:calc(var(--spacing)*6);padding:calc(var(--spacing)*6);display:grid}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown .fi-ta-grouping-settings-fields label{row-gap:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);display:grid}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings .fi-dropdown .fi-ta-grouping-settings-fields label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings>.fi-ta-grouping-settings-fields{align-items:center;column-gap:calc(var(--spacing)*3);display:none}@media (min-width:40rem){.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-grouping-settings>.fi-ta-grouping-settings-fields{display:flex}}.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-filters-dropdown .fi-ta-filters,.fi-ta-ctn .fi-ta-header-toolbar .fi-ta-col-manager-dropdown .fi-ta-col-manager{padding:calc(var(--spacing)*6)}.fi-ta-ctn .fi-ta-filters{row-gap:calc(var(--spacing)*4);display:grid}.fi-ta-ctn .fi-ta-filters.fi-ta-filters-below-content{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);padding:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filters.fi-ta-filters-below-content{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-filters.fi-ta-filters-below-content:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-filters.fi-ta-filters-below-content:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header{justify-content:space-between;align-items:center;display:flex}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-ta-filters-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-ta-filters-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-loading-indicator{color:var(--gray-400)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-header .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-ctn .fi-ta-filters .fi-ta-filters-actions-ctn{gap:calc(var(--spacing)*3);display:flex}.fi-ta-ctn .fi-ta-filters-above-content-ctn{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*4);display:grid}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filters-above-content-ctn{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-filters-above-content-ctn:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-filters-above-content-ctn:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-filters-above-content-ctn .fi-ta-filters-trigger-action-ctn{margin-inline-start:auto}.fi-ta-ctn .fi-ta-filters-above-content-ctn.fi-open .fi-ta-filters-trigger-action-ctn{margin-top:calc(var(--spacing)*3)}.fi-ta-ctn .fi-ta-filters-above-content-ctn.fi-open:has(.fi-ta-filters-actions-ctn) .fi-ta-filters-trigger-action-ctn{margin-top:calc(var(--spacing)*-7)}.fi-ta-ctn .fi-ta-reorder-indicator{align-items:center;column-gap:calc(var(--spacing)*3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-reorder-indicator{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-ctn .fi-ta-reorder-indicator:where(.dark,.dark *){color:var(--gray-200)}.fi-ta-ctn .fi-ta-reorder-indicator .fi-loading-indicator{color:var(--gray-400)}.fi-ta-ctn .fi-ta-reorder-indicator .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-ctn .fi-ta-selection-indicator{justify-content:space-between;row-gap:calc(var(--spacing)*1);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);flex-direction:column;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-selection-indicator{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*1.5);flex-direction:row;align-items:center}}.fi-ta-ctn .fi-ta-selection-indicator:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-selection-indicator:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-selection-indicator:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-selection-indicator:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-ctn .fi-ta-selection-indicator .fi-loading-indicator{color:var(--gray-400)}.fi-ta-ctn .fi-ta-selection-indicator .fi-loading-indicator:where(.dark,.dark *){color:var(--gray-500)}.fi-ta-ctn .fi-ta-selection-indicator .fi-ta-selection-indicator-actions-ctn,.fi-ta-ctn .fi-ta-selection-indicator>*{column-gap:calc(var(--spacing)*3);display:flex}.fi-ta-ctn .fi-ta-selection-indicator>:first-child{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-ta-ctn .fi-ta-selection-indicator>:first-child:where(.dark,.dark *){color:var(--gray-200)}.fi-ta-ctn .fi-ta-selection-indicator>:nth-child(2){margin-inline-start:auto}.fi-ta-ctn .fi-ta-filter-indicators{justify-content:space-between;align-items:flex-start;column-gap:calc(var(--spacing)*3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*1.5);display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filter-indicators{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-ta-filter-indicators:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-filter-indicators:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-filter-indicators:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-ta-filter-indicators:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-ctn .fi-ta-filter-indicators>:first-child{column-gap:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}@media (min-width:40rem){.fi-ta-ctn .fi-ta-filter-indicators>:first-child{flex-direction:row}}.fi-ta-ctn .fi-ta-filter-indicators>:first-child .fi-ta-filter-indicators-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--gray-700)}.fi-ta-ctn .fi-ta-filter-indicators>:first-child .fi-ta-filter-indicators-label:where(.dark,.dark *){color:var(--gray-200)}.fi-ta-ctn .fi-ta-filter-indicators>:first-child .fi-ta-filter-indicators-badges-ctn{gap:calc(var(--spacing)*1.5);flex-wrap:wrap;display:flex}.fi-ta-ctn .fi-ta-filter-indicators>:nth-child(2).fi-icon-btn{margin-top:calc(var(--spacing)*-1)}.fi-ta-ctn .fi-pagination{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-ctn .fi-pagination{padding-inline:calc(var(--spacing)*6)}}.fi-ta-ctn .fi-pagination:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-ctn .fi-pagination:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-ctn .fi-ta-table-loading-ctn{height:calc(var(--spacing)*32);justify-content:center;align-items:center;display:flex}.fi-ta-ctn .fi-ta-main{min-width:calc(var(--spacing)*0);flex:1}@media (min-width:64rem){.fi-ta-ctn .fi-ta-filters-trigger-action-ctn.lg\:fi-hidden{display:none}}.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn{z-index:20;border-radius:var(--radius-lg);border-color:var(--gray-200);background-color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);width:100vw;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex-shrink:0;display:none;position:absolute;max-width:14rem!important}@media (min-width:64rem){.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn{z-index:auto;--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:static}}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn):where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn) .fi-ta-filters{padding:calc(var(--spacing)*6)}@media (min-width:64rem){:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn) .fi-ta-filters{padding-block:calc(var(--spacing)*4)}}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-open{display:block}@media (min-width:64rem){:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).lg\:fi-open{display:block}}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-opacity-0{opacity:0}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-xs{max-width:var(--container-xs)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-sm{max-width:var(--container-sm)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-md{max-width:var(--container-md)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-lg{max-width:var(--container-lg)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-xl{max-width:var(--container-xl)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-2xl{max-width:var(--container-2xl)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-3xl{max-width:var(--container-3xl)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-4xl{max-width:var(--container-4xl)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-5xl{max-width:var(--container-5xl)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-6xl{max-width:var(--container-6xl)!important}:is(.fi-ta-ctn .fi-ta-filters-before-content-ctn,.fi-ta-ctn .fi-ta-filters-after-content-ctn).fi-width-7xl{max-width:var(--container-7xl)!important}.fi-ta-ctn .fi-ta-filters-before-content-ctn{inset-inline-start:calc(var(--spacing)*0)}@media (min-width:64rem){.fi-ta-ctn .fi-ta-filters-before-content-ctn{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px;border-start-start-radius:var(--radius-xl);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-xl)}}.fi-ta-ctn .fi-ta-filters-after-content-ctn{inset-inline-end:calc(var(--spacing)*0)}@media (min-width:64rem){.fi-ta-ctn .fi-ta-filters-after-content-ctn{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-start-start-radius:0;border-start-end-radius:var(--radius-xl);border-end-end-radius:var(--radius-xl);border-end-start-radius:0}}.fi-ta-content-ctn{position:relative}:where(.fi-ta-content-ctn>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-content-ctn{overflow-x:auto}:where(.fi-ta-content-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-content-ctn:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn:where(.dark,.dark *){border-top-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn:where(.dark,.dark *){border-top-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content-header{align-items:center;gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*6);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*4);display:flex}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content-header{padding-inline:calc(var(--spacing)*6)}}.fi-ta-content-ctn .fi-ta-content-header:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content-header:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content-header .fi-ta-page-checkbox{margin-block:calc(var(--spacing)*4);flex-shrink:0}.fi-ta-content-ctn .fi-ta-content-header .fi-ta-sorting-settings{column-gap:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3);display:flex}.fi-ta-content-ctn:not(.fi-ta-ctn-with-footer .fi-ta-content-ctn){border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.fi-ta-content-ctn:not(.fi-ta-ctn-with-header .fi-ta-content-ctn){border-top-style:var(--tw-border-style);border-top-width:0}.fi-ta-content-ctn .fi-ta-content{display:grid}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid{gap:calc(var(--spacing)*4);padding:calc(var(--spacing)*4)}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid{padding-inline:calc(var(--spacing)*6)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid.fi-ta-content-grouped{padding-top:calc(var(--spacing)*0)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header{margin-inline:calc(var(--spacing)*-4);border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--gray-200)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header:first-child{border-top-style:var(--tw-border-style);border-top-width:0}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header{margin-inline:calc(var(--spacing)*-6)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header{width:calc(100% + 2rem)}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-group-header{width:calc(100% + 3rem)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record{border-radius:var(--radius-xl);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}@media (hover:hover){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-selected:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected){background-color:var(--color-white)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record:not(.fi-selected):where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-actions{padding-inline-start:calc(var(--spacing)*2)}.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content.fi-ta-content-grid .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-actions{padding-inline-end:calc(var(--spacing)*2)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid){background-color:var(--gray-200);row-gap:1px}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}@media (hover:hover){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-clickable:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:before{content:var(--tw-content);content:var(--tw-content);inset-block:calc(var(--spacing)*0);content:var(--tw-content);content:var(--tw-content);width:calc(var(--spacing)*.5);content:var(--tw-content);background-color:var(--primary-600);position:absolute;inset-inline-start:calc(var(--spacing)*0)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-selected:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--primary-500)}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record .fi-ta-record-content-ctn{flex-direction:row;align-items:center}}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-actions{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-actions{padding-inline-end:calc(var(--spacing)*6)}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-prefix{padding-inline-start:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-prefix .fi-ta-actions{padding-inline-start:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-suffix{padding-inline-end:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record.fi-ta-record-with-content-suffix .fi-ta-actions{padding-inline-end:calc(var(--spacing)*3)}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content:not(.fi-ta-content-grid) .fi-ta-record .fi-ta-actions{padding-inline-start:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header{align-items:center;column-gap:calc(var(--spacing)*3);background-color:var(--gray-50);width:100%;padding-inline:calc(var(--spacing)*1);padding-block:calc(var(--spacing)*2);grid-column:1/-1;display:flex}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header{padding-inline:calc(var(--spacing)*3)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header.fi-collapsible{cursor:pointer}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header.fi-collapsible.fi-collapsed .fi-icon-btn{rotate:-180deg}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-content-ctn .fi-ta-content .fi-ta-group-header .fi-ta-group-checkbox{margin-inline:calc(var(--spacing)*3)}.fi-ta-content-ctn .fi-ta-content .fi-ta-table{grid-column:1/-1}.fi-ta-content-ctn .fi-ta-content .fi-ta-record{background-color:var(--color-white);height:100%;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;align-items:center;transition-duration:75ms;display:flex;position:relative}.fi-ta-content-ctn .fi-ta-content .fi-ta-record:where(.dark,.dark *){background-color:var(--gray-900)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-ta-record-with-content-prefix{padding-inline-start:calc(var(--spacing)*1)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-ta-record-with-content-suffix{padding-inline-end:calc(var(--spacing)*1)}@media (hover:hover){.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-clickable:hover{background-color:var(--gray-50)}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-collapsed{display:none}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-selected{background-color:var(--gray-50)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-reorder-handle{margin-inline:calc(var(--spacing)*1);margin-block:calc(var(--spacing)*2)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-checkbox{margin-inline:calc(var(--spacing)*3);margin-block:calc(var(--spacing)*4);flex-shrink:0}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn{row-gap:calc(var(--spacing)*3);width:100%;height:100%;padding-block:calc(var(--spacing)*4);flex-direction:column;display:flex}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn>:first-child{flex:1}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content{width:100%;display:block}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col{text-align:start;justify-content:flex-start;display:flex}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col:disabled{pointer-events:none}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-growable{width:100%}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-center{text-align:center;justify-content:center}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-end{text-align:end;justify-content:flex-end}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-left{text-align:left;justify-content:flex-start}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-right{text-align:right;justify-content:flex-end}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-justify,.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-ta-col.fi-align-between{text-align:justify;justify-content:space-between}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content.fi-collapsible{margin-top:calc(var(--spacing)*3)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .fi-growable{flex:1;width:100%}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .\32 xl\:fi-hidden{display:none}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .sm\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .md\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .lg\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .xl\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-content-ctn .fi-ta-record-content .\32 xl\:fi-visible{display:block}}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-record-collapse-btn{margin-inline:calc(var(--spacing)*1);margin-block:calc(var(--spacing)*2);flex-shrink:0}.fi-ta-content-ctn .fi-ta-content .fi-ta-record .fi-ta-actions.fi-ta-actions-before-columns-position{order:-9999}.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-prefix) .fi-ta-actions{padding-inline-start:calc(var(--spacing)*4)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-record-content,.fi-ta-content-ctn .fi-ta-content .fi-ta-record:not(.fi-ta-record-with-content-suffix) .fi-ta-actions{padding-inline-end:calc(var(--spacing)*4)}.fi-ta-content-ctn .fi-ta-content .fi-ta-record.fi-ta-record-collapsed .fi-ta-record-collapse-btn{rotate:180deg}.fi-ta-empty-state{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*12)}.fi-ta-empty-state:not(.fi-ta-ctn-with-content-layout .fi-ta-empty-state){border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--gray-200)}.fi-ta-empty-state:not(.fi-ta-ctn-with-content-layout .fi-ta-empty-state):where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-ta-empty-state:not(.fi-ta-ctn-with-content-layout .fi-ta-empty-state):where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-ta-empty-state .fi-ta-empty-state-content{max-width:var(--container-lg);text-align:center;justify-items:center;margin-inline:auto;display:grid}.fi-ta-empty-state .fi-ta-empty-state-icon-bg{margin-bottom:calc(var(--spacing)*4);background-color:var(--gray-100);padding:calc(var(--spacing)*3);border-radius:3.40282e38px}.fi-ta-empty-state .fi-ta-empty-state-icon-bg:where(.dark,.dark *){background-color:var(--gray-500)}@supports (color:color-mix(in lab, red, red)){.fi-ta-empty-state .fi-ta-empty-state-icon-bg:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-500)20%,transparent)}}.fi-ta-empty-state .fi-ta-empty-state-icon-bg .fi-icon{color:var(--gray-500)}.fi-ta-empty-state .fi-ta-empty-state-icon-bg .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-empty-state .fi-ta-empty-state-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-empty-state .fi-ta-empty-state-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-empty-state .fi-ta-empty-state-description{margin-top:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-ta-empty-state .fi-ta-empty-state-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-empty-state .fi-ta-actions{margin-top:calc(var(--spacing)*6)}.fi-ta-header-cell{padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*3.5);text-align:start;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-header-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-header-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-header-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-header-cell.fi-growable{width:100%}.fi-ta-header-cell.fi-grouped{border-color:var(--gray-200)}.fi-ta-header-cell.fi-grouped:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-header-cell.fi-grouped:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-header-cell.fi-grouped:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-ta-header-cell.fi-grouped:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-ta-header-cell.fi-align-center{text-align:center}.fi-ta-header-cell.fi-align-center .fi-ta-header-cell-sort-btn{justify-content:center}.fi-ta-header-cell.fi-align-end{text-align:end}.fi-ta-header-cell.fi-align-end .fi-ta-header-cell-sort-btn{justify-content:flex-end}.fi-ta-header-cell.fi-align-left{text-align:left}.fi-ta-header-cell.fi-align-left .fi-ta-header-cell-sort-btn{justify-content:flex-start}.fi-ta-header-cell.fi-align-left .fi-ta-header-cell-sort-btn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.fi-ta-header-cell.fi-align-right{text-align:right}.fi-ta-header-cell.fi-align-right .fi-ta-header-cell-sort-btn{justify-content:flex-end}.fi-ta-header-cell.fi-align-right .fi-ta-header-cell-sort-btn:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.fi-ta-header-cell.fi-align-justify,.fi-ta-header-cell.fi-align-between{text-align:justify}:is(.fi-ta-header-cell.fi-align-justify,.fi-ta-header-cell.fi-align-between) .fi-ta-header-cell-sort-btn{justify-content:space-between}.fi-ta-header-cell.fi-ta-header-cell-sorted .fi-icon{color:var(--gray-950)}.fi-ta-header-cell.fi-ta-header-cell-sorted .fi-icon:where(.dark,.dark *){color:var(--color-white)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-icon{color:var(--gray-400)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-icon:where(.dark,.dark *),.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:hover .fi-icon{color:var(--gray-500)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:focus-visible .fi-icon{color:var(--gray-500)}.fi-ta-header-cell:not(.fi-ta-header-cell-sorted) .fi-ta-header-cell-sort-btn:focus-visible .fi-icon:where(.dark,.dark *){color:var(--gray-400)}@media (min-width:40rem){.fi-ta-header-cell.sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-header-cell.md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-header-cell.lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-header-cell.xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-header-cell.\32 xl\:fi-hidden{display:none}}.fi-ta-header-cell.sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-header-cell.sm\:fi-visible{display:table-cell}}.fi-ta-header-cell.md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-header-cell.md\:fi-visible{display:table-cell}}.fi-ta-header-cell.lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-header-cell.lg\:fi-visible{display:table-cell}}.fi-ta-header-cell.xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-header-cell.xl\:fi-visible{display:table-cell}}.fi-ta-header-cell.\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-header-cell.\32 xl\:fi-visible{display:table-cell}}.fi-ta-header-cell.fi-wrapped{white-space:normal}.fi-ta-header-cell:not(.fi-wrapped){white-space:nowrap}.fi-ta-header-cell .fi-ta-header-cell-sort-btn{cursor:pointer;justify-content:flex-start;align-items:center;column-gap:calc(var(--spacing)*1);width:100%;display:flex}.fi-ta-header-cell .fi-icon{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;transition-duration:75ms}.fi-ta-header-group-cell{border-color:var(--gray-200);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}@media (min-width:40rem){.fi-ta-header-group-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-header-group-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-header-group-cell:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-header-group-cell:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-header-group-cell:where(.dark,.dark *){color:var(--color-white)}.fi-ta-header-group-cell:not(:first-of-type){border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.fi-ta-header-group-cell:not(:last-of-type){border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.fi-ta-header-group-cell.fi-align-start{text-align:start}.fi-ta-header-group-cell.fi-align-center{text-align:center}.fi-ta-header-group-cell.fi-align-end{text-align:end}.fi-ta-header-group-cell.fi-align-left{text-align:left}.fi-ta-header-group-cell.fi-align-right{text-align:right}.fi-ta-header-group-cell.fi-align-justify,.fi-ta-header-group-cell.fi-align-between{text-align:justify}@media (min-width:40rem){.fi-ta-header-group-cell.sm\:fi-hidden{display:none}}@media (min-width:48rem){.fi-ta-header-group-cell.md\:fi-hidden{display:none}}@media (min-width:64rem){.fi-ta-header-group-cell.lg\:fi-hidden{display:none}}@media (min-width:80rem){.fi-ta-header-group-cell.xl\:fi-hidden{display:none}}@media (min-width:96rem){.fi-ta-header-group-cell.\32 xl\:fi-hidden{display:none}}.fi-ta-header-group-cell.sm\:fi-visible{display:none}@media (min-width:40rem){.fi-ta-header-group-cell.sm\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.md\:fi-visible{display:none}@media (min-width:48rem){.fi-ta-header-group-cell.md\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.lg\:fi-visible{display:none}@media (min-width:64rem){.fi-ta-header-group-cell.lg\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.xl\:fi-visible{display:none}@media (min-width:80rem){.fi-ta-header-group-cell.xl\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.\32 xl\:fi-visible{display:none}@media (min-width:96rem){.fi-ta-header-group-cell.\32 xl\:fi-visible{display:table-cell}}.fi-ta-header-group-cell.fi-wrapped{white-space:normal}.fi-ta-header-group-cell:not(.fi-wrapped){white-space:nowrap}.fi-ta-empty-header-cell{width:calc(var(--spacing)*1)}@media (hover:hover){.fi-ta-row{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-ta-row.fi-clickable:hover{background-color:var(--gray-50)}.fi-ta-row.fi-clickable:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-clickable:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-ta-row.fi-striped{background-color:var(--gray-50)}.fi-ta-row.fi-striped:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-striped:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-row.fi-collapsed{display:none}.fi-ta-row.fi-ta-group-header-row>td{background-color:var(--gray-50)}.fi-ta-row.fi-ta-group-header-row>td:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-ta-group-header-row>td:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-row .fi-ta-group-header-cell{padding-inline:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-ta-row .fi-ta-group-header-cell:first-of-type{padding-inline-start:calc(var(--spacing)*6)}.fi-ta-row .fi-ta-group-header-cell:last-of-type{padding-inline-end:calc(var(--spacing)*6)}}.fi-ta-row .fi-ta-group-header{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;padding-block:calc(var(--spacing)*2);display:flex}.fi-ta-row .fi-ta-group-header.fi-collapsible{cursor:pointer}.fi-ta-row .fi-ta-group-header.fi-collapsible.fi-collapsed .fi-icon-btn{rotate:-180deg}.fi-ta-row .fi-ta-group-header .fi-ta-group-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-ta-row .fi-ta-group-header .fi-ta-group-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-row .fi-ta-group-header .fi-ta-group-description{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-ta-row .fi-ta-group-header .fi-ta-group-description:where(.dark,.dark *){color:var(--gray-400)}.fi-ta-row.fi-selected:not(.fi-striped){background-color:var(--gray-50)}.fi-ta-row.fi-selected:not(.fi-striped):where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-row.fi-selected:not(.fi-striped):where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-row.fi-selected>:first-child{position:relative}.fi-ta-row.fi-selected>:first-child:before{inset-block:calc(var(--spacing)*0);width:calc(var(--spacing)*.5);background-color:var(--primary-600);content:"";position:absolute;inset-inline-start:calc(var(--spacing)*0)}.fi-ta-row.fi-selected>:first-child:where(.dark,.dark *):before{background-color:var(--primary-500)}.fi-ta-reordering .fi-ta-row:not(.fi-ta-row-not-reorderable){cursor:move}.fi-ta-table{table-layout:auto;width:100%}:where(.fi-ta-table>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-table{text-align:start}:where(.fi-ta-table:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-table:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}:where(.fi-ta-table>thead>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-ta-table>thead:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-table>thead:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-table>thead>tr{background-color:var(--gray-50)}.fi-ta-table>thead>tr:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-table>thead>tr:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-table>thead>tr.fi-ta-table-head-groups-row{background-color:var(--gray-100)}.fi-ta-table>thead>tr.fi-ta-table-head-groups-row:where(.dark,.dark *){background-color:#0000}:where(.fi-ta-table>tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}.fi-ta-table>tbody{white-space:nowrap}:where(.fi-ta-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){:where(.fi-ta-table>tbody:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-table>tfoot{background-color:var(--gray-50)}.fi-ta-table>tfoot:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-ta-table>tfoot:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-ta-col-manager{row-gap:calc(var(--spacing)*4);display:grid}.fi-ta-col-manager .fi-ta-col-manager-ctn{gap:calc(var(--spacing)*4);display:grid}.fi-ta-col-manager .fi-ta-col-manager-header{justify-content:space-between;align-items:center;display:flex}.fi-ta-col-manager .fi-ta-col-manager-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950)}.fi-ta-col-manager .fi-ta-col-manager-heading:where(.dark,.dark *){color:var(--color-white)}.fi-ta-col-manager .fi-ta-col-manager-items{margin-top:calc(var(--spacing)*-6);column-gap:calc(var(--spacing)*6)}.fi-ta-col-manager .fi-ta-col-manager-item{break-inside:avoid;align-items:center;gap:calc(var(--spacing)*3);padding-top:calc(var(--spacing)*6);display:flex}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-label{align-items:center;column-gap:calc(var(--spacing)*3);width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950);flex:1;display:flex}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-label:where(.dark,.dark *){color:var(--color-white)}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-label .fi-checkbox-input{flex-shrink:0}.fi-ta-col-manager .fi-ta-col-manager-item .fi-ta-col-manager-reorder-handle{cursor:move}.fi-ta-col-manager .fi-ta-col-manager-group{break-inside:avoid}.fi-ta-col-manager .fi-ta-col-manager-group .fi-ta-col-manager-group-items{padding-inline-start:calc(var(--spacing)*8)}.fi-ta-col-manager .fi-ta-col-manager-actions-ctn{gap:calc(var(--spacing)*3);display:flex}.fi-wi-chart .fi-wi-chart-canvas-ctn{margin-inline:auto}.fi-wi-chart .fi-wi-chart-canvas-ctn:not(.fi-wi-chart-canvas-ctn-no-aspect-ratio){aspect-ratio:1}@supports (container-type:inline-size){.fi-wi-chart .fi-section-content{container-type:inline-size}@container (min-width:24rem){.fi-wi-chart .fi-wi-chart-canvas-ctn:not(.fi-wi-chart-canvas-ctn-no-aspect-ratio){aspect-ratio:1.5}}}@supports not (container-type:inline-size){@media (min-width:40rem){.fi-wi-chart .fi-wi-chart-canvas-ctn:not(.fi-wi-chart-canvas-ctn-no-aspect-ratio){aspect-ratio:1.5}}}.fi-wi-chart .fi-wi-chart-filter.fi-input-wrp{width:max-content}@media (min-width:40rem){.fi-wi-chart .fi-wi-chart-filter.fi-input-wrp{margin-block:calc(var(--spacing)*-2)}}.fi-wi-chart .fi-wi-chart-filter.fi-dropdown .fi-wi-chart-filter-content{padding:calc(var(--spacing)*6)}.fi-wi-chart .fi-color .fi-wi-chart-bg-color{color:var(--color-50)}.fi-wi-chart .fi-color .fi-wi-chart-bg-color:where(.dark,.dark *){color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-wi-chart .fi-color .fi-wi-chart-bg-color:where(.dark,.dark *){color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-wi-chart .fi-color .fi-wi-chart-border-color{color:var(--color-500)}.fi-wi-chart .fi-color .fi-wi-chart-border-color:where(.dark,.dark *){color:var(--color-400)}.fi-wi-chart .fi-wi-chart-bg-color{color:var(--gray-100)}.fi-wi-chart .fi-wi-chart-bg-color:where(.dark,.dark *){color:var(--gray-800)}.fi-wi-chart .fi-wi-chart-border-color{color:var(--gray-400)}.fi-wi-chart .fi-wi-chart-grid-color{color:var(--gray-200)}.fi-wi-chart .fi-wi-chart-grid-color:where(.dark,.dark *){color:var(--gray-800)}.fi-wi-chart .fi-wi-chart-text-color{color:var(--gray-500)}.fi-wi-chart .fi-wi-chart-text-color:where(.dark,.dark *){color:var(--gray-400)}.fi-wi-stats-overview-stat{border-radius:var(--radius-xl);background-color:var(--color-white);height:100%;padding:calc(var(--spacing)*6);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);display:block;position:relative}.fi-wi-stats-overview-stat:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-wi-stats-overview-stat:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-wi-stats-overview-stat .fi-icon{color:var(--gray-400);flex-shrink:0}.fi-wi-stats-overview-stat .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-content{row-gap:calc(var(--spacing)*2);display:grid}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label-ctn{align-items:center;column-gap:calc(var(--spacing)*2);display:flex}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label:where(.dark,.dark *){color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value:where(.dark,.dark *){color:var(--color-white)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description{align-items:center;column-gap:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500);display:flex}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description:where(.dark,.dark *){color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color{color:var(--text)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color:where(.dark,.dark *){color:var(--dark-text)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color .fi-icon{color:var(--color-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart{inset-inline:calc(var(--spacing)*0);bottom:calc(var(--spacing)*0);border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl);position:absolute;overflow:hidden}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart>canvas{height:calc(var(--spacing)*6)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-bg-color{color:var(--gray-100)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-bg-color:where(.dark,.dark *){color:var(--gray-800)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-border-color{color:var(--gray-400)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-bg-color{color:var(--color-50)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-bg-color:where(.dark,.dark *){color:var(--color-400)}@supports (color:color-mix(in lab, red, red)){.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-bg-color:where(.dark,.dark *){color:color-mix(in oklab,var(--color-400)10%,transparent)}}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-border-color{color:var(--color-500)}.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-border-color:where(.dark,.dark *){color:var(--color-400)}.fi-wi{gap:calc(var(--spacing)*6)}.fi-global-search-ctn{align-items:center;display:flex}.fi-global-search{flex:1}@media (min-width:40rem){.fi-global-search{position:relative}}.fi-global-search-results-ctn{inset-inline:calc(var(--spacing)*4);z-index:10;margin-top:calc(var(--spacing)*2);max-height:calc(var(--spacing)*96);border-radius:var(--radius-lg);background-color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));position:absolute;overflow:auto}@media (min-width:40rem){.fi-global-search-results-ctn{inset-inline:auto}}.fi-global-search-results-ctn:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-global-search-results-ctn:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-results-ctn{transform:translateZ(0)}.fi-global-search-results-ctn.fi-transition-enter-start,.fi-global-search-results-ctn.fi-transition-leave-end{opacity:0}@media (min-width:40rem){.fi-topbar .fi-global-search-results-ctn{width:100vw;max-width:var(--container-sm);inset-inline-end:calc(var(--spacing)*0)}}.fi-sidebar .fi-global-search-ctn{margin-inline:calc(var(--spacing)*3);margin-top:calc(var(--spacing)*3)}@media (min-width:40rem){.fi-sidebar .fi-global-search-results-ctn{inset-inline-start:calc(var(--spacing)*0)}}.fi-global-search-no-results-message{padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-global-search-no-results-message:where(.dark,.dark *){color:var(--gray-400)}:where(.fi-global-search-results>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-global-search-results:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-global-search-results:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-result-group-header{top:calc(var(--spacing)*0);z-index:10;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--gray-200);background-color:var(--gray-50);padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);text-transform:capitalize;position:sticky}.fi-global-search-result-group-header:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-global-search-result-group-header:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-result-group-header:where(.dark,.dark *){background-color:var(--gray-800);color:var(--color-white)}:where(.fi-global-search-result-group-results>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-color:var(--gray-200)}:where(.fi-global-search-result-group-results:where(.dark,.dark *)>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){:where(.fi-global-search-result-group-results:where(.dark,.dark *)>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-global-search-result{scroll-margin-top:calc(var(--spacing)*9);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-global-search-result:focus-within{background-color:var(--gray-50)}@media (hover:hover){.fi-global-search-result:hover{background-color:var(--gray-50)}}.fi-global-search-result:where(.dark,.dark *):focus-within{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-global-search-result:where(.dark,.dark *):focus-within{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}@media (hover:hover){.fi-global-search-result:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-global-search-result:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-global-search-result.fi-global-search-result-has-actions .fi-global-search-result-link{padding-bottom:calc(var(--spacing)*0)}.fi-global-search-result-link{padding:calc(var(--spacing)*4);--tw-outline-style:none;outline-style:none;display:block}@media (forced-colors:active){.fi-global-search-result-link{outline-offset:2px;outline:2px solid #0000}}.fi-global-search-result-heading{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-950)}.fi-global-search-result-heading:where(.dark,.dark *){color:var(--color-white)}.fi-global-search-result-details{margin-top:calc(var(--spacing)*1)}.fi-global-search-result-detail{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-global-search-result-detail:where(.dark,.dark *){color:var(--gray-400)}.fi-global-search-result-detail-label{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline}.fi-global-search-result-detail-value{display:inline}.fi-global-search-result-actions{margin-top:calc(var(--spacing)*3);column-gap:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);padding-bottom:calc(var(--spacing)*4);display:flex}.fi-header{gap:calc(var(--spacing)*4);flex-direction:column;display:flex}@media (min-width:40rem){.fi-header{flex-direction:row;justify-content:space-between;align-items:center}}.fi-header .fi-breadcrumbs{margin-bottom:calc(var(--spacing)*2);display:none}@media (min-width:40rem){.fi-header .fi-breadcrumbs{display:block}.fi-header.fi-header-has-breadcrumbs .fi-header-actions-ctn{margin-top:calc(var(--spacing)*7)}}.fi-header-heading{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950)}@media (min-width:40rem){.fi-header-heading{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}.fi-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-header-subheading{margin-top:calc(var(--spacing)*2);max-width:var(--container-2xl);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));color:var(--gray-600)}.fi-header-subheading:where(.dark,.dark *){color:var(--gray-400)}.fi-header-actions-ctn{align-items:center;gap:calc(var(--spacing)*3);flex-shrink:0;display:flex}.fi-header-actions-ctn>.fi-ac{flex:1}.fi-header-actions-ctn>.fi-ac:not(.fi-width-full).fi-align-end,.fi-header-actions-ctn>.fi-ac:not(.fi-width-full).fi-align-right{flex-direction:row;justify-content:flex-end}.fi-simple-header{flex-direction:column;align-items:center;display:flex}.fi-simple-header .fi-logo{margin-bottom:calc(var(--spacing)*4)}.fi-simple-header-heading{text-align:center;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950)}.fi-simple-header-heading:where(.dark,.dark *){color:var(--color-white)}.fi-simple-header-subheading{margin-top:calc(var(--spacing)*2);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-simple-header-subheading:where(.dark,.dark *){color:var(--gray-400)}html.fi{min-height:100dvh}.fi-body{background-color:var(--gray-50);--tw-font-weight:var(--font-weight-normal);min-height:100dvh;font-weight:var(--font-weight-normal);color:var(--gray-950);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fi-body:where(.dark,.dark *){background-color:var(--gray-950);color:var(--color-white)}:is(.fi-body.fi-body-has-sidebar-collapsible-on-desktop,.fi-body.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-main-ctn{opacity:0;min-height:calc(100dvh - 4rem);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.fi-body>.fi-layout-sidebar-toggle-btn-ctn{padding-inline-start:calc(var(--spacing)*5);padding-top:calc(var(--spacing)*5)}@media (min-width:64rem){.fi-body>.fi-layout-sidebar-toggle-btn-ctn.lg\:fi-hidden{display:none}}.fi-body.fi-body-has-navigation:not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop):not(.fi-body-has-top-navigation) .fi-main-ctn{opacity:0}:is(.fi-body.fi-body-has-top-navigation,.fi-body:not(.fi-body-has-navigation)) .fi-main-ctn{min-height:calc(100dvh - 4rem);display:flex}.fi-body:not(.fi-body-has-topbar) .fi-main-ctn{min-height:100dvh;display:flex}.fi-layout{width:100%;height:100%;display:flex;overflow-x:clip}.fi-main-ctn{flex-direction:column;flex:1;width:100vw}.fi-main{width:100%;height:100%;padding-inline:calc(var(--spacing)*4);margin-inline:auto}@media (min-width:48rem){.fi-main{padding-inline:calc(var(--spacing)*6)}}@media (min-width:64rem){.fi-main{padding-inline:calc(var(--spacing)*8)}}:is(.fi-main,.fi-simple-main).fi-width-xs{max-width:var(--container-xs)}:is(.fi-main,.fi-simple-main).fi-width-sm{max-width:var(--container-sm)}:is(.fi-main,.fi-simple-main).fi-width-md{max-width:var(--container-md)}:is(.fi-main,.fi-simple-main).fi-width-lg{max-width:var(--container-lg)}:is(.fi-main,.fi-simple-main).fi-width-xl{max-width:var(--container-xl)}:is(.fi-main,.fi-simple-main).fi-width-2xl{max-width:var(--container-2xl)}:is(.fi-main,.fi-simple-main).fi-width-3xl{max-width:var(--container-3xl)}:is(.fi-main,.fi-simple-main).fi-width-4xl{max-width:var(--container-4xl)}:is(.fi-main,.fi-simple-main).fi-width-5xl{max-width:var(--container-5xl)}:is(.fi-main,.fi-simple-main).fi-width-6xl{max-width:var(--container-6xl)}:is(.fi-main,.fi-simple-main).fi-width-7xl{max-width:var(--container-7xl)}:is(.fi-main,.fi-simple-main).fi-width-full{max-width:100%}:is(.fi-main,.fi-simple-main).fi-width-min{max-width:min-content}:is(.fi-main,.fi-simple-main).fi-width-max{max-width:max-content}:is(.fi-main,.fi-simple-main).fi-width-fit{max-width:fit-content}:is(.fi-main,.fi-simple-main).fi-width-prose{max-width:65ch}:is(.fi-main,.fi-simple-main).fi-width-screen-sm{max-width:var(--breakpoint-sm)}:is(.fi-main,.fi-simple-main).fi-width-screen-md{max-width:var(--breakpoint-md)}:is(.fi-main,.fi-simple-main).fi-width-screen-lg{max-width:var(--breakpoint-lg)}:is(.fi-main,.fi-simple-main).fi-width-screen-xl{max-width:var(--breakpoint-xl)}:is(.fi-main,.fi-simple-main).fi-width-screen-2xl{max-width:var(--breakpoint-2xl)}:is(.fi-main,.fi-simple-main).fi-width-screen{inset:calc(var(--spacing)*0);position:fixed}.fi-simple-layout{flex-direction:column;align-items:center;min-height:100dvh;display:flex}.fi-simple-layout-header{inset-inline-end:calc(var(--spacing)*0);top:calc(var(--spacing)*0);height:calc(var(--spacing)*16);align-items:center;column-gap:calc(var(--spacing)*4);padding-inline-end:calc(var(--spacing)*4);display:flex;position:absolute}@media (min-width:48rem){.fi-simple-layout-header{padding-inline-end:calc(var(--spacing)*6)}}@media (min-width:64rem){.fi-simple-layout-header{padding-inline-end:calc(var(--spacing)*8)}}.fi-simple-main-ctn{flex-grow:1;justify-content:center;align-items:center;width:100%;display:flex}.fi-simple-main{margin-block:calc(var(--spacing)*16);background-color:var(--color-white);width:100%;padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*12);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}@media (min-width:40rem){.fi-simple-main{border-radius:var(--radius-xl);padding-inline:calc(var(--spacing)*12)}}.fi-simple-main:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-simple-main:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-logo{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--gray-950);display:flex}.fi-logo:where(.dark,.dark *){color:var(--color-white)}.fi-logo.fi-logo-light:where(.dark,.dark *),.fi-logo.fi-logo-dark{display:none}.fi-logo.fi-logo-dark:where(.dark,.dark *){display:flex}@media (min-width:48rem){.fi-page-sub-navigation-dropdown{display:none}}.fi-page-sub-navigation-dropdown>.fi-dropdown-trigger>.fi-btn{justify-content:space-between;width:100%}.fi-page-sub-navigation-sidebar-ctn{width:calc(var(--spacing)*72);flex-direction:column;display:none}@media (min-width:48rem){.fi-page-sub-navigation-sidebar-ctn{display:flex}}.fi-page-sub-navigation-sidebar{row-gap:calc(var(--spacing)*7);flex-direction:column;display:flex}.fi-page-sub-navigation-tabs{display:none}@media (min-width:48rem){.fi-page-sub-navigation-tabs{display:flex}}.fi-page.fi-height-full,.fi-page.fi-height-full .fi-page-main,.fi-page.fi-height-full .fi-page-header-main-ctn,.fi-page.fi-height-full .fi-page-content{height:100%}.fi-page.fi-page-has-sub-navigation .fi-page-main{gap:calc(var(--spacing)*8);flex-direction:column;display:flex}@media (min-width:48rem){:is(.fi-page.fi-page-has-sub-navigation.fi-page-has-sub-navigation-start,.fi-page.fi-page-has-sub-navigation.fi-page-has-sub-navigation-end) .fi-page-main{flex-direction:row;align-items:flex-start}}.fi-page-header-main-ctn{row-gap:calc(var(--spacing)*8);padding-block:calc(var(--spacing)*8);flex-direction:column;display:flex}.fi-page-main-sub-navigation-mobile-menu-render-hook-ctn{display:contents}@media (min-width:48rem){.fi-page-main-sub-navigation-mobile-menu-render-hook-ctn{display:none}}.fi-page-content{row-gap:calc(var(--spacing)*8);flex:1;grid-auto-columns:minmax(0,1fr);display:grid}.fi-simple-page-content{row-gap:calc(var(--spacing)*6);grid-auto-columns:minmax(0,1fr);display:grid}.fi-sidebar-group{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}.fi-sidebar-group.fi-collapsed .fi-sidebar-group-collapse-btn{rotate:-180deg}.fi-sidebar-group.fi-collapsible>.fi-sidebar-group-btn{cursor:pointer}.fi-sidebar-group.fi-active .fi-sidebar-group-dropdown-trigger-btn .fi-icon{color:var(--primary-600)}.fi-sidebar-group.fi-active .fi-sidebar-group-dropdown-trigger-btn .fi-icon:where(.dark,.dark *){color:var(--primary-400)}.fi-sidebar-group-btn{align-items:center;column-gap:calc(var(--spacing)*3);padding:calc(var(--spacing)*2);display:flex}.fi-sidebar-group-btn .fi-icon{color:var(--gray-400)}.fi-sidebar-group-btn .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-group-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-500);flex:1}.fi-sidebar-group-label:where(.dark,.dark *){color:var(--gray-400)}.fi-sidebar-group-dropdown-trigger-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);padding:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;flex:1;display:flex;position:relative}@media (forced-colors:active){.fi-sidebar-group-dropdown-trigger-btn{outline-offset:2px;outline:2px solid #0000}}.fi-sidebar-group-dropdown-trigger-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-sidebar-group-dropdown-trigger-btn:hover{background-color:var(--gray-100)}}.fi-sidebar-group-dropdown-trigger-btn:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-group-dropdown-trigger-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-group-dropdown-trigger-btn .fi-icon{color:var(--gray-400)}.fi-sidebar-group-dropdown-trigger-btn .fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-group-items{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter{transition-delay:.1s}@media (min-width:64rem){:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter-start{opacity:0}:is(.fi-sidebar-group-btn,.fi-sidebar-group-items).fi-transition-enter-end{opacity:1}.fi-sidebar{inset-block:calc(var(--spacing)*0);z-index:30;background-color:var(--color-white);height:100dvh;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex-direction:column;align-content:flex-start;display:flex;position:fixed;inset-inline-start:calc(var(--spacing)*0)}@media (min-width:64rem){.fi-sidebar{z-index:20;background-color:#0000;transition-property:none}}.fi-sidebar:where(.dark,.dark *){background-color:var(--gray-900)}@media (min-width:64rem){.fi-sidebar:where(.dark,.dark *){background-color:#0000}}.fi-sidebar.fi-sidebar-open{width:var(--sidebar-width);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}@media (min-width:64rem){.fi-sidebar.fi-sidebar-open{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.fi-sidebar.fi-sidebar-open:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-sidebar.fi-sidebar-open:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-sidebar.fi-sidebar-open:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-sidebar:not(.fi-sidebar-open){--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-sidebar:not(.fi-sidebar-open):where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}@media (min-width:64rem){.fi-body-has-topbar .fi-sidebar{height:calc(100dvh - 4rem);top:4rem}}.fi-sidebar-close-overlay{inset:calc(var(--spacing)*0);z-index:30;background-color:var(--gray-950);position:fixed}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-close-overlay{background-color:color-mix(in oklab,var(--gray-950)50%,transparent)}}.fi-sidebar-close-overlay{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.5s;transition-duration:.5s}@media (min-width:64rem){.fi-sidebar-close-overlay{display:none}}.fi-sidebar-close-overlay:where(.dark,.dark *){background-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-close-overlay:where(.dark,.dark *){background-color:color-mix(in oklab,var(--gray-950)75%,transparent)}}@media (min-width:64rem){.fi-body.fi-body-has-top-navigation .fi-sidebar{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-body.fi-body-has-top-navigation .fi-sidebar:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.fi-body:not(.fi-body-has-top-navigation) .fi-sidebar.fi-sidebar-open,.fi-body:not(.fi-body-has-top-navigation).fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open){position:sticky}.fi-body:not(.fi-body-has-top-navigation).fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open),.fi-body:not(.fi-body-has-top-navigation).fi-body-has-sidebar-collapsible-on-desktop .fi-sidebar:not(.fi-sidebar-open):where(:dir(rtl),[dir=rtl],[dir=rtl] *),.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar,.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}}.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar:not(.fi-sidebar-open){width:var(--sidebar-width)}@media (min-width:64rem){.fi-body:not(.fi-body-has-top-navigation):not(.fi-body-has-sidebar-collapsible-on-desktop):not(.fi-body-has-sidebar-fully-collapsible-on-desktop) .fi-sidebar:not(.fi-sidebar-open){position:sticky}}.fi-sidebar-header-ctn{overflow-x:clip}.fi-sidebar-header{height:calc(var(--spacing)*16);justify-content:center;align-items:center;display:flex}.fi-sidebar-header-logo-ctn{flex:1}.fi-body-has-topbar .fi-sidebar-header{background-color:var(--color-white);padding-inline:calc(var(--spacing)*6);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-body-has-topbar .fi-sidebar-header{--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent)}}@media (min-width:64rem){.fi-body-has-topbar .fi-sidebar-header{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:none}}.fi-body-has-topbar .fi-sidebar-header:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-body-has-topbar .fi-sidebar-header:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}:not(.fi-body-has-topbar) .fi-sidebar-header{padding-inline:calc(var(--spacing)*4);--tw-shadow:0 0 #0000;--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:not(.fi-body-has-topbar) .fi-sidebar-header .fi-logo{margin-inline-start:calc(var(--spacing)*3)}.fi-sidebar-nav{row-gap:calc(var(--spacing)*7);padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*8);scrollbar-gutter:stable;flex-direction:column;flex-grow:1;display:flex;overflow:hidden auto}.fi-sidebar-nav-groups{margin-inline:calc(var(--spacing)*-2);row-gap:calc(var(--spacing)*7);flex-direction:column;display:flex}.fi-sidebar-item.fi-active,.fi-sidebar-item.fi-sidebar-item-has-active-child-items{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn{background-color:var(--gray-100)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-item.fi-active>.fi-sidebar-item-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-icon{color:var(--primary-700)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--primary-400)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-grouped-border>.fi-sidebar-item-grouped-border-part{background-color:var(--primary-700)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-grouped-border>.fi-sidebar-item-grouped-border-part:where(.dark,.dark *){background-color:var(--primary-400)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-label{color:var(--primary-700)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn>.fi-sidebar-item-label:where(.dark,.dark *){color:var(--primary-400)}.fi-sidebar-item.fi-active>.fi-sidebar-item-btn .fi-sidebar-item-grouped-border-part{height:calc(var(--spacing)*1.5);width:calc(var(--spacing)*1.5);border-radius:3.40282e38px;position:relative}@media (hover:hover){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:hover{background-color:var(--gray-100)}}.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-item.fi-sidebar-item-has-url>.fi-sidebar-item-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-item-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);padding:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;display:flex;position:relative}@media (forced-colors:active){.fi-sidebar-item-btn{outline-offset:2px;outline:2px solid #0000}}.fi-sidebar-item-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-sidebar-item-btn>.fi-icon{color:var(--gray-400)}.fi-sidebar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-item-grouped-border{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6);justify-content:center;align-items:center;display:flex;position:relative}.fi-sidebar-item-grouped-border-part-not-first{background-color:var(--gray-300);width:1px;position:absolute;top:-50%;bottom:50%}.fi-sidebar-item-grouped-border-part-not-first:where(.dark,.dark *){background-color:var(--gray-600)}.fi-sidebar-item-grouped-border-part-not-last{background-color:var(--gray-300);width:1px;position:absolute;top:50%;bottom:-50%}.fi-sidebar-item-grouped-border-part-not-last:where(.dark,.dark *){background-color:var(--gray-600)}.fi-sidebar-item-grouped-border-part{height:calc(var(--spacing)*1.5);width:calc(var(--spacing)*1.5);background-color:var(--gray-400);border-radius:3.40282e38px;position:relative}.fi-sidebar-item-grouped-border-part:where(.dark,.dark *){background-color:var(--gray-500)}.fi-sidebar-item-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);flex:1;overflow:hidden}.fi-sidebar-item-label:where(.dark,.dark *){color:var(--gray-200)}@media (min-width:64rem){:is(.fi-sidebar-item-label,.fi-sidebar-item-badge-ctn).fi-transition-enter{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));transition-delay:.1s}}:is(.fi-sidebar-item-label,.fi-sidebar-item-badge-ctn).fi-transition-enter-start{opacity:0}:is(.fi-sidebar-item-label,.fi-sidebar-item-badge-ctn).fi-transition-enter-end{opacity:1}.fi-sidebar-footer{margin-inline:calc(var(--spacing)*4);margin-block:calc(var(--spacing)*3);row-gap:calc(var(--spacing)*3);display:grid}.fi-sidebar-footer>.fi-no-database{display:block}.fi-sidebar-sub-group-items{row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}.fi-sidebar-database-notifications-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);width:100%;padding:calc(var(--spacing)*2);text-align:start;--tw-outline-style:none;outline-style:none;display:flex;position:relative}@media (forced-colors:active){.fi-sidebar-database-notifications-btn{outline-offset:2px;outline:2px solid #0000}}.fi-sidebar-database-notifications-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-sidebar-database-notifications-btn:hover{background-color:var(--gray-100)}}.fi-sidebar-database-notifications-btn:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-sidebar-database-notifications-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-database-notifications-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-sidebar-database-notifications-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-sidebar-database-notifications-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-sidebar-database-notifications-btn>.fi-icon{color:var(--gray-400)}.fi-sidebar-database-notifications-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700);flex:1;overflow:hidden}.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-label:where(.dark,.dark *){color:var(--gray-200)}@media (min-width:64rem){:is(.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-label,.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-badge-ctn).fi-transition-enter{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));transition-delay:.1s}}:is(.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-label,.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-badge-ctn).fi-transition-enter-start{opacity:0}:is(.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-label,.fi-sidebar-database-notifications-btn>.fi-sidebar-database-notifications-btn-badge-ctn).fi-transition-enter-end{opacity:1}.fi-sidebar-open-sidebar-btn,.fi-sidebar-open-collapse-sidebar-btn{margin-inline:calc(var(--spacing)*0)!important}.fi-sidebar-close-collapse-sidebar-btn{display:none;margin-inline:calc(var(--spacing)*0)!important}@media (min-width:64rem){.fi-sidebar-close-collapse-sidebar-btn{display:flex}:is(.fi-body.fi-body-has-sidebar-collapsible-on-desktop,.fi-body:not(.fi-body-has-sidebar-fully-collapsible-on-desktop)) .fi-sidebar-open-sidebar-btn{display:none}}.fi-sidebar-close-sidebar-btn{margin-inline:calc(var(--spacing)*0)!important}@media (min-width:64rem){.fi-sidebar-close-sidebar-btn{display:none}}.fi-tenant-menu-trigger{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);width:100%;padding:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-outline-style:none;outline-style:none;display:flex}@media (forced-colors:active){.fi-tenant-menu-trigger{outline-offset:2px;outline:2px solid #0000}}.fi-tenant-menu-trigger{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-tenant-menu-trigger:hover{background-color:var(--gray-100)}}.fi-tenant-menu-trigger:focus-visible{background-color:var(--gray-100)}@media (hover:hover){.fi-tenant-menu-trigger:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tenant-menu-trigger:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-tenant-menu-trigger:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-tenant-menu-trigger:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-tenant-menu-trigger .fi-tenant-avatar{flex-shrink:0}.fi-tenant-menu-trigger .fi-icon{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;margin-inline-start:auto;transition-duration:75ms}@media (hover:hover){.fi-tenant-menu-trigger .fi-icon:is(:where(.group):hover *){color:var(--gray-500)}}.fi-tenant-menu-trigger .fi-icon:is(:where(.group):focus-visible *),.fi-tenant-menu-trigger .fi-icon:where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){.fi-tenant-menu-trigger .fi-icon:where(.dark,.dark *):is(:where(.group):hover *){color:var(--gray-400)}}.fi-tenant-menu-trigger .fi-icon:where(.dark,.dark *):is(:where(.group):focus-visible *){color:var(--gray-400)}.fi-tenant-menu-trigger:hover .fi-icon{color:var(--gray-500)}.fi-tenant-menu-trigger:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-tenant-menu-trigger:focus-visible .fi-icon{color:var(--gray-500)}.fi-tenant-menu-trigger:focus-visible .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-tenant-menu-trigger-text{text-align:start;justify-items:start;display:grid}.fi-tenant-menu-trigger-current-tenant-label{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--gray-500)}.fi-tenant-menu-trigger-current-tenant-label:where(.dark,.dark *){color:var(--gray-400)}.fi-tenant-menu-trigger-tenant-name{color:var(--gray-950)}.fi-tenant-menu-trigger-tenant-name:where(.dark,.dark *){color:var(--color-white)}.fi-sidebar .fi-tenant-menu{margin-inline:calc(var(--spacing)*4);margin-top:calc(var(--spacing)*3)}.fi-theme-switcher{column-gap:calc(var(--spacing)*1);grid-auto-flow:column;display:grid}.fi-theme-switcher-btn{border-radius:var(--radius-md);padding:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;justify-content:center;display:flex}@media (forced-colors:active){.fi-theme-switcher-btn{outline-offset:2px;outline:2px solid #0000}}.fi-theme-switcher-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-theme-switcher-btn:hover{background-color:var(--gray-50)}}.fi-theme-switcher-btn:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-theme-switcher-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-theme-switcher-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-theme-switcher-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-theme-switcher-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-theme-switcher-btn.fi-active{background-color:var(--gray-50);color:var(--primary-500)}.fi-theme-switcher-btn.fi-active:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-theme-switcher-btn.fi-active:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-theme-switcher-btn.fi-active:where(.dark,.dark *){color:var(--primary-400)}.fi-theme-switcher-btn:not(.fi-active){color:var(--gray-400)}@media (hover:hover){.fi-theme-switcher-btn:not(.fi-active):hover{color:var(--gray-500)}}.fi-theme-switcher-btn:not(.fi-active):focus-visible,.fi-theme-switcher-btn:not(.fi-active):where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){.fi-theme-switcher-btn:not(.fi-active):where(.dark,.dark *):hover{color:var(--gray-400)}}.fi-theme-switcher-btn:not(.fi-active):where(.dark,.dark *):focus-visible{color:var(--gray-400)}.fi-topbar-ctn{top:calc(var(--spacing)*0);z-index:30;position:sticky;overflow-x:clip}.fi-topbar{min-height:calc(var(--spacing)*16);background-color:var(--color-white);padding-inline:calc(var(--spacing)*4);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)5%,transparent);align-items:center;display:flex}.fi-topbar:where(.dark,.dark *){background-color:var(--gray-900);--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.fi-topbar:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-topbar .fi-tenant-menu{display:none}@media (min-width:64rem){.fi-topbar .fi-tenant-menu{display:block}}.fi-topbar-open-sidebar-btn,.fi-topbar-close-sidebar-btn{margin-inline:calc(var(--spacing)*0)!important}@media (min-width:64rem){.fi-topbar-close-sidebar-btn{display:none}}.fi-topbar-open-collapse-sidebar-btn{margin-inline:calc(var(--spacing)*0)!important}.fi-topbar-close-collapse-sidebar-btn{display:none;margin-inline:calc(var(--spacing)*0)!important}@media (min-width:64rem){.fi-topbar-close-collapse-sidebar-btn{display:flex}}.fi-topbar-start{align-items:center;margin-inline-end:calc(var(--spacing)*6);display:none}@media (min-width:64rem){.fi-topbar-start{display:flex}}.fi-topbar-start .fi-logo{margin-inline-start:calc(var(--spacing)*3)}.fi-topbar-collapse-sidebar-btn-ctn{width:calc(var(--spacing)*9);flex-shrink:0}@media (min-width:64rem){:is(.fi-body.fi-body-has-sidebar-collapsible-on-desktop,.fi-body:not(.fi-body-has-sidebar-fully-collapsible-on-desktop)) .fi-topbar-open-sidebar-btn{display:none}}.fi-topbar-nav-groups{align-items:center;column-gap:calc(var(--spacing)*4);margin-inline-start:calc(var(--spacing)*4);margin-inline-end:calc(var(--spacing)*4);display:none}@media (min-width:64rem){.fi-topbar-nav-groups{margin-block:calc(var(--spacing)*2);row-gap:calc(var(--spacing)*1);flex-wrap:wrap;display:flex}}.fi-topbar-end{align-items:center;column-gap:calc(var(--spacing)*4);margin-inline-start:auto;display:flex}.fi-topbar-item-btn{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none;display:flex}@media (forced-colors:active){.fi-topbar-item-btn{outline-offset:2px;outline:2px solid #0000}}.fi-topbar-item-btn{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}@media (hover:hover){.fi-topbar-item-btn:hover{background-color:var(--gray-50)}}.fi-topbar-item-btn:focus-visible{background-color:var(--gray-50)}@media (hover:hover){.fi-topbar-item-btn:where(.dark,.dark *):hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-topbar-item-btn:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}}.fi-topbar-item-btn:where(.dark,.dark *):focus-visible{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-topbar-item-btn:where(.dark,.dark *):focus-visible{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-topbar-item-btn>.fi-icon{color:var(--gray-400)}.fi-topbar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--gray-500)}.fi-topbar-item-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--gray-700)}.fi-topbar-item-label:where(.dark,.dark *){color:var(--gray-200)}.fi-topbar-item.fi-active .fi-topbar-item-btn{background-color:var(--gray-50)}.fi-topbar-item.fi-active .fi-topbar-item-btn:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-topbar-item.fi-active .fi-topbar-item-btn:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-topbar-item.fi-active .fi-topbar-item-btn>.fi-icon{color:var(--primary-600)}.fi-topbar-item.fi-active .fi-topbar-item-btn>.fi-icon:where(.dark,.dark *){color:var(--primary-400)}.fi-topbar-item.fi-active .fi-topbar-item-label{color:var(--primary-600)}.fi-topbar-item.fi-active .fi-topbar-item-label:where(.dark,.dark *){color:var(--primary-400)}.fi-simple-user-menu-ctn{align-items:center;column-gap:calc(var(--spacing)*4);display:flex}.fi-topbar .fi-user-menu-trigger{flex-shrink:0}.fi-sidebar .fi-user-menu-trigger{justify-content:center;align-items:center;column-gap:calc(var(--spacing)*3);border-radius:var(--radius-lg);width:100%;padding:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-outline-style:none;outline-style:none;display:flex}@media (forced-colors:active){.fi-sidebar .fi-user-menu-trigger{outline-offset:2px;outline:2px solid #0000}}.fi-sidebar .fi-user-menu-trigger{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;transition-duration:75ms}.fi-sidebar .fi-user-menu-trigger .fi-user-avatar{flex-shrink:0}.fi-sidebar .fi-user-menu-trigger .fi-icon{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5);color:var(--gray-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:75ms;flex-shrink:0;margin-inline-start:auto;transition-duration:75ms}@media (hover:hover){.fi-sidebar .fi-user-menu-trigger .fi-icon:is(:where(.group):hover *){color:var(--gray-500)}}.fi-sidebar .fi-user-menu-trigger .fi-icon:is(:where(.group):focus-visible *),.fi-sidebar .fi-user-menu-trigger .fi-icon:where(.dark,.dark *){color:var(--gray-500)}@media (hover:hover){.fi-sidebar .fi-user-menu-trigger .fi-icon:where(.dark,.dark *):is(:where(.group):hover *){color:var(--gray-400)}}.fi-sidebar .fi-user-menu-trigger .fi-icon:where(.dark,.dark *):is(:where(.group):focus-visible *){color:var(--gray-400)}.fi-sidebar .fi-user-menu-trigger:hover .fi-icon{color:var(--gray-500)}.fi-sidebar .fi-user-menu-trigger:hover .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-sidebar .fi-user-menu-trigger:focus-visible .fi-icon{color:var(--gray-500)}.fi-sidebar .fi-user-menu-trigger:focus-visible .fi-icon:where(.dark,.dark *){color:var(--gray-400)}.fi-sidebar .fi-user-menu-trigger .fi-tenant-menu-trigger-text{text-align:start;color:var(--gray-950);justify-items:start;display:grid}.fi-sidebar .fi-user-menu-trigger .fi-tenant-menu-trigger-text:where(.dark,.dark *){color:var(--color-white)}.fi-sidebar .fi-user-menu .fi-dropdown-panel{max-width:max(14rem,100% - 1.5rem)!important}.fi-account-widget .fi-section-content{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-account-widget-logout-form{margin-block:auto}.fi-account-widget-main{flex:1}.fi-account-widget-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--gray-950);flex:1;display:grid}.fi-account-widget-heading:where(.dark,.dark *){color:var(--color-white)}.fi-account-widget-user-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-500)}.fi-account-widget-user-name:where(.dark,.dark *){color:var(--gray-400)}.fi-filament-info-widget .fi-section-content{align-items:center;column-gap:calc(var(--spacing)*3);display:flex}.fi-filament-info-widget-main{flex:1}.fi-filament-info-widget-logo{height:calc(var(--spacing)*5);color:var(--gray-950)}.fi-filament-info-widget-logo:where(.dark,.dark *){color:var(--color-white)}.fi-filament-info-widget-version{margin-top:calc(var(--spacing)*2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--gray-500)}.fi-filament-info-widget-version:where(.dark,.dark *){color:var(--gray-400)}.fi-filament-info-widget-links{align-items:flex-end;row-gap:calc(var(--spacing)*1);flex-direction:column;display:flex}}@layer utilities{.fi-color-danger{--color-50:var(--danger-50);--color-100:var(--danger-100);--color-200:var(--danger-200);--color-300:var(--danger-300);--color-400:var(--danger-400);--color-500:var(--danger-500);--color-600:var(--danger-600);--color-700:var(--danger-700);--color-800:var(--danger-800);--color-900:var(--danger-900);--color-950:var(--danger-950)}.fi-color-gray{--color-50:var(--gray-50);--color-100:var(--gray-100);--color-200:var(--gray-200);--color-300:var(--gray-300);--color-400:var(--gray-400);--color-500:var(--gray-500);--color-600:var(--gray-600);--color-700:var(--gray-700);--color-800:var(--gray-800);--color-900:var(--gray-900);--color-950:var(--gray-950)}.fi-color-info{--color-50:var(--info-50);--color-100:var(--info-100);--color-200:var(--info-200);--color-300:var(--info-300);--color-400:var(--info-400);--color-500:var(--info-500);--color-600:var(--info-600);--color-700:var(--info-700);--color-800:var(--info-800);--color-900:var(--info-900);--color-950:var(--info-950)}.fi-color-primary{--color-50:var(--primary-50);--color-100:var(--primary-100);--color-200:var(--primary-200);--color-300:var(--primary-300);--color-400:var(--primary-400);--color-500:var(--primary-500);--color-600:var(--primary-600);--color-700:var(--primary-700);--color-800:var(--primary-800);--color-900:var(--primary-900);--color-950:var(--primary-950)}.fi-color-success{--color-50:var(--success-50);--color-100:var(--success-100);--color-200:var(--success-200);--color-300:var(--success-300);--color-400:var(--success-400);--color-500:var(--success-500);--color-600:var(--success-600);--color-700:var(--success-700);--color-800:var(--success-800);--color-900:var(--success-900);--color-950:var(--success-950)}.fi-color-warning{--color-50:var(--warning-50);--color-100:var(--warning-100);--color-200:var(--warning-200);--color-300:var(--warning-300);--color-400:var(--warning-400);--color-500:var(--warning-500);--color-600:var(--warning-600);--color-700:var(--warning-700);--color-800:var(--warning-800);--color-900:var(--warning-900);--color-950:var(--warning-950)}.fi-bg-color-50{--bg:var(--color-50)}.fi-bg-color-100{--bg:var(--color-100)}.fi-bg-color-200{--bg:var(--color-200)}.fi-bg-color-300{--bg:var(--color-300)}.fi-bg-color-400{--bg:var(--color-400)}.fi-bg-color-500{--bg:var(--color-500)}.fi-bg-color-600{--bg:var(--color-600)}.fi-bg-color-700{--bg:var(--color-700)}.fi-bg-color-800{--bg:var(--color-800)}.fi-bg-color-900{--bg:var(--color-900)}.fi-bg-color-950{--bg:var(--color-950)}.hover\:fi-bg-color-50{--hover-bg:var(--color-50)}.hover\:fi-bg-color-100{--hover-bg:var(--color-100)}.hover\:fi-bg-color-200{--hover-bg:var(--color-200)}.hover\:fi-bg-color-300{--hover-bg:var(--color-300)}.hover\:fi-bg-color-400{--hover-bg:var(--color-400)}.hover\:fi-bg-color-500{--hover-bg:var(--color-500)}.hover\:fi-bg-color-600{--hover-bg:var(--color-600)}.hover\:fi-bg-color-700{--hover-bg:var(--color-700)}.hover\:fi-bg-color-800{--hover-bg:var(--color-800)}.hover\:fi-bg-color-900{--hover-bg:var(--color-900)}.hover\:fi-bg-color-950{--hover-bg:var(--color-950)}.dark\:fi-bg-color-50{--dark-bg:var(--color-50)}.dark\:fi-bg-color-100{--dark-bg:var(--color-100)}.dark\:fi-bg-color-200{--dark-bg:var(--color-200)}.dark\:fi-bg-color-300{--dark-bg:var(--color-300)}.dark\:fi-bg-color-400{--dark-bg:var(--color-400)}.dark\:fi-bg-color-500{--dark-bg:var(--color-500)}.dark\:fi-bg-color-600{--dark-bg:var(--color-600)}.dark\:fi-bg-color-700{--dark-bg:var(--color-700)}.dark\:fi-bg-color-800{--dark-bg:var(--color-800)}.dark\:fi-bg-color-900{--dark-bg:var(--color-900)}.dark\:fi-bg-color-950{--dark-bg:var(--color-950)}.dark\:hover\:fi-bg-color-50{--dark-hover-bg:var(--color-50)}.dark\:hover\:fi-bg-color-100{--dark-hover-bg:var(--color-100)}.dark\:hover\:fi-bg-color-200{--dark-hover-bg:var(--color-200)}.dark\:hover\:fi-bg-color-300{--dark-hover-bg:var(--color-300)}.dark\:hover\:fi-bg-color-400{--dark-hover-bg:var(--color-400)}.dark\:hover\:fi-bg-color-500{--dark-hover-bg:var(--color-500)}.dark\:hover\:fi-bg-color-600{--dark-hover-bg:var(--color-600)}.dark\:hover\:fi-bg-color-700{--dark-hover-bg:var(--color-700)}.dark\:hover\:fi-bg-color-800{--dark-hover-bg:var(--color-800)}.dark\:hover\:fi-bg-color-900{--dark-hover-bg:var(--color-900)}.dark\:hover\:fi-bg-color-950{--dark-hover-bg:var(--color-950)}.fi-text-color-0{--text:oklch(100% 0 0)}.fi-text-color-50{--text:var(--color-50)}.fi-text-color-100{--text:var(--color-100)}.fi-text-color-200{--text:var(--color-200)}.fi-text-color-300{--text:var(--color-300)}.fi-text-color-400{--text:var(--color-400)}.fi-text-color-500{--text:var(--color-500)}.fi-text-color-600{--text:var(--color-600)}.fi-text-color-700{--text:var(--color-700)}.fi-text-color-800{--text:var(--color-800)}.fi-text-color-900{--text:var(--color-900)}.fi-text-color-950{--text:var(--color-950)}.hover\:fi-text-color-0{--hover-text:oklch(100% 0 0)}.hover\:fi-text-color-50{--hover-text:var(--color-50)}.hover\:fi-text-color-100{--hover-text:var(--color-100)}.hover\:fi-text-color-200{--hover-text:var(--color-200)}.hover\:fi-text-color-300{--hover-text:var(--color-300)}.hover\:fi-text-color-400{--hover-text:var(--color-400)}.hover\:fi-text-color-500{--hover-text:var(--color-500)}.hover\:fi-text-color-600{--hover-text:var(--color-600)}.hover\:fi-text-color-700{--hover-text:var(--color-700)}.hover\:fi-text-color-800{--hover-text:var(--color-800)}.hover\:fi-text-color-900{--hover-text:var(--color-900)}.hover\:fi-text-color-950{--hover-text:var(--color-950)}.dark\:fi-text-color-0{--dark-text:oklch(100% 0 0)}.dark\:fi-text-color-50{--dark-text:var(--color-50)}.dark\:fi-text-color-100{--dark-text:var(--color-100)}.dark\:fi-text-color-200{--dark-text:var(--color-200)}.dark\:fi-text-color-300{--dark-text:var(--color-300)}.dark\:fi-text-color-400{--dark-text:var(--color-400)}.dark\:fi-text-color-500{--dark-text:var(--color-500)}.dark\:fi-text-color-600{--dark-text:var(--color-600)}.dark\:fi-text-color-700{--dark-text:var(--color-700)}.dark\:fi-text-color-800{--dark-text:var(--color-800)}.dark\:fi-text-color-900{--dark-text:var(--color-900)}.dark\:fi-text-color-950{--dark-text:var(--color-950)}.dark\:hover\:fi-text-color-0{--dark-hover-text:oklch(100% 0 0)}.dark\:hover\:fi-text-color-50{--dark-hover-text:var(--color-50)}.dark\:hover\:fi-text-color-100{--dark-hover-text:var(--color-100)}.dark\:hover\:fi-text-color-200{--dark-hover-text:var(--color-200)}.dark\:hover\:fi-text-color-300{--dark-hover-text:var(--color-300)}.dark\:hover\:fi-text-color-400{--dark-hover-text:var(--color-400)}.dark\:hover\:fi-text-color-500{--dark-hover-text:var(--color-500)}.dark\:hover\:fi-text-color-600{--dark-hover-text:var(--color-600)}.dark\:hover\:fi-text-color-700{--dark-hover-text:var(--color-700)}.dark\:hover\:fi-text-color-800{--dark-hover-text:var(--color-800)}.dark\:hover\:fi-text-color-900{--dark-hover-text:var(--color-900)}.dark\:hover\:fi-text-color-950{--dark-hover-text:var(--color-950)}.fi-sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fi-prose{--prose-color:var(--color-gray-700);--prose-heading-color:var(--color-gray-950);--prose-strong-color:var(--color-gray-950);--prose-link-color:var(--color-gray-950);--prose-code-color:var(--color-gray-950);--prose-marker-color:var(--color-gray-700)}@supports (color:color-mix(in lab, red, red)){.fi-prose{--prose-marker-color:color-mix(in oklab,var(--color-gray-700)25%,transparent)}}.fi-prose{--prose-link-underline-color:var(--color-primary-400);--prose-th-borders:var(--color-gray-300);--prose-td-borders:var(--color-gray-200);--prose-hr-color:var(--color-gray-950)}@supports (color:color-mix(in lab, red, red)){.fi-prose{--prose-hr-color:color-mix(in oklab,var(--color-gray-950)5%,transparent)}}.fi-prose{--prose-blockquote-border-color:var(--color-gray-300);--prose-pre-bg:var(--color-gray-100)}.fi-prose:where(.dark,.dark *){--prose-color:var(--color-gray-300);--prose-heading-color:var(--color-white);--prose-strong-color:var(--color-white);--prose-link-color:var(--color-white);--prose-code-color:var(--color-white);--prose-marker-color:var(--color-gray-300)}@supports (color:color-mix(in lab, red, red)){.fi-prose:where(.dark,.dark *){--prose-marker-color:color-mix(in oklab,var(--color-gray-300)35%,transparent)}}.fi-prose:where(.dark,.dark *){--prose-link-underline-color:var(--color-sky-400);--prose-th-borders:var(--color-gray-600);--prose-td-borders:var(--color-gray-700);--prose-hr-color:oklab(100% 0 5.96046e-8/.1)}@supports (color:color-mix(in lab, red, red)){.fi-prose:where(.dark,.dark *){--prose-hr-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-prose:where(.dark,.dark *){--prose-blockquote-border-color:var(--color-gray-600);--prose-pre-bg:var(--color-gray-900)}@supports (color:color-mix(in lab, red, red)){.fi-prose:where(.dark,.dark *){--prose-pre-bg:color-mix(in oklab,var(--color-gray-900)40%,transparent)}}.fi-prose{color:var(--prose-color);font-size:var(--text-sm);line-height:1.5}.fi-prose img+img{margin-top:0}.fi-prose :where(:not(.fi-not-prose,.fi-not-prose *,br))+:where(:not(.fi-not-prose,.fi-not-prose *,br)){margin-top:calc(var(--spacing)*4)}.fi-prose p br{margin:0}.fi-prose h1:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-xl);letter-spacing:-.025em;color:var(--prose-code-color);line-height:1.55556;font-weight:var(--font-weight-bold)}.fi-prose h2:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-lg);letter-spacing:-.025em;color:var(--prose-code-color);line-height:1.55556;font-weight:var(--font-weight-semibold)}.fi-prose h3:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-base);color:var(--prose-heading-color);line-height:1.55556;font-weight:var(--font-weight-semibold)}.fi-prose h4:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose h5:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose h6:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-sm);color:var(--prose-heading-color);line-height:2;font-weight:var(--font-weight-semibold)}.fi-prose :is(h2,h3,h4,h5,h6):where(:not(.fi-not-prose,.fi-not-prose *)){scroll-margin-top:calc(var(--spacing)*32)}@media (min-width:64rem){.fi-prose :is(h2,h3,h4,h5,h6):where(:not(.fi-not-prose,.fi-not-prose *)){scroll-margin-top:calc(var(--spacing)*18)}}.fi-prose ol:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:calc(var(--spacing)*6);list-style-type:decimal}.fi-prose ul:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:calc(var(--spacing)*6);list-style-type:disc}.fi-prose ol li:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose ul li:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:calc(var(--spacing)*3)}.fi-prose ol li+li:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose ul li+li:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*4)}.fi-prose ol li:where(:not(.fi-not-prose,.fi-not-prose *))::marker{color:var(--prose-marker-color)}.fi-prose ul li:where(:not(.fi-not-prose,.fi-not-prose *))::marker{color:var(--prose-marker-color)}.fi-prose a:not(:where(:is(h2,h3,h4,h5,h6) *)):where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--prose-link-color);font-weight:var(--font-weight-semibold);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--prose-link-underline-color);-webkit-text-decoration-color:var(--prose-link-underline-color);text-decoration-color:var(--prose-link-underline-color);text-decoration-thickness:1px}.fi-prose a:not(:where(:is(h2,h3,h4,h5,h6) *)):where(:not(.fi-not-prose,.fi-not-prose *)) code{font-weight:var(--font-weight-semibold)}.fi-prose a:hover:where(:not(.fi-not-prose,.fi-not-prose *)){text-decoration-thickness:2px}.fi-prose strong:where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--prose-strong-color);font-weight:var(--font-weight-semibold)}.fi-prose code:where(:not(.fi-not-prose,.fi-not-prose *)){font-variant-ligatures:none;font-family:var(--font-mono);font-weight:var(--font-weight-medium);color:var(--prose-code-color)}.fi-prose :where(h2,h3,h4,h5,h6) code:where(:not(.fi-not-prose,.fi-not-prose *)){font-weight:var(--font-weight-semibold)}.fi-prose code:where(:not(.fi-not-prose,.fi-not-prose *)):before,.fi-prose code:where(:not(.fi-not-prose,.fi-not-prose *)):after{content:"`";display:inline}.fi-prose pre:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*4);margin-bottom:calc(var(--spacing)*10);border-radius:var(--radius-lg);padding-top:calc(var(--spacing)*3);padding-inline-end:calc(var(--spacing)*4);padding-bottom:calc(var(--spacing)*3);background-color:var(--prose-pre-bg);padding-inline-start:calc(var(--spacing)*4)}.fi-prose pre code *+:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:0}.fi-prose pre code:where(:not(.fi-not-prose,.fi-not-prose *)):before,.fi-prose pre code:where(:not(.fi-not-prose,.fi-not-prose *)):after{content:none}.fi-prose pre code:where(:not(.fi-not-prose,.fi-not-prose *)){font-variant-ligatures:none;font-family:var(--font-mono);font-size:var(--text-sm);line-height:2}.fi-prose table:where(:not(.fi-not-prose,.fi-not-prose *)){table-layout:auto;width:100%;font-size:var(--text-sm);margin-top:2em;margin-bottom:2em;line-height:1.4}.fi-prose thead:where(:not(.fi-not-prose,.fi-not-prose *)){border-bottom-width:1px;border-bottom-color:var(--prose-th-borders)}.fi-prose thead th:where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--prose-heading-color);vertical-align:bottom;padding-inline-end:.6em;padding-bottom:.8em;padding-inline-start:.6em;font-weight:600}.fi-prose thead th:first-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:0}.fi-prose thead th:last-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-end:0}.fi-prose tbody tr:where(:not(.fi-not-prose,.fi-not-prose *)){border-bottom-width:1px;border-bottom-color:var(--prose-td-borders)}.fi-prose tbody tr:last-child:where(:not(.fi-not-prose,.fi-not-prose *)){border-bottom-width:0}.fi-prose tbody td:where(:not(.fi-not-prose,.fi-not-prose *)){vertical-align:baseline}.fi-prose tfoot:where(:not(.fi-not-prose,.fi-not-prose *)){border-top-width:1px;border-top-color:var(--prose-th-borders)}.fi-prose tfoot td:where(:not(.fi-not-prose,.fi-not-prose *)){vertical-align:top}.fi-prose tbody td:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose tfoot td:where(:not(.fi-not-prose,.fi-not-prose *)){padding-top:.8em;padding-inline-end:.6em;padding-bottom:.8em;padding-inline-start:.6em}.fi-prose tbody td:first-child:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose tfoot td:first-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-start:0}.fi-prose tbody td:last-child:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose tfoot td:last-child:where(:not(.fi-not-prose,.fi-not-prose *)){padding-inline-end:0}.fi-prose th:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose td:where(:not(.fi-not-prose,.fi-not-prose *)){text-align:start}.fi-prose td code:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:.8125rem}.fi-prose hr:where(:not(.fi-not-prose,.fi-not-prose *)){border-color:var(--prose-hr-color);margin-block:calc(var(--spacing)*8)}.fi-prose hr:where(:not(.fi-not-prose,.fi-not-prose *))+h2{margin-top:calc(var(--spacing)*8)}.fi-prose blockquote{border-inline-start-width:.25rem;border-inline-start-color:var(--prose-blockquote-border-color);padding-inline-start:calc(var(--spacing)*4);font-style:italic}.fi-prose blockquote p:first-of-type:before{content:open-quote}.fi-prose blockquote p:last-of-type:after{content:close-quote}.fi-prose figure:where(:not(.fi-not-prose,.fi-not-prose *)) figcaption:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:calc(var(--spacing)*3);text-align:center;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--prose-color);font-style:italic}@supports (color:color-mix(in lab, red, red)){.fi-prose figure:where(:not(.fi-not-prose,.fi-not-prose *)) figcaption:where(:not(.fi-not-prose,.fi-not-prose *)){color:color-mix(in oklab,var(--prose-color)75%,transparent)}}.fi-prose :first-child:where(:not(.fi-not-prose,.fi-not-prose *)){margin-top:0}.fi-prose :last-child:where(:not(.fi-not-prose,.fi-not-prose *)){margin-bottom:0}.fi-prose .color:where(:not(.fi-not-prose,.fi-not-prose *)){color:var(--color)}.fi-prose .color:where(:not(.fi-not-prose,.fi-not-prose *)):where(.dark,.dark *){color:var(--dark-color)}.fi-prose .lead:where(:not(.fi-not-prose,.fi-not-prose *)){font-size:var(--text-base)}.fi-prose span[data-type=mention]:where(:not(.fi-not-prose,.fi-not-prose *)),.fi-prose a[data-type=mention]:where(:not(.fi-not-prose,.fi-not-prose *)){font-weight:var(--font-weight-semibold);white-space:nowrap;margin-block:0;display:inline-block}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *)){gap:calc(var(--spacing)*4);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=default]{grid-template-columns:var(--cols)}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=default]>.grid-layout-col{grid-column:var(--col-span)}@media (min-width:40rem){.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=sm]{grid-template-columns:var(--cols)}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=sm]>.grid-layout-col{grid-column:var(--col-span)}}@media (min-width:48rem){.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=md]{grid-template-columns:var(--cols)}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=md]>.grid-layout-col{grid-column:var(--col-span)}}@media (min-width:64rem){.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=lg]{grid-template-columns:var(--cols)}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=lg]>.grid-layout-col{grid-column:var(--col-span)}}@media (min-width:80rem){.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=xl]{grid-template-columns:var(--cols)}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint=xl]>.grid-layout-col{grid-column:var(--col-span)}}@media (min-width:96rem){.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint="2xl"]{grid-template-columns:var(--cols)}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))[data-from-breakpoint="2xl"]>.grid-layout-col{grid-column:var(--col-span)}}.fi-prose .grid-layout:where(:not(.fi-not-prose,.fi-not-prose *))>.grid-layout-col{min-width:0;margin-top:0}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-ease{syntax:"*";inherits:false}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/public/css/filament/forms/forms.css b/public/css/filament/forms/forms.css index 4d7a4201a..5b26f4087 100644 --- a/public/css/filament/forms/forms.css +++ b/public/css/filament/forms/forms.css @@ -1,19 +1,19 @@ -input::-webkit-datetime-edit{display:block;padding:0}.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{inset:0;position:absolute}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.filepond--assistant{clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--browser.filepond--browser{font-size:0;left:1em;margin:0;opacity:0;padding:0;position:absolute;top:1.75em;width:calc(100% - 2em)}.filepond--data{border:none;contain:strict;height:0;margin:0;padding:0;visibility:hidden;width:0}.filepond--data,.filepond--drip{pointer-events:none;position:absolute}.filepond--drip{background:rgba(0,0,0,.01);border-radius:.5em;inset:0;opacity:.1;overflow:hidden}.filepond--drip-blob{background:#292625;border-radius:50%;height:8em;margin-left:-4em;margin-top:-4em;transform-origin:center center;width:8em}.filepond--drip-blob,.filepond--drop-label{left:0;position:absolute;top:0;will-change:transform,opacity}.filepond--drop-label{align-items:center;color:#4f4f4f;display:flex;height:0;justify-content:center;margin:0;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--drop-label.filepond--drop-label label{display:block;margin:0;padding:.5em}.filepond--drop-label label{cursor:default;font-size:.875em;font-weight:400;line-height:1.5;text-align:center}.filepond--label-action{-webkit-text-decoration-skip:ink;cursor:pointer;text-decoration:underline;text-decoration-color:#a7a4a4;text-decoration-skip-ink:auto}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{border:none;font-family:inherit;font-size:1em;height:1.625em;line-height:inherit;margin:0;outline:none;padding:0;width:1.625em;will-change:transform,opacity}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file-action-button.filepond--file-action-button svg{height:100%;width:100%}.filepond--file-action-button.filepond--file-action-button:after{content:"";inset:-.75em;position:absolute}.filepond--file-action-button{background-color:#00000080;background-image:none;border-radius:50%;box-shadow:0 0 #fff0;color:#fff;cursor:auto;transition:box-shadow .25s ease-in}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em #ffffffe6}.filepond--file-action-button[disabled]{background-color:#00000040;color:#ffffff80}.filepond--file-action-button[hidden]{display:none}.filepond--file-info{align-items:flex-start;display:flex;flex:1;flex-direction:column;margin:0 .5em 0 0;min-width:0;pointer-events:none;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{font-size:.75em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.filepond--file-info .filepond--file-info-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out;white-space:nowrap}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{align-items:flex-end;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;margin:0;min-width:2.25em;pointer-events:none;position:static;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-status *{margin:0;white-space:nowrap}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;height:100%;margin:0;min-width:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file{align-items:flex-start;border-radius:.5em;color:#fff;display:flex;height:100%;padding:.5625em;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:fall .5s linear .125s both}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:shake .65s linear both}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translate(-.0625em)}20%,80%{transform:translate(.125em)}30%,50%,70%{transform:translate(-.25em)}40%,60%{transform:translate(.25em)}}@keyframes fall{0%{animation-timing-function:ease-out;opacity:0;transform:scale(.5)}70%{animation-timing-function:ease-in-out;opacity:1;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{content:"";inset:0;position:absolute;z-index:100}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{left:0;margin:.25em;padding:0;position:absolute;right:0;top:0;touch-action:none;will-change:transform,opacity;z-index:1}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em #00000040}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{box-shadow:0 0 0 transparent;transition:box-shadow .125s ease-in-out}.filepond--item[data-drag-state=drag]{cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em #00000053}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{left:0;margin:0;position:absolute;right:0;top:0;will-change:transform}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;-webkit-mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);overflow-x:hidden;overflow-y:scroll}.filepond--list-scroller::-webkit-scrollbar{background:transparent}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#0000004d;border:.3125em solid transparent;border-radius:99999px}.filepond--list.filepond--list{list-style-type:none;margin:0;padding:0;position:absolute;top:0;will-change:transform}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{height:100%;margin:0;max-width:none;width:100%}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{align-items:center;bottom:0;display:flex;height:auto;justify-content:center;z-index:7}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-bottom:0;margin-top:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status,.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{display:none}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{height:100%!important;left:0;margin:0;pointer-events:none;position:absolute;right:0;top:0}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{background-color:transparent!important;border:none!important;transform-style:preserve-3d}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{left:0;margin:0;padding:0;position:absolute;right:0;top:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.filepond--panel-top:after{background-color:inherit;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.filepond--panel-bottom,.filepond--panel-center{backface-visibility:hidden;transform:translate3d(0,.5em,0);transform-origin:left top;will-change:transform}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{background-color:inherit;content:"";height:2px;left:0;position:absolute;right:0;top:-1px}.filepond--panel-center{border-bottom:none!important;border-radius:0!important;border-top:none!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;height:1.25em;margin:0;pointer-events:none;position:static;width:1.25em;will-change:transform,opacity}.filepond--progress-indicator svg{height:100%;transform-box:fill-box;vertical-align:top;width:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;contain:layout style size;direction:ltr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;margin-bottom:1em;position:relative;text-align:left;text-rendering:optimizeLegibility}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-bottom:1em;margin-top:1em}.filepond--root .filepond--credits{bottom:-14px;color:inherit;font-size:11px;line-height:.85;opacity:.175;position:absolute;right:0;text-decoration:none;z-index:3}.filepond--root .filepond--credits[style]{bottom:auto;margin-top:14px;top:0}.filepond--action-edit-item.filepond--action-edit-item{height:2em;padding:.1875em;width:2em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{background:transparent;border:none;color:inherit;font-family:inherit;line-height:inherit;margin:0 0 0 .25em;outline:none;padding:0;pointer-events:all;position:absolute}.filepond--action-edit-item-alt svg{height:1.3125em;width:1.3125em}.filepond--action-edit-item-alt span{font-size:0;opacity:0}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}.filepond--image-preview-markup{left:0;position:absolute;top:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{display:block;left:0;margin:0;max-height:7rem;min-height:5rem;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.filepond--image-preview-overlay svg{color:inherit;height:auto;max-height:inherit;width:100%}.filepond--image-preview-overlay-idle{color:#282828d9;mix-blend-mode:multiply}.filepond--image-preview-overlay-success{color:#369763;mix-blend-mode:normal}.filepond--image-preview-overlay-failure{color:#c44e47;mix-blend-mode:normal}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--image-preview{align-items:center;background:#222;display:flex;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;will-change:transform,opacity;z-index:1}.filepond--image-clip{margin:0 auto;overflow:hidden;position:relative}.filepond--image-clip[data-transparency-indicator=grid] canvas,.filepond--image-clip[data-transparency-indicator=grid] img{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0h50v50H0M50 50h50v50H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{left:0;position:absolute;top:0;will-change:transform}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{align-items:center;display:flex;height:100%;justify-content:center}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{bottom:0;top:auto;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-bottom:.1875em;margin-left:.1875em;margin-top:0}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{margin:2.3em auto auto;width:calc(100% - 1.4em)}.filepond--media-preview .playpausebtn{background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;cursor:pointer;float:left;height:25px;margin-right:.3em;margin-top:.3em;outline:none;width:25px}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{background:hsla(0,0%,100%,.3);border-radius:15px;float:left;height:3px;margin-top:1em;width:calc(100% - 2.5em)}.filepond--media-preview .playhead{background:#fff;border-radius:50%;height:13px;margin-top:-5px;width:13px}.filepond--media-preview-wrapper{background:rgba(0,0,0,.01);border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;pointer-events:auto;position:absolute;right:0;top:0}.filepond--media-preview-wrapper:before{background:linear-gradient(180deg,#000 0,transparent);content:" ";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);height:2em;position:absolute;width:100%;z-index:3}.filepond--media-preview{display:block;height:100%;position:relative;transform-origin:center center;width:100%;will-change:transform,opacity;z-index:1}.filepond--media-preview audio,.filepond--media-preview video{width:100%;will-change:transform}.filepond--root{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);margin-bottom:0}.filepond--root:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.05)}.filepond--root[data-disabled=disabled]{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.filepond--root[data-disabled=disabled]:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1);background-color:transparent}.filepond--panel-root{background-color:transparent}.filepond--drop-label label{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity));font-size:.875rem;line-height:1.25rem;padding:.75rem!important}.filepond--drop-label label:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.filepond--label-action{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity));font-weight:500;text-decoration-line:none;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.filepond--label-action:hover{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.filepond--label-action:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.filepond--label-action:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity))}.filepond--drip-blob{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity))}.filepond--drip-blob:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity))}.filepond--root[data-style-panel-layout=grid] .filepond--item{display:inline;width:calc(50% - .5rem)}@media (min-width:1024px){.filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5rem)}}.filepond--download-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--download-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--open-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--open-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--file-action-button.filepond--action-edit-item{background-color:rgba(0,0,0,.5)}.cropper-drag-box.cropper-crop.cropper-modal{background-color:rgba(var(--gray-100),.5);opacity:1}.cropper-drag-box.cropper-crop.cropper-modal:is(.dark *){background-color:rgba(var(--gray-900),.8)}.fi-fo-file-upload-circle-cropper .cropper-face,.fi-fo-file-upload-circle-cropper .cropper-view-box{border-radius:50%}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{inset:-50px 0 0;overflow:hidden;position:absolute}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:0;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:0;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:0 0!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{inset:0;position:absolute;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{word-wrap:break-word;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;font:inherit;height:auto;padding:10px;z-index:0}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;border-bottom-right-radius:0!important;border-right:none!important;height:auto;inset:50px 0 0;position:fixed!important;z-index:8}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;border-right:none!important;flex:1 1 auto;position:relative}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.editor-toolbar.fullscreen{background:#fff;border:0;box-sizing:border-box;height:50px;left:0;opacity:1;padding-bottom:10px;padding-top:10px;position:fixed;top:0;width:100%;z-index:9}.editor-toolbar.fullscreen:before{background:linear-gradient(90deg,#fff 0,hsla(0,0%,100%,0));height:50px;left:0;margin:0;padding:0;position:fixed;top:0;width:20px}.editor-toolbar.fullscreen:after{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:50px;margin:0;padding:0;position:fixed;right:0;top:0;width:20px}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;border:1px solid transparent;border-radius:3px;cursor:pointer;display:inline-block;height:30px;margin:0;padding:0;text-align:center;text-decoration:none!important}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;display:inline-block;margin:0 6px;text-indent:-10px;width:0}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px;vertical-align:text-bottom}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"\25b2"}.editor-toolbar button.heading-smaller:after{content:"\25bc"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;font-size:12px;padding:8px 10px;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;margin-left:1em;min-width:4em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{height:100%;left:0;position:absolute;top:0;width:100%;z-index:7}.editor-preview-full,.editor-preview-side{box-sizing:border-box;display:none;overflow:auto}.editor-preview-side{word-wrap:break-word;border:1px solid #ddd;bottom:0;position:fixed;right:0;top:50px;width:50%;z-index:9}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{line-height:1.2;margin-bottom:.5rem}.cm-s-easymde .cm-comment{background:rgba(0,0,0,.05);border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown,.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff,#fff 84%,#333 0,#333)}.easymde-dropdown-content{background-color:#f9f9f9;box-shadow:0 8px 16px #0003;display:block;padding:8px;position:absolute;top:30px;visibility:hidden;z-index:2}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{background-image:var(--bg-image);background-repeat:no-repeat;background-size:contain;content:"";display:block;height:0;max-height:100%;max-width:100%;padding-top:var(--height);width:var(--width)}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:rgba(255,0,0,.15)}:root{--color-cm-red:#991b1b;--color-cm-orange:#9a3412;--color-cm-amber:#92400e;--color-cm-yellow:#854d0e;--color-cm-lime:#3f6212;--color-cm-green:#166534;--color-cm-emerald:#065f46;--color-cm-teal:#115e59;--color-cm-cyan:#155e75;--color-cm-sky:#075985;--color-cm-blue:#1e40af;--color-cm-indigo:#3730a3;--color-cm-violet:#5b21b6;--color-cm-purple:#6b21a8;--color-cm-fuchsia:#86198f;--color-cm-pink:#9d174d;--color-cm-rose:#9f1239;--color-cm-gray:#18181b;--color-cm-gray-muted:#71717a;--color-cm-gray-background:#e4e4e7}.dark{--color-cm-red:#f87171;--color-cm-orange:#fb923c;--color-cm-amber:#fbbf24;--color-cm-yellow:#facc15;--color-cm-lime:#a3e635;--color-cm-green:#4ade80;--color-cm-emerald:#4ade80;--color-cm-teal:#2dd4bf;--color-cm-cyan:#22d3ee;--color-cm-sky:#38bdf8;--color-cm-blue:#60a5fa;--color-cm-indigo:#818cf8;--color-cm-violet:#a78bfa;--color-cm-purple:#c084fc;--color-cm-fuchsia:#e879f9;--color-cm-pink:#f472b6;--color-cm-rose:#fb7185;--color-cm-gray:#fafafa;--color-cm-gray-muted:#a1a1aa;--color-cm-gray-background:#52525b}.cm-s-easymde .cm-comment{background-color:transparent;color:var(--color-cm-gray-muted)}.EasyMDEContainer .CodeMirror-cursor{border-color:currentColor}.dark .EasyMDEContainer .cm-s-easymde span.CodeMirror-selectedtext{filter:invert(100%)}.EasyMDEContainer .cm-s-easymde .cm-keyword{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-atom{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-number{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-def{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable{color:var(--color-cm-yellow)}.EasyMDEContainer .cm-s-easymde .cm-variable-2{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable-3{color:var(--color-cm-emerald)}.EasyMDEContainer .cm-s-easymde .cm-operator,.EasyMDEContainer .cm-s-easymde .cm-property{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-string,.EasyMDEContainer .cm-s-easymde .cm-string-2{color:var(--color-cm-rose)}.EasyMDEContainer .cm-s-easymde .cm-meta{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-error{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-qualifier{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-builtin{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-bracket{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-hr{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote{color:var(--color-cm-sky)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote+.cm-quote{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-list,.EasyMDEContainer .cm-s-easymde .cm-formatting-list+.cm-variable-2,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-variable-2{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-link{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-amber)}.EasyMDEContainer .cm-s-easymde .cm-attribute+.cm-string{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-formatting-code+.cm-comment:not(.cm-formatting-code){background-color:var(--color-cm-gray-background);color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-header-1{font-size:1.875rem;line-height:2.25rem}.EasyMDEContainer .cm-s-easymde .cm-header-2{font-size:1.5rem;line-height:2rem}.EasyMDEContainer .cm-s-easymde .cm-header-3{font-size:1.25rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-4{font-size:1.125rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-5{font-size:1rem;line-height:1.5rem}.EasyMDEContainer .cm-s-easymde .cm-header-6{font-size:.875rem;line-height:1.25rem}.EasyMDEContainer .cm-s-easymde .cm-comment{background-image:none}.EasyMDEContainer .CodeMirror,.EasyMDEContainer .cm-s-easymde .cm-formatting-code-block,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-comment{background-color:transparent;color:inherit}.EasyMDEContainer .CodeMirror{border-style:none;padding:.375rem .75rem}.EasyMDEContainer .CodeMirror-scroll{height:auto}.EasyMDEContainer .editor-toolbar{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity));border-radius:0;border-width:0 0 1px;-moz-column-gap:.25rem;column-gap:.25rem;display:flex;overflow-x:auto;padding:.5rem .625rem}.EasyMDEContainer .editor-toolbar:is(.dark *){border-color:hsla(0,0%,100%,.1)}.EasyMDEContainer .editor-toolbar button{border-radius:.5rem;border-style:none;cursor:pointer;display:grid;height:2rem;padding:0;place-content:center;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.EasyMDEContainer .editor-toolbar button:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button.active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:before{--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity));display:block;height:1rem;width:1rem}.EasyMDEContainer .editor-toolbar button:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button:before{content:"";-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.EasyMDEContainer .editor-toolbar button.active:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity))}.EasyMDEContainer .editor-toolbar .separator{border-style:none;margin:0!important;width:.25rem}.EasyMDEContainer .editor-toolbar .bold:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M321.1 242.4c19-22.3 30.9-50.8 30.9-82.4 0-70.59-57.42-128-128-128l-192 .01c-17.67 0-32 14.31-32 32s14.33 32 32 32h16v320H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h224c70.58 0 128-57.41 128-128 0-46.71-25.4-87.21-62.9-109.61zM112 96.01h112c35.3 0 64 28.72 64 64s-28.7 64-64 64H112v-128zM256 416H112V288h144c35.3 0 64 28.71 64 63.1S291.3 416 256 416z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M321.1 242.4c19-22.3 30.9-50.8 30.9-82.4 0-70.59-57.42-128-128-128l-192 .01c-17.67 0-32 14.31-32 32s14.33 32 32 32h16v320H32c-17.67 0-32 14.31-32 32s14.33 32 32 32h224c70.58 0 128-57.41 128-128 0-46.71-25.4-87.21-62.9-109.61zM112 96.01h112c35.3 0 64 28.72 64 64s-28.7 64-64 64H112v-128zM256 416H112V288h144c35.3 0 64 28.71 64 63.1S291.3 416 256 416z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .italic:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M384 64.01c0 17.69-14.31 32-32 32h-58.67l-133.3 320H224c17.69 0 32 14.31 32 32s-14.31 32-32 32H32c-17.69 0-32-14.31-32-32s14.31-32 32-32h58.67l133.3-320H160c-17.69 0-32-14.31-32-32s14.31-32 32-32h192c17.7 0 32 14.32 32 32z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M384 64.01c0 17.69-14.31 32-32 32h-58.67l-133.3 320H224c17.69 0 32 14.31 32 32s-14.31 32-32 32H32c-17.69 0-32-14.31-32-32s14.31-32 32-32h58.67l133.3-320H160c-17.69 0-32-14.31-32-32s14.31-32 32-32h192c17.7 0 32 14.32 32 32z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .strikethrough:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21-3.031 17.59-10.88 29.34-24.72 36.99-35.44 19.75-108.5 11.96-186-19.68-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37 29.62 0 58.81-5.156 83.72-18.96 30.81-17.09 50.44-45.46 56.72-82.11 3.998-23.27 2.168-42.58-3.488-59.05H332.2zm155.8-80-176.5-.03c-15.85-5.614-31.83-10.34-46.7-14.62-85.47-24.62-110.9-39.05-103.7-81.33 2.5-14.53 10.16-25.96 22.72-34.03 20.47-13.15 64.06-23.84 155.4.343 17.09 4.53 34.59-5.654 39.13-22.74 4.531-17.09-5.656-34.59-22.75-39.12-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1c-8.83 51.4 9.81 84.2 39.11 106.8H24c-13.25 0-24 10.75-24 23.1 0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1 0-12.3-10.7-23.1-24-23.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21-3.031 17.59-10.88 29.34-24.72 36.99-35.44 19.75-108.5 11.96-186-19.68-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37 29.62 0 58.81-5.156 83.72-18.96 30.81-17.09 50.44-45.46 56.72-82.11 3.998-23.27 2.168-42.58-3.488-59.05H332.2zm155.8-80-176.5-.03c-15.85-5.614-31.83-10.34-46.7-14.62-85.47-24.62-110.9-39.05-103.7-81.33 2.5-14.53 10.16-25.96 22.72-34.03 20.47-13.15 64.06-23.84 155.4.343 17.09 4.53 34.59-5.654 39.13-22.74 4.531-17.09-5.656-34.59-22.75-39.12-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1c-8.83 51.4 9.81 84.2 39.11 106.8H24c-13.25 0-24 10.75-24 23.1 0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1 0-12.3-10.7-23.1-24-23.1z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .link:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M598.6 41.41C570.1 13.8 534.8 0 498.6 0s-72.36 13.8-99.96 41.41l-43.36 43.36c15.11 8.012 29.47 17.58 41.91 30.02 3.146 3.146 5.898 6.518 8.742 9.838l37.96-37.96C458.5 72.05 477.1 64 498.6 64c20.67 0 40.1 8.047 54.71 22.66 14.61 14.61 22.66 34.04 22.66 54.71s-8.049 40.1-22.66 54.71l-133.3 133.3C405.5 343.1 386 352 365.4 352s-40.1-8.048-54.71-22.66C296 314.7 287.1 295.3 287.1 274.6s8.047-40.1 22.66-54.71l4.44-3.49c-2.1-3.9-4.3-7.9-7.5-11.1-8.6-8.6-19.9-13.3-32.1-13.3-11.93 0-23.1 4.664-31.61 12.97-30.71 53.96-23.63 123.6 22.39 169.6C293 402.2 329.2 416 365.4 416c36.18 0 72.36-13.8 99.96-41.41L598.6 241.3c28.45-28.45 42.24-66.01 41.37-103.3-.87-35.9-14.57-69.84-41.37-96.59zM234 387.4l-37.9 37.9C181.5 439.1 162 448 141.4 448c-20.67 0-40.1-8.047-54.71-22.66-14.61-14.61-22.66-34.04-22.66-54.71s8.049-40.1 22.66-54.71l133.3-133.3C234.5 168 253.1 160 274.6 160s40.1 8.048 54.71 22.66c14.62 14.61 22.66 34.04 22.66 54.71s-8.047 40.1-22.66 54.71l-3.51 3.52c2.094 3.939 4.219 7.895 7.465 11.15C341.9 315.3 353.3 320 365.4 320c11.93 0 23.1-4.664 31.61-12.97 30.71-53.96 23.63-123.6-22.39-169.6C346.1 109.8 310.8 96 274.6 96c-36.2 0-72.3 13.8-99.9 41.4L41.41 270.7C13.81 298.3 0 334.48 0 370.66c0 36.18 13.8 72.36 41.41 99.97C69.01 498.2 105.2 512 141.4 512c36.18 0 72.36-13.8 99.96-41.41l43.36-43.36c-15.11-8.012-29.47-17.58-41.91-30.02-3.21-3.11-5.91-6.51-8.81-9.81z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M598.6 41.41C570.1 13.8 534.8 0 498.6 0s-72.36 13.8-99.96 41.41l-43.36 43.36c15.11 8.012 29.47 17.58 41.91 30.02 3.146 3.146 5.898 6.518 8.742 9.838l37.96-37.96C458.5 72.05 477.1 64 498.6 64c20.67 0 40.1 8.047 54.71 22.66 14.61 14.61 22.66 34.04 22.66 54.71s-8.049 40.1-22.66 54.71l-133.3 133.3C405.5 343.1 386 352 365.4 352s-40.1-8.048-54.71-22.66C296 314.7 287.1 295.3 287.1 274.6s8.047-40.1 22.66-54.71l4.44-3.49c-2.1-3.9-4.3-7.9-7.5-11.1-8.6-8.6-19.9-13.3-32.1-13.3-11.93 0-23.1 4.664-31.61 12.97-30.71 53.96-23.63 123.6 22.39 169.6C293 402.2 329.2 416 365.4 416c36.18 0 72.36-13.8 99.96-41.41L598.6 241.3c28.45-28.45 42.24-66.01 41.37-103.3-.87-35.9-14.57-69.84-41.37-96.59zM234 387.4l-37.9 37.9C181.5 439.1 162 448 141.4 448c-20.67 0-40.1-8.047-54.71-22.66-14.61-14.61-22.66-34.04-22.66-54.71s8.049-40.1 22.66-54.71l133.3-133.3C234.5 168 253.1 160 274.6 160s40.1 8.048 54.71 22.66c14.62 14.61 22.66 34.04 22.66 54.71s-8.047 40.1-22.66 54.71l-3.51 3.52c2.094 3.939 4.219 7.895 7.465 11.15C341.9 315.3 353.3 320 365.4 320c11.93 0 23.1-4.664 31.61-12.97 30.71-53.96 23.63-123.6-22.39-169.6C346.1 109.8 310.8 96 274.6 96c-36.2 0-72.3 13.8-99.9 41.4L41.41 270.7C13.81 298.3 0 334.48 0 370.66c0 36.18 13.8 72.36 41.41 99.97C69.01 498.2 105.2 512 141.4 512c36.18 0 72.36-13.8 99.96-41.41l43.36-43.36c-15.11-8.012-29.47-17.58-41.91-30.02-3.21-3.11-5.91-6.51-8.81-9.81z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .heading:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v112h224V96h-16c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v320h16c17.7 0 32 14.3 32 32s-14.3 32-32 32h-96c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112v144h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V96H32C14.3 96 0 81.7 0 64z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v112h224V96h-16c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v320h16c17.7 0 32 14.3 32 32s-14.3 32-32 32h-96c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V272H112v144h16c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V96H32C14.3 96 0 81.7 0 64z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .quote:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 224c-11.28 0-21.95 2.3-32 5.9V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.3-32-32-32C57.42 96 0 153.4 0 224v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96zm256 0c-11.28 0-21.95 2.305-32 5.879V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.33-32-32-32c-70.58 0-128 57.42-128 128v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 224c-11.28 0-21.95 2.3-32 5.9V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.3-32-32-32C57.42 96 0 153.4 0 224v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96zm256 0c-11.28 0-21.95 2.305-32 5.879V224c0-35.3 28.7-64 64-64 17.67 0 32-14.33 32-32s-14.33-32-32-32c-70.58 0-128 57.42-128 128v96c0 53.02 42.98 96 96 96s96-42.98 96-96-43-96-96-96z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .code:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M416 31.94C416 21.75 408.1 0 384.1 0c-13.98 0-26.87 9.072-30.89 23.18l-128 448a31.933 31.933 0 0 0-1.241 8.801C223.1 490.3 232 512 256 512c13.92 0 26.73-9.157 30.75-23.22l128-448c.85-2.97 1.25-5.93 1.25-8.84zM176 143.1c0-18.28-14.95-32-32-32-8.188 0-16.38 3.125-22.62 9.376l-112 112C3.125 239.6 0 247.8 0 255.1s3.125 17.3 9.375 23.5l112 112c6.225 6.3 14.425 8.5 22.625 8.5 17.05 0 32-13.73 32-32 0-8.188-3.125-16.38-9.375-22.63L77.25 255.1l89.38-89.38c6.27-5.42 9.37-13.52 9.37-22.62zm464 112c0-8.188-3.125-16.38-9.375-22.63l-112-112C512.4 115.1 504.2 111.1 496 111.1c-17.05 0-32 13.73-32 32 0 8.188 3.125 16.38 9.375 22.63l89.38 89.38-89.38 89.38C467.1 351.6 464 359.8 464 367.1c0 18.28 14.95 32 32 32 8.188 0 16.38-3.125 22.62-9.376l112-112C636.9 272.4 640 264.2 640 255.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M416 31.94C416 21.75 408.1 0 384.1 0c-13.98 0-26.87 9.072-30.89 23.18l-128 448a31.933 31.933 0 0 0-1.241 8.801C223.1 490.3 232 512 256 512c13.92 0 26.73-9.157 30.75-23.22l128-448c.85-2.97 1.25-5.93 1.25-8.84zM176 143.1c0-18.28-14.95-32-32-32-8.188 0-16.38 3.125-22.62 9.376l-112 112C3.125 239.6 0 247.8 0 255.1s3.125 17.3 9.375 23.5l112 112c6.225 6.3 14.425 8.5 22.625 8.5 17.05 0 32-13.73 32-32 0-8.188-3.125-16.38-9.375-22.63L77.25 255.1l89.38-89.38c6.27-5.42 9.37-13.52 9.37-22.62zm464 112c0-8.188-3.125-16.38-9.375-22.63l-112-112C512.4 115.1 504.2 111.1 496 111.1c-17.05 0-32 13.73-32 32 0 8.188 3.125 16.38 9.375 22.63l89.38 89.38-89.38 89.38C467.1 351.6 464 359.8 464 367.1c0 18.28 14.95 32 32 32 8.188 0 16.38-3.125 22.62-9.376l112-112C636.9 272.4 640 264.2 640 255.1z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .unordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M16 96c0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.5-21.49 48-48 48s-48-21.5-48-48zm464-32c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zM16 416c0-26.5 21.49-48 48-48s48 21.5 48 48-21.49 48-48 48-48-21.5-48-48zm96-160c0 26.5-21.49 48-48 48s-48-21.5-48-48 21.49-48 48-48 48 21.5 48 48z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M16 96c0-26.51 21.49-48 48-48s48 21.49 48 48c0 26.5-21.49 48-48 48s-48-21.5-48-48zm464-32c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32h288zM16 416c0-26.5 21.49-48 48-48s48 21.5 48 48-21.49 48-48 48-48-21.5-48-48zm96-160c0 26.5-21.49 48-48 48s-48-21.5-48-48 21.49-48 48-48 48 21.5 48 48z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .ordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M55.1 56.04c0-13.26 11.64-24 24-24h32c14.2 0 24 10.74 24 24V176h16c14.2 0 24 10.8 24 24 0 13.3-9.8 24-24 24h-80c-12.36 0-24-10.7-24-24 0-13.2 11.64-24 24-24h16V80.04h-8c-12.36 0-24-10.75-24-24zm63.6 285.16c-6.6-7.4-18.3-6.9-24.05 1.2l-11.12 15.5c-7.7 10.8-22.69 13.3-33.48 5.6-10.79-7.7-13.28-22.7-5.58-33.4l11.12-15.6c23.74-33.3 72.31-35.7 99.21-4.9 21.3 23.5 20.8 60.9-1.1 84.7L118.8 432H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-9.53 0-18.16-5.6-21.98-14.4-3.83-8.7-2.12-18.9 4.34-25.9l72.04-78c5.3-5.8 5.4-14.6.3-20.5zM512 64c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M55.1 56.04c0-13.26 11.64-24 24-24h32c14.2 0 24 10.74 24 24V176h16c14.2 0 24 10.8 24 24 0 13.3-9.8 24-24 24h-80c-12.36 0-24-10.7-24-24 0-13.2 11.64-24 24-24h16V80.04h-8c-12.36 0-24-10.75-24-24zm63.6 285.16c-6.6-7.4-18.3-6.9-24.05 1.2l-11.12 15.5c-7.7 10.8-22.69 13.3-33.48 5.6-10.79-7.7-13.28-22.7-5.58-33.4l11.12-15.6c23.74-33.3 72.31-35.7 99.21-4.9 21.3 23.5 20.8 60.9-1.1 84.7L118.8 432H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-9.53 0-18.16-5.6-21.98-14.4-3.83-8.7-2.12-18.9 4.34-25.9l72.04-78c5.3-5.8 5.4-14.6.3-20.5zM512 64c17.7 0 32 14.33 32 32 0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32 0-17.67 14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256zm0 160c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32s14.3-32 32-32h256z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .table:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath d='M576 1376v-192q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V800q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zM576 608V416q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768V416q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V416q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath d='M576 1376v-192q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V800q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zM576 608V416q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768V416q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V416q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .upload-image:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M447.1 32h-484C28.64 32-.01 60.65-.01 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96c.01-35.35-27.79-64-63.99-64zm-336 64c26.51 0 48 21.49 48 48s-20.6 48-48 48-48-21.49-48-48 22.38-48 48-48zm335 311.6c-2.8 5.2-8.2 8.4-14.1 8.4H82.01a15.993 15.993 0 0 1-14.26-8.75 16 16 0 0 1 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51 93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192c3.29 4.875 3.59 11.175.79 16.475z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M447.1 32h-484C28.64 32-.01 60.65-.01 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96c.01-35.35-27.79-64-63.99-64zm-336 64c26.51 0 48 21.49 48 48s-20.6 48-48 48-48-21.49-48-48 22.38-48 48-48zm335 311.6c-2.8 5.2-8.2 8.4-14.1 8.4H82.01a15.993 15.993 0 0 1-14.26-8.75 16 16 0 0 1 1.334-16.68l70-96C142.1 290.4 146.9 288 152 288s9.916 2.441 12.93 6.574l32.46 44.51 93.3-139.1C293.7 194.7 298.7 192 304 192s10.35 2.672 13.31 7.125l128 192c3.29 4.875 3.59 11.175.79 16.475z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .undo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 256c0 123.4-100.5 223.9-223.9 223.9-48.84 0-95.17-15.58-134.2-44.86-14.12-10.59-16.97-30.66-6.375-44.81 10.59-14.12 30.62-16.94 44.81-6.375 27.84 20.91 61 31.94 95.88 31.94C344.3 415.8 416 344.1 416 256S344.31 96.2 256.2 96.2c-37.46 0-73.09 13.49-101.3 36.64l45.12 45.14c17.01 17.02 4.955 46.1-19.1 46.1H35.17C24.58 224.1 16 215.5 16 204.9V59.04C16 35 45.07 22.96 62.07 39.97l47.6 47.63C149.9 52.71 201.5 32.11 256.1 32.11 379.5 32.11 480 132.6 480 256z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 256c0 123.4-100.5 223.9-223.9 223.9-48.84 0-95.17-15.58-134.2-44.86-14.12-10.59-16.97-30.66-6.375-44.81 10.59-14.12 30.62-16.94 44.81-6.375 27.84 20.91 61 31.94 95.88 31.94C344.3 415.8 416 344.1 416 256S344.31 96.2 256.2 96.2c-37.46 0-73.09 13.49-101.3 36.64l45.12 45.14c17.01 17.02 4.955 46.1-19.1 46.1H35.17C24.58 224.1 16 215.5 16 204.9V59.04C16 35 45.07 22.96 62.07 39.97l47.6 47.63C149.9 52.71 201.5 32.11 256.1 32.11 379.5 32.11 480 132.6 480 256z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .redo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M468.9 32.11c13.87 0 27.18 10.77 27.18 27.04v145.9c0 10.59-8.584 19.17-19.17 19.17h-145.7c-16.28 0-27.06-13.32-27.06-27.2 0-6.634 2.461-13.4 7.96-18.9l45.12-45.14c-28.22-23.14-63.85-36.64-101.3-36.64-88.09 0-159.8 71.69-159.8 159.8S167.8 415.9 255.9 415.9c73.14 0 89.44-38.31 115.1-38.31 18.48 0 31.97 15.04 31.97 31.96 0 35.04-81.59 70.41-147 70.41-123.4 0-223.9-100.5-223.9-223.9S132.6 32.44 256 32.44c54.6 0 106.2 20.39 146.4 55.26L450 40.07c5.5-5.5 12.3-7.96 18.9-7.96z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M468.9 32.11c13.87 0 27.18 10.77 27.18 27.04v145.9c0 10.59-8.584 19.17-19.17 19.17h-145.7c-16.28 0-27.06-13.32-27.06-27.2 0-6.634 2.461-13.4 7.96-18.9l45.12-45.14c-28.22-23.14-63.85-36.64-101.3-36.64-88.09 0-159.8 71.69-159.8 159.8S167.8 415.9 255.9 415.9c73.14 0 89.44-38.31 115.1-38.31 18.48 0 31.97 15.04 31.97 31.96 0 35.04-81.59 70.41-147 70.41-123.4 0-223.9-100.5-223.9-223.9S132.6 32.44 256 32.44c54.6 0 106.2 20.39 146.4 55.26L450 40.07c5.5-5.5 12.3-7.96 18.9-7.96z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-statusbar{display:none}.fi-fo-rich-editor trix-toolbar .trix-dialogs{position:relative}.fi-fo-rich-editor trix-toolbar .trix-dialog{--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgba(var(--gray-50),var(--tw-bg-opacity));border-radius:.5rem;bottom:auto;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);left:0;padding:.5rem;position:absolute;right:0;top:1rem}.fi-fo-rich-editor trix-toolbar .trix-dialog:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields{display:flex;flex-direction:column;gap:.5rem;width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group{display:flex;gap:.5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.375rem;border-style:none;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--gray-950),var(--tw-text-opacity));display:block;font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:.75rem;padding-top:.375rem;padding-inline-start:.75rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-color:hsla(0,0%,100%,.2);background-color:rgba(var(--gray-700),var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity))}@media (min-width:640px){.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{font-size:.875rem;line-height:1.5rem}}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity));background-color:rgba(var(--gray-50),var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.75rem;line-height:1rem;padding:.125rem .5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button:is(.dark *){--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-600),var(--tw-ring-opacity));background-color:rgba(var(--gray-700),var(--tw-bg-opacity))}.fi-fo-rich-editor trix-editor:empty:before{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.fi-fo-rich-editor trix-editor:empty:is(.dark *):before{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.fi-fo-rich-editor trix-editor:empty:before{content:attr(placeholder)}.fi-fo-rich-editor trix-editor.prose :where(ol):not(:where([class~=not-prose] *)),.fi-fo-rich-editor trix-editor.prose :where(ul):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:1.625em!important}.fi-fo-rich-editor trix-editor.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:.375em!important}select:not(.choices){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}[dir=rtl] select{background-position:left .5rem center!important}.choices{outline:2px solid transparent;outline-offset:2px;position:relative}.choices [hidden]{display:none!important}.choices[data-type*=select-one] .has-no-choices{display:none}.choices[data-type*=select-one] .choices__input{display:block;margin:0;width:100%}.choices__inner{background-repeat:no-repeat;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:2rem;padding-top:.375rem;padding-inline-start:.75rem}@media (min-width:640px){.choices__inner{font-size:.875rem;line-height:1.5rem}}.choices__inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-size:1.5em 1.5em}.choices.is-disabled .choices__inner{cursor:default}[dir=rtl] .choices__inner{background-position:left .5rem center}.choices__list--single{display:inline-block}.choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity))}.choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices.is-disabled .choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices.is-disabled .choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__list--multiple{display:flex;flex-wrap:wrap;gap:.375rem}.choices__list--multiple:not(:empty){margin-bottom:.25rem;margin-left:-.25rem;margin-right:-.25rem;padding-bottom:.125rem;padding-top:.125rem}.choices__list--multiple .choices__item{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-color:rgba(var(--primary-600),0.1);align-items:center;background-color:rgba(var(--primary-50),var(--tw-bg-opacity));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--primary-600),var(--tw-text-opacity));display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1rem;padding:.25rem .5rem;word-break:break-all}.choices__list--multiple .choices__item:is(.dark *){--tw-text-opacity:1;--tw-ring-color:rgba(var(--primary-400),0.3);background-color:rgba(var(--primary-400),.1);color:rgba(var(--primary-400),var(--tw-text-opacity))}.choices__list--dropdown,.choices__list[aria-expanded]{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.05);background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:none;font-size:.875rem;line-height:1.25rem;margin-top:.5rem;overflow:hidden;overflow-wrap:break-word;position:absolute;top:100%;width:100%;will-change:visibility;z-index:10}.choices__list--dropdown:is(.dark *),.choices__list[aria-expanded]:is(.dark *){--tw-bg-opacity:1;--tw-ring-color:hsla(0,0%,100%,.1);background-color:rgba(var(--gray-900),var(--tw-bg-opacity))}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{display:block;padding:.25rem}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{max-height:15rem;overflow:auto;will-change:scroll-position}.choices__item--choice{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity));padding:.5rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__item--choice:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__item--choice.choices__item--selectable{--tw-text-opacity:1;border-radius:.375rem;color:rgba(var(--gray-950),var(--tw-text-opacity))}.choices__item--choice.choices__item--selectable:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity))}.choices__list--dropdown .choices__item--selectable.is-highlighted:is(.dark *),.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:is(.dark *){background-color:hsla(0,0%,100%,.05)}.choices__item{cursor:default}.choices__item--disabled{pointer-events:none}.choices__item--disabled:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__item--disabled:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices.is-disabled .choices__placeholder.choices__item,.choices__placeholder.choices__item{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity));cursor:default}.choices.is-disabled .choices__placeholder.choices__item:is(.dark *),.choices__placeholder.choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__button{background-color:transparent;background-position:50%;background-repeat:no-repeat;border-width:0;outline:2px solid transparent;outline-offset:2px;text-indent:-9999px}.choices[data-type*=select-one] .choices__button{height:1rem;inset-inline-end:0;margin-inline-end:2.25rem;opacity:.5;padding:0;position:absolute;transition-duration:75ms;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.choices[data-type*=select-one] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em;top:calc(50% - .5714em)}.dark .choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button{height:1rem;opacity:.5;width:1rem}.choices[data-type*=select-multiple] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em}.dark .choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button:focus-visible,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus-visible,.choices[data-type*=select-one] .choices__button:hover{opacity:.7}.choices[data-type*=select-multiple] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-multiple] .choices__button:hover:is(.dark *),.choices[data-type*=select-one] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-one] .choices__button:hover:is(.dark *){opacity:.6}.choices.is-disabled .choices__button,.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices__input{--tw-text-opacity:1;background-color:transparent!important;border-style:none;color:rgba(var(--gray-950),var(--tw-text-opacity));font-size:1rem!important;line-height:1.5rem!important;padding:0!important;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.choices__input:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.choices__input:disabled{--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-500),1);color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.choices__input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity))}.choices__input:disabled:is(.dark *){--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-400),1);color:rgba(var(--gray-400),var(--tw-text-opacity))}@media (min-width:640px){.choices__input{font-size:.875rem!important;line-height:1.5rem}}.choices__list--dropdown .choices__input{padding:.5rem!important}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;height:0;width:0}.choices__group{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity));padding:1rem .5rem .5rem}.choices__group:first-child{padding-top:.5rem}.choices__group:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity))}.webkit-calendar-picker-indicator\:opacity-0::-webkit-calendar-picker-indicator{opacity:0}/*! Bundled license information: +input::-webkit-datetime-edit{display:block;padding:0}.cropper-container{-webkit-touch-callout:none;direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cropper-container img{backface-visibility:hidden;display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{inset:0;position:absolute}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.filepond--assistant{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--browser.filepond--browser{font-size:0;left:1em;margin:0;opacity:0;padding:0;position:absolute;top:1.75em;width:calc(100% - 2em)}.filepond--data{border:none;contain:strict;height:0;margin:0;padding:0;visibility:hidden;width:0}.filepond--data,.filepond--drip{pointer-events:none;position:absolute}.filepond--drip{background:#00000003;border-radius:.5em;inset:0;opacity:.1;overflow:hidden}.filepond--drip-blob{background:#292625;border-radius:50%;height:8em;margin-left:-4em;margin-top:-4em;transform-origin:center center;width:8em}.filepond--drip-blob,.filepond--drop-label{left:0;position:absolute;top:0;will-change:transform,opacity}.filepond--drop-label{align-items:center;color:#4f4f4f;display:flex;height:0;justify-content:center;margin:0;right:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--drop-label.filepond--drop-label label{display:block;margin:0;padding:.5em}.filepond--drop-label label{cursor:default;font-size:.875em;font-weight:400;line-height:1.5;text-align:center}.filepond--label-action{-webkit-text-decoration-skip:ink;cursor:pointer;text-decoration:underline;text-decoration-color:#a7a4a4;text-decoration-skip-ink:auto}.filepond--root[data-disabled] .filepond--drop-label label{opacity:.5}.filepond--file-action-button.filepond--file-action-button{border:none;font-family:inherit;font-size:1em;height:1.625em;line-height:inherit;margin:0;outline:none;padding:0;width:1.625em;will-change:transform,opacity}.filepond--file-action-button.filepond--file-action-button span{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file-action-button.filepond--file-action-button svg{height:100%;width:100%}.filepond--file-action-button.filepond--file-action-button:after{content:"";inset:-.75em;position:absolute}.filepond--file-action-button{background-color:#00000080;background-image:none;border-radius:50%;box-shadow:0 0 #fff0;color:#fff;cursor:auto;transition:box-shadow .25s ease-in}.filepond--file-action-button:focus,.filepond--file-action-button:hover{box-shadow:0 0 0 .125em #ffffffe6}.filepond--file-action-button[disabled]{background-color:#00000040;color:#ffffff80}.filepond--file-action-button[hidden]{display:none}.filepond--file-info{align-items:flex-start;display:flex;flex:1;flex-direction:column;margin:0 .5em 0 0;min-width:0;pointer-events:none;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-info *{margin:0}.filepond--file-info .filepond--file-info-main{font-size:.75em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.filepond--file-info .filepond--file-info-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out;white-space:nowrap}.filepond--file-info .filepond--file-info-sub:empty{display:none}.filepond--file-status{align-items:flex-end;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;margin:0;min-width:2.25em;pointer-events:none;position:static;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity}.filepond--file-status *{margin:0;white-space:nowrap}.filepond--file-status .filepond--file-status-main{font-size:.75em;line-height:1.2}.filepond--file-status .filepond--file-status-sub{font-size:.625em;opacity:.5;transition:opacity .25s ease-in-out}.filepond--file-wrapper.filepond--file-wrapper{border:none;height:100%;margin:0;min-width:0;padding:0}.filepond--file-wrapper.filepond--file-wrapper>legend{clip:rect(1px,1px,1px,1px);border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.filepond--file{align-items:flex-start;border-radius:.5em;color:#fff;display:flex;height:100%;padding:.5625em;position:static}.filepond--file .filepond--file-status{margin-left:auto;margin-right:2.25em}.filepond--file .filepond--processing-complete-indicator{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.filepond--file .filepond--file-action-button,.filepond--file .filepond--processing-complete-indicator,.filepond--file .filepond--progress-indicator{position:absolute}.filepond--file [data-align*=left]{left:.5625em}.filepond--file [data-align*=right]{right:.5625em}.filepond--file [data-align*=center]{left:calc(50% - .8125em)}.filepond--file [data-align*=bottom]{bottom:1.125em}.filepond--file [data-align=center]{top:calc(50% - .8125em)}.filepond--file .filepond--progress-indicator{margin-top:.1875em}.filepond--file .filepond--progress-indicator[data-align*=right]{margin-right:.1875em}.filepond--file .filepond--progress-indicator[data-align*=left]{margin-left:.1875em}[data-filepond-item-state*=error] .filepond--file-info,[data-filepond-item-state*=invalid] .filepond--file-info,[data-filepond-item-state=cancelled] .filepond--file-info{margin-right:2.25em}[data-filepond-item-state~=processing] .filepond--file-status-sub{opacity:0}[data-filepond-item-state~=processing] .filepond--action-abort-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-error] .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing~.filepond--file-status .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg{animation:fall .5s linear .125s both}[data-filepond-item-state=processing-complete] .filepond--file-status-sub{opacity:.5}[data-filepond-item-state=processing-complete] .filepond--file-info-sub,[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden])~.filepond--file-status .filepond--file-status-sub{opacity:0}[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing~.filepond--file-info .filepond--file-info-sub{opacity:.5}[data-filepond-item-state*=error] .filepond--file-wrapper,[data-filepond-item-state*=error] .filepond--panel,[data-filepond-item-state*=invalid] .filepond--file-wrapper,[data-filepond-item-state*=invalid] .filepond--panel{animation:shake .65s linear both}[data-filepond-item-state*=busy] .filepond--progress-indicator svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shake{10%,90%{transform:translate(-.0625em)}20%,80%{transform:translate(.125em)}30%,50%,70%{transform:translate(-.25em)}40%,60%{transform:translate(.25em)}}@keyframes fall{0%{animation-timing-function:ease-out;opacity:0;transform:scale(.5)}70%{animation-timing-function:ease-in-out;opacity:1;transform:scale(1.1)}to{animation-timing-function:ease-out;transform:scale(1)}}.filepond--hopper[data-hopper-state=drag-over]>*{pointer-events:none}.filepond--hopper[data-hopper-state=drag-over]:after{content:"";inset:0;position:absolute;z-index:100}.filepond--progress-indicator{z-index:103}.filepond--file-action-button{z-index:102}.filepond--file-status{z-index:101}.filepond--file-info{z-index:100}.filepond--item{left:0;margin:.25em;padding:0;position:absolute;right:0;top:0;touch-action:auto;will-change:transform,opacity;z-index:1}.filepond--item>.filepond--panel{z-index:-1}.filepond--item>.filepond--panel .filepond--panel-bottom{box-shadow:0 .0625em .125em -.0625em #00000040}.filepond--item>.filepond--file-wrapper,.filepond--item>.filepond--panel{transition:opacity .15s ease-out}.filepond--item[data-drag-state]{cursor:grab}.filepond--item[data-drag-state]>.filepond--panel{box-shadow:0 0 0 transparent;transition:box-shadow .125s ease-in-out}.filepond--item[data-drag-state=drag]{cursor:grabbing}.filepond--item[data-drag-state=drag]>.filepond--panel{box-shadow:0 .125em .3125em #00000053}.filepond--item[data-drag-state]:not([data-drag-state=idle]){z-index:2}.filepond--item-panel{background-color:#64605e}[data-filepond-item-state=processing-complete] .filepond--item-panel{background-color:#369763}[data-filepond-item-state*=error] .filepond--item-panel,[data-filepond-item-state*=invalid] .filepond--item-panel{background-color:#c44e47}.filepond--item-panel{border-radius:.5em;transition:background-color .25s}.filepond--list-scroller{left:0;margin:0;position:absolute;right:0;top:0;will-change:transform}.filepond--list-scroller[data-state=overflow] .filepond--list{bottom:0;right:0}.filepond--list-scroller[data-state=overflow]{-webkit-overflow-scrolling:touch;-webkit-mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);mask:linear-gradient(180deg,#000 calc(100% - .5em),transparent);overflow-x:hidden;overflow-y:scroll}.filepond--list-scroller::-webkit-scrollbar{background:transparent}.filepond--list-scroller::-webkit-scrollbar:vertical{width:1em}.filepond--list-scroller::-webkit-scrollbar:horizontal{height:0}.filepond--list-scroller::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#0000004d;border:.3125em solid transparent;border-radius:99999px}.filepond--list.filepond--list{list-style-type:none;margin:0;padding:0;position:absolute;top:0;will-change:transform}.filepond--list{left:.75em;right:.75em}.filepond--root[data-style-panel-layout~=integrated]{height:100%;margin:0;max-width:none;width:100%}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root{border-radius:0}.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root>*,.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root>*{display:none}.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{align-items:center;bottom:0;display:flex;height:auto;justify-content:center;z-index:7}.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel{display:none}.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller{height:100%;margin-bottom:0;margin-top:0;overflow:hidden}.filepond--root[data-style-panel-layout~=compact] .filepond--list,.filepond--root[data-style-panel-layout~=integrated] .filepond--list{height:100%;left:0;right:0}.filepond--root[data-style-panel-layout~=compact] .filepond--item,.filepond--root[data-style-panel-layout~=integrated] .filepond--item{margin:0}.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper{height:100%}.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label{z-index:7}.filepond--root[data-style-panel-layout~=circle]{border-radius:99999rem;overflow:hidden}.filepond--root[data-style-panel-layout~=circle]>.filepond--panel{border-radius:inherit}.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,.filepond--root[data-style-panel-layout~=circle] .filepond--file-status,.filepond--root[data-style-panel-layout~=circle]>.filepond--panel>*{display:none}@media not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){.filepond--root[data-style-panel-layout~=circle]{will-change:transform}}}.filepond--panel-root{background-color:#f1f0ef;border-radius:.5em}.filepond--panel{height:100%!important;left:0;margin:0;pointer-events:none;position:absolute;right:0;top:0}.filepond-panel:not([data-scalable=false]){height:auto!important}.filepond--panel[data-scalable=false]>div{display:none}.filepond--panel[data-scalable=true]{background-color:transparent!important;border:none!important;transform-style:preserve-3d}.filepond--panel-bottom,.filepond--panel-center,.filepond--panel-top{left:0;margin:0;padding:0;position:absolute;right:0;top:0}.filepond--panel-bottom,.filepond--panel-top{height:.5em}.filepond--panel-top{border-bottom:none!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.filepond--panel-top:after{background-color:inherit;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.filepond--panel-bottom,.filepond--panel-center{backface-visibility:hidden;transform:translate3d(0,.5em,0);transform-origin:left top;will-change:transform}.filepond--panel-bottom{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.filepond--panel-bottom:before{background-color:inherit;content:"";height:2px;left:0;position:absolute;right:0;top:-1px}.filepond--panel-center{border-bottom:none!important;border-radius:0!important;border-top:none!important;height:100px!important}.filepond--panel-center:not([style]){visibility:hidden}.filepond--progress-indicator{color:#fff;height:1.25em;margin:0;pointer-events:none;position:static;width:1.25em;will-change:transform,opacity}.filepond--progress-indicator svg{height:100%;transform-box:fill-box;vertical-align:top;width:100%}.filepond--progress-indicator path{fill:none;stroke:currentColor}.filepond--list-scroller{z-index:6}.filepond--drop-label{z-index:5}.filepond--drip{z-index:3}.filepond--root>.filepond--panel{z-index:2}.filepond--browser{z-index:1}.filepond--root{box-sizing:border-box;contain:layout style size;direction:ltr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:450;line-height:normal;margin-bottom:1em;position:relative;text-align:left;text-rendering:optimizeLegibility}.filepond--root *{box-sizing:inherit;line-height:inherit}.filepond--root :not(text){font-size:inherit}.filepond--root[data-disabled]{pointer-events:none}.filepond--root[data-disabled] .filepond--list-scroller{pointer-events:all}.filepond--root[data-disabled] .filepond--list{pointer-events:none}.filepond--root .filepond--drop-label{min-height:4.75em}.filepond--root .filepond--list-scroller{margin-bottom:1em;margin-top:1em}.filepond--root .filepond--credits{bottom:-14px;color:inherit;font-size:11px;line-height:.85;opacity:.4;position:absolute;right:0;text-decoration:none;z-index:3}.filepond--root .filepond--credits[style]{bottom:auto;margin-top:14px;top:0}.filepond--action-edit-item.filepond--action-edit-item{height:2em;padding:.1875em;width:2em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=center]{margin-left:-.1875em}.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom]{margin-bottom:-.1875em}.filepond--action-edit-item-alt{background:transparent;border:none;color:inherit;font-family:inherit;line-height:inherit;margin:0 0 0 .25em;outline:none;padding:0;pointer-events:all;position:absolute}.filepond--action-edit-item-alt svg{height:1.3125em;width:1.3125em}.filepond--action-edit-item-alt span{font-size:0;opacity:0}.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item{opacity:1!important;visibility:visible!important}.filepond--image-preview-markup{left:0;position:absolute;top:0}.filepond--image-preview-wrapper{z-index:2}.filepond--image-preview-overlay{display:block;left:0;margin:0;max-height:7rem;min-height:5rem;opacity:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.filepond--image-preview-overlay svg{color:inherit;height:auto;max-height:inherit;width:100%}.filepond--image-preview-overlay-idle{color:#282828d9;mix-blend-mode:multiply}.filepond--image-preview-overlay-success{color:#369763;mix-blend-mode:normal}.filepond--image-preview-overlay-failure{color:#c44e47;mix-blend-mode:normal}@supports (-webkit-marquee-repetition:infinite) and ((-o-object-fit:fill) or (object-fit:fill)){.filepond--image-preview-overlay-idle{mix-blend-mode:normal}}.filepond--image-preview-wrapper{background:#00000003;border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filepond--image-preview{align-items:center;background:#222;display:flex;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;will-change:transform,opacity;z-index:1}.filepond--image-clip{margin:0 auto;overflow:hidden;position:relative}.filepond--image-clip[data-transparency-indicator=grid] canvas,.filepond--image-clip[data-transparency-indicator=grid] img{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0h50v50H0M50 50h50v50H50'/%3E%3C/svg%3E");background-size:1.25em 1.25em}.filepond--image-bitmap,.filepond--image-vector{left:0;position:absolute;top:0;will-change:transform}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper{border-radius:0}.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview{align-items:center;display:flex;height:100%;justify-content:center}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper{border-radius:99999rem}.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay{bottom:0;top:auto;transform:scaleY(-1)}.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=center]){margin-bottom:.325em}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left]{left:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right]{right:calc(50% - 3em)}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right]{margin-bottom:.5125em}.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center]{margin-bottom:.1875em;margin-left:.1875em;margin-top:0}.filepond--media-preview audio{display:none}.filepond--media-preview .audioplayer{margin:2.3em auto auto;width:calc(100% - 1.4em)}.filepond--media-preview .playpausebtn{background-position:50%;background-repeat:no-repeat;border:none;border-radius:25px;cursor:pointer;float:left;height:25px;margin-right:.3em;margin-top:.3em;outline:none;width:25px}.filepond--media-preview .playpausebtn:hover{background-color:#00000080}.filepond--media-preview .play{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAyElEQVQ4T9XUsWoCQRRG4XPaFL5SfIy8gKYKBCysrax8Ahs7qzQ2qVIFOwsrsbEWLEK6EBFGBrIQhN2d3dnGgalm+Jh7789Ix8uOPe4YDCH0gZ66atKW0pJDCE/AEngDXtRjCpwCRucbGANzNVTBqWBhfAJDdV+GNgWj8wtM41bPt3AbsDB2f69d/0dzwC0wUDe54A8wAWbqJbfkD+BZPeQO5QsYqYu6LKb0MIb7VT3VYfG8CnwEHtT3FKi4c8e/TZMyk3LYFrwCgMdHFbRDKS8AAAAASUVORK5CYII=)}.filepond--media-preview .pause{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAh0lEQVQ4T+2UsQkCURBE30PLMbAMMResQrAPsQ0TK9AqDKxGZeTLD74aGNwlhzfZssvADDMrPcOe+RggYZIJcG2s2KinMidZAvu6u6uzT8u+JCeZArfmcKUeK+EaONTdQy23bxgJX8aPHvIHsSnVuzTx36rn2pQFsGuqN//ZlK7vbIDvq6vkJ9yteBXzecYbAAAAAElFTkSuQmCC)}.filepond--media-preview .timeline{background:#ffffff4d;border-radius:15px;float:left;height:3px;margin-top:1em;width:calc(100% - 2.5em)}.filepond--media-preview .playhead{background:#fff;border-radius:50%;height:13px;margin-top:-5px;width:13px}.filepond--media-preview-wrapper{background:#00000003;border-radius:.45em;height:100%;left:0;margin:0;overflow:hidden;pointer-events:auto;position:absolute;right:0;top:0}.filepond--media-preview-wrapper:before{background:linear-gradient(180deg,#000,#0000);content:" ";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#00000000",GradientType=0);height:2em;position:absolute;width:100%;z-index:3}.filepond--media-preview{display:block;height:100%;position:relative;transform-origin:center center;width:100%;will-change:transform,opacity;z-index:1}.filepond--media-preview audio,.filepond--media-preview video{width:100%;will-change:transform}.filepond--root{--tw-bg-opacity:1;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);margin-bottom:0;overflow:hidden}.filepond--root:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.2);background-color:hsla(0,0%,100%,.05)}.filepond--root[data-disabled=disabled]{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1))}.filepond--root[data-disabled=disabled]:is(.dark *){--tw-ring-color:hsla(0,0%,100%,.1);background-color:transparent}.filepond--panel-root{background-color:transparent}.filepond--drop-label label{--tw-text-opacity:1;color:rgba(var(--gray-600),var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem;padding:.75rem!important}.filepond--drop-label label:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.filepond--label-action{--tw-text-opacity:1;color:rgba(var(--primary-600),var(--tw-text-opacity,1));font-weight:500;text-decoration-line:none;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.filepond--label-action:hover{--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity,1))}.filepond--label-action:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.filepond--label-action:hover:is(.dark *){--tw-text-opacity:1;color:rgba(var(--primary-500),var(--tw-text-opacity,1))}.filepond--drip-blob{--tw-bg-opacity:1;background-color:rgba(var(--gray-400),var(--tw-bg-opacity,1))}.filepond--drip-blob:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-500),var(--tw-bg-opacity,1))}.filepond--root[data-style-panel-layout=grid] .filepond--item{display:inline;width:calc(50% - .5rem)}@media (min-width:1024px){.filepond--root[data-style-panel-layout=grid] .filepond--item{width:calc(33.33% - .5rem)}}.filepond--download-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--download-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--download-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkIj48cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNE03IDEwbDUgNSA1LTVNMTIgMTVWMyIvPjwvc3ZnPg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--open-icon{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));display:inline-block;height:1rem;margin-inline-end:.25rem;pointer-events:auto;vertical-align:bottom;width:1rem}.filepond--open-icon:hover{background-color:hsla(0,0%,100%,.7)}.filepond--open-icon{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTYgdy02IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTEwIDZINmEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoMTBhMiAyIDAgMCAwIDItMnYtNE0xNCA0aDZtMCAwdjZtMC02TDEwIDE0Ii8+PC9zdmc+);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%}.filepond--file-action-button.filepond--action-edit-item{background-color:rgba(0,0,0,.5)}.cropper-drag-box.cropper-crop.cropper-modal{background-color:rgba(var(--gray-100),.5);opacity:1}.cropper-drag-box.cropper-crop.cropper-modal:is(.dark *){background-color:rgba(var(--gray-900),.8)}.fi-fo-file-upload-circle-cropper .cropper-face,.fi-fo-file-upload-circle-cropper .cropper-view-box{border-radius:50%}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{inset:-50px 0 0;overflow:hidden;position:absolute}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:0;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid transparent;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:0;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:0 0!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{inset:0;position:absolute;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:content-box}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{word-wrap:break-word;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-sizing:border-box;font:inherit;height:auto;padding:10px;z-index:0}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;border-bottom-right-radius:0!important;border-right:none!important;height:auto;inset:50px 0 0;position:fixed!important;z-index:8}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-bottom-right-radius:0;border-right:none!important;flex:1 1 auto;position:relative}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px;padding:9px 10px;position:relative;-webkit-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.editor-toolbar.fullscreen{background:#fff;border:0;box-sizing:border-box;height:50px;left:0;opacity:1;padding-bottom:10px;padding-top:10px;position:fixed;top:0;width:100%;z-index:9}.editor-toolbar.fullscreen:before{background:linear-gradient(90deg,#fff 0,#fff0);height:50px;left:0;margin:0;padding:0;position:fixed;top:0;width:20px}.editor-toolbar.fullscreen:after{background:linear-gradient(90deg,#fff0 0,#fff);height:50px;margin:0;padding:0;position:fixed;right:0;top:0;width:20px}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;border:1px solid transparent;border-radius:3px;cursor:pointer;display:inline-block;height:30px;margin:0;padding:0;text-align:center;text-decoration:none!important}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;display:inline-block;margin:0 6px;text-indent:-10px;width:0}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;position:relative;top:2px;vertical-align:text-bottom}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"\25b2"}.editor-toolbar button.heading-smaller:after{content:"\25bc"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{color:#959694;font-size:12px;padding:8px 10px;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;margin-left:1em;min-width:4em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{height:100%;left:0;position:absolute;top:0;width:100%;z-index:7}.editor-preview-full,.editor-preview-side{box-sizing:border-box;display:none;overflow:auto}.editor-preview-side{word-wrap:break-word;border:1px solid #ddd;bottom:0;position:fixed;right:0;top:50px;width:50%;z-index:9}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{background:#fafafa;padding:10px}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{line-height:1.2;margin-bottom:.5rem}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{border:1px solid #fff;border-radius:0;position:relative}.editor-toolbar .easymde-dropdown,.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{background-color:#f9f9f9;box-shadow:0 8px 16px #0003;display:block;padding:8px;position:absolute;top:30px;visibility:hidden;z-index:2}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{background-image:var(--bg-image);background-repeat:no-repeat;background-size:contain;content:"";display:block;height:0;max-height:100%;max-width:100%;padding-top:var(--height);width:var(--width)}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}:root{--color-cm-red:#991b1b;--color-cm-orange:#9a3412;--color-cm-amber:#92400e;--color-cm-yellow:#854d0e;--color-cm-lime:#3f6212;--color-cm-green:#166534;--color-cm-emerald:#065f46;--color-cm-teal:#115e59;--color-cm-cyan:#155e75;--color-cm-sky:#075985;--color-cm-blue:#1e40af;--color-cm-indigo:#3730a3;--color-cm-violet:#5b21b6;--color-cm-purple:#6b21a8;--color-cm-fuchsia:#86198f;--color-cm-pink:#9d174d;--color-cm-rose:#9f1239;--color-cm-gray:#18181b;--color-cm-gray-muted:#71717a;--color-cm-gray-background:#e4e4e7}.dark{--color-cm-red:#f87171;--color-cm-orange:#fb923c;--color-cm-amber:#fbbf24;--color-cm-yellow:#facc15;--color-cm-lime:#a3e635;--color-cm-green:#4ade80;--color-cm-emerald:#4ade80;--color-cm-teal:#2dd4bf;--color-cm-cyan:#22d3ee;--color-cm-sky:#38bdf8;--color-cm-blue:#60a5fa;--color-cm-indigo:#818cf8;--color-cm-violet:#a78bfa;--color-cm-purple:#c084fc;--color-cm-fuchsia:#e879f9;--color-cm-pink:#f472b6;--color-cm-rose:#fb7185;--color-cm-gray:#fafafa;--color-cm-gray-muted:#a1a1aa;--color-cm-gray-background:#52525b}.cm-s-easymde .cm-comment{background-color:transparent;color:var(--color-cm-gray-muted)}.EasyMDEContainer .CodeMirror-cursor{border-color:currentColor}.dark .EasyMDEContainer .cm-s-easymde span.CodeMirror-selectedtext{filter:invert(100%)}.EasyMDEContainer .cm-s-easymde .cm-keyword{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-atom{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-number{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-def{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable{color:var(--color-cm-yellow)}.EasyMDEContainer .cm-s-easymde .cm-variable-2{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-variable-3{color:var(--color-cm-emerald)}.EasyMDEContainer .cm-s-easymde .cm-operator,.EasyMDEContainer .cm-s-easymde .cm-property{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-string,.EasyMDEContainer .cm-s-easymde .cm-string-2{color:var(--color-cm-rose)}.EasyMDEContainer .cm-s-easymde .cm-meta{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-error{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-qualifier{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-builtin{color:var(--color-cm-violet)}.EasyMDEContainer .cm-s-easymde .cm-bracket{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-hr{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote{color:var(--color-cm-sky)}.EasyMDEContainer .cm-s-easymde .cm-formatting-quote+.cm-quote{color:var(--color-cm-gray-muted)}.EasyMDEContainer .cm-s-easymde .cm-formatting-list,.EasyMDEContainer .cm-s-easymde .cm-formatting-list+.cm-variable-2,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-variable-2{color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-link{color:var(--color-cm-blue)}.EasyMDEContainer .cm-s-easymde .cm-tag{color:var(--color-cm-red)}.EasyMDEContainer .cm-s-easymde .cm-attribute{color:var(--color-cm-amber)}.EasyMDEContainer .cm-s-easymde .cm-attribute+.cm-string{color:var(--color-cm-green)}.EasyMDEContainer .cm-s-easymde .cm-formatting-code+.cm-comment:not(.cm-formatting-code){background-color:var(--color-cm-gray-background);color:var(--color-cm-gray)}.EasyMDEContainer .cm-s-easymde .cm-header-1{font-size:1.875rem;line-height:2.25rem}.EasyMDEContainer .cm-s-easymde .cm-header-2{font-size:1.5rem;line-height:2rem}.EasyMDEContainer .cm-s-easymde .cm-header-3{font-size:1.25rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-4{font-size:1.125rem;line-height:1.75rem}.EasyMDEContainer .cm-s-easymde .cm-header-5{font-size:1rem;line-height:1.5rem}.EasyMDEContainer .cm-s-easymde .cm-header-6{font-size:.875rem;line-height:1.25rem}.EasyMDEContainer .cm-s-easymde .cm-comment{background-image:none}.EasyMDEContainer .CodeMirror,.EasyMDEContainer .cm-s-easymde .cm-formatting-code-block,.EasyMDEContainer .cm-s-easymde .cm-tab+.cm-comment{background-color:transparent;color:inherit}.EasyMDEContainer .CodeMirror{border-style:none;padding:.375rem .75rem}.EasyMDEContainer .CodeMirror-scroll{height:auto}.EasyMDEContainer .editor-toolbar{--tw-border-opacity:1;border-color:rgba(var(--gray-200),var(--tw-border-opacity,1));border-radius:0;border-width:0 0 1px;-moz-column-gap:.25rem;column-gap:.25rem;display:flex;overflow-x:auto;padding:.5rem .625rem}.EasyMDEContainer .editor-toolbar:is(.dark *){border-color:hsla(0,0%,100%,.1)}.EasyMDEContainer .editor-toolbar button{border-radius:.5rem;border-style:none;cursor:pointer;display:grid;height:2rem;padding:0;place-content:center;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:2rem}.EasyMDEContainer .editor-toolbar button:hover{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1))}.EasyMDEContainer .editor-toolbar button:focus-visible{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1))}.EasyMDEContainer .editor-toolbar button:hover:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:focus-visible:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button.active{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *){background-color:hsla(0,0%,100%,.05)}.EasyMDEContainer .editor-toolbar button:before{--tw-bg-opacity:1;background-color:rgba(var(--gray-700),var(--tw-bg-opacity,1));display:block;height:1.25rem;width:1.25rem}.EasyMDEContainer .editor-toolbar button:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--gray-300),var(--tw-bg-opacity,1))}.EasyMDEContainer .editor-toolbar button:before{content:"";-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.EasyMDEContainer .editor-toolbar button.active:before{--tw-bg-opacity:1;background-color:rgba(var(--primary-600),var(--tw-bg-opacity,1))}.EasyMDEContainer .editor-toolbar button.active:is(.dark *):before{--tw-bg-opacity:1;background-color:rgba(var(--primary-400),var(--tw-bg-opacity,1))}.EasyMDEContainer .editor-toolbar .separator{border-style:none;margin:0!important;width:.25rem}.EasyMDEContainer .editor-toolbar .bold:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M4 3a1 1 0 0 1 1-1h6a4.5 4.5 0 0 1 3.274 7.587A4.75 4.75 0 0 1 11.25 18H5a1 1 0 0 1-1-1V3Zm2.5 5.5v-4H11a2 2 0 1 1 0 4H6.5Zm0 2.5v4.5h4.75a2.25 2.25 0 0 0 0-4.5H6.5Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .italic:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M8 2.75A.75.75 0 0 1 8.75 2h7.5a.75.75 0 0 1 0 1.5h-3.215l-4.483 13h2.698a.75.75 0 0 1 0 1.5h-7.5a.75.75 0 0 1 0-1.5h3.215l4.483-13H8.75A.75.75 0 0 1 8 2.75Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .strikethrough:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M11.617 3.963c-1.186-.318-2.418-.323-3.416.015-.992.336-1.49.91-1.642 1.476-.152.566-.007 1.313.684 2.1.528.6 1.273 1.1 2.128 1.446h7.879a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5h3.813a5.976 5.976 0 0 1-.447-.456C5.18 7.479 4.798 6.231 5.11 5.066c.312-1.164 1.268-2.055 2.61-2.509 1.336-.451 2.877-.42 4.286-.043.856.23 1.684.592 2.409 1.074a.75.75 0 1 1-.83 1.25 6.723 6.723 0 0 0-1.968-.875Zm1.909 8.123a.75.75 0 0 1 1.015.309c.53.99.607 2.062.18 3.01-.421.94-1.289 1.648-2.441 2.038-1.336.452-2.877.42-4.286.043-1.409-.377-2.759-1.121-3.69-2.18a.75.75 0 1 1 1.127-.99c.696.791 1.765 1.403 2.952 1.721 1.186.318 2.418.323 3.416-.015.853-.288 1.34-.756 1.555-1.232.21-.467.205-1.049-.136-1.69a.75.75 0 0 1 .308-1.014Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .link:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z'/%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z'/%3E%3Cpath d='M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .heading:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M2.75 4a.75.75 0 0 1 .75.75v4.5h5v-4.5a.75.75 0 0 1 1.5 0v10.5a.75.75 0 0 1-1.5 0v-4.5h-5v4.5a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 2.75 4ZM13 8.75a.75.75 0 0 1 .75-.75h1.75a.75.75 0 0 1 .75.75v5.75h1a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1 0-1.5h1v-5h-1a.75.75 0 0 1-.75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .quote:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 2c-2.236 0-4.43.18-6.57.524C1.993 2.755 1 4.014 1 5.426v5.148c0 1.413.993 2.67 2.43 2.902 1.168.188 2.352.327 3.55.414.28.02.521.18.642.413l1.713 3.293a.75.75 0 0 0 1.33 0l1.713-3.293a.783.783 0 0 1 .642-.413 41.102 41.102 0 0 0 3.55-.414c1.437-.231 2.43-1.49 2.43-2.902V5.426c0-1.413-.993-2.67-2.43-2.902A41.289 41.289 0 0 0 10 2ZM6.75 6a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm0 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .code:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06Zm-2.343-3.209a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6.28 5.22a.75.75 0 0 1 0 1.06L2.56 10l3.72 3.72a.75.75 0 0 1-1.06 1.06L.97 10.53a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Zm7.44 0a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L17.44 10l-3.72-3.72a.75.75 0 0 1 0-1.06Zm-2.343-3.209a.75.75 0 0 1 .612.867l-2.5 14.5a.75.75 0 0 1-1.478-.255l2.5-14.5a.75.75 0 0 1 .866-.612Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .unordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0 10.5a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0-5.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M6 4.75A.75.75 0 0 1 6.75 4h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 4.75ZM6 10a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75A.75.75 0 0 1 6 10Zm0 5.25a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75ZM1.99 4.75a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0 10.5a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1v-.01Zm0-5.25a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v.01a1 1 0 0 1-1 1h-.01a1 1 0 0 1-1-1V10Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .ordered-list:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3Zm-.03 7.404a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm-5.125-1.625a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath d='M3 1.25a.75.75 0 0 0 0 1.5h.25v2.5a.75.75 0 0 0 1.5 0V2A.75.75 0 0 0 4 1.25H3Zm-.03 7.404a3.5 3.5 0 0 1 1.524-.12.034.034 0 0 1-.012.012L2.415 9.579A.75.75 0 0 0 2 10.25v1c0 .414.336.75.75.75h2.5a.75.75 0 0 0 0-1.5H3.927l1.225-.613c.52-.26.848-.79.848-1.371 0-.647-.429-1.327-1.193-1.451a5.03 5.03 0 0 0-2.277.155.75.75 0 0 0 .44 1.434ZM7.75 3a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm0 6.25a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Zm-5.125-1.625a.75.75 0 0 0 0 1.5h1.5a.125.125 0 0 1 0 .25H3.5a.75.75 0 0 0 0 1.5h.625a.125.125 0 0 1 0 .25h-1.5a.75.75 0 0 0 0 1.5h1.5a1.625 1.625 0 0 0 1.37-2.5 1.625 1.625 0 0 0-1.37-2.5h-1.5Z'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .table:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M.99 5.24A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25l.01 9.5A2.25 2.25 0 0 1 16.76 17H3.26A2.267 2.267 0 0 1 1 14.74l-.01-9.5Zm8.26 9.52v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.615c0 .414.336.75.75.75h5.373a.75.75 0 0 0 .627-.74Zm1.5 0a.75.75 0 0 0 .627.74h5.373a.75.75 0 0 0 .75-.75v-.615a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625Zm6.75-3.63v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75v.625c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75ZM17.5 7.5v-.625a.75.75 0 0 0-.75-.75H11.5a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75h5.25a.75.75 0 0 0 .75-.75Zm-8.25 0v-.625a.75.75 0 0 0-.75-.75H3.25a.75.75 0 0 0-.75.75V7.5c0 .414.336.75.75.75H8.5a.75.75 0 0 0 .75-.75Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .upload-image:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .undo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M7.793 2.232a.75.75 0 0 1-.025 1.06L3.622 7.25h10.003a5.375 5.375 0 0 1 0 10.75H10.75a.75.75 0 0 1 0-1.5h2.875a3.875 3.875 0 0 0 0-7.75H3.622l4.146 3.957a.75.75 0 0 1-1.036 1.085l-5.5-5.25a.75.75 0 0 1 0-1.085l5.5-5.25a.75.75 0 0 1 1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-toolbar .redo:before{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M12.207 2.232a.75.75 0 0 0 .025 1.06l4.146 3.958H6.375a5.375 5.375 0 0 0 0 10.75H9.25a.75.75 0 0 0 0-1.5H6.375a3.875 3.875 0 0 1 0-7.75h10.003l-4.146 3.957a.75.75 0 0 0 1.036 1.085l5.5-5.25a.75.75 0 0 0 0-1.085l-5.5-5.25a.75.75 0 0 0-1.06.025Z' clip-rule='evenodd'/%3E%3C/svg%3E")}.EasyMDEContainer .editor-statusbar{display:none}.fi-fo-rich-editor trix-toolbar .trix-dialogs{position:relative}.fi-fo-rich-editor trix-toolbar .trix-dialog{--tw-bg-opacity:1;--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1));border-radius:.5rem;bottom:auto;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);left:0;padding:.5rem;position:absolute;right:0;top:1rem}.fi-fo-rich-editor trix-toolbar .trix-dialog:is(.dark *){--tw-bg-opacity:1;background-color:rgba(var(--gray-800),var(--tw-bg-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields{display:flex;flex-direction:column;gap:.5rem;width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group{display:flex;gap:.5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.1);background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-radius:.375rem;border-style:none;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--gray-950),var(--tw-text-opacity,1));display:block;font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:.75rem;padding-top:.375rem;padding-inline-start:.75rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);width:100%}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-color:hsla(0,0%,100%,.2);background-color:rgba(var(--gray-700),var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input:focus-within:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgba(var(--primary-600),var(--tw-ring-opacity,1))}@media (min-width:640px){.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-input{font-size:.875rem;line-height:1.5rem}}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button{--tw-bg-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-200),var(--tw-ring-opacity,1));background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);font-size:.75rem;line-height:1rem;padding:.125rem .5rem}.fi-fo-rich-editor trix-toolbar .trix-dialog__link-fields .trix-button-group .trix-button:is(.dark *){--tw-bg-opacity:1;--tw-ring-opacity:1;--tw-ring-color:rgba(var(--gray-600),var(--tw-ring-opacity,1));background-color:rgba(var(--gray-700),var(--tw-bg-opacity,1))}.fi-fo-rich-editor trix-editor:empty:before{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-editor:empty:is(.dark *):before{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.fi-fo-rich-editor trix-editor:empty:before{content:attr(placeholder)}.fi-fo-rich-editor trix-editor.prose :where(ol):not(:where([class~=not-prose] *)),.fi-fo-rich-editor trix-editor.prose :where(ul):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:1.625em!important}.fi-fo-rich-editor trix-editor.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-inline-end:0!important;padding-inline-start:.375em!important}select:not(.choices){background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}[dir=rtl] select{background-position:left .5rem center!important}.choices{outline:2px solid transparent;outline-offset:2px;position:relative}.choices [hidden]{display:none!important}.choices[data-type*=select-one] .has-no-choices{display:none}.choices[data-type*=select-one] .choices__input{display:block;margin:0;width:100%}.choices__inner{background-repeat:no-repeat;outline:2px solid transparent;outline-offset:2px;padding-bottom:.375rem;padding-inline-end:2rem;padding-top:.375rem;padding-inline-start:.75rem}@media (min-width:640px){.choices__inner{font-size:.875rem;line-height:1.5rem}}.choices__inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-size:1.5em 1.5em;&:has(.choices__button){padding-inline-end:3.5rem}}.choices.is-disabled .choices__inner{cursor:default}[dir=rtl] .choices__inner{background-position:left .5rem center}.choices__list--single{display:inline-block}.choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-950),var(--tw-text-opacity,1))}.choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.choices.is-disabled .choices__list--single .choices__item{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.choices.is-disabled .choices__list--single .choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.choices__list--multiple{display:flex;flex-wrap:wrap;gap:.375rem}.choices__list--multiple:not(:empty){margin-bottom:.25rem;margin-left:-.25rem;margin-right:-.25rem;padding-bottom:.125rem;padding-top:.125rem}.choices__list--multiple .choices__item{--tw-bg-opacity:1;--tw-text-opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-inset:inset;--tw-ring-color:rgba(var(--primary-600),0.1);align-items:center;background-color:rgba(var(--primary-50),var(--tw-bg-opacity,1));border-radius:.375rem;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);color:rgba(var(--primary-600),var(--tw-text-opacity,1));display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;line-height:1rem;padding:.25rem .5rem;word-break:break-all}.choices__list--multiple .choices__item:is(.dark *){--tw-text-opacity:1;--tw-ring-color:rgba(var(--primary-400),0.3);background-color:rgba(var(--primary-400),.1);color:rgba(var(--primary-400),var(--tw-text-opacity,1))}.choices__list--dropdown,.choices__list[aria-expanded]{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgba(var(--gray-950),0.05);background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);display:none;font-size:.875rem;line-height:1.25rem;margin-top:.5rem;overflow:hidden;overflow-wrap:break-word;position:absolute;top:100%;width:100%;will-change:visibility;z-index:10}.choices__list--dropdown:is(.dark *),.choices__list[aria-expanded]:is(.dark *){--tw-bg-opacity:1;--tw-ring-color:hsla(0,0%,100%,.1);background-color:rgba(var(--gray-900),var(--tw-bg-opacity,1))}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{display:block;padding:.25rem}.choices__list--dropdown .choices__list,.choices__list[aria-expanded] .choices__list{max-height:15rem;overflow:auto;will-change:scroll-position}.choices__item--choice{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1));padding:.5rem;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__item--choice:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.choices__item--choice.choices__item--selectable{--tw-text-opacity:1;border-radius:.375rem;color:rgba(var(--gray-950),var(--tw-text-opacity,1))}.choices__item--choice.choices__item--selectable:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{--tw-bg-opacity:1;background-color:rgba(var(--gray-50),var(--tw-bg-opacity,1))}.choices__list--dropdown .choices__item--selectable.is-highlighted:is(.dark *),.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:is(.dark *){background-color:hsla(0,0%,100%,.05)}.choices__item{cursor:default}.choices__item--disabled{pointer-events:none}.choices__item--disabled:disabled{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.choices__item--disabled:disabled:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.choices.is-disabled .choices__placeholder.choices__item,.choices__placeholder.choices__item{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1));cursor:default}.choices.is-disabled .choices__placeholder.choices__item:is(.dark *),.choices__placeholder.choices__item:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.choices__button{background-color:transparent;background-position:50%;background-repeat:no-repeat;border-width:0;outline:2px solid transparent;outline-offset:2px;text-indent:-9999px}.choices[data-type*=select-one] .choices__button{height:1rem;inset-inline-end:0;margin-inline-end:2.25rem;opacity:.5;padding:0;position:absolute;transition-duration:75ms;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.choices[data-type*=select-one] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em;top:calc(50% - .5714em)}.dark .choices[data-type*=select-one] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button{height:1rem;opacity:.5;width:1rem}.choices[data-type*=select-multiple] .choices__button:is(.dark *){opacity:.4}.choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=);background-size:.7142em .7142em}.dark .choices[data-type*=select-multiple] .choices__button{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJtMi41OTIuMDQ0IDE4LjM2NCAxOC4zNjQtMi41NDggMi41NDhMLjA0NCAyLjU5MnoiLz48cGF0aCBkPSJNMCAxOC4zNjQgMTguMzY0IDBsMi41NDggMi41NDhMMi41NDggMjAuOTEyeiIvPjwvZz48L3N2Zz4=)}.choices[data-type*=select-multiple] .choices__button:focus-visible,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=select-one] .choices__button:focus-visible,.choices[data-type*=select-one] .choices__button:hover{opacity:.7}.choices[data-type*=select-multiple] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-multiple] .choices__button:hover:is(.dark *),.choices[data-type*=select-one] .choices__button:focus-visible:is(.dark *),.choices[data-type*=select-one] .choices__button:hover:is(.dark *){opacity:.6}.choices.is-disabled .choices__button,.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices__input{--tw-text-opacity:1;background-color:transparent!important;border-style:none;color:rgba(var(--gray-950),var(--tw-text-opacity,1));font-size:1rem!important;line-height:1.5rem!important;padding:0!important;transition-duration:75ms;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.choices__input::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.choices__input::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.choices__input:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.choices__input:disabled{--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-500),1);color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.choices__input:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.choices__input:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.choices__input:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1))}.choices__input:disabled:is(.dark *){--tw-text-opacity:1;-webkit-text-fill-color:rgba(var(--gray-400),1);color:rgba(var(--gray-400),var(--tw-text-opacity,1))}@media (min-width:640px){.choices__input{font-size:.875rem!important;line-height:1.5rem}}.choices__list--dropdown .choices__input{padding:.5rem!important}.choices__input::-webkit-search-cancel-button,.choices__input::-webkit-search-decoration,.choices__input::-webkit-search-results-button,.choices__input::-webkit-search-results-decoration{display:none}.choices__input::-ms-clear,.choices__input::-ms-reveal{display:none;height:0;width:0}.choices__group{--tw-text-opacity:1;color:rgba(var(--gray-500),var(--tw-text-opacity,1));padding:1rem .5rem .5rem}.choices__group:first-child{padding-top:.5rem}.choices__group:is(.dark *){--tw-text-opacity:1;color:rgba(var(--gray-400),var(--tw-text-opacity,1))}.webkit-calendar-picker-indicator\:opacity-0::-webkit-calendar-picker-indicator{opacity:0}/*! Bundled license information: cropperjs/dist/cropper.min.css: (*! - * Cropper.js v1.6.1 + * Cropper.js v1.6.2 * https://fengyuanchen.github.io/cropperjs * * Copyright 2015-present Chen Fengyuan * Released under the MIT license * - * Date: 2023-09-17T03:44:17.565Z + * Date: 2024-04-21T07:43:02.731Z *) filepond/dist/filepond.min.css: (*! - * FilePond 4.31.1 + * FilePond 4.32.8 * Licensed under MIT, https://opensource.org/licenses/MIT/ * Please visit https://pqina.nl/filepond/ for details. *) @@ -41,7 +41,7 @@ filepond-plugin-media-preview/dist/filepond-plugin-media-preview.css: easymde/dist/easymde.min.css: (** - * easymde v2.18.0 + * easymde v2.20.0 * Copyright Jeroen Akkerman * @link https://github.com/ionaru/easy-markdown-editor * @license MIT diff --git a/public/fonts/filament/filament/inter/index.css b/public/fonts/filament/filament/inter/index.css new file mode 100644 index 000000000..425213ef4 --- /dev/null +++ b/public/fonts/filament/filament/inter/index.css @@ -0,0 +1 @@ +@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 new file mode 100644 index 000000000..0ba164bb6 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2 new file mode 100644 index 000000000..de83a9c74 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-XKHXBTUO.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-XKHXBTUO.woff2 new file mode 100644 index 000000000..a61a0be57 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-cyrillic-ext-wght-normal-XKHXBTUO.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-EWLSKVKN.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-EWLSKVKN.woff2 new file mode 100644 index 000000000..83a6f10f2 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-EWLSKVKN.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-JEOLYBOO.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-JEOLYBOO.woff2 new file mode 100644 index 000000000..d75091476 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-JEOLYBOO.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 new file mode 100644 index 000000000..b655a4388 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-cyrillic-wght-normal-R5CMSONN.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-7GGTF7EK.woff2 b/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-7GGTF7EK.woff2 new file mode 100644 index 000000000..cf56a71f1 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-7GGTF7EK.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-EOVOK2B5.woff2 b/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-EOVOK2B5.woff2 new file mode 100644 index 000000000..6e7141f88 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-EOVOK2B5.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-ZEVLMORV.woff2 b/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-ZEVLMORV.woff2 new file mode 100644 index 000000000..9117b5b04 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-greek-ext-wght-normal-ZEVLMORV.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 b/public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 new file mode 100644 index 000000000..eb38b38ea Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-greek-wght-normal-AXVTPQD5.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-greek-wght-normal-IRE366VL.woff2 b/public/fonts/filament/filament/inter/inter-greek-wght-normal-IRE366VL.woff2 new file mode 100644 index 000000000..024f07703 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-greek-wght-normal-IRE366VL.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 b/public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 new file mode 100644 index 000000000..907b4a4d7 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-greek-wght-normal-N43DBLU2.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 new file mode 100644 index 000000000..887153b81 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-5SRY4DMZ.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 new file mode 100644 index 000000000..3df865d7f Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-GZCIV3NH.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-HA22NDSG.woff2 b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-HA22NDSG.woff2 new file mode 100644 index 000000000..479d010d2 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-latin-ext-wght-normal-HA22NDSG.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 b/public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 new file mode 100644 index 000000000..d15208de0 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-latin-wght-normal-NRMW37G5.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-latin-wght-normal-O25CN4JL.woff2 b/public/fonts/filament/filament/inter/inter-latin-wght-normal-O25CN4JL.woff2 new file mode 100644 index 000000000..798d6d9f6 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-latin-wght-normal-O25CN4JL.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 b/public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 new file mode 100644 index 000000000..40255432a Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-latin-wght-normal-OPIJAQLS.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 b/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 new file mode 100644 index 000000000..a40c4699c Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-CE5GGD3W.woff2 differ diff --git a/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-TWG5UU7E.woff2 b/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-TWG5UU7E.woff2 new file mode 100644 index 000000000..ce21ca172 Binary files /dev/null and b/public/fonts/filament/filament/inter/inter-vietnamese-wght-normal-TWG5UU7E.woff2 differ diff --git a/public/fonts/inter/Inter-Black.woff b/public/fonts/inter/Inter-Black.woff deleted file mode 100644 index a18593a09..000000000 Binary files a/public/fonts/inter/Inter-Black.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Black.woff2 b/public/fonts/inter/Inter-Black.woff2 deleted file mode 100644 index 68f64c9ed..000000000 Binary files a/public/fonts/inter/Inter-Black.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-BlackItalic.woff b/public/fonts/inter/Inter-BlackItalic.woff deleted file mode 100644 index b6b01943d..000000000 Binary files a/public/fonts/inter/Inter-BlackItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-BlackItalic.woff2 b/public/fonts/inter/Inter-BlackItalic.woff2 deleted file mode 100644 index 1c9c7ca8b..000000000 Binary files a/public/fonts/inter/Inter-BlackItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-Bold.woff b/public/fonts/inter/Inter-Bold.woff deleted file mode 100644 index eaf3d4bfd..000000000 Binary files a/public/fonts/inter/Inter-Bold.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Bold.woff2 b/public/fonts/inter/Inter-Bold.woff2 deleted file mode 100644 index 2846f29cc..000000000 Binary files a/public/fonts/inter/Inter-Bold.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-BoldItalic.woff b/public/fonts/inter/Inter-BoldItalic.woff deleted file mode 100644 index 327507616..000000000 Binary files a/public/fonts/inter/Inter-BoldItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-BoldItalic.woff2 b/public/fonts/inter/Inter-BoldItalic.woff2 deleted file mode 100644 index 0b1fe8e12..000000000 Binary files a/public/fonts/inter/Inter-BoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraBold.woff b/public/fonts/inter/Inter-ExtraBold.woff deleted file mode 100644 index c2c17edea..000000000 Binary files a/public/fonts/inter/Inter-ExtraBold.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraBold.woff2 b/public/fonts/inter/Inter-ExtraBold.woff2 deleted file mode 100644 index c24c2bdc2..000000000 Binary files a/public/fonts/inter/Inter-ExtraBold.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraBoldItalic.woff b/public/fonts/inter/Inter-ExtraBoldItalic.woff deleted file mode 100644 index c42f70526..000000000 Binary files a/public/fonts/inter/Inter-ExtraBoldItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraBoldItalic.woff2 b/public/fonts/inter/Inter-ExtraBoldItalic.woff2 deleted file mode 100644 index 4a81dc798..000000000 Binary files a/public/fonts/inter/Inter-ExtraBoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraLight.woff b/public/fonts/inter/Inter-ExtraLight.woff deleted file mode 100644 index d0de5f397..000000000 Binary files a/public/fonts/inter/Inter-ExtraLight.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraLight.woff2 b/public/fonts/inter/Inter-ExtraLight.woff2 deleted file mode 100644 index f2ea706fa..000000000 Binary files a/public/fonts/inter/Inter-ExtraLight.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraLightItalic.woff b/public/fonts/inter/Inter-ExtraLightItalic.woff deleted file mode 100644 index 81f1a28ef..000000000 Binary files a/public/fonts/inter/Inter-ExtraLightItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-ExtraLightItalic.woff2 b/public/fonts/inter/Inter-ExtraLightItalic.woff2 deleted file mode 100644 index 9af717ba9..000000000 Binary files a/public/fonts/inter/Inter-ExtraLightItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-Italic.woff b/public/fonts/inter/Inter-Italic.woff deleted file mode 100644 index a806b3820..000000000 Binary files a/public/fonts/inter/Inter-Italic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Italic.woff2 b/public/fonts/inter/Inter-Italic.woff2 deleted file mode 100644 index a619fc548..000000000 Binary files a/public/fonts/inter/Inter-Italic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-Light.woff b/public/fonts/inter/Inter-Light.woff deleted file mode 100644 index c496464d0..000000000 Binary files a/public/fonts/inter/Inter-Light.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Light.woff2 b/public/fonts/inter/Inter-Light.woff2 deleted file mode 100644 index bc4be6658..000000000 Binary files a/public/fonts/inter/Inter-Light.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-LightItalic.woff b/public/fonts/inter/Inter-LightItalic.woff deleted file mode 100644 index f84a9de35..000000000 Binary files a/public/fonts/inter/Inter-LightItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-LightItalic.woff2 b/public/fonts/inter/Inter-LightItalic.woff2 deleted file mode 100644 index 842b2dfcb..000000000 Binary files a/public/fonts/inter/Inter-LightItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-Medium.woff b/public/fonts/inter/Inter-Medium.woff deleted file mode 100644 index d546843f2..000000000 Binary files a/public/fonts/inter/Inter-Medium.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Medium.woff2 b/public/fonts/inter/Inter-Medium.woff2 deleted file mode 100644 index f92498a2e..000000000 Binary files a/public/fonts/inter/Inter-Medium.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-MediumItalic.woff b/public/fonts/inter/Inter-MediumItalic.woff deleted file mode 100644 index 459a65688..000000000 Binary files a/public/fonts/inter/Inter-MediumItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-MediumItalic.woff2 b/public/fonts/inter/Inter-MediumItalic.woff2 deleted file mode 100644 index 0e3019f4a..000000000 Binary files a/public/fonts/inter/Inter-MediumItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-Regular.woff b/public/fonts/inter/Inter-Regular.woff deleted file mode 100644 index 62d3a6187..000000000 Binary files a/public/fonts/inter/Inter-Regular.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Regular.woff2 b/public/fonts/inter/Inter-Regular.woff2 deleted file mode 100644 index 6c2b6893d..000000000 Binary files a/public/fonts/inter/Inter-Regular.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-SemiBold.woff b/public/fonts/inter/Inter-SemiBold.woff deleted file mode 100644 index a815f43a9..000000000 Binary files a/public/fonts/inter/Inter-SemiBold.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-SemiBold.woff2 b/public/fonts/inter/Inter-SemiBold.woff2 deleted file mode 100644 index 611e90c95..000000000 Binary files a/public/fonts/inter/Inter-SemiBold.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-SemiBoldItalic.woff b/public/fonts/inter/Inter-SemiBoldItalic.woff deleted file mode 100644 index 909e43a97..000000000 Binary files a/public/fonts/inter/Inter-SemiBoldItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-SemiBoldItalic.woff2 b/public/fonts/inter/Inter-SemiBoldItalic.woff2 deleted file mode 100644 index 545685bd2..000000000 Binary files a/public/fonts/inter/Inter-SemiBoldItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-Thin.woff b/public/fonts/inter/Inter-Thin.woff deleted file mode 100644 index 62bc58cd1..000000000 Binary files a/public/fonts/inter/Inter-Thin.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-Thin.woff2 b/public/fonts/inter/Inter-Thin.woff2 deleted file mode 100644 index abbc3a5c9..000000000 Binary files a/public/fonts/inter/Inter-Thin.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-ThinItalic.woff b/public/fonts/inter/Inter-ThinItalic.woff deleted file mode 100644 index 700a7f069..000000000 Binary files a/public/fonts/inter/Inter-ThinItalic.woff and /dev/null differ diff --git a/public/fonts/inter/Inter-ThinItalic.woff2 b/public/fonts/inter/Inter-ThinItalic.woff2 deleted file mode 100644 index ab0b2002a..000000000 Binary files a/public/fonts/inter/Inter-ThinItalic.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-italic.var.woff2 b/public/fonts/inter/Inter-italic.var.woff2 deleted file mode 100644 index b826d5af8..000000000 Binary files a/public/fonts/inter/Inter-italic.var.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter-roman.var.woff2 b/public/fonts/inter/Inter-roman.var.woff2 deleted file mode 100644 index 6a256a068..000000000 Binary files a/public/fonts/inter/Inter-roman.var.woff2 and /dev/null differ diff --git a/public/fonts/inter/Inter.var.woff2 b/public/fonts/inter/Inter.var.woff2 deleted file mode 100644 index 365eedc50..000000000 Binary files a/public/fonts/inter/Inter.var.woff2 and /dev/null differ diff --git a/public/fonts/inter/inter.css b/public/fonts/inter/inter.css deleted file mode 100644 index f45001012..000000000 --- a/public/fonts/inter/inter.css +++ /dev/null @@ -1,200 +0,0 @@ -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 100; - font-display: swap; - src: url("Inter-Thin.woff2?v=3.19") format("woff2"), - url("Inter-Thin.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 100; - font-display: swap; - src: url("Inter-ThinItalic.woff2?v=3.19") format("woff2"), - url("Inter-ThinItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 200; - font-display: swap; - src: url("Inter-ExtraLight.woff2?v=3.19") format("woff2"), - url("Inter-ExtraLight.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 200; - font-display: swap; - src: url("Inter-ExtraLightItalic.woff2?v=3.19") format("woff2"), - url("Inter-ExtraLightItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url("Inter-Light.woff2?v=3.19") format("woff2"), - url("Inter-Light.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url("Inter-LightItalic.woff2?v=3.19") format("woff2"), - url("Inter-LightItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url("Inter-Regular.woff2?v=3.19") format("woff2"), - url("Inter-Regular.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url("Inter-Italic.woff2?v=3.19") format("woff2"), - url("Inter-Italic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url("Inter-Medium.woff2?v=3.19") format("woff2"), - url("Inter-Medium.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 500; - font-display: swap; - src: url("Inter-MediumItalic.woff2?v=3.19") format("woff2"), - url("Inter-MediumItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url("Inter-SemiBold.woff2?v=3.19") format("woff2"), - url("Inter-SemiBold.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url("Inter-SemiBoldItalic.woff2?v=3.19") format("woff2"), - url("Inter-SemiBoldItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url("Inter-Bold.woff2?v=3.19") format("woff2"), - url("Inter-Bold.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url("Inter-BoldItalic.woff2?v=3.19") format("woff2"), - url("Inter-BoldItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url("Inter-ExtraBold.woff2?v=3.19") format("woff2"), - url("Inter-ExtraBold.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url("Inter-ExtraBoldItalic.woff2?v=3.19") format("woff2"), - url("Inter-ExtraBoldItalic.woff?v=3.19") format("woff"); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 900; - font-display: swap; - src: url("Inter-Black.woff2?v=3.19") format("woff2"), - url("Inter-Black.woff?v=3.19") format("woff"); -} -@font-face { - font-family: 'Inter'; - font-style: italic; - font-weight: 900; - font-display: swap; - src: url("Inter-BlackItalic.woff2?v=3.19") format("woff2"), - url("Inter-BlackItalic.woff?v=3.19") format("woff"); -} - -/* ------------------------------------------------------- -Variable font. -Usage: - - html { font-family: 'Inter', sans-serif; } - @supports (font-variation-settings: normal) { - html { font-family: 'Inter var', sans-serif; } - } -*/ -@font-face { - font-family: 'Inter var'; - font-weight: 100 900; - font-display: swap; - font-style: normal; - font-named-instance: 'Regular'; - src: url("Inter-roman.var.woff2?v=3.19") format("woff2"); -} -@font-face { - font-family: 'Inter var'; - font-weight: 100 900; - font-display: swap; - font-style: italic; - font-named-instance: 'Italic'; - src: url("Inter-italic.var.woff2?v=3.19") format("woff2"); -} - - -/* -------------------------------------------------------------------------- -[EXPERIMENTAL] Multi-axis, single variable font. - -Slant axis is not yet widely supported (as of February 2019) and thus this -multi-axis single variable font is opt-in rather than the default. - -When using this, you will probably need to set font-variation-settings -explicitly, e.g. - - * { font-variation-settings: "slnt" 0deg } - .italic { font-variation-settings: "slnt" 10deg } - -*/ -@font-face { - font-family: 'Inter var experimental'; - font-weight: 100 900; - font-display: swap; - font-style: oblique 0deg 10deg; - src: url("Inter.var.woff2?v=3.19") format("woff2"); -} diff --git a/public/index.php b/public/index.php index 1d69f3a28..ee8f07e99 100644 --- a/public/index.php +++ b/public/index.php @@ -1,55 +1,20 @@ make(Kernel::class); - -$response = $kernel->handle( - $request = Request::capture() -)->send(); - -$kernel->terminate($request, $response); +$app->handleRequest(Request::capture()); diff --git a/public/js/filament/actions/actions.js b/public/js/filament/actions/actions.js new file mode 100644 index 000000000..6e3eff221 --- /dev/null +++ b/public/js/filament/actions/actions.js @@ -0,0 +1 @@ +(()=>{var n=({livewireId:e})=>({actionNestingIndex:null,init(){window.addEventListener("sync-action-modals",t=>{t.detail.id===e&&this.syncActionModals(t.detail.newActionNestingIndex)})},syncActionModals(t){if(this.actionNestingIndex===t){this.actionNestingIndex!==null&&this.$nextTick(()=>this.openModal());return}if(this.actionNestingIndex!==null&&this.closeModal(),this.actionNestingIndex=t,this.actionNestingIndex!==null){if(!this.$el.querySelector(`#${this.generateModalId(t)}`)){this.$nextTick(()=>this.openModal());return}this.openModal()}},generateModalId(t){return`fi-${e}-action-`+t},openModal(){let t=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("open-modal",{bubbles:!0,composed:!0,detail:{id:t}}))},closeModal(){let t=this.generateModalId(this.actionNestingIndex);document.dispatchEvent(new CustomEvent("close-modal-quietly",{bubbles:!0,composed:!0,detail:{id:t}}))}});document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentActionModals",n)});})(); diff --git a/public/js/filament/filament/app.js b/public/js/filament/filament/app.js index 1ea8686be..b326b674e 100644 --- a/public/js/filament/filament/app.js +++ b/public/js/filament/filament/app.js @@ -1 +1 @@ -(()=>{var Z=Object.create,L=Object.defineProperty,ee=Object.getPrototypeOf,te=Object.prototype.hasOwnProperty,re=Object.getOwnPropertyNames,ne=Object.getOwnPropertyDescriptor,ae=s=>L(s,"__esModule",{value:!0}),ie=(s,n)=>()=>(n||(n={exports:{}},s(n.exports,n)),n.exports),oe=(s,n,p)=>{if(n&&typeof n=="object"||typeof n=="function")for(let d of re(n))!te.call(s,d)&&d!=="default"&&L(s,d,{get:()=>n[d],enumerable:!(p=ne(n,d))||p.enumerable});return s},se=s=>oe(ae(L(s!=null?Z(ee(s)):{},"default",s&&s.__esModule&&"default"in s?{get:()=>s.default,enumerable:!0}:{value:s,enumerable:!0})),s),fe=ie((s,n)=>{(function(p,d,M){if(!p)return;for(var h={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},y={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},g={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},q={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},S,w=1;w<20;++w)h[111+w]="f"+w;for(w=0;w<=9;++w)h[w+96]=w.toString();function C(e,t,a){if(e.addEventListener){e.addEventListener(t,a,!1);return}e.attachEvent("on"+t,a)}function T(e){if(e.type=="keypress"){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return h[e.which]?h[e.which]:y[e.which]?y[e.which]:String.fromCharCode(e.which).toLowerCase()}function V(e,t){return e.sort().join(",")===t.sort().join(",")}function $(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function B(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function H(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function O(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function J(){if(!S){S={};for(var e in h)e>95&&e<112||h.hasOwnProperty(e)&&(S[h[e]]=e)}return S}function U(e,t,a){return a||(a=J()[e]?"keydown":"keypress"),a=="keypress"&&t.length&&(a="keydown"),a}function X(e){return e==="+"?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function I(e,t){var a,c,b,P=[];for(a=X(e),b=0;b1){z(r,m,o,l);return}f=I(r,l),t._callbacks[f.key]=t._callbacks[f.key]||[],j(f.key,f.modifiers,{type:f.action},i,r,u),t._callbacks[f.key][i?"unshift":"push"]({callback:o,modifiers:f.modifiers,action:f.action,seq:i,level:u,combo:r})}t._bindMultiple=function(r,o,l){for(var i=0;i-1||D(t,a.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var c=e.composedPath()[0];c!==e.target&&(t=c)}return t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.isContentEditable},v.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},v.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(h[t]=e[t]);S=null},v.init=function(){var e=v(d);for(var t in e)t.charAt(0)!=="_"&&(v[t]=function(a){return function(){return e[a].apply(e,arguments)}}(t))},v.init(),p.Mousetrap=v,typeof n<"u"&&n.exports&&(n.exports=v),typeof define=="function"&&define.amd&&define(function(){return v})})(typeof window<"u"?window:null,typeof window<"u"?document:null)}),R=se(fe());(function(s){if(s){var n={},p=s.prototype.stopCallback;s.prototype.stopCallback=function(d,M,h,y){var g=this;return g.paused?!0:n[h]||n[y]?!1:p.call(g,d,M,h)},s.prototype.bindGlobal=function(d,M,h){var y=this;if(y.bind(d,M,h),d instanceof Array){for(var g=0;g{s.directive("mousetrap",(n,{modifiers:p,expression:d},{evaluate:M})=>{let h=()=>d?M(d):n.click();p=p.map(y=>y.replace("-","+")),p.includes("global")&&(p=p.filter(y=>y!=="global"),R.default.bindGlobal(p,y=>{y.preventDefault(),h()})),R.default.bind(p,y=>{y.preventDefault(),h()})})},F=le;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(F),window.Alpine.store("sidebar",{isOpen:window.Alpine.$persist(!0).as("isOpen"),collapsedGroups:window.Alpine.$persist(null).as("collapsedGroups"),groupIsCollapsed:function(n){return this.collapsedGroups.includes(n)},collapseGroup:function(n){this.collapsedGroups.includes(n)||(this.collapsedGroups=this.collapsedGroups.concat(n))},toggleCollapsedGroup:function(n){this.collapsedGroups=this.collapsedGroups.includes(n)?this.collapsedGroups.filter(p=>p!==n):this.collapsedGroups.concat(n)},close:function(){this.isOpen=!1},open:function(){this.isOpen=!0}});let s=localStorage.getItem("theme")??getComputedStyle(document.documentElement).getPropertyValue("--default-theme-mode");window.Alpine.store("theme",s==="dark"||s==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("theme-changed",n=>{let p=n.detail;localStorage.setItem("theme",p),p==="system"&&(p=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.Alpine.store("theme",p)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{localStorage.getItem("theme")==="system"&&window.Alpine.store("theme",n.matches?"dark":"light")}),window.Alpine.effect(()=>{window.Alpine.store("theme")==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")})});})(); +(()=>{var re=Object.create,x=Object.defineProperty,ne=Object.getPrototypeOf,ie=Object.prototype.hasOwnProperty,ae=Object.getOwnPropertyNames,se=Object.getOwnPropertyDescriptor,oe=t=>x(t,"__esModule",{value:!0}),le=(t,n)=>()=>(n||(n={exports:{}},t(n.exports,n)),n.exports),fe=(t,n,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of ae(n))!ie.call(t,l)&&l!=="default"&&x(t,l,{get:()=>n[l],enumerable:!(i=se(n,l))||i.enumerable});return t},ue=t=>fe(oe(x(t!=null?re(ne(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),pe=le((t,n)=>{(function(i,l,y){if(!i)return;for(var c={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},_={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},g={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},G={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},A,b=1;b<20;++b)c[111+b]="f"+b;for(b=0;b<=9;++b)c[b+96]=b.toString();function P(e,r,s){if(e.addEventListener){e.addEventListener(r,s,!1);return}e.attachEvent("on"+r,s)}function T(e){if(e.type=="keypress"){var r=String.fromCharCode(e.which);return e.shiftKey||(r=r.toLowerCase()),r}return c[e.which]?c[e.which]:_[e.which]?_[e.which]:String.fromCharCode(e.which).toLowerCase()}function J(e,r){return e.sort().join(",")===r.sort().join(",")}function H(e){var r=[];return e.shiftKey&&r.push("shift"),e.altKey&&r.push("alt"),e.ctrlKey&&r.push("ctrl"),e.metaKey&&r.push("meta"),r}function F(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function B(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function C(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function X(){if(!A){A={};for(var e in c)e>95&&e<112||c.hasOwnProperty(e)&&(A[c[e]]=e)}return A}function Y(e,r,s){return s||(s=X()[e]?"keydown":"keypress"),s=="keypress"&&r.length&&(s="keydown"),s}function Q(e){return e==="+"?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function R(e,r){var s,h,k,S=[];for(s=Q(e),k=0;k1){$(a,m,f,p);return}u=R(a,p),r._callbacks[u.key]=r._callbacks[u.key]||[],z(u.key,u.modifiers,{type:u.action},o,a,d),r._callbacks[u.key][o?"unshift":"push"]({callback:f,modifiers:u.modifiers,action:u.action,seq:o,level:d,combo:a})}r._bindMultiple=function(a,f,p){for(var o=0;o-1||I(r,s.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var h=e.composedPath()[0];h!==e.target&&(r=h)}return r.tagName=="INPUT"||r.tagName=="SELECT"||r.tagName=="TEXTAREA"||r.isContentEditable},v.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},v.addKeycodes=function(e){for(var r in e)e.hasOwnProperty(r)&&(c[r]=e[r]);A=null},v.init=function(){var e=v(l);for(var r in e)r.charAt(0)!=="_"&&(v[r]=(function(s){return function(){return e[s].apply(e,arguments)}})(r))},v.init(),i.Mousetrap=v,typeof n<"u"&&n.exports&&(n.exports=v),typeof define=="function"&&define.amd&&define(function(){return v})})(typeof window<"u"?window:null,typeof window<"u"?document:null)}),q=ue(pe());(function(t){if(t){var n={},i=t.prototype.stopCallback;t.prototype.stopCallback=function(l,y,c,_){var g=this;return g.paused?!0:n[c]||n[_]?!1:i.call(g,l,y,c)},t.prototype.bindGlobal=function(l,y,c){var _=this;if(_.bind(l,y,c),l instanceof Array){for(var g=0;gArray.from(document.querySelectorAll('[aria-modal="true"]')).find(t=>window.getComputedStyle(t).display!=="none"),ce=t=>{t.directive("mousetrap",(n,{modifiers:i,expression:l},{evaluate:y})=>{let c=()=>l?y(l):n.click();i=i.map(_=>_.replace(/--/g," ").replace(/-/g,"+").replace(/\bslash\b/g,"/")),i.includes("global")&&(i=i.filter(_=>_!=="global"),q.default.bindGlobal(i,_=>{let g=W();g&&!g.contains(n)||(_.preventDefault(),c())})),q.default.bind(i,_=>{let g=W();g&&!g.contains(n)||(_.preventDefault(),c())}),document.addEventListener("livewire:navigating",()=>{q.default.unbind(i)},{once:!0})})},j=ce;var V=()=>({isOpen:window.Alpine.$persist(!0).as("isOpen"),isOpenDesktop:window.Alpine.$persist(!0).as("isOpenDesktop"),collapsedGroups:window.Alpine.$persist(null).as("collapsedGroups"),init(){this.resizeObserver=null,this.setUpResizeObserver(),document.addEventListener("livewire:navigated",()=>{this.setUpResizeObserver()})},setUpResizeObserver(){this.resizeObserver&&this.resizeObserver.disconnect();let t=window.innerWidth;this.resizeObserver=new ResizeObserver(()=>{let n=window.innerWidth,i=t>=1024,l=n<1024,y=n>=1024;i&&l?(this.isOpenDesktop=this.isOpen,this.isOpen&&this.close()):!i&&y&&(this.isOpen=this.isOpenDesktop),t=n}),this.resizeObserver.observe(document.body),window.innerWidth<1024?this.isOpen&&(this.isOpenDesktop=!0,this.close()):this.isOpenDesktop=this.isOpen},groupIsCollapsed(t){return this.collapsedGroups.includes(t)},collapseGroup(t){this.collapsedGroups.includes(t)||(this.collapsedGroups=this.collapsedGroups.concat(t))},toggleCollapsedGroup(t){this.collapsedGroups=this.collapsedGroups.includes(t)?this.collapsedGroups.filter(n=>n!==t):this.collapsedGroups.concat(t)},close(){this.isOpen=!1,window.innerWidth>=1024&&(this.isOpenDesktop=!1)},open(){this.isOpen=!0,window.innerWidth>=1024&&(this.isOpenDesktop=!0)}});document.addEventListener("alpine:init",()=>{let t=localStorage.getItem("theme")??getComputedStyle(document.documentElement).getPropertyValue("--default-theme-mode");window.Alpine.store("theme",t==="dark"||t==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("theme-changed",n=>{let i=n.detail;localStorage.setItem("theme",i),i==="system"&&(i=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.Alpine.store("theme",i)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{localStorage.getItem("theme")==="system"&&window.Alpine.store("theme",n.matches?"dark":"light")}),window.Alpine.effect(()=>{window.Alpine.store("theme")==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")})});var U=window.history.replaceState,de=window.history.pushState;window.history.replaceState=function(t,n,i){t?.url instanceof URL&&(t.url=t.url.toString());let l=i||t?.url||window.location.href,y=window.location.href;if(l!==y){U.call(window.history,t,n,i);return}try{let c=window.history.state;JSON.stringify(t)!==JSON.stringify(c)&&U.call(window.history,t,n,i)}catch{U.call(window.history,t,n,i)}};window.history.pushState=function(t,n,i){t?.url instanceof URL&&(t.url=t.url.toString()),de.call(window.history,t,n,i)};document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{let t=document.querySelector(".fi-main-sidebar .fi-sidebar-item.fi-active");if((!t||t.offsetParent===null)&&(t=document.querySelector(".fi-main-sidebar .fi-sidebar-group.fi-active")),!t||t.offsetParent===null)return;let n=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");n&&n.scrollTo(0,t.offsetTop-window.innerHeight/2)},10)});window.setUpUnsavedDataChangesAlert=({body:t,livewireComponent:n,$wire:i})=>{window.addEventListener("beforeunload",l=>{window.jsMd5(JSON.stringify(i.data).replace(/\\/g,""))===i.savedDataHash||i?.__instance?.effects?.redirect||(l.preventDefault(),l.returnValue=!0)})};window.setUpSpaModeUnsavedDataChangesAlert=({body:t,resolveLivewireComponentUsing:n,$wire:i})=>{let l=()=>i?.__instance?.effects?.redirect?!1:window.jsMd5(JSON.stringify(i.data).replace(/\\/g,""))!==i.savedDataHash,y=()=>confirm(t);document.addEventListener("livewire:navigate",c=>{if(typeof n()<"u"){if(!l()||y())return;c.preventDefault()}}),window.addEventListener("beforeunload",c=>{l()&&(c.preventDefault(),c.returnValue=!0)})};window.setUpUnsavedActionChangesAlert=({resolveLivewireComponentUsing:t,$wire:n})=>{window.addEventListener("beforeunload",i=>{if(!(typeof t()>"u")&&(n.mountedActions?.length??0)&&!n?.__instance?.effects?.redirect){i.preventDefault(),i.returnValue=!0;return}})};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(j),window.Alpine.store("sidebar",V())});})(); diff --git a/public/js/filament/filament/echo.js b/public/js/filament/filament/echo.js index f1a9a28c7..4b2d09b6e 100644 --- a/public/js/filament/filament/echo.js +++ b/public/js/filament/filament/echo.js @@ -1,5 +1,5 @@ -(()=>{var ki=Object.create;var he=Object.defineProperty;var Si=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames;var Ti=Object.getPrototypeOf,Pi=Object.prototype.hasOwnProperty;var xi=(l,h)=>()=>(h||l((h={exports:{}}).exports,h),h.exports);var Oi=(l,h,a,c)=>{if(h&&typeof h=="object"||typeof h=="function")for(let s of Ci(h))!Pi.call(l,s)&&s!==a&&he(l,s,{get:()=>h[s],enumerable:!(c=Si(h,s))||c.enumerable});return l};var Ai=(l,h,a)=>(a=l!=null?ki(Ti(l)):{},Oi(h||!l||!l.__esModule?he(a,"default",{value:l,enumerable:!0}):a,l));var _e=xi((yt,It)=>{(function(h,a){typeof yt=="object"&&typeof It=="object"?It.exports=a():typeof define=="function"&&define.amd?define([],a):typeof yt=="object"?yt.Pusher=a():h.Pusher=a()})(window,function(){return function(l){var h={};function a(c){if(h[c])return h[c].exports;var s=h[c]={i:c,l:!1,exports:{}};return l[c].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=l,a.c=h,a.d=function(c,s,f){a.o(c,s)||Object.defineProperty(c,s,{enumerable:!0,get:f})},a.r=function(c){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},a.t=function(c,s){if(s&1&&(c=a(c)),s&8||s&4&&typeof c=="object"&&c&&c.__esModule)return c;var f=Object.create(null);if(a.r(f),Object.defineProperty(f,"default",{enumerable:!0,value:c}),s&2&&typeof c!="string")for(var d in c)a.d(f,d,function(N){return c[N]}.bind(null,d));return f},a.n=function(c){var s=c&&c.__esModule?function(){return c.default}:function(){return c};return a.d(s,"a",s),s},a.o=function(c,s){return Object.prototype.hasOwnProperty.call(c,s)},a.p="",a(a.s=2)}([function(l,h,a){"use strict";var c=this&&this.__extends||function(){var b=function(v,y){return b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(w,O){w.__proto__=O}||function(w,O){for(var I in O)O.hasOwnProperty(I)&&(w[I]=O[I])},b(v,y)};return function(v,y){b(v,y);function w(){this.constructor=v}v.prototype=y===null?Object.create(y):(w.prototype=y.prototype,new w)}}();Object.defineProperty(h,"__esModule",{value:!0});var s=256,f=function(){function b(v){v===void 0&&(v="="),this._paddingCharacter=v}return b.prototype.encodedLength=function(v){return this._paddingCharacter?(v+2)/3*4|0:(v*8+5)/6|0},b.prototype.encode=function(v){for(var y="",w=0;w>>3*6&63),y+=this._encodeByte(O>>>2*6&63),y+=this._encodeByte(O>>>1*6&63),y+=this._encodeByte(O>>>0*6&63)}var I=v.length-w;if(I>0){var O=v[w]<<16|(I===2?v[w+1]<<8:0);y+=this._encodeByte(O>>>3*6&63),y+=this._encodeByte(O>>>2*6&63),I===2?y+=this._encodeByte(O>>>1*6&63):y+=this._paddingCharacter||"",y+=this._paddingCharacter||""}return y},b.prototype.maxDecodedLength=function(v){return this._paddingCharacter?v/4*3|0:(v*6+7)/8|0},b.prototype.decodedLength=function(v){return this.maxDecodedLength(v.length-this._getPaddingLength(v))},b.prototype.decode=function(v){if(v.length===0)return new Uint8Array(0);for(var y=this._getPaddingLength(v),w=v.length-y,O=new Uint8Array(this.maxDecodedLength(w)),I=0,q=0,M=0,J=0,F=0,z=0,B=0;q>>4,O[I++]=F<<4|z>>>2,O[I++]=z<<6|B,M|=J&s,M|=F&s,M|=z&s,M|=B&s;if(q>>4,M|=J&s,M|=F&s),q>>2,M|=z&s),q>>8&0-65-26+97,y+=51-v>>>8&26-97-52+48,y+=61-v>>>8&52-48-62+43,y+=62-v>>>8&62-43-63+47,String.fromCharCode(y)},b.prototype._decodeChar=function(v){var y=s;return y+=(42-v&v-44)>>>8&-s+v-43+62,y+=(46-v&v-48)>>>8&-s+v-47+63,y+=(47-v&v-58)>>>8&-s+v-48+52,y+=(64-v&v-91)>>>8&-s+v-65+0,y+=(96-v&v-123)>>>8&-s+v-97+26,y},b.prototype._getPaddingLength=function(v){var y=0;if(this._paddingCharacter){for(var w=v.length-1;w>=0&&v[w]===this._paddingCharacter;w--)y++;if(v.length<4||y>2)throw new Error("Base64Coder: incorrect padding")}return y},b}();h.Coder=f;var d=new f;function N(b){return d.encode(b)}h.encode=N;function P(b){return d.decode(b)}h.decode=P;var T=function(b){c(v,b);function v(){return b!==null&&b.apply(this,arguments)||this}return v.prototype._encodeByte=function(y){var w=y;return w+=65,w+=25-y>>>8&0-65-26+97,w+=51-y>>>8&26-97-52+48,w+=61-y>>>8&52-48-62+45,w+=62-y>>>8&62-45-63+95,String.fromCharCode(w)},v.prototype._decodeChar=function(y){var w=s;return w+=(44-y&y-46)>>>8&-s+y-45+62,w+=(94-y&y-96)>>>8&-s+y-95+63,w+=(47-y&y-58)>>>8&-s+y-48+52,w+=(64-y&y-91)>>>8&-s+y-65+0,w+=(96-y&y-123)>>>8&-s+y-97+26,w},v}(f);h.URLSafeCoder=T;var S=new T;function C(b){return S.encode(b)}h.encodeURLSafe=C;function x(b){return S.decode(b)}h.decodeURLSafe=x,h.encodedLength=function(b){return d.encodedLength(b)},h.maxDecodedLength=function(b){return d.maxDecodedLength(b)},h.decodedLength=function(b){return d.decodedLength(b)}},function(l,h,a){"use strict";Object.defineProperty(h,"__esModule",{value:!0});var c="utf8: invalid string",s="utf8: invalid source encoding";function f(P){for(var T=new Uint8Array(d(P)),S=0,C=0;C>6,T[S++]=128|x&63):x<55296?(T[S++]=224|x>>12,T[S++]=128|x>>6&63,T[S++]=128|x&63):(C++,x=(x&1023)<<10,x|=P.charCodeAt(C)&1023,x+=65536,T[S++]=240|x>>18,T[S++]=128|x>>12&63,T[S++]=128|x>>6&63,T[S++]=128|x&63)}return T}h.encode=f;function d(P){for(var T=0,S=0;S=P.length-1)throw new Error(c);S++,T+=4}else throw new Error(c)}return T}h.encodedLength=d;function N(P){for(var T=[],S=0;S=P.length)throw new Error(s);var b=P[++S];if((b&192)!==128)throw new Error(s);C=(C&31)<<6|b&63,x=128}else if(C<240){if(S>=P.length-1)throw new Error(s);var b=P[++S],v=P[++S];if((b&192)!==128||(v&192)!==128)throw new Error(s);C=(C&15)<<12|(b&63)<<6|v&63,x=2048}else if(C<248){if(S>=P.length-2)throw new Error(s);var b=P[++S],v=P[++S],y=P[++S];if((b&192)!==128||(v&192)!==128||(y&192)!==128)throw new Error(s);C=(C&15)<<18|(b&63)<<12|(v&63)<<6|y&63,x=65536}else throw new Error(s);if(C=55296&&C<=57343)throw new Error(s);if(C>=65536){if(C>1114111)throw new Error(s);C-=65536,T.push(String.fromCharCode(55296|C>>10)),C=56320|C&1023}}T.push(String.fromCharCode(C))}return T.join("")}h.decode=N},function(l,h,a){l.exports=a(3).default},function(l,h,a){"use strict";a.r(h);var c=function(){function e(t,n){this.lastId=0,this.prefix=t,this.name=n}return e.prototype.create=function(t){this.lastId++;var n=this.lastId,r=this.prefix+n,i=this.name+"["+n+"]",o=!1,u=function(){o||(t.apply(null,arguments),o=!0)};return this[n]=u,{number:n,id:r,name:i,callback:u}},e.prototype.remove=function(t){delete this[t.number]},e}(),s=new c("_pusher_script_","Pusher.ScriptReceivers"),f={VERSION:"7.6.0",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,cluster:"mt1",userAuthentication:{endpoint:"/pusher/user-auth",transport:"ajax"},channelAuthorization:{endpoint:"/pusher/auth",transport:"ajax"},cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},d=f,N=function(){function e(t){this.options=t,this.receivers=t.receivers||s,this.loading={}}return e.prototype.load=function(t,n,r){var i=this;if(i.loading[t]&&i.loading[t].length>0)i.loading[t].push(r);else{i.loading[t]=[r];var o=m.createScriptRequest(i.getPath(t,n)),u=i.receivers.create(function(p){if(i.receivers.remove(u),i.loading[t]){var _=i.loading[t];delete i.loading[t];for(var g=function(E){E||o.cleanup()},k=0;k<_.length;k++)_[k](p,g)}});o.send(u)}},e.prototype.getRoot=function(t){var n,r=m.getDocument().location.protocol;return t&&t.useTLS||r==="https:"?n=this.options.cdn_https:n=this.options.cdn_http,n.replace(/\/*$/,"")+"/"+this.options.version},e.prototype.getPath=function(t,n){return this.getRoot(n)+"/"+t+this.options.suffix+".js"},e}(),P=N,T=new c("_pusher_dependencies","Pusher.DependenciesReceivers"),S=new P({cdn_http:d.cdn_http,cdn_https:d.cdn_https,version:d.VERSION,suffix:d.dependency_suffix,receivers:T}),C={baseUrl:"https://pusher.com",urls:{authenticationEndpoint:{path:"/docs/channels/server_api/authenticating_users"},authorizationEndpoint:{path:"/docs/channels/server_api/authorizing-users/"},javascriptQuickStart:{path:"/docs/javascript_quick_start"},triggeringClientEvents:{path:"/docs/client_api_guide/client_events#trigger-events"},encryptedChannelSupport:{fullUrl:"https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support"}}},x=function(e){var t="See:",n=C.urls[e];if(!n)return"";var r;return n.fullUrl?r=n.fullUrl:n.path&&(r=C.baseUrl+n.path),r?t+" "+r:""},b={buildLogSuffix:x},v;(function(e){e.UserAuthentication="user-authentication",e.ChannelAuthorization="channel-authorization"})(v||(v={}));var y=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),w=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),O=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),I=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),q=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),M=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),J=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),F=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),z=function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t}(Error),B=function(e){y(t,e);function t(n,r){var i=this.constructor,o=e.call(this,r)||this;return o.status=n,Object.setPrototypeOf(o,i.prototype),o}return t}(Error),me=function(e,t,n,r,i){var o=m.createXHR();o.open("POST",n.endpoint,!0),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var u in n.headers)o.setRequestHeader(u,n.headers[u]);if(n.headersProvider!=null){var p=n.headersProvider();for(var u in p)o.setRequestHeader(u,p[u])}return o.onreadystatechange=function(){if(o.readyState===4)if(o.status===200){var _=void 0,g=!1;try{_=JSON.parse(o.responseText),g=!0}catch{i(new B(200,"JSON returned from "+r.toString()+" endpoint was invalid, yet status code was 200. Data was: "+o.responseText),null)}g&&i(null,_)}else{var k="";switch(r){case v.UserAuthentication:k=b.buildLogSuffix("authenticationEndpoint");break;case v.ChannelAuthorization:k="Clients must be authorized to join private or presence channels. "+b.buildLogSuffix("authorizationEndpoint");break}i(new B(o.status,"Unable to retrieve auth string from "+r.toString()+" endpoint - "+("received status: "+o.status+" from "+n.endpoint+". "+k)),null)}},o.send(t),o},we=me;function ke(e){return Oe(Pe(e))}for(var nt=String.fromCharCode,Z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Se={},at=0,Ce=Z.length;at>>6)+nt(128|t&63):nt(224|t>>>12&15)+nt(128|t>>>6&63)+nt(128|t&63)},Pe=function(e){return e.replace(/[^\x00-\x7F]/g,Te)},xe=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0),r=[Z.charAt(n>>>18),Z.charAt(n>>>12&63),t>=2?"=":Z.charAt(n>>>6&63),t>=1?"=":Z.charAt(n&63)];return r.join("")},Oe=window.btoa||function(e){return e.replace(/[\s\S]{1,3}/g,xe)},Ae=function(){function e(t,n,r,i){var o=this;this.clear=n,this.timer=t(function(){o.timer&&(o.timer=i(o.timer))},r)}return e.prototype.isRunning=function(){return this.timer!==null},e.prototype.ensureAborted=function(){this.timer&&(this.clear(this.timer),this.timer=null)},e}(),jt=Ae,Nt=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();function Ee(e){window.clearTimeout(e)}function Le(e){window.clearInterval(e)}var Q=function(e){Nt(t,e);function t(n,r){return e.call(this,setTimeout,Ee,n,function(i){return r(),null})||this}return t}(jt),Re=function(e){Nt(t,e);function t(n,r){return e.call(this,setInterval,Le,n,function(i){return r(),i})||this}return t}(jt),Ie={now:function(){return Date.now?Date.now():new Date().valueOf()},defer:function(e){return new Q(0,e)},method:function(e){for(var t=[],n=1;n0)for(var i=0;i=1002&&e.code<=1004?"backoff":null:e.code===4e3?"tls_only":e.code<4100?"refused":e.code<4200?"backoff":e.code<4300?"retry":"refused"},getCloseError:function(e){return e.code!==1e3&&e.code!==1001?{type:"PusherError",data:{code:e.code,message:e.reason||e.message}}:null}},K=Vt,kn=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Sn=function(e){kn(t,e);function t(n,r){var i=e.call(this)||this;return i.id=n,i.transport=r,i.activityTimeout=r.activityTimeout,i.bindListeners(),i}return t.prototype.handlesActivityChecks=function(){return this.transport.handlesActivityChecks()},t.prototype.send=function(n){return this.transport.send(n)},t.prototype.send_event=function(n,r,i){var o={event:n,data:r};return i&&(o.channel=i),A.debug("Event sent",o),this.send(K.encodeMessage(o))},t.prototype.ping=function(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})},t.prototype.close=function(){this.transport.close()},t.prototype.bindListeners=function(){var n=this,r={message:function(o){var u;try{u=K.decodeMessage(o)}catch(p){n.emit("error",{type:"MessageParseError",error:p,data:o.data})}if(u!==void 0){switch(A.debug("Event recd",u),u.event){case"pusher:error":n.emit("error",{type:"PusherError",data:u.data});break;case"pusher:ping":n.emit("ping");break;case"pusher:pong":n.emit("pong");break}n.emit("message",u)}},activity:function(){n.emit("activity")},error:function(o){n.emit("error",o)},closed:function(o){i(),o&&o.code&&n.handleCloseEvent(o),n.transport=null,n.emit("closed")}},i=function(){W(r,function(o,u){n.transport.unbind(u,o)})};W(r,function(o,u){n.transport.bind(u,o)})},t.prototype.handleCloseEvent=function(n){var r=K.getCloseAction(n),i=K.getCloseError(n);i&&this.emit("error",i),r&&this.emit(r,{action:r,error:i})},t}(V),Cn=Sn,Tn=function(){function e(t,n){this.transport=t,this.callback=n,this.bindListeners()}return e.prototype.close=function(){this.unbindListeners(),this.transport.close()},e.prototype.bindListeners=function(){var t=this;this.onMessage=function(n){t.unbindListeners();var r;try{r=K.processHandshake(n)}catch(i){t.finish("error",{error:i}),t.transport.close();return}r.action==="connected"?t.finish("connected",{connection:new Cn(r.id,t.transport),activityTimeout:r.activityTimeout}):(t.finish(r.action,{error:r.error}),t.transport.close())},this.onClosed=function(n){t.unbindListeners();var r=K.getCloseAction(n)||"backoff",i=K.getCloseError(n);t.finish(r,{error:i})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)},e.prototype.unbindListeners=function(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)},e.prototype.finish=function(t,n){this.callback(U({transport:this.transport,action:t},n))},e}(),Pn=Tn,xn=function(){function e(t,n){this.timeline=t,this.options=n||{}}return e.prototype.send=function(t,n){this.timeline.isEmpty()||this.timeline.send(m.TimelineTransport.getAgent(this,t),n)},e}(),On=xn,An=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),En=function(e){An(t,e);function t(n,r){var i=e.call(this,function(o,u){A.debug("No callbacks on "+n+" for "+o)})||this;return i.name=n,i.pusher=r,i.subscribed=!1,i.subscriptionPending=!1,i.subscriptionCancelled=!1,i}return t.prototype.authorize=function(n,r){return r(null,{auth:""})},t.prototype.trigger=function(n,r){if(n.indexOf("client-")!==0)throw new w("Event '"+n+"' does not start with 'client-'");if(!this.subscribed){var i=b.buildLogSuffix("triggeringClientEvents");A.warn("Client event triggered before channel 'subscription_succeeded' event . "+i)}return this.pusher.send_event(n,r,this.name)},t.prototype.disconnect=function(){this.subscribed=!1,this.subscriptionPending=!1},t.prototype.handleEvent=function(n){var r=n.event,i=n.data;if(r==="pusher_internal:subscription_succeeded")this.handleSubscriptionSucceededEvent(n);else if(r==="pusher_internal:subscription_count")this.handleSubscriptionCountEvent(n);else if(r.indexOf("pusher_internal:")!==0){var o={};this.emit(r,i,o)}},t.prototype.handleSubscriptionSucceededEvent=function(n){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",n.data)},t.prototype.handleSubscriptionCountEvent=function(n){n.data.subscription_count&&(this.subscriptionCount=n.data.subscription_count),this.emit("pusher:subscription_count",n.data)},t.prototype.subscribe=function(){var n=this;this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,function(r,i){r?(n.subscriptionPending=!1,A.error(r.toString()),n.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof B?{status:r.status}:{}))):n.pusher.send_event("pusher:subscribe",{auth:i.auth,channel_data:i.channel_data,channel:n.name})}))},t.prototype.unsubscribe=function(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})},t.prototype.cancelSubscription=function(){this.subscriptionCancelled=!0},t.prototype.reinstateSubscription=function(){this.subscriptionCancelled=!1},t}(V),mt=En,Ln=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),Rn=function(e){Ln(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.authorize=function(n,r){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:n},r)},t}(mt),wt=Rn,In=function(){function e(){this.reset()}return e.prototype.get=function(t){return Object.prototype.hasOwnProperty.call(this.members,t)?{id:t,info:this.members[t]}:null},e.prototype.each=function(t){var n=this;W(this.members,function(r,i){t(n.get(i))})},e.prototype.setMyID=function(t){this.myID=t},e.prototype.onSubscription=function(t){this.members=t.presence.hash,this.count=t.presence.count,this.me=this.get(this.myID)},e.prototype.addMember=function(t){return this.get(t.user_id)===null&&this.count++,this.members[t.user_id]=t.user_info,this.get(t.user_id)},e.prototype.removeMember=function(t){var n=this.get(t.user_id);return n&&(delete this.members[t.user_id],this.count--),n},e.prototype.reset=function(){this.members={},this.count=0,this.myID=null,this.me=null},e}(),jn=In,Nn=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),qn=function(e,t,n,r){function i(o){return o instanceof n?o:new n(function(u){u(o)})}return new(n||(n=Promise))(function(o,u){function p(k){try{g(r.next(k))}catch(E){u(E)}}function _(k){try{g(r.throw(k))}catch(E){u(E)}}function g(k){k.done?o(k.value):i(k.value).then(p,_)}g((r=r.apply(e,t||[])).next())})},Un=function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,u;return u={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function p(g){return function(k){return _([g,k])}}function _(g){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=g[0]&2?i.return:g[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,g[1])).done)return o;switch(i=0,o&&(g=[g[0]&2,o.value]),g[0]){case 0:case 1:o=g;break;case 4:return n.label++,{value:g[1],done:!1};case 5:n.label++,i=g[1],g=[0];continue;case 7:g=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(g[0]===6||g[0]===2)){n=0;continue}if(g[0]===3&&(!o||g[1]>o[0]&&g[1]0&&this.emit("connecting_in",Math.round(n/1e3)),this.retryTimer=new Q(n||0,function(){r.disconnectInternally(),r.connect()})},t.prototype.clearRetryTimer=function(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)},t.prototype.setUnavailableTimer=function(){var n=this;this.unavailableTimer=new Q(this.options.unavailableTimeout,function(){n.updateState("unavailable")})},t.prototype.clearUnavailableTimer=function(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()},t.prototype.sendActivityCheck=function(){var n=this;this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Q(this.options.pongTimeout,function(){n.timeline.error({pong_timed_out:n.options.pongTimeout}),n.retryIn(0)})},t.prototype.resetActivityCheck=function(){var n=this;this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new Q(this.activityTimeout,function(){n.sendActivityCheck()}))},t.prototype.stopActivityCheck=function(){this.activityTimer&&this.activityTimer.ensureAborted()},t.prototype.buildConnectionCallbacks=function(n){var r=this;return U({},n,{message:function(i){r.resetActivityCheck(),r.emit("message",i)},ping:function(){r.send_event("pusher:pong",{})},activity:function(){r.resetActivityCheck()},error:function(i){r.emit("error",i)},closed:function(){r.abandonConnection(),r.shouldRetry()&&r.retryIn(1e3)}})},t.prototype.buildHandshakeCallbacks=function(n){var r=this;return U({},n,{connected:function(i){r.activityTimeout=Math.min(r.options.activityTimeout,i.activityTimeout,i.connection.activityTimeout||1/0),r.clearUnavailableTimer(),r.setConnection(i.connection),r.socket_id=r.connection.id,r.updateState("connected",{socket_id:r.socket_id})}})},t.prototype.buildErrorCallbacks=function(){var n=this,r=function(i){return function(o){o.error&&n.emit("error",{type:"WebSocketError",error:o.error}),i(o)}};return{tls_only:r(function(){n.usingTLS=!0,n.updateStrategy(),n.retryIn(0)}),refused:r(function(){n.disconnect()}),backoff:r(function(){n.retryIn(1e3)}),retry:r(function(){n.retryIn(0)})}},t.prototype.setConnection=function(n){this.connection=n;for(var r in this.connectionCallbacks)this.connection.bind(r,this.connectionCallbacks[r]);this.resetActivityCheck()},t.prototype.abandonConnection=function(){if(this.connection){this.stopActivityCheck();for(var n in this.connectionCallbacks)this.connection.unbind(n,this.connectionCallbacks[n]);var r=this.connection;return this.connection=null,r}},t.prototype.updateState=function(n,r){var i=this.state;if(this.state=n,i!==n){var o=n;o==="connected"&&(o+=" with new socket ID "+r.socket_id),A.debug("State changed",i+" -> "+o),this.timeline.info({state:n,params:r}),this.emit("state_change",{previous:i,current:n}),this.emit(n,r)}},t.prototype.shouldRetry=function(){return this.state==="connecting"||this.state==="connected"},t}(V),Wn=Jn,Vn=function(){function e(){this.channels={}}return e.prototype.add=function(t,n){return this.channels[t]||(this.channels[t]=Qn(t,n)),this.channels[t]},e.prototype.all=function(){return Ne(this.channels)},e.prototype.find=function(t){return this.channels[t]},e.prototype.remove=function(t){var n=this.channels[t];return delete this.channels[t],n},e.prototype.disconnect=function(){W(this.channels,function(t){t.disconnect()})},e}(),Gn=Vn;function Qn(e,t){if(e.indexOf("private-encrypted-")===0){if(t.config.nacl)return G.createEncryptedChannel(e,t,t.config.nacl);var n="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",r=b.buildLogSuffix("encryptedChannelSupport");throw new J(n+". "+r)}else{if(e.indexOf("private-")===0)return G.createPrivateChannel(e,t);if(e.indexOf("presence-")===0)return G.createPresenceChannel(e,t);if(e.indexOf("#")===0)throw new O('Cannot create a channel with name "'+e+'".');return G.createChannel(e,t)}}var Kn={createChannels:function(){return new Gn},createConnectionManager:function(e,t){return new Wn(e,t)},createChannel:function(e,t){return new mt(e,t)},createPrivateChannel:function(e,t){return new wt(e,t)},createPresenceChannel:function(e,t){return new Hn(e,t)},createEncryptedChannel:function(e,t,n){return new Bn(e,t,n)},createTimelineSender:function(e,t){return new On(e,t)},createHandshake:function(e,t){return new Pn(e,t)},createAssistantToTheTransportManager:function(e,t,n){return new wn(e,t,n)}},G=Kn,Yn=function(){function e(t){this.options=t||{},this.livesLeft=this.options.lives||1/0}return e.prototype.getAssistant=function(t){return G.createAssistantToTheTransportManager(this,t,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})},e.prototype.isAlive=function(){return this.livesLeft>0},e.prototype.reportDeath=function(){this.livesLeft-=1},e}(),Gt=Yn,$n=function(){function e(t,n){this.strategies=t,this.loop=!!n.loop,this.failFast=!!n.failFast,this.timeout=n.timeout,this.timeoutLimit=n.timeoutLimit}return e.prototype.isSupported=function(){return zt(this.strategies,j.method("isSupported"))},e.prototype.connect=function(t,n){var r=this,i=this.strategies,o=0,u=this.timeout,p=null,_=function(g,k){k?n(null,k):(o=o+1,r.loop&&(o=o%i.length),o0&&(o=new Q(r.timeout,function(){u.abort(),i(!0)})),u=t.connect(n,function(p,_){p&&o&&o.isRunning()&&!r.failFast||(o&&o.ensureAborted(),i(p,_))}),{abort:function(){o&&o.ensureAborted(),u.abort()},forceMinPriority:function(p){u.forceMinPriority(p)}}},e}(),Y=$n,Zn=function(){function e(t){this.strategies=t}return e.prototype.isSupported=function(){return zt(this.strategies,j.method("isSupported"))},e.prototype.connect=function(t,n){return tr(this.strategies,t,function(r,i){return function(o,u){if(i[r].error=o,o){er(i)&&n(!0);return}rt(i,function(p){p.forceMinPriority(u.transport.priority)}),n(null,u)}})},e}(),St=Zn;function tr(e,t,n){var r=Dt(e,function(i,o,u,p){return i.connect(t,n(o,p))});return{abort:function(){rt(r,nr)},forceMinPriority:function(i){rt(r,function(o){o.forceMinPriority(i)})}}}function er(e){return De(e,function(t){return!!t.error})}function nr(e){!e.error&&!e.aborted&&(e.abort(),e.aborted=!0)}var rr=function(){function e(t,n,r){this.strategy=t,this.transports=n,this.ttl=r.ttl||1800*1e3,this.usingTLS=r.useTLS,this.timeline=r.timeline}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.usingTLS,i=or(r),o=[this.strategy];if(i&&i.timestamp+this.ttl>=j.now()){var u=this.transports[i.transport];u&&(this.timeline.info({cached:!0,transport:i.transport,latency:i.latency}),o.push(new Y([u],{timeout:i.latency*2+1e3,failFast:!0})))}var p=j.now(),_=o.pop().connect(t,function g(k,E){k?(Qt(r),o.length>0?(p=j.now(),_=o.pop().connect(t,g)):n(k)):(sr(r,E.transport.name,j.now()-p),n(null,E))});return{abort:function(){_.abort()},forceMinPriority:function(g){t=g,_&&_.forceMinPriority(g)}}},e}(),ir=rr;function Ct(e){return"pusherTransport"+(e?"TLS":"NonTLS")}function or(e){var t=m.getLocalStorage();if(t)try{var n=t[Ct(e)];if(n)return JSON.parse(n)}catch{Qt(e)}return null}function sr(e,t,n){var r=m.getLocalStorage();if(r)try{r[Ct(e)]=ct({timestamp:j.now(),transport:t,latency:n})}catch{}}function Qt(e){var t=m.getLocalStorage();if(t)try{delete t[Ct(e)]}catch{}}var ar=function(){function e(t,n){var r=n.delay;this.strategy=t,this.options={delay:r}}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.strategy,i,o=new Q(this.options.delay,function(){i=r.connect(t,n)});return{abort:function(){o.ensureAborted(),i&&i.abort()},forceMinPriority:function(u){t=u,i&&i.forceMinPriority(u)}}},e}(),ht=ar,cr=function(){function e(t,n,r){this.test=t,this.trueBranch=n,this.falseBranch=r}return e.prototype.isSupported=function(){var t=this.test()?this.trueBranch:this.falseBranch;return t.isSupported()},e.prototype.connect=function(t,n){var r=this.test()?this.trueBranch:this.falseBranch;return r.connect(t,n)},e}(),it=cr,ur=function(){function e(t){this.strategy=t}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.strategy.connect(t,function(i,o){o&&r.abort(),n(i,o)});return r},e}(),hr=ur;function ot(e){return function(){return e.isSupported()}}var lr=function(e,t,n){var r={};function i(ce,_i,bi,mi,wi){var ue=n(e,ce,_i,bi,mi,wi);return r[ce]=ue,ue}var o=Object.assign({},t,{hostNonTLS:e.wsHost+":"+e.wsPort,hostTLS:e.wsHost+":"+e.wssPort,httpPath:e.wsPath}),u=Object.assign({},o,{useTLS:!0}),p=Object.assign({},t,{hostNonTLS:e.httpHost+":"+e.httpPort,hostTLS:e.httpHost+":"+e.httpsPort,httpPath:e.httpPath}),_={loop:!0,timeout:15e3,timeoutLimit:6e4},g=new Gt({lives:2,minPingDelay:1e4,maxPingDelay:e.activityTimeout}),k=new Gt({lives:2,minPingDelay:1e4,maxPingDelay:e.activityTimeout}),E=i("ws","ws",3,o,g),X=i("wss","ws",3,u,g),pi=i("sockjs","sockjs",1,p),ne=i("xhr_streaming","xhr_streaming",1,p,k),di=i("xdr_streaming","xdr_streaming",1,p,k),re=i("xhr_polling","xhr_polling",1,p),vi=i("xdr_polling","xdr_polling",1,p),ie=new Y([E],_),yi=new Y([X],_),gi=new Y([pi],_),oe=new Y([new it(ot(ne),ne,di)],_),se=new Y([new it(ot(re),re,vi)],_),ae=new Y([new it(ot(oe),new St([oe,new ht(se,{delay:4e3})]),se)],_),Ot=new it(ot(ae),ae,gi),At;return t.useTLS?At=new St([ie,new ht(Ot,{delay:2e3})]):At=new St([ie,new ht(yi,{delay:2e3}),new ht(Ot,{delay:5e3})]),new ir(new hr(new it(ot(E),At,Ot)),r,{ttl:18e5,timeline:t.timeline,useTLS:t.useTLS})},fr=lr,pr=function(){var e=this;e.timeline.info(e.buildTimelineMessage({transport:e.name+(e.options.useTLS?"s":"")})),e.hooks.isInitialized()?e.changeState("initialized"):e.hooks.file?(e.changeState("initializing"),S.load(e.hooks.file,{useTLS:e.options.useTLS},function(t,n){e.hooks.isInitialized()?(e.changeState("initialized"),n(!0)):(t&&e.onError(t),e.onClose(),n(!1))})):e.onClose()},dr={getRequest:function(e){var t=new window.XDomainRequest;return t.ontimeout=function(){e.emit("error",new I),e.close()},t.onerror=function(n){e.emit("error",n),e.close()},t.onprogress=function(){t.responseText&&t.responseText.length>0&&e.onChunk(200,t.responseText)},t.onload=function(){t.responseText&&t.responseText.length>0&&e.onChunk(200,t.responseText),e.emit("finished",200),e.close()},t},abortRequest:function(e){e.ontimeout=e.onerror=e.onprogress=e.onload=null,e.abort()}},vr=dr,yr=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),gr=256*1024,_r=function(e){yr(t,e);function t(n,r,i){var o=e.call(this)||this;return o.hooks=n,o.method=r,o.url=i,o}return t.prototype.start=function(n){var r=this;this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=function(){r.close()},m.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(n)},t.prototype.close=function(){this.unloader&&(m.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)},t.prototype.onChunk=function(n,r){for(;;){var i=this.advanceBuffer(r);if(i)this.emit("chunk",{status:n,data:i});else break}this.isBufferTooLong(r)&&this.emit("buffer_too_long")},t.prototype.advanceBuffer=function(n){var r=n.slice(this.position),i=r.indexOf(` -`);return i!==-1?(this.position+=i+1,r.slice(0,i)):null},t.prototype.isBufferTooLong=function(n){return this.position===n.length&&n.length>gr},t}(V),br=_r,Tt;(function(e){e[e.CONNECTING=0]="CONNECTING",e[e.OPEN=1]="OPEN",e[e.CLOSED=3]="CLOSED"})(Tt||(Tt={}));var $=Tt,mr=1,wr=function(){function e(t,n){this.hooks=t,this.session=Yt(1e3)+"/"+Tr(8),this.location=kr(n),this.readyState=$.CONNECTING,this.openStream()}return e.prototype.send=function(t){return this.sendRaw(JSON.stringify([t]))},e.prototype.ping=function(){this.hooks.sendHeartbeat(this)},e.prototype.close=function(t,n){this.onClose(t,n,!0)},e.prototype.sendRaw=function(t){if(this.readyState===$.OPEN)try{return m.createSocketRequest("POST",Kt(Sr(this.location,this.session))).start(t),!0}catch{return!1}else return!1},e.prototype.reconnect=function(){this.closeStream(),this.openStream()},e.prototype.onClose=function(t,n,r){this.closeStream(),this.readyState=$.CLOSED,this.onclose&&this.onclose({code:t,reason:n,wasClean:r})},e.prototype.onChunk=function(t){if(t.status===200){this.readyState===$.OPEN&&this.onActivity();var n,r=t.data.slice(0,1);switch(r){case"o":n=JSON.parse(t.data.slice(1)||"{}"),this.onOpen(n);break;case"a":n=JSON.parse(t.data.slice(1)||"[]");for(var i=0;i0&&e.onChunk(n.status,n.responseText);break;case 4:n.responseText&&n.responseText.length>0&&e.onChunk(n.status,n.responseText),e.emit("finished",n.status),e.close();break}},n},abortRequest:function(e){e.onreadystatechange=null,e.abort()}},Rr=Lr,Ir={createStreamingSocket:function(e){return this.createSocket(Or,e)},createPollingSocket:function(e){return this.createSocket(Er,e)},createSocket:function(e,t){return new Pr(e,t)},createXHR:function(e,t){return this.createRequest(Rr,e,t)},createRequest:function(e,t,n){return new br(e,t,n)}},$t=Ir;$t.createXDR=function(e,t){return this.createRequest(vr,e,t)};var jr=$t,Nr={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:s,DependenciesReceivers:T,getDefaultStrategy:fr,Transports:yn,transportConnectionInitializer:pr,HTTPFactory:jr,TimelineTransport:Ye,getXHRAPI:function(){return window.XMLHttpRequest},getWebSocketAPI:function(){return window.WebSocket||window.MozWebSocket},setup:function(e){var t=this;window.Pusher=e;var n=function(){t.onDocumentBody(e.ready)};window.JSON?n():S.load("json2",{},n)},getDocument:function(){return document},getProtocol:function(){return this.getDocument().location.protocol},getAuthorizers:function(){return{ajax:we,jsonp:Xe}},onDocumentBody:function(e){var t=this;document.body?e():setTimeout(function(){t.onDocumentBody(e)},0)},createJSONPRequest:function(e,t){return new Ge(e,t)},createScriptRequest:function(e){return new We(e)},getLocalStorage:function(){try{return window.localStorage}catch{return}},createXHR:function(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest:function(){var e=this.getXHRAPI();return new e},createMicrosoftXHR:function(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork:function(){return bn},createWebSocket:function(e){var t=this.getWebSocketAPI();return new t(e)},createSocketRequest:function(e,t){if(this.isXHRSupported())return this.HTTPFactory.createXHR(e,t);if(this.isXDRSupported(t.indexOf("https:")===0))return this.HTTPFactory.createXDR(e,t);throw"Cross-origin HTTP requests are not supported"},isXHRSupported:function(){var e=this.getXHRAPI();return!!e&&new e().withCredentials!==void 0},isXDRSupported:function(e){var t=e?"https:":"http:",n=this.getProtocol();return!!window.XDomainRequest&&n===t},addUnloadListener:function(e){window.addEventListener!==void 0?window.addEventListener("unload",e,!1):window.attachEvent!==void 0&&window.attachEvent("onunload",e)},removeUnloadListener:function(e){window.addEventListener!==void 0?window.removeEventListener("unload",e,!1):window.detachEvent!==void 0&&window.detachEvent("onunload",e)},randomInt:function(e){var t=function(){var n=window.crypto||window.msCrypto,r=n.getRandomValues(new Uint32Array(1))[0];return r/Math.pow(2,32)};return Math.floor(t()*e)}},m=Nr,Pt;(function(e){e[e.ERROR=3]="ERROR",e[e.INFO=6]="INFO",e[e.DEBUG=7]="DEBUG"})(Pt||(Pt={}));var lt=Pt,qr=function(){function e(t,n,r){this.key=t,this.session=n,this.events=[],this.options=r||{},this.sent=0,this.uniqueID=0}return e.prototype.log=function(t,n){t<=this.options.level&&(this.events.push(U({},n,{timestamp:j.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())},e.prototype.error=function(t){this.log(lt.ERROR,t)},e.prototype.info=function(t){this.log(lt.INFO,t)},e.prototype.debug=function(t){this.log(lt.DEBUG,t)},e.prototype.isEmpty=function(){return this.events.length===0},e.prototype.send=function(t,n){var r=this,i=U({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],t(i,function(o,u){o||r.sent++,n&&n(o,u)}),!0},e.prototype.generateUniqueID=function(){return this.uniqueID++,this.uniqueID},e}(),Ur=qr,Dr=function(){function e(t,n,r,i){this.name=t,this.priority=n,this.transport=r,this.options=i||{}}return e.prototype.isSupported=function(){return this.transport.isSupported({useTLS:this.options.useTLS})},e.prototype.connect=function(t,n){var r=this;if(this.isSupported()){if(this.priority"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Li(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}function Ri(l,h){if(h&&(typeof h=="object"||typeof h=="function"))return h;if(h!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Li(l)}function H(l){var h=Ei();return function(){var c=pt(l),s;if(h){var f=pt(this).constructor;s=Reflect.construct(c,arguments,f)}else s=c.apply(this,arguments);return Ri(this,s)}}var Lt=function(){function l(){L(this,l)}return R(l,[{key:"listenForWhisper",value:function(a,c){return this.listen(".client-"+a,c)}},{key:"notification",value:function(a){return this.listen(".Illuminate\\Notifications\\Events\\BroadcastNotificationCreated",a)}},{key:"stopListeningForWhisper",value:function(a,c){return this.stopListening(".client-"+a,c)}}]),l}(),de=function(){function l(h){L(this,l),this.namespace=h}return R(l,[{key:"format",value:function(a){return[".","\\"].includes(a.charAt(0))?a.substring(1):(this.namespace&&(a=this.namespace+"."+a),a.replace(/\./g,"\\"))}},{key:"setNamespace",value:function(a){this.namespace=a}}]),l}(),vt=function(l){D(a,l);var h=H(a);function a(c,s,f){var d;return L(this,a),d=h.call(this),d.name=s,d.pusher=c,d.options=f,d.eventFormatter=new de(d.options.namespace),d.subscribe(),d}return R(a,[{key:"subscribe",value:function(){this.subscription=this.pusher.subscribe(this.name)}},{key:"unsubscribe",value:function(){this.pusher.unsubscribe(this.name)}},{key:"listen",value:function(s,f){return this.on(this.eventFormatter.format(s),f),this}},{key:"listenToAll",value:function(s){var f=this;return this.subscription.bind_global(function(d,N){if(!d.startsWith("pusher:")){var P=f.options.namespace.replace(/\./g,"\\"),T=d.startsWith(P)?d.substring(P.length+1):"."+d;s(T,N)}}),this}},{key:"stopListening",value:function(s,f){return f?this.subscription.unbind(this.eventFormatter.format(s),f):this.subscription.unbind(this.eventFormatter.format(s)),this}},{key:"stopListeningToAll",value:function(s){return s?this.subscription.unbind_global(s):this.subscription.unbind_global(),this}},{key:"subscribed",value:function(s){return this.on("pusher:subscription_succeeded",function(){s()}),this}},{key:"error",value:function(s){return this.on("pusher:subscription_error",function(f){s(f)}),this}},{key:"on",value:function(s,f){return this.subscription.bind(s,f),this}}]),a}(Lt),Ii=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}}]),a}(vt),ji=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}}]),a}(vt),Ni=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this.on("pusher:subscription_succeeded",function(f){s(Object.keys(f.members).map(function(d){return f.members[d]}))}),this}},{key:"joining",value:function(s){return this.on("pusher:member_added",function(f){s(f.info)}),this}},{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}},{key:"leaving",value:function(s){return this.on("pusher:member_removed",function(f){s(f.info)}),this}}]),a}(vt),ve=function(l){D(a,l);var h=H(a);function a(c,s,f){var d;return L(this,a),d=h.call(this),d.events={},d.listeners={},d.name=s,d.socket=c,d.options=f,d.eventFormatter=new de(d.options.namespace),d.subscribe(),d}return R(a,[{key:"subscribe",value:function(){this.socket.emit("subscribe",{channel:this.name,auth:this.options.auth||{}})}},{key:"unsubscribe",value:function(){this.unbind(),this.socket.emit("unsubscribe",{channel:this.name,auth:this.options.auth||{}})}},{key:"listen",value:function(s,f){return this.on(this.eventFormatter.format(s),f),this}},{key:"stopListening",value:function(s,f){return this.unbindEvent(this.eventFormatter.format(s),f),this}},{key:"subscribed",value:function(s){return this.on("connect",function(f){s(f)}),this}},{key:"error",value:function(s){return this}},{key:"on",value:function(s,f){var d=this;return this.listeners[s]=this.listeners[s]||[],this.events[s]||(this.events[s]=function(N,P){d.name===N&&d.listeners[s]&&d.listeners[s].forEach(function(T){return T(P)})},this.socket.on(s,this.events[s])),this.listeners[s].push(f),this}},{key:"unbind",value:function(){var s=this;Object.keys(this.events).forEach(function(f){s.unbindEvent(f)})}},{key:"unbindEvent",value:function(s,f){this.listeners[s]=this.listeners[s]||[],f&&(this.listeners[s]=this.listeners[s].filter(function(d){return d!==f})),(!f||this.listeners[s].length===0)&&(this.events[s]&&(this.socket.removeListener(s,this.events[s]),delete this.events[s]),delete this.listeners[s])}}]),a}(Lt),ye=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.socket.emit("client event",{channel:this.name,event:"client-".concat(s),data:f}),this}}]),a}(ve),qi=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this.on("presence:subscribed",function(f){s(f.map(function(d){return d.user_info}))}),this}},{key:"joining",value:function(s){return this.on("presence:joining",function(f){return s(f.user_info)}),this}},{key:"whisper",value:function(s,f){return this.socket.emit("client event",{channel:this.name,event:"client-".concat(s),data:f}),this}},{key:"leaving",value:function(s){return this.on("presence:leaving",function(f){return s(f.user_info)}),this}}]),a}(ye),dt=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"subscribe",value:function(){}},{key:"unsubscribe",value:function(){}},{key:"listen",value:function(s,f){return this}},{key:"listenToAll",value:function(s){return this}},{key:"stopListening",value:function(s,f){return this}},{key:"subscribed",value:function(s){return this}},{key:"error",value:function(s){return this}},{key:"on",value:function(s,f){return this}}]),a}(Lt),fe=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this}}]),a}(dt),Ui=function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this}},{key:"joining",value:function(s){return this}},{key:"whisper",value:function(s,f){return this}},{key:"leaving",value:function(s){return this}}]),a}(dt),Rt=function(){function l(h){L(this,l),this._defaultOptions={auth:{headers:{}},authEndpoint:"/broadcasting/auth",userAuthentication:{endpoint:"/broadcasting/user-auth",headers:{}},broadcaster:"pusher",csrfToken:null,bearerToken:null,host:null,key:null,namespace:"App.Events"},this.setOptions(h),this.connect()}return R(l,[{key:"setOptions",value:function(a){this.options=st(this._defaultOptions,a);var c=this.csrfToken();return c&&(this.options.auth.headers["X-CSRF-TOKEN"]=c,this.options.userAuthentication.headers["X-CSRF-TOKEN"]=c),c=this.options.bearerToken,c&&(this.options.auth.headers.Authorization="Bearer "+c,this.options.userAuthentication.headers.Authorization="Bearer "+c),a}},{key:"csrfToken",value:function(){var a;return typeof window<"u"&&window.Laravel&&window.Laravel.csrfToken?window.Laravel.csrfToken:this.options.csrfToken?this.options.csrfToken:typeof document<"u"&&typeof document.querySelector=="function"&&(a=document.querySelector('meta[name="csrf-token"]'))?a.getAttribute("content"):null}}]),l}(),pe=function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){typeof this.options.client<"u"?this.pusher=this.options.client:this.options.Pusher?this.pusher=new this.options.Pusher(this.options.key,this.options):this.pusher=new Pusher(this.options.key,this.options)}},{key:"signin",value:function(){this.pusher.signin()}},{key:"listen",value:function(s,f,d){return this.channel(s).listen(f,d)}},{key:"channel",value:function(s){return this.channels[s]||(this.channels[s]=new vt(this.pusher,s,this.options)),this.channels[s]}},{key:"privateChannel",value:function(s){return this.channels["private-"+s]||(this.channels["private-"+s]=new Ii(this.pusher,"private-"+s,this.options)),this.channels["private-"+s]}},{key:"encryptedPrivateChannel",value:function(s){return this.channels["private-encrypted-"+s]||(this.channels["private-encrypted-"+s]=new ji(this.pusher,"private-encrypted-"+s,this.options)),this.channels["private-encrypted-"+s]}},{key:"presenceChannel",value:function(s){return this.channels["presence-"+s]||(this.channels["presence-"+s]=new Ni(this.pusher,"presence-"+s,this.options)),this.channels["presence-"+s]}},{key:"leave",value:function(s){var f=this,d=[s,"private-"+s,"private-encrypted-"+s,"presence-"+s];d.forEach(function(N,P){f.leaveChannel(N)})}},{key:"leaveChannel",value:function(s){this.channels[s]&&(this.channels[s].unsubscribe(),delete this.channels[s])}},{key:"socketId",value:function(){return this.pusher.connection.socket_id}},{key:"disconnect",value:function(){this.pusher.disconnect()}}]),a}(Rt),Di=function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){var s=this,f=this.getSocketIO();return this.socket=f(this.options.host,this.options),this.socket.on("reconnect",function(){Object.values(s.channels).forEach(function(d){d.subscribe()})}),this.socket}},{key:"getSocketIO",value:function(){if(typeof this.options.client<"u")return this.options.client;if(typeof io<"u")return io;throw new Error("Socket.io client not found. Should be globally available or passed via options.client")}},{key:"listen",value:function(s,f,d){return this.channel(s).listen(f,d)}},{key:"channel",value:function(s){return this.channels[s]||(this.channels[s]=new ve(this.socket,s,this.options)),this.channels[s]}},{key:"privateChannel",value:function(s){return this.channels["private-"+s]||(this.channels["private-"+s]=new ye(this.socket,"private-"+s,this.options)),this.channels["private-"+s]}},{key:"presenceChannel",value:function(s){return this.channels["presence-"+s]||(this.channels["presence-"+s]=new qi(this.socket,"presence-"+s,this.options)),this.channels["presence-"+s]}},{key:"leave",value:function(s){var f=this,d=[s,"private-"+s,"presence-"+s];d.forEach(function(N){f.leaveChannel(N)})}},{key:"leaveChannel",value:function(s){this.channels[s]&&(this.channels[s].unsubscribe(),delete this.channels[s])}},{key:"socketId",value:function(){return this.socket.id}},{key:"disconnect",value:function(){this.socket.disconnect()}}]),a}(Rt),Hi=function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){}},{key:"listen",value:function(s,f,d){return new dt}},{key:"channel",value:function(s){return new dt}},{key:"privateChannel",value:function(s){return new fe}},{key:"encryptedPrivateChannel",value:function(s){return new fe}},{key:"presenceChannel",value:function(s){return new Ui}},{key:"leave",value:function(s){}},{key:"leaveChannel",value:function(s){}},{key:"socketId",value:function(){return"fake-socket-id"}},{key:"disconnect",value:function(){}}]),a}(Rt),ge=function(){function l(h){L(this,l),this.options=h,this.connect(),this.options.withoutInterceptors||this.registerInterceptors()}return R(l,[{key:"channel",value:function(a){return this.connector.channel(a)}},{key:"connect",value:function(){if(this.options.broadcaster=="reverb")this.connector=new pe(st(st({},this.options),{cluster:""}));else if(this.options.broadcaster=="pusher")this.connector=new pe(this.options);else if(this.options.broadcaster=="socket.io")this.connector=new Di(this.options);else if(this.options.broadcaster=="null")this.connector=new Hi(this.options);else if(typeof this.options.broadcaster=="function")this.connector=new this.options.broadcaster(this.options);else throw new Error("Broadcaster ".concat(ft(this.options.broadcaster)," ").concat(this.options.broadcaster," is not supported."))}},{key:"disconnect",value:function(){this.connector.disconnect()}},{key:"join",value:function(a){return this.connector.presenceChannel(a)}},{key:"leave",value:function(a){this.connector.leave(a)}},{key:"leaveChannel",value:function(a){this.connector.leaveChannel(a)}},{key:"leaveAllChannels",value:function(){for(var a in this.connector.channels)this.leaveChannel(a)}},{key:"listen",value:function(a,c,s){return this.connector.listen(a,c,s)}},{key:"private",value:function(a){return this.connector.privateChannel(a)}},{key:"encryptedPrivate",value:function(a){return this.connector.encryptedPrivateChannel(a)}},{key:"socketId",value:function(){return this.connector.socketId()}},{key:"registerInterceptors",value:function(){typeof Vue=="function"&&Vue.http&&this.registerVueRequestInterceptor(),typeof axios=="function"&&this.registerAxiosRequestInterceptor(),typeof jQuery=="function"&&this.registerjQueryAjaxSetup(),(typeof Turbo>"u"?"undefined":ft(Turbo))==="object"&&this.registerTurboRequestInterceptor()}},{key:"registerVueRequestInterceptor",value:function(){var a=this;Vue.http.interceptors.push(function(c,s){a.socketId()&&c.headers.set("X-Socket-ID",a.socketId()),s()})}},{key:"registerAxiosRequestInterceptor",value:function(){var a=this;axios.interceptors.request.use(function(c){return a.socketId()&&(c.headers["X-Socket-Id"]=a.socketId()),c})}},{key:"registerjQueryAjaxSetup",value:function(){var a=this;typeof jQuery.ajax<"u"&&jQuery.ajaxPrefilter(function(c,s,f){a.socketId()&&f.setRequestHeader("X-Socket-Id",a.socketId())})}},{key:"registerTurboRequestInterceptor",value:function(){var a=this;document.addEventListener("turbo:before-fetch-request",function(c){c.detail.fetchOptions.headers["X-Socket-Id"]=a.socketId()})}}]),l}();var be=Ai(_e(),1);window.EchoFactory=ge;window.Pusher=be.default;})(); +(()=>{var Ci=Object.create;var he=Object.defineProperty;var Ti=Object.getOwnPropertyDescriptor;var Pi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Oi=Object.prototype.hasOwnProperty;var Ai=(l,h)=>()=>(h||l((h={exports:{}}).exports,h),h.exports);var Ei=(l,h,a,c)=>{if(h&&typeof h=="object"||typeof h=="function")for(let s of Pi(h))!Oi.call(l,s)&&s!==a&&he(l,s,{get:()=>h[s],enumerable:!(c=Ti(h,s))||c.enumerable});return l};var Li=(l,h,a)=>(a=l!=null?Ci(xi(l)):{},Ei(h||!l||!l.__esModule?he(a,"default",{value:l,enumerable:!0}):a,l));var me=Ai((vt,It)=>{(function(h,a){typeof vt=="object"&&typeof It=="object"?It.exports=a():typeof define=="function"&&define.amd?define([],a):typeof vt=="object"?vt.Pusher=a():h.Pusher=a()})(window,function(){return(function(l){var h={};function a(c){if(h[c])return h[c].exports;var s=h[c]={i:c,l:!1,exports:{}};return l[c].call(s.exports,s,s.exports,a),s.l=!0,s.exports}return a.m=l,a.c=h,a.d=function(c,s,f){a.o(c,s)||Object.defineProperty(c,s,{enumerable:!0,get:f})},a.r=function(c){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},a.t=function(c,s){if(s&1&&(c=a(c)),s&8||s&4&&typeof c=="object"&&c&&c.__esModule)return c;var f=Object.create(null);if(a.r(f),Object.defineProperty(f,"default",{enumerable:!0,value:c}),s&2&&typeof c!="string")for(var d in c)a.d(f,d,function(N){return c[N]}.bind(null,d));return f},a.n=function(c){var s=c&&c.__esModule?function(){return c.default}:function(){return c};return a.d(s,"a",s),s},a.o=function(c,s){return Object.prototype.hasOwnProperty.call(c,s)},a.p="",a(a.s=2)})([(function(l,h,a){"use strict";var c=this&&this.__extends||(function(){var b=function(v,y){return b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(w,O){w.__proto__=O}||function(w,O){for(var I in O)O.hasOwnProperty(I)&&(w[I]=O[I])},b(v,y)};return function(v,y){b(v,y);function w(){this.constructor=v}v.prototype=y===null?Object.create(y):(w.prototype=y.prototype,new w)}})();Object.defineProperty(h,"__esModule",{value:!0});var s=256,f=(function(){function b(v){v===void 0&&(v="="),this._paddingCharacter=v}return b.prototype.encodedLength=function(v){return this._paddingCharacter?(v+2)/3*4|0:(v*8+5)/6|0},b.prototype.encode=function(v){for(var y="",w=0;w>>18&63),y+=this._encodeByte(O>>>12&63),y+=this._encodeByte(O>>>6&63),y+=this._encodeByte(O>>>0&63)}var I=v.length-w;if(I>0){var O=v[w]<<16|(I===2?v[w+1]<<8:0);y+=this._encodeByte(O>>>18&63),y+=this._encodeByte(O>>>12&63),I===2?y+=this._encodeByte(O>>>6&63):y+=this._paddingCharacter||"",y+=this._paddingCharacter||""}return y},b.prototype.maxDecodedLength=function(v){return this._paddingCharacter?v/4*3|0:(v*6+7)/8|0},b.prototype.decodedLength=function(v){return this.maxDecodedLength(v.length-this._getPaddingLength(v))},b.prototype.decode=function(v){if(v.length===0)return new Uint8Array(0);for(var y=this._getPaddingLength(v),w=v.length-y,O=new Uint8Array(this.maxDecodedLength(w)),I=0,q=0,M=0,J=0,F=0,z=0,B=0;q>>4,O[I++]=F<<4|z>>>2,O[I++]=z<<6|B,M|=J&s,M|=F&s,M|=z&s,M|=B&s;if(q>>4,M|=J&s,M|=F&s),q>>2,M|=z&s),q>>8&6,y+=51-v>>>8&-75,y+=61-v>>>8&-15,y+=62-v>>>8&3,String.fromCharCode(y)},b.prototype._decodeChar=function(v){var y=s;return y+=(42-v&v-44)>>>8&-s+v-43+62,y+=(46-v&v-48)>>>8&-s+v-47+63,y+=(47-v&v-58)>>>8&-s+v-48+52,y+=(64-v&v-91)>>>8&-s+v-65+0,y+=(96-v&v-123)>>>8&-s+v-97+26,y},b.prototype._getPaddingLength=function(v){var y=0;if(this._paddingCharacter){for(var w=v.length-1;w>=0&&v[w]===this._paddingCharacter;w--)y++;if(v.length<4||y>2)throw new Error("Base64Coder: incorrect padding")}return y},b})();h.Coder=f;var d=new f;function N(b){return d.encode(b)}h.encode=N;function P(b){return d.decode(b)}h.decode=P;var T=(function(b){c(v,b);function v(){return b!==null&&b.apply(this,arguments)||this}return v.prototype._encodeByte=function(y){var w=y;return w+=65,w+=25-y>>>8&6,w+=51-y>>>8&-75,w+=61-y>>>8&-13,w+=62-y>>>8&49,String.fromCharCode(w)},v.prototype._decodeChar=function(y){var w=s;return w+=(44-y&y-46)>>>8&-s+y-45+62,w+=(94-y&y-96)>>>8&-s+y-95+63,w+=(47-y&y-58)>>>8&-s+y-48+52,w+=(64-y&y-91)>>>8&-s+y-65+0,w+=(96-y&y-123)>>>8&-s+y-97+26,w},v})(f);h.URLSafeCoder=T;var S=new T;function C(b){return S.encode(b)}h.encodeURLSafe=C;function x(b){return S.decode(b)}h.decodeURLSafe=x,h.encodedLength=function(b){return d.encodedLength(b)},h.maxDecodedLength=function(b){return d.maxDecodedLength(b)},h.decodedLength=function(b){return d.decodedLength(b)}}),(function(l,h,a){"use strict";Object.defineProperty(h,"__esModule",{value:!0});var c="utf8: invalid string",s="utf8: invalid source encoding";function f(P){for(var T=new Uint8Array(d(P)),S=0,C=0;C>6,T[S++]=128|x&63):x<55296?(T[S++]=224|x>>12,T[S++]=128|x>>6&63,T[S++]=128|x&63):(C++,x=(x&1023)<<10,x|=P.charCodeAt(C)&1023,x+=65536,T[S++]=240|x>>18,T[S++]=128|x>>12&63,T[S++]=128|x>>6&63,T[S++]=128|x&63)}return T}h.encode=f;function d(P){for(var T=0,S=0;S=P.length-1)throw new Error(c);S++,T+=4}else throw new Error(c)}return T}h.encodedLength=d;function N(P){for(var T=[],S=0;S=P.length)throw new Error(s);var b=P[++S];if((b&192)!==128)throw new Error(s);C=(C&31)<<6|b&63,x=128}else if(C<240){if(S>=P.length-1)throw new Error(s);var b=P[++S],v=P[++S];if((b&192)!==128||(v&192)!==128)throw new Error(s);C=(C&15)<<12|(b&63)<<6|v&63,x=2048}else if(C<248){if(S>=P.length-2)throw new Error(s);var b=P[++S],v=P[++S],y=P[++S];if((b&192)!==128||(v&192)!==128||(y&192)!==128)throw new Error(s);C=(C&15)<<18|(b&63)<<12|(v&63)<<6|y&63,x=65536}else throw new Error(s);if(C=55296&&C<=57343)throw new Error(s);if(C>=65536){if(C>1114111)throw new Error(s);C-=65536,T.push(String.fromCharCode(55296|C>>10)),C=56320|C&1023}}T.push(String.fromCharCode(C))}return T.join("")}h.decode=N}),(function(l,h,a){l.exports=a(3).default}),(function(l,h,a){"use strict";a.r(h);var c=(function(){function e(t,n){this.lastId=0,this.prefix=t,this.name=n}return e.prototype.create=function(t){this.lastId++;var n=this.lastId,r=this.prefix+n,i=this.name+"["+n+"]",o=!1,u=function(){o||(t.apply(null,arguments),o=!0)};return this[n]=u,{number:n,id:r,name:i,callback:u}},e.prototype.remove=function(t){delete this[t.number]},e})(),s=new c("_pusher_script_","Pusher.ScriptReceivers"),f={VERSION:"7.6.0",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,cluster:"mt1",userAuthentication:{endpoint:"/pusher/user-auth",transport:"ajax"},channelAuthorization:{endpoint:"/pusher/auth",transport:"ajax"},cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},d=f,N=(function(){function e(t){this.options=t,this.receivers=t.receivers||s,this.loading={}}return e.prototype.load=function(t,n,r){var i=this;if(i.loading[t]&&i.loading[t].length>0)i.loading[t].push(r);else{i.loading[t]=[r];var o=m.createScriptRequest(i.getPath(t,n)),u=i.receivers.create(function(p){if(i.receivers.remove(u),i.loading[t]){var _=i.loading[t];delete i.loading[t];for(var g=function(E){E||o.cleanup()},k=0;k<_.length;k++)_[k](p,g)}});o.send(u)}},e.prototype.getRoot=function(t){var n,r=m.getDocument().location.protocol;return t&&t.useTLS||r==="https:"?n=this.options.cdn_https:n=this.options.cdn_http,n.replace(/\/*$/,"")+"/"+this.options.version},e.prototype.getPath=function(t,n){return this.getRoot(n)+"/"+t+this.options.suffix+".js"},e})(),P=N,T=new c("_pusher_dependencies","Pusher.DependenciesReceivers"),S=new P({cdn_http:d.cdn_http,cdn_https:d.cdn_https,version:d.VERSION,suffix:d.dependency_suffix,receivers:T}),C={baseUrl:"https://pusher.com",urls:{authenticationEndpoint:{path:"/docs/channels/server_api/authenticating_users"},authorizationEndpoint:{path:"/docs/channels/server_api/authorizing-users/"},javascriptQuickStart:{path:"/docs/javascript_quick_start"},triggeringClientEvents:{path:"/docs/client_api_guide/client_events#trigger-events"},encryptedChannelSupport:{fullUrl:"https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support"}}},x=function(e){var t="See:",n=C.urls[e];if(!n)return"";var r;return n.fullUrl?r=n.fullUrl:n.path&&(r=C.baseUrl+n.path),r?t+" "+r:""},b={buildLogSuffix:x},v;(function(e){e.UserAuthentication="user-authentication",e.ChannelAuthorization="channel-authorization"})(v||(v={}));var y=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),w=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),O=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),I=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),q=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),M=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),J=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),F=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),z=(function(e){y(t,e);function t(n){var r=this.constructor,i=e.call(this,n)||this;return Object.setPrototypeOf(i,r.prototype),i}return t})(Error),B=(function(e){y(t,e);function t(n,r){var i=this.constructor,o=e.call(this,r)||this;return o.status=n,Object.setPrototypeOf(o,i.prototype),o}return t})(Error),ke=function(e,t,n,r,i){var o=m.createXHR();o.open("POST",n.endpoint,!0),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var u in n.headers)o.setRequestHeader(u,n.headers[u]);if(n.headersProvider!=null){var p=n.headersProvider();for(var u in p)o.setRequestHeader(u,p[u])}return o.onreadystatechange=function(){if(o.readyState===4)if(o.status===200){var _=void 0,g=!1;try{_=JSON.parse(o.responseText),g=!0}catch{i(new B(200,"JSON returned from "+r.toString()+" endpoint was invalid, yet status code was 200. Data was: "+o.responseText),null)}g&&i(null,_)}else{var k="";switch(r){case v.UserAuthentication:k=b.buildLogSuffix("authenticationEndpoint");break;case v.ChannelAuthorization:k="Clients must be authorized to join private or presence channels. "+b.buildLogSuffix("authorizationEndpoint");break}i(new B(o.status,"Unable to retrieve auth string from "+r.toString()+" endpoint - "+("received status: "+o.status+" from "+n.endpoint+". "+k)),null)}},o.send(t),o},Se=ke;function Ce(e){return Ee(Oe(e))}for(var nt=String.fromCharCode,Z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Te={},ct=0,Pe=Z.length;ct>>6)+nt(128|t&63):nt(224|t>>>12&15)+nt(128|t>>>6&63)+nt(128|t&63)},Oe=function(e){return e.replace(/[^\x00-\x7F]/g,xe)},Ae=function(e){var t=[0,2,1][e.length%3],n=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0),r=[Z.charAt(n>>>18),Z.charAt(n>>>12&63),t>=2?"=":Z.charAt(n>>>6&63),t>=1?"=":Z.charAt(n&63)];return r.join("")},Ee=window.btoa||function(e){return e.replace(/[\s\S]{1,3}/g,Ae)},Le=(function(){function e(t,n,r,i){var o=this;this.clear=n,this.timer=t(function(){o.timer&&(o.timer=i(o.timer))},r)}return e.prototype.isRunning=function(){return this.timer!==null},e.prototype.ensureAborted=function(){this.timer&&(this.clear(this.timer),this.timer=null)},e})(),jt=Le,Nt=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})();function Re(e){window.clearTimeout(e)}function Ie(e){window.clearInterval(e)}var Q=(function(e){Nt(t,e);function t(n,r){return e.call(this,setTimeout,Re,n,function(i){return r(),null})||this}return t})(jt),je=(function(e){Nt(t,e);function t(n,r){return e.call(this,setInterval,Ie,n,function(i){return r(),i})||this}return t})(jt),Ne={now:function(){return Date.now?Date.now():new Date().valueOf()},defer:function(e){return new Q(0,e)},method:function(e){for(var t=[],n=1;n0)for(var i=0;i=1002&&e.code<=1004?"backoff":null:e.code===4e3?"tls_only":e.code<4100?"refused":e.code<4200?"backoff":e.code<4300?"retry":"refused"},getCloseError:function(e){return e.code!==1e3&&e.code!==1001?{type:"PusherError",data:{code:e.code,message:e.reason||e.message}}:null}},K=Vt,Cn=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),Tn=(function(e){Cn(t,e);function t(n,r){var i=e.call(this)||this;return i.id=n,i.transport=r,i.activityTimeout=r.activityTimeout,i.bindListeners(),i}return t.prototype.handlesActivityChecks=function(){return this.transport.handlesActivityChecks()},t.prototype.send=function(n){return this.transport.send(n)},t.prototype.send_event=function(n,r,i){var o={event:n,data:r};return i&&(o.channel=i),A.debug("Event sent",o),this.send(K.encodeMessage(o))},t.prototype.ping=function(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})},t.prototype.close=function(){this.transport.close()},t.prototype.bindListeners=function(){var n=this,r={message:function(o){var u;try{u=K.decodeMessage(o)}catch(p){n.emit("error",{type:"MessageParseError",error:p,data:o.data})}if(u!==void 0){switch(A.debug("Event recd",u),u.event){case"pusher:error":n.emit("error",{type:"PusherError",data:u.data});break;case"pusher:ping":n.emit("ping");break;case"pusher:pong":n.emit("pong");break}n.emit("message",u)}},activity:function(){n.emit("activity")},error:function(o){n.emit("error",o)},closed:function(o){i(),o&&o.code&&n.handleCloseEvent(o),n.transport=null,n.emit("closed")}},i=function(){W(r,function(o,u){n.transport.unbind(u,o)})};W(r,function(o,u){n.transport.bind(u,o)})},t.prototype.handleCloseEvent=function(n){var r=K.getCloseAction(n),i=K.getCloseError(n);i&&this.emit("error",i),r&&this.emit(r,{action:r,error:i})},t})(V),Pn=Tn,xn=(function(){function e(t,n){this.transport=t,this.callback=n,this.bindListeners()}return e.prototype.close=function(){this.unbindListeners(),this.transport.close()},e.prototype.bindListeners=function(){var t=this;this.onMessage=function(n){t.unbindListeners();var r;try{r=K.processHandshake(n)}catch(i){t.finish("error",{error:i}),t.transport.close();return}r.action==="connected"?t.finish("connected",{connection:new Pn(r.id,t.transport),activityTimeout:r.activityTimeout}):(t.finish(r.action,{error:r.error}),t.transport.close())},this.onClosed=function(n){t.unbindListeners();var r=K.getCloseAction(n)||"backoff",i=K.getCloseError(n);t.finish(r,{error:i})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)},e.prototype.unbindListeners=function(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)},e.prototype.finish=function(t,n){this.callback(U({transport:this.transport,action:t},n))},e})(),On=xn,An=(function(){function e(t,n){this.timeline=t,this.options=n||{}}return e.prototype.send=function(t,n){this.timeline.isEmpty()||this.timeline.send(m.TimelineTransport.getAgent(this,t),n)},e})(),En=An,Ln=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),Rn=(function(e){Ln(t,e);function t(n,r){var i=e.call(this,function(o,u){A.debug("No callbacks on "+n+" for "+o)})||this;return i.name=n,i.pusher=r,i.subscribed=!1,i.subscriptionPending=!1,i.subscriptionCancelled=!1,i}return t.prototype.authorize=function(n,r){return r(null,{auth:""})},t.prototype.trigger=function(n,r){if(n.indexOf("client-")!==0)throw new w("Event '"+n+"' does not start with 'client-'");if(!this.subscribed){var i=b.buildLogSuffix("triggeringClientEvents");A.warn("Client event triggered before channel 'subscription_succeeded' event . "+i)}return this.pusher.send_event(n,r,this.name)},t.prototype.disconnect=function(){this.subscribed=!1,this.subscriptionPending=!1},t.prototype.handleEvent=function(n){var r=n.event,i=n.data;if(r==="pusher_internal:subscription_succeeded")this.handleSubscriptionSucceededEvent(n);else if(r==="pusher_internal:subscription_count")this.handleSubscriptionCountEvent(n);else if(r.indexOf("pusher_internal:")!==0){var o={};this.emit(r,i,o)}},t.prototype.handleSubscriptionSucceededEvent=function(n){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",n.data)},t.prototype.handleSubscriptionCountEvent=function(n){n.data.subscription_count&&(this.subscriptionCount=n.data.subscription_count),this.emit("pusher:subscription_count",n.data)},t.prototype.subscribe=function(){var n=this;this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,function(r,i){r?(n.subscriptionPending=!1,A.error(r.toString()),n.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:r.message},r instanceof B?{status:r.status}:{}))):n.pusher.send_event("pusher:subscribe",{auth:i.auth,channel_data:i.channel_data,channel:n.name})}))},t.prototype.unsubscribe=function(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})},t.prototype.cancelSubscription=function(){this.subscriptionCancelled=!0},t.prototype.reinstateSubscription=function(){this.subscriptionCancelled=!1},t})(V),bt=Rn,In=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),jn=(function(e){In(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.authorize=function(n,r){return this.pusher.config.channelAuthorizer({channelName:this.name,socketId:n},r)},t})(bt),mt=jn,Nn=(function(){function e(){this.reset()}return e.prototype.get=function(t){return Object.prototype.hasOwnProperty.call(this.members,t)?{id:t,info:this.members[t]}:null},e.prototype.each=function(t){var n=this;W(this.members,function(r,i){t(n.get(i))})},e.prototype.setMyID=function(t){this.myID=t},e.prototype.onSubscription=function(t){this.members=t.presence.hash,this.count=t.presence.count,this.me=this.get(this.myID)},e.prototype.addMember=function(t){return this.get(t.user_id)===null&&this.count++,this.members[t.user_id]=t.user_info,this.get(t.user_id)},e.prototype.removeMember=function(t){var n=this.get(t.user_id);return n&&(delete this.members[t.user_id],this.count--),n},e.prototype.reset=function(){this.members={},this.count=0,this.myID=null,this.me=null},e})(),qn=Nn,Un=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),Dn=function(e,t,n,r){function i(o){return o instanceof n?o:new n(function(u){u(o)})}return new(n||(n=Promise))(function(o,u){function p(k){try{g(r.next(k))}catch(E){u(E)}}function _(k){try{g(r.throw(k))}catch(E){u(E)}}function g(k){k.done?o(k.value):i(k.value).then(p,_)}g((r=r.apply(e,t||[])).next())})},Hn=function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,u;return u={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(u[Symbol.iterator]=function(){return this}),u;function p(g){return function(k){return _([g,k])}}function _(g){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(o=g[0]&2?i.return:g[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,g[1])).done)return o;switch(i=0,o&&(g=[g[0]&2,o.value]),g[0]){case 0:case 1:o=g;break;case 4:return n.label++,{value:g[1],done:!1};case 5:n.label++,i=g[1],g=[0];continue;case 7:g=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(g[0]===6||g[0]===2)){n=0;continue}if(g[0]===3&&(!o||g[1]>o[0]&&g[1]0&&this.emit("connecting_in",Math.round(n/1e3)),this.retryTimer=new Q(n||0,function(){r.disconnectInternally(),r.connect()})},t.prototype.clearRetryTimer=function(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)},t.prototype.setUnavailableTimer=function(){var n=this;this.unavailableTimer=new Q(this.options.unavailableTimeout,function(){n.updateState("unavailable")})},t.prototype.clearUnavailableTimer=function(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()},t.prototype.sendActivityCheck=function(){var n=this;this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new Q(this.options.pongTimeout,function(){n.timeline.error({pong_timed_out:n.options.pongTimeout}),n.retryIn(0)})},t.prototype.resetActivityCheck=function(){var n=this;this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new Q(this.activityTimeout,function(){n.sendActivityCheck()}))},t.prototype.stopActivityCheck=function(){this.activityTimer&&this.activityTimer.ensureAborted()},t.prototype.buildConnectionCallbacks=function(n){var r=this;return U({},n,{message:function(i){r.resetActivityCheck(),r.emit("message",i)},ping:function(){r.send_event("pusher:pong",{})},activity:function(){r.resetActivityCheck()},error:function(i){r.emit("error",i)},closed:function(){r.abandonConnection(),r.shouldRetry()&&r.retryIn(1e3)}})},t.prototype.buildHandshakeCallbacks=function(n){var r=this;return U({},n,{connected:function(i){r.activityTimeout=Math.min(r.options.activityTimeout,i.activityTimeout,i.connection.activityTimeout||1/0),r.clearUnavailableTimer(),r.setConnection(i.connection),r.socket_id=r.connection.id,r.updateState("connected",{socket_id:r.socket_id})}})},t.prototype.buildErrorCallbacks=function(){var n=this,r=function(i){return function(o){o.error&&n.emit("error",{type:"WebSocketError",error:o.error}),i(o)}};return{tls_only:r(function(){n.usingTLS=!0,n.updateStrategy(),n.retryIn(0)}),refused:r(function(){n.disconnect()}),backoff:r(function(){n.retryIn(1e3)}),retry:r(function(){n.retryIn(0)})}},t.prototype.setConnection=function(n){this.connection=n;for(var r in this.connectionCallbacks)this.connection.bind(r,this.connectionCallbacks[r]);this.resetActivityCheck()},t.prototype.abandonConnection=function(){if(this.connection){this.stopActivityCheck();for(var n in this.connectionCallbacks)this.connection.unbind(n,this.connectionCallbacks[n]);var r=this.connection;return this.connection=null,r}},t.prototype.updateState=function(n,r){var i=this.state;if(this.state=n,i!==n){var o=n;o==="connected"&&(o+=" with new socket ID "+r.socket_id),A.debug("State changed",i+" -> "+o),this.timeline.info({state:n,params:r}),this.emit("state_change",{previous:i,current:n}),this.emit(n,r)}},t.prototype.shouldRetry=function(){return this.state==="connecting"||this.state==="connected"},t})(V),Gn=Vn,Qn=(function(){function e(){this.channels={}}return e.prototype.add=function(t,n){return this.channels[t]||(this.channels[t]=Yn(t,n)),this.channels[t]},e.prototype.all=function(){return Ue(this.channels)},e.prototype.find=function(t){return this.channels[t]},e.prototype.remove=function(t){var n=this.channels[t];return delete this.channels[t],n},e.prototype.disconnect=function(){W(this.channels,function(t){t.disconnect()})},e})(),Kn=Qn;function Yn(e,t){if(e.indexOf("private-encrypted-")===0){if(t.config.nacl)return G.createEncryptedChannel(e,t,t.config.nacl);var n="Tried to subscribe to a private-encrypted- channel but no nacl implementation available",r=b.buildLogSuffix("encryptedChannelSupport");throw new J(n+". "+r)}else{if(e.indexOf("private-")===0)return G.createPrivateChannel(e,t);if(e.indexOf("presence-")===0)return G.createPresenceChannel(e,t);if(e.indexOf("#")===0)throw new O('Cannot create a channel with name "'+e+'".');return G.createChannel(e,t)}}var $n={createChannels:function(){return new Kn},createConnectionManager:function(e,t){return new Gn(e,t)},createChannel:function(e,t){return new bt(e,t)},createPrivateChannel:function(e,t){return new mt(e,t)},createPresenceChannel:function(e,t){return new zn(e,t)},createEncryptedChannel:function(e,t,n){return new Jn(e,t,n)},createTimelineSender:function(e,t){return new En(e,t)},createHandshake:function(e,t){return new On(e,t)},createAssistantToTheTransportManager:function(e,t,n){return new Sn(e,t,n)}},G=$n,Zn=(function(){function e(t){this.options=t||{},this.livesLeft=this.options.lives||1/0}return e.prototype.getAssistant=function(t){return G.createAssistantToTheTransportManager(this,t,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})},e.prototype.isAlive=function(){return this.livesLeft>0},e.prototype.reportDeath=function(){this.livesLeft-=1},e})(),Gt=Zn,tr=(function(){function e(t,n){this.strategies=t,this.loop=!!n.loop,this.failFast=!!n.failFast,this.timeout=n.timeout,this.timeoutLimit=n.timeoutLimit}return e.prototype.isSupported=function(){return zt(this.strategies,j.method("isSupported"))},e.prototype.connect=function(t,n){var r=this,i=this.strategies,o=0,u=this.timeout,p=null,_=function(g,k){k?n(null,k):(o=o+1,r.loop&&(o=o%i.length),o0&&(o=new Q(r.timeout,function(){u.abort(),i(!0)})),u=t.connect(n,function(p,_){p&&o&&o.isRunning()&&!r.failFast||(o&&o.ensureAborted(),i(p,_))}),{abort:function(){o&&o.ensureAborted(),u.abort()},forceMinPriority:function(p){u.forceMinPriority(p)}}},e})(),Y=tr,er=(function(){function e(t){this.strategies=t}return e.prototype.isSupported=function(){return zt(this.strategies,j.method("isSupported"))},e.prototype.connect=function(t,n){return nr(this.strategies,t,function(r,i){return function(o,u){if(i[r].error=o,o){rr(i)&&n(!0);return}rt(i,function(p){p.forceMinPriority(u.transport.priority)}),n(null,u)}})},e})(),kt=er;function nr(e,t,n){var r=Dt(e,function(i,o,u,p){return i.connect(t,n(o,p))});return{abort:function(){rt(r,ir)},forceMinPriority:function(i){rt(r,function(o){o.forceMinPriority(i)})}}}function rr(e){return Me(e,function(t){return!!t.error})}function ir(e){!e.error&&!e.aborted&&(e.abort(),e.aborted=!0)}var or=(function(){function e(t,n,r){this.strategy=t,this.transports=n,this.ttl=r.ttl||1800*1e3,this.usingTLS=r.useTLS,this.timeline=r.timeline}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.usingTLS,i=ar(r),o=[this.strategy];if(i&&i.timestamp+this.ttl>=j.now()){var u=this.transports[i.transport];u&&(this.timeline.info({cached:!0,transport:i.transport,latency:i.latency}),o.push(new Y([u],{timeout:i.latency*2+1e3,failFast:!0})))}var p=j.now(),_=o.pop().connect(t,function g(k,E){k?(Qt(r),o.length>0?(p=j.now(),_=o.pop().connect(t,g)):n(k)):(cr(r,E.transport.name,j.now()-p),n(null,E))});return{abort:function(){_.abort()},forceMinPriority:function(g){t=g,_&&_.forceMinPriority(g)}}},e})(),sr=or;function St(e){return"pusherTransport"+(e?"TLS":"NonTLS")}function ar(e){var t=m.getLocalStorage();if(t)try{var n=t[St(e)];if(n)return JSON.parse(n)}catch{Qt(e)}return null}function cr(e,t,n){var r=m.getLocalStorage();if(r)try{r[St(e)]=ut({timestamp:j.now(),transport:t,latency:n})}catch{}}function Qt(e){var t=m.getLocalStorage();if(t)try{delete t[St(e)]}catch{}}var ur=(function(){function e(t,n){var r=n.delay;this.strategy=t,this.options={delay:r}}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.strategy,i,o=new Q(this.options.delay,function(){i=r.connect(t,n)});return{abort:function(){o.ensureAborted(),i&&i.abort()},forceMinPriority:function(u){t=u,i&&i.forceMinPriority(u)}}},e})(),lt=ur,hr=(function(){function e(t,n,r){this.test=t,this.trueBranch=n,this.falseBranch=r}return e.prototype.isSupported=function(){var t=this.test()?this.trueBranch:this.falseBranch;return t.isSupported()},e.prototype.connect=function(t,n){var r=this.test()?this.trueBranch:this.falseBranch;return r.connect(t,n)},e})(),it=hr,lr=(function(){function e(t){this.strategy=t}return e.prototype.isSupported=function(){return this.strategy.isSupported()},e.prototype.connect=function(t,n){var r=this.strategy.connect(t,function(i,o){o&&r.abort(),n(i,o)});return r},e})(),fr=lr;function ot(e){return function(){return e.isSupported()}}var pr=function(e,t,n){var r={};function i(ce,mi,wi,ki,Si){var ue=n(e,ce,mi,wi,ki,Si);return r[ce]=ue,ue}var o=Object.assign({},t,{hostNonTLS:e.wsHost+":"+e.wsPort,hostTLS:e.wsHost+":"+e.wssPort,httpPath:e.wsPath}),u=Object.assign({},o,{useTLS:!0}),p=Object.assign({},t,{hostNonTLS:e.httpHost+":"+e.httpPort,hostTLS:e.httpHost+":"+e.httpsPort,httpPath:e.httpPath}),_={loop:!0,timeout:15e3,timeoutLimit:6e4},g=new Gt({lives:2,minPingDelay:1e4,maxPingDelay:e.activityTimeout}),k=new Gt({lives:2,minPingDelay:1e4,maxPingDelay:e.activityTimeout}),E=i("ws","ws",3,o,g),X=i("wss","ws",3,u,g),vi=i("sockjs","sockjs",1,p),ne=i("xhr_streaming","xhr_streaming",1,p,k),yi=i("xdr_streaming","xdr_streaming",1,p,k),re=i("xhr_polling","xhr_polling",1,p),gi=i("xdr_polling","xdr_polling",1,p),ie=new Y([E],_),_i=new Y([X],_),bi=new Y([vi],_),oe=new Y([new it(ot(ne),ne,yi)],_),se=new Y([new it(ot(re),re,gi)],_),ae=new Y([new it(ot(oe),new kt([oe,new lt(se,{delay:4e3})]),se)],_),xt=new it(ot(ae),ae,bi),Ot;return t.useTLS?Ot=new kt([ie,new lt(xt,{delay:2e3})]):Ot=new kt([ie,new lt(_i,{delay:2e3}),new lt(xt,{delay:5e3})]),new sr(new fr(new it(ot(E),Ot,xt)),r,{ttl:18e5,timeline:t.timeline,useTLS:t.useTLS})},dr=pr,vr=(function(){var e=this;e.timeline.info(e.buildTimelineMessage({transport:e.name+(e.options.useTLS?"s":"")})),e.hooks.isInitialized()?e.changeState("initialized"):e.hooks.file?(e.changeState("initializing"),S.load(e.hooks.file,{useTLS:e.options.useTLS},function(t,n){e.hooks.isInitialized()?(e.changeState("initialized"),n(!0)):(t&&e.onError(t),e.onClose(),n(!1))})):e.onClose()}),yr={getRequest:function(e){var t=new window.XDomainRequest;return t.ontimeout=function(){e.emit("error",new I),e.close()},t.onerror=function(n){e.emit("error",n),e.close()},t.onprogress=function(){t.responseText&&t.responseText.length>0&&e.onChunk(200,t.responseText)},t.onload=function(){t.responseText&&t.responseText.length>0&&e.onChunk(200,t.responseText),e.emit("finished",200),e.close()},t},abortRequest:function(e){e.ontimeout=e.onerror=e.onprogress=e.onload=null,e.abort()}},gr=yr,_r=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),br=256*1024,mr=(function(e){_r(t,e);function t(n,r,i){var o=e.call(this)||this;return o.hooks=n,o.method=r,o.url=i,o}return t.prototype.start=function(n){var r=this;this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=function(){r.close()},m.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(n)},t.prototype.close=function(){this.unloader&&(m.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)},t.prototype.onChunk=function(n,r){for(;;){var i=this.advanceBuffer(r);if(i)this.emit("chunk",{status:n,data:i});else break}this.isBufferTooLong(r)&&this.emit("buffer_too_long")},t.prototype.advanceBuffer=function(n){var r=n.slice(this.position),i=r.indexOf(` +`);return i!==-1?(this.position+=i+1,r.slice(0,i)):null},t.prototype.isBufferTooLong=function(n){return this.position===n.length&&n.length>br},t})(V),wr=mr,Ct;(function(e){e[e.CONNECTING=0]="CONNECTING",e[e.OPEN=1]="OPEN",e[e.CLOSED=3]="CLOSED"})(Ct||(Ct={}));var $=Ct,kr=1,Sr=(function(){function e(t,n){this.hooks=t,this.session=Yt(1e3)+"/"+xr(8),this.location=Cr(n),this.readyState=$.CONNECTING,this.openStream()}return e.prototype.send=function(t){return this.sendRaw(JSON.stringify([t]))},e.prototype.ping=function(){this.hooks.sendHeartbeat(this)},e.prototype.close=function(t,n){this.onClose(t,n,!0)},e.prototype.sendRaw=function(t){if(this.readyState===$.OPEN)try{return m.createSocketRequest("POST",Kt(Tr(this.location,this.session))).start(t),!0}catch{return!1}else return!1},e.prototype.reconnect=function(){this.closeStream(),this.openStream()},e.prototype.onClose=function(t,n,r){this.closeStream(),this.readyState=$.CLOSED,this.onclose&&this.onclose({code:t,reason:n,wasClean:r})},e.prototype.onChunk=function(t){if(t.status===200){this.readyState===$.OPEN&&this.onActivity();var n,r=t.data.slice(0,1);switch(r){case"o":n=JSON.parse(t.data.slice(1)||"{}"),this.onOpen(n);break;case"a":n=JSON.parse(t.data.slice(1)||"[]");for(var i=0;i0&&e.onChunk(n.status,n.responseText);break;case 4:n.responseText&&n.responseText.length>0&&e.onChunk(n.status,n.responseText),e.emit("finished",n.status),e.close();break}},n},abortRequest:function(e){e.onreadystatechange=null,e.abort()}},jr=Ir,Nr={createStreamingSocket:function(e){return this.createSocket(Er,e)},createPollingSocket:function(e){return this.createSocket(Rr,e)},createSocket:function(e,t){return new Or(e,t)},createXHR:function(e,t){return this.createRequest(jr,e,t)},createRequest:function(e,t,n){return new wr(e,t,n)}},$t=Nr;$t.createXDR=function(e,t){return this.createRequest(gr,e,t)};var qr=$t,Ur={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:s,DependenciesReceivers:T,getDefaultStrategy:dr,Transports:_n,transportConnectionInitializer:vr,HTTPFactory:qr,TimelineTransport:Ze,getXHRAPI:function(){return window.XMLHttpRequest},getWebSocketAPI:function(){return window.WebSocket||window.MozWebSocket},setup:function(e){var t=this;window.Pusher=e;var n=function(){t.onDocumentBody(e.ready)};window.JSON?n():S.load("json2",{},n)},getDocument:function(){return document},getProtocol:function(){return this.getDocument().location.protocol},getAuthorizers:function(){return{ajax:Se,jsonp:We}},onDocumentBody:function(e){var t=this;document.body?e():setTimeout(function(){t.onDocumentBody(e)},0)},createJSONPRequest:function(e,t){return new Ke(e,t)},createScriptRequest:function(e){return new Ge(e)},getLocalStorage:function(){try{return window.localStorage}catch{return}},createXHR:function(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest:function(){var e=this.getXHRAPI();return new e},createMicrosoftXHR:function(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork:function(){return wn},createWebSocket:function(e){var t=this.getWebSocketAPI();return new t(e)},createSocketRequest:function(e,t){if(this.isXHRSupported())return this.HTTPFactory.createXHR(e,t);if(this.isXDRSupported(t.indexOf("https:")===0))return this.HTTPFactory.createXDR(e,t);throw"Cross-origin HTTP requests are not supported"},isXHRSupported:function(){var e=this.getXHRAPI();return!!e&&new e().withCredentials!==void 0},isXDRSupported:function(e){var t=e?"https:":"http:",n=this.getProtocol();return!!window.XDomainRequest&&n===t},addUnloadListener:function(e){window.addEventListener!==void 0?window.addEventListener("unload",e,!1):window.attachEvent!==void 0&&window.attachEvent("onunload",e)},removeUnloadListener:function(e){window.addEventListener!==void 0?window.removeEventListener("unload",e,!1):window.detachEvent!==void 0&&window.detachEvent("onunload",e)},randomInt:function(e){var t=function(){var n=window.crypto||window.msCrypto,r=n.getRandomValues(new Uint32Array(1))[0];return r/Math.pow(2,32)};return Math.floor(t()*e)}},m=Ur,Tt;(function(e){e[e.ERROR=3]="ERROR",e[e.INFO=6]="INFO",e[e.DEBUG=7]="DEBUG"})(Tt||(Tt={}));var ft=Tt,Dr=(function(){function e(t,n,r){this.key=t,this.session=n,this.events=[],this.options=r||{},this.sent=0,this.uniqueID=0}return e.prototype.log=function(t,n){t<=this.options.level&&(this.events.push(U({},n,{timestamp:j.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())},e.prototype.error=function(t){this.log(ft.ERROR,t)},e.prototype.info=function(t){this.log(ft.INFO,t)},e.prototype.debug=function(t){this.log(ft.DEBUG,t)},e.prototype.isEmpty=function(){return this.events.length===0},e.prototype.send=function(t,n){var r=this,i=U({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],t(i,function(o,u){o||r.sent++,n&&n(o,u)}),!0},e.prototype.generateUniqueID=function(){return this.uniqueID++,this.uniqueID},e})(),Hr=Dr,Mr=(function(){function e(t,n,r,i){this.name=t,this.priority=n,this.transport=r,this.options=i||{}}return e.prototype.isSupported=function(){return this.transport.isSupported({useTLS:this.options.useTLS})},e.prototype.connect=function(t,n){var r=this;if(this.isSupported()){if(this.priority"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ii(l){if(l===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l}function ji(l,h){if(h&&(typeof h=="object"||typeof h=="function"))return h;if(h!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ii(l)}function H(l){var h=Ri();return function(){var c=pt(l),s;if(h){var f=pt(this).constructor;s=Reflect.construct(c,arguments,f)}else s=c.apply(this,arguments);return ji(this,s)}}var Et=(function(){function l(){L(this,l)}return R(l,[{key:"listenForWhisper",value:function(a,c){return this.listen(".client-"+a,c)}},{key:"notification",value:function(a){return this.listen(".Illuminate\\Notifications\\Events\\BroadcastNotificationCreated",a)}},{key:"stopListeningForWhisper",value:function(a,c){return this.stopListening(".client-"+a,c)}}]),l})(),de=(function(){function l(h){L(this,l),this.namespace=h}return R(l,[{key:"format",value:function(a){return[".","\\"].includes(a.charAt(0))?a.substring(1):(this.namespace&&(a=this.namespace+"."+a),a.replace(/\./g,"\\"))}},{key:"setNamespace",value:function(a){this.namespace=a}}]),l})();function Ni(l){try{new l}catch(h){if(h.message.includes("is not a constructor"))return!1}return!0}var Lt=(function(l){D(a,l);var h=H(a);function a(c,s,f){var d;return L(this,a),d=h.call(this),d.name=s,d.pusher=c,d.options=f,d.eventFormatter=new de(d.options.namespace),d.subscribe(),d}return R(a,[{key:"subscribe",value:function(){this.subscription=this.pusher.subscribe(this.name)}},{key:"unsubscribe",value:function(){this.pusher.unsubscribe(this.name)}},{key:"listen",value:function(s,f){return this.on(this.eventFormatter.format(s),f),this}},{key:"listenToAll",value:function(s){var f=this;return this.subscription.bind_global(function(d,N){if(!d.startsWith("pusher:")){var P=f.options.namespace.replace(/\./g,"\\"),T=d.startsWith(P)?d.substring(P.length+1):"."+d;s(T,N)}}),this}},{key:"stopListening",value:function(s,f){return f?this.subscription.unbind(this.eventFormatter.format(s),f):this.subscription.unbind(this.eventFormatter.format(s)),this}},{key:"stopListeningToAll",value:function(s){return s?this.subscription.unbind_global(s):this.subscription.unbind_global(),this}},{key:"subscribed",value:function(s){return this.on("pusher:subscription_succeeded",function(){s()}),this}},{key:"error",value:function(s){return this.on("pusher:subscription_error",function(f){s(f)}),this}},{key:"on",value:function(s,f){return this.subscription.bind(s,f),this}}]),a})(Et),ve=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}}]),a})(Lt),qi=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}}]),a})(Lt),Ui=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this.on("pusher:subscription_succeeded",function(f){s(Object.keys(f.members).map(function(d){return f.members[d]}))}),this}},{key:"joining",value:function(s){return this.on("pusher:member_added",function(f){s(f.info)}),this}},{key:"whisper",value:function(s,f){return this.pusher.channels.channels[this.name].trigger("client-".concat(s),f),this}},{key:"leaving",value:function(s){return this.on("pusher:member_removed",function(f){s(f.info)}),this}}]),a})(ve),ye=(function(l){D(a,l);var h=H(a);function a(c,s,f){var d;return L(this,a),d=h.call(this),d.events={},d.listeners={},d.name=s,d.socket=c,d.options=f,d.eventFormatter=new de(d.options.namespace),d.subscribe(),d}return R(a,[{key:"subscribe",value:function(){this.socket.emit("subscribe",{channel:this.name,auth:this.options.auth||{}})}},{key:"unsubscribe",value:function(){this.unbind(),this.socket.emit("unsubscribe",{channel:this.name,auth:this.options.auth||{}})}},{key:"listen",value:function(s,f){return this.on(this.eventFormatter.format(s),f),this}},{key:"stopListening",value:function(s,f){return this.unbindEvent(this.eventFormatter.format(s),f),this}},{key:"subscribed",value:function(s){return this.on("connect",function(f){s(f)}),this}},{key:"error",value:function(s){return this}},{key:"on",value:function(s,f){var d=this;return this.listeners[s]=this.listeners[s]||[],this.events[s]||(this.events[s]=function(N,P){d.name===N&&d.listeners[s]&&d.listeners[s].forEach(function(T){return T(P)})},this.socket.on(s,this.events[s])),this.listeners[s].push(f),this}},{key:"unbind",value:function(){var s=this;Object.keys(this.events).forEach(function(f){s.unbindEvent(f)})}},{key:"unbindEvent",value:function(s,f){this.listeners[s]=this.listeners[s]||[],f&&(this.listeners[s]=this.listeners[s].filter(function(d){return d!==f})),(!f||this.listeners[s].length===0)&&(this.events[s]&&(this.socket.removeListener(s,this.events[s]),delete this.events[s]),delete this.listeners[s])}}]),a})(Et),ge=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this.socket.emit("client event",{channel:this.name,event:"client-".concat(s),data:f}),this}}]),a})(ye),Di=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this.on("presence:subscribed",function(f){s(f.map(function(d){return d.user_info}))}),this}},{key:"joining",value:function(s){return this.on("presence:joining",function(f){return s(f.user_info)}),this}},{key:"whisper",value:function(s,f){return this.socket.emit("client event",{channel:this.name,event:"client-".concat(s),data:f}),this}},{key:"leaving",value:function(s){return this.on("presence:leaving",function(f){return s(f.user_info)}),this}}]),a})(ge),dt=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"subscribe",value:function(){}},{key:"unsubscribe",value:function(){}},{key:"listen",value:function(s,f){return this}},{key:"listenToAll",value:function(s){return this}},{key:"stopListening",value:function(s,f){return this}},{key:"subscribed",value:function(s){return this}},{key:"error",value:function(s){return this}},{key:"on",value:function(s,f){return this}}]),a})(Et),_e=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this}}]),a})(dt),Hi=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"whisper",value:function(s,f){return this}}]),a})(dt),Mi=(function(l){D(a,l);var h=H(a);function a(){return L(this,a),h.apply(this,arguments)}return R(a,[{key:"here",value:function(s){return this}},{key:"joining",value:function(s){return this}},{key:"whisper",value:function(s,f){return this}},{key:"leaving",value:function(s){return this}}]),a})(_e),Rt=(function(){function l(h){L(this,l),this._defaultOptions={auth:{headers:{}},authEndpoint:"/broadcasting/auth",userAuthentication:{endpoint:"/broadcasting/user-auth",headers:{}},broadcaster:"pusher",csrfToken:null,bearerToken:null,host:null,key:null,namespace:"App.Events"},this.setOptions(h),this.connect()}return R(l,[{key:"setOptions",value:function(a){this.options=at(this._defaultOptions,a);var c=this.csrfToken();return c&&(this.options.auth.headers["X-CSRF-TOKEN"]=c,this.options.userAuthentication.headers["X-CSRF-TOKEN"]=c),c=this.options.bearerToken,c&&(this.options.auth.headers.Authorization="Bearer "+c,this.options.userAuthentication.headers.Authorization="Bearer "+c),a}},{key:"csrfToken",value:function(){var a;return typeof window<"u"&&window.Laravel&&window.Laravel.csrfToken?window.Laravel.csrfToken:this.options.csrfToken?this.options.csrfToken:typeof document<"u"&&typeof document.querySelector=="function"&&(a=document.querySelector('meta[name="csrf-token"]'))?a.getAttribute("content"):null}}]),l})(),fe=(function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){typeof this.options.client<"u"?this.pusher=this.options.client:this.options.Pusher?this.pusher=new this.options.Pusher(this.options.key,this.options):this.pusher=new Pusher(this.options.key,this.options)}},{key:"signin",value:function(){this.pusher.signin()}},{key:"listen",value:function(s,f,d){return this.channel(s).listen(f,d)}},{key:"channel",value:function(s){return this.channels[s]||(this.channels[s]=new Lt(this.pusher,s,this.options)),this.channels[s]}},{key:"privateChannel",value:function(s){return this.channels["private-"+s]||(this.channels["private-"+s]=new ve(this.pusher,"private-"+s,this.options)),this.channels["private-"+s]}},{key:"encryptedPrivateChannel",value:function(s){return this.channels["private-encrypted-"+s]||(this.channels["private-encrypted-"+s]=new qi(this.pusher,"private-encrypted-"+s,this.options)),this.channels["private-encrypted-"+s]}},{key:"presenceChannel",value:function(s){return this.channels["presence-"+s]||(this.channels["presence-"+s]=new Ui(this.pusher,"presence-"+s,this.options)),this.channels["presence-"+s]}},{key:"leave",value:function(s){var f=this,d=[s,"private-"+s,"private-encrypted-"+s,"presence-"+s];d.forEach(function(N,P){f.leaveChannel(N)})}},{key:"leaveChannel",value:function(s){this.channels[s]&&(this.channels[s].unsubscribe(),delete this.channels[s])}},{key:"socketId",value:function(){return this.pusher.connection.socket_id}},{key:"disconnect",value:function(){this.pusher.disconnect()}}]),a})(Rt),pe=(function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){var s=this,f=this.getSocketIO();return this.socket=f(this.options.host,this.options),this.socket.on("reconnect",function(){Object.values(s.channels).forEach(function(d){d.subscribe()})}),this.socket}},{key:"getSocketIO",value:function(){if(typeof this.options.client<"u")return this.options.client;if(typeof io<"u")return io;throw new Error("Socket.io client not found. Should be globally available or passed via options.client")}},{key:"listen",value:function(s,f,d){return this.channel(s).listen(f,d)}},{key:"channel",value:function(s){return this.channels[s]||(this.channels[s]=new ye(this.socket,s,this.options)),this.channels[s]}},{key:"privateChannel",value:function(s){return this.channels["private-"+s]||(this.channels["private-"+s]=new ge(this.socket,"private-"+s,this.options)),this.channels["private-"+s]}},{key:"presenceChannel",value:function(s){return this.channels["presence-"+s]||(this.channels["presence-"+s]=new Di(this.socket,"presence-"+s,this.options)),this.channels["presence-"+s]}},{key:"leave",value:function(s){var f=this,d=[s,"private-"+s,"presence-"+s];d.forEach(function(N){f.leaveChannel(N)})}},{key:"leaveChannel",value:function(s){this.channels[s]&&(this.channels[s].unsubscribe(),delete this.channels[s])}},{key:"socketId",value:function(){return this.socket.id}},{key:"disconnect",value:function(){this.socket.disconnect()}}]),a})(Rt),zi=(function(l){D(a,l);var h=H(a);function a(){var c;return L(this,a),c=h.apply(this,arguments),c.channels={},c}return R(a,[{key:"connect",value:function(){}},{key:"listen",value:function(s,f,d){return new dt}},{key:"channel",value:function(s){return new dt}},{key:"privateChannel",value:function(s){return new _e}},{key:"encryptedPrivateChannel",value:function(s){return new Hi}},{key:"presenceChannel",value:function(s){return new Mi}},{key:"leave",value:function(s){}},{key:"leaveChannel",value:function(s){}},{key:"socketId",value:function(){return"fake-socket-id"}},{key:"disconnect",value:function(){}}]),a})(Rt),be=(function(){function l(h){L(this,l),this.options=h,this.connect(),this.options.withoutInterceptors||this.registerInterceptors()}return R(l,[{key:"channel",value:function(a){return this.connector.channel(a)}},{key:"connect",value:function(){if(this.options.broadcaster=="reverb")this.connector=new fe(at(at({},this.options),{cluster:""}));else if(this.options.broadcaster=="pusher")this.connector=new fe(this.options);else if(this.options.broadcaster=="socket.io")this.connector=new pe(this.options);else if(this.options.broadcaster=="null")this.connector=new zi(this.options);else if(typeof this.options.broadcaster=="function"&&Ni(this.options.broadcaster))this.connector=new this.options.broadcaster(this.options);else throw new Error("Broadcaster ".concat(st(this.options.broadcaster)," ").concat(this.options.broadcaster," is not supported."))}},{key:"disconnect",value:function(){this.connector.disconnect()}},{key:"join",value:function(a){return this.connector.presenceChannel(a)}},{key:"leave",value:function(a){this.connector.leave(a)}},{key:"leaveChannel",value:function(a){this.connector.leaveChannel(a)}},{key:"leaveAllChannels",value:function(){for(var a in this.connector.channels)this.leaveChannel(a)}},{key:"listen",value:function(a,c,s){return this.connector.listen(a,c,s)}},{key:"private",value:function(a){return this.connector.privateChannel(a)}},{key:"encryptedPrivate",value:function(a){if(this.connector instanceof pe)throw new Error("Broadcaster ".concat(st(this.options.broadcaster)," ").concat(this.options.broadcaster," does not support encrypted private channels."));return this.connector.encryptedPrivateChannel(a)}},{key:"socketId",value:function(){return this.connector.socketId()}},{key:"registerInterceptors",value:function(){typeof Vue=="function"&&Vue.http&&this.registerVueRequestInterceptor(),typeof axios=="function"&&this.registerAxiosRequestInterceptor(),typeof jQuery=="function"&&this.registerjQueryAjaxSetup(),(typeof Turbo>"u"?"undefined":st(Turbo))==="object"&&this.registerTurboRequestInterceptor()}},{key:"registerVueRequestInterceptor",value:function(){var a=this;Vue.http.interceptors.push(function(c,s){a.socketId()&&c.headers.set("X-Socket-ID",a.socketId()),s()})}},{key:"registerAxiosRequestInterceptor",value:function(){var a=this;axios.interceptors.request.use(function(c){return a.socketId()&&(c.headers["X-Socket-Id"]=a.socketId()),c})}},{key:"registerjQueryAjaxSetup",value:function(){var a=this;typeof jQuery.ajax<"u"&&jQuery.ajaxPrefilter(function(c,s,f){a.socketId()&&f.setRequestHeader("X-Socket-Id",a.socketId())})}},{key:"registerTurboRequestInterceptor",value:function(){var a=this;document.addEventListener("turbo:before-fetch-request",function(c){c.detail.fetchOptions.headers["X-Socket-Id"]=a.socketId()})}}]),l})();var we=Li(me(),1);window.EchoFactory=be;window.Pusher=we.default;})(); /*! Bundled license information: pusher-js/dist/web/pusher.js: diff --git a/public/js/filament/forms/components/checkbox-list.js b/public/js/filament/forms/components/checkbox-list.js new file mode 100644 index 000000000..6150d1850 --- /dev/null +++ b/public/js/filament/forms/components/checkbox-list.js @@ -0,0 +1 @@ +function c({livewireId:s}){return{areAllCheckboxesChecked:!1,checkboxListOptions:[],search:"",visibleCheckboxListOptions:[],init(){this.checkboxListOptions=Array.from(this.$root.querySelectorAll(".fi-fo-checkbox-list-option")),this.updateVisibleCheckboxListOptions(),this.$nextTick(()=>{this.checkIfAllCheckboxesAreChecked()}),Livewire.hook("commit",({component:e,commit:t,succeed:i,fail:o,respond:h})=>{i(({snapshot:r,effect:l})=>{this.$nextTick(()=>{e.id===s&&(this.checkboxListOptions=Array.from(this.$root.querySelectorAll(".fi-fo-checkbox-list-option")),this.updateVisibleCheckboxListOptions(),this.checkIfAllCheckboxesAreChecked())})})}),this.$watch("search",()=>{this.updateVisibleCheckboxListOptions(),this.checkIfAllCheckboxesAreChecked()})},checkIfAllCheckboxesAreChecked(){this.areAllCheckboxesChecked=this.visibleCheckboxListOptions.length===this.visibleCheckboxListOptions.filter(e=>e.querySelector("input[type=checkbox]:checked, input[type=checkbox]:disabled")).length},toggleAllCheckboxes(){this.checkIfAllCheckboxesAreChecked();let e=!this.areAllCheckboxesChecked;this.visibleCheckboxListOptions.forEach(t=>{let i=t.querySelector("input[type=checkbox]");i.disabled||i.checked!==e&&(i.checked=e,i.dispatchEvent(new Event("change")))}),this.areAllCheckboxesChecked=e},updateVisibleCheckboxListOptions(){this.visibleCheckboxListOptions=this.checkboxListOptions.filter(e=>["",null,void 0].includes(this.search)||e.querySelector(".fi-fo-checkbox-list-option-label")?.innerText.toLowerCase().includes(this.search.toLowerCase())?!0:e.querySelector(".fi-fo-checkbox-list-option-description")?.innerText.toLowerCase().includes(this.search.toLowerCase()))}}}export{c as default}; diff --git a/public/js/filament/forms/components/code-editor.js b/public/js/filament/forms/components/code-editor.js new file mode 100644 index 000000000..9bee207f3 --- /dev/null +++ b/public/js/filament/forms/components/code-editor.js @@ -0,0 +1,38 @@ +var Ms=[],Xh=[];(()=>{let O="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(O=Xh[i])e=i+1;else return!0;if(e==t)return!1}}function gh(O){return O>=127462&&O<=127487}var Ph=8205;function Th(O,e,t=!0,i=!0){return(t?bh:Ug)(O,e,i)}function bh(O,e,t){if(e==O.length)return e;e&&yh(O.charCodeAt(e))&&xh(O.charCodeAt(e-1))&&e--;let i=Ls(O,e);for(e+=Sh(i);e=0&&gh(Ls(O,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function Ug(O,e,t){for(;e>0;){let i=bh(O,e-2,t);if(i=56320&&O<57344}function xh(O){return O>=55296&&O<56320}function Sh(O){return O<65536?1:2}var E=class O{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=NO(this,e,t);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),DO.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=NO(this,e,t);let i=[];return this.decompose(e,t,i,0),DO.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),r=new $O(this),n=new $O(e);for(let s=t,a=t;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(a+=r.value.length,r.done||a>=i)return!0}}iter(e=1){return new $O(this,e)}iterRange(e,t=this.length){return new Dr(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ir(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?O.empty:e.length<=32?new Ae(e):DO.from(Ae.split(e,[]))}},Ae=class O extends E{constructor(e,t=Wg(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let n=0;;n++){let s=this.text[n],a=r+s.length;if((t?i:a)>=e)return new Is(r,a,i,s);r=a+1,i++}}decompose(e,t,i,r){let n=e<=0&&t>=this.length?this:new O(kh(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let s=i.pop(),a=Mr(n.text,s.text.slice(),0,n.length);if(a.length<=32)i.push(new O(a,s.length+n.length));else{let o=a.length>>1;i.push(new O(a.slice(0,o)),new O(a.slice(o)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof O))return super.replace(e,t,i);[e,t]=NO(this,e,t);let r=Mr(this.text,Mr(i.text,kh(this.text,0,e)),t),n=this.length+i.length-(t-e);return r.length<=32?new O(r,n):DO.from(O.split(r,[]),n)}sliceString(e,t=this.length,i=` +`){[e,t]=NO(this,e,t);let r="";for(let n=0,s=0;n<=t&&se&&s&&(r+=i),en&&(r+=a.slice(Math.max(0,e-n),t-n)),n=o+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let n of e)i.push(n),r+=n.length+1,i.length==32&&(t.push(new O(i,r)),i=[],r=-1);return r>-1&&t.push(new O(i,r)),t}},DO=class O extends E{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let n=0;;n++){let s=this.children[n],a=r+s.length,o=i+s.lines-1;if((t?o:a)>=e)return s.lineInner(e,t,i,r);r=a+1,i=o+1}}decompose(e,t,i,r){for(let n=0,s=0;s<=t&&n=s){let l=r&((s<=e?1:0)|(o>=t?2:0));s>=e&&o<=t&&!l?i.push(a):a.decompose(e-s,t-s,i,l)}s=o+1}}replace(e,t,i){if([e,t]=NO(this,e,t),i.lines=n&&t<=a){let o=s.replace(e-n,t-n,i),l=this.lines-s.lines+o.lines;if(o.lines>4&&o.lines>l>>6){let c=this.children.slice();return c[r]=o,new O(c,this.length-(t-e)+i.length)}return super.replace(n,a,o)}n=a+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=` +`){[e,t]=NO(this,e,t);let r="";for(let n=0,s=0;ne&&n&&(r+=i),es&&(r+=a.sliceString(e-s,t-s,i)),s=o+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof O))return 0;let i=0,[r,n,s,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,n+=t){if(r==s||n==a)return i;let o=this.children[r],l=e.children[n];if(o!=l)return i+o.scanIdentical(l,t);i+=o.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let u of e)i+=u.lines;if(i<32){let u=[];for(let Q of e)Q.flatten(u);return new Ae(u,t)}let r=Math.max(32,i>>5),n=r<<1,s=r>>1,a=[],o=0,l=-1,c=[];function h(u){let Q;if(u.lines>n&&u instanceof O)for(let $ of u.children)h($);else u.lines>s&&(o>s||!o)?(f(),a.push(u)):u instanceof Ae&&o&&(Q=c[c.length-1])instanceof Ae&&u.lines+Q.lines<=32?(o+=u.lines,l+=u.length+1,c[c.length-1]=new Ae(Q.text.concat(u.text),Q.length+1+u.length)):(o+u.lines>r&&f(),o+=u.lines,l+=u.length+1,c.push(u))}function f(){o!=0&&(a.push(c.length==1?c[0]:O.from(c,l)),l=-1,o=c.length=0)}for(let u of e)h(u);return f(),a.length==1?a[0]:new O(a,t)}};E.empty=new Ae([""],0);function Wg(O){let e=-1;for(let t of O)e+=t.length+1;return e}function Mr(O,e,t=0,i=1e9){for(let r=0,n=0,s=!0;n=t&&(o>i&&(a=a.slice(0,i-r)),r0?1:(e instanceof Ae?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],n=this.offsets[i],s=n>>1,a=r instanceof Ae?r.text.length:r.children.length;if(s==(t>0?a:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(r instanceof Ae){let o=r.text[s+(t<0?-1:0)];if(this.offsets[i]+=t,o.length>Math.max(0,e))return this.value=e==0?o:t>0?o.slice(e):o.slice(0,o.length-e),this;e-=o.length}else{let o=r.children[s+(t<0?-1:0)];e>o.length?(e-=o.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(o),this.offsets.push(t>0?1:(o instanceof Ae?o.text.length:o.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Dr=class{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new $O(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ir=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(E.prototype[Symbol.iterator]=function(){return this.iter()},$O.prototype[Symbol.iterator]=Dr.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=function(){return this});var Is=class{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}};function NO(O,e,t){return e=Math.max(0,Math.min(O.length,e)),[e,Math.max(e,Math.min(O.length,t))]}function fe(O,e,t=!0,i=!0){return Th(O,e,t,i)}function jg(O){return O>=56320&&O<57344}function Cg(O){return O>=55296&&O<56320}function Se(O,e){let t=O.charCodeAt(e);if(!Cg(t)||e+1==O.length)return t;let i=O.charCodeAt(e+1);return jg(i)?(t-55296<<10)+(i-56320)+65536:t}function Ri(O){return O<=65535?String.fromCharCode(O):(O-=65536,String.fromCharCode((O>>10)+55296,(O&1023)+56320))}function Me(O){return O<65536?1:2}var Bs=/\r\n?|\n/,pe=(function(O){return O[O.Simple=0]="Simple",O[O.TrackDel=1]="TrackDel",O[O.TrackBefore=2]="TrackBefore",O[O.TrackAfter=3]="TrackAfter",O})(pe||(pe={})),vt=class O{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return n+(e-r);n+=a}else{if(i!=pe.Simple&&l>=e&&(i==pe.TrackDel&&re||i==pe.TrackBefore&&re))return null;if(l>e||l==e&&t<0&&!a)return e==r||t<0?n:n+o;n+=o}r=l}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,t=e){for(let i=0,r=0;i=0&&r<=t&&a>=e)return rt?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new O(e)}static create(e){return new O(e)}},Ze=class O extends vt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Ns(this,(t,i,r,n,s)=>e=e.replace(r,r+(i-t),s),!1),e}mapDesc(e,t=!1){return Fs(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,n=0;r=0){t[r]=a,t[r+1]=s;let o=r>>1;for(;i.length0&&Mt(i,t,n.text),n.forward(c),a+=c}let l=e[s++];for(;a>1].toJSON()))}return e}static of(e,t,i){let r=[],n=[],s=0,a=null;function o(c=!1){if(!c&&!r.length)return;sf||h<0||f>t)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${t})`);let Q=u?typeof u=="string"?E.of(u.split(i||Bs)):u:E.empty,$=Q.length;if(h==f&&$==0)return;hs&&ye(r,h-s,-1),ye(r,f-h,$),Mt(n,r,Q),s=f}}return l(e),o(!a),a}static empty(e){return new O(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;ra&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)t.push(n[0],0);else{for(;i.length=0&&t<=0&&t==O[r+1]?O[r]+=e:r>=0&&e==0&&O[r]==0?O[r+1]+=t:i?(O[r]+=e,O[r+1]+=t):O.push(e,t)}function Mt(O,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i>1])),!(t||s==O.sections.length||O.sections[s+1]<0);)a=O.sections[s++],o=O.sections[s++];e(r,l,n,c,h),r=l,n=c}}}function Fs(O,e,t,i=!1){let r=[],n=i?[]:null,s=new pO(O),a=new pO(e);for(let o=-1;;){if(s.done&&a.len||a.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&a.ins==-1){let l=Math.min(s.len,a.len);ye(r,l,-1),s.forward(l),a.forward(l)}else if(a.ins>=0&&(s.ins<0||o==s.i||s.off==0&&(a.len=0&&o=0){let l=0,c=s.len;for(;c;)if(a.ins==-1){let h=Math.min(c,a.len);l+=h,c-=h,a.forward(h)}else if(a.ins==0&&a.leno||s.ins>=0&&s.len>o)&&(a||i.length>l),n.forward2(o),s.forward(o)}}}}var pO=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?E.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?E.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},MO=class O{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new O(i,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return S.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return S.range(this.anchor,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return S.range(e.anchor,e.head)}static create(e,t,i){return new O(e,t,i)}},S=class O{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:O.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new O(e.ranges.map(t=>MO.fromJSON(t)),e.main)}static single(e,t=e){return new O([O.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;re?8:0)|n)}static normalized(e,t=0){let i=e[t];e.sort((r,n)=>r.from-n.from),t=e.indexOf(i);for(let r=1;rn.head?O.range(o,a):O.range(a,o))}}return new O(e,t)}};function Rh(O,e){for(let t of O.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var sa=0,Z=class O{constructor(e,t,i,r,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=sa++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new O(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:aa),!!e.static,e.enables)}of(e){return new IO([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new IO(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new IO(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}};function aa(O,e){return O==e||O.length==e.length&&O.every((t,i)=>t===e[i])}var IO=class{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=sa++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,a=this.type==2,o=!1,l=!1,c=[];for(let h of this.dependencies)h=="doc"?o=!0:h=="selection"?l=!0:(((t=e[h.id])!==null&&t!==void 0?t:1)&1)==0&&c.push(e[h.id]);return{create(h){return h.values[s]=i(h),1},update(h,f){if(o&&f.docChanged||l&&(f.docChanged||f.selection)||Hs(h,c)){let u=i(h);if(a?!wh(u,h.values[s],r):!r(u,h.values[s]))return h.values[s]=u,1}return 0},reconfigure:(h,f)=>{let u,Q=f.config.address[n];if(Q!=null){let $=Fr(f,Q);if(this.dependencies.every(p=>p instanceof Z?f.facet(p)===h.facet(p):p instanceof ce?f.field(p,!1)==h.field(p,!1):!0)||(a?wh(u=i(h),$,r):r(u=i(h),$)))return h.values[s]=$,0}else u=i(h);return h.values[s]=u,1}}}};function wh(O,e,t){if(O.length!=e.length)return!1;for(let i=0;iO[o.id]),r=t.map(o=>o.type),n=i.filter(o=>!(o&1)),s=O[e.id]>>1;function a(o){let l=[];for(let c=0;ci===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Er).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let n=i.values[t],s=this.updateF(n,r);return this.compareF(n,s)?0:(i.values[t]=s,1)},reconfigure:(i,r)=>{let n=i.facet(Er),s=r.facet(Er),a;return(a=n.find(o=>o.field==this))&&a!=s.find(o=>o.field==this)?(i.values[t]=a.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Er.of({field:this,create:e})]}get extension(){return this}},uO={lowest:4,low:3,default:2,high:1,highest:0};function wi(O){return e=>new Br(e,O)}var ze={highest:wi(uO.highest),high:wi(uO.high),default:wi(uO.default),low:wi(uO.low),lowest:wi(uO.lowest)},Br=class{constructor(e,t){this.inner=e,this.prec=t}},FO=class O{of(e){return new vi(this,e)}reconfigure(e){return O.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},vi=class{constructor(e,t){this.compartment=e,this.inner=t}},Nr=class O{constructor(e,t,i,r,n,s){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let r=[],n=Object.create(null),s=new Map;for(let f of Eg(e,t,s))f instanceof ce?r.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let a=Object.create(null),o=[],l=[];for(let f of r)a[f.id]=l.length<<1,l.push(u=>f.slot(u));let c=i?.config.facets;for(let f in n){let u=n[f],Q=u[0].facet,$=c&&c[f]||[];if(u.every(p=>p.type==0))if(a[Q.id]=o.length<<1|1,aa($,u))o.push(i.facet(Q));else{let p=Q.combine(u.map(m=>m.value));o.push(i&&Q.compare(p,i.facet(Q))?i.facet(Q):p)}else{for(let p of u)p.type==0?(a[p.id]=o.length<<1|1,o.push(p.value)):(a[p.id]=l.length<<1,l.push(m=>p.dynamicSlot(m)));a[Q.id]=l.length<<1,l.push(p=>Gg(p,Q,u))}}let h=l.map(f=>f(a));return new O(e,s,h,a,o,n)}};function Eg(O,e,t){let i=[[],[],[],[],[]],r=new Map;function n(s,a){let o=r.get(s);if(o!=null){if(o<=a)return;let l=i[o].indexOf(s);l>-1&&i[o].splice(l,1),s instanceof vi&&t.delete(s.compartment)}if(r.set(s,a),Array.isArray(s))for(let l of s)n(l,a);else if(s instanceof vi){if(t.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let l=e.get(s.compartment)||s.inner;t.set(s.compartment,l),n(l,a)}else if(s instanceof Br)n(s.inner,s.prec);else if(s instanceof ce)i[a].push(s),s.provides&&n(s.provides,a);else if(s instanceof IO)i[a].push(s),s.facet.extensions&&n(s.facet.extensions,uO.default);else{let l=s.extension;if(!l)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(l,a)}}return n(O,uO.default),i.reduce((s,a)=>s.concat(a))}function Zi(O,e){if(e&1)return 2;let t=e>>1,i=O.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;O.status[t]=4;let r=O.computeSlot(O,O.config.dynamicSlots[t]);return O.status[t]=2|r}function Fr(O,e){return e&1?O.config.staticValues[e>>1]:O.values[e>>1]}var Vh=Z.define(),Ks=Z.define({combine:O=>O.some(e=>e),static:!0}),qh=Z.define({combine:O=>O.length?O[0]:void 0,static:!0}),zh=Z.define(),Uh=Z.define(),Wh=Z.define(),jh=Z.define({combine:O=>O.length?O[0]:!1}),qe=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Js}},Js=class{of(e){return new qe(this,e)}},ea=class{constructor(e){this.map=e}of(e){return new V(this,e)}},V=class O{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new O(this.type,t)}is(e){return this.type==e}static define(e={}){return new ea(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let n=r.map(t);n&&i.push(n)}return i}};V.reconfigure=V.define();V.appendConfig=V.define();var Qe=class O{constructor(e,t,i,r,n,s){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,i&&Rh(i,t.newLength),n.some(a=>a.type==O.time)||(this.annotations=n.concat(O.time.of(Date.now())))}static create(e,t,i,r,n,s){return new O(e,t,i,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(O.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};Qe.time=qe.define();Qe.userEvent=qe.define();Qe.addToHistory=qe.define();Qe.remote=qe.define();function Ag(O,e){let t=[];for(let i=0,r=0;;){let n,s;if(i=O[i]))n=O[i++],s=O[i++];else if(r=0;r--){let n=i[r](O);n instanceof Qe?O=n:Array.isArray(n)&&n.length==1&&n[0]instanceof Qe?O=n[0]:O=Gh(e,BO(n),!1)}return O}function Mg(O){let e=O.startState,t=e.facet(Wh),i=O;for(let r=t.length-1;r>=0;r--){let n=t[r](O);n&&Object.keys(n).length&&(i=Ch(i,ta(e,n,O.changes.newLength),!0))}return i==O?O:Qe.create(e,O.changes,O.selection,i.effects,i.annotations,i.scrollIntoView)}var Dg=[];function BO(O){return O==null?Dg:Array.isArray(O)?O:[O]}var ee=(function(O){return O[O.Word=0]="Word",O[O.Space=1]="Space",O[O.Other=2]="Other",O})(ee||(ee={})),Ig=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Oa;try{Oa=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function Bg(O){if(Oa)return Oa.test(O);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Ig.test(t)))return!0}return!1}function Ng(O){return e=>{if(!/\S/.test(e))return ee.Space;if(Bg(e))return ee.Word;for(let t=0;t-1)return ee.Word;return ee.Other}}var I=class O{constructor(e,t,i,r,n,s){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let a=0;ar.set(l,o)),t=null),r.set(a.value.compartment,a.value.extension)):a.is(V.reconfigure)?(t=null,i=a.value):a.is(V.appendConfig)&&(t=null,i=BO(i).concat(a.value));let n;t?n=e.startState.values.slice():(t=Nr.resolve(i,r,this),n=new O(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(o,l)=>l.reconfigure(o,this),null).values);let s=e.startState.facet(Ks)?e.newSelection:e.newSelection.asSingle();new O(t,e.newDoc,s,n,(a,o)=>o.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:S.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),n=[i.range],s=BO(i.effects);for(let a=1;as.spec.fromJSON(a,o)))}}return O.create({doc:e.doc,selection:S.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Nr.resolve(e.extensions||[],new Map),i=e.doc instanceof E?e.doc:E.of((e.doc||"").split(t.staticFacet(O.lineSeparator)||Bs)),r=e.selection?e.selection instanceof S?e.selection:S.single(e.selection.anchor,e.selection.head):S.single(0);return Rh(r,i.length),t.staticFacet(Ks)||(r=r.asSingle()),new O(t,i,r,t.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(O.tabSize)}get lineBreak(){return this.facet(O.lineSeparator)||` +`}get readOnly(){return this.facet(jh)}phrase(e,...t){for(let i of this.facet(O.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>t.length?i:t[n-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let n of this.facet(Vh))for(let s of n(this,t,i))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Ng(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-i,a=e-i;for(;s>0;){let o=fe(t,s,!1);if(n(t.slice(o,s))!=ee.Word)break;s=o}for(;aO.length?O[0]:4});I.lineSeparator=qh;I.readOnly=jh;I.phrases=Z.define({compare(O,e){let t=Object.keys(O),i=Object.keys(e);return t.length==i.length&&t.every(r=>O[r]==e[r])}});I.languageData=Vh;I.changeFilter=zh;I.transactionFilter=Uh;I.transactionExtender=Wh;FO.reconfigure=V.define();function xe(O,e,t={}){let i={};for(let r of O)for(let n of Object.keys(r)){let s=r[n],a=i[n];if(a===void 0)i[n]=s;else if(!(a===s||s===void 0))if(Object.hasOwnProperty.call(t,n))i[n]=t[n](a,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}var tt=class{eq(e){return this==e}range(e,t=e){return Yi.create(e,t,this)}};tt.prototype.startSide=tt.prototype.endSide=0;tt.prototype.point=!1;tt.prototype.mapMode=pe.TrackDel;function oa(O,e){return O==e||O.constructor==e.constructor&&O.eq(e)}var Yi=class O{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new O(e,t,i)}};function ia(O,e){return O.from-e.from||O.value.startSide-e.value.startSide}var ra=class O{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){let n=i?this.to:this.from;for(let s=r,a=n.length;;){if(s==a)return s;let o=s+a>>1,l=n[o]-e||(i?this.value[o].endSide:this.value[o].startSide)-t;if(o==s)return l>=0?s:a;l>=0?a=o:s=o+1}}between(e,t,i,r){for(let n=this.findIndex(t,-1e9,!0),s=this.findIndex(i,1e9,!1,n);nu||f==u&&l.startSide>0&&l.endSide<=0)continue;(u-f||l.endSide-l.startSide)<0||(s<0&&(s=f),l.point&&(a=Math.max(a,u-f)),i.push(l),r.push(f-s),n.push(u-s))}return{mapped:i.length?new O(r,n,i,a):null,pos:s}}},M=class O{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new O(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(t.length==0&&!s)return this;if(i&&(t=t.slice().sort(ia)),this.isEmpty)return t.length?O.of(t):this;let a=new Hr(this,null,-1).goto(0),o=0,l=[],c=new Le;for(;a.value||o=0){let h=t[o++];c.addInner(h.from,h.to,h.value)||l.push(h)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||na.to||n=n&&e<=n+s.length&&s.between(n,e-n,t-n,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return _i.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return _i.from(e).goto(t)}static compare(e,t,i,r,n=-1){let s=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=n),a=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=n),o=Zh(s,a,i),l=new QO(s,o,n),c=new QO(a,o,n);i.iterGaps((h,f,u)=>vh(l,h,c,f,u,r)),i.empty&&i.length==0&&vh(l,0,c,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let n=e.filter(c=>!c.isEmpty&&t.indexOf(c)<0),s=t.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let a=Zh(n,s),o=new QO(n,a,0).goto(i),l=new QO(s,a,0).goto(i);for(;;){if(o.to!=l.to||!na(o.active,l.active)||o.point&&(!l.point||!oa(o.point,l.point)))return!1;if(o.to>r)return!0;o.next(),l.next()}}static spans(e,t,i,r,n=-1){let s=new QO(e,null,n).goto(t),a=t,o=s.openStart;for(;;){let l=Math.min(s.to,i);if(s.point){let c=s.activeForPoint(s.to),h=s.pointFroma&&(r.span(a,l,s.active,o),o=s.openEnd(l));if(s.to>i)return o+(s.point&&s.to>i?1:0);a=s.to,s.next()}}static of(e,t=!1){let i=new Le;for(let r of e instanceof Yi?[e]:t?Fg(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return O.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=O.empty;r=r.nextLayer)t=new O(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};M.empty=new M([],[],null,-1);function Fg(O){if(O.length>1)for(let e=O[0],t=1;t0)return O.slice().sort(ia);e=i}return O}M.empty.nextLayer=M.empty;var Le=class O{finishChunk(e){this.chunks.push(new ra(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new O)).add(e,t,i)}addInner(e,t,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(M.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=M.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Zh(O,e,t){let i=new Map;for(let n of O)for(let s=0;s=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&r.push(new Hr(s,t,i,n));return r.length==1?r[0]:new O(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)Ds(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)Ds(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ds(this.heap,0)}}};function Ds(O,e){for(let t=O[e];;){let i=(e<<1)+1;if(i>=O.length)break;let r=O[i];if(i+1=0&&(r=O[i+1],i++),t.compare(r)<0)break;O[i]=t,O[e]=r,e=i}}var QO=class{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=_i.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ar(this.active,e),Ar(this.activeTo,e),Ar(this.activeRank,e),this.minActive=Yh(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:n}=this.cursor;for(;t0;)t++;Lr(this.active,t,i),Lr(this.activeTo,t,r),Lr(this.activeRank,t,n),e&&Lr(e,t,this.cursor.from),this.minActive=Yh(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&Ar(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[r]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}};function vh(O,e,t,i,r,n){O.goto(e),t.goto(i);let s=i+r,a=i,o=i-e,l=!!n.boundChange;for(let c=!1;;){let h=O.to+o-t.to,f=h||O.endSide-t.endSide,u=f<0?O.to+o:t.to,Q=Math.min(u,s);if(O.point||t.point?(O.point&&t.point&&oa(O.point,t.point)&&na(O.activeForPoint(O.to),t.activeForPoint(t.to))||n.comparePoint(a,Q,O.point,t.point),c=!1):(c&&n.boundChange(a),Q>a&&!na(O.active,t.active)&&n.compareRange(a,Q,O.active,t.active),l&&Qs)break;a=u,f<=0&&O.next(),f>=0&&t.next()}}function na(O,e){if(O.length!=e.length)return!1;for(let t=0;t=e;i--)O[i+1]=O[i];O[e]=t}function Yh(O,e){let t=-1,i=1e9;for(let r=0;r=e)return r;if(r==O.length)break;n+=O.charCodeAt(r)==9?t-n%t:1,r=fe(O,r)}return i===!0?-1:O.length}var Eh=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),la=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Ah=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Ot=class{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,a,o,l){let c=[],h=/^@(\w+)\b/.exec(s[0]),f=h&&h[1]=="keyframes";if(h&&a==null)return o.push(s[0]+";");for(let u in a){let Q=a[u];if(/&/.test(u))n(u.split(/,\s*/).map($=>s.map(p=>$.replace(/&/,p))).reduce(($,p)=>$.concat(p)),Q,o);else if(Q&&typeof Q=="object"){if(!h)throw new RangeError("The value of a property ("+u+") should be a primitive value.");n(r(u),Q,c,f)}else Q!=null&&c.push(u.replace(/_.*/,"").replace(/[A-Z]/g,$=>"-"+$.toLowerCase())+": "+Q+";")}(c.length||f)&&o.push((i&&!h&&!l?s.map(i):s).join(", ")+" {"+c.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=Ah[Eh]||1;return Ah[Eh]=e+1,"\u037C"+e.toString(36)}static mount(e,t,i){let r=e[la],n=i&&i.nonce;r?n&&r.setNonce(n):r=new ca(e,n),r.mount(Array.isArray(t)?t:[t],e)}},Lh=new Map,ca=class{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=Lh.get(i);if(n)return e[la]=n;this.sheet=new r.CSSStyleSheet,Lh.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[la]=this}mount(e,t){let i=this.sheet,r=0,n=0;for(let s=0;s-1&&(this.modules.splice(o,1),n--,o=-1),o==-1){if(this.modules.splice(n++,0,a),i)for(let l=0;l",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Hg=typeof navigator<"u"&&/Mac/.test(navigator.platform),Kg=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for($e=0;$e<10;$e++)Yt[48+$e]=Yt[96+$e]=String($e);var $e;for($e=1;$e<=24;$e++)Yt[$e+111]="F"+$e;var $e;for($e=65;$e<=90;$e++)Yt[$e]=String.fromCharCode($e+32),HO[$e]=String.fromCharCode($e);var $e;for(Jr in Yt)HO.hasOwnProperty(Jr)||(HO[Jr]=Yt[Jr]);var Jr;function Mh(O){var e=Hg&&O.metaKey&&O.shiftKey&&!O.ctrlKey&&!O.altKey||Kg&&O.shiftKey&&O.key&&O.key.length==1||O.key=="Unidentified",t=!e&&O.key||(O.shiftKey?HO:Yt)[O.keyCode]||O.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function N(){var O=arguments[0];typeof O=="string"&&(O=document.createElement(O));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?O.setAttribute(i,r):r!=null&&(O[i]=r)}e++}for(;e2),v={mac:Nh||/Mac/.test(Ye.platform),windows:/Win/.test(Ye.platform),linux:/Linux|X11/.test(Ye.platform),ie:Rn,ie_version:_f?ga.documentMode||6:Sa?+Sa[1]:Pa?+Pa[1]:0,gecko:Ih,gecko_version:Ih?+(/Firefox\/(\d+)/.exec(Ye.userAgent)||[0,0])[1]:0,chrome:!!ha,chrome_version:ha?+ha[1]:0,ios:Nh,android:/Android\b/.test(Ye.userAgent),webkit:Bh,webkit_version:Bh?+(/\bAppleWebKit\/(\d+)/.exec(Ye.userAgent)||[0,0])[1]:0,safari:Xa,safari_version:Xa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ye.userAgent)||[0,0])[1]:0,tabSize:ga.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function uo(O,e){for(let t in O)t=="class"&&e.class?e.class+=" "+O.class:t=="style"&&e.style?e.style+=";"+O.style:e[t]=O[t];return e}var $n=Object.create(null);function Qo(O,e,t){if(O==e)return!0;O||(O=$n),e||(e=$n);let i=Object.keys(O),r=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let n of i)if(n!=t&&(r.indexOf(n)==-1||O[n]!==e[n]))return!1;return!0}function Jg(O,e){for(let t=O.attributes.length-1;t>=0;t--){let i=O.attributes[t].name;e[i]==null&&O.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?O.style.cssText=i:O.getAttribute(t)!=i&&O.setAttribute(t,i)}}function Fh(O,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?O.style.cssText="":O.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?O.style.cssText=t[r]:O.setAttribute(r,t[r]));return i}function eP(O){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new PO(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:n,end:s}=Rf(e,t);i=(n?t?-3e8:-1:5e8)-1,r=(s?t?2e8:1:-6e8)+1}return new PO(e,i,r,t,e.widget||null,!0)}static line(e){return new Ii(e)}static set(e,t=!1){return M.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Y.none=M.empty;var Di=class O extends Y{constructor(e){let{start:t,end:i}=Rf(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?uo(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||$n}eq(e){return this==e||e instanceof O&&this.tagName==e.tagName&&Qo(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Di.prototype.point=!1;var Ii=class O extends Y{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof O&&this.spec.class==e.spec.class&&Qo(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Ii.prototype.mapMode=pe.TrackBefore;Ii.prototype.point=!0;var PO=class O extends Y{constructor(e,t,i,r,n,s){super(t,i,n,e),this.block=r,this.isReplace=s,this.mapMode=r?t<=0?pe.TrackBefore:pe.TrackAfter:pe.TrackDel}get type(){return this.startSide!=this.endSide?Te.WidgetRange:this.startSide<=0?Te.WidgetBefore:Te.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof O&&tP(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};PO.prototype.point=!0;function Rf(O,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=O;return t==null&&(t=O.inclusive),i==null&&(i=O.inclusive),{start:t??e,end:i??e}}function tP(O,e){return O==e||!!(O&&e&&O.compare(e))}function Oi(O,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=O?t[r]=Math.max(t[r],e):t.push(O,e)}var pn=class O extends tt{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof O&&this.tagName==e.tagName&&Qo(this.attributes,e.attributes)}static create(e){return new O(e.tagName,e.attributes||$n)}static set(e,t=!1){return M.of(e,t)}};pn.prototype.startSide=pn.prototype.endSide=-1;function Bi(O){let e;return O.nodeType==11?e=O.getSelection?O:O.ownerDocument:e=O,e.getSelection()}function Ta(O,e){return e?O==e||O.contains(e.nodeType!=1?e.parentNode:e):!1}function cn(O,e){if(!e.anchorNode)return!1;try{return Ta(O,e.anchorNode)}catch{return!1}}function hn(O){return O.nodeType==3?Ni(O,0,O.nodeValue.length).getClientRects():O.nodeType==1?O.getClientRects():[]}function Wi(O,e,t,i){return t?Hh(O,e,t,i,-1)||Hh(O,e,t,i,1):!1}function Nt(O){for(var e=0;;e++)if(O=O.previousSibling,!O)return e}function mn(O){return O.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(O.nodeName)}function Hh(O,e,t,i,r){for(;;){if(O==t&&e==i)return!0;if(e==(r<0?0:Rt(O))){if(O.nodeName=="DIV")return!1;let n=O.parentNode;if(!n||n.nodeType!=1)return!1;e=Nt(O)+(r<0?0:1),O=n}else if(O.nodeType==1){if(O=O.childNodes[e+(r<0?-1:0)],O.nodeType==1&&O.contentEditable=="false")return!1;e=r<0?Rt(O):0}else return!1}}function Rt(O){return O.nodeType==3?O.nodeValue.length:O.childNodes.length}function gn(O,e){let t=e?O.left:O.right;return{left:t,right:t,top:O.top,bottom:O.bottom}}function OP(O){let e=O.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:O.innerWidth,top:0,bottom:O.innerHeight}}function Vf(O,e){let t=e.width/O.offsetWidth,i=e.height/O.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-O.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-O.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function iP(O,e,t,i,r,n,s,a){let o=O.ownerDocument,l=o.defaultView||window;for(let c=O,h=!1;c&&!h;)if(c.nodeType==1){let f,u=c==o.body,Q=1,$=1;if(u)f=OP(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(h=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let g=c.getBoundingClientRect();({scaleX:Q,scaleY:$}=Vf(c,g)),f={left:g.left,right:g.left+c.clientWidth*Q,top:g.top,bottom:g.top+c.clientHeight*$}}let p=0,m=0;if(r=="nearest")e.top0&&e.bottom>f.bottom+m&&(m=e.bottom-f.bottom+s)):e.bottom>f.bottom&&(m=e.bottom-f.bottom+s,t<0&&e.top-m0&&e.right>f.right+p&&(p=e.right-f.right+n)):e.right>f.right&&(p=e.right-f.right+n,t<0&&e.leftf.bottom||e.leftf.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function rP(O){let e=O.ownerDocument,t,i;for(let r=O.parentNode;r&&!(r==e.body||t&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:i}}var ba=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?Rt(t):0),i,Math.min(e.focusOffset,i?Rt(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}},mO=null;v.safari&&v.safari_version>=26&&(mO=!1);function qf(O){if(O.setActive)return O.setActive();if(mO)return O.focus(mO);let e=[];for(let t=O;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(O.focus(mO==null?{get preventScroll(){return mO={preventScroll:!0},!0}}:void 0),!mO){mO=!1;for(let t=0;tMath.max(1,O.scrollHeight-O.clientHeight-4)}function Uf(O,e){for(let t=O,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=Rt(t)}else if(t.parentNode&&!mn(t))i=Nt(t),t=t.parentNode;else return null}}function Wf(O,e){for(let t=O,i=e;;){if(t.nodeType==3&&i=t){if(a.level==i)return s;(n<0||(r!=0?r<0?a.fromt:e[n].level>a.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function Gf(O,e){if(O.length!=e.length)return!1;for(let t=0;t=0;$-=3)if(Pt[$+1]==-u){let p=Pt[$+2],m=p&2?r:p&4?p&1?n:r:0;m&&(re[h]=re[Pt[$]]=m),a=$;break}}else{if(Pt.length==189)break;Pt[a++]=h,Pt[a++]=f,Pt[a++]=o}else if((Q=re[h])==2||Q==1){let $=Q==r;o=$?0:1;for(let p=a-3;p>=0;p-=3){let m=Pt[p+2];if(m&2)break;if($)Pt[p+2]|=2;else{if(m&4)break;Pt[p+2]|=4}}}}}function fP(O,e,t,i){for(let r=0,n=i;r<=t.length;r++){let s=r?t[r-1].to:O,a=ro;)Q==p&&(Q=t[--$].from,p=$?t[$-1].to:O),re[--Q]=u;o=c}else n=l,o++}}}function xa(O,e,t,i,r,n,s){let a=i%2?2:1;if(i%2==r%2)for(let o=e,l=0;oo&&s.push(new ct(o,$.from,u));let p=$.direction==SO!=!(u%2);ka(O,p?i+1:i,r,$.inner,$.from,$.to,s),o=$.to}Q=$.to}else{if(Q==t||(c?re[Q]!=a:re[Q]==a))break;Q++}f?xa(O,o,Q,i+1,r,f,s):oe;){let c=!0,h=!1;if(!l||o>n[l-1].to){let $=re[o-1];$!=a&&(c=!1,h=$==16)}let f=!c&&a==1?[]:null,u=c?i:i+1,Q=o;e:for(;;)if(l&&Q==n[l-1].to){if(h)break e;let $=n[--l];if(!c)for(let p=$.from,m=l;;){if(p==e)break e;if(m&&n[m-1].to==p)p=n[--m].from;else{if(re[p-1]==a)break e;break}}if(f)f.push($);else{$.tore.length;)re[re.length]=256;let i=[],r=e==SO?0:1;return ka(O,r,r,t,0,O.length,i),i}function Ef(O){return[new ct(0,O,0)]}var Af="";function uP(O,e,t,i,r){var n;let s=i.head-O.from,a=ct.find(e,s,(n=i.bidiLevel)!==null&&n!==void 0?n:-1,i.assoc),o=e[a],l=o.side(r,t);if(s==l){let f=a+=r?1:-1;if(f<0||f>=e.length)return null;o=e[a=f],s=o.side(!r,t),l=o.side(r,t)}let c=fe(O.text,s,o.forward(r,t));(co.to)&&(c=l),Af=O.text.slice(Math.min(s,c),Math.max(s,c));let h=a==(r?e.length-1:0)?null:e[a+(r?1:-1)];return h&&c==l&&h.level+(r?0:1)O.some(e=>e)}),Hf=Z.define({combine:O=>O.some(e=>e)}),Kf=Z.define(),ji=class O{constructor(e,t="nearest",i="nearest",r=5,n=5,s=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new O(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new O(S.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},en=V.define({map:(O,e)=>O.map(e)}),Jf=V.define();function Xe(O,e,t){let i=O.facet(If);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var _t=Z.define({combine:O=>O.length?O[0]:!0}),$P=0,KO=Z.define({combine(O){return O.filter((e,t)=>{for(let i=0;i{let o=[];return s&&o.push(Fi.of(l=>{let c=l.plugin(a);return c?s(c):Y.none})),n&&o.push(n(a)),o})}static fromClass(e,t){return O.define((i,r)=>new e(i,r),t)}},Ci=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Xe(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Xe(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Xe(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},ed=Z.define(),go=Z.define(),Fi=Z.define(),td=Z.define(),Od=Z.define(),Ji=Z.define(),id=Z.define();function Jh(O,e){let t=O.state.facet(id);if(!t.length)return t;let i=t.map(n=>n instanceof Function?n(O):n),r=[];return M.spans(i,e.from,e.to,{point(){},span(n,s,a,o){let l=n-e.from,c=s-e.from,h=r;for(let f=a.length-1;f>=0;f--,o--){let u=a[f].spec.bidiIsolate,Q;if(u==null&&(u=QP(e.text,l,c)),o>0&&h.length&&(Q=h[h.length-1]).to==l&&Q.direction==u)Q.to=c,h=Q.inner;else{let $={from:l,to:c,direction:u,inner:[]};h.push($),h=$.inner}}}}),r}var rd=Z.define();function Po(O){let e=0,t=0,i=0,r=0;for(let n of O.state.facet(rd)){let s=n(O);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(i=Math.max(i,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:t,top:i,bottom:r}}var Vi=Z.define(),ht=class O{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new O(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toAr.push(new ht(n,s,a,o))),this.changedRanges=r}static create(e,t,i){return new O(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},pP=[],de=class{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return pP}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Jg(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let r of this.children){if(r==e)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t){return null}domPosFor(e,t){let i=Nt(this.dom),r=this.length?e>0:t>0;return new St(this.parent.dom,i+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof ni)return e;return null}static get(e){return e.cmTile}},ri=class extends de{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,r,n=e?.node==t?e:null,s=0;for(let a of this.children){if(a.sync(e),s+=a.length+a.breakAfter,r=i?i.nextSibling:t.firstChild,n&&r!=a.dom&&(n.written=!0),a.dom.parentNode==t)for(;r&&r!=a.dom;)r=ef(r);else t.insertBefore(a.dom,r);i=a.dom}for(r=i?i.nextSibling:t.firstChild,n&&r&&(n.written=!0);r;)r=ef(r);this.length=s}};function ef(O){let e=O.nextSibling;return O.parentNode.removeChild(O),e}var ni=class extends ri{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=de.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,r=0,n=0;;)if(r==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&n++,r=t.pop()}else{let s=i.children[r++];if(s instanceof It)t.push(r),i=s,r=0;else{let a=n+s.length,o=e(s,n);if(o!==void 0)return o;n=a+s.breakAfter}}}resolveBlock(e,t){let i,r=-1,n,s=-1;if(this.blockTiles((a,o)=>{let l=o+a.length;if(e>=o&&e<=l){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(i=void 0)}(oe||e==o&&(t>1?a.length:a.covers(-1)))&&(!n||!a.isWidget()&&n.isWidget())&&(n=a,s=e-o)}}),!i&&!n)throw new Error("No tile at position "+e);return i&&t<0||!n?{tile:i,offset:r}:{tile:n,offset:s}}},It=class O extends ri{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new O(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}},si=class O extends ri{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let r=new O(t||document.createElement("div"),e);return(!t||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,i){let r=null,n=-1,s=null,a=-1;function o(c,h){for(let f=0,u=0;f=h&&(Q.isComposite()?o(Q,h-u):(!s||s.isHidden&&(t>0||i&&gP(s,Q)))&&($>h||Q.flags&32)?(s=Q,a=h-u):(ui&&(e=i);let r=e,n=e,s=0;e==0&&t<0||e==i&&t>=0?v.chrome||v.gecko||(e?(r--,s=1):n=0)?0:a.length-1];return v.safari&&!s&&o.width==0&&(o=Array.prototype.find.call(a,l=>l.width)||o),s?gn(o,s<0):o||null}static of(e,t){let i=new O(t||document.createTextNode(e),e);return t||(i.flags|=2),i}},XO=class O extends de{constructor(e,t,i,r){super(e,t,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(i)return gn(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let o=a?n.length-1:0;s=n[o],!(e>0?o==0:o==n.length-1||s.top0;)if(r.isComposite())if(s){if(!e)break;i&&i.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!a.length)break;i&&i.leave(r),s=!!r.breakAfter,{tile:r,index:n}=a.pop(),n++}else{let o=r.children[n],l=o.breakAfter;(t>0?o.length<=e:o.length=0;a--){let o=t.marks[a],l=r.lastChild;if(l instanceof Ue&&l.mark.eq(o.mark))l.dom!=o.dom&&l.setDOM(fa(o.dom)),r=l;else{if(this.cache.reused.get(o)){let h=de.get(o.dom);h&&h.setDOM(fa(o.dom))}let c=Ue.of(o.mark,o.dom);r.append(c),r=c}this.cache.reused.set(o,2)}let n=de.get(e.text);n&&this.cache.reused.set(n,2);let s=new gO(e.text,e.text.nodeValue);s.flags|=8,r.append(s)}addInlineWidget(e,t,i){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(t,i);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=nd);let r=si.start(e,t||((i=this.cache.find(si))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],a;if(t>0&&(a=r.lastChild)&&a instanceof Ue&&a.mark.eq(s))r=a,t--;else{let o=Ue.of(s,(i=this.cache.find(Ue,l=>l.mark.eq(s)))===null||i===void 0?void 0:i.dom);r.append(o),r=o,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!tf(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(v.ios&&tf(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(da,0,32)||new XO(da.toDOM(),0,da,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=new va(e.from,e.to,e.value,e.rank),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-t.rank||this.wrappers[i-1].to-t.to)<0;)i--;this.wrappers.splice(i,0,t)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let r=t.lastChild;if(i.froms.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(n),t=n}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(ai,void 0,1);return i&&(i.flags=t),i||new ai(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},_a=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let a=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}},Sn=[XO,si,gO,Ue,ai,It,ni];for(let O=0;O[]),this.index=Sn.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let a=n.length-1;a>=0;a--){let o=(a+s)%n.length,l=n[o];if((!t||t(l))&&!this.reused.has(l))return n.splice(o,1),o{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let r=0,n=0,s=0;;){let a=sr){let l=o-r;this.preserve(l,!s,!a),r=o,n+=l}if(!a)break;this.forward(a.fromA,a.toA),t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.emit(n,t.range.fromB),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.emit(t.range.toB,a.toB)):this.emit(n,a.toB),n=a.toB,r=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let r=XP(this.old),n=this.openMarks;this.old.advance(e,i?1:-1,{skip:(s,a,o)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(o-a);else{let l=o>0||a{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof Ue&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof Ue&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,r=this.builder,n=0,s=M.spans(this.decorations,e,t,{point:(a,o,l,c,h,f)=>{if(l instanceof PO){if(this.disallowBlockEffectsFor[f]){if(l.block)throw new RangeError("Block decorations may not be specified via plugins");if(o>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=c.length,h>c.length)r.continueWidget(o-a);else{let u=l.widget||(l.block?Ft.block:Ft.inline),Q=PP(l),$=this.cache.findWidget(u,o-a,Q)||XO.of(u,this.view,o-a,Q);l.block?(l.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget($)):(r.ensureLine(i),r.addInlineWidget($,c,h))}i=null}else i=SP(i,l);o>a&&this.text.skip(o-a)},span:(a,o,l,c)=>{for(let h=a;hn,this.openMarks=s}forward(e,t){t-e<=10?this.old.advance(t-e,1,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,1,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let r=e.parentNode;;r=r.parentNode){let n=de.get(r);if(r==this.view.contentDOM)break;n instanceof Ue?t.push(n):n?.isLine()?i=n:r.nodeName=="DIV"&&!i&&r!=this.view.contentDOM?i=new si(r,nd):t.push(Ue.of(new Di({tagName:r.nodeName.toLowerCase(),attributes:eP(r)}),r))}return{line:i,marks:t}}};function tf(O,e){let t=i=>{for(let r of i.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(O)}function PP(O){let e=O.isReplace?(O.startSide<0?64:0)|(O.endSide>0?128:0):O.startSide>0?32:16;return O.block&&(e|=256),e}var nd={class:"cm-line"};function SP(O,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(O||(O={class:"cm-line"}),t&&uo(t,O),i&&(O.class+=" "+i)),O}function XP(O){let e=[];for(let t=O.parents.length;t>1;t--){let i=t==O.parents.length?O.tile:O.parents[t].tile;i instanceof Ue&&e.push(i.mark)}return e}function fa(O){let e=de.get(O);return e&&e.setDOM(O.cloneNode()),O}var Ft=class extends _e{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Ft.inline=new Ft("span");Ft.block=new Ft("div");var da=new class extends _e{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},Xn=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Y.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new ni(e,e.contentDOM),this.updateInner([new ht(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:c,toA:h})=>hthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!vP(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?bP(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:h}=this.hasComposition;i=new ht(c,h,e.changes.mapPos(c,-1),e.changes.mapPos(h,1)).addToSet(i.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(v.ie||v.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,a=this.blockWrappers;this.updateDeco();let o=kP(s,this.decorations,e.changes);o.length&&(i=ht.extendWithRanges(i,o));let l=wP(a,this.blockWrappers,e.changes);return l.length&&(i=ht.extendWithRanges(i,l)),n&&!i.some(c=>c.fromA<=n.range.fromA&&c.toA>=n.range.toA)&&(i=n.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let s=this.tile,a=new Va(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),qa(s,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let n=v.chrome||v.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||i.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to-1)&&cn(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(n||t||s))return;let a=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,l,c;if(o.empty?c=l=this.inlineDOMNearPos(o.anchor,o.assoc||1):(c=this.inlineDOMNearPos(o.head,o.head==o.from?1:-1),l=this.inlineDOMNearPos(o.anchor,o.anchor==o.from?1:-1)),v.gecko&&o.empty&&!this.hasComposition&&TP(l)){let f=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(f,l.node.childNodes[l.offset]||null)),l=c=new St(f,0),a=!0}let h=this.view.observer.selectionRange;(a||!h.focusNode||(!Wi(l.node,l.offset,h.anchorNode,h.anchorOffset)||!Wi(c.node,c.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,o))&&(this.view.observer.ignore(()=>{v.android&&v.chrome&&i.contains(h.focusNode)&&ZP(h.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let f=Bi(this.view.root);if(f)if(o.empty){if(v.gecko){let u=yP(l.node,l.offset);if(u&&u!=3){let Q=(u==1?Uf:Wf)(l.node,l.offset);Q&&(l=new St(Q.node,Q.offset))}}f.collapse(l.node,l.offset),o.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=o.bidiLevel)}else if(f.extend){f.collapse(l.node,l.offset);try{f.extend(c.node,c.offset)}catch{}}else{let u=document.createRange();o.anchor>o.head&&([l,c]=[c,l]),u.setEnd(c.node,c.offset),u.setStart(l.node,l.offset),f.removeAllRanges(),f.addRange(u)}s&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new St(h.anchorNode,h.anchorOffset),this.impreciseHead=c.precise?null:new St(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Wi(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Bi(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let s=this.lineAt(t.head,t.assoc);if(!s)return;let a=s.posAtStart;if(t.head==a||t.head==a+s.length)return;let o=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!o||!l||o.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(c.node,c.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&i.collapse(r,n)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let n;if(e==i.dom)n=i.dom.childNodes[t];else{let s=Rt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==i.dom)break;s==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?s=-1:s=1),e=a}s<0?n=e:n=e.nextSibling}if(n==i.dom.firstChild)return r;for(;n&&!de.get(n);)n=n.nextSibling;if(!n)return r+i.length;for(let s=0,a=r;;s++){let o=i.children[s];if(o.dom==n)return a;a+=o.length+o.breakAfter}}else return i.isText()?e==i.dom?r+t:r+(t?i.length:0):r}domAtPos(e,t){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(e,t):i.domIn(r,t)}inlineDOMNearPos(e,t){let i,r=-1,n=!1,s,a=-1,o=!1;return this.tile.blockTiles((l,c)=>{if(l.isWidget()){if(l.flags&32&&c>=e)return!0;l.flags&16&&(n=!0)}else{let h=c+l.length;if(c<=e&&(i=l,r=e-c,n=h=e&&!s&&(s=l,a=e-c,o=c>e),c>e&&s)return!0}}),!i&&!s?this.domAtPos(e,t):(n&&s?i=null:o&&i&&(s=null),i&&t<0||!s?i.domIn(r,t):s.domIn(a,t))}coordsAt(e,t){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof Gi?null:i.coordsInWidget(r,t,!0):i.coordsIn(r,t)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(n,s){if(n.isComposite())for(let a of n.children){if(a.length>=s){let o=r(a,s);if(o)return o}if(s-=a.length,s<0)break}else if(n.isText()&&sMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,o=this.view.textDirection==H.LTR,l=0,c=(h,f,u)=>{for(let Q=0;Qr);Q++){let $=h.children[Q],p=f+$.length,m=$.dom.getBoundingClientRect(),{height:g}=m;if(u&&!Q&&(l+=m.top-u.top),$ instanceof It)p>i&&c($,f,m);else if(f>=i&&(l>0&&t.push(-l),t.push(g+l),l=0,s)){let P=$.dom.lastChild,y=P?hn(P):[];if(y.length){let X=y[y.length-1],x=o?X.right-m.left:m.right-X.left;x>a&&(a=x,this.minWidth=n,this.minWidthFrom=f,this.minWidthTo=p)}}u&&Q==h.children.length-1&&(l+=u.bottom-m.bottom),f=p+$.breakAfter}};return c(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?H.RTL:H.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let a=0,o;for(let l of s.children){if(!l.isText()||/[^ -~]/.test(l.text))return;let c=hn(l.dom);if(c.length!=1)return;a+=c[0].width,o=c[0].height}if(a)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:a/s.length,textHeight:o}}});if(e)return e;let t=document.createElement("div"),i,r,n;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let s=hn(t.firstChild)[0];i=t.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:i,t.remove()}),{lineHeight:i,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let n=r==t.viewports.length?null:t.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>i){let a=(t.lineBlockAt(s).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(Y.replace({widget:new Gi(a),block:!0,inclusive:!0,isBlockGap:!0}).range(i,s))}if(!n)break;i=n.to+1}return Y.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Fi).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),i=!1,r=this.view.state.facet(Od).map((n,s)=>{let a=typeof n=="function";return a&&(i=!0),a?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(M.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof n=="function"?n(this.view):n)}scrollIntoView(e){if(e.isSnapshot){let l=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=l.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let l of this.view.state.facet(Kf))try{if(l(this.view,e.range,e))return!0}catch(c){Xe(this.view.state,c,"scroll handler")}let{range:t}=e,i=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let n=Po(this.view),s={left:i.left-n.left,top:i.top-n.top,right:i.right+n.right,bottom:i.bottom+n.bottom},{offsetWidth:a,offsetHeight:o}=this.view.scrollDOM;iP(this.view.scrollDOM,s,t.headi.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){qa(this.tile)}};function qa(O,e){let t=e?.get(O);if(t!=1){t==null&&O.destroy();for(let i of O.children)qa(i,e)}}function TP(O){return O.node.nodeType==1&&O.node.firstChild&&(O.offset==0||O.node.childNodes[O.offset-1].contentEditable=="false")&&(O.offset==O.node.childNodes.length||O.node.childNodes[O.offset].contentEditable=="false")}function sd(O,e){let t=O.observer.selectionRange;if(!t.focusNode)return null;let i=Uf(t.focusNode,t.focusOffset),r=Wf(t.focusNode,t.focusOffset),n=i||r;if(r&&i&&r.node!=i.node){let a=de.get(r.node);if(!a||a.isText()&&a.text!=r.node.nodeValue)n=r;else if(O.docView.lastCompositionAfterCursor){let o=de.get(i.node);!o||o.isText()&&o.text!=i.node.nodeValue||(n=r)}}if(O.docView.lastCompositionAfterCursor=n!=i,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function bP(O,e,t){let i=sd(O,t);if(!i)return null;let{node:r,from:n,to:s}=i,a=r.nodeValue;if(/[\n\r]/.test(a)||O.state.doc.sliceString(i.from,i.to)!=a)return null;let o=e.invertedDesc;return{range:new ht(o.mapPos(n),o.mapPos(s),n,s),text:r}}function yP(O,e){return O.nodeType!=1?0:(e&&O.childNodes[e-1].contentEditable=="false"?1:0)|(e{ie.from&&(t=!0)}),t}var Gi=class extends _e{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function YP(O,e,t=1){let i=O.charCategorizer(e),r=O.doc.lineAt(e),n=e-r.from;if(r.length==0)return S.cursor(e);n==0?t=1:n==r.length&&(t=-1);let s=n,a=n;t<0?s=fe(r.text,n,!1):a=fe(r.text,n);let o=i(r.text.slice(s,a));for(;s>0;){let l=fe(r.text,s,!1);if(i(r.text.slice(l,s))!=o)break;s=l}for(;aO.defaultLineHeight*1.5){let a=O.viewState.heightOracle.textHeight,o=Math.floor((r-t.top-(O.defaultLineHeight-a)*.5)/a);n+=o*O.viewState.heightOracle.lineLength}let s=O.state.sliceDoc(t.from,t.to);return t.from+Kr(s,n,O.state.tabSize)}function Ua(O,e,t){let i=O.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let n of i.type){if(n.from>e)break;if(!(n.toe)return n;(!r||n.type==Te.Text&&(r.type!=n.type||(t<0?n.frome)))&&(r=n)}}return r||i}return i}function RP(O,e,t,i){let r=Ua(O,e.head,e.assoc||-1),n=!i||r.type!=Te.Text||!(O.lineWrapping||r.widgetLineBreaks)?null:O.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=O.dom.getBoundingClientRect(),a=O.textDirectionAt(r.from),o=O.posAtCoords({x:t==(a==H.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(o!=null)return S.cursor(o,t?-1:1)}return S.cursor(t?r.to:r.from,t?-1:1)}function Of(O,e,t,i){let r=O.state.doc.lineAt(e.head),n=O.bidiSpans(r),s=O.textDirectionAt(r.from);for(let a=e,o=null;;){let l=uP(r,n,s,a,t),c=Af;if(!l){if(r.number==(t?O.state.doc.lines:1))return a;c=` +`,r=O.state.doc.line(r.number+(t?1:-1)),n=O.bidiSpans(r),l=O.visualLineSide(r,!t)}if(o){if(!o(c))return a}else{if(!i)return l;o=i(c)}a=l}}function VP(O,e,t){let i=O.state.charCategorizer(e),r=i(t);return n=>{let s=i(n);return r==ee.Space&&(r=s),r==s}}function qP(O,e,t,i){let r=e.head,n=t?1:-1;if(r==(t?O.state.doc.length:0))return S.cursor(r,e.assoc);let s=e.goalColumn,a,o=O.contentDOM.getBoundingClientRect(),l=O.coordsAtPos(r,e.assoc||-1),c=O.documentTop;if(l)s==null&&(s=l.left-o.left),a=n<0?l.top:l.bottom;else{let u=O.viewState.lineBlockAt(r);s==null&&(s=Math.min(o.right-o.left,O.defaultCharacterWidth*(r-u.from))),a=(n<0?u.top:u.bottom)+c}let h=o.left+s,f=i??O.viewState.heightOracle.textHeight>>1;for(let u=0;;u+=10){let Q=a+(f+u)*n,$=Wa(O,{x:h,y:Q},!1,n);return S.cursor($.pos,$.assoc,void 0,s)}}function Ei(O,e,t){for(;;){let i=0;for(let r of O)r.between(e-1,e+1,(n,s,a)=>{if(e>n&&er(O)),t.from,e.head>t.from?-1:1);return i==t.from?t:S.cursor(i,iO.viewState.docHeight)return new rt(O.state.doc.length,-1);if(l=O.elementAtHeight(o),i==null)break;if(l.type==Te.Text){let f=O.docView.coordsAt(i<0?l.from:l.to,i);if(f&&(i<0?f.top<=o+n:f.bottom>=o+n))break}let h=O.viewState.heightOracle.textHeight/2;o=i>0?l.bottom+h:l.top-h}if(O.viewport.from>=l.to||O.viewport.to<=l.from){if(t)return null;if(l.type==Te.Text){let h=_P(O,r,l,s,a);return new rt(h,h==l.from?1:-1)}}if(l.type!=Te.Text)return o<(l.top+l.bottom)/2?new rt(l.from,1):new rt(l.to,-1);let c=O.docView.lineAt(l.from,2);return(!c||c.length!=l.length)&&(c=O.docView.lineAt(l.from,-2)),od(O,c,l.from,s,a)}function od(O,e,t,i,r){let n=-1,s=null,a=1e9,o=1e9,l=r,c=r,h=(f,u)=>{for(let Q=0;Qi?$.left-i:$.rightr?$.top-r:$.bottom=l&&(l=Math.min($.top,l),c=Math.max($.bottom,c),m=0),(n<0||(m-o||p-a)<0)&&(n>=0&&o&&a=l+2?o=0:(n=u,a=p,o=m,s=$))}};if(e.isText()){for(let u=0;u(s.left+s.right)/2==(rf(O,n+t)==H.LTR)?new rt(t+fe(e.text,n),-1):new rt(t+n,1)}else{if(!e.length)return new rt(t,1);for(let $=0;$(s.left+s.right)/2==(rf(O,n+t)==H.LTR)?new rt(u+f.length,-1):new rt(u,1)}}function rf(O,e){let t=O.state.doc.lineAt(e);return O.bidiSpans(t)[ct.find(O.bidiSpans(t),e-t.from,-1,1)].dir}var qi="\uFFFF",ja=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(I.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=qi}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let n=this.text.length;this.readNode(r);let s=de.get(r),a=r.nextSibling;if(a==t){s?.breakAfter&&!a&&i!=this.view.contentDOM&&this.lineBreak();break}let o=de.get(a);(s&&o?s.breakAfter:(s?s.breakAfter:mn(r))||mn(a)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!UP(a,t)&&this.lineBreak(),r=a}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,a;if(this.lineSeparator?(n=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(a=r.exec(t))&&(n=a.index,s=a[0].length),this.append(t.slice(i,n<0?t.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let o of this.points)o.node==e&&o.pos>this.text.length&&(o.pos-=s-1);i=n+s}}readNode(e){let t=de.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(zP(e,i.node,i.offset)?t:0))}};function zP(O,e,t){for(;;){if(!e||t-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=ld(e.docView.tile,t,i,0))){let a=n||s?[]:jP(e),o=new ja(a,e);o.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=o.text,this.newSel=CP(a,this.bounds.from)}else{let a=e.observer.selectionRange,o=n&&n.node==a.focusNode&&n.offset==a.focusOffset||!Ta(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),l=s&&s.node==a.anchorNode&&s.offset==a.anchorOffset||!Ta(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),c=e.viewport;if((v.ios||v.chrome)&&e.state.selection.main.empty&&o!=l&&(c.from>0||c.to-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(S.range(l,o)):this.newSel=S.single(l,o)}}};function ld(O,e,t,i){if(O.isComposite()){let r=-1,n=-1,s=-1,a=-1;for(let o=0,l=i,c=i;ot)return ld(h,e,t,l);if(f>=e&&r==-1&&(r=o,n=l),l>t&&h.dom.parentNode==O.dom){s=o,a=c;break}c=f,l=f+h.breakAfter}return{from:n,to:a<0?i+O.length:a,startDOM:(r?O.children[r-1].dom.nextSibling:null)||O.dom.firstChild,endDOM:s=0?O.children[s].dom:null}}else return O.isText()?{from:i,to:i+O.length,startDOM:O.dom,endDOM:O.dom.nextSibling}:null}function cd(O,e){let t,{newSel:i}=e,r=O.state.selection.main,n=O.inputState.lastKeyTime>Date.now()-100?O.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:a}=e.bounds,o=r.from,l=null;(n===8||v.android&&e.text.length=r.from&&t.to<=r.to&&(t.from!=r.from||t.to!=r.to)&&r.to-r.from-(t.to-t.from)<=4?t={from:r.from,to:r.to,insert:O.state.doc.slice(r.from,t.from).append(t.insert).append(O.state.doc.slice(t.to,r.to))}:O.state.doc.lineAt(r.from).toDate.now()-50?t={from:r.from,to:r.to,insert:O.state.toText(O.inputState.insertingText)}:v.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&O.lineWrapping&&(i&&(i=S.single(i.main.anchor-1,i.main.head-1)),t={from:r.from,to:r.to,insert:E.of([" "])}),t)return So(O,t,i,n);if(i&&!i.main.eq(r)){let s=!1,a="select";return O.inputState.lastSelectionTime>Date.now()-50&&(O.inputState.lastSelectionOrigin=="select"&&(s=!0),a=O.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=ad(O.state.facet(Ji).map(o=>o(O)),i))),O.dispatch({selection:i,scrollIntoView:s,userEvent:a}),!0}else return!1}function So(O,e,t,i=-1){if(v.ios&&O.inputState.flushIOSKey(e))return!0;let r=O.state.selection.main;if(v.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&O.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ii(O.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.lengthr.head)&&ii(O.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&ii(O.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();O.inputState.composing>=0&&O.inputState.composing++;let s,a=()=>s||(s=WP(O,e,t));return O.state.facet(Bf).some(o=>o(O,e.from,e.to,n,a))||O.dispatch(a()),!0}function WP(O,e,t){let i,r=O.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.fromn.to){let o=e.fromh(O)),l,o);e.from==c&&(s=c)}if(s>-1)i={changes:e,selection:S.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&O.inputState.composing<0){let o=n.frome.to?r.sliceDoc(e.to,n.to):"";i=r.replaceSelection(O.state.toText(o+e.insert.sliceString(0,void 0,O.state.lineBreak)+l))}else{let o=r.changes(e),l=t&&t.main.to<=o.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(O.inputState.composing>=0||O.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let c=O.state.sliceDoc(e.from,e.to),h,f=t&&sd(O,t.main.head);if(f){let Q=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-Q}}else h=O.state.doc.lineAt(n.head);let u=n.to-e.to;i=r.changeByRange(Q=>{if(Q.from==n.from&&Q.to==n.to)return{changes:o,range:l||Q.map(o)};let $=Q.to-u,p=$-c.length;if(O.state.sliceDoc(p,$)!=c||$>=h.from&&p<=h.to)return{range:Q};let m=r.changes({from:p,to:$,insert:e.insert}),g=Q.to-n.to;return{changes:m,range:l?S.range(Math.max(0,l.anchor+g),Math.max(0,l.head+g)):Q.map(m)}})}else i={changes:o,selection:l&&r.selection.replaceRange(l)}}let a="input.type";return(O.composing||O.inputState.compositionPendingChange&&O.inputState.compositionEndedAt>Date.now()-50)&&(O.inputState.compositionPendingChange=!1,a+=".compose",O.inputState.compositionFirstChange&&(a+=".start",O.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:a,scrollIntoView:!0})}function hd(O,e,t,i){let r=Math.min(O.length,e.length),n=0;for(;n0&&a>0&&O.charCodeAt(s-1)==e.charCodeAt(a-1);)s--,a--;if(i=="end"){let o=Math.max(0,n-Math.min(s,a));t-=s+o-n}if(s=s?n-t:0;n-=o,a=n+(a-s),s=n}else if(a=a?n-t:0;n-=o,s=n+(s-a),a=n}return{from:n,toA:s,toB:a}}function jP(O){let e=[];if(O.root.activeElement!=O.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}=O.observer.selectionRange;return t&&(e.push(new Tn(t,i)),(r!=t||n!=i)&&e.push(new Tn(r,n))),e}function CP(O,e){if(O.length==0)return null;let t=O[0].pos,i=O.length==2?O[1].pos:t;return t>-1&&i>-1?S.single(t+e,i+e):null}var Ga=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,v.safari&&e.contentDOM.addEventListener("input",()=>null),v.gecko&&eS(e.contentDOM.ownerDocument)}handleEvent(e){!IP(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=GP(e),i=this.handlers,r=this.view.contentDOM;for(let n in t)if(n!="scroll"){let s=!t[n].handlers.length,a=i[n];a&&s!=!a.handlers.length&&(r.removeEventListener(n,this.handleEvent),a=null),a||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in i)n!="scroll"&&!t[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&dd.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),v.android&&v.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return v.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=fd.find(i=>i.keyCode==e.keyCode))&&!e.ctrlKey||EP.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:v.safari&&!v.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function nf(O,e){return(t,i)=>{try{return e.call(O,i,t)}catch(r){Xe(t.state,r)}}}function GP(O){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of O){let r=i.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let a in n){let o=n[a];o&&t(a).handlers.push(nf(i.value,o))}if(s)for(let a in s){let o=s[a];o&&t(a).observers.push(nf(i.value,o))}}for(let i in ft)t(i).handlers.push(ft[i]);for(let i in nt)t(i).observers.push(nt[i]);return e}var fd=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],EP="dthko",dd=[16,17,18,20,91,92,224,225],tn=6;function On(O){return Math.max(0,O)*.7+8}function AP(O,e){return Math.max(Math.abs(O.clientX-e.clientX),Math.abs(O.clientY-e.clientY))}var Ea=class{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=rP(e.contentDOM),this.atoms=e.state.facet(Ji).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(I.allowMultipleSelections)&&LP(e,t),this.dragging=DP(e,t)&&$d(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&AP(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,n=0,s=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:a}=this.scrollParents.y.getBoundingClientRect());let o=Po(this.view);e.clientX-o.left<=r+tn?t=-On(r-e.clientX):e.clientX+o.right>=s-tn&&(t=On(e.clientX-s)),e.clientY-o.top<=n+tn?i=-On(n-e.clientY):e.clientY+o.bottom>=a-tn&&(i=On(e.clientY-a)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=ad(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function LP(O,e){let t=O.state.facet(Lf);return t.length?t[0](e):v.mac?e.metaKey:e.ctrlKey}function MP(O,e){let t=O.state.facet(Mf);return t.length?t[0](e):v.mac?!e.altKey:!e.ctrlKey}function DP(O,e){let{main:t}=O.state.selection;if(t.empty)return!1;let i=Bi(O.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let n=0;n=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function IP(O,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=O.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=de.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}var ft=Object.create(null),nt=Object.create(null),ud=v.ie&&v.ie_version<15||v.ios&&v.webkit_version<604;function BP(O){let e=O.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{O.focus(),t.remove(),Qd(O,t.value)},50)}function Vn(O,e,t){for(let i of O.facet(e))t=i(t,O);return t}function Qd(O,e){e=Vn(O.state,po,e);let{state:t}=O,i,r=1,n=t.toText(e),s=n.lines==t.selection.ranges.length;if(Aa!=null&&t.selection.ranges.every(o=>o.empty)&&Aa==n.toString()){let o=-1;i=t.changeByRange(l=>{let c=t.doc.lineAt(l.from);if(c.from==o)return{range:l};o=c.from;let h=t.toText((s?n.line(r++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:h},range:S.cursor(l.from+h.length)}})}else s?i=t.changeByRange(o=>{let l=n.line(r++);return{changes:{from:o.from,to:o.to,insert:l.text},range:S.cursor(o.from+l.length)}}):i=t.replaceSelection(n);O.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}nt.scroll=O=>{O.inputState.lastScrollTop=O.scrollDOM.scrollTop,O.inputState.lastScrollLeft=O.scrollDOM.scrollLeft};ft.keydown=(O,e)=>(O.inputState.setSelectionOrigin("select"),e.keyCode==27&&O.inputState.tabFocusMode!=0&&(O.inputState.tabFocusMode=Date.now()+2e3),!1);nt.touchstart=(O,e)=>{O.inputState.lastTouchTime=Date.now(),O.inputState.setSelectionOrigin("select.pointer")};nt.touchmove=O=>{O.inputState.setSelectionOrigin("select.pointer")};ft.mousedown=(O,e)=>{if(O.observer.flush(),O.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of O.state.facet(Df))if(t=i(O,e),t)break;if(!t&&e.button==0&&(t=FP(O,e)),t){let i=!O.hasFocus;O.inputState.startMouseSelection(new Ea(O,e,t,i)),i&&O.observer.ignore(()=>{qf(O.contentDOM);let n=O.root.activeElement;n&&!n.contains(O.contentDOM)&&n.blur()});let r=O.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else O.inputState.setSelectionOrigin("select.pointer");return!1};function sf(O,e,t,i){if(i==1)return S.cursor(e,t);if(i==2)return YP(O.state,e,t);{let r=O.docView.lineAt(e,t),n=O.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,a=r?r.posAtEnd:n.to;return aDate.now()-400&&Math.abs(e.clientX-O.clientX)<2&&Math.abs(e.clientY-O.clientY)<2?(of+1)%3:1}function FP(O,e){let t=O.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=$d(e),r=O.state.selection;return{update(n){n.docChanged&&(t.pos=n.changes.mapPos(t.pos),r=r.map(n.changes))},get(n,s,a){let o=O.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),l,c=sf(O,o.pos,o.assoc,i);if(t.pos!=o.pos&&!s){let h=sf(O,t.pos,t.assoc,i),f=Math.min(h.from,c.from),u=Math.max(h.to,c.to);c=f1&&(l=HP(r,o.pos))?l:a?r.addRange(c):S.create([c])}}}function HP(O,e){for(let t=0;t=e)return S.create(O.ranges.slice(0,t).concat(O.ranges.slice(t+1)),O.mainIndex==t?0:O.mainIndex-(O.mainIndex>t?1:0))}return null}ft.dragstart=(O,e)=>{let{selection:{main:t}}=O.state;if(e.target.draggable){let r=O.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=t.to||s<=t.from)&&(t=S.range(n,s))}}let{inputState:i}=O;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Vn(O.state,mo,O.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};ft.dragend=O=>(O.inputState.draggedContent=null,!1);function cf(O,e,t,i){if(t=Vn(O.state,po,t),!t)return;let r=O.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=O.inputState,s=i&&n&&MP(O,e)?{from:n.from,to:n.to}:null,a={from:r,insert:t},o=O.state.changes(s?[s,a]:a);O.focus(),O.dispatch({changes:o,selection:{anchor:o.mapPos(r,-1),head:o.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),O.inputState.draggedContent=null}ft.drop=(O,e)=>{if(!e.dataTransfer)return!1;if(O.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,n=()=>{++r==t.length&&cf(O,e,i.filter(s=>s!=null).join(O.state.lineBreak),!1)};for(let s=0;s{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(i[s]=a.result),n()},a.readAsText(t[s])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return cf(O,e,i,!0),!0}return!1};ft.paste=(O,e)=>{if(O.state.readOnly)return!0;O.observer.flush();let t=ud?null:e.clipboardData;return t?(Qd(O,t.getData("text/plain")||t.getData("text/uri-list")),!0):(BP(O),!1)};function KP(O,e){let t=O.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),O.focus()},50)}function JP(O){let e=[],t=[],i=!1;for(let r of O.selection.ranges)r.empty||(e.push(O.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:n}of O.selection.ranges){let s=O.doc.lineAt(n);s.number>r&&(e.push(s.text),t.push({from:s.from,to:Math.min(O.doc.length,s.to+1)})),r=s.number}i=!0}return{text:Vn(O,mo,e.join(O.lineBreak)),ranges:t,linewise:i}}var Aa=null;ft.copy=ft.cut=(O,e)=>{let{text:t,ranges:i,linewise:r}=JP(O.state);if(!t&&!r)return!1;Aa=r?t:null,e.type=="cut"&&!O.state.readOnly&&O.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let n=ud?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",t),!0):(KP(O,t),!1)};var pd=qe.define();function md(O,e){let t=[];for(let i of O.facet(Nf)){let r=i(O,e);r&&t.push(r)}return t.length?O.update({effects:t,annotations:pd.of(!0)}):null}function gd(O){setTimeout(()=>{let e=O.hasFocus;if(e!=O.inputState.notifiedFocused){let t=md(O.state,e);t?O.dispatch(t):O.update([])}},10)}nt.focus=O=>{O.inputState.lastFocusTime=Date.now(),!O.scrollDOM.scrollTop&&(O.inputState.lastScrollTop||O.inputState.lastScrollLeft)&&(O.scrollDOM.scrollTop=O.inputState.lastScrollTop,O.scrollDOM.scrollLeft=O.inputState.lastScrollLeft),gd(O)};nt.blur=O=>{O.observer.clearSelectionRange(),gd(O)};nt.compositionstart=nt.compositionupdate=O=>{O.observer.editContext||(O.inputState.compositionFirstChange==null&&(O.inputState.compositionFirstChange=!0),O.inputState.composing<0&&(O.inputState.composing=0))};nt.compositionend=O=>{O.observer.editContext||(O.inputState.composing=-1,O.inputState.compositionEndedAt=Date.now(),O.inputState.compositionPendingKey=!0,O.inputState.compositionPendingChange=O.observer.pendingRecords().length>0,O.inputState.compositionFirstChange=null,v.chrome&&v.android?O.observer.flushSoon():O.inputState.compositionPendingChange?Promise.resolve().then(()=>O.observer.flush()):setTimeout(()=>{O.inputState.composing<0&&O.docView.hasComposition&&O.update([])},50))};nt.contextmenu=O=>{O.inputState.lastContextMenu=Date.now()};ft.beforeinput=(O,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(O.inputState.insertingText=e.data,O.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&O.observer.editContext){let n=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let a=s[0],o=O.posAtDOM(a.startContainer,a.startOffset),l=O.posAtDOM(a.endContainer,a.endOffset);return So(O,{from:o,to:l,insert:O.state.toText(n)},null),!0}}let r;if(v.chrome&&v.android&&(r=fd.find(n=>n.inputType==e.inputType))&&(O.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&O.hasFocus&&(O.contentDOM.blur(),O.focus())},100)}return v.ios&&e.inputType=="deleteContentForward"&&O.observer.flushSoon(),v.safari&&e.inputType=="insertText"&&O.inputState.composing>=0&&setTimeout(()=>nt.compositionend(O,e),20),!1};var hf=new Set;function eS(O){hf.has(O)||(hf.add(O),O.addEventListener("copy",()=>{}),O.addEventListener("cut",()=>{}))}var ff=["pre-wrap","normal","pre-line","break-spaces"],oi=!1;function df(){oi=!1}var La=class{constructor(e){this.lineWrapping=e,this.doc=E.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return ff.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=n,o){this.heightSamples={};for(let l=0;l0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>fn&&(oi=!0),this.height=e)}replace(e,t,i){return O.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let n=this,s=i.doc;for(let a=r.length-1;a>=0;a--){let{fromA:o,toA:l,fromB:c,toB:h}=r[a],f=n.lineAt(o,oe.ByPosNoHeight,i.setDoc(t),0,0),u=f.to>=l?f:n.lineAt(l,oe.ByPosNoHeight,i,0,0);for(h+=u.to-l,l=u.to;a>0&&f.from<=r[a-1].toA;)o=r[a-1].fromA,c=r[a-1].fromB,a--,on*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),i+=1+a.break,r-=a.size}else if(n>r*2){let a=e[i];a.break?e.splice(i,1,a.left,null,a.right):e.splice(i,1,a.left,a.right),i+=2+a.break,n-=a.size}else break;else if(r=n&&s(this.lineAt(0,oe.ByPos,i,r,n))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},it=class O extends yn{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new lt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof O||r instanceof Bt&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Bt?r=new O(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):De.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Bt=class O extends De{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,n=r-i+1,s,a=0;if(e.lineWrapping){let o=Math.min(this.height,e.lineHeight*n);s=o/n,this.length>n+1&&(a=(this.height-o)/(this.length-n-1))}else s=this.height/n;return{firstLine:i,lastLine:r,perLine:s,perChar:a}}blockAt(e,t,i,r){let{firstLine:n,lastLine:s,perLine:a,perChar:o}=this.heightMetrics(t,r);if(t.lineWrapping){let l=r+(e0){let n=i[i.length-1];n instanceof O?i[i.length-1]=new O(n.length+r):i.push(null,new O(r-1))}if(e>0){let n=i[0];n instanceof O?i[0]=new O(e+n.length):i.unshift(new O(e-1),null)}return De.of(i)}decomposeLeft(e,t){t.push(new O(e-1),null)}decomposeRight(e,t){t.push(null,new O(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let n=t+this.length;if(r&&r.from<=t+this.length&&r.more){let s=[],a=Math.max(t,r.from),o=-1;for(r.from>t&&s.push(new O(r.from-t-1).updateHeight(e,t));a<=n&&r.more;){let c=e.doc.lineAt(a).length;s.length&&s.push(null);let h=r.heights[r.index++],f=0;h<0&&(f=-h,h=r.heights[r.index++]),o==-1?o=h:Math.abs(h-o)>=fn&&(o=-2);let u=new it(c,h,f);u.outdated=!1,s.push(u),a+=c+1}a<=n&&s.push(null,new O(n-a).updateHeight(e,a));let l=De.of(s);return(o<0||Math.abs(l.height-this.height)>=fn||Math.abs(o-this.heightMetrics(e,t).perLine)>=fn)&&(oi=!0),bn(this,l)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Da=class extends De{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let n=i+this.left.height;return ea))return l;let c=t==oe.ByPosNoHeight?oe.ByPosNoHeight:oe.ByPos;return o?l.join(this.right.lineAt(a,c,i,s,a)):this.left.lineAt(a,c,i,r,n).join(l)}forEachLine(e,t,i,r,n,s){let a=r+this.left.height,o=n+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,i,a,o,s);else{let l=this.lineAt(o,oe.ByPos,i,r,n);e=e&&l.from<=t&&s(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,a,o,s)}}replace(e,t,i){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let a of i)n.push(a);if(e>0&&uf(n,s-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?De.of(this.break?[e,null,t]:[e,t]):(this.left=bn(this.left,e),this.right=bn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:n,right:s}=this,a=t+n.length+this.break,o=null;return r&&r.from<=t+n.length&&r.more?o=n=n.updateHeight(e,t,i,r):n.updateHeight(e,t,i),r&&r.from<=a+s.length&&r.more?o=s=s.updateHeight(e,a,i,r):s.updateHeight(e,a,i),o?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function uf(O,e){let t,i;O[e]==null&&(t=O[e-1])instanceof Bt&&(i=O[e+1])instanceof Bt&&O.splice(e-1,3,new Bt(t.length+1+i.length))}var OS=5,Ia=class O{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof it?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new it(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=OS)&&this.addLineDeco(r,n,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new it(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Bt(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof it)return e;let t=new it(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof it)&&!this.isCovered?this.nodes.push(new it(0,-1,0)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&h.overflow!="visible"){let f=c.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),a=Math.max(a,f.top),o=Math.min(l==O.parentNode?r.innerHeight:o,f.bottom)}l=h.position=="absolute"||h.position=="fixed"?c.offsetParent:c.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:n-t.left,right:Math.max(n,s)-t.left,top:a-(t.top+e),bottom:Math.max(a,o)-(t.top+e)}}function nS(O){let e=O.getBoundingClientRect(),t=O.ownerDocument.defaultView||window;return e.left0&&e.top0}function sS(O,e){let t=O.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Ai=class{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;itypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new La(t),this.stateDeco=e.facet(Fi).filter(i=>typeof i!="function"),this.heightMap=De.empty().applyChanges(this.stateDeco,E.empty,this.heightOracle.setDoc(e.doc),[new ht(0,0,0,e.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Y.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new JO(n,s))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Qf:new Fa(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(zi(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Fi).filter(c=>typeof c!="function");let r=e.changedRanges,n=ht.extendWithRanges(r,iS(i,this.stateDeco,e?e.changes:Ze.empty(this.state.doc.length))),s=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);df(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||oi)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let o=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let l=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Hf)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?H.RTL:H.LTR;let s=this.heightOracle.mustRefreshForWrapping(n),a=t.getBoundingClientRect(),o=s||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let{scaleX:y,scaleY:X}=Vf(t,a);(y>.005&&Math.abs(this.scaleX-y)>.005||X>.005&&Math.abs(this.scaleY-X)>.005)&&(this.scaleX=y,this.scaleY=X,l|=16,s=o=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,f=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let u=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=u&&(this.scrollAnchorHeight=-1,this.scrollTop=u),this.scrolledToBottom=zf(e.scrollDOM);let Q=(this.printing?sS:rS)(t,this.paddingTop),$=Q.top-this.pixelViewport.top,p=Q.bottom-this.pixelViewport.bottom;this.pixelViewport=Q;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(o=!0)),!this.inView&&!this.scrollTarget&&!nS(e.dom))return 0;let g=a.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),o){let y=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(y)&&(s=!0),s||r.lineWrapping&&Math.abs(g-this.contentDOMWidth)>r.charWidth){let{lineHeight:X,charWidth:x,textHeight:k}=e.docView.measureTextSize();s=X>0&&r.refresh(n,X,x,k,Math.max(5,g/x),y),s&&(e.docView.minWidth=0,l|=16)}$>0&&p>0?c=Math.max($,p):$<0&&p<0&&(c=Math.min($,p)),df();for(let X of this.viewports){let x=X.from==this.viewport.from?y:e.docView.measureVisibleLineHeights(X);this.heightMap=(s?De.empty().applyChanges(this.stateDeco,E.empty,this.heightOracle,[new ht(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new Ma(X.from,x))}oi&&(l|=2)}let P=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return P&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(l&2||P)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,o=new JO(r.lineAt(s-i*1e3,oe.ByHeight,n,0,0).from,r.lineAt(a+(1-i)*1e3,oe.ByHeight,n,0,0).to);if(t){let{head:l}=t.range;if(lo.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=r.lineAt(l,oe.ByPos,n,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-c/2:t.y=="start"||t.y=="nearest"&&l=a+Math.max(10,Math.min(i,250)))&&r>s-2*1e3&&n>1,s=r<<1;if(this.defaultTextDirection!=H.LTR&&!i)return[];let a=[],o=(c,h,f,u)=>{if(h-cc&&mm.from>=f.from&&m.to<=f.to&&Math.abs(m.from-c)m.fromg));if(!p){if(hP.from<=h&&P.to>=h)){let P=t.moveToLineBoundary(S.cursor(h),!1,!0).head;P>c&&(h=P)}let m=this.gapSize(f,c,h,u),g=i||m<2e6?m:2e6;p=new Ai(c,h,m,g)}a.push(p)},l=c=>{if(c.length2e6)for(let x of e)x.from>=c.from&&x.fromc.from&&o(c.from,u,c,h),Qt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];M.spans(t,this.viewport.from,this.viewport.to,{span(n,s){i.push({from:n,to:s})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let n=0;n=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||zi(this.heightMap.lineAt(e,oe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||zi(this.heightMap.lineAt(this.scaler.fromDOM(e),oe.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return zi(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},JO=class{constructor(e,t){this.from=e,this.to=t}};function aS(O,e,t){let i=[],r=O,n=0;return M.spans(t,O,e,{span(){},point(s,a){s>r&&(i.push({from:r,to:s}),n+=s-r),r=a}},20),r=1)return e[e.length-1].to;let i=Math.floor(O*t);for(let r=0;;r++){let{from:n,to:s}=e[r],a=s-n;if(i<=a)return n+i;i-=a}}function nn(O,e){let t=0;for(let{from:i,to:r}of O.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/O.total}function oS(O,e){for(let t of O)if(e(t))return t}var Qf={toDOM(O){return O},fromDOM(O){return O},scale:1,eq(O){return O==this}},Fa=class O{constructor(e,t,i){let r=0,n=0,s=0;this.viewports=i.map(({from:a,to:o})=>{let l=t.lineAt(a,oe.ByPos,e,0,0).top,c=t.lineAt(o,oe.ByPos,e,0,0).bottom;return r+=c-l,{from:a,to:o,top:l,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let a of this.viewports)a.domTop=s+(a.top-n)*this.scale,s=a.domBottom=a.domTop+(a.bottom-a.top),n=a.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let n=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}};function zi(O,e){if(e.scale==1)return O;let t=e.toDOM(O.top),i=e.toDOM(O.bottom);return new lt(O.from,O.length,t,i-t,Array.isArray(O._content)?O._content.map(r=>zi(r,e)):O._content)}var sn=Z.define({combine:O=>O.join(" ")}),Ha=Z.define({combine:O=>O.indexOf(!0)>-1}),Ka=Ot.newName(),Pd=Ot.newName(),Sd=Ot.newName(),Xd={"&light":"."+Pd,"&dark":"."+Sd};function Ja(O,e,t){return new Ot(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return O;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):O+" "+i}})}var lS=Ja("."+Ka,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Xd),cS={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Qa=v.ie&&v.ie_version<=11,eo=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ba,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(v.ie&&v.ie_version<=11||v.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&v.android&&e.constructor.EDIT_CONTEXT!==!1&&!(v.chrome&&v.chrome_version<126)&&(this.editContext=new to(e),e.state.facet(_t)&&(e.contentDOM.editContext=this.editContext.editContext)),Qa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(_t)?i.root.activeElement!=this.dom:!cn(this.dom,r))return;let n=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(v.ie&&v.ie_version<=11||v.android&&v.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Wi(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Bi(e.root);if(!t)return!1;let i=v.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&hS(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=cn(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&ii(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),t==-1?{from:t,to:i}=s:(t=Math.min(s.from,t),i=Math.max(s.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&cn(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Ca(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=cd(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=$f(t,e.previousSibling||e.target.previousSibling,-1),r=$f(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(_t)!=e.state.facet(_t)&&(e.view.contentDOM.editContext=e.state.facet(_t)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function $f(O,e,t){for(;e;){let i=de.get(e);if(i&&i.parent==O)return i;let r=e.parentNode;e=r!=O.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function pf(O,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,n=e.endOffset,s=O.docView.domAtPos(O.state.selection.main.anchor,1);return Wi(s.node,s.offset,r,n)&&([t,i,r,n]=[r,n,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:n}}function hS(O,e){if(e.getComposedRanges){let r=e.getComposedRanges(O.root)[0];if(r)return pf(O,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return O.contentDOM.addEventListener("beforeinput",i,!0),O.dom.ownerDocument.execCommand("indent"),O.contentDOM.removeEventListener("beforeinput",i,!0),t?pf(O,t):null}var to=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:n,head:s}=r,a=this.toEditorPos(i.updateRangeStart),o=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:a,drifted:!1});let l=o-a>i.text.length;a==this.from&&nthis.to&&(o=n);let c=hd(e.state.sliceDoc(a,o),i.text,(l?r.from:r.to)-a,l?"end":null);if(!c){let f=S.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));f.main.eq(r)||e.dispatch({selection:f,userEvent:"select"});return}let h={from:c.from+a,to:c.toA+a,insert:E.of(i.text.slice(c.from,c.toB).split(` +`))};if((v.mac||v.android)&&h.from==s-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:o,insert:E.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);So(e,h,S.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],n=null;for(let s=this.toEditorPos(i.rangeStart),a=this.toEditorPos(i.rangeEnd);s{let r=[];for(let n of i.getTextFormats()){let s=n.underlineStyle,a=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(a)){let o=this.toEditorPos(n.rangeStart),l=this.toEditorPos(n.rangeEnd);if(o{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Bi(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,a,o,l)=>{if(i)return;let c=l.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(l)){r=this.pendingContextChange=null,t+=c,this.to+=c;return}else r=null,this.revertPending(e.state);if(n+=t,s+=t,s<=this.from)this.from+=c,this.to+=c;else if(nthis.to||this.to-this.from+l.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),l.toString()),this.to+=c}t+=c}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},T=class O{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(n=>i(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||nP(e.parent)||document,this.viewState=new xn(e.state||I.create(e)),e.scrollTo&&e.scrollTo.is(en)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(KO).map(r=>new Ci(r));for(let r of this.plugins)r.update(this);this.observer=new eo(this),this.inputState=new Ga(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Xn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof Qe?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,a=0,o=null;e.some(f=>f.annotation(pd))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,o=md(n,s),o||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(c=null)):this.observer.clear(),n.facet(I.phrases)!=this.state.facet(I.phrases))return this.setState(n);r=Pn.create(this,n,e),r.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:u}=f.state.selection;h=new ji(u.empty?u:S.cursor(u.head,u.head>u.anchor?-1:1))}for(let u of f.effects)u.is(en)&&(h=u.value.clip(this.state))}this.viewState.update(r,h),this.bidiCache=kn.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(Vi)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(sn)!=r.state.facet(sn)&&(this.viewState.mustMeasureContent=!0),(t||i||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(wa))try{f(r)}catch(u){Xe(this.state,u,"update listener")}(o||c)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),c&&!cd(this,c)&&l.force&&ii(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new xn(e),this.plugins=e.facet(KO).map(i=>new Ci(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Xn(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(KO),i=e.state.facet(KO);if(t!=i){let r=[];for(let n of i){let s=t.indexOf(n);if(s<0)r.push(new Ci(n));else{let a=this.plugins[s];a.mustUpdate=e,r.push(a)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,r=i.scrollTop*this.scaleY,{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(zf(i))n=-1,s=this.viewState.heightMap.height;else{let u=this.viewState.scrollAnchorAt(r);n=u.from,s=u.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];o&4||([this.measureRequests,l]=[l,this.measureRequests]);let c=l.map(u=>{try{return u.read(this)}catch(Q){return Xe(this.state,Q),mf}}),h=Pn.create(this,this.state,[]),f=!1;h.flags|=o,t?t.flags|=o:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let u=0;u1||Q<-1){r=r+Q,i.scrollTop=r/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(wa))a(t)}get themeClasses(){return Ka+" "+(this.state.facet(Ha)?Sd:Pd)+" "+this.state.facet(sn)}updateAttrs(){let e=gf(this,ed,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(_t)?"true":"false",class:"cm-content",style:`${v.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),gf(this,go,t);let i=this.observer.ignore(()=>{let r=Fh(this.contentDOM,this.contentAttrs,t),n=Fh(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(O.announce)){t&&(this.announceDOM.textContent=""),t=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Vi);let e=this.state.facet(O.cspNonce);Ot.mount(this.root,this.styleModules.concat(lS).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ti.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return ua(this,e,Of(this,e,t,i))}moveByGroup(e,t){return ua(this,e,Of(this,e,t,i=>VP(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return S.cursor(n.side(t,r)+e.from,n.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return RP(this,e,t,i)}moveVertically(e,t,i){return ua(this,e,qP(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=Wa(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Wa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[ct.find(n,e-r.from,-1,t)];return gn(i,s.dir==H.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Ff)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>fS)return Ef(e.length);let t=this.textDirectionAt(e.from),i;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t&&(n.fresh||Gf(n.isolates,i=Jh(this,e))))return n.order;i||(i=Jh(this,e));let r=dP(e.text,t,i);return this.bidiCache.push(new kn(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||v.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{qf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return en.of(new ji(typeof e=="number"?S.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return en.of(new ji(S.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return he.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return he.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Ot.newName(),r=[sn.of(i),Vi.of(Ja(`.${i}`,e))];return t&&t.dark&&r.push(Ha.of(!0)),r}static baseTheme(e){return ze.lowest(Vi.of(Ja("."+Ka,e,Xd)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&de.get(i)||de.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};T.styleModule=Vi;T.inputHandler=Bf;T.clipboardInputFilter=po;T.clipboardOutputFilter=mo;T.scrollHandler=Kf;T.focusChangeEffect=Nf;T.perLineTextDirection=Ff;T.exceptionSink=If;T.updateListener=wa;T.editable=_t;T.mouseSelectionStyle=Df;T.dragMovesSelection=Mf;T.clickAddsSelectionRange=Lf;T.decorations=Fi;T.blockWrappers=td;T.outerDecorations=Od;T.atomicRanges=Ji;T.bidiIsolatedRanges=id;T.scrollMargins=rd;T.darkTheme=Ha;T.cspNonce=Z.define({combine:O=>O.length?O[0]:""});T.contentAttributes=go;T.editorAttributes=ed;T.lineWrapping=T.contentAttributes.of({class:"cm-lineWrapping"});T.announce=V.define();var fS=4096,mf={},kn=class O{constructor(e,t,i,r,n,s){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=n,this.order=s}static update(e,t){if(t.empty&&!e.some(n=>n.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:H.LTR;for(let n=Math.max(0,e.length-10);n=0;r--){let n=i[r],s=typeof n=="function"?n(O):n;s&&uo(s,t)}return t}var dS=v.mac?"mac":v.windows?"win":v.linux?"linux":"key";function uS(O,e){let t=O.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,n,s,a;for(let o=0;oi.concat(r),[]))),t}function bd(O,e,t){return yd(Td(O.state),e,O,t)}var Dt=null,$S=4e3;function pS(O,e=dS){let t=Object.create(null),i=Object.create(null),r=(s,a)=>{let o=i[s];if(o==null)i[s]=a;else if(o!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,a,o,l,c)=>{var h,f;let u=t[s]||(t[s]=Object.create(null)),Q=a.split(/ (?!$)/).map(m=>uS(m,e));for(let m=1;m{let y=Dt={view:P,prefix:g,scope:s};return setTimeout(()=>{Dt==y&&(Dt=null)},$S),!0}]})}let $=Q.join(" ");r($,!1);let p=u[$]||(u[$]={preventDefault:!1,stopPropagation:!1,run:((f=(h=u._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});o&&p.run.push(o),l&&(p.preventDefault=!0),c&&(p.stopPropagation=!0)};for(let s of O){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let l of a){let c=t[l]||(t[l]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=s;for(let f in c)c[f].run.push(u=>h(u,Oo))}let o=s[e]||s.key;if(o)for(let l of a)n(l,o,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(l,"Shift-"+o,s.shift,s.preventDefault,s.stopPropagation)}return t}var Oo=null;function yd(O,e,t,i){Oo=e;let r=Mh(e),n=Se(r,0),s=Me(n)==r.length&&r!=" ",a="",o=!1,l=!1,c=!1;Dt&&Dt.view==t&&Dt.scope==i&&(a=Dt.prefix+" ",dd.indexOf(e.keyCode)<0&&(l=!0,Dt=null));let h=new Set,f=p=>{if(p){for(let m of p.run)if(!h.has(m)&&(h.add(m),m(t)))return p.stopPropagation&&(c=!0),!0;p.preventDefault&&(p.stopPropagation&&(c=!0),l=!0)}return!1},u=O[i],Q,$;return u&&(f(u[a+an(r,e,!s)])?o=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(v.windows&&e.ctrlKey&&e.altKey)&&!(v.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(Q=Yt[e.keyCode])&&Q!=r?(f(u[a+an(Q,e,!0)])||e.shiftKey&&($=HO[e.keyCode])!=r&&$!=Q&&f(u[a+an($,e,!1)]))&&(o=!0):s&&e.shiftKey&&f(u[a+an(r,e,!0)])&&(o=!0),!o&&f(u._any)&&(o=!0)),l&&(o=!0),o&&c&&e.stopPropagation(),Oo=null,o}var Hi=class O{constructor(e,t,i,r,n){this.className=e,this.left=t,this.top=i,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let n=xd(e);return[new O(t,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return mS(e,t,i)}};function xd(O){let e=O.scrollDOM.getBoundingClientRect();return{left:(O.textDirection==H.LTR?e.left:e.right-O.scrollDOM.clientWidth*O.scaleX)-O.scrollDOM.scrollLeft*O.scaleX,top:e.top-O.scrollDOM.scrollTop*O.scaleY}}function Sf(O,e,t,i){let r=O.coordsAtPos(e,t*2);if(!r)return i;let n=O.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,a=O.posAtCoords({x:n.left+1,y:s}),o=O.posAtCoords({x:n.right-1,y:s});return a==null||o==null?i:{from:Math.max(i.from,Math.min(a,o)),to:Math.min(i.to,Math.max(a,o))}}function mS(O,e,t){if(t.to<=O.viewport.from||t.from>=O.viewport.to)return[];let i=Math.max(t.from,O.viewport.from),r=Math.min(t.to,O.viewport.to),n=O.textDirection==H.LTR,s=O.contentDOM,a=s.getBoundingClientRect(),o=xd(O),l=s.querySelector(".cm-line"),c=l&&window.getComputedStyle(l),h=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=a.right-(c?parseInt(c.paddingRight):0),u=Ua(O,i,1),Q=Ua(O,r,-1),$=u.type==Te.Text?u:null,p=Q.type==Te.Text?Q:null;if($&&(O.lineWrapping||u.widgetLineBreaks)&&($=Sf(O,i,1,$)),p&&(O.lineWrapping||Q.widgetLineBreaks)&&(p=Sf(O,r,-1,p)),$&&p&&$.from==p.from&&$.to==p.to)return g(P(t.from,t.to,$));{let X=$?P(t.from,null,$):y(u,!1),x=p?P(null,t.to,p):y(Q,!0),k=[];return($||u).to<(p||Q).from-($&&p?1:0)||u.widgetLineBreaks>1&&X.bottom+O.defaultLineHeight/2q&&B.from=we)break;Je>ae&&G(Math.max(Pe,ae),X==null&&Pe<=q,Math.min(Je,we),x==null&&Je>=K,mt.dir)}if(ae=Ee.to+1,ae>=we)break}return ie.length==0&&G(q,X==null,K,x==null,O.textDirection),{top:j,bottom:A,horizontal:ie}}function y(X,x){let k=a.top+(x?X.top:X.bottom);return{top:k,bottom:k,horizontal:[]}}}function gS(O,e){return O.constructor==e.constructor&&O.eq(e)}var io=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(dn)!=e.state.facet(dn)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(dn);for(;t!gS(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,v.safari&&v.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},dn=Z.define();function kd(O){return[he.define(e=>new io(e,O)),dn.of(O)]}var Ki=Z.define({combine(O){return xe(O,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function wd(O={}){return[Ki.of(O),PS,SS,XS,Hf.of(!0)]}function Zd(O){return O.startState.facet(Ki)!=O.state.facet(Ki)}var PS=kd({above:!0,markers(O){let{state:e}=O,t=e.facet(Ki),i=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||t.drawRangeCursor){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=r.empty?r:S.cursor(r.head,r.head>r.anchor?-1:1);for(let o of Hi.forRange(O,s,a))i.push(o)}}return i},update(O,e){O.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Zd(O);return t&&Xf(O.state,e),O.docChanged||O.selectionSet||t},mount(O,e){Xf(e.state,O)},class:"cm-cursorLayer"});function Xf(O,e){e.style.animationDuration=O.facet(Ki).cursorBlinkRate+"ms"}var SS=kd({above:!1,markers(O){return O.state.selection.ranges.map(e=>e.empty?[]:Hi.forRange(O,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(O,e){return O.docChanged||O.selectionSet||O.viewportChanged||Zd(O)},class:"cm-selectionLayer"}),XS=ze.highest(T.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),vd=V.define({map(O,e){return O==null?null:e.mapPos(O)}}),Ui=ce.define({create(){return null},update(O,e){return O!=null&&(O=e.changes.mapPos(O)),e.effects.reduce((t,i)=>i.is(vd)?i.value:t,O)}}),TS=he.fromClass(class{constructor(O){this.view=O,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(O){var e;let t=O.state.field(Ui);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(O.startState.field(Ui)!=t||O.docChanged||O.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:O}=this,e=O.state.field(Ui),t=e!=null&&O.coordsAtPos(e);if(!t)return null;let i=O.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+O.scrollDOM.scrollLeft*O.scaleX,top:t.top-i.top+O.scrollDOM.scrollTop*O.scaleY,height:t.bottom-t.top}}drawCursor(O){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;O?(this.cursor.style.left=O.left/e+"px",this.cursor.style.top=O.top/t+"px",this.cursor.style.height=O.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(O){this.view.state.field(Ui)!=O&&this.view.dispatch({effects:vd.of(O)})}},{eventObservers:{dragover(O){this.setDropPos(this.view.posAtCoords({x:O.clientX,y:O.clientY}))},dragleave(O){(O.target==this.view.contentDOM||!this.view.contentDOM.contains(O.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Yd(){return[Ui,TS]}function Tf(O,e,t,i,r){e.lastIndex=0;for(let n=O.iterRange(t,i),s=t,a;!n.next().done;s+=n.value.length)if(!n.lineBreak)for(;a=e.exec(n.value);)r(s+a.index,a)}function bS(O,e){let t=O.visibleRanges;if(t.length==1&&t[0].from==O.viewport.from&&t[0].to==O.viewport.to)return t;let i=[];for(let{from:r,to:n}of t)r=Math.max(O.state.doc.lineAt(r).from,r-e),n=Math.min(O.state.doc.lineAt(n).to,n+e),i.length&&i[i.length-1].to>=r?i[i.length-1].to=n:i.push({from:r,to:n});return i}var ro=class{constructor(e){let{regexp:t,decoration:i,decorate:r,boundary:n,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,r)this.addMatch=(a,o,l,c)=>r(c,l,l+a[0].length,a,o);else if(typeof i=="function")this.addMatch=(a,o,l,c)=>{let h=i(a,o,l);h&&c(l,l+a[0].length,h)};else if(i)this.addMatch=(a,o,l,c)=>c(l,l+a[0].length,i);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=n,this.maxLength=s}createDeco(e){let t=new Le,i=t.add.bind(t);for(let{from:r,to:n}of bS(e,this.maxLength))Tf(e.state.doc,this.regexp,r,n,(s,a)=>this.addMatch(a,e,s,i));return t.finish()}updateDeco(e,t){let i=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((n,s,a,o)=>{o>=e.view.viewport.from&&a<=e.view.viewport.to&&(i=Math.min(a,i),r=Math.max(o,r))}),e.viewportMoved||r-i>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),i,r):t}updateRange(e,t,i,r){for(let n of e.visibleRanges){let s=Math.max(n.from,i),a=Math.min(n.to,r);if(a>=s){let o=e.state.doc.lineAt(s),l=o.too.from;s--)if(this.boundary.test(o.text[s-1-o.from])){c=s;break}for(;af.push(m.range($,p));if(o==l)for(this.regexp.lastIndex=c-o.from;(u=this.regexp.exec(o.text))&&u.indexthis.addMatch(p,e,$,Q));t=t.update({filterFrom:c,filterTo:h,filter:($,p)=>$h,add:f})}}return t}},no=/x/.unicode!=null?"gu":"g",yS=new RegExp(`[\0-\b +-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,no),xS={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},$a=null;function kS(){var O;if($a==null&&typeof document<"u"&&document.body){let e=document.body.style;$a=((O=e.tabSize)!==null&&O!==void 0?O:e.MozTabSize)!=null}return $a||!1}var un=Z.define({combine(O){let e=xe(O,{render:null,specialChars:yS,addSpecialChars:null});return(e.replaceTabs=!kS())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,no)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,no)),e}});function _d(O={}){return[un.of(O),wS()]}var bf=null;function wS(){return bf||(bf=he.fromClass(class{constructor(O){this.view=O,this.decorations=Y.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(O.state.facet(un)),this.decorations=this.decorator.createDeco(O)}makeDecorator(O){return new ro({regexp:O.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,n=Se(e[0],0);if(n==9){let s=r.lineAt(i),a=t.state.tabSize,o=ve(s.text,a,i-s.from);return Y.replace({widget:new ao((a-o%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[n]||(this.decorationCache[n]=Y.replace({widget:new so(O,n)}))},boundary:O.replaceTabs?void 0:/[^]/})}update(O){let e=O.state.facet(un);O.startState.facet(un)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(O.view)):this.decorations=this.decorator.updateDeco(O,this.decorations)}},{decorations:O=>O.decorations}))}var ZS="\u2022";function vS(O){return O>=32?ZS:O==10?"\u2424":String.fromCharCode(9216+O)}var so=class extends _e{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=vS(this.code),i=e.state.phrase("Control character")+" "+(xS[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}},ao=class extends _e{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};function Rd(){return _S}var YS=Y.line({class:"cm-activeLine"}),_S=he.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.docChanged||O.selectionSet)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=-1,t=[];for(let i of O.state.selection.ranges){let r=O.lineBlockAt(i.head);r.from>e&&(t.push(YS.range(r.from)),e=r.from)}return Y.set(t)}},{decorations:O=>O.decorations});var oo=2e3;function RS(O,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),n=[];if(e.off>oo||t.off>oo||e.col<0||t.col<0){let s=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let o=i;o<=r;o++){let l=O.doc.line(o);l.length<=a&&n.push(S.range(l.from+s,l.to+a))}}else{let s=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let o=i;o<=r;o++){let l=O.doc.line(o),c=Kr(l.text,s,O.tabSize,!0);if(c<0)n.push(S.cursor(l.to));else{let h=Kr(l.text,a,O.tabSize);n.push(S.range(l.from+c,l.from+h))}}}return n}function VS(O,e){let t=O.coordsAtPos(O.viewport.from);return t?Math.round(Math.abs((t.left-e)/O.defaultCharacterWidth)):-1}function yf(O,e){let t=O.posAtCoords({x:e.clientX,y:e.clientY},!1),i=O.state.doc.lineAt(t),r=t-i.from,n=r>oo?-1:r==i.length?VS(O,e.clientX):ve(i.text,O.state.tabSize,t-i.from);return{line:i.number,col:n,off:r}}function qS(O,e){let t=yf(O,e),i=O.state.selection;return t?{update(r){if(r.docChanged){let n=r.changes.mapPos(r.startState.doc.line(t.line).from),s=r.state.doc.lineAt(n);t={line:s.number,col:t.col,off:Math.min(t.off,s.length)},i=i.map(r.changes)}},get(r,n,s){let a=yf(O,r);if(!a)return i;let o=RS(O.state,t,a);return o.length?s?S.create(o.concat(i.ranges)):S.create(o):i}}:null}function Vd(O){let e=O?.eventFilter||(t=>t.altKey&&t.button==0);return T.mouseSelectionStyle.of((t,i)=>e(i)?qS(t,i):null)}var zS={Alt:[18,O=>!!O.altKey],Control:[17,O=>!!O.ctrlKey],Shift:[16,O=>!!O.shiftKey],Meta:[91,O=>!!O.metaKey]},US={style:"cursor: crosshair"};function qd(O={}){let[e,t]=zS[O.key||"Alt"],i=he.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,T.contentAttributes.of(r=>{var n;return!((n=r.plugin(i))===null||n===void 0)&&n.isDown?US:null})]}var on="-10000px",wn=class{constructor(e,t,i,r){this.facet=t,this.createTooltipView=i,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=i(s,n))}update(e,t){var i;let r=e.state.facet(this.facet),n=r.filter(o=>o);if(r===this.input){for(let o of this.tooltipViews)o.update&&o.update(e);return!1}let s=[],a=t?[]:null;for(let o=0;ot[l]=o),t.length=a.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function WS(O){let e=O.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var pa=Z.define({combine:O=>{var e,t,i;return{position:v.ios?"absolute":((e=O.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=O.find(r=>r.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((i=O.find(r=>r.tooltipSpace))===null||i===void 0?void 0:i.tooltipSpace)||WS}}}),xf=new WeakMap,Xo=he.fromClass(class{constructor(O){this.view=O,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=O.state.facet(pa);this.position=e.position,this.parent=e.parent,this.classes=O.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new wn(O,er,(t,i)=>this.createTooltip(t,i),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),O.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let O of this.manager.tooltipViews)this.intersectionObserver.observe(O.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(O){O.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(O,this.above);e&&this.observeIntersection();let t=e||O.geometryChanged,i=O.state.facet(pa);if(i.position!=this.position&&!this.madeAbsolute){this.position=i.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;t=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(O,e){let t=O.create(this.view),i=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),O.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",t.dom.appendChild(r)}return t.dom.style.position=this.position,t.dom.style.top=on,t.dom.style.left="0px",this.container.insertBefore(t.dom,i),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var O,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let i of this.manager.tooltipViews)i.dom.remove(),(O=i.destroy)===null||O===void 0||O.call(i);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let O=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(v.safari){let s=n.getBoundingClientRect();t=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else t=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(O=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:O,scaleY:e}=this.view.viewState);let i=this.view.scrollDOM.getBoundingClientRect(),r=Po(this.view);return{visible:{left:i.left+r.left,top:i.top+r.top,right:i.right-r.right,bottom:i.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(pa).tooltipSpace(this.view),scaleX:O,scaleY:e,makeAbsolute:t}}writeMeasure(O){var e;if(O.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:i,scaleX:r,scaleY:n}=O,s=[];for(let a=0;a=Math.min(t.bottom,i.bottom)||h.rightMath.min(t.right,i.right)+.1)){c.style.top=on;continue}let u=o.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,Q=u?7:0,$=f.right-f.left,p=(e=xf.get(l))!==null&&e!==void 0?e:f.bottom-f.top,m=l.offset||CS,g=this.view.textDirection==H.LTR,P=f.width>i.right-i.left?g?i.left:i.right-f.width:g?Math.max(i.left,Math.min(h.left-(u?14:0)+m.x,i.right-$)):Math.min(Math.max(i.left,h.left-$+(u?14:0)-m.x),i.right-$),y=this.above[a];!o.strictSide&&(y?h.top-p-Q-m.yi.bottom)&&y==i.bottom-h.bottom>h.top-i.top&&(y=this.above[a]=!y);let X=(y?h.top-i.top:i.bottom-h.bottom)-Q;if(XP&&j.topx&&(x=y?j.top-p-2-Q:j.bottom+Q+2);if(this.position=="absolute"?(c.style.top=(x-O.parent.top)/n+"px",kf(c,(P-O.parent.left)/r)):(c.style.top=x/n+"px",kf(c,P/r)),u){let j=h.left+(g?m.x:-m.x)-(P+14-7);u.style.left=j/r+"px"}l.overlap!==!0&&s.push({left:P,top:x,right:k,bottom:x+p}),c.classList.toggle("cm-tooltip-above",y),c.classList.toggle("cm-tooltip-below",!y),l.positioned&&l.positioned(O.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let O of this.manager.tooltipViews)O.dom.style.top=on}},{eventObservers:{scroll(){this.maybeMeasure()}}});function kf(O,e){let t=parseInt(O.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(O.style.left=e+"px")}var jS=T.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),CS={x:0,y:0},er=Z.define({enables:[Xo,jS]}),Zn=Z.define({combine:O=>O.reduce((e,t)=>e.concat(t),[])}),vn=class O{static create(e){return new O(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new wn(e,Zn,(t,i)=>this.createHostedView(t,i),t=>t.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let r=i[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},GS=er.compute([Zn],O=>{let e=O.facet(Zn);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var i;return(i=t.end)!==null&&i!==void 0?i:t.pos})),create:vn.create,above:e[0].above,arrow:e.some(t=>t.arrow)}}),lo=class{constructor(e,t,i,r,n){this.view=e,this.source=t,this.field=i,this.setHover=r,this.hoverTime=n,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ea.bottom||t.xa.right+e.defaultCharacterWidth)return;let o=e.bidiSpans(e.state.doc.lineAt(r)).find(c=>c.from<=r&&c.to>=r),l=o&&o.dir==H.RTL?-1:1;n=t.x{this.pending==a&&(this.pending=null,o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])}))},o=>Xe(e.state,o,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(Xo),t=e?e.manager.tooltips.findIndex(i=>i.create==vn.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&n&&!ES(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,a=(i=(t=r[0])===null||t===void 0?void 0:t.end)!==null&&i!==void 0?i:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!AS(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:i}=this;i&&i.dom.contains(e.relatedTarget)?this.watchTooltipLeave(i.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(i.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},ln=4;function ES(O,e){let{left:t,right:i,top:r,bottom:n}=O.getBoundingClientRect(),s;if(s=O.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();r=Math.min(a.top,r),n=Math.max(a.bottom,n)}return e.clientX>=t-ln&&e.clientX<=i+ln&&e.clientY>=r-ln&&e.clientY<=n+ln}function AS(O,e,t,i,r,n){let s=O.scrollDOM.getBoundingClientRect(),a=O.documentTop+O.documentPadding.top+O.contentHeight;if(s.left>i||s.rightr||Math.min(s.bottom,a)=e&&o<=t}function zd(O,e={}){let t=V.define(),i=ce.define({create(){return[]},update(r,n){if(r.length&&(e.hideOnChange&&(n.docChanged||n.selection)?r=[]:e.hideOn&&(r=r.filter(s=>!e.hideOn(n,s))),n.docChanged)){let s=[];for(let a of r){let o=n.changes.mapPos(a.pos,-1,pe.TrackDel);if(o!=null){let l=Object.assign(Object.create(null),a);l.pos=o,l.end!=null&&(l.end=n.changes.mapPos(l.end)),s.push(l)}}r=s}for(let s of n.effects)s.is(t)&&(r=s.value),s.is(LS)&&(r=[]);return r},provide:r=>Zn.from(r)});return{active:i,extension:[i,he.define(r=>new lo(r,O,i,t,e.hoverTime||300)),GS]}}function To(O,e){let t=O.plugin(Xo);if(!t)return null;let i=t.manager.tooltips.indexOf(e);return i<0?null:t.manager.tooltipViews[i]}var LS=V.define();var wf=Z.define({combine(O){let e,t;for(let i of O)e=e||i.topContainer,t=t||i.bottomContainer;return{topContainer:e,bottomContainer:t}}});function bO(O,e){let t=O.plugin(Ud),i=t?t.specs.indexOf(e):-1;return i>-1?t.panels[i]:null}var Ud=he.fromClass(class{constructor(O){this.input=O.state.facet(TO),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(O));let e=O.state.facet(wf);this.top=new ei(O,!0,e.topContainer),this.bottom=new ei(O,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(O){let e=O.state.facet(wf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new ei(O.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new ei(O.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=O.state.facet(TO);if(t!=this.input){let i=t.filter(o=>o),r=[],n=[],s=[],a=[];for(let o of i){let l=this.specs.indexOf(o),c;l<0?(c=o(O.view),a.push(c)):(c=this.panels[l],c.update&&c.update(O)),r.push(c),(c.top?n:s).push(c)}this.specs=i,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let o of a)o.dom.classList.add("cm-panel"),o.mount&&o.mount()}else for(let i of this.panels)i.update&&i.update(O)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:O=>T.scrollMargins.of(e=>{let t=e.plugin(O);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})}),ei=class{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=Zf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Zf(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function Zf(O){let e=O.nextSibling;return O.remove(),e}var TO=Z.define({enables:Ud});var Ie=class extends tt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Ie.prototype.elementClass="";Ie.prototype.toDOM=void 0;Ie.prototype.mapMode=pe.TrackBefore;Ie.prototype.startSide=Ie.prototype.endSide=-1;Ie.prototype.point=!0;var Qn=Z.define(),MS=Z.define(),DS={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>M.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Li=Z.define();function bo(O){return[Wd(),Li.of({...DS,...O})]}var co=Z.define({combine:O=>O.some(e=>e)});function Wd(O){let e=[IS];return O&&O.fixed===!1&&e.push(co.of(!0)),e}var IS=he.fromClass(class{constructor(O){this.view=O,this.domAfter=null,this.prevViewport=O.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=O.state.facet(Li).map(e=>new Yn(O,e)),this.fixed=!O.state.facet(co);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),O.scrollDOM.insertBefore(this.dom,O.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(O){if(this.updateGutters(O)){let e=this.prevViewport,t=O.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(O.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(co)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=O.view.viewport}syncGutters(O){let e=this.dom.nextSibling;O&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=M.iter(this.view.state.facet(Qn),this.view.viewport.from),i=[],r=this.gutters.map(n=>new fo(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(n.type)){let s=!0;for(let a of n.type)if(a.type==Te.Text&&s){ho(t,i,a.from);for(let o of r)o.line(this.view,a,i);s=!1}else if(a.widget)for(let o of r)o.widget(this.view,a)}else if(n.type==Te.Text){ho(t,i,n.from);for(let s of r)s.line(this.view,n,i)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();O&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(O){let e=O.startState.facet(Li),t=O.state.facet(Li),i=O.docChanged||O.heightChanged||O.viewportChanged||!M.eq(O.startState.facet(Qn),O.state.facet(Qn),O.view.viewport.from,O.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(O)&&(i=!0);else{i=!0;let r=[];for(let n of t){let s=e.indexOf(n);s<0?r.push(new Yn(this.view,n)):(this.gutters[s].update(O),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return i}destroy(){for(let O of this.gutters)O.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:O=>T.scrollMargins.of(e=>{let t=e.plugin(O);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==H.LTR?{left:i,right:r}:{right:i,left:r}})});function vf(O){return Array.isArray(O)?O:[O]}function ho(O,e,t){for(;O.value&&O.from<=t;)O.from==t&&e.push(O.value),O.next()}var fo=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=M.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,n=(t.top-this.height)/e.scaleY,s=t.height/e.scaleY;if(this.i==r.elements.length){let a=new _n(e,s,n,i);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(e,s,n,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];ho(this.cursor,r,t.from),i.length&&(r=r.concat(i));let n=this.gutter.config.lineMarker(e,t,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let n of e.state.facet(MS)){let s=n(e,t.widget,t);s&&(r||(r=[])).push(s)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},Yn=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let o=n.getBoundingClientRect();s=(o.top+o.bottom)/2}else s=r.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,a,r)&&r.preventDefault()});this.markers=vf(t.markers(e)),t.initialSpacer&&(this.spacer=new _n(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=vf(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!M.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},_n=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),BS(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let a=s,o=nn(a,o,l)||s(a,o,l):s}return i}})}}),Mi=class extends Ie{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function ma(O,e){return O.state.facet(ti).formatNumber(e,O.state)}var HS=Li.compute([ti],O=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(NS)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Mi(ma(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(FS)){let n=r(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(ti)!=e.state.facet(ti),initialSpacer(e){return new Mi(ma(e,Yf(e.state.doc.lines)))},updateSpacer(e,t){let i=ma(t.view,Yf(t.view.state.doc.lines));return i==e.number?e:new Mi(i)},domEventHandlers:O.facet(ti).domEventHandlers,side:"before"}));function jd(O={}){return[ti.of(O),Wd(),HS]}function Yf(O){let e=9;for(;e{let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.head).from;r>t&&(t=r,e.push(KS.range(r)))}return M.of(e)});function Cd(){return JS}var eX=0,We=class{constructor(e,t){this.from=e,this.to=t}},R=class{constructor(e={}){this.id=eX++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ue.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};R.closedBy=new R({deserialize:O=>O.split(" ")});R.openedBy=new R({deserialize:O=>O.split(" ")});R.group=new R({deserialize:O=>O.split(" ")});R.isolate=new R({deserialize:O=>{if(O&&O!="rtl"&&O!="ltr"&&O!="auto")throw new RangeError("Invalid value for isolate: "+O);return O||"auto"}});R.contextHash=new R({perNode:!0});R.lookAhead=new R({perNode:!0});R.mounted=new R({perNode:!0});var Ht=class{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[R.mounted.id]}},tX=Object.create(null),ue=class O{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):tX,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new O(e.name||"",t,e.id,i);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(R.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(R.group),n=-1;n<(r?r.length:0);n++){let s=t[n<0?i.name:r[n]];if(s)return s}}}};ue.none=new ue("",Object.create(null),0,8);var Kt=class O{constructor(e){this.types=e;for(let t=0;t0;for(let o=this.cursor(s|C.IncludeAnonymous);;){let l=!1;if(o.from<=n&&o.to>=r&&(!a&&o.type.isAnonymous||t(o)!==!1)){if(o.firstChild())continue;l=!0}for(;l&&i&&(a||!o.type.isAnonymous)&&i(o),!o.nextSibling();){if(!o.parent())return;l=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:qo(ue.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new O(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new O(ue.none,t,i,r)))}static build(e){return iX(e)}};D.empty=new D(ue.none,[],[],0);var yo=class O{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new O(this.buffer,this.index)}},Jt=class O{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return ue.none}toString(){let e=[];for(let t=0;t0));o=s[o+3]);return a}slice(e,t,i){let r=this.buffer,n=new Uint16Array(t-e),s=0;for(let a=e,o=0;a=e&&te;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function tr(O,e,t,i){for(var r;O.from==O.to||(t<1?O.from>=e:O.from>e)||(t>-1?O.to<=e:O.to0?o.length:-1;e!=c;e+=t){let h=o[e],f=l[e]+a.from;if(!(!(n&C.EnterBracketed&&h instanceof D&&((s=Ht.get(h))===null||s===void 0?void 0:s.overlay)===null&&(f>=i||f+h.length<=i))&&!Bd(r,i,f,f+h.length))){if(h instanceof Jt){if(n&C.ExcludeBuffers)continue;let u=h.findChild(0,h.buffer.length,t,i-f,r);if(u>-1)return new yO(new ko(a,h,e,f),null,u)}else if(n&C.IncludeAnonymous||!h.type.isAnonymous||Vo(h)){let u;if(!(n&C.IgnoreMounts)&&(u=Ht.get(h))&&!u.overlay)return new O(u.tree,f,e,a);let Q=new O(h,f,e,a);return n&C.IncludeAnonymous||!Q.type.isAnonymous?Q:Q.nextChild(t<0?h.children.length-1:0,t,i,r,n)}}}if(n&C.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&C.IgnoreOverlays)&&(r=Ht.get(this._tree))&&r.overlay){let n=e-this.from,s=i&C.EnterBracketed&&r.bracketed;for(let{from:a,to:o}of r.overlay)if((t>0||s?a<=n:a=n:o>n))return new O(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Ed(O,e,t,i){let r=O.cursor(),n=[];if(!r.firstChild())return n;if(t!=null){for(let s=!1;!s;)if(s=r.type.is(t),!r.nextSibling())return n}for(;;){if(i!=null&&r.type.is(i))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return i==null?n:[]}}function xo(O,e,t=e.length-1){for(let i=O;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var ko=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},yO=class O extends Un{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new O(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&C.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new O(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new O(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new O(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,n=i.buffer[this.index+3];if(n>r){let s=i.buffer[this.index+1];e.push(i.slice(r,n,s)),t.push(0)}return new D(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Nd(O){if(!O.length)return null;let e=0,t=O[0];for(let n=1;nt.from||s.to=e){let a=new je(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[i])).push(tr(a,e,t,!1))}}return r?Nd(r):i}var li=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~C.EnterBracketed,e instanceof je)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof je?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&C.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&C.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&C.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let a=i._tree.children[n];if(this.mode&C.IncludeAnonymous||a instanceof Jt||!a.type.isAnonymous||Vo(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;t=s,i=n+1;break e}r=this.stack[--n]}for(let r=i;r=0;n--){if(n<0)return xo(this._tree,e,r);let s=i[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function Vo(O){return O.children.some(e=>e instanceof Jt||!e.type.isAnonymous||Vo(e))}function iX(O){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=i.types.length}=O,a=Array.isArray(t)?new yo(t,t.length):t,o=i.types,l=0,c=0;function h(X,x,k,j,A,ie){let{id:G,start:q,end:K,size:B}=a,ae=c,we=l;if(B<0)if(a.next(),B==-1){let Zt=n[G];k.push(Zt),j.push(q-X);return}else if(B==-3){l=G;return}else if(B==-4){c=G;return}else throw new RangeError(`Unrecognized record size: ${B}`);let Ee=o[G],mt,Pe,Je=q-X;if(K-q<=r&&(Pe=p(a.pos-x,A))){let Zt=new Uint16Array(Pe.size-Pe.skip),et=a.pos-Pe.size,gt=Zt.length;for(;a.pos>et;)gt=m(Pe.start,Zt,gt);mt=new Jt(Zt,K-Pe.start,i),Je=Pe.start-X}else{let Zt=a.pos-B;a.next();let et=[],gt=[],dO=G>=s?G:-1,LO=0,Gr=K;for(;a.pos>Zt;)dO>=0&&a.id==dO&&a.size>=0?(a.end<=Gr-r&&(Q(et,gt,q,LO,a.end,Gr,dO,ae,we),LO=et.length,Gr=a.end),a.next()):ie>2500?f(q,Zt,et,gt):h(q,Zt,et,gt,dO,ie+1);if(dO>=0&&LO>0&&LO-1&&LO>0){let mh=u(Ee,we);mt=qo(Ee,et,gt,0,et.length,0,K-q,mh,mh)}else mt=$(Ee,et,gt,K-q,ae-K,we)}k.push(mt),j.push(Je)}function f(X,x,k,j){let A=[],ie=0,G=-1;for(;a.pos>x;){let{id:q,start:K,end:B,size:ae}=a;if(ae>4)a.next();else{if(G>-1&&K=0;B-=3)q[ae++]=A[B],q[ae++]=A[B+1]-K,q[ae++]=A[B+2]-K,q[ae++]=ae;k.push(new Jt(q,A[2]-K,i)),j.push(K-X)}}function u(X,x){return(k,j,A)=>{let ie=0,G=k.length-1,q,K;if(G>=0&&(q=k[G])instanceof D){if(!G&&q.type==X&&q.length==A)return q;(K=q.prop(R.lookAhead))&&(ie=j[G]+q.length+K)}return $(X,k,j,A,ie,x)}}function Q(X,x,k,j,A,ie,G,q,K){let B=[],ae=[];for(;X.length>j;)B.push(X.pop()),ae.push(x.pop()+k-A);X.push($(i.types[G],B,ae,ie-A,q-ie,K)),x.push(A-k)}function $(X,x,k,j,A,ie,G){if(ie){let q=[R.contextHash,ie];G=G?[q].concat(G):[q]}if(A>25){let q=[R.lookAhead,A];G=G?[q].concat(G):[q]}return new D(X,x,k,j,G)}function p(X,x){let k=a.fork(),j=0,A=0,ie=0,G=k.end-r,q={size:0,start:0,skip:0};e:for(let K=k.pos-X;k.pos>K;){let B=k.size;if(k.id==x&&B>=0){q.size=j,q.start=A,q.skip=ie,ie+=4,j+=4,k.next();continue}let ae=k.pos-B;if(B<0||ae=s?4:0,Ee=k.start;for(k.next();k.pos>ae;){if(k.size<0)if(k.size==-3||k.size==-4)we+=4;else break e;else k.id>=s&&(we+=4);k.next()}A=Ee,j+=B,ie+=we}return(x<0||j==X)&&(q.size=j,q.start=A,q.skip=ie),q.size>4?q:void 0}function m(X,x,k){let{id:j,start:A,end:ie,size:G}=a;if(a.next(),G>=0&&j4){let K=a.pos-(G-4);for(;a.pos>K;)k=m(X,x,k)}x[--k]=q,x[--k]=ie-X,x[--k]=A-X,x[--k]=j}else G==-3?l=j:G==-4&&(c=j);return k}let g=[],P=[];for(;a.pos>0;)h(O.start||0,O.bufferStart||0,g,P,-1,0);let y=(e=O.length)!==null&&e!==void 0?e:g.length?P[0]+g[0].length:0;return new D(o[O.topID],g.reverse(),P.reverse(),y)}var Ad=new WeakMap;function zn(O,e){if(!O.isAnonymous||e instanceof Jt||e.type!=O)return 1;let t=Ad.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=O||!(i instanceof D)){t=1;break}t+=zn(O,i)}Ad.set(e,t)}return t}function qo(O,e,t,i,r,n,s,a,o){let l=0;for(let Q=i;Q=c)break;x+=k}if(P==y+1){if(x>c){let k=Q[y];u(k.children,k.positions,0,k.children.length,$[y]+g);continue}h.push(Q[y])}else{let k=$[P-1]+Q[P-1].length-X;h.push(qo(O,Q,$,y,P,X,k,null,o))}f.push(X+g-n)}}return u(e,t,i,r,0),(a||o)(h,f,s)}var Tt=class{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let r=this.map.get(e);r||this.map.set(e,r=new Map),r.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof yO?this.setBuffer(e.context.buffer,e.index,t):e instanceof je&&this.map.set(e.tree,t)}get(e){return e instanceof yO?this.getBuffer(e.context.buffer,e.index):e instanceof je?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}},Vt=class O{constructor(e,t,i,r,n=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new O(0,e.length,e,0,!1,i)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let a=0,o=0,l=0;;a++){let c=a=i)for(;s&&s.from=f.from||h<=f.to||l){let u=Math.max(f.from,o)-l,Q=Math.min(f.to,h)-l;f=u>=Q?null:new O(u,Q,f.tree,f.offset+l,a>0,!!c)}if(f&&r.push(f),s.to>h)break;s=nnew We(r.from,r.to)):[new We(0,0)]:[new We(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let n=r.advance();if(n)return n}}},Zo=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function xO(O){return(e,t,i,r)=>new _o(e,O,t,i,r)}var Wn=class{constructor(e,t,i,r,n,s){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=r,this.target=n,this.from=s}};function Ld(O){if(!O.length||O.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(O))}var vo=class{constructor(e,t,i,r,n,s,a,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=r,this.start=n,this.bracketed=s,this.target=a,this.prev=o,this.depth=0,this.ranges=[]}},Yo=new R({perNode:!0}),_o=class{constructor(e,t,i,r,n){this.nest=t,this.input=i,this.fragments=r,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let i=this.baseParse.advance();if(!i)return null;if(this.baseParse=null,this.baseTree=i,this.startInner(),this.stoppedAt!=null)for(let r of this.inner)r.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let i=this.baseTree;return this.stoppedAt!=null&&(i=new D(i.type,i.children,i.positions,i.length,i.propValues.concat([[Yo,this.stoppedAt]]))),i}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[R.mounted.id]=new Ht(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(r)){if(t){let l=t.mounts.find(c=>c.frag.from<=r.from&&c.frag.to>=r.to&&c.mount.overlay);if(l)for(let c of l.mount.overlay){let h=c.from+l.pos,f=c.to+l.pos;h>=r.from&&f<=r.to&&!t.ranges.some(u=>u.fromh)&&t.ranges.push({from:h,to:f})}}a=!1}else if(i&&(s=rX(i.ranges,r.from,r.to)))a=s!=2;else if(!r.type.isAnonymous&&(n=this.nest(r,this.input))&&(r.fromnew We(h.from-r.from,h.to-r.from)):null,!!n.bracketed,r.tree,c.length?c[0].from:r.from)),n.overlay?c.length&&(i={ranges:c,depth:0,prev:i}):a=!1}}else if(t&&(o=t.predicate(r))&&(o===!0&&(o=new We(r.from,r.to)),o.from=0&&t.ranges[l].to==o.from?t.ranges[l]={from:t.ranges[l].from,to:o.to}:t.ranges.push(o)}if(a&&r.firstChild())t&&t.depth++,i&&i.depth++;else for(;!r.nextSibling();){if(!r.parent())break e;if(t&&!--t.depth){let l=Dd(this.ranges,t.ranges);l.length&&(Ld(l),this.inner.splice(t.index,0,new Wn(t.parser,t.parser.startParse(this.input,Id(t.mounts,l),l),t.ranges.map(c=>new We(c.from-t.start,c.to-t.start)),t.bracketed,t.target,l[0].from))),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}};function rX(O,e,t){for(let i of O){if(i.from>=t)break;if(i.to>e)return i.from<=e&&i.to>=t?2:1}return 0}function Md(O,e,t,i,r,n){if(e=e&&t.enter(i,1,C.IgnoreOverlays|C.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(t.children.length&&t.positions[0]==0&&t.children[0]instanceof D)t=t.children[0];else break}return!1}},Ro=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=(t=i.tree.prop(Yo))!==null&&t!==void 0?t:i.to,this.inner=new jn(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=(e=t.tree.prop(Yo))!==null&&e!==void 0?e:t.to,this.inner=new jn(t.tree,-t.offset)}}findMounts(e,t){var i;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let s=(i=n.tree)===null||i===void 0?void 0:i.prop(R.mounted);if(s&&s.parser==t)for(let a=this.fragI;a=n.to)break;o.tree==this.curFrag.tree&&r.push({frag:o,pos:n.from-o.offset,mount:s})}}}return r}};function Dd(O,e){let t=null,i=e;for(let r=1,n=0;r=a)break;o.to<=s||(t||(i=t=e.slice()),o.froma&&t.splice(n+1,0,new We(a,o.to))):o.to>a?t[n--]=new We(a,o.to):t.splice(n--,1))}}return i}function sX(O,e,t,i){let r=0,n=0,s=!1,a=!1,o=-1e9,l=[];for(;;){let c=r==O.length?1e9:s?O[r].to:O[r].from,h=n==e.length?1e9:a?e[n].to:e[n].from;if(s!=a){let f=Math.max(o,t),u=Math.min(c,h,i);fnew We(f.from+i,f.to+i)),h=sX(e,c,o,l);for(let f=0,u=o;;f++){let Q=f==h.length,$=Q?l:h[f].from;if($>u&&t.push(new Vt(u,$,r.tree,-s,n.from>=u||n.openStart,n.to<=$||n.openEnd)),Q)break;u=h[f].to}}else t.push(new Vt(o,l,r.tree,-s,n.from>=s||n.openStart,n.to<=a||n.openEnd))}return t}var aX=0,Be=class O{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=aX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof O&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new O(i,[],null,[]);if(r.set.push(r),t)for(let n of t.set)r.set.push(n);return r}static defineModifier(e){let t=new An(e);return i=>i.modified.indexOf(t)>-1?i:An.get(i.base||i,i.modified.concat(t).sort((r,n)=>r.id-n.id))}},oX=0,An=class O{constructor(e){this.name=e,this.instances=[],this.id=oX++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(a=>a.base==e&&lX(t,a.modified));if(i)return i;let r=[],n=new Be(e.name,r,e,t);for(let a of t)a.instances.push(n);let s=cX(t);for(let a of e.set)if(!a.modified.length)for(let o of s)r.push(O.get(a,o));return n}};function lX(O,e){return O.length==e.length&&O.every((t,i)=>t==e[i])}function cX(O){let e=[[]];for(let t=0;ti.length-t.length)}function F(O){let e=Object.create(null);for(let t in O){let i=O[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let n=[],s=2,a=r;for(let h=0;;){if(a=="..."&&h>0&&h+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==r.length)break;let u=r[h++];if(h==r.length&&u=="!"){s=0;break}if(u!="/")throw new RangeError("Invalid path: "+r);a=r.slice(h)}let o=n.length-1,l=n[o];if(!l)throw new RangeError("Invalid path: "+r);let c=new wO(i,s,o>0?n.slice(0,o):null);e[l]=c.sort(e[l])}}return Kd.add(e)}var Kd=new R({combine(O,e){let t,i,r;for(;O||e;){if(!O||e&&O.depth>=e.depth?(r=e,e=e.next):(r=O,O=O.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let n=new wO(r.tags,r.mode,r.context);t?t.next=n:i=n,t=n}return i}}),wO=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let s=r;for(let a of n)for(let o of a.set){let l=t[o.id];if(l){s=s?s+" "+l:l;break}}return s},scope:i}}function hX(O,e){let t=null;for(let i of O){let r=i.style(e);r&&(t=t?t+" "+r:r)}return t}function Jd(O,e,t,i=0,r=O.length){let n=new Uo(i,Array.isArray(e)?e:[e],t);n.highlightRange(O.cursor(),i,r,"",n.highlighters),n.flush(r)}var Uo=class{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,r,n){let{type:s,from:a,to:o}=e;if(a>=i||o<=t)return;s.isTop&&(n=this.highlighters.filter(u=>!u.scope||u.scope(s)));let l=r,c=fX(e)||wO.empty,h=hX(n,c.tags);if(h&&(l&&(l+=" "),l+=h,c.mode==1&&(r+=(r?" ":"")+h)),this.startSpan(Math.max(t,a),l),c.opaque)return;let f=e.tree&&e.tree.prop(R.mounted);if(f&&f.overlay){let u=e.node.enter(f.overlay[0].from+a,1),Q=this.highlighters.filter(p=>!p.scope||p.scope(f.tree.type)),$=e.firstChild();for(let p=0,m=a;;p++){let g=p=P||!e.nextSibling())););if(!g||P>i)break;m=g.to+a,m>t&&(this.highlightRange(u.cursor(),Math.max(t,g.from+a),Math.min(i,m),"",Q),this.startSpan(Math.min(i,m),l))}$&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,r,n),this.startSpan(Math.min(i,e.to),l)}while(e.nextSibling());e.parent()}}};function fX(O){let e=O.type.prop(Kd);for(;e&&e.context&&!O.matchContext(e.context);)e=e.next;return e||null}var w=Be.define,Cn=w(),tO=w(),Fd=w(tO),Hd=w(tO),OO=w(),Gn=w(OO),zo=w(OO),xt=w(),kO=w(xt),bt=w(),yt=w(),Wo=w(),Or=w(Wo),En=w(),d={comment:Cn,lineComment:w(Cn),blockComment:w(Cn),docComment:w(Cn),name:tO,variableName:w(tO),typeName:Fd,tagName:w(Fd),propertyName:Hd,attributeName:w(Hd),className:w(tO),labelName:w(tO),namespace:w(tO),macroName:w(tO),literal:OO,string:Gn,docString:w(Gn),character:w(Gn),attributeValue:w(Gn),number:zo,integer:w(zo),float:w(zo),bool:w(OO),regexp:w(OO),escape:w(OO),color:w(OO),url:w(OO),keyword:bt,self:w(bt),null:w(bt),atom:w(bt),unit:w(bt),modifier:w(bt),operatorKeyword:w(bt),controlKeyword:w(bt),definitionKeyword:w(bt),moduleKeyword:w(bt),operator:yt,derefOperator:w(yt),arithmeticOperator:w(yt),logicOperator:w(yt),bitwiseOperator:w(yt),compareOperator:w(yt),updateOperator:w(yt),definitionOperator:w(yt),typeOperator:w(yt),controlOperator:w(yt),punctuation:Wo,separator:w(Wo),bracket:Or,angleBracket:w(Or),squareBracket:w(Or),paren:w(Or),brace:w(Or),content:xt,heading:kO,heading1:w(kO),heading2:w(kO),heading3:w(kO),heading4:w(kO),heading5:w(kO),heading6:w(kO),contentSeparator:w(xt),list:w(xt),quote:w(xt),emphasis:w(xt),strong:w(xt),link:w(xt),monospace:w(xt),strikethrough:w(xt),inserted:w(),deleted:w(),changed:w(),invalid:w(),meta:En,documentMeta:w(En),annotation:w(En),processingInstruction:w(En),definition:Be.defineModifier("definition"),constant:Be.defineModifier("constant"),function:Be.defineModifier("function"),standard:Be.defineModifier("standard"),local:Be.defineModifier("local"),special:Be.defineModifier("special")};for(let O in d){let e=d[O];e instanceof Be&&(e.name=O)}var a_=jo([{tag:d.link,class:"tok-link"},{tag:d.heading,class:"tok-heading"},{tag:d.emphasis,class:"tok-emphasis"},{tag:d.strong,class:"tok-strong"},{tag:d.keyword,class:"tok-keyword"},{tag:d.atom,class:"tok-atom"},{tag:d.bool,class:"tok-bool"},{tag:d.url,class:"tok-url"},{tag:d.labelName,class:"tok-labelName"},{tag:d.inserted,class:"tok-inserted"},{tag:d.deleted,class:"tok-deleted"},{tag:d.literal,class:"tok-literal"},{tag:d.string,class:"tok-string"},{tag:d.number,class:"tok-number"},{tag:[d.regexp,d.escape,d.special(d.string)],class:"tok-string2"},{tag:d.variableName,class:"tok-variableName"},{tag:d.local(d.variableName),class:"tok-variableName tok-local"},{tag:d.definition(d.variableName),class:"tok-variableName tok-definition"},{tag:d.special(d.variableName),class:"tok-variableName2"},{tag:d.definition(d.propertyName),class:"tok-propertyName tok-definition"},{tag:d.typeName,class:"tok-typeName"},{tag:d.namespace,class:"tok-namespace"},{tag:d.className,class:"tok-className"},{tag:d.macroName,class:"tok-macroName"},{tag:d.propertyName,class:"tok-propertyName"},{tag:d.operator,class:"tok-operator"},{tag:d.comment,class:"tok-comment"},{tag:d.meta,class:"tok-meta"},{tag:d.invalid,class:"tok-invalid"},{tag:d.punctuation,class:"tok-punctuation"}]);var Co,iO=new R;function or(O){return Z.define({combine:O?e=>e.concat(O):void 0})}var Dn=new R,Re=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,I.prototype.hasOwnProperty("tree")||Object.defineProperty(I.prototype,"tree",{get(){return U(this)}}),this.parser=t,this.extension=[rO.of(this),I.languageData.of((n,s,a)=>{let o=eu(n,s,a),l=o.type.prop(iO);if(!l)return[];let c=n.facet(l),h=o.type.prop(Dn);if(h){let f=o.resolve(s-o.from,a);for(let u of h)if(u.test(f,n)){let Q=n.facet(u.facet);return u.type=="replace"?Q:Q.concat(c)}}return c})].concat(i)}isActiveAt(e,t,i=-1){return eu(e,t,i).type.prop(iO)==this.data}findRegions(e){let t=e.facet(rO);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(n,s)=>{if(n.prop(iO)==this.data){i.push({from:s,to:s+n.length});return}let a=n.prop(R.mounted);if(a){if(a.tree.prop(iO)==this.data){if(a.overlay)for(let o of a.overlay)i.push({from:o.from+s,to:o.to+s});else i.push({from:s,to:s+n.length});return}else if(a.overlay){let o=i.length;if(r(a.tree,a.overlay[0].from+s),i.length>o)return}}for(let o=0;oi.isTop?t:void 0)]}),e.name)}configure(e,t){return new O(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function U(O){let e=O.field(Re.state,!1);return e?e.tree:D.empty}var Lo=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},ir=null,nr=class O{constructor(e,t,i=[],r,n,s,a,o){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=a,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new O(e,t,[],D.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Lo(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=D.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(Vt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ir;ir=this;try{return e()}finally{ir=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=tu(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:n,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let o=[];if(e.iterChangedRanges((l,c,h,f)=>o.push({fromA:l,toA:c,fromB:h,toB:f})),i=Vt.applyChanges(i,o),r=D.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let l of this.skipped){let c=e.mapPos(l.from,1),h=e.mapPos(l.to,-1);ce.from&&(this.fragments=tu(this.fragments,r,n),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends eO{createParse(t,i,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let o=ir;if(o){for(let l of r)o.tempSkipped.push(l);e&&(o.scheduleOn=o.scheduleOn?Promise.all([o.scheduleOn,e]):e)}return this.parsedPos=s,new D(ue.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return ir}};function tu(O,e,t){return Vt.applyChanges(O,[{fromA:e,toA:t,fromB:e,toB:t}])}var sr=class O{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new O(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=nr.create(e.facet(rO).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new O(i)}};Re.state=ce.define({create:sr.init,update(O,e){for(let t of e.effects)if(t.is(Re.setState))return t.value;return e.startState.facet(rO)!=e.state.facet(rO)?sr.init(e.state):O.apply(e)}});var au=O=>{let e=setTimeout(()=>O(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(au=O=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(O,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var Go=typeof navigator<"u"&&(!((Co=navigator.scheduling)===null||Co===void 0)&&Co.isInputPending)?()=>navigator.scheduling.isInputPending():null,dX=he.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Re.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Re.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=au(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndr+1e3,o=n.context.work(()=>Go&&Go()||Date.now()>s,r+(a?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Re.setState.of(new sr(n.context))})),this.chunkBudget>0&&!(o&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Xe(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),rO=Z.define({combine(O){return O.length?O[0]:null},enables:O=>[Re.state,dX,T.contentAttributes.compute([O],e=>{let t=e.facet(O);return t&&t.name?{"data-language":t.name}:{}})]}),J=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},ar=class O{constructor(e,t,i,r,n,s=void 0){this.name=e,this.alias=t,this.extensions=i,this.filename=r,this.loadFunc=n,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new O(e.name,(e.alias||[]).concat(e.name).map(r=>r.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let r of e)if(r.filename&&r.filename.test(t))return r;let i=/\.([^.]+)$/.exec(t);if(i){for(let r of e)if(r.extensions.indexOf(i[1])>-1)return r}return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let r of e)if(r.alias.some(n=>n==t))return r;if(i)for(let r of e)for(let n of r.alias){let s=t.indexOf(n);if(s>-1&&(n.length>2||!/\w/.test(t[s-1])&&!/\w/.test(t[s+n.length])))return r}return null}},uX=Z.define(),nO=Z.define({combine:O=>{if(!O.length)return" ";let e=O[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(O[0]));return e}});function lr(O){let e=O.facet(nO);return e.charCodeAt(0)==9?O.tabSize*e.length:e.length}function hi(O,e){let t="",i=O.tabSize,r=O.facet(nO)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let n=0;n=e?QX(O,t,e):null}var ZO=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=lr(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=i.from&&r<=i.to?n&&r==e?{text:"",from:e}:(t<0?r-1&&(n+=s-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return ve(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},se=new R;function QX(O,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let n=[];for(let s=r;s&&!(s.fromi.node.to||s.from==i.node.from&&s.type==i.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)i={node:n[s],next:i}}return ou(i,O,t)}function ou(O,e,t){for(let i=O;i;i=i.next){let r=pX(i.node);if(r)return r(Mo.create(e,t,i))}return 0}function $X(O){return O.pos==O.options.simulateBreak&&O.options.simulateDoubleBreak}function pX(O){let e=O.type.prop(se);if(e)return e;let t=O.firstChild,i;if(t&&(i=t.type.prop(R.closedBy))){let r=O.lastChild,n=r&&i.indexOf(r.name)>-1;return s=>lu(s,!0,1,void 0,n&&!$X(s)?r.from:void 0)}return O.parent==null?mX:null}function mX(){return 0}var Mo=class O extends ZO{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new O(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(gX(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return ou(this.context.next,this.base,this.pos)}};function gX(O,e){for(let t=e;t;t=t.parent)if(O==t)return!0;return!1}function PX(O){let e=O.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=O.options.simulateBreak,n=O.state.doc.lineAt(t.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let a=t.to;;){let o=e.childAfter(a);if(!o||o==i)return null;if(!o.type.isSkipped){if(o.from>=s)return null;let l=/^ */.exec(n.text.slice(t.to-n.from))[0].length;return{from:t.from,to:t.to+l}}a=o.to}}function be({closing:O,align:e=!0,units:t=1}){return i=>lu(i,e,t,O)}function lu(O,e,t,i,r){let n=O.textAfter,s=n.match(/^\s*/)[0].length,a=i&&n.slice(s,s+i.length)==i||r==O.pos+s,o=e?PX(O):null;return o?a?O.column(o.from):O.column(o.to):O.baseIndent+(a?0:O.unit*t)}var sO=O=>O.baseIndent;function le({except:O,units:e=1}={}){return t=>{let i=O&&O.test(t.textAfter);return t.baseIndent+(i?0:e*t.unit)}}var SX=200;function cu(){return I.transactionFilter.of(O=>{if(!O.docChanged||!O.isUserEvent("input.type")&&!O.isUserEvent("input.complete"))return O;let e=O.startState.languageDataAt("indentOnInput",O.startState.selection.main.head);if(!e.length)return O;let t=O.newDoc,{head:i}=O.newSelection.main,r=t.lineAt(i);if(i>r.from+SX)return O;let n=t.sliceString(r.from,i);if(!e.some(l=>l.test(n)))return O;let{state:s}=O,a=-1,o=[];for(let{head:l}of s.selection.ranges){let c=s.doc.lineAt(l);if(c.from==a)continue;a=c.from;let h=In(s,c.from);if(h==null)continue;let f=/^\s*/.exec(c.text)[0],u=hi(s,h);f!=u&&o.push({from:c.from,to:c.from+f.length,insert:u})}return o.length?[O,{changes:o,sequential:!0}]:O})}var Ho=Z.define(),te=new R;function me(O){let e=O.firstChild,t=O.lastChild;return e&&e.tot)continue;if(n&&a.from=e&&l.to>t&&(n=l)}}return n}function TX(O){let e=O.lastChild;return e&&e.to==O.to&&e.type.isError}function Ln(O,e,t){for(let i of O.facet(Ho)){let r=i(O,e,t);if(r)return r}return XX(O,e,t)}function hu(O,e){let t=e.mapPos(O.from,1),i=e.mapPos(O.to,-1);return t>=i?void 0:{from:t,to:i}}var Bn=V.define({map:hu}),cr=V.define({map:hu});function fu(O){let e=[];for(let{head:t}of O.state.selection.ranges)e.some(i=>i.from<=t&&i.to>=t)||e.push(O.lineBlockAt(t));return e}var vO=ce.define({create(){return Y.none},update(O,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,i)=>O=Ou(O,t,i)),O=O.map(e.changes);for(let t of e.effects)if(t.is(Bn)&&!bX(O,t.value.from,t.value.to)){let{preparePlaceholder:i}=e.state.facet(Ko),r=i?Y.replace({widget:new Do(i(e.state,t.value))}):iu;O=O.update({add:[r.range(t.value.from,t.value.to)]})}else t.is(cr)&&(O=O.update({filter:(i,r)=>t.value.from!=i||t.value.to!=r,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(O=Ou(O,e.selection.main.head)),O},provide:O=>T.decorations.from(O),toJSON(O,e){let t=[];return O.between(0,e.doc.length,(i,r)=>{t.push(i,r)}),t},fromJSON(O){if(!Array.isArray(O)||O.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t{re&&(i=!0)}),i?O.update({filterFrom:e,filterTo:t,filter:(r,n)=>r>=t||n<=e}):O}function Mn(O,e,t){var i;let r=null;return(i=O.field(vO,!1))===null||i===void 0||i.between(e,t,(n,s)=>{(!r||r.from>n)&&(r={from:n,to:s})}),r}function bX(O,e,t){let i=!1;return O.between(e,e,(r,n)=>{r==e&&n==t&&(i=!0)}),i}function du(O,e){return O.field(vO,!1)?e:e.concat(V.appendConfig.of($u()))}var yX=O=>{for(let e of fu(O)){let t=Ln(O.state,e.from,e.to);if(t)return O.dispatch({effects:du(O.state,[Bn.of(t),uu(O,t)])}),!0}return!1},xX=O=>{if(!O.state.field(vO,!1))return!1;let e=[];for(let t of fu(O)){let i=Mn(O.state,t.from,t.to);i&&e.push(cr.of(i),uu(O,i,!1))}return e.length&&O.dispatch({effects:e}),e.length>0};function uu(O,e,t=!0){let i=O.state.doc.lineAt(e.from).number,r=O.state.doc.lineAt(e.to).number;return T.announce.of(`${O.state.phrase(t?"Folded lines":"Unfolded lines")} ${i} ${O.state.phrase("to")} ${r}.`)}var kX=O=>{let{state:e}=O,t=[];for(let i=0;i{let e=O.state.field(vO,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,O.state.doc.length,(i,r)=>{t.push(cr.of({from:i,to:r}))}),O.dispatch({effects:t}),!0};var Qu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:yX},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:xX},{key:"Ctrl-Alt-[",run:kX},{key:"Ctrl-Alt-]",run:wX}],ZX={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"},Ko=Z.define({combine(O){return xe(O,ZX)}});function $u(O){let e=[vO,YX];return O&&e.push(Ko.of(O)),e}function pu(O,e){let{state:t}=O,i=t.facet(Ko),r=s=>{let a=O.lineBlockAt(O.posAtDOM(s.target)),o=Mn(O.state,a.from,a.to);o&&O.dispatch({effects:cr.of(o)}),s.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(O,r,e);let n=document.createElement("span");return n.textContent=i.placeholderText,n.setAttribute("aria-label",t.phrase("folded code")),n.title=t.phrase("unfold"),n.className="cm-foldPlaceholder",n.onclick=r,n}var iu=Y.replace({widget:new class extends _e{toDOM(O){return pu(O,null)}}}),Do=class extends _e{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return pu(e,this.value)}},vX={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},rr=class extends Ie{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}};function mu(O={}){let e={...vX,...O},t=new rr(e,!0),i=new rr(e,!1),r=he.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(rO)!=s.state.facet(rO)||s.startState.field(vO,!1)!=s.state.field(vO,!1)||U(s.startState)!=U(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Le;for(let o of s.viewportLineBlocks){let l=Mn(s.state,o.from,o.to)?i:Ln(s.state,o.from,o.to)?t:null;l&&a.add(o.from,o.from,l)}return a.finish()}}),{domEventHandlers:n}=e;return[r,bo({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(r))===null||a===void 0?void 0:a.markers)||M.empty},initialSpacer(){return new rr(e,!1)},domEventHandlers:{...n,click:(s,a,o)=>{if(n.click&&n.click(s,a,o))return!0;let l=Mn(s.state,a.from,a.to);if(l)return s.dispatch({effects:cr.of(l)}),!0;let c=Ln(s.state,a.from,a.to);return c?(s.dispatch({effects:Bn.of(c)}),!0):!1}}}),$u()]}var YX=T.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}}),ci=class O{constructor(e,t){this.specs=e;let i;function r(a){let o=Ot.newName();return(i||(i=Object.create(null)))["."+o]=a,o}let n=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,s=t.scope;this.scope=s instanceof Re?a=>a.prop(iO)==s.data:s?a=>a==s:void 0,this.style=jo(e.map(a=>({tag:a.tag,class:a.class||r(Object.assign({},a,{tag:null}))})),{all:n}).style,this.module=i?new Ot(i):null,this.themeType=t.themeType}static define(e,t){return new O(e,t||{})}},Io=Z.define(),gu=Z.define({combine(O){return O.length?[O[0]]:null}});function Eo(O){let e=O.facet(Io);return e.length?e:O.facet(gu)}function Nn(O,e){let t=[_X],i;return O instanceof ci&&(O.module&&t.push(T.styleModule.of(O.module)),i=O.themeType),e?.fallback?t.push(gu.of(O)):i?t.push(Io.computeN([T.darkTheme],r=>r.facet(T.darkTheme)==(i=="dark")?[O]:[])):t.push(Io.of(O)),t}var Bo=class{constructor(e){this.markCache=Object.create(null),this.tree=U(e.state),this.decorations=this.buildDeco(e,Eo(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=U(e.state),i=Eo(e.state),r=i!=Eo(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Y.none;let i=new Le;for(let{from:r,to:n}of e.visibleRanges)Jd(this.tree,t,(s,a,o)=>{i.add(s,a,this.markCache[o]||(this.markCache[o]=Y.mark({class:o})))},r,n);return i.finish()}},_X=ze.high(he.fromClass(Bo,{decorations:O=>O.decorations})),Pu=ci.define([{tag:d.meta,color:"#404740"},{tag:d.link,textDecoration:"underline"},{tag:d.heading,textDecoration:"underline",fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strong,fontWeight:"bold"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.keyword,color:"#708"},{tag:[d.atom,d.bool,d.url,d.contentSeparator,d.labelName],color:"#219"},{tag:[d.literal,d.inserted],color:"#164"},{tag:[d.string,d.deleted],color:"#a11"},{tag:[d.regexp,d.escape,d.special(d.string)],color:"#e40"},{tag:d.definition(d.variableName),color:"#00f"},{tag:d.local(d.variableName),color:"#30a"},{tag:[d.typeName,d.namespace],color:"#085"},{tag:d.className,color:"#167"},{tag:[d.special(d.variableName),d.macroName],color:"#256"},{tag:d.definition(d.propertyName),color:"#00c"},{tag:d.comment,color:"#940"},{tag:d.invalid,color:"#f00"}]),RX=T.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Su=1e4,Xu="()[]{}",Tu=Z.define({combine(O){return xe(O,{afterCursor:!0,brackets:Xu,maxScanDistance:Su,renderMatch:zX})}}),VX=Y.mark({class:"cm-matchingBracket"}),qX=Y.mark({class:"cm-nonmatchingBracket"});function zX(O){let e=[],t=O.matched?VX:qX;return e.push(t.range(O.start.from,O.start.to)),O.end&&e.push(t.range(O.end.from,O.end.to)),e}var UX=ce.define({create(){return Y.none},update(O,e){if(!e.docChanged&&!e.selection)return O;let t=[],i=e.state.facet(Tu);for(let r of e.state.selection.ranges){if(!r.empty)continue;let n=dt(e.state,r.head,-1,i)||r.head>0&&dt(e.state,r.head-1,1,i)||i.afterCursor&&(dt(e.state,r.head,1,i)||r.headT.decorations.from(O)}),WX=[UX,RX];function bu(O={}){return[Tu.of(O),WX]}var hr=new R;function No(O,e,t){let i=O.prop(e<0?R.openedBy:R.closedBy);if(i)return i;if(O.name.length==1){let r=t.indexOf(O.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Fo(O){let e=O.type.prop(hr);return e?e(O.node):O}function dt(O,e,t,i={}){let r=i.maxScanDistance||Su,n=i.brackets||Xu,s=U(O),a=s.resolveInner(e,t);for(let o=a;o;o=o.parent){let l=No(o.type,t,n);if(l&&o.from0?e>=c.from&&ec.from&&e<=c.to))return jX(O,e,t,o,c,l,n)}}return CX(O,e,t,s,a.type,r,n)}function jX(O,e,t,i,r,n,s){let a=i.parent,o={from:r.from,to:r.to},l=0,c=a?.cursor();if(c&&(t<0?c.childBefore(i.from):c.childAfter(i.to)))do if(t<0?c.to<=i.from:c.from>=i.to){if(l==0&&n.indexOf(c.type.name)>-1&&c.from0)return null;let l={from:t<0?e-1:e,to:t>0?e+1:e},c=O.doc.iterRange(e,t>0?O.doc.length:0),h=0;for(let f=0;!c.next().done&&f<=n;){let u=c.value;t<0&&(f+=u.length);let Q=e+f*t;for(let $=t>0?0:u.length-1,p=t>0?u.length:-1;$!=p;$+=t){let m=s.indexOf(u[$]);if(!(m<0||i.resolveInner(Q+$,1).type!=r))if(m%2==0==t>0)h++;else{if(h==1)return{start:l,end:{from:Q+$,to:Q+$+1},matched:m>>1==o>>1};h--}}t>0&&(f+=u.length)}return c.done?{start:l,matched:!1}:null}var GX=Object.create(null),ru=[ue.none];var nu=[],su=Object.create(null),EX=Object.create(null);for(let[O,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])EX[O]=AX(GX,e);function Ao(O,e){nu.indexOf(O)>-1||(nu.push(O),console.warn(e))}function AX(O,e){let t=[];for(let a of e.split(" ")){let o=[];for(let l of a.split(".")){let c=O[l]||d[l];c?typeof c=="function"?o.length?o=o.map(c):Ao(l,`Modifier ${l} used at start of tag`):o.length?Ao(l,`Tag ${l} used as modifier`):o=Array.isArray(c)?c:[c]:Ao(l,`Unknown highlighting tag ${l}`)}for(let l of o)t.push(l)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(a=>a.id),n=su[r];if(n)return n.id;let s=su[r]=ue.define({id:ru.length,name:i,props:[F({[i]:t})]});return ru.push(s),s.id}var Q_={rtl:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:H.RTL}),ltr:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:H.LTR}),auto:Y.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var LX=O=>{let{state:e}=O,t=e.doc.lineAt(e.selection.main.from),i=nl(O.state,t.from);return i.line?MX(O):i.block?IX(O):!1};function rl(O,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=O(e,t);return r?(i(t.update(r)),!0):!1}}var MX=rl(FX,0);var DX=rl(Ru,0);var IX=rl((O,e)=>Ru(O,e,NX(e)),0);function nl(O,e){let t=O.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var fr=50;function BX(O,{open:e,close:t},i,r){let n=O.sliceDoc(i-fr,i),s=O.sliceDoc(r,r+fr),a=/\s*$/.exec(n)[0].length,o=/^\s*/.exec(s)[0].length,l=n.length-a;if(n.slice(l-e.length,l)==e&&s.slice(o,o+t.length)==t)return{open:{pos:i-a,margin:a&&1},close:{pos:r+o,margin:o&&1}};let c,h;r-i<=2*fr?c=h=O.sliceDoc(i,r):(c=O.sliceDoc(i,i+fr),h=O.sliceDoc(r-fr,r));let f=/^\s*/.exec(c)[0].length,u=/\s*$/.exec(h)[0].length,Q=h.length-u-t.length;return c.slice(f,f+e.length)==e&&h.slice(Q,Q+t.length)==t?{open:{pos:i+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:r-u-t.length,margin:/\s/.test(h.charAt(Q-1))?1:0}}:null}function NX(O){let e=[];for(let t of O.selection.ranges){let i=O.doc.lineAt(t.from),r=t.to<=i.to?i:O.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:O.doc.lineAt(t.to-1));let n=e.length-1;n>=0&&e[n].to>i.from?e[n].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Ru(O,e,t=e.selection.ranges){let i=t.map(n=>nl(e,n.from).block);if(!i.every(n=>n))return null;let r=t.map((n,s)=>BX(e,i[s],n.from,n.to));if(O!=2&&!r.every(n=>n))return{changes:e.changes(t.map((n,s)=>r[s]?[]:[{from:n.from,insert:i[s].open+" "},{from:n.to,insert:" "+i[s].close}]))};if(O!=1&&r.some(n=>n)){let n=[];for(let s=0,a;sr&&(n==s||s>h.from)){r=h.from;let f=/^\s*/.exec(h.text)[0].length,u=f==h.length,Q=h.text.slice(f,f+l.length)==l?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:a,token:o,indent:l,empty:c,single:h}of i)(h||!c)&&n.push({from:a.from+l,insert:o+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(O!=1&&i.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:a,token:o}of i)if(a>=0){let l=s.from+a,c=l+o.length;s.text[c-s.from]==" "&&c++,n.push({from:l,to:c})}return{changes:n}}return null}var el=qe.define(),HX=qe.define(),KX=Z.define(),Vu=Z.define({combine(O){return xe(O,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),qu=ce.define({create(){return YO.empty},update(O,e){let t=e.state.facet(Vu),i=e.annotation(el);if(i){let o=ut.fromTransaction(e,i.selection),l=i.side,c=l==0?O.undone:O.done;return o?c=Hn(c,c.length,t.minDepth,o):c=ju(c,e.startState.selection),new YO(l==0?i.rest:c,l==0?c:i.rest)}let r=e.annotation(HX);if((r=="full"||r=="before")&&(O=O.isolate()),e.annotation(Qe.addToHistory)===!1)return e.changes.empty?O:O.addMapping(e.changes.desc);let n=ut.fromTransaction(e),s=e.annotation(Qe.time),a=e.annotation(Qe.userEvent);return n?O=O.addChanges(n,s,a,t,e):e.selection&&(O=O.addSelection(e.startState.selection,s,a,t.newGroupDelay)),(r=="full"||r=="after")&&(O=O.isolate()),O},toJSON(O){return{done:O.done.map(e=>e.toJSON()),undone:O.undone.map(e=>e.toJSON())}},fromJSON(O){return new YO(O.done.map(ut.fromJSON),O.undone.map(ut.fromJSON))}});function zu(O={}){return[qu,Vu.of(O),T.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Uu:e.inputType=="historyRedo"?tl:null;return i?(e.preventDefault(),i(t)):!1}})]}function Kn(O,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(qu,!1);if(!r)return!1;let n=r.pop(O,t,e);return n?(i(n),!0):!1}}var Uu=Kn(0,!1),tl=Kn(1,!1),JX=Kn(0,!0),eT=Kn(1,!0);var ut=class O{constructor(e,t,i,r,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new O(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new O(e.changes&&Ze.fromJSON(e.changes),[],e.mapped&&vt.fromJSON(e.mapped),e.startSelection&&S.fromJSON(e.startSelection),e.selectionsAfter.map(S.fromJSON))}static fromTransaction(e,t){let i=st;for(let r of e.startState.facet(KX)){let n=r(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new O(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,st)}static selection(e){return new O(void 0,st,void 0,void 0,e)}};function Hn(O,e,t,i){let r=e+1>t+20?e-t-1:0,n=O.slice(r,e);return n.push(i),n}function tT(O,e){let t=[],i=!1;return O.iterChangedRanges((r,n)=>t.push(r,n)),e.iterChangedRanges((r,n,s,a)=>{for(let o=0;o=l&&s<=c&&(i=!0)}}),i}function OT(O,e){return O.ranges.length==e.ranges.length&&O.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function Wu(O,e){return O.length?e.length?O.concat(e):O:e}var st=[],iT=200;function ju(O,e){if(O.length){let t=O[O.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-iT));return i.length&&i[i.length-1].eq(e)?O:(i.push(e),Hn(O,O.length-1,1e9,t.setSelAfter(i)))}else return[ut.selection([e])]}function rT(O){let e=O[O.length-1],t=O.slice();return t[O.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Jo(O,e){if(!O.length)return O;let t=O.length,i=st;for(;t;){let r=nT(O[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let n=O.slice(0,t);return n[t-1]=r,n}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[ut.selection(i)]:st}function nT(O,e,t){let i=Wu(O.selectionsAfter.length?O.selectionsAfter.map(a=>a.map(e)):st,t);if(!O.changes)return ut.selection(i);let r=O.changes.map(e),n=e.mapDesc(O.changes,!0),s=O.mapped?O.mapped.composeDesc(n):n;return new ut(r,V.mapEffects(O.effects,e),s,O.startSelection.map(n),i)}var sT=/^(input\.type|delete)($|\.)/,YO=class O{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new O(this.done,this.undone):this}addChanges(e,t,i,r,n){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!i||sT.test(i))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?O.moveByChar(t,e):Jn(t,e))}function ke(O){return O.textDirectionAt(O.state.selection.main.head)==H.LTR}var Eu=O=>Gu(O,!ke(O)),Au=O=>Gu(O,ke(O));function Lu(O,e){return $t(O,t=>t.empty?O.moveByGroup(t,e):Jn(t,e))}var aT=O=>Lu(O,!ke(O)),oT=O=>Lu(O,ke(O));var b_=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function lT(O,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(O.sliceDoc(e.from,e.to)))||e.firstChild}function es(O,e,t){let i=U(O).resolveInner(e.head),r=t?R.closedBy:R.openedBy;for(let o=e.head;;){let l=t?i.childAfter(o):i.childBefore(o);if(!l)break;lT(O,l,r)?i=l:o=t?l.to:l.from}let n=i.type.prop(r),s,a;return n&&(s=t?dt(O,i.from,1):dt(O,i.to,-1))&&s.matched?a=t?s.end.to:s.end.from:a=t?i.to:i.from,S.cursor(a,t?-1:1)}var cT=O=>$t(O,e=>es(O.state,e,!ke(O))),hT=O=>$t(O,e=>es(O.state,e,ke(O)));function Mu(O,e){return $t(O,t=>{if(!t.empty)return Jn(t,e);let i=O.moveVertically(t,e);return i.head!=t.head?i:O.moveToLineBoundary(t,e)})}var Du=O=>Mu(O,!1),Iu=O=>Mu(O,!0);function Bu(O){let e=O.scrollDOM.clientHeights.empty?O.moveVertically(s,e,t.height):Jn(s,e));if(r.eq(i.selection))return!1;let n;if(t.selfScroll){let s=O.coordsAtPos(i.selection.main.head),a=O.scrollDOM.getBoundingClientRect(),o=a.top+t.marginTop,l=a.bottom-t.marginBottom;s&&s.top>o&&s.bottomNu(O,!1),Ol=O=>Nu(O,!0);function aO(O,e,t){let i=O.lineBlockAt(e.head),r=O.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=O.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let n=/^\s*/.exec(O.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&e.head!=i.from+n&&(r=S.cursor(i.from+n))}return r}var fT=O=>$t(O,e=>aO(O,e,!0)),dT=O=>$t(O,e=>aO(O,e,!1)),uT=O=>$t(O,e=>aO(O,e,!ke(O))),QT=O=>$t(O,e=>aO(O,e,ke(O))),$T=O=>$t(O,e=>S.cursor(O.lineBlockAt(e.head).from,1)),pT=O=>$t(O,e=>S.cursor(O.lineBlockAt(e.head).to,-1));function mT(O,e,t){let i=!1,r=fi(O.selection,n=>{let s=dt(O,n.head,-1)||dt(O,n.head,1)||n.head>0&&dt(O,n.head-1,1)||n.headmT(O,e,!1);function at(O,e){let t=fi(O.state.selection,i=>{let r=e(i);return S.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0)});return t.eq(O.state.selection)?!1:(O.dispatch(Qt(O.state,t)),!0)}function Fu(O,e){return at(O,t=>O.moveByChar(t,e))}var Hu=O=>Fu(O,!ke(O)),Ku=O=>Fu(O,ke(O));function Ju(O,e){return at(O,t=>O.moveByGroup(t,e))}var PT=O=>Ju(O,!ke(O)),ST=O=>Ju(O,ke(O));var XT=O=>at(O,e=>es(O.state,e,!ke(O))),TT=O=>at(O,e=>es(O.state,e,ke(O)));function eQ(O,e){return at(O,t=>O.moveVertically(t,e))}var tQ=O=>eQ(O,!1),OQ=O=>eQ(O,!0);function iQ(O,e){return at(O,t=>O.moveVertically(t,e,Bu(O).height))}var xu=O=>iQ(O,!1),ku=O=>iQ(O,!0),bT=O=>at(O,e=>aO(O,e,!0)),yT=O=>at(O,e=>aO(O,e,!1)),xT=O=>at(O,e=>aO(O,e,!ke(O))),kT=O=>at(O,e=>aO(O,e,ke(O))),wT=O=>at(O,e=>S.cursor(O.lineBlockAt(e.head).from)),ZT=O=>at(O,e=>S.cursor(O.lineBlockAt(e.head).to)),wu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:0})),!0),Zu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.doc.length})),!0),vu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.selection.main.anchor,head:0})),!0),Yu=({state:O,dispatch:e})=>(e(Qt(O,{anchor:O.selection.main.anchor,head:O.doc.length})),!0),vT=({state:O,dispatch:e})=>(e(O.update({selection:{anchor:0,head:O.doc.length},userEvent:"select"})),!0),YT=({state:O,dispatch:e})=>{let t=ts(O).map(({from:i,to:r})=>S.range(i,Math.min(r+1,O.doc.length)));return e(O.update({selection:S.create(t),userEvent:"select"})),!0},_T=({state:O,dispatch:e})=>{let t=fi(O.selection,i=>{let r=U(O),n=r.resolveStack(i.from,1);if(i.empty){let s=r.resolveStack(i.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:a}=s;if((a.from=i.to||a.to>i.to&&a.from<=i.from)&&s.next)return S.range(a.to,a.from)}return i});return t.eq(O.selection)?!1:(e(Qt(O,t)),!0)};function rQ(O,e){let{state:t}=O,i=t.selection,r=t.selection.ranges.slice();for(let n of t.selection.ranges){let s=t.doc.lineAt(n.head);if(e?s.to0)for(let a=n;;){let o=O.moveVertically(a,e);if(o.heads.to){r.some(l=>l.head==o.head)||r.push(o);break}else{if(o.head==a.head)break;a=o}}}return r.length==i.ranges.length?!1:(O.dispatch(Qt(t,S.create(r,r.length-1))),!0)}var RT=O=>rQ(O,!1),VT=O=>rQ(O,!0),qT=({state:O,dispatch:e})=>{let t=O.selection,i=null;return t.ranges.length>1?i=S.create([t.main]):t.main.empty||(i=S.create([S.cursor(t.main.head)])),i?(e(Qt(O,i)),!0):!1};function dr(O,e){if(O.state.readOnly)return!1;let t="delete.selection",{state:i}=O,r=i.changeByRange(n=>{let{from:s,to:a}=n;if(s==a){let o=e(n);os&&(t="delete.forward",o=Fn(O,o,!0)),s=Math.min(s,o),a=Math.max(a,o)}else s=Fn(O,s,!1),a=Fn(O,a,!0);return s==a?{range:n}:{changes:{from:s,to:a},range:S.cursor(s,sr(O)))i.between(e,e,(r,n)=>{re&&(e=t?n:r)});return e}var nQ=(O,e,t)=>dr(O,i=>{let r=i.from,{state:n}=O,s=n.doc.lineAt(r),a,o;if(t&&!e&&r>s.from&&rnQ(O,!1,!0);var sQ=O=>nQ(O,!0,!1),aQ=(O,e)=>dr(O,t=>{let i=t.head,{state:r}=O,n=r.doc.lineAt(i),s=r.charCategorizer(i);for(let a=null;;){if(i==(e?n.to:n.from)){i==t.head&&n.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let o=fe(n.text,i-n.from,e)+n.from,l=n.text.slice(Math.min(i,o)-n.from,Math.max(i,o)-n.from),c=s(l);if(a!=null&&c!=a)break;(l!=" "||i!=t.head)&&(a=c),i=o}return i}),oQ=O=>aQ(O,!1),zT=O=>aQ(O,!0);var UT=O=>dr(O,e=>{let t=O.lineBlockAt(e.head).to;return e.headdr(O,e=>{let t=O.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),jT=O=>dr(O,e=>{let t=O.moveToLineBoundary(e,!0).head;return e.head{if(O.readOnly)return!1;let t=O.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:E.of(["",""])},range:S.cursor(i.from)}));return e(O.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},GT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=O.changeByRange(i=>{if(!i.empty||i.from==0||i.from==O.doc.length)return{range:i};let r=i.from,n=O.doc.lineAt(r),s=r==n.from?r-1:fe(n.text,r-n.from,!1)+n.from,a=r==n.to?r+1:fe(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:a,insert:O.doc.slice(r,a).append(O.doc.slice(s,r))},range:S.cursor(a)}});return t.changes.empty?!1:(e(O.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function ts(O){let e=[],t=-1;for(let i of O.selection.ranges){let r=O.doc.lineAt(i.from),n=O.doc.lineAt(i.to);if(!i.empty&&i.to==n.from&&(n=O.doc.lineAt(i.to-1)),t>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(i)}else e.push({from:r.from,to:n.to,ranges:[i]});t=n.number+1}return e}function lQ(O,e,t){if(O.readOnly)return!1;let i=[],r=[];for(let n of ts(O)){if(t?n.to==O.doc.length:n.from==0)continue;let s=O.doc.lineAt(t?n.to+1:n.from-1),a=s.length+1;if(t){i.push({from:n.to,to:s.to},{from:n.from,insert:s.text+O.lineBreak});for(let o of n.ranges)r.push(S.range(Math.min(O.doc.length,o.anchor+a),Math.min(O.doc.length,o.head+a)))}else{i.push({from:s.from,to:n.from},{from:n.to,insert:O.lineBreak+s.text});for(let o of n.ranges)r.push(S.range(o.anchor-a,o.head-a))}}return i.length?(e(O.update({changes:i,scrollIntoView:!0,selection:S.create(r,O.selection.mainIndex),userEvent:"move.line"})),!0):!1}var ET=({state:O,dispatch:e})=>lQ(O,e,!1),AT=({state:O,dispatch:e})=>lQ(O,e,!0);function cQ(O,e,t){if(O.readOnly)return!1;let i=[];for(let n of ts(O))t?i.push({from:n.from,insert:O.doc.slice(n.from,n.to)+O.lineBreak}):i.push({from:n.to,insert:O.lineBreak+O.doc.slice(n.from,n.to)});let r=O.changes(i);return e(O.update({changes:r,selection:O.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var LT=({state:O,dispatch:e})=>cQ(O,e,!1),MT=({state:O,dispatch:e})=>cQ(O,e,!0),DT=O=>{if(O.state.readOnly)return!1;let{state:e}=O,t=e.changes(ts(e).map(({from:r,to:n})=>(r>0?r--:n{let n;if(O.lineWrapping){let s=O.lineBlockAt(r.head),a=O.coordsAtPos(r.head,r.assoc||1);a&&(n=s.bottom+O.documentTop-a.bottom+O.defaultLineHeight/2)}return O.moveVertically(r,!0,n)}).map(t);return O.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function IT(O,e){if(/\(\)|\[\]|\{\}/.test(O.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=U(O).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),n;return i&&r&&i.to<=e&&r.from>=e&&(n=i.type.prop(R.closedBy))&&n.indexOf(r.name)>-1&&O.doc.lineAt(i.to).from==O.doc.lineAt(r.from).from&&!/\S/.test(O.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var _u=hQ(!1),BT=hQ(!0);function hQ(O){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:n,to:s}=r,a=e.doc.lineAt(n),o=!O&&n==s&&IT(e,n);O&&(n=s=(s<=a.to?a:e.doc.lineAt(s)).to);let l=new ZO(e,{simulateBreak:n,simulateDoubleBreak:!!o}),c=In(l,n);for(c==null&&(c=ve(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));sa.from&&n{let r=[];for(let s=i.from;s<=i.to;){let a=O.doc.lineAt(s);a.number>t&&(i.empty||i.to>a.from)&&(e(a,r,i),t=a.number),s=a.to+1}let n=O.changes(r);return{changes:r,range:S.range(n.mapPos(i.anchor,1),n.mapPos(i.head,1))}})}var NT=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let t=Object.create(null),i=new ZO(O,{overrideIndentation:n=>{let s=t[n];return s??-1}}),r=sl(O,(n,s,a)=>{let o=In(i,n.from);if(o==null)return;/\S/.test(n.text)||(o=0);let l=/^\s*/.exec(n.text)[0],c=hi(O,o);(l!=c||a.fromO.readOnly?!1:(e(O.update(sl(O,(t,i)=>{i.push({from:t.from,insert:O.facet(nO)})}),{userEvent:"input.indent"})),!0),dQ=({state:O,dispatch:e})=>O.readOnly?!1:(e(O.update(sl(O,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let n=ve(r,O.tabSize),s=0,a=hi(O,Math.max(0,n-lr(O)));for(;s(O.setTabFocusMode(),!0);var HT=[{key:"Ctrl-b",run:Eu,shift:Hu,preventDefault:!0},{key:"Ctrl-f",run:Au,shift:Ku},{key:"Ctrl-p",run:Du,shift:tQ},{key:"Ctrl-n",run:Iu,shift:OQ},{key:"Ctrl-a",run:$T,shift:wT},{key:"Ctrl-e",run:pT,shift:ZT},{key:"Ctrl-d",run:sQ},{key:"Ctrl-h",run:il},{key:"Ctrl-k",run:UT},{key:"Ctrl-Alt-h",run:oQ},{key:"Ctrl-o",run:CT},{key:"Ctrl-t",run:GT},{key:"Ctrl-v",run:Ol}],KT=[{key:"ArrowLeft",run:Eu,shift:Hu,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:aT,shift:PT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:uT,shift:xT,preventDefault:!0},{key:"ArrowRight",run:Au,shift:Ku,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:oT,shift:ST,preventDefault:!0},{mac:"Cmd-ArrowRight",run:QT,shift:kT,preventDefault:!0},{key:"ArrowUp",run:Du,shift:tQ,preventDefault:!0},{mac:"Cmd-ArrowUp",run:wu,shift:vu},{mac:"Ctrl-ArrowUp",run:yu,shift:xu},{key:"ArrowDown",run:Iu,shift:OQ,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Zu,shift:Yu},{mac:"Ctrl-ArrowDown",run:Ol,shift:ku},{key:"PageUp",run:yu,shift:xu},{key:"PageDown",run:Ol,shift:ku},{key:"Home",run:dT,shift:yT,preventDefault:!0},{key:"Mod-Home",run:wu,shift:vu},{key:"End",run:fT,shift:bT,preventDefault:!0},{key:"Mod-End",run:Zu,shift:Yu},{key:"Enter",run:_u,shift:_u},{key:"Mod-a",run:vT},{key:"Backspace",run:il,shift:il,preventDefault:!0},{key:"Delete",run:sQ,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:oQ,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:zT,preventDefault:!0},{mac:"Mod-Backspace",run:WT,preventDefault:!0},{mac:"Mod-Delete",run:jT,preventDefault:!0}].concat(HT.map(O=>({mac:O.key,run:O.run,shift:O.shift}))),uQ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cT,shift:XT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:hT,shift:TT},{key:"Alt-ArrowUp",run:ET},{key:"Shift-Alt-ArrowUp",run:LT},{key:"Alt-ArrowDown",run:AT},{key:"Shift-Alt-ArrowDown",run:MT},{key:"Mod-Alt-ArrowUp",run:RT},{key:"Mod-Alt-ArrowDown",run:VT},{key:"Escape",run:qT},{key:"Mod-Enter",run:BT},{key:"Alt-l",mac:"Ctrl-l",run:YT},{key:"Mod-i",run:_T,preventDefault:!0},{key:"Mod-[",run:dQ},{key:"Mod-]",run:fQ},{key:"Mod-Alt-\\",run:NT},{key:"Shift-Mod-k",run:DT},{key:"Shift-Mod-\\",run:gT},{key:"Mod-/",run:LX},{key:"Alt-A",run:DX},{key:"Ctrl-m",mac:"Shift-Alt-m",run:FT}].concat(KT),QQ={key:"Tab",run:fQ,shift:dQ};var $Q=typeof String.prototype.normalize=="function"?O=>O.normalize("NFKD"):O=>O,lO=class{constructor(e,t,i=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,r),this.bufferStart=i,this.normalize=n?a=>n($Q(a)):$Q,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Se(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=Ri(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=Me(e);let r=this.normalize(t);if(r.length)for(let n=0,s=i;;n++){let a=r.charCodeAt(n),o=this.match(a,s,this.bufferPos+this.bufferStart);if(n==r.length-1){if(o)return this.value=o,this;break}s==i&&nthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,r=i+t[0].length;if(this.matchPos=as(this.text,r+(i==r?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=i||r.to<=t){let a=new O(t,e.sliceString(t,i));return al.set(e,a),a}if(r.from==t&&r.to==i)return r;let{text:n,from:s}=r;return s>t&&(n=e.sliceString(t,s)+n,s=t),r.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let i=this.flat.from+t.index,r=i+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(i,r,t)))return this.value={from:i,to:r,match:t},this.matchPos=as(this.text,r+(i==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ns.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(rs.prototype[Symbol.iterator]=ss.prototype[Symbol.iterator]=function(){return this});function JT(O){try{return new RegExp(O,dl),!0}catch{return!1}}function as(O,e){if(e>=O.length)return e;let t=O.lineAt(e),i;for(;e=56320&&i<57344;)e++;return e}function ol(O){let e=String(O.state.doc.lineAt(O.state.selection.main.head).number),t=N("input",{class:"cm-textfield",name:"line",value:e}),i=N("form",{class:"cm-gotoLine",onkeydown:n=>{n.keyCode==27?(n.preventDefault(),O.dispatch({effects:ur.of(!1)}),O.focus()):n.keyCode==13&&(n.preventDefault(),r())},onsubmit:n=>{n.preventDefault(),r()}},N("label",O.state.phrase("Go to line"),": ",t)," ",N("button",{class:"cm-button",type:"submit"},O.state.phrase("go")),N("button",{name:"close",onclick:()=>{O.dispatch({effects:ur.of(!1)}),O.focus()},"aria-label":O.state.phrase("close"),type:"button"},["\xD7"]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:s}=O,a=s.doc.lineAt(s.selection.main.head),[,o,l,c,h]=n,f=c?+c.slice(1):0,u=l?+l:a.number;if(l&&h){let p=u/100;o&&(p=p*(o=="-"?-1:1)+a.number/s.doc.lines),u=Math.round(s.doc.lines*p)}else l&&o&&(u=u*(o=="-"?-1:1)+a.number);let Q=s.doc.line(Math.max(1,Math.min(s.doc.lines,u))),$=S.cursor(Q.from+Math.max(0,Math.min(f,Q.length)));O.dispatch({effects:[ur.of(!1),T.scrollIntoView($.from,{y:"center"})],selection:$}),O.focus()}return{dom:i}}var ur=V.define(),pQ=ce.define({create(){return!0},update(O,e){for(let t of e.effects)t.is(ur)&&(O=t.value);return O},provide:O=>TO.from(O,e=>e?ol:null)}),e1=O=>{let e=bO(O,ol);if(!e){let t=[ur.of(!0)];O.state.field(pQ,!1)==null&&t.push(V.appendConfig.of([pQ,t1])),O.dispatch({effects:t}),e=bO(O,ol)}return e&&e.dom.querySelector("input").select(),!0},t1=T.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),O1={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},SQ=Z.define({combine(O){return xe(O,O1,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function XQ(O){let e=[a1,s1];return O&&e.push(SQ.of(O)),e}var i1=Y.mark({class:"cm-selectionMatch"}),r1=Y.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function mQ(O,e,t,i){return(t==0||O(e.sliceDoc(t-1,t))!=ee.Word)&&(i==e.doc.length||O(e.sliceDoc(i,i+1))!=ee.Word)}function n1(O,e,t,i){return O(e.sliceDoc(t,t+1))==ee.Word&&O(e.sliceDoc(i-1,i))==ee.Word}var s1=he.fromClass(class{constructor(O){this.decorations=this.getDeco(O)}update(O){(O.selectionSet||O.docChanged||O.viewportChanged)&&(this.decorations=this.getDeco(O.view))}getDeco(O){let e=O.state.facet(SQ),{state:t}=O,i=t.selection;if(i.ranges.length>1)return Y.none;let r=i.main,n,s=null;if(r.empty){if(!e.highlightWordAroundCursor)return Y.none;let o=t.wordAt(r.head);if(!o)return Y.none;s=t.charCategorizer(r.head),n=t.sliceDoc(o.from,o.to)}else{let o=r.to-r.from;if(o200)return Y.none;if(e.wholeWords){if(n=t.sliceDoc(r.from,r.to),s=t.charCategorizer(r.head),!(mQ(s,t,r.from,r.to)&&n1(s,t,r.from,r.to)))return Y.none}else if(n=t.sliceDoc(r.from,r.to),!n)return Y.none}let a=[];for(let o of O.visibleRanges){let l=new lO(t.doc,n,o.from,o.to);for(;!l.next().done;){let{from:c,to:h}=l.value;if((!s||mQ(s,t,c,h))&&(r.empty&&c<=r.from&&h>=r.to?a.push(r1.range(c,h)):(c>=r.to||h<=r.from)&&a.push(i1.range(c,h)),a.length>e.maxMatches))return Y.none}}return Y.set(a)}},{decorations:O=>O.decorations}),a1=T.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),o1=({state:O,dispatch:e})=>{let{selection:t}=O,i=S.create(t.ranges.map(r=>O.wordAt(r.head)||S.cursor(r.head)),t.mainIndex);return i.eq(t)?!1:(e(O.update({selection:i})),!0)};function l1(O,e){let{main:t,ranges:i}=O.selection,r=O.wordAt(t.head),n=r&&r.from==t.from&&r.to==t.to;for(let s=!1,a=new lO(O.doc,e,i[i.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new lO(O.doc,e,0,Math.max(0,i[i.length-1].from-1)),s=!0}else{if(s&&i.some(o=>o.from==a.value.from))continue;if(n){let o=O.wordAt(a.value.from);if(!o||o.from!=a.value.from||o.to!=a.value.to)continue}return a.value}}var c1=({state:O,dispatch:e})=>{let{ranges:t}=O.selection;if(t.some(n=>n.from===n.to))return o1({state:O,dispatch:e});let i=O.sliceDoc(t[0].from,t[0].to);if(O.selection.ranges.some(n=>O.sliceDoc(n.from,n.to)!=i))return!1;let r=l1(O,i);return r?(e(O.update({selection:O.selection.addRange(S.range(r.from,r.to),!1),effects:T.scrollIntoView(r.to)})),!0):!1},Qi=Z.define({combine(O){return xe(O,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new fl(e),scrollToMatch:e=>T.scrollIntoView(e)})}});var os=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||JT(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,i)=>i=="n"?` +`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new cl(this):new ll(this)}getCursor(e,t=0,i){let r=e.doc?e:I.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?ui(this,r,t,i):di(this,r,t,i)}},ls=class{constructor(e){this.spec=e}};function di(O,e,t,i){return new lO(e.doc,O.unquoted,t,i,O.caseSensitive?void 0:r=>r.toLowerCase(),O.wholeWord?h1(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function h1(O,e){return(t,i,r,n)=>((n>t||n+r.length=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=di(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function ui(O,e,t,i){return new rs(e.doc,O.search,{ignoreCase:!O.caseSensitive,test:O.wholeWord?f1(e.charCategorizer(e.selection.main.head)):void 0},t,i)}function cs(O,e){return O.slice(fe(O,e,!1),e)}function hs(O,e){return O.slice(e,fe(O,e))}function f1(O){return(e,t,i)=>!i[0].length||(O(cs(i.input,i.index))!=ee.Word||O(hs(i.input,i.index))!=ee.Word)&&(O(hs(i.input,i.index+i[0].length))!=ee.Word||O(cs(i.input,i.index+i[0].length))!=ee.Word)}var cl=class extends ls{nextMatch(e,t,i){let r=ui(this.spec,e,i,e.doc.length).next();return r.done&&(r=ui(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let n=Math.max(t,i-r*1e4),s=ui(this.spec,e,n,i),a=null;for(;!s.next().done;)a=s.value;if(a&&(n==t||a.from>n+10))return a;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let n=+i.slice(0,r);if(n>0&&n=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let n=ui(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},$r=V.define(),ul=V.define(),oO=ce.define({create(O){return new Qr(hl(O).create(),null)},update(O,e){for(let t of e.effects)t.is($r)?O=new Qr(t.value.create(),O.panel):t.is(ul)&&(O=new Qr(O.query,t.value?Ql:null));return O},provide:O=>TO.from(O,e=>e.panel)});var Qr=class{constructor(e,t){this.query=e,this.panel=t}},d1=Y.mark({class:"cm-searchMatch"}),u1=Y.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Q1=he.fromClass(class{constructor(O){this.view=O,this.decorations=this.highlight(O.state.field(oO))}update(O){let e=O.state.field(oO);(e!=O.startState.field(oO)||O.docChanged||O.selectionSet||O.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:O,panel:e}){if(!e||!O.spec.valid)return Y.none;let{view:t}=this,i=new Le;for(let r=0,n=t.visibleRanges,s=n.length;rn[r+1].from-500;)o=n[++r].to;O.highlight(t.state,a,o,(l,c)=>{let h=t.state.selection.ranges.some(f=>f.from==l&&f.to==c);i.add(l,c,h?u1:d1)})}return i.finish()}},{decorations:O=>O.decorations});function pr(O){return e=>{let t=e.state.field(oO,!1);return t&&t.query.spec.valid?O(e,t):yQ(e)}}var fs=pr((O,{query:e})=>{let{to:t}=O.state.selection.main,i=e.nextMatch(O.state,t,t);if(!i)return!1;let r=S.single(i.from,i.to),n=O.state.facet(Qi);return O.dispatch({selection:r,effects:[$l(O,i),n.scrollToMatch(r.main,O)],userEvent:"select.search"}),bQ(O),!0}),ds=pr((O,{query:e})=>{let{state:t}=O,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return!1;let n=S.single(r.from,r.to),s=O.state.facet(Qi);return O.dispatch({selection:n,effects:[$l(O,r),s.scrollToMatch(n.main,O)],userEvent:"select.search"}),bQ(O),!0}),$1=pr((O,{query:e})=>{let t=e.matchAll(O.state,1e3);return!t||!t.length?!1:(O.dispatch({selection:S.create(t.map(i=>S.range(i.from,i.to))),userEvent:"select.search.matches"}),!0)}),p1=({state:O,dispatch:e})=>{let t=O.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:i,to:r}=t.main,n=[],s=0;for(let a=new lO(O.doc,O.sliceDoc(i,r));!a.next().done;){if(n.length>1e3)return!1;a.value.from==i&&(s=n.length),n.push(S.range(a.value.from,a.value.to))}return e(O.update({selection:S.create(n,s),userEvent:"select.search.matches"})),!0},gQ=pr((O,{query:e})=>{let{state:t}=O,{from:i,to:r}=t.selection.main;if(t.readOnly)return!1;let n=e.nextMatch(t,i,i);if(!n)return!1;let s=n,a=[],o,l,c=[];s.from==i&&s.to==r&&(l=t.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:l}),s=e.nextMatch(t,s.from,s.to),c.push(T.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(i).number)+".")));let h=O.state.changes(a);return s&&(o=S.single(s.from,s.to).map(h),c.push($l(O,s)),c.push(t.facet(Qi).scrollToMatch(o.main,O))),O.dispatch({changes:h,selection:o,effects:c,userEvent:"input.replace"}),!0}),m1=pr((O,{query:e})=>{if(O.state.readOnly)return!1;let t=e.matchAll(O.state,1e9).map(r=>{let{from:n,to:s}=r;return{from:n,to:s,insert:e.getReplacement(r)}});if(!t.length)return!1;let i=O.state.phrase("replaced $ matches",t.length)+".";return O.dispatch({changes:t,effects:T.announce.of(i),userEvent:"input.replace.all"}),!0});function Ql(O){return O.state.facet(Qi).createPanel(O)}function hl(O,e){var t,i,r,n,s;let a=O.selection.main,o=a.empty||a.to>a.from+100?"":O.sliceDoc(a.from,a.to);if(e&&!o)return e;let l=O.facet(Qi);return new os({search:((t=e?.literal)!==null&&t!==void 0?t:l.literal)?o:o.replace(/\n/g,"\\n"),caseSensitive:(i=e?.caseSensitive)!==null&&i!==void 0?i:l.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:l.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:l.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:l.wholeWord})}function TQ(O){let e=bO(O,Ql);return e&&e.dom.querySelector("[main-field]")}function bQ(O){let e=TQ(O);e&&e==O.root.activeElement&&e.select()}var yQ=O=>{let e=O.state.field(oO,!1);if(e&&e.panel){let t=TQ(O);if(t&&t!=O.root.activeElement){let i=hl(O.state,e.query.spec);i.valid&&O.dispatch({effects:$r.of(i)}),t.focus(),t.select()}}else O.dispatch({effects:[ul.of(!0),e?$r.of(hl(O.state,e.query.spec)):V.appendConfig.of(P1)]});return!0},xQ=O=>{let e=O.state.field(oO,!1);if(!e||!e.panel)return!1;let t=bO(O,Ql);return t&&t.dom.contains(O.root.activeElement)&&O.focus(),O.dispatch({effects:ul.of(!1)}),!0},kQ=[{key:"Mod-f",run:yQ,scope:"editor search-panel"},{key:"F3",run:fs,shift:ds,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:fs,shift:ds,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:xQ,scope:"editor search-panel"},{key:"Mod-Shift-l",run:p1},{key:"Mod-Alt-g",run:e1},{key:"Mod-d",run:c1,preventDefault:!0}],fl=class{constructor(e){this.view=e;let t=this.query=e.state.field(oO).query.spec;this.commit=this.commit.bind(this),this.searchField=N("input",{value:t.search,placeholder:Ne(e,"Find"),"aria-label":Ne(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=N("input",{value:t.replace,placeholder:Ne(e,"Replace"),"aria-label":Ne(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=N("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=N("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=N("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function i(r,n,s){return N("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=N("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,i("next",()=>fs(e),[Ne(e,"next")]),i("prev",()=>ds(e),[Ne(e,"previous")]),i("select",()=>$1(e),[Ne(e,"all")]),N("label",null,[this.caseField,Ne(e,"match case")]),N("label",null,[this.reField,Ne(e,"regexp")]),N("label",null,[this.wordField,Ne(e,"by word")]),...e.state.readOnly?[]:[N("br"),this.replaceField,i("replace",()=>gQ(e),[Ne(e,"replace")]),i("replaceAll",()=>m1(e),[Ne(e,"replace all")])],N("button",{name:"close",onclick:()=>xQ(e),"aria-label":Ne(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new os({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:$r.of(e)}))}keydown(e){bd(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ds:fs)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),gQ(this.view))}update(e){for(let t of e.transactions)for(let i of t.effects)i.is($r)&&!i.value.eq(this.query)&&this.setQuery(i.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Qi).top}};function Ne(O,e){return O.state.phrase(e)}var Os=30,is=/[\s\.,:;?!]/;function $l(O,{from:e,to:t}){let i=O.state.doc.lineAt(e),r=O.state.doc.lineAt(t).to,n=Math.max(i.from,e-Os),s=Math.min(r,t+Os),a=O.state.sliceDoc(n,s);if(n!=i.from){for(let o=0;oa.length-Os;o--)if(!is.test(a[o-1])&&is.test(a[o])){a=a.slice(0,o);break}}return T.announce.of(`${O.state.phrase("current match")}. ${a} ${O.state.phrase("on line")} ${i.number}.`)}var g1=T.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),P1=[oO,ze.low(Q1),g1];var $i=class{constructor(e,t,i,r){this.state=e,this.pos=t,this.explicit=i,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=U(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),r=t.text.slice(i-t.from,this.pos-t.from),n=r.search(zQ(e,!1));return n<0?null:{from:i+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,i){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}};function wQ(O){let e=Object.keys(O).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function S1(O){let e=Object.create(null),t=Object.create(null);for(let{label:r}of O){e[r[0]]=!0;for(let n=1;ntypeof r=="string"?{label:r}:r),[t,i]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:S1(e);return r=>{let n=r.matchBefore(i);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:t}:null}}function cO(O,e){return t=>{for(let i=U(t.state).resolveInner(t.pos,-1);i;i=i.parent){if(O.indexOf(i.name)>-1)return null;if(i.type.isTop)break}return e(t)}}var Qs=class{constructor(e,t,i,r){this.completion=e,this.source=t,this.match=i,this.score=r}};function RO(O){return O.selection.main.from}function zQ(O,e){var t;let{source:i}=O,r=e&&i[0]!="^",n=i[i.length-1]!="$";return!r&&!n?O:new RegExp(`${r?"^":""}(?:${i})${n?"$":""}`,(t=O.flags)!==null&&t!==void 0?t:O.ignoreCase?"i":"")}var Zl=qe.define();function X1(O,e,t,i){let{main:r}=O.selection,n=t-r.from,s=i-r.from;return{...O.changeByRange(a=>{if(a!=r&&t!=i&&O.sliceDoc(a.from+n,a.from+s)!=O.sliceDoc(t,i))return{range:a};let o=O.toText(e);return{changes:{from:a.from+n,to:i==r.from?a.to:a.from+s,insert:o},range:S.cursor(a.from+n+o.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var ZQ=new WeakMap;function T1(O){if(!Array.isArray(O))return O;let e=ZQ.get(O);return e||ZQ.set(O,e=zt(O)),e}var $s=V.define(),mr=V.define(),Pl=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&X<=57||X>=97&&X<=122?2:X>=65&&X<=90?1:0:(x=Ri(X))!=x.toLowerCase()?1:x!=x.toUpperCase()?2:0;(!g||k==1&&p||y==0&&k!=0)&&(t[h]==X||i[h]==X&&(f=!0)?s[h++]=g:s.length&&(m=!1)),y=k,g+=Me(X)}return h==o&&s[0]==0&&m?this.result(-100+(f?-200:0),s,e):u==o&&Q==0?this.ret(-200-e.length+($==e.length?0:-100),[0,$]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):u==o?this.ret(-900-e.length,[Q,$]):h==o?this.result(-100+(f?-200:0)+-700+(m?0:-1100),s,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,i){let r=[],n=0;for(let s of t){let a=s+(this.astral?Me(Se(i,s)):1);n&&r[n-1]==s?r[n-1]=a:(r[n++]=s,r[n++]=a)}return this.ret(e-i.length,r)}},Sl=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:b1,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>vQ(e(i),t(i)),optionClass:(e,t)=>i=>vQ(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function vQ(O,e){return O?e?O+" "+e:O:e}function b1(O,e,t,i,r,n){let s=O.textDirection==H.RTL,a=s,o=!1,l="top",c,h,f=e.left-r.left,u=r.right-e.right,Q=i.right-i.left,$=i.bottom-i.top;if(a&&f=$||g>e.top?c=t.bottom-e.top:(l="bottom",c=e.bottom-t.top)}let p=(e.bottom-e.top)/n.offsetHeight,m=(e.right-e.left)/n.offsetWidth;return{style:`${l}: ${c/p}px; max-width: ${h/m}px`,class:"cm-completionInfo-"+(o?s?"left-narrow":"right-narrow":a?"left":"right")}}function y1(O){let e=O.addToOptions.slice();return O.icons&&e.push({render(t){let i=document.createElement("div");return i.classList.add("cm-completionIcon"),t.type&&i.classList.add(...t.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),i.setAttribute("aria-hidden","true"),i},position:20}),e.push({render(t,i,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let a=t.displayLabel||t.label,o=0;for(let l=0;lo&&s.appendChild(document.createTextNode(a.slice(o,c)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(c,h))),f.className="cm-completionMatchedText",o=h}return ot.position-i.position).map(t=>t.render)}function pl(O,e,t){if(O<=t)return{from:0,to:O};if(e<0&&(e=0),e<=O>>1){let r=Math.floor(e/t);return{from:r*t,to:(r+1)*t}}let i=Math.floor((O-e)/t);return{from:O-(i+1)*t,to:O-i*t}}var Xl=class{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:o=>this.placeInfo(o),key:this},this.space=null,this.currentClass="";let r=e.state.field(t),{options:n,selected:s}=r.open,a=e.state.facet(ge);this.optionContent=y1(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=pl(n.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",o=>{let{options:l}=e.state.field(t).open;for(let c=o.target,h;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(h=/-(\d+)$/.exec(c.id))&&+h[1]{let l=e.state.field(this.stateField,!1);l&&l.tooltip&&e.state.facet(ge).closeOnBlur&&o.relatedTarget!=e.contentDOM&&e.dispatch({effects:mr.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=r){let{options:n,selected:s,disabled:a}=i.open;(!r.open||r.open.options!=n)&&(this.range=pl(n.length,s,e.state.facet(ge).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),a!=((t=r.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let i of this.currentClass.split(" "))i&&this.dom.classList.remove(i);for(let i of t.split(" "))i&&this.dom.classList.add(i);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected=this.range.to)&&(this.range=pl(t.options.length,t.selected,this.view.state.facet(ge).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,r)}).catch(a=>Xe(this.view.state,a,"completion info")):(this.addInfoPane(s,r),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)i.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;i.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,r=this.range.from;i;i=i.nextSibling,r++)i.nodeName!="LI"||!i.id?r--:r==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby"));return t&&k1(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,t.bottom)-10||r.bottom{s.target==r&&s.preventDefault()});let n=null;for(let s=i.from;si.from||i.from==0))if(n=f,typeof l!="string"&&l.header)r.appendChild(l.header(l));else{let u=r.appendChild(document.createElement("completion-section"));u.textContent=f}}let c=r.appendChild(document.createElement("li"));c.id=t+"-"+s,c.setAttribute("role","option");let h=this.optionClass(a);h&&(c.className=h);for(let f of this.optionContent){let u=f(a,this.view.state,this.view,o);u&&c.appendChild(u)}}return i.from&&r.classList.add("cm-completionListIncompleteTop"),i.tonew Xl(t,O,e)}function k1(O,e){let t=O.getBoundingClientRect(),i=e.getBoundingClientRect(),r=t.height/O.offsetHeight;i.topt.bottom&&(O.scrollTop+=(i.bottom-t.bottom)/r)}function YQ(O){return(O.boost||0)*100+(O.apply?10:0)+(O.info?5:0)+(O.type?1:0)}function w1(O,e){let t=[],i=null,r=null,n=c=>{t.push(c);let{section:h}=c.completion;if(h){i||(i=[]);let f=typeof h=="string"?h:h.name;i.some(u=>u.name==f)||i.push(typeof h=="string"?{name:f}:h)}},s=e.facet(ge);for(let c of O)if(c.hasResult()){let h=c.result.getMatch;if(c.result.filter===!1)for(let f of c.result.options)n(new Qs(f,c.source,h?h(f):[],1e9-t.length));else{let f=e.sliceDoc(c.from,c.to),u,Q=s.filterStrict?new Sl(f):new Pl(f);for(let $ of c.result.options)if(u=Q.match($.label)){let p=$.displayLabel?h?h($,u.matched):[]:u.matched,m=u.score+($.boost||0);if(n(new Qs($,c.source,p,m)),typeof $.section=="object"&&$.section.rank==="dynamic"){let{name:g}=$.section;r||(r=Object.create(null)),r[g]=Math.max(m,r[g]||-1e9)}}}}if(i){let c=Object.create(null),h=0,f=(u,Q)=>(u.rank==="dynamic"&&Q.rank==="dynamic"?r[Q.name]-r[u.name]:0)||(typeof u.rank=="number"?u.rank:1e9)-(typeof Q.rank=="number"?Q.rank:1e9)||(u.namef.score-h.score||l(h.completion,f.completion))){let h=c.completion;!o||o.label!=h.label||o.detail!=h.detail||o.type!=null&&h.type!=null&&o.type!=h.type||o.apply!=h.apply||o.boost!=h.boost?a.push(c):YQ(c.completion)>YQ(o)&&(a[a.length-1]=c),o=c.completion}return a}var Tl=class O{constructor(e,t,i,r,n,s){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new O(this.options,_Q(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,r,n,s){if(r&&!s&&e.some(l=>l.isPending))return r.setDisabled();let a=w1(e,t);if(!a.length)return r&&e.some(l=>l.isPending)?r.setDisabled():null;let o=t.facet(ge).selectOnOpen?0:-1;if(r&&r.selected!=o&&r.selected!=-1){let l=r.options[r.selected].completion;for(let c=0;cc.hasResult()?Math.min(l,c.from):l,1e8),create:V1,above:n.aboveCursor},r?r.timestamp:Date.now(),o,!1)}map(e){return new O(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new O(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},bl=class O{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new O(_1,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,i=t.facet(ge),n=(i.override||t.languageDataAt("autocomplete",RO(t)).map(T1)).map(o=>(this.active.find(c=>c.source==o)||new qt(o,this.active.some(c=>c.state!=0)?1:0)).update(e,i));n.length==this.active.length&&n.every((o,l)=>o==this.active[l])&&(n=this.active);let s=this.open,a=e.effects.some(o=>o.is(vl));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(o=>o.hasResult()&&e.changes.touchesRange(o.from,o.to))||!Z1(n,this.active)||a?s=Tl.build(n,t,this.id,s,i,a):s&&s.disabled&&!n.some(o=>o.isPending)&&(s=null),!s&&n.every(o=>!o.isPending)&&n.some(o=>o.hasResult())&&(n=n.map(o=>o.hasResult()?new qt(o.source,0):o));for(let o of e.effects)o.is(WQ)&&(s=s&&s.setSelected(o.value,this.id));return n==this.active&&s==this.open?this:new O(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?v1:Y1}};function Z1(O,e){if(O==e)return!0;for(let t=0,i=0;;){for(;t-1&&(t["aria-activedescendant"]=O+"-"+e),t}var _1=[];function UQ(O,e){if(O.isUserEvent("input.complete")){let i=O.annotation(Zl);if(i&&e.activateOnCompletion(i))return 12}let t=O.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:O.isUserEvent("delete.backward")?2:O.selection?8:O.docChanged?16:0}var qt=class O{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let i=UQ(e,t),r=this;(i&8||i&16&&this.touches(e))&&(r=new O(r.source,0)),i&4&&r.state==0&&(r=new O(this.source,1)),r=r.updateFor(e,i);for(let n of e.effects)if(n.is($s))r=new O(r.source,1,n.value);else if(n.is(mr))r=new O(r.source,0);else if(n.is(vl))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(RO(e.state))}},ps=class O extends qt{constructor(e,t,i,r,n,s){super(e,3,t),this.limit=i,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,t){var i;if(!(t&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=RO(e.state);if(a>s||!r||t&2&&(RO(e.startState)==this.from||at.map(e))}}),WQ=V.define(),Ce=ce.define({create(){return bl.start()},update(O,e){return O.update(e)},provide:O=>[er.from(O,e=>e.tooltip),T.contentAttributes.from(O,e=>e.attrs)]});function Yl(O,e){let t=e.completion.apply||e.completion.label,i=O.state.field(Ce).active.find(r=>r.source==e.source);return i instanceof ps?(typeof t=="string"?O.dispatch({...X1(O.state,t,i.from,i.to),annotations:Zl.of(e.completion)}):t(O,e.completion,i.from,i.to),!0):!1}var V1=x1(Ce,Yl);function us(O,e="option"){return t=>{let i=t.state.field(Ce,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp-1?i.open.selected+r*(O?1:-1):O?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),t.dispatch({effects:WQ.of(a)}),!0}}var q1=O=>{let e=O.state.field(Ce,!1);return O.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampO.state.field(Ce,!1)?(O.dispatch({effects:$s.of(!0)}),!0):!1,z1=O=>{let e=O.state.field(Ce,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(O.dispatch({effects:mr.of(null)}),!0)},yl=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},U1=50,W1=1e3,j1=he.fromClass(class{constructor(O){this.view=O,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of O.state.field(Ce).active)e.isPending&&this.startQuery(e)}update(O){let e=O.state.field(Ce),t=O.state.facet(ge);if(!O.selectionSet&&!O.docChanged&&O.startState.field(Ce)==e)return;let i=O.transactions.some(n=>{let s=UQ(n,t);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;nU1&&Date.now()-s.time>W1){for(let a of s.context.abortListeners)try{a()}catch(o){Xe(this.view.state,o)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...O.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),O.transactions.some(n=>n.effects.some(s=>s.is($s)))&&(this.pendingStart=!0);let r=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of O.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:O}=this.view,e=O.field(Ce);for(let t of e.active)t.isPending&&!this.running.some(i=>i.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}startQuery(O){let{state:e}=this.view,t=RO(e),i=new $i(e,t,O.explicit,this.view),r=new yl(O,i);this.running.push(r),Promise.resolve(O.source(i)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:mr.of(null)}),Xe(this.view.state,n)})}scheduleAccept(){this.running.every(O=>O.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(ge).updateSyncTime))}accept(){var O;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ge),i=this.view.state.field(Ce);for(let r=0;ra.source==n.active.source);if(s&&s.isPending)if(n.done==null){let a=new qt(n.active.source,0);for(let o of n.updates)a=a.update(o,t);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||i.open&&i.open.disabled)&&this.view.dispatch({effects:vl.of(e)})}},{eventHandlers:{blur(O){let e=this.view.state.field(Ce,!1);if(e&&e.tooltip&&this.view.state.facet(ge).closeOnBlur){let t=e.open&&To(this.view,e.open.tooltip);(!t||!t.dom.contains(O.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:mr.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:$s.of(!1)}),20),this.composing=0}}}),C1=typeof navigator=="object"&&/Win/.test(navigator.platform),G1=ze.highest(T.domEventHandlers({keydown(O,e){let t=e.state.field(Ce,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||O.key.length>1||O.ctrlKey&&!(C1&&O.altKey)||O.metaKey)return!1;let i=t.open.options[t.open.selected],r=t.active.find(s=>s.source==i.source),n=i.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(O.key)>-1&&Yl(e,i),!1}})),jQ=T.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),xl=class{constructor(e,t,i,r){this.field=e,this.line=t,this.from=i,this.to=r}},kl=class O{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,pe.TrackDel),i=e.mapPos(this.to,1,pe.TrackDel);return t==null||i==null?null:new O(this.field,t,i)}},wl=class O{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],r=[t],n=e.doc.lineAt(t),s=/^\s*/.exec(n.text)[0];for(let o of this.lines){if(i.length){let l=s,c=/^\t*/.exec(o)[0].length;for(let h=0;hnew kl(o.field,r[o.line]+o.from,r[o.line]+o.to));return{text:i,ranges:a}}static parse(e){let t=[],i=[],r=[],n;for(let s of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=n[1]?+n[1]:null,o=n[2]||n[3]||"",l=-1,c=o.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h=l&&f.field++}for(let h of r)if(h.line==i.length&&h.from>n.index){let f=n[2]?3+(n[1]||"").length:2;h.from-=f,h.to-=f}r.push(new xl(l,i.length,n.index,n.index+c.length)),s=s.slice(0,n.index)+o+s.slice(n.index+n[0].length)}s=s.replace(/\\([{}])/g,(a,o,l)=>{for(let c of r)c.line==i.length&&c.from>l&&(c.from--,c.to--);return o}),i.push(s)}return new O(i,r)}},E1=Y.widget({widget:new class extends _e{toDOM(){let O=document.createElement("span");return O.className="cm-snippetFieldPosition",O}ignoreEvent(){return!1}}}),A1=Y.mark({class:"cm-snippetField"}),pi=class O{constructor(e,t){this.ranges=e,this.active=t,this.deco=Y.set(e.map(i=>(i.from==i.to?E1:A1).range(i.from,i.to)),!0)}map(e){let t=[];for(let i of this.ranges){let r=i.map(e);if(!r)return null;t.push(r)}return new O(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(i=>i.field==this.active&&i.from<=t.from&&i.to>=t.to))}},Sr=V.define({map(O,e){return O&&O.map(e)}}),L1=V.define(),gr=ce.define({create(){return null},update(O,e){for(let t of e.effects){if(t.is(Sr))return t.value;if(t.is(L1)&&O)return new pi(O.ranges,t.value)}return O&&e.docChanged&&(O=O.map(e.changes)),O&&e.selection&&!O.selectionInsideField(e.selection)&&(O=null),O},provide:O=>T.decorations.from(O,e=>e?e.deco:Y.none)});function _l(O,e){return S.create(O.filter(t=>t.field==e).map(t=>S.range(t.from,t.to)))}function M1(O){let e=wl.parse(O);return(t,i,r,n)=>{let{text:s,ranges:a}=e.instantiate(t.state,r),{main:o}=t.state.selection,l={changes:{from:r,to:n==o.from?o.to:n,insert:E.of(s)},scrollIntoView:!0,annotations:i?[Zl.of(i),Qe.userEvent.of("input.complete")]:void 0};if(a.length&&(l.selection=_l(a,0)),a.some(c=>c.field>0)){let c=new pi(a,0),h=l.effects=[Sr.of(c)];t.state.field(gr,!1)===void 0&&h.push(V.appendConfig.of([gr,F1,H1,jQ]))}t.dispatch(t.state.update(l))}}function CQ(O){return({state:e,dispatch:t})=>{let i=e.field(gr,!1);if(!i||O<0&&i.active==0)return!1;let r=i.active+O,n=O>0&&!i.ranges.some(s=>s.field==r+O);return t(e.update({selection:_l(i.ranges,r),effects:Sr.of(n?null:new pi(i.ranges,r)),scrollIntoView:!0})),!0}}var D1=({state:O,dispatch:e})=>O.field(gr,!1)?(e(O.update({effects:Sr.of(null)})),!0):!1,I1=CQ(1),B1=CQ(-1);var N1=[{key:"Tab",run:I1,shift:B1},{key:"Escape",run:D1}],RQ=Z.define({combine(O){return O.length?O[0]:N1}}),F1=ze.highest(Xt.compute([RQ],O=>O.facet(RQ)));function W(O,e){return{...e,apply:M1(O)}}var H1=T.domEventHandlers({mousedown(O,e){let t=e.state.field(gr,!1),i;if(!t||(i=e.posAtCoords({x:O.clientX,y:O.clientY}))==null)return!1;let r=t.ranges.find(n=>n.from<=i&&n.to>=i);return!r||r.field==t.active?!1:(e.dispatch({selection:_l(t.ranges,r.field),effects:Sr.of(t.ranges.some(n=>n.field>r.field)?new pi(t.ranges,r.field):null),scrollIntoView:!0}),!0)}});var Pr={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},_O=V.define({map(O,e){let t=e.mapPos(O,-1,pe.TrackAfter);return t??void 0}}),Rl=new class extends tt{};Rl.startSide=1;Rl.endSide=-1;var GQ=ce.define({create(){return M.empty},update(O,e){if(O=O.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);O=O.update({filter:i=>i>=t.from&&i<=t.to})}for(let t of e.effects)t.is(_O)&&(O=O.update({add:[Rl.range(t.value,t.value+1)]}));return O}});function EQ(){return[J1,GQ]}var gl="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function AQ(O){for(let e=0;e{if((K1?O.composing:O.compositionStarted)||O.state.readOnly)return!1;let r=O.state.selection.main;if(i.length>2||i.length==2&&Me(Se(i,0))==1||e!=r.from||t!=r.to)return!1;let n=t0(O.state,i);return n?(O.dispatch(n),!0):!1}),e0=({state:O,dispatch:e})=>{if(O.readOnly)return!1;let i=LQ(O,O.selection.main.head).brackets||Pr.brackets,r=null,n=O.changeByRange(s=>{if(s.empty){let a=O0(O.doc,s.head);for(let o of i)if(o==a&&ms(O.doc,s.head)==AQ(Se(o,0)))return{changes:{from:s.head-o.length,to:s.head+o.length},range:S.cursor(s.head-o.length)}}return{range:r=s}});return r||e(O.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!r},MQ=[{key:"Backspace",run:e0}];function t0(O,e){let t=LQ(O,O.selection.main.head),i=t.brackets||Pr.brackets;for(let r of i){let n=AQ(Se(r,0));if(e==r)return n==r?n0(O,r,i.indexOf(r+r+r)>-1,t):i0(O,r,n,t.before||Pr.before);if(e==n&&DQ(O,O.selection.main.from))return r0(O,r,n)}return null}function DQ(O,e){let t=!1;return O.field(GQ).between(0,O.doc.length,i=>{i==e&&(t=!0)}),t}function ms(O,e){let t=O.sliceString(e,e+2);return t.slice(0,Me(Se(t,0)))}function O0(O,e){let t=O.sliceString(e-2,e);return Me(Se(t,0))==t.length?t:t.slice(1)}function i0(O,e,t,i){let r=null,n=O.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:_O.of(s.to+e.length),range:S.range(s.anchor+e.length,s.head+e.length)};let a=ms(O.doc,s.head);return!a||/\s/.test(a)||i.indexOf(a)>-1?{changes:{insert:e+t,from:s.head},effects:_O.of(s.head+e.length),range:S.cursor(s.head+e.length)}:{range:r=s}});return r?null:O.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function r0(O,e,t){let i=null,r=O.changeByRange(n=>n.empty&&ms(O.doc,n.head)==t?{changes:{from:n.head,to:n.head+t.length,insert:t},range:S.cursor(n.head+t.length)}:i={range:n});return i?null:O.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function n0(O,e,t,i){let r=i.stringPrefixes||Pr.stringPrefixes,n=null,s=O.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:_O.of(a.to+e.length),range:S.range(a.anchor+e.length,a.head+e.length)};let o=a.head,l=ms(O.doc,o),c;if(l==e){if(VQ(O,o))return{changes:{insert:e+e,from:o},effects:_O.of(o+e.length),range:S.cursor(o+e.length)};if(DQ(O,o)){let f=t&&O.sliceDoc(o,o+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:o,to:o+f.length,insert:f},range:S.cursor(o+f.length)}}}else{if(t&&O.sliceDoc(o-2*e.length,o)==e+e&&(c=qQ(O,o-2*e.length,r))>-1&&VQ(O,c))return{changes:{insert:e+e+e+e,from:o},effects:_O.of(o+e.length),range:S.cursor(o+e.length)};if(O.charCategorizer(o)(l)!=ee.Word&&qQ(O,o,r)>-1&&!s0(O,o,e,r))return{changes:{insert:e+e,from:o},effects:_O.of(o+e.length),range:S.cursor(o+e.length)}}return{range:n=a}});return n?null:O.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function VQ(O,e){let t=U(O).resolveInner(e+1);return t.parent&&t.from==e}function s0(O,e,t,i){let r=U(O).resolveInner(e,-1),n=i.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=O.sliceDoc(r.from,Math.min(r.to,r.from+t.length+n)),o=a.indexOf(t);if(!o||o>-1&&i.indexOf(a.slice(0,o))>-1){let c=r.firstChild;for(;c&&c.from==r.from&&c.to-c.from>t.length+o;){if(O.sliceDoc(c.to-t.length,c.to)==t)return!1;c=c.firstChild}return!0}let l=r.to==e&&r.parent;if(!l)break;r=l}return!1}function qQ(O,e,t){let i=O.charCategorizer(e);if(i(O.sliceDoc(e-1,e))!=ee.Word)return e;for(let r of t){let n=e-r.length;if(O.sliceDoc(n,e)==r&&i(O.sliceDoc(n-1,n))!=ee.Word)return n}return-1}function IQ(O={}){return[G1,Ce,ge.of(O),j1,a0,jQ]}var Vl=[{key:"Ctrl-Space",run:ml},{mac:"Alt-`",run:ml},{mac:"Alt-i",run:ml},{key:"Escape",run:z1},{key:"ArrowDown",run:us(!0)},{key:"ArrowUp",run:us(!1)},{key:"PageDown",run:us(!0,"page")},{key:"PageUp",run:us(!1,"page")},{key:"Enter",run:q1}],a0=ze.highest(Xt.computeN([ge],O=>O.facet(ge).defaultKeymap?[Vl]:[]));var Ps=class{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}},VO=class O{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let r=i.facet(Xr).markerFilter;r&&(e=r(e,i));let n=e.slice().sort((u,Q)=>u.from-Q.from||u.to-Q.to),s=new Le,a=[],o=0,l=i.doc.iter(),c=0,h=i.doc.length;for(let u=0;;){let Q=u==n.length?null:n[u];if(!Q&&!a.length)break;let $,p;if(a.length)$=o,p=a.reduce((P,y)=>Math.min(P,y.to),Q&&Q.from>$?Q.from:1e8);else{if($=Q.from,$>h)break;p=Q.to,a.push(Q),u++}for(;uP.from||P.to==$))a.push(P),u++,p=Math.min(P.to,p);else{p=Math.min(P.from,p);break}}p=Math.min(p,h);let m=!1;if(a.some(P=>P.from==$&&(P.to==p||p==h))&&(m=$==p,!m&&p-$<10)){let P=$-(c+l.value.length);P>0&&(l.next(P),c=$);for(let y=$;;){if(y>=p){m=!0;break}if(!l.lineBreak&&c+l.value.length>y)break;y=c+l.value.length,c+=l.value.length,l.next()}}let g=m0(a);if(m)s.add($,$,Y.widget({widget:new ql(g),diagnostics:a.slice()}));else{let P=a.reduce((y,X)=>X.markClass?y+" "+X.markClass:y,"");s.add($,p,Y.mark({class:"cm-lintRange cm-lintRange-"+g+P,diagnostics:a.slice(),inclusiveEnd:a.some(y=>y.to>p)}))}if(o=p,o==h)break;for(let P=0;P{if(!(e&&s.diagnostics.indexOf(e)<0))if(!i)i=new Ps(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(i.diagnostic)<0)return!1;i=new Ps(i.from,n,i.diagnostic)}}),i}function o0(O,e){let t=e.pos,i=e.end||t,r=O.state.facet(Xr).hideOn(O,t,i);if(r!=null)return r;let n=O.startState.doc.lineAt(e.pos);return!!(O.effects.some(s=>s.is(FQ))||O.changes.touchesRange(n.from,Math.max(n.to,i)))}function l0(O,e){return O.field(Fe,!1)?e:e.concat(V.appendConfig.of(g0))}var FQ=V.define(),zl=V.define(),HQ=V.define(),Fe=ce.define({create(){return new VO(Y.none,null,null)},update(O,e){if(e.docChanged&&O.diagnostics.size){let t=O.diagnostics.map(e.changes),i=null,r=O.panel;if(O.selected){let n=e.changes.mapPos(O.selected.from,1);i=mi(t,O.selected.diagnostic,n)||mi(t,null,n)}!t.size&&r&&e.state.facet(Xr).autoPanel&&(r=null),O=new VO(t,r,i)}for(let t of e.effects)if(t.is(FQ)){let i=e.state.facet(Xr).autoPanel?t.value.length?Tr.open:null:O.panel;O=VO.init(t.value,i,e.state)}else t.is(zl)?O=new VO(O.diagnostics,t.value?Tr.open:null,O.selected):t.is(HQ)&&(O=new VO(O.diagnostics,O.panel,t.value));return O},provide:O=>[TO.from(O,e=>e.panel),T.decorations.from(O,e=>e.diagnostics)]});var c0=Y.mark({class:"cm-lintRange cm-lintRange-active"});function h0(O,e,t){let{diagnostics:i}=O.state.field(Fe),r,n=-1,s=-1;i.between(e-(t<0?1:0),e+(t>0?1:0),(o,l,{spec:c})=>{if(e>=o&&e<=l&&(o==l||(e>o||t>0)&&(ee$(O,t,!1)))}var d0=O=>{let e=O.state.field(Fe,!1);(!e||!e.panel)&&O.dispatch({effects:l0(O.state,[zl.of(!0)])});let t=bO(O,Tr.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},BQ=O=>{let e=O.state.field(Fe,!1);return!e||!e.panel?!1:(O.dispatch({effects:zl.of(!1)}),!0)},u0=O=>{let e=O.state.field(Fe,!1);if(!e)return!1;let t=O.state.selection.main,i=e.diagnostics.iter(t.to+1);return!i.value&&(i=e.diagnostics.iter(0),!i.value||i.from==t.from&&i.to==t.to)?!1:(O.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)};var KQ=[{key:"Mod-Shift-m",run:d0,preventDefault:!0},{key:"F8",run:u0}];var Xr=Z.define({combine(O){return{sources:O.map(e=>e.source).filter(e=>e!=null),...xe(O.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:NQ,tooltipFilter:NQ,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,r,n)=>e(i,r,n)||t(i,r,n):e:t,autoPanel:(e,t)=>e||t})}}});function NQ(O,e){return O?e?(t,i)=>e(O(t,i),i):O:e}function JQ(O){let e=[];if(O)e:for(let{name:t}of O){for(let i=0;in.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function e$(O,e,t){var i;let r=t?JQ(e.actions):[];return N("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},N("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(O):e.message),(i=e.actions)===null||i===void 0?void 0:i.map((n,s)=>{let a=!1,o=u=>{if(u.preventDefault(),a)return;a=!0;let Q=mi(O.state.field(Fe).diagnostics,e);Q&&n.apply(O,Q.from,Q.to)},{name:l}=n,c=r[s]?l.indexOf(r[s]):-1,h=c<0?l:[l.slice(0,c),N("u",l.slice(c,c+1)),l.slice(c+1)],f=n.markClass?" "+n.markClass:"";return N("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:o,onmousedown:o,"aria-label":` Action: ${l}${c<0?"":` (access key "${r[s]})"`}.`},h)}),e.source&&N("div",{class:"cm-diagnosticSource"},e.source))}var ql=class extends _e{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return N("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Ss=class{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=e$(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Tr=class O{constructor(e){this.view=e,this.items=[];let t=r=>{if(r.keyCode==27)BQ(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=JQ(n.actions);for(let a=0;a{for(let n=0;nBQ(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(Fe).selected;if(!e)return-1;for(let t=0;t{for(let c of l.diagnostics){if(s.has(c))continue;s.add(c);let h=-1,f;for(let u=i;ui&&(this.items.splice(i,h-i),r=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:o})=>{let l=o.height/this.list.offsetHeight;a.topo.bottom&&(this.list.scrollTop+=(a.bottom-o.bottom)/l)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let i=e;e=i.nextSibling,i.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(Fe),i=mi(t.diagnostics,this.items[e].diagnostic);i&&this.view.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:HQ.of(i)})}static open(e){return new O(e)}};function Q0(O,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(O)}')`}function gs(O){return Q0(``,'width="6" height="3"')}var $0=T.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:gs("#d11")},".cm-lintRange-warning":{backgroundImage:gs("orange")},".cm-lintRange-info":{backgroundImage:gs("#999")},".cm-lintRange-hint":{backgroundImage:gs("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function p0(O){return O=="error"?4:O=="warning"?3:O=="info"?2:1}function m0(O){let e="hint",t=1;for(let i of O){let r=p0(i.severity);r>t&&(t=r,e=i.severity)}return e}var g0=[Fe,T.decorations.compute([Fe],O=>{let{selected:e,panel:t}=O.field(Fe);return!e||!t||e.from==e.to?Y.none:Y.set([c0.range(e.from,e.to)])}),zd(h0,{hideOn:o0}),$0];var t$=[jd(),Cd(),_d(),zu(),mu(),wd(),Yd(),I.allowMultipleSelections.of(!0),cu(),Nn(Pu,{fallback:!0}),bu(),EQ(),IQ(),Vd(),qd(),Rd(),XQ(),Xt.of([...MQ,...uQ,...kQ,...Cu,...Qu,...Vl,...KQ])];var P0="#e5c07b",O$="#e06c75",S0="#56b6c2",X0="#ffffff",Xs="#abb2bf",Wl="#7d8799",T0="#61afef",b0="#98c379",i$="#d19a66",y0="#c678dd",x0="#21252b",r$="#2c313a",n$="#282c34",Ul="#353a42",k0="#3E4451",s$="#528bff";var w0=T.theme({"&":{color:Xs,backgroundColor:n$},".cm-content":{caretColor:s$},".cm-cursor, .cm-dropCursor":{borderLeftColor:s$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:k0},".cm-panels":{backgroundColor:x0,color:Xs},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:n$,color:Wl,border:"none"},".cm-activeLineGutter":{backgroundColor:r$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ul},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ul,borderBottomColor:Ul},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:r$,color:Xs}}},{dark:!0}),Z0=ci.define([{tag:d.keyword,color:y0},{tag:[d.name,d.deleted,d.character,d.propertyName,d.macroName],color:O$},{tag:[d.function(d.variableName),d.labelName],color:T0},{tag:[d.color,d.constant(d.name),d.standard(d.name)],color:i$},{tag:[d.definition(d.name),d.separator],color:Xs},{tag:[d.typeName,d.className,d.number,d.changed,d.annotation,d.modifier,d.self,d.namespace],color:P0},{tag:[d.operator,d.operatorKeyword,d.url,d.escape,d.regexp,d.link,d.special(d.string)],color:S0},{tag:[d.meta,d.comment],color:Wl},{tag:d.strong,fontWeight:"bold"},{tag:d.emphasis,fontStyle:"italic"},{tag:d.strikethrough,textDecoration:"line-through"},{tag:d.link,color:Wl,textDecoration:"underline"},{tag:d.heading,fontWeight:"bold",color:O$},{tag:[d.atom,d.bool,d.special(d.variableName)],color:i$},{tag:[d.processingInstruction,d.string,d.inserted],color:b0},{tag:d.invalid,color:X0}]),a$=[w0,Nn(Z0)];var Gl=class O{constructor(e,t,i,r,n,s,a,o,l,c=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=r,this.pos=n,this.score=s,this.buffer=a,this.bufferBase=o,this.curContext=l,this.lookAhead=c,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let r=e.parser.context;return new O(e,[],t,i,i,0,[],0,r?new Ts(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,r=e&65535,{parser:n}=this.p,s=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[r])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(r,l)}storeNode(e,t,i,r=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(t==i)return;if(s.buffer[a-2]>=t){s.buffer[a-2]=i;return}}}if(!n||this.pos==i)this.buffer.push(e,t,i,r);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let a=!1;for(let o=s;o>0&&this.buffer[o-2]>i;o-=4)if(this.buffer[o-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,r>4&&(r-=4)}this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=r}}shift(e,t,i,r){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let n=e,{parser:s}=this.p;(r>this.pos||t<=s.maxNode)&&(this.pos=r,s.stateFlag(n,1)||(this.reducePos=r)),this.pushState(n,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,r,4)}else this.pos=r,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,r,4)}apply(e,t,i,r){e&65536?this.reduce(e):this.shift(e,t,i,r)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(i,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new O(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,r,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new El(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(i==0)return!1;if((i&65536)==0)return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let r=[];for(let n=0,s;no&1&&a==s)||r.push(t[n],s)}t=r}let i=[];for(let r=0;r>19,r=t&65535,n=this.stack.length-i*3;if(n<0||e.getGoto(this.stack[n],r,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(r,n)=>{if(!t.includes(r))return t.push(r),e.allActions(r,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-n;if(a>1){let o=s&65535,l=this.stack.length-a*3;if(l>=0&&e.getGoto(this.stack[l],o,!1)>=0)return a<<19|65536|o}}else{let a=i(s,n+1);if(a!=null)return a}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},Ts=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},El=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,i=e>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},Al=class O{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new O(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new O(this.stack,this.pos,this.index)}};function br(O,e=Uint16Array){if(typeof O!="string")return O;let t=null;for(let i=0,r=0;i=92&&s--,s>=34&&s--;let o=s-32;if(o>=46&&(o-=46,a=!0),n+=o,a)break;n*=46}t?t[r++]=n:t=new e(n)}return t}var gi=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},o$=new gi,Ll=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=o$,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,r=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(r==this.ranges.length-1)return null;let s=this.ranges[++r];n+=s.from-i.to,i=s}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,i,r;if(t>=0&&t=this.chunk2Pos&&ia.to&&(this.chunk2=this.chunk2.slice(0,a.to-i)),r=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),r}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(i==null||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=o$,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(i+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return i}},hO=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;d$(this.data,e,t,this.id,i.data,i.tokenPrecTable)}};hO.prototype.contextual=hO.prototype.fallback=hO.prototype.extend=!1;var kt=class{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data=typeof e=="string"?br(e):e}token(e,t){let i=e.pos,r=0;for(;;){let n=e.next<0,s=e.resolveOffset(1,1);if(d$(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,s==null)break;e.reset(s,e.token)}r&&(e.reset(i,e.token),e.acceptToken(this.elseToken,r))}};kt.prototype.contextual=hO.prototype.fallback=hO.prototype.extend=!1;var z=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function d$(O,e,t,i,r,n){let s=0,a=1<0){let Q=O[u];if(o.allows(Q)&&(e.token.value==-1||e.token.value==Q||Y0(Q,e.token.value,r,n))){e.acceptToken(Q);break}}let c=e.next,h=0,f=O[s+2];if(e.next<0&&f>h&&O[l+f*3-3]==65535){s=O[l+f*3-1];continue e}for(;h>1,Q=l+u+(u<<1),$=O[Q],p=O[Q+1]||65536;if(c<$)f=u;else if(c>=p)h=u+1;else{s=O[Q+2],e.advance();continue e}}break}}function l$(O,e,t){for(let i=e,r;(r=O[i])!=65535;i++)if(r==t)return i-e;return-1}function Y0(O,e,t,i){let r=l$(t,i,e);return r<0||l$(t,i,O)e)&&!i.type.isError)return t<0?Math.max(0,Math.min(i.to-1,e-25)):Math.min(O.length,Math.max(i.from+1,e+25));if(t<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return t<0?0:O.length}}var Ml=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?c$(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?c$(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=s,null;if(n instanceof D){if(s==e){if(s=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+n.length}}},Dl=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(i=>new gi)}getActions(e){let t=0,i=null,{parser:r}=e.p,{tokenizers:n}=r,s=r.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,o=0;for(let l=0;lh.end+25&&(o=Math.max(h.lookAhead,o)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!c.extend&&(i=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),!i&&e.pos==this.stream.end&&(i=new gi,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new gi,{pos:i,p:r}=e;return t.start=i,t.end=Math.min(i+1,r.stream.end),t.value=i==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,i){let r=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(r,e),i),e.value>-1){let{parser:n}=i.p;for(let s=0;s=0&&i.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,i,r){for(let n=0;ne.bufferLength*4?new Ml(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,i=this.stacks=[],r,n;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;st)i.push(a);else{if(this.advanceStack(a,i,e))continue;{r||(r=[],n=[]),r.push(a);let o=this.tokens.getMainToken(a);n.push(o.value,o.end)}}break}}if(!i.length){let s=r&&_0(r);if(s)return He&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw He&&r&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let s=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,n,i);if(s)return He&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(i.length>s)for(i.sort((a,o)=>o.score-a.score);i.length>s;)i.pop();i.some(a=>a.reducePos>t)&&this.recovering--}else if(i.length>1){e:for(let s=0;s500&&l.buffer.length>500)if((a.score-l.score||a.buffer.length-l.buffer.length)>0)i.splice(o--,1);else{i.splice(s--,1);continue e}}}i.length>12&&(i.sort((s,a)=>a.score-s.score),i.splice(12,i.length-12))}this.minStackPos=i[0].pos;for(let s=1;s ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,c=l?e.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?n.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!l||(h.prop(R.contextHash)||0)==c))return e.useNode(h,f),He&&console.log(s+this.stackID(e)+` (via reuse of ${n.getName(h.type.id)})`),!0;if(!(h instanceof D)||h.children.length==0||h.positions[0]>0)break;let u=h.children[0];if(u instanceof D&&h.positions[0]==0)h=u;else break}}let a=n.stateSlot(e.state,4);if(a>0)return e.reduce(a),He&&console.log(s+this.stackID(e)+` (via always-reduce ${n.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let o=this.tokens.getActions(e);for(let l=0;lr?t.push(Q):i.push(Q)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return h$(e,t),!0}}runRecovery(e,t,i){let r=null,n=!1;for(let s=0;s ":"";if(a.deadEnd&&(n||(n=!0,a.restart(),He&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,i))))continue;let h=a.split(),f=c;for(let u=0;u<10&&h.forceReduce()&&(He&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,i));u++)He&&(f=this.stackID(h)+" -> ");for(let u of a.recoverByInsert(o))He&&console.log(c+this.stackID(u)+" (via recover-insert)"),this.advanceFully(u,i);this.stream.end>a.pos?(l==a.pos&&(l++,o=0),a.recoverByDelete(o,l),He&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(o)})`),h$(a,i)):(!r||r.scoreO,Ge=class{constructor(e){this.start=e.start,this.shift=e.shift||Cl,this.reduce=e.reduce||Cl,this.reuse=e.reuse||Cl,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},Oe=class O extends eO{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),r=[];for(let a=0;a=0)n(c,o,a[l++]);else{let h=a[l+-c];for(let f=-c;f>0;f--)n(a[l++],o,h);l++}}}this.nodeSet=new Kt(t.map((a,o)=>ue.define({name:o>=this.minRepeatTerm?void 0:a,id:o,props:r[o],top:i.indexOf(o)>-1,error:o==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(o)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=br(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new hO(s,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let r=new Il(this,e,t,i);for(let n of this.wrappers)r=n(r,e,t,i);return r}getGoto(e,t,i=!1){let r=this.goto;if(t>=r[0])return-1;for(let n=r[t+1];;){let s=r[n++],a=s&1,o=r[n++];if(a&&i)return o;for(let l=n+(s>>1);n0}validAction(e,t){return!!this.allActions(e,i=>i==t?!0:null)}allActions(e,t){let i=this.stateSlot(e,4),r=i?t(i):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=Ut(this.data,n+2);else break;r=t(Ut(this.data,n+1))}return r}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=Ut(this.data,i+2);else break;if((this.data[i+2]&1)==0){let r=this.data[i+1];t.some((n,s)=>s&1&&n==r)||t.push(this.data[i],r)}}return t}configure(e){let t=Object.assign(Object.create(O.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(i=>{let r=e.tokenizers.find(n=>n.from==i);return r?r.to:i})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,r)=>{let n=e.specializers.find(a=>a.from==i.external);if(!n)return i;let s=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[r]=f$(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let s=t.indexOf(n);s>=0&&(i[s]=!0)}let r=null;for(let n=0;ni)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scoreO.external(t,i)<<1|e}return O.get}var u$=1,R0=2,V0=3,q0=82,z0=76,U0=117,W0=85,j0=97,C0=122,G0=65,E0=90,A0=95,Nl=48,Q$=34,L0=40,$$=41,M0=32,p$=62,D0=new z(O=>{if(O.next==z0||O.next==W0?O.advance():O.next==U0&&(O.advance(),O.next==Nl+8&&O.advance()),O.next!=q0||(O.advance(),O.next!=Q$))return;O.advance();let e="";for(;O.next!=L0;){if(O.next==M0||O.next<=13||O.next==$$)return;e+=String.fromCharCode(O.next),O.advance()}for(O.advance();;){if(O.next<0)return O.acceptToken(u$);if(O.next==$$){let t=!0;for(let i=0;t&&i{if(O.next==p$)O.peek(1)==p$&&O.acceptToken(R0,1);else{let e=!1,t=0;for(;;t++){if(O.next>=G0&&O.next<=E0)e=!0;else{if(O.next>=j0&&O.next<=C0)return;if(O.next!=A0&&!(O.next>=Nl&&O.next<=Nl+9))break}O.advance()}e&&t>1&&O.acceptToken(V0)}},{extend:!0}),B0=F({"typedef struct union enum class typename decltype auto template operator friend noexcept namespace using requires concept import export module __attribute__ __declspec __based":d.definitionKeyword,"extern MsCallModifier MsPointerModifier extern static register thread_local inline const volatile restrict _Atomic mutable constexpr constinit consteval virtual explicit VirtualSpecifier Access":d.modifier,"if else switch for while do case default return break continue goto throw try catch":d.controlKeyword,"co_return co_yield co_await":d.controlKeyword,"new sizeof delete static_assert":d.operatorKeyword,"NULL nullptr":d.null,this:d.self,"True False":d.bool,"TypeSize PrimitiveType":d.standard(d.typeName),TypeIdentifier:d.typeName,FieldIdentifier:d.propertyName,"CallExpression/FieldExpression/FieldIdentifier":d.function(d.propertyName),"ModuleName/Identifier":d.namespace,PartitionName:d.labelName,StatementIdentifier:d.labelName,"Identifier DestructorName":d.variableName,"CallExpression/Identifier":d.function(d.variableName),"CallExpression/ScopedIdentifier/Identifier":d.function(d.variableName),"FunctionDeclarator/Identifier FunctionDeclarator/DestructorName":d.function(d.definition(d.variableName)),NamespaceIdentifier:d.namespace,OperatorName:d.operator,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,LineComment:d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,"RawString SystemLibString":d.special(d.string),CharLiteral:d.character,EscapeSequence:d.escape,"UserDefinedLiteral/Identifier":d.literal,PreProcArg:d.meta,"PreprocDirectiveName #include #ifdef #ifndef #if #define #else #endif #elif":d.processingInstruction,MacroName:d.special(d.name),"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"< >":d.angleBracket,". ->":d.derefOperator,", ;":d.separator}),N0={__proto__:null,bool:36,char:36,int:36,float:36,double:36,void:36,size_t:36,ssize_t:36,intptr_t:36,uintptr_t:36,charptr_t:36,int8_t:36,int16_t:36,int32_t:36,int64_t:36,uint8_t:36,uint16_t:36,uint32_t:36,uint64_t:36,char8_t:36,char16_t:36,char32_t:36,char64_t:36,const:70,volatile:72,restrict:74,_Atomic:76,mutable:78,constexpr:80,constinit:82,consteval:84,struct:88,__declspec:92,final:148,override:148,public:152,private:152,protected:152,virtual:154,extern:160,static:162,register:164,inline:166,thread_local:168,__attribute__:172,__based:178,__restrict:180,__uptr:180,__sptr:180,_unaligned:180,__unaligned:180,noexcept:194,requires:198,TRUE:786,true:786,FALSE:788,false:788,typename:218,class:220,template:234,throw:248,__cdecl:256,__clrcall:256,__stdcall:256,__fastcall:256,__thiscall:256,__vectorcall:256,try:260,catch:264,export:282,import:286,case:296,default:298,if:308,else:314,switch:318,do:322,while:324,for:330,return:334,break:338,continue:342,goto:346,co_return:350,co_yield:354,using:362,typedef:366,namespace:380,new:398,delete:400,co_await:402,concept:406,enum:410,static_assert:414,friend:422,union:424,explicit:430,operator:444,module:456,signed:518,unsigned:518,long:518,short:518,decltype:528,auto:530,sizeof:566,NULL:572,nullptr:586,this:588},F0={__proto__:null,"<":755},H0={__proto__:null,">":135},K0={__proto__:null,operator:388,new:576,delete:582},m$=Oe.deserialize({version:14,states:"$;SQ!QQVOOP'gOUOOO(XOWO'#CdO,RQUO'#CgO,]QUO'#FjO-sQbO'#CxO.UQUO'#CxO0TQUO'#KZO0[QUO'#CwO0gOpO'#DvO0oQ!dO'#D]OOQR'#JO'#JOO5XQVO'#GUO5fQUO'#JVOOQQ'#JV'#JVO8zQUO'#KnO{QVO'#E^O?]QUO'#E^OOQQ'#Ed'#EdOOQQ'#Ee'#EeO?bQVO'#EfO@XQVO'#EiOBUQUO'#FPOBvQUO'#FhOOQR'#Fj'#FjOB{QUO'#FjOOQR'#LR'#LROOQR'#LQ'#LQOETQVO'#KQOFxQUO'#LWOGVQUO'#KrOGkQUO'#LWOH]QUO'#LYOOQR'#HU'#HUOOQR'#HV'#HVOOQR'#HW'#HWOOQR'#K}'#K}OOQR'#J_'#J_Q!QQVOOOHkQVO'#FOOIWQUO'#EhOI_QUOOOKZQVO'#HgOKkQUO'#HgONVQUO'#KrONaQUO'#KrOOQQ'#Kr'#KrO!!_QUO'#KrOOQQ'#Jq'#JqO!!lQUO'#HxOOQQ'#KZ'#KZO!&^QUO'#KZO!&zQUO'#KQO!(zQVO'#I]O!(zQVO'#I`OCQQUO'#KQOOQQ'#Ip'#IpOOQQ'#KQ'#KQO!,}QUO'#KZOOQR'#KY'#KYO!-UQUO'#DZO!/mQUO'#KoOOQQ'#Ko'#KoO!/tQUO'#KoO!/{QUO'#ETO!0QQUO'#EWO!0VQUO'#FRO8zQUO'#FPO!QQVO'#F^O!0[Q#vO'#F`O!0gQUO'#FkO!0oQUO'#FpO!0tQVO'#FrO!0oQUO'#FuO!3sQUO'#FvO!3xQVO'#FxO!4SQUO'#FzO!4XQUO'#F|O!4^QUO'#GOO!4cQVO'#GQO!(zQVO'#GSO!4jQUO'#GpO!4xQUO'#GYO!(zQVO'#FeO!6VQUO'#FeO!6[QVO'#G`O!6cQUO'#GaO!6nQUO'#GnO!6sQUO'#GrO!6xQUO'#GzO!7jQ&lO'#HiO!:mQUO'#GuO!:}QUO'#HXO!;YQUO'#HZO!;bQUO'#DXO!;bQUO'#HuO!;bQUO'#HvO!;yQUO'#HwO!<[QUO'#H|O!=PQUO'#H}O!>uQVO'#IbO!(zQVO'#IdO!?PQUO'#IgO!?WQVO'#IjP!@}{,UO'#CbP!6n{,UO'#CbP!AY{7[O'#CbP!6n{,UO'#CbP!A_{,UO'#CbP!AjOSO'#IzPOOO)CEn)CEnOOOO'#I|'#I|O!AtOWO,59OOOQR,59O,59OO!(zQVO,59VOOQQ,59X,59XOOQR'#Do'#DoO!(zQVO,5;ROOQR,5qOOQR'#IX'#IXOOQR'#IY'#IYOOQR'#IZ'#IZOOQR'#I['#I[O!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!(zQVO,5>rO!DOQVO,5>zOOQQ,5?W,5?WO!EqQVO'#CjO!IjQUO'#CzOOQQ,59d,59dOOQQ,59c,59cOOQQ,5<},5<}O!IwQ&lO,5=mO!?PQUO,5?RO!LkQVO,5?UO!LrQbO,59dO!L}QVO'#FYOOQQ,5?P,5?PO!M_QVO,59WO!MfO`O,5:bO!MkQbO'#D^O!M|QbO'#K_O!N[QbO,59wO!NdQbO'#CxO!NuQUO'#CxO!NzQUO'#KZO# UQUO'#CwOOQR-E<|-E<|O# aQUO,5ApO# hQVO'#EfO@XQVO'#EiOBUQUO,5;kOOQR,5l,5>lO#3gQUO'#CgO#4]QUO,5>pO#6OQUO'#IeOOQR'#I}'#I}O#6WQUO,5:xO#6tQUO,5:xO#7eQUO,5:xO#8YQUO'#CuO!0QQUO'#CmOOQQ'#JW'#JWO#6tQUO,5:xO#8bQUO,5;QO!4xQUO'#DOO#9kQUO,5;QO#9pQUO,5>QO#:|QUO'#DOO#;dQUO,5>{O#;iQUO'#KxO#}QUO'#L]O#?UQUO,5>UO#?ZQbO'#CxO#?fQUO'#GcO#?kQUO'#E^O#@[QUO,5;kO#@sQUO'#LOO#@{QUO,5;rOKkQUO'#HfOBUQUO'#HgO#AQQUO'#KrO!6nQUO'#HjO#AxQUO'#CuO!0tQVO,5PO$(WQUO'#E[O$(eQUO,5>ROOQQ,5>S,5>SO$,RQVO'#C|OOQQ-E=o-E=oOOQQ,5>d,5>dOOQQ,59a,59aO$,]QUO,5>wO$.]QUO,5>zO!6nQUO,59uO$.pQUO,5;qO$.}QUO,5<{O!0QQUO,5:oOOQQ,5:r,5:rO$/YQUO,5;mO$/_QUO'#KnOBUQUO,5;kOOQR,5;x,5;xO$0OQUO'#FbO$0^QUO'#FbO$0cQUO,5;zO$3|QVO'#FmO!0tQVO,5eQUO,5pQUO,5=[O$>uQUO,5=[O!4xQUO,5}QUO,5uQUO,5<{O$DQQUO,5<{O$D]QUO,5=YO!(zQVO,5=^O!(zQVO,5=fO#NeQUO,5=mOOQQ,5>T,5>TO$FbQUO,5>TO$FlQUO,5>TO$FqQUO,5>TO$FvQUO,5>TO!6nQUO,5>TO$HtQUO'#KZO$H{QUO,5=oO$IWQUO,5=aOKkQUO,5=oO$JQQUO,5=sOOQR,5=s,5=sO$JYQUO,5=sO$LeQVO'#H[OOQQ,5=u,5=uO!;]QUO,5=uO%#`QUO'#KkO%#gQUO'#K[O%#{QUO'#KkO%$VQUO'#DyO%$hQUO'#D|O%'eQUO'#K[OOQQ'#K['#K[O%)WQUO'#K[O%#gQUO'#K[O%)]QUO'#K[OOQQ,59s,59sOOQQ,5>a,5>aOOQQ,5>b,5>bO%)eQUO'#HzO%)mQUO,5>cOOQQ,5>c,5>cO%-XQUO,5>cO%-dQUO,5>hO%1OQVO,5>iO%1VQUO,5>|O# hQVO'#EfO%4]QUO,5>|OOQQ,5>|,5>|O%4|QUO,5?OO%7QQUO,5?RO!<[QUO,5?RO%8|QUO,5?UO%sQUO1G0mOOQQ1G0m1G0mO%@PQUO'#CpO%B`QbO'#CxO%BkQUO'#CsO%BpQUO'#CsO%BuQUO1G.uO#AxQUO'#CrOOQQ1G.u1G.uO%DxQUO1G4]O%FOQUO1G4^O%GqQUO1G4^O%IdQUO1G4^O%KVQUO1G4^O%LxQUO1G4^O%NkQUO1G4^O&!^QUO1G4^O&$PQUO1G4^O&%rQUO1G4^O&'eQUO1G4^O&)WQUO1G4^O&*yQUO'#KPO&,SQUO'#KPO&,[QUO,59UOOQQ,5=P,5=PO&.dQUO,5=PO&.nQUO,5=PO&.sQUO,5=PO&.xQUO,5=PO!6nQUO,5=PO#NeQUO1G3XO&/SQUO1G4mO!<[QUO1G4mO&1OQUO1G4pO&2qQVO1G4pOOQQ1G/O1G/OOOQQ1G.}1G.}OOQQ1G2i1G2iO!IwQ&lO1G3XO&2xQUO'#LPO@XQVO'#EiO&4RQUO'#F]OOQQ'#Ja'#JaO&4WQUO'#FZO&4cQUO'#LPO&4kQUO,5;tO&4pQUO1G.rOOQQ1G.r1G.rOOQR1G/|1G/|O&6cQ!dO'#JPO&6hQbO,59xO&8yQ!eO'#D`O&9QQ!dO'#JRO&9VQbO,5@yO&9VQbO,5@yOOQR1G/c1G/cO&9bQbO1G/cO&9gQ&lO'#GeO&:eQbO,59dOOQR1G7[1G7[O#@[QUO1G1VO&:pQUO1G1^OBUQUO1G1VO&=RQUO'#CzO#*wQbO,59dO&@tQUO1G6tOOQR-E<{-E<{O&BWQUO1G0dO#6WQUO1G0dOOQQ-E=U-E=UO#6tQUO1G0dOOQQ1G0l1G0lO&B{QUO,59jOOQQ1G3l1G3lO&CcQUO,59jO&CyQUO,59jO!M_QVO1G4gO!(zQVO'#JYO&DeQUO,5AdOOQQ1G0o1G0oO!(zQVO1G0oO!6nQUO'#JnO&DmQUO,5AwOOQQ1G3p1G3pOOQR1G1V1G1VO&HjQVO'#FOO!M_QVO,5;sOOQQ,5;s,5;sOBUQUO'#JcO&JfQUO,5AjO&JnQVO'#E[OOQR1G1^1G1^O&M]QUO'#L]OOQR1G1n1G1nOOQR-E=f-E=fOOQR1G7^1G7^O#DhQUO1G7^OGVQUO1G7^O#DhQUO1G7`OOQR1G7`1G7`O&MeQUO'#G}O&MmQUO'#LXOOQQ,5=h,5=hO&M{QUO,5=jO&NQQUO,5=kOOQR1G7a1G7aO#EfQVO1G7aO&NVQUO1G7aO' ]QVO,5=kOOQR1G1U1G1UO$.vQUO'#E]O'!RQUO'#E]OOQQ'#Kz'#KzO'!lQUO'#KyO'!wQUO,5;UO'#PQUO'#ElO'#dQUO'#ElO'#wQUO'#EtOOQQ'#J['#J[O'#|QUO,5;cO'$sQUO,5;cO'%nQUO,5;dO'&tQVO,5;dOOQQ,5;d,5;dO''OQVO,5;dO'&tQVO,5;dO''VQUO,5;bO'(SQUO,5;eO'(_QUO'#KqO'(gQUO,5:vO'(lQUO,5;fOOQQ1G0n1G0nOOQQ'#J]'#J]O''VQUO,5;bO!4xQUO'#E}OOQQ,5;b,5;bO')gQUO'#E`O'+aQUO'#E{OHrQUO1G0nO'+fQUO'#EbOOQQ'#JX'#JXO'-OQUO'#KsOOQQ'#Ks'#KsO'-xQUO1G0eO'.pQUO1G3kO'/vQVO1G3kOOQQ1G3k1G3kO'0QQVO1G3kO'0XQUO'#L`O'1eQUO'#KXO'1sQUO'#KWO'2OQUO,59hO'2WQUO1G/aO'2]QUO'#FPOOQR1G1]1G1]OOQR1G2g1G2gO$>uQUO1G2gO'2gQUO1G2gO'2rQUO1G0ZOOQR'#J`'#J`O'2wQVO1G1XO'8pQUO'#FTO'8uQUO1G1VO!6nQUO'#JdO'9TQUO,5;|O$0^QUO,5;|OOQQ'#Fc'#FcOOQQ,5;|,5;|O'9cQUO1G1fOOQR1G1f1G1fO'9kQUO,5}QUO1G2`OOQQ'#Cv'#CvO'CzQUO'#G[O'DuQUO'#G[O'DzQUO'#LSO'EYQUO'#G_OOQQ'#LT'#LTO'EhQUO1G2`O'EmQVO1G1kO'HOQVO'#GUOBUQUO'#FWOOQR'#Je'#JeO'EmQVO1G1kO'HYQUO'#FvOOQR1G2f1G2fO'H_QUO1G2gO'HdQUO'#JgO'2gQUO1G2gO!(zQVO1G2tO'HlQUO1G2xO'IuQUO1G3QO'J{QUO1G3XOOQQ1G3o1G3oO'KaQUO1G3oOOQR1G3Z1G3ZO'KfQUO'#KZO'2]QUO'#LUOGkQUO'#LWOOQR'#Gy'#GyO#DhQUO'#LYOOQR'#HQ'#HQO'KpQUO'#GvO'#wQUO'#GuOOQR1G2{1G2{O'LmQUO1G2{O'MdQUO1G3ZO'MoQUO1G3_O'MtQUO1G3_OOQR1G3_1G3_O'M|QUO'#H]OOQR'#H]'#H]O( VQUO'#H]O!(zQVO'#H`O!(zQVO'#H_OOQR'#L['#L[O( [QUO'#L[OOQR'#Jk'#JkO( aQVO,5=vOOQQ,5=v,5=vO( hQUO'#H^O( pQUO'#HZOOQQ1G3a1G3aO( zQUO,5@vOOQQ,5@v,5@vO%)WQUO,5@vO%)]QUO,5@vO%$VQUO,5:eO(%iQUO'#KlO(%wQUO'#KlOOQQ,5:e,5:eOOQQ'#JS'#JSO(&SQUO'#D}O(&^QUO'#KrOGkQUO'#LWO('YQUO'#D}OOQQ'#Hp'#HpOOQQ'#Hr'#HrOOQQ'#Hs'#HsOOQQ'#Km'#KmOOQQ'#JU'#JUO('dQUO,5:hOOQQ,5:h,5:hO((aQUO'#LWO((nQUO'#HtO()UQUO,5@vO()]QUO'#H{O()hQUO'#L_O()pQUO,5>fO()uQUO'#L^OOQQ1G3}1G3}O(-lQUO1G3}O(-sQUO1G3}O(-zQUO1G4TO(/QQUO1G4TO(/VQUO,5A}O!6nQUO1G4hO!(zQVO'#IiOOQQ1G4m1G4mO(/[QUO1G4mO(1_QVO1G4pPOOO1G.h1G.hP!A_{,UO1G.hP(3_QUO'#LfP(3j{,UO1G.hP(3o{7[O1G.hPO{O-E=s-E=sPOOO,5BO,5BOP(3w{,UO,5BOPOOO1G5Q1G5QO!(zQVO7+$]O(3|QUO'#CzOOQQ,59_,59_O(4XQbO,59dO(4dQbO,59_OOQQ,59^,59^OOQQ7+)w7+)wO!M_QVO'#JtO(4oQUO,5@kOOQQ1G.p1G.pOOQQ1G2k1G2kO(4wQUO1G2kO(4|QUO7+(sOOQQ7+*X7+*XO(7bQUO7+*XO(7iQUO7+*XO(1_QVO7+*[O#NeQUO7+(sO(7vQVO'#JbO(8ZQUO,5AkO(8cQUO,5;vOOQQ'#Cp'#CpOOQQ,5;w,5;wO!(zQVO'#F[OOQQ-E=_-E=_O!M_QVO,5;uOOQQ1G1`1G1`OOQQ,5?k,5?kOOQQ-E<}-E<}OOQR'#Dg'#DgOOQR'#Di'#DiOOQR'#Dl'#DlO(9lQ!eO'#K`O(9sQMkO'#K`O(9zQ!eO'#K`OOQR'#K`'#K`OOQR'#JQ'#JQO(:RQ!eO,59zOOQQ,59z,59zO(:YQbO,5?mOOQQ-E=P-E=PO(:hQbO1G6eOOQR7+$}7+$}OOQR7+&q7+&qOOQR7+&x7+&xO'8uQUO7+&qO(:sQUO7+&OO#6WQUO7+&OO(;hQUO1G/UO(]QUO,5?tOOQQ-E=W-E=WO(?fQUO7+&ZOOQQ,5@Y,5@YOOQQ-E=l-E=lO(?kQUO'#LPO@XQVO'#EiO(@wQUO1G1_OOQQ1G1_1G1_O(BQQUO,5?}OOQQ,5?},5?}OOQQ-E=a-E=aO(BfQUO'#KqOOQR7+,x7+,xO#DhQUO7+,xOOQR7+,z7+,zO(BsQUO,5=iO#DsQUO'#JjO(CUQUO,5AsOOQR1G3U1G3UOOQR1G3V1G3VO(CdQUO7+,{OOQR7+,{7+,{O(E[QUO,5:wO(FyQUO'#EwO!(zQVO,5;VO(GlQUO,5:wO(GvQUO'#EpO(HXQUO'#EzOOQQ,5;Z,5;ZO#K]QVO'#ExO(HoQUO,5:wO(HvQUO'#EyO#GgQUO'#JZO(J`QUO,5AeOOQQ1G0p1G0pO(JkQUO,5;WO!<[QUO,5;^O(KUQUO,5;_O(KdQUO,5;WO(MvQUO,5;`OOQQ-E=Y-E=YO(NOQUO1G0}OOQQ1G1O1G1OO(NyQUO1G1OO)!PQVO1G1OO)!WQVO1G1OO)!bQUO1G0|OOQQ1G0|1G0|OOQQ1G1P1G1PO)#_QUO'#JoO)#iQUO,5A]OOQQ1G0b1G0bOOQQ-E=Z-E=ZO)#qQUO,5;iO!<[QUO,5;iO)$nQVO,5:zO)$uQUO,5;gO$ mQUO7+&YOOQQ7+&Y7+&YO!(zQVO'#EfO)$|QUO,5:|OOQQ'#Kt'#KtOOQQ-E=V-E=VOOQQ,5A_,5A_OOQQ'#Jl'#JlO)(qQUO7+&PPOQQ7+&P7+&POOQQ7+)V7+)VO))iQUO7+)VO)*oQVO7+)VOOQQ,5>m,5>mO$)YQVO'#JsO)*vQUO,5@rOOQQ1G/S1G/SOOQQ7+${7+${O)+RQUO7+(RO)+WQUO7+(ROOQR7+(R7+(RO$>uQUO7+(ROOQQ7+%u7+%uOOQR-E=^-E=^O!0VQUO,5;oOOQQ,5@O,5@OOOQQ-E=b-E=bO$0^QUO1G1hOOQQ1G1h1G1hOOQR7+'Q7+'QOOQR1G1s1G1sOBUQUO,5;rO)+tQUO,5hQUO,5}QUO7+(dO)?SQVO7+(dOOQQ7+(l7+(lOOQQ7+)Z7+)ZO)?[QUO'#KkO)?fQUO'#KkOOQR,5=b,5=bO)?sQUO,5=bO!;bQUO,5=bO!;bQUO,5=bO!;bQUO,5=bOOQR7+(g7+(gOOQR7+(u7+(uOOQR7+(y7+(yOOQR,5=w,5=wO)?xQUO,5=zO)AOQUO,5=yOOQR,5Av,5AvOOQR-E=i-E=iOOQQ1G3b1G3bO)BUQUO,5=xO)BZQVO'#EfOOQQ1G6b1G6bO%)WQUO1G6bO%)]QUO1G6bOOQQ1G0P1G0POOQQ-E=Q-E=QO)DrQUO,5AWO(%iQUO'#JTO)D}QUO,5AWO)D}QUO,5AWO)EVQUO,5:iO8zQUO,5:iOOQQ,5>],5>]O)EaQUO,5ArO)EhQUO'#EVO)FrQUO'#EVO)G]QUO,5:iO)GgQUO'#HlO)GgQUO'#HmOOQQ'#Kp'#KpO)HUQUO'#KpO!(zQVO'#HnOOQQ,5:i,5:iO)HvQUO,5:iO!M_QVO,5:iOOQQ-E=S-E=SOOQQ1G0S1G0SOOQQ,5>`,5>`O)H{QUO1G6bO!(zQVO,5>gO)LjQUO'#JrO)LuQUO,5AyOOQQ1G4Q1G4QO)L}QUO,5AxOOQQ,5Ax,5AxOOQQ7+)i7+)iO*!lQUO7+)iOOQQ7+)o7+)oO*'kQVO1G7iO*)mQUO7+*SO*)rQUO,5?TO**xQUO7+*[POOO7+$S7+$SP*,kQUO'#LgP*,sQUO,5BQP*,x{,UO7+$SPOOO1G7j1G7jO*,}QUO<XQUO7+&jO*?_QVO7+&jOOQQ7+&h7+&hOOQQ,5@Z,5@ZOOQQ-E=m-E=mO*@ZQUO1G1TO*@eQUO1G1TO*AOQUO1G0fOOQQ1G0f1G0fO*BUQUO'#K|O*B^QUO1G1ROOQQ<uQUO<VO)GgQUO'#JpO*NQQUO1G0TO*NcQVO1G0TOOQQ1G3u1G3uO*NjQUO,5>WO*NuQUO,5>XO+ dQUO,5>YO+!jQUO1G0TO%)]QUO7++|O+#pQUO1G4ROOQQ,5@^,5@^OOQQ-E=p-E=pOOQQ<n,5>nO+/iQUOANAXOOQRANAXANAXO+/nQUO7+'`OOQRAN@cAN@cO+0zQVOAN@nO+1RQUOAN@nO!0tQVOAN@nO+2[QUOAN@nO+2aQUOAN@}O+2lQUOAN@}O+3rQUOAN@}OOQRAN@nAN@nO!M_QVOAN@}OOQRANAOANAOO+3wQUO7+'|O)7VQUO7+'|OOQQ7+(O7+(OO+4YQUO7+(OO+5`QVO7+(OO+5gQVO7+'hO+5nQUOANAjOOQR7+(h7+(hOOQR7+)P7+)PO+5sQUO7+)PO+5xQUO7+)POOQQ<= h<= hO+6QQUO7+,^O+6YQUO1G5ZOOQQ1G5Z1G5ZO+6eQUO7+%oOOQQ7+%o7+%oO+6vQUO7+%oO*NcQVO7+%oOOQQ7+)a7+)aO+6{QUO7+%oO+8RQUO7+%oO!M_QVO7+%oO+8]QUO1G0]O*LkQUO1G0]O)EhQUO1G0]OOQQ1G0a1G0aO+8zQUO1G3qO+:QQVO1G3qOOQQ1G3q1G3qO+:[QVO1G3qO+:cQUO,5@[OOQQ-E=n-E=nOOQQ1G3r1G3rO%)WQUO<= hOOQQ7+*Z7+*ZPOQQ,5@b,5@bPOQQ-E=t-E=tOOQQ1G/}1G/}OOQQ,5?x,5?xOOQQ-E=[-E=[OOQRG26sG26sO+:zQUOG26YO!0tQVOG26YO+QQUO<uAN>uO+BpQUOAN>uO+CvQUOAN>uO!M_QVOAN>uO+C{QUO<nQUO'#KZO,?OQUO'#CzO,?^QbO,59dO,6VQUO7+&OO,PP>j>|?bFYMY!&^!,tP!3n!4c!5WP!5rPPPPPPPP!6]P!7uP!9W!:pP!:vPPPPPP!:yP!:yPP!:yPP!;VPPPPPP!=X!@oP!@rPP!A`!BTPPPPP!BXP>m!CjPP>m!Eq!Gr!HQ!Ig!KWP!KcP!Kr!Kr# S#$c#%y#)V#,a!Gr#,kPP!Gr#,r#,x#,k#,k#,{P#-P#-n#-n#-n#-n!KWP#.X#.j#1PP#1eP#3QP#3U#3^#4R#4^#6l#6t#6t#3UP#3UP#6{#7RP#7]PP#7x#8g#9X#7xP#9y#:VP#7xP#7xPP#7x#7xP#7xP#7xP#7xP#7xP#7xP#7xP#:Y#7]#:vP#;]P#;r#;r#;r#;r#m>m>m$%Y!BT!BT!BT!BT!BT!BT!6]!6]!6]$%mP$'Y$'h!6]$'nPP!6]$)|$*P#Bo$*S:u7k$-Y$/T$0t$2d7kPP7k$4W7kP7k7kP7kP$7^7kP7kPP7k$7jPPPPPPPPP*]P$:r$:x$=a$?g$?m$@T$@_$@j$@y$AP$B_$C^$Ce$Cl$Cr$Cz$DU$D[$Dg$Dm$Dv$EO$EZ$Ea$Ek$Eq$E{$FS$Fc$Fi$FoP$Fu$F}$GU$Gd$IQ$IW$I^$Ie$InPPPPPPPP$It$IxPPPPP%!z$)|%!}%&V%(_PP%(l%(oPPPPPPPPPP%({%*O%*U%*Y%,P%-^%.P%.W%0g%0mPPP%0w%1S%1V%1]%2d%2g%2q%2{%3P%4T%4v%4|#BxP%5g%5w%5z%6[%6h%6l%6r%6x$)|$*P$*P%6{%7OP%7Y%7]R#cP'`mO[aefwx{!W!X!g!k!n!r!s!v!x#X#Y#[#g#j#m#r#s#t#u#v#w#x#y#z#{#|$O$V$X$Z$f$g$l%^%n&R&T&X&c&g&y&z&}'P'Q'c'j'k'z(a(c(j)m)s*i*j*m*r*s*w+X+Z+i+k+l,Q,S,o,r,x-^-_-b-h.Q.R.V/O/R/]/d/m/o/t/v0i0|1R1b1c1m1q1{1}2d2g2j2v2{3O3j4P4S4X4b5Z5f5r6`6d6g6i6k6u6w6|7c7k7n8f8h8n8t8u9S9W9^9`9m9p9q9|:P:V:X:^:c:gU%pm%q7RQ&n!`Q(k#]d0Q*O/}0O0P0S5O5P5Q5T8RR7R3Ub}Oaewx{!g&T*r&v$j[!W!X!k!n!r!s!v!x#X#Y#[#g#j#m#r#s#t#u#v#w#x#y#z#{#|$O$V$X$Z$f$g$l%^%n&R&X&c&g&y&z&}'P'Q'c'j'k'z(a(c(j)m)s*i*j*m*s*w+X+Z+i+k+l,Q,S,o,r,x-^-_-b-h.Q.R.V/O/R/]/d/m/o/t/v0|1b1c1m1q1{1}2d2g2j2v2{3O3j4P4S4X4b5Z5f5r6`6d6g6i6k6u6w6|7c7k7n8f8h8n8t8u9S9W9^9`9m9p9q9|:P:V:X:^:c:gS%af0i#d%kgnp|#O$h$}%O%T%e%i%j%x&t'u'v(R*Z*a*c*u+^,m,w-`-q-x.g.n.p0^0z0{1P1T2`2k5b6h;X;Y;Z;a;b;c;p;q;r;s;w;x;y;z MacroName LineComment BlockComment PreprocDirective #include String EscapeSequence SystemLibString Identifier ) ( ArgumentList ConditionalExpression AssignmentExpression CallExpression PrimitiveType FieldExpression FieldIdentifier DestructorName TemplateMethod ScopedFieldIdentifier NamespaceIdentifier TemplateType TypeIdentifier ScopedTypeIdentifier ScopedNamespaceIdentifier :: NamespaceIdentifier TypeIdentifier TemplateArgumentList < TypeDescriptor const volatile restrict _Atomic mutable constexpr constinit consteval StructSpecifier struct MsDeclspecModifier __declspec Attribute AttributeName Identifier AttributeArgs { } [ ] UpdateOp ArithOp ArithOp ArithOp LogicOp BitOp BitOp BitOp CompareOp CompareOp CompareOp > CompareOp BitOp UpdateOp , Number CharLiteral AttributeArgs VirtualSpecifier BaseClassClause Access virtual FieldDeclarationList FieldDeclaration extern static register inline thread_local AttributeSpecifier __attribute__ PointerDeclarator MsBasedModifier __based MsPointerModifier FunctionDeclarator ParameterList ParameterDeclaration PointerDeclarator FunctionDeclarator Noexcept noexcept RequiresClause requires True False ParenthesizedExpression CommaExpression LambdaExpression LambdaCaptureSpecifier TemplateParameterList OptionalParameterDeclaration TypeParameterDeclaration typename class VariadicParameterDeclaration VariadicDeclarator ReferenceDeclarator OptionalTypeParameterDeclaration VariadicTypeParameterDeclaration TemplateTemplateParameterDeclaration template AbstractFunctionDeclarator AbstractPointerDeclarator AbstractArrayDeclarator AbstractParenthesizedDeclarator AbstractReferenceDeclarator ThrowSpecifier throw TrailingReturnType CompoundStatement FunctionDefinition MsCallModifier TryStatement try CatchClause catch LinkageSpecification Declaration InitDeclarator InitializerList InitializerPair SubscriptDesignator FieldDesignator ExportDeclaration export ImportDeclaration import ModuleName PartitionName HeaderName CaseStatement case default LabeledStatement StatementIdentifier ExpressionStatement IfStatement if ConditionClause Declaration else SwitchStatement switch DoStatement do while WhileStatement ForStatement for ReturnStatement return BreakStatement break ContinueStatement continue GotoStatement goto CoReturnStatement co_return CoYieldStatement co_yield AttributeStatement ForRangeLoop AliasDeclaration using TypeDefinition typedef PointerDeclarator FunctionDeclarator ArrayDeclarator ParenthesizedDeclarator ThrowStatement NamespaceDefinition namespace ScopedIdentifier Identifier OperatorName operator ArithOp BitOp CompareOp LogicOp new delete co_await ConceptDefinition concept UsingDeclaration enum StaticAssertDeclaration static_assert ConcatenatedString TemplateDeclaration FriendDeclaration friend union FunctionDefinition ExplicitFunctionSpecifier explicit FieldInitializerList FieldInitializer DefaultMethodClause DeleteMethodClause FunctionDefinition OperatorCast operator TemplateInstantiation FunctionDefinition FunctionDefinition Declaration ModuleDeclaration module RequiresExpression RequirementList SimpleRequirement TypeRequirement CompoundRequirement ReturnTypeRequirement ConstraintConjuction LogicOp ConstraintDisjunction LogicOp ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator TemplateFunction OperatorName StructuredBindingDeclarator ArrayDeclarator ParenthesizedDeclarator ReferenceDeclarator BitfieldClause FunctionDefinition FunctionDefinition Declaration FunctionDefinition Declaration AccessSpecifier UnionSpecifier ClassSpecifier EnumSpecifier SizedTypeSpecifier TypeSize EnumeratorList Enumerator DependentType Decltype decltype auto PlaceholderTypeSpecifier ParameterPackExpansion ParameterPackExpansion FieldIdentifier PointerExpression SubscriptExpression BinaryExpression ArithOp LogicOp LogicOp BitOp UnaryExpression LogicOp BitOp UpdateExpression CastExpression SizeofExpression sizeof CoAwaitExpression CompoundLiteralExpression NULL NewExpression new NewDeclarator DeleteExpression delete ParameterPackExpansion nullptr this UserDefinedLiteral ParamPack #define PreprocArg #if #ifdef #ifndef #else #endif #elif PreprocDirectiveName Macro Program",maxTerm:426,nodeProps:[["group",-35,1,8,11,15,16,17,19,71,72,100,101,102,104,191,208,229,242,243,270,271,272,277,280,281,282,284,285,286,287,290,292,293,294,295,296,"Expression",-13,18,25,26,27,43,255,256,257,258,262,263,265,266,"Type",-19,126,129,147,150,152,153,158,160,163,164,166,168,170,172,174,176,178,179,188,"Statement"],["isolate",-4,4,5,8,10,""],["openedBy",12,"(",52,"{",54,"["],["closedBy",13,")",51,"}",53,"]"]],propSources:[B0],skippedNodes:[0,3,4,5,6,7,10,297,298,299,300,301,302,303,304,305,306,347,348],repeatNodeCount:41,tokenData:"&*r7ZR!UOX$eXY({YZ.gZ]$e]^+P^p$epq({qr.}rs0}st2ktu$euv!7dvw!9bwx!;exy!O{|!?R|}!AV}!O!BQ!O!P!DX!P!Q#+y!Q!R#Az!R![$(x![!]$Ag!]!^$Cc!^!_$D^!_!`%1W!`!a%2X!a!b%5_!b!c$e!c!n%6Y!n!o%7q!o!w%6Y!w!x%7q!x!}%6Y!}#O%:n#O#P%u#Y#]4Y#]#^NZ#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e4eb)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#o4Y#o;'S$e;'S;=`(u<%lO$e4e5xd)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#X4Y#X#Y7W#Y#o4Y#o;'S$e;'S;=`(u<%lO$e4e7cd)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#Y4Y#Y#Z8q#Z#o4Y#o;'S$e;'S;=`(u<%lO$e4e8|d)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#]4Y#]#^:[#^#o4Y#o;'S$e;'S;=`(u<%lO$e4e:gd)^W(qQ'f&j'm.oOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![4Y![!c$e!c!}4Y!}#O$e#O#P&f#P#R$e#R#S4Y#S#T$e#T#b4Y#b#c;u#c#o4Y#o;'S$e;'S;=`(u<%lO$e4e][)T,g)^W(qQ%Z!b'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!?`^)^W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|!@[|!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!@gY)^W!X-y(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!AbY!h,k)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!B__)^W(qQ%Z!b!Y,g'f&jOY$eZr$ers%^sw$ewx(Ox}$e}!O!@[!O!_$e!_!`!8g!`!a!C^!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o!CiY(x-y)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Dd^)^W(qQ'f&j(w,gOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!E`!P!Q$e!Q![!GY![#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!Ei[)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!O$e!O!P!F_!P#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2a!FjY)Z,k)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]!Gen)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx!Icx!Q$e!Q![!GY![!g$e!g!h#$w!h!i#*Y!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#X$e#X#Y#$w#Y#Z#*Y#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2T!IjY(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![!JY![#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O2T!Jcn(qQ!i,g'f&jOY(OZr(Ors%}sw(Owx!Icx!Q(O!Q![!JY![!g(O!g!h!La!h!i##`!i!n(O!n!o##`!o!r(O!r!s!La!s!w(O!w!x##`!x#O(O#O#P&f#P#X(O#X#Y!La#Y#Z##`#Z#`(O#`#a##`#a#d(O#d#e!La#e#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T!Ljl(qQ!i,g'f&jOY(OZr(Ors%}s{(O{|!Nb|}(O}!O!Nb!O!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T!Ni^(qQ'f&jOY(OZr(Ors%}s!Q(O!Q![# e![!c(O!c!i# e!i#O(O#O#P&f#P#T(O#T#Z# e#Z;'S(O;'S;=`(o<%lO(O2T# nj(qQ!i,g'f&jOY(OZr(Ors%}sw(Owx!Nbx!Q(O!Q![# e![!c(O!c!h# e!h!i# e!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#T(O#T#Y# e#Y#Z# e#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2T##id(qQ!i,g'f&jOY(OZr(Ors%}s!h(O!h!i##`!i!n(O!n!o##`!o!w(O!w!x##`!x#O(O#O#P&f#P#Y(O#Y#Z##`#Z#`(O#`#a##`#a#i(O#i#j##`#j;'S(O;'S;=`(o<%lO(O2]#%Sn)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx(Ox{$e{|#'Q|}$e}!O#'Q!O!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2]#'Z`)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![#(]![!c$e!c!i#(]!i#O$e#O#P&f#P#T$e#T#Z#(]#Z;'S$e;'S;=`(u<%lO$e2]#(hj)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx!Nbx!Q$e!Q![#(]![!c$e!c!h#(]!h!i#(]!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#Y#(]#Y#Z#(]#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e2]#*ef)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx(Ox!h$e!h!i#*Y!i!n$e!n!o#*Y!o!w$e!w!x#*Y!x#O$e#O#P&f#P#Y$e#Y#Z#*Y#Z#`$e#`#a#*Y#a#i$e#i#j#*Y#j;'S$e;'S;=`(u<%lO$e7Z#,W`)^W(qQ%Z!b![,g'f&jOY$eZr$ers%^sw$ewx(Oxz$ez{#-Y{!P$e!P!Q#:s!Q!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#-c])^W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y1e#._TOz#.[z{#.n{;'S#.[;'S;=`#/]<%lO#.[1e#.qVOz#.[z{#.n{!P#.[!P!Q#/W!Q;'S#.[;'S;=`#/]<%lO#.[1e#/]OT1e1e#/`P;=`<%l#.[7X#/jZ)^W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7P#0bX'f&jOY#0]YZ#.[Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1SZ'f&jOY#0]YZ#.[Zz#0]z{#0}{!P#0]!P!Q#1u!Q#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#1|UT1e'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}7P#2eZ'f&jOY#0]YZ#0]Z]#0]]^#3W^z#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3]X'f&jOY#0]YZ#0]Zz#0]z{#0}{#O#0]#O#P#2`#P;'S#0];'S;=`#3x<%lO#0]7P#3{P;=`<%l#0]7X#4V])^W'f&jOY#/cYZ#.[Zw#/cwx#0]xz#/cz{#4O{!P#/c!P!Q#5O!Q#O#/c#O#P#2`#P;'S#/c;'S;=`#5q<%lO#/c7X#5XW)^WT1e'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^7X#5tP;=`<%l#/c7R#6OZ(qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#6x](qQ'f&jOY#5wYZ#.[Zr#5wrs#0]sz#5wz{#6q{!P#5w!P!Q#7q!Q#O#5w#O#P#2`#P;'S#5w;'S;=`#8d<%lO#5w7R#7zW(qQT1e'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O7R#8gP;=`<%l#5w7Z#8s_)^W(qQ'f&jOY#-YYZ#.[Zr#-Yrs#/csw#-Ywx#5wxz#-Yz{#8j{!P#-Y!P!Q#9r!Q#O#-Y#O#P#2`#P;'S#-Y;'S;=`#:m<%lO#-Y7Z#9}Y)^W(qQT1e'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z#:pP;=`<%l#-Y7Z#;OY)^W(qQS1e'f&jOY#:sZr#:srs#;nsw#:swx#@{x#O#:s#O#P#[<%lO#b#P;'S#[<%lO#[<%lO#_P;=`<%l#i]S1e'f&jOY#b#P#b#[<%lO#[<%lO#b#P#b#[<%lO#t!R![$2V![!c$e!c!i$2V!i#O$e#O#P&f#P#T$e#T#Z$2V#Z;'S$e;'S;=`(u<%lO$e2]$?Pv)^W(qQ!i,g'f&jOY$eZr$ers%^sw$ewx$4lx!O$e!O!P$ m!P!Q$e!Q![$2V![!c$e!c!g$2V!g!h$:p!h!i$2V!i!n$e!n!o#*Y!o!r$e!r!s#$w!s!w$e!w!x#*Y!x#O$e#O#P&f#P#T$e#T#U$2V#U#V$2V#V#X$2V#X#Y$:p#Y#Z$2V#Z#`$e#`#a#*Y#a#d$e#d#e#$w#e#i$e#i#j#*Y#j#l$e#l#m$0z#m;'S$e;'S;=`(u<%lO$e4e$Ar[(v-X)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox![$e![!]$Bh!]#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3s$BsYm-})^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e2]$CnY)Y,g)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7V$Dk_q,g%]!b)^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!^$Ej!^!_%+w!_!`%.U!`!a%0]!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej*[$Es])^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ejp$FoTO!`$Fl!`!a$GO!a;'S$Fl;'S;=`$GT<%lO$Flp$GTO$Wpp$GWP;=`<%l$Fl*Y$GbZ)^W'f&jOY$GZYZ$FlZw$GZwx$HTx!`$GZ!`!a%(U!a#O$GZ#O#P$Ib#P;'S$GZ;'S;=`%(y<%lO$GZ*Q$HYX'f&jOY$HTYZ$FlZ!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q$IOU$WpY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}*Q$Ig['f&jOY$HTYZ$HTZ]$HT]^$J]^!`$HT!`!a$NO!a#O$HT#O#P%&n#P;'S$HT;'S;=`%'f;=`<%l%$z<%lO$HT*Q$JbX'f&jOY$HTYZ$J}Z!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT'[$KSX'f&jOY$J}YZ$FlZ!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$KvU$Wp'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}'[$L_Z'f&jOY$J}YZ$J}Z]$J}]^$MQ^!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MVX'f&jOY$J}YZ$J}Z!`$J}!`!a$Ko!a#O$J}#O#P$LY#P;'S$J};'S;=`$Mr<%lO$J}'[$MuP;=`<%l$J}*Q$M{P;=`<%l$HT*Q$NVW$Wp'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`$NtW'f&jOY$NoZ!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`% eUY#t'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%})`% |Y'f&jOY$NoYZ$NoZ]$No]^%!l^#O$No#O#P%#d#P;'S$No;'S;=`%$[;=`<%l%$z<%lO$No)`%!qX'f&jOY$NoYZ%}Z!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%#aP;=`<%l$No)`%#iZ'f&jOY$NoYZ%}Z]$No]^%!l^!`$No!`!a% ^!a#O$No#O#P% w#P;'S$No;'S;=`%#^<%lO$No)`%$_XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$No<%lO%$z#t%$}WOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h<%lO%$z#t%%lOY#t#t%%oRO;'S%$z;'S;=`%%x;=`O%$z#t%%{XOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l%$z<%lO%$z#t%&kP;=`<%l%$z*Q%&sZ'f&jOY$HTYZ$J}Z]$HT]^$J]^!`$HT!`!a$Hu!a#O$HT#O#P$Ib#P;'S$HT;'S;=`$Mx<%lO$HT*Q%'iXOY%$zZ!`%$z!`!a%%g!a#O%$z#O#P%%l#P;'S%$z;'S;=`%&h;=`<%l$HT<%lO%$z*Y%(aW$WpY#t)^W'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^*Y%(|P;=`<%l$GZ*S%)WZ(qQ'f&jOY%)PYZ$FlZr%)Prs$HTs!`%)P!`!a%)y!a#O%)P#O#P$Ib#P;'S%)P;'S;=`%*n<%lO%)P*S%*UW$WpY#t(qQ'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O*S%*qP;=`<%l%)P*[%+RY$WpY#t)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e*[%+tP;=`<%l$Ej7V%,U^)^W(qQ%[!b!f,g'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!_$Ej!_!`%-Q!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%-]]!g-y)^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%*t!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%.c]%]!b!b,g)^W(qQ'f&jOY$EjYZ$FlZr$Ejrs$GZsw$Ejwx%)Px!`$Ej!`!a%/[!a#O$Ej#O#P$Ib#P;'S$Ej;'S;=`%+q<%lO$Ej7V%/mY%]!b!b,g$WpY#t)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e)j%0hYY#t)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%1c[)k!c)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`0Q!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%2f]%]!b)^W(qQ!d,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`%3_!`!a%4[!a#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%3lY%]!b!b,g)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%4i[)^W(qQ%[!b!f,g'f&jOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%5jY(uP)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z%6ib)^W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e7Z%8Qb)^W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e5P%9cW)^W(p/]'f&jOY%^Zw%^wx%}x#O%^#O#P&f#P;'S%^;'S;=`'x<%lO%^2T%:UW(qQ)],g'f&jOY(OZr(Ors%}s#O(O#O#P&f#P;'S(O;'S;=`(o<%lO(O3o%:yZ!V-y)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox!}$e!}#O%;l#O#P&f#P;'S$e;'S;=`(u<%lO$e&u%;wY)QP)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e4e%[Z]%=q]^%?Z^!Q%=q!Q![%?w![!w%=q!w!x%AX!x#O%=q#O#P%H_#P#i%=q#i#j%Ds#j#l%=q#l#m%IR#m;'S%=q;'S;=`%Kt<%lO%=q&t%=xUXY'f&jOY%}Z#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}4e%>e[XY(n.o'f&jOX%}XY-OYZ*[Z]%}]^-O^p%}pq-Oq#O%}#O#P,^#P;'S%};'S;=`'r<%lO%}4e%?bVXY'f&jOY%}YZ-OZ#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@OWXY'f&jOY%}Z!Q%}!Q![%@h![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%@oWXY'f&jOY%}Z!Q%}!Q![%=q![#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%A^['f&jOY%}Z!Q%}!Q![%BS![!c%}!c!i%BS!i#O%}#O#P&f#P#T%}#T#Z%BS#Z;'S%};'S;=`'r<%lO%}&t%BX['f&jOY%}Z!Q%}!Q![%B}![!c%}!c!i%B}!i#O%}#O#P&f#P#T%}#T#Z%B}#Z;'S%};'S;=`'r<%lO%}&t%CS['f&jOY%}Z!Q%}!Q![%Cx![!c%}!c!i%Cx!i#O%}#O#P&f#P#T%}#T#Z%Cx#Z;'S%};'S;=`'r<%lO%}&t%C}['f&jOY%}Z!Q%}!Q![%Ds![!c%}!c!i%Ds!i#O%}#O#P&f#P#T%}#T#Z%Ds#Z;'S%};'S;=`'r<%lO%}&t%Dx['f&jOY%}Z!Q%}!Q![%En![!c%}!c!i%En!i#O%}#O#P&f#P#T%}#T#Z%En#Z;'S%};'S;=`'r<%lO%}&t%Es['f&jOY%}Z!Q%}!Q![%Fi![!c%}!c!i%Fi!i#O%}#O#P&f#P#T%}#T#Z%Fi#Z;'S%};'S;=`'r<%lO%}&t%Fn['f&jOY%}Z!Q%}!Q![%Gd![!c%}!c!i%Gd!i#O%}#O#P&f#P#T%}#T#Z%Gd#Z;'S%};'S;=`'r<%lO%}&t%Gi['f&jOY%}Z!Q%}!Q![%=q![!c%}!c!i%=q!i#O%}#O#P&f#P#T%}#T#Z%=q#Z;'S%};'S;=`'r<%lO%}&t%HfXXY'f&jOY%}YZ%}Z]%}]^'W^#O%}#O#P&f#P;'S%};'S;=`'r<%lO%}&t%IW['f&jOY%}Z!Q%}!Q![%I|![!c%}!c!i%I|!i#O%}#O#P&f#P#T%}#T#Z%I|#Z;'S%};'S;=`'r<%lO%}&t%JR['f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KO[XY'f&jOY%}Z!Q%}!Q![%Jw![!c%}!c!i%Jw!i#O%}#O#P&f#P#T%}#T#Z%Jw#Z;'S%};'S;=`'r<%lO%}&t%KwP;=`<%l%=q2a%LVZ!W,V)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P#Q%Lx#Q;'S$e;'S;=`(u<%lO$e'Y%MTY)Pd)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o%NQ[)^W(qQ%[!b'f&j!_,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e7Z& Vd)^W(yS(qQ!R,f(r%y'f&jOY$eZr$ers%9Ysw$ewx%9{x!Q$e!Q!Y%6Y!Y!Z%7q!Z![%6Y![!c$e!c!}%6Y!}#O$e#O#P&f#P#R$e#R#S%6Y#S#T$e#T#o%6Y#o;'S$e;'S;=`(u<%lO$e2]&!pY!T,g)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e3o&#m^)^W(qQ%[!b'f&j!^,gOY$eZr$ers%^sw$ewx(Ox!_$e!_!`!8g!`#O$e#O#P&f#P#p$e#p#q&$i#q;'S$e;'S;=`(u<%lO$e3o&$vY)U,g%^!b)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e'V&%qY!Ua)^W(qQ'f&jOY$eZr$ers%^sw$ewx(Ox#O$e#O#P&f#P;'S$e;'S;=`(u<%lO$e(]&&nc)^W(qQ%[!b'RP'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&(Sc)^W(qQ'f&jOX$eXY&'yZp$epq&'yqr$ers%^sw$ewx(Ox!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e&y&)jb)^W(qQeT'f&jOY$eZr$ers%^sw$ewx(Ox!Q$e!Q![&)_![!c$e!c!}&)_!}#O$e#O#P&f#P#R$e#R#S&)_#S#T$e#T#o&)_#o;'S$e;'S;=`(u<%lO$e",tokenizers:[D0,I0,0,1,2,3,4,5,6,7,8,9],topRules:{Program:[0,307]},dynamicPrecedences:{65:1,87:1,94:1,119:1,184:1,187:-10,240:-10,241:1,244:-1,246:-10,247:1,262:-1,267:2,268:2,306:-10,365:3,418:1,419:3,420:1,421:1},specialized:[{term:356,get:O=>N0[O]||-1},{term:33,get:O=>F0[O]||-1},{term:66,get:O=>H0[O]||-1},{term:363,get:O=>K0[O]||-1}],tokenPrec:24891});var J0=ne.define({name:"cpp",parser:m$.configure({props:[se.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch)\b/}),LabeledStatement:sO,CaseStatement:O=>O.baseIndent+O.unit,BlockComment:()=>null,CompoundStatement:be({closing:"}"}),Statement:le({except:/^{/})}),te.add({"DeclarationList CompoundStatement EnumeratorList FieldDeclarationList InitializerList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/,closeBrackets:{stringPrefixes:["L","u","U","u8","LR","UR","uR","u8R","R"]}}});function g$(){return new J(J0)}var eb=122,P$=1,tb=123,Ob=124,X$=2,ib=125,rb=3,nb=4,T$=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],sb=58,ab=40,b$=95,ob=91,bs=45,lb=46,cb=35,hb=37,fb=38,db=92,ub=10,Qb=42;function yr(O){return O>=65&&O<=90||O>=97&&O<=122||O>=161}function Fl(O){return O>=48&&O<=57}function S$(O){return Fl(O)||O>=97&&O<=102||O>=65&&O<=70}var y$=(O,e,t)=>(i,r)=>{for(let n=!1,s=0,a=0;;a++){let{next:o}=i;if(yr(o)||o==bs||o==b$||n&&Fl(o))!n&&(o!=bs||a>0)&&(n=!0),s===a&&o==bs&&s++,i.advance();else if(o==db&&i.peek(1)!=ub){if(i.advance(),S$(i.next)){do i.advance();while(S$(i.next));i.next==32&&i.advance()}else i.next>-1&&i.advance();n=!0}else{n&&i.acceptToken(s==2&&r.canShift(X$)?e:o==ab?t:O);break}}},$b=new z(y$(tb,X$,Ob)),pb=new z(y$(ib,rb,nb)),mb=new z(O=>{if(T$.includes(O.peek(-1))){let{next:e}=O;(yr(e)||e==b$||e==cb||e==lb||e==Qb||e==ob||e==sb&&yr(O.peek(1))||e==bs||e==fb)&&O.acceptToken(eb)}}),gb=new z(O=>{if(!T$.includes(O.peek(-1))){let{next:e}=O;if(e==hb&&(O.advance(),O.acceptToken(P$)),yr(e)){do O.advance();while(yr(O.next)||Fl(O.next));O.acceptToken(P$)}}}),Pb=F({"AtKeyword import charset namespace keyframes media supports":d.definitionKeyword,"from to selector":d.keyword,NamespaceName:d.namespace,KeyframeName:d.labelName,KeyframeRangeName:d.operatorKeyword,TagName:d.tagName,ClassName:d.className,PseudoClassName:d.constant(d.className),IdName:d.labelName,"FeatureName PropertyName":d.propertyName,AttributeName:d.attributeName,NumberLiteral:d.number,KeywordQuery:d.keyword,UnaryQueryOp:d.operatorKeyword,"CallTag ValueName":d.atom,VariableName:d.variableName,Callee:d.operatorKeyword,Unit:d.unit,"UniversalSelector NestingSelector":d.definitionOperator,"MatchOp CompareOp":d.compareOperator,"ChildOp SiblingOp, LogicOp":d.logicOperator,BinOp:d.arithmeticOperator,Important:d.modifier,Comment:d.blockComment,ColorLiteral:d.color,"ParenthesizedContent StringLiteral":d.string,":":d.punctuation,"PseudoOp #":d.derefOperator,"; ,":d.separator,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),Sb={__proto__:null,lang:38,"nth-child":38,"nth-last-child":38,"nth-of-type":38,"nth-last-of-type":38,dir:38,"host-context":38,if:84,url:124,"url-prefix":124,domain:124,regexp:124},Xb={__proto__:null,or:98,and:98,not:106,only:106,layer:170},Tb={__proto__:null,selector:112,layer:166},bb={__proto__:null,"@import":162,"@media":174,"@charset":178,"@namespace":182,"@keyframes":188,"@supports":200,"@scope":204},yb={__proto__:null,to:207},x$=Oe.deserialize({version:14,states:"EbQYQdOOO#qQdOOP#xO`OOOOQP'#Cf'#CfOOQP'#Ce'#CeO#}QdO'#ChO$nQaO'#CcO$xQdO'#CkO%TQdO'#DpO%YQdO'#DrO%_QdO'#DuO%_QdO'#DxOOQP'#FV'#FVO&eQhO'#EhOOQS'#FU'#FUOOQS'#Ek'#EkQYQdOOO&lQdO'#EOO&PQhO'#EUO&lQdO'#EWO'aQdO'#EYO'lQdO'#E]O'tQhO'#EcO(VQdO'#EeO(bQaO'#CfO)VQ`O'#D{O)[Q`O'#F`O)gQdO'#F`QOQ`OOP)qO&jO'#CaPOOO)C@t)C@tOOQP'#Cj'#CjOOQP,59S,59SO#}QdO,59SO)|QdO,59VO%TQdO,5:[O%YQdO,5:^O%_QdO,5:aO%_QdO,5:cO%_QdO,5:dO%_QdO'#ErO*XQ`O,58}O*aQdO'#DzOOQS,58},58}OOQP'#Cn'#CnOOQO'#Dn'#DnOOQP,59V,59VO*hQ`O,59VO*mQ`O,59VOOQP'#Dq'#DqOOQP,5:[,5:[OOQO'#Ds'#DsO*rQpO,5:^O+]QaO,5:aO+sQaO,5:dOOQW'#DZ'#DZO,ZQhO'#DdO,xQhO'#FaO'tQhO'#DbO-WQ`O'#DhOOQW'#F['#F[O-]Q`O,5;SO-eQ`O'#DeOOQS-E8i-E8iOOQ['#Cs'#CsO-jQdO'#CtO.QQdO'#CzO.hQdO'#C}O/OQ!pO'#DPO1RQ!jO,5:jOOQO'#DU'#DUO*mQ`O'#DTO1cQ!nO'#FXO3`Q`O'#DVO3eQ`O'#DkOOQ['#FX'#FXO-`Q`O,5:pO3jQ!bO,5:rOOQS'#E['#E[O3rQ`O,5:tO3wQdO,5:tOOQO'#E_'#E_O4PQ`O,5:wO4UQhO,5:}O%_QdO'#DgOOQS,5;P,5;PO-eQ`O,5;PO4^QdO,5;PO4fQdO,5:gO4vQdO'#EtO5TQ`O,5;zO5TQ`O,5;zPOOO'#Ej'#EjP5`O&jO,58{POOO,58{,58{OOQP1G.n1G.nOOQP1G.q1G.qO*hQ`O1G.qO*mQ`O1G.qOOQP1G/v1G/vO5kQpO1G/xO5sQaO1G/{O6ZQaO1G/}O6qQaO1G0OO7XQaO,5;^OOQO-E8p-E8pOOQS1G.i1G.iO7cQ`O,5:fO7hQdO'#DoO7oQdO'#CrOOQP1G/x1G/xO&lQdO1G/xO7vQ!jO'#DZO8UQ!bO,59vO8^QhO,5:OOOQO'#F]'#F]O8XQ!bO,59zO'tQhO,59xO8fQhO'#EvO8sQ`O,5;{O9OQhO,59|O9uQhO'#DiOOQW,5:S,5:SOOQS1G0n1G0nOOQW,5:P,5:PO9|Q!fO'#FYOOQS'#FY'#FYOOQS'#Em'#EmO;^QdO,59`OOQ[,59`,59`O;tQdO,59fOOQ[,59f,59fO<[QdO,59iOOQ[,59i,59iOOQ[,59k,59kO&lQdO,59mOPQ!fO1G0ROOQO1G0R1G0ROOQO,5;`,5;`O>gQdO,5;`OOQO-E8r-E8rO>tQ`O1G1fPOOO-E8h-E8hPOOO1G.g1G.gOOQP7+$]7+$]OOQP7+%d7+%dO&lQdO7+%dOOQS1G0Q1G0QO?PQaO'#F_O?ZQ`O,5:ZO?`Q!fO'#ElO@^QdO'#FWO@hQ`O,59^O@mQ!bO7+%dO&lQdO1G/bO@uQhO1G/fOOQW1G/j1G/jOOQW1G/d1G/dOAWQhO,5;bOOQO-E8t-E8tOAfQhO'#DZOAtQhO'#F^OBPQ`O'#F^OBUQ`O,5:TOOQS-E8k-E8kOOQ[1G.z1G.zOOQ[1G/Q1G/QOOQ[1G/T1G/TOOQ[1G/X1G/XOBZQdO,5:lOOQS7+%p7+%pOB`Q`O7+%pOBeQhO'#DYOBmQ`O,59sO'tQhO,59sOOQ[1G/q1G/qOBuQ`O1G/qOOQS7+%z7+%zOBzQbO'#DPOOQO'#Eb'#EbOCYQ`O'#EaOOQO'#Ea'#EaOCeQ`O'#EwOCmQdO,5:zOOQS,5:z,5:zOOQ[1G/m1G/mOOQS7+&V7+&VO-`Q`O7+&VOCxQ!fO'#EsO&lQdO'#EsOEPQdO7+%mOOQO7+%m7+%mOOQO1G0z1G0zOEdQ!bO<jAN>jOIUQaO,5;]OOQO-E8o-E8oOI`QdO,5;[OOQO-E8n-E8nOOQW<WO&lQdO1G0uOK]Q`O7+'OOOQO,5;a,5;aOOQO-E8s-E8sOOQW<t}!O?V!O!P?t!P!Q@]!Q![AU![!]BP!]!^B{!^!_C^!_!`DY!`!aDm!a!b$q!b!cEn!c!}$q!}#OG{#O#P$q#P#QH^#Q#R6W#R#o$q#o#pHo#p#q6W#q#rIQ#r#sIc#s#y$q#y#z%i#z$f$q$f$g%i$g#BY$q#BY#BZ%i#BZ$IS$q$IS$I_%i$I_$I|$q$I|$JO%i$JO$JT$q$JT$JU%i$JU$KV$q$KV$KW%i$KW&FU$q&FU&FV%i&FV;'S$q;'S;=`Iz<%lO$q`$tSOy%Qz;'S%Q;'S;=`%c<%lO%Q`%VS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q`%fP;=`<%l%Q~%nh#s~OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Q~'ah#s~!a`OX%QX^'Y^p%Qpq'Yqy%Qz#y%Q#y#z'Y#z$f%Q$f$g'Y$g#BY%Q#BY#BZ'Y#BZ$IS%Q$IS$I_'Y$I_$I|%Q$I|$JO'Y$JO$JT%Q$JT$JU'Y$JU$KV%Q$KV$KW'Y$KW&FU%Q&FU&FV'Y&FV;'S%Q;'S;=`%c<%lO%Qj)OUOy%Qz#]%Q#]#^)b#^;'S%Q;'S;=`%c<%lO%Qj)gU!a`Oy%Qz#a%Q#a#b)y#b;'S%Q;'S;=`%c<%lO%Qj*OU!a`Oy%Qz#d%Q#d#e*b#e;'S%Q;'S;=`%c<%lO%Qj*gU!a`Oy%Qz#c%Q#c#d*y#d;'S%Q;'S;=`%c<%lO%Qj+OU!a`Oy%Qz#f%Q#f#g+b#g;'S%Q;'S;=`%c<%lO%Qj+gU!a`Oy%Qz#h%Q#h#i+y#i;'S%Q;'S;=`%c<%lO%Qj,OU!a`Oy%Qz#T%Q#T#U,b#U;'S%Q;'S;=`%c<%lO%Qj,gU!a`Oy%Qz#b%Q#b#c,y#c;'S%Q;'S;=`%c<%lO%Qj-OU!a`Oy%Qz#h%Q#h#i-b#i;'S%Q;'S;=`%c<%lO%Qj-iS!qY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Q~-xWOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c<%lO-u~.gOt~~.jRO;'S-u;'S;=`.s;=`O-u~.vXOY-uZr-urs.bs#O-u#O#P.g#P;'S-u;'S;=`/c;=`<%l-u<%lO-u~/fP;=`<%l-uj/nYjYOy%Qz!Q%Q!Q![0^![!c%Q!c!i0^!i#T%Q#T#Z0^#Z;'S%Q;'S;=`%c<%lO%Qj0cY!a`Oy%Qz!Q%Q!Q![1R![!c%Q!c!i1R!i#T%Q#T#Z1R#Z;'S%Q;'S;=`%c<%lO%Qj1WY!a`Oy%Qz!Q%Q!Q![1v![!c%Q!c!i1v!i#T%Q#T#Z1v#Z;'S%Q;'S;=`%c<%lO%Qj1}YrY!a`Oy%Qz!Q%Q!Q![2m![!c%Q!c!i2m!i#T%Q#T#Z2m#Z;'S%Q;'S;=`%c<%lO%Qj2tYrY!a`Oy%Qz!Q%Q!Q![3d![!c%Q!c!i3d!i#T%Q#T#Z3d#Z;'S%Q;'S;=`%c<%lO%Qj3iY!a`Oy%Qz!Q%Q!Q![4X![!c%Q!c!i4X!i#T%Q#T#Z4X#Z;'S%Q;'S;=`%c<%lO%Qj4`YrY!a`Oy%Qz!Q%Q!Q![5O![!c%Q!c!i5O!i#T%Q#T#Z5O#Z;'S%Q;'S;=`%c<%lO%Qj5TY!a`Oy%Qz!Q%Q!Q![5s![!c%Q!c!i5s!i#T%Q#T#Z5s#Z;'S%Q;'S;=`%c<%lO%Qj5zSrY!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qd6ZUOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qd6tS!hS!a`Oy%Qz;'S%Q;'S;=`%c<%lO%Qb7VSZQOy%Qz;'S%Q;'S;=`%c<%lO%Q~7fWOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z<%lO7c~8RRO;'S7c;'S;=`8[;=`O7c~8_XOY7cZw7cwx.bx#O7c#O#P8O#P;'S7c;'S;=`8z;=`<%l7c<%lO7c~8}P;=`<%l7cj9VSeYOy%Qz;'S%Q;'S;=`%c<%lO%Q~9hOd~n9oUWQvWOy%Qz!_%Q!_!`6m!`;'S%Q;'S;=`%c<%lO%Qj:YWvW!mQOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj:wU!a`Oy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Qj;bY!a`#}YOy%Qz!Q%Q!Q![;Z![!g%Q!g!hO[!a`#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hyS!^YOy%Qz;'S%Q;'S;=`%c<%lO%Qj?[WvWOy%Qz!O%Q!O!P:r!P!Q%Q!Q![=w![;'S%Q;'S;=`%c<%lO%Qj?yU]YOy%Qz!Q%Q!Q![;Z![;'S%Q;'S;=`%c<%lO%Q~@bTvWOy%Qz{@q{;'S%Q;'S;=`%c<%lO%Q~@xS!a`#t~Oy%Qz;'S%Q;'S;=`%c<%lO%QjAZ[#}YOy%Qz!O%Q!O!P;Z!P!Q%Q!Q![=w![!g%Q!g!hSb[O]||-1},{term:125,get:O=>Xb[O]||-1},{term:4,get:O=>Tb[O]||-1},{term:25,get:O=>bb[O]||-1},{term:123,get:O=>yb[O]||-1}],tokenPrec:1963});var Hl=null;function Kl(){if(!Hl&&typeof document=="object"&&document.body){let{style:O}=document.body,e=[],t=new Set;for(let i in O)i!="cssText"&&i!="cssFloat"&&typeof O[i]=="string"&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),t.has(i)||(e.push(i),t.add(i)));Hl=e.sort().map(i=>({type:"property",label:i,apply:i+": "}))}return Hl||[]}var k$=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(O=>({type:"class",label:O})),w$=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(O=>({type:"keyword",label:O})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(O=>({type:"constant",label:O}))),xb=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(O=>({type:"type",label:O})),kb=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(O=>({type:"keyword",label:O})),Wt=/^(\w[\w-]*|-\w[\w-]*|)$/,wb=/^-(-[\w-]*)?$/;function Zb(O,e){var t;if((O.name=="("||O.type.isError)&&(O=O.parent||O),O.name!="ArgList")return!1;let i=(t=O.parent)===null||t===void 0?void 0:t.firstChild;return i?.name!="Callee"?!1:e.sliceString(i.from,i.to)=="var"}var Z$=new Tt,vb=["Declaration"];function Yb(O){for(let e=O;;){if(e.type.isTop)return e;if(!(e=e.parent))return O}}function v$(O,e,t){if(e.to-e.from>4096){let i=Z$.get(e);if(i)return i;let r=[],n=new Set,s=e.cursor(C.IncludeAnonymous);if(s.firstChild())do for(let a of v$(O,s.node,t))n.has(a.label)||(n.add(a.label),r.push(a));while(s.nextSibling());return Z$.set(e,r),r}else{let i=[],r=new Set;return e.cursor().iterate(n=>{var s;if(t(n)&&n.matchContext(vb)&&((s=n.node.nextSibling)===null||s===void 0?void 0:s.name)==":"){let a=O.sliceString(n.from,n.to);r.has(a)||(r.add(a),i.push({label:a,type:"variable"}))}}),i}}var _b=O=>e=>{let{state:t,pos:i}=e,r=U(t).resolveInner(i,-1),n=r.type.isError&&r.from==r.to-1&&t.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(n||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:Kl(),validFor:Wt};if(r.name=="ValueName")return{from:r.from,options:w$,validFor:Wt};if(r.name=="PseudoClassName")return{from:r.from,options:k$,validFor:Wt};if(O(r)||(e.explicit||n)&&Zb(r,t.doc))return{from:O(r)||n?r.from:i,options:v$(t.doc,Yb(r),O),validFor:wb};if(r.name=="TagName"){for(let{parent:o}=r;o;o=o.parent)if(o.name=="Block")return{from:r.from,options:Kl(),validFor:Wt};return{from:r.from,options:xb,validFor:Wt}}if(r.name=="AtKeyword")return{from:r.from,options:kb,validFor:Wt};if(!e.explicit)return null;let s=r.resolve(i),a=s.childBefore(i);return a&&a.name==":"&&s.name=="PseudoClassSelector"?{from:i,options:k$,validFor:Wt}:a&&a.name==":"&&s.name=="Declaration"||s.name=="ArgList"?{from:i,options:w$,validFor:Wt}:s.name=="Block"||s.name=="Styles"?{from:i,options:Kl(),validFor:Wt}:null},Rb=_b(O=>O.name=="VariableName"),xr=ne.define({name:"css",parser:x$.configure({props:[se.add({Declaration:le()}),te.add({"Block KeyframeList":me})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ys(){return new J(xr,xr.data.of({autocomplete:Rb}))}var Vb=177,qb=179,zb=184,Ub=12,Wb=13,jb=17,Cb=20,Gb=25,Eb=53,Ab=95,Lb=142,Mb=144,Db=145,Ib=148,Bb=10,Nb=13,Fb=32,Hb=9,Y$=47,Kb=41,Jb=125,ey=new z((O,e)=>{for(let t=0,i=O.next;(e.context&&(i<0||i==Bb||i==Nb||i==Y$&&O.peek(t+1)==Y$)||i==Kb||i==Jb)&&O.acceptToken(Vb),!(i!=Fb&&i!=Hb);)i=O.peek(++t)},{contextual:!0}),ty=new Set([Ab,zb,Cb,Ub,jb,Mb,Db,Lb,Ib,Wb,Eb,Gb]),Oy=new Ge({start:!1,shift:(O,e)=>e==qb?O:ty.has(e)}),iy=F({"func interface struct chan map const type var":d.definitionKeyword,"import package":d.moduleKeyword,"switch for go select return break continue goto fallthrough case if else defer":d.controlKeyword,range:d.keyword,Bool:d.bool,String:d.string,Rune:d.character,Number:d.number,Nil:d.null,VariableName:d.variableName,DefName:d.definition(d.variableName),TypeName:d.typeName,LabelName:d.labelName,FieldName:d.propertyName,"FunctionDecl/DefName":d.function(d.definition(d.variableName)),"TypeSpec/DefName":d.definition(d.typeName),"CallExpr/VariableName":d.function(d.variableName),LineComment:d.lineComment,BlockComment:d.blockComment,LogicOp:d.logicOperator,ArithOp:d.arithmeticOperator,BitOp:d.bitwiseOperator,"DerefOp .":d.derefOperator,"UpdateOp IncDecOp":d.updateOperator,CompareOp:d.compareOperator,"= :=":d.definitionOperator,"<-":d.operator,'~ "*"':d.modifier,"; ,":d.separator,"... :":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace}),ry={__proto__:null,package:10,import:18,true:380,false:380,nil:383,struct:48,func:68,interface:78,chan:94,map:118,make:157,new:159,const:204,type:212,var:224,if:236,else:238,switch:242,case:248,default:250,for:260,range:266,go:270,select:274,return:284,break:288,continue:290,goto:292,fallthrough:296,defer:300},_$=Oe.deserialize({version:14,states:"!=xO#{QQOOP$SOQOOO&UQTO'#CbO&]QRO'#FlO]QQOOOOQP'#Cn'#CnOOQP'#Co'#CoO&eQQO'#C|O(kQQO'#C{O)]QRO'#GiO+tQQO'#D_OOQP'#Ge'#GeO+{QQO'#GeO.aQTO'#GaO.hQQO'#D`OOQP'#Gm'#GmO.mQRO'#GdO/hQQO'#DgOOQP'#Gd'#GdO/uQQO'#DrO2bQQO'#DsO4QQTO'#GqO,^QTO'#GaO4XQQO'#DxO4^QQO'#D{OOQO'#EQ'#EQOOQO'#ER'#EROOQO'#ES'#ESOOQO'#ET'#ETO4cQQO'#EPO5}QQO'#EPOOQP'#Ga'#GaO6UQQO'#E`O6^QQO'#EcOOQP'#G`'#G`O6cQQO'#EsOOQP'#G_'#G_O&]QRO'#FnOOQO'#Fn'#FnO9QQQO'#G^QOQQOOO&]QROOO9XQQO'#C`O9^QSO'#CdO9lQQO'#C}O9tQQO'#DSO9yQQO'#D[O:kQQO'#CsO:pQQO'#DhO:uQQO'#EeO:}QQO'#EiO;VQQO'#EoO;_QQO'#EuOPQSO7+%hOOQP7+%h7+%hO4cQQO7+%hOOQP1G0Q1G0QO!>^QQO1G0QOOQP1G0U1G0UO!>fQQO1G0UOF|QQO1G0UOOQO,5nAN>nO4cQQOAN>nO!IsQSOAN>nOOQP<nQQO'#FrOOQO,5vAN>vO!LtQQOAN>vP.hQQO'#F|OOQPG25XG25XO!LyQQOG25bO!MOQQO'#FPOOQPG25bG25bO!MZQQOG25bOOQPLD)tLD)tOOQPG24bG24bO!JqQQOLD*|O!9OQQO'#GQO!McQQO,5;kOOQP,5;k,5;kO?tQQO'#FQO!MnQQO'#FQO!MsQQOLD*|OOQP!$'Nh!$'NhOOQO,5VO^!hOh!POr-TOw}O!P-_O!Q-`O!W-^O!]-eO%O!eO%Y!fO~OZ!sO~O^#uO~O!P$xO~On!lO#W%]aV%]a^%]ah%]ar%]aw%]a!P%]a!Q%]a!W%]a!]%]a#T%]a$w%]a%O%]a%Y%]au%]a~O]${O^#QO~OZ#RO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O]$|O!|,WO~PBROj!qOn%QO!QnOi%cP~P*aO!V%WO!|#`O~PBRO!V%YO~OV!}O[oO^YOaoOdoOh!POjcOr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO#Y!RO#^!SO#d!TO#j!UO#m!VO#v!WO#{!XO#}!YO$S!ZO$U![O$V![O$W!]O$Y!^O$[!_O%OQO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~Oi%dX#p%dX#q%dX~PDQOi%]O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-QO!WaO!]!QO!phO!qhO%O+{O%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^%aO%O%_O~O!QnO!a%cO~P*aO!QnOn$mX#T$mX#U$mXV$mX$w$mX!a$mX~P*aOn#TO#T%ea#U%eaV%ea$w%ea!a%ea~O]%fO~PF|OV#ga$w#ga~PDTO[%sO~OZ#rO[#qO]%vO%O#oO~O^!hOh!POn%zOr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO]%[P~O^&OOh!POr!jOw}O!P!OO!Q!kO!WaO!]!QO%Y!fO^%ZXj%ZX~O%O%}O~PKfOjcO^qa]qanqa!Vqa~O^#uO!W&SO~O^!hOh!POr-TOw}O{&WO!P-_O!Q-`O!W-^O!]-eO%O,xO%Y!fO~Oi&^O~PL{O^!hOh!POr!jOw}O!Q!kO!WaO!]!QO%O!eO%Y!fO~O!P#hO~PMwOi&eO%O,yO%Y!fO~O#T&gOV#ZX$w#ZX~P?tO]&kO%O#oO~O^!hOh!POr-TOw}O!P-_O!Q-`O!]-eO%O!eO%Y!fO~O!W&lO#T&mO~P! _O]&qO%O#oO~O#T&sOV#eX$w#eX~P?tO]&vO%O#oO~OjeX~P$XOjcO!|,XO~P2gOn!lO#W&yO#W%]X~O^#VOn#TO!Q#cO!W#SO!|,XO#R#dO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]OV`X#T%eX#U%eX~OZ&zOj$`O$w`X~P!#cOi'OO#p'PO#q'QO~OZ#ROjcO~P!#cO#T'TO#U#iO~O#W'UO~OV'WO!QnO~P*aOV'XO~OjcO~O!|#`OV#za$w#za~PBROi'[O#p']O#q'^O~On#TO!|#`OV%eX$w%eX!a%eX~PBRO!|#`OV$Za$w$Za~PBRO${$rO$|$rO$}'`O~O]${O~O%O!eO]%ZXn%ZX!V%ZX~PKfO!|#`Oi!_Xn!_X!a!`X~PBROi!_Xn!_X!a!`X~O!a'aO~On'bOi%cX~Oi'dO~On'eO!V%bX!a%bX~O!V'gO~O]'jOn'kO!|,YO~PBROn'nO!V'mO!a'oO!|#`O~PBRO!QnO!V'qO!a'rO~P*aO!|#`On$ma#T$ma#U$maV$ma$w$ma!a$ma~PBRO]'sOu'tO~O%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi!|!xi#R!xi#T!xi#U!xi$w!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~O!V!xii!xi!a!xi~P!+YO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi!V!xii!xi!a!xi~O!|!xi~P!-TO!|#`O~P!-TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OV!xiZ!xi^!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%q!xi~O!|#`O!V!xii!xi!a!xi~P!/VO!|#`OV#Pi$w#Pi!a#Pi~PBRO]'uOn'wOu'vO~OZ#rO[#qO]'zO%O#oO~Ou'|O~P?tOn'}O]%[X~O](PO~OZeX^mX^!TXj!TX!W!TX~OjcOV$]i$w$]i~O%`(ZOV%^X$w%^Xn%^X!V%^X~Oi(`O~PL{O[(aO!W!tOVlX$wlX~On(bO~P?tO[(aOVlX$wlX~Oi(hO%O,yO%Y!fO~O!V(iO~O#T(kO~O](nO%O#oO~O[oO^YOaoOdoOh!POr!pOu-bOw}O!P!OO!QnO!V-UO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O+zO~P!4vO](sO%O#oO~O#T(tOV#ea$w#ea~O](xO%O#oO~O#k(yOV#ii$w#ii~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-PO!WaO!]!QO!phO!qhO%O+xO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O^(|O%O%_O~O#p%dP#q%dP~P/uOi)PO#p'PO#q'QO~O!a)RO~O!QnO#y)VO~P*aOV)WO!|#`O~PBROj#wa~P;_OV)WO!QnO~P*aOi)]O#p']O#q'^O~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!QnO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O%O,eO~P!:lO!a)bO~Oj!qO!QnO~P*aOj!qO!QnOi%ca~P*aOn)iOi%ca~O!V%ba!a%ba~P?tOn)lO!V%ba!a%ba~O])nO~O])oO~O!V)pO~O!QnO!V)rO!a)sO~P*aO!V)rO!a)sO!|#`O~PBRO])uOn)vO~O])wOn)xO~O^!hOh!POr-TOu%xOw}O!P-_O!Q-`O!W-^O!]-eO%O,dO%Y!fO~O]%[a~P!>nOn)|O]%[a~O]${O]tXntX~OjcOV$^q$w$^q~On*PO{&WO~P?tOn*SO!V%rX~O!V*UO~OjcOV$]q$w$]q~O%`(ZOV|a$w|an|a!V|a~O[*]OVla$wla~O[*]O!W!tOVla$wla~On*PO{&WO!W*`O^%WXj%WX~P! _OjcO#j!UO~OjcO!|,XO~PBROZ*dO^#VO!W#SO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~O!|#`O~P!BoO#^*eO~P?tO!a*fO~Oj$`O!|,XO~P!BoO#W*hO~Oj#wi~P;_OV*kO!|#`O~PBROn#TO!Q#cO!|#`O!a$QX#T%eX~PBRO#T*lO~O#W*lO~O!a*mO~O!|#`Oi!_in!_i~PBRO!|#`Oi!bXn!bX!a!cX~PBROi!bXn!bX!a!cX~O!a*nO~Oj!qO!QnOi%ci~P*aO!V%bi!a%bi~P?tO!V*qO!a*rO!|#`O~PBRO!V*qO!|#`O~PBRO]*tO~O]*uO~O]*uOu*vO~O]%[i~P!>nO%O!eO!V%ra~On*|O!V%ra~O[+OOVli$wli~O%O+yO~P!4vO#k+QOV#iy$w#iy~O^+RO%O%_O~O]+SO~O!|,XOj#xq~PBROj#wq~P;_O!V+ZO!|#`O~PBRO]+[On+]O~O%O!eO!V%ri~O^#QOn'eO!V%bX~O#^+`O~P?tOj+aO~O^#VO!W#SO!|#`O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[O%q#]O~OZ+cO~P!JvO!|#`O!a$Qi~PBRO!|#`Oi!bin!bi~PBRO!V+dO!|#`O~PBRO]+eO~O]+fO~Oi+iO#p+jO#q+kO~O^+lO%O%_O~Oi+pO#p+jO#q+kO~O!a+rO~O#^+sO~P?tO!a+tO~O]+uO~OZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXVeXneX!QeX#ReX#TeX#UeX$weX~O]eX]!TX!VeXieX!aeX~P!NUOjeX~P!NUOZeX^eX^!TXj!TX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeXn!TX!VeX~O]eX!V!TX~P#!gOh!TXr!TXw!TX{!TX!P!TX!Q!TX!]!TX%O!TX%Y!TX~P#!gOZeX^eX^!TXj!TXneX!WeX!W!TX!|eX%YeX%`eX%feX%geX%ieX%jeX%keX%leX%meX%neX%oeX%peX%qeX~O]eXueX~P#$xO]$mXn$mXu$mX~PF|Oj$mXn$mX~P!7`On+|O]%eau%ea~On+}Oj%ea~O[oO^YOaoOdoOh!POr!pOw}O!P!OO!Q-OO!WaO!]!QO!phO!qhO%O+yO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~OZeX]!TX^UXhUXnUXn!TXrUXuUXwUX!PUX!QUX!WUX!W!TX!]UX%OUX%YUX~OnUX!QeX!aeX#TeX#WUX~P#$xOn+|O!|,YO]%eXu%eX~PBROn+}O!|,XOj%eX~PBRO^&OOV%ZXj%ZX$w%ZX]%ZXn%ZX!V%ZXu%ZX%`%ZX#T%ZX[%ZX!a%ZX~P?wO!|,YO]$man$mau$ma~PBRO!|,XOj$man$ma~PBRO%Y#XO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%`!xi%f!xi%g!xi%i!xi%p!xi%q!xi~Oj!xi~P!+YOn!xiu!xi~P#,hO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi!|!xi%p!xi%q!xi~O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOV!xiZ!xi^!xij!xin!xi!Q!xi!W!xi#R!xi#T!xi#U!xi$w!xi%p!xi%q!xi~O!|!xi~P#/_On!xiu!xi~P#.TO%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YOZ!xi]!xi^!xi!W!xi%p!xi%q!xi~O!|,WO~P#1^O!|,XO~P#/_O!|,YOn!xiu!xi~P#1^O%Y#XO%`#ZO%fiO%giO%i#ZO%j#YO%k#XO%l#XO%m#YO%n#YO%o#YO%p#[OZ!xi]!xi^!xi!W!xi%q!xi~O!|,WO~P#3QO!|,XOj!xi~P!/VO!|,YOn!xiu!xi~P#3QO!|,XOj#Pi~PBROV!TXZeX^mX!W!TX$w!TX~O%`!TX~P#5RO[!TXhmXnmXrmXwmX!PmX!QmX!WmX!]mX%OmX%YmX~P#5ROn#TO!Q,aO!|,XO#R#dOj`X#T%eX#U%eX~PBRO[oO^YOaoOdoOh!POr!pOw}O!P#hO!WaO!]!QO!phO!qhO%UTO%VUO%YVO%fiO%giO%hjO%ikO%jlO~O!Q-OO%O+yO~P#6{O!Q-PO%O+xO~P#6{O!Q-QO%O+{O~P#6{O#T,bO#U,bO~O#W,cO~O^!hOh!POr-TOw}O!P-_O!Q-WO!W-^O!]-eO%O!eO%Y!fO~O^!hOh!POr-TOw}O!Q-`O!W-^O!]-eO%O!eO%Y!fO~O!P-VO~P#9zO%O+wO~P!4vO!P-XO~O!V-YO!|#`O~PBRO!V-ZO~O!V-[O~O!W-dO~OP%ka%Oa~",goto:"!FW%sPP%tP%wP%zP'SP'XPPPP'`'cP'u'uP)w'u-_PPP0j0m0qP1V4b1VP7s8WP1VP8a8d8hP8p8w1VPP1V8{<`?vPPCY-_-_-_PCdCuCxPC{DQ'u'uDV'uES'u'u'u'uGUIW'uPPJR'uJUMjMjMj'u! r! r!#SP!$`!%d!&d'cP'cPP'cP!&yP!'V!'^!&yP!'a!'h!'n!'w!&yP!'z!(R!&y!(U!(fPP!&yP!(x!)UPP!&y!)Y!)c!&yP!)g!)gP!&yP!&yP!)j!)m!&v!&yP!&yPPP!&yP!&yP!)q!)q!)w!)}!*U!*[!*d!*j!*p!*w!*}!+T!+Z!.q!.x!/O!/X!/m!/s!/z!0Q!0W!0^!0d!0jPPPPPPPPP!0p!1f!1k!1{!2kPP!7P!:^P!>u!?Z!?_!@Z!@fP!@p!D_!Df!Di!DuPPPPPPPPPPPP!FSR!aPRyO!WXOScw!R!T!U!W#O#k#n#u$R$X&O&j&u&|'W'Y']'})W)|*k*w+gQ#pzU#r{#s%uQ#x|U$T!S$U&pQ$^!VQ$y!lR)U'RVROS#nQ#t{T%t#s%uR#t{qrOScw!U!V!W#O#k#n&|'W'Y)W*k+g%PoOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%O]OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^#u!iW^!O!h!t!z#e#h#u#v#y#|#}$P$Q$T$W$v$x%W%Y%a%x%y&O&S&W&]&`&b&d&m'e'|'}(S([(c(i(o(|)l)|*P*Q*S*p*w*|+R+^+j+l,h-U-V-W-X-Y-Z-[-]-_-d'cbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR$O!PT&c#}&dW%`#R&z*d+cQ&Q#vS&V#y&]S&`#}&dR*Y(b'cZOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d%fWOSWYacmnw!O!U!V!W!X!Z!_!q!z#O#Q#S#T#V#^#_#`#a#b#c#h#i#j#k#n#v#|$f$v$x%W%Y%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(i(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S&b#}&d!{-]!h!t#e#u#y$P$Q$T$W%a%x%y&O&W&]&`&m'e'|'}(S([(c(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-dQ#v|S$v!j!pU&P#v$v,hZ,h#x&Q&U&V-TS%{#u&OV){'})|*wR#z}T&[#y&]]&X#y&](S([(o*QZ&Z#y&](S(o*QT([&Y(]'s_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-d'r_OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!w^'bbOSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&a#}&dR(d&bS!u]fX!x`&_(e(oQ!r[Q%O!qQ)d'aU)f'b)i*oR+X*nR%R!qR%P!qV)h'b)i*oV)g'b)i*odtOScw#O#k#n&|'Y+gQ$h!WQ&R#wQ&w$[S'S$c$iQ(V&TQ*O(RQ*V(WQ*b(yQ*c(zR+_+Q%PfOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^%PgOSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^!q#Weg!o!y$[$_$c$j$m$q$}%^%b%d%m'V'p(z({)S)Y)^)c)e)q)t*i*s+T+V+W+Y,f,g,i,j,w,z-aR#fh#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z[,V%^,f,i,p,s,v`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q#^mOSacmnw!X!Z!_!q#O#S#T#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&y&|'P'T'U'X'Y']'a'b'o'r(k(t)i)s*`*h*l*n*o*r+g-^`,{Y,Q,T,W,Z,^,{-Ox,|!U!V!W&x'R'W)V)W*k+},R,U,X,[,_,a,b,c,|-Pg,}#Q#V'w+|,S,V,Y,],`,}-Q!Y#^e!y$j$m$q$}%b%d%i%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aY,Q!o,k,n,q,tl,R$[$_$c(z)S*i,g,j,l,o,r,u,w,z_,S%^,f,i,m,p,s,v!W#_e!y$j$m$q$}%b%d%j%k%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aW,T!o,n,q,tj,U$[$_$c(z)S*i,g,j,o,r,u,w,z],V%^,f,i,p,s,v!S#ae!y$j$m$q$}%b%d%l%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aS,Z!o,tf,[$[$_$c(z)S*i,g,j,u,w,zX,]%^,f,i,v!Q#be!y$j$m$q$}%b%d%m'V'p({)Y)^)c)e)q)t*s+T+V+W+Y-aQ,^!od,_$[$_$c(z)S*i,g,j,w,zV,`%^,f,iprOScw!U!V!W#O#k#n&|'W'Y)W*k+gR)a']etOScw#O#k#n&|'Y+gQ$S!RT&i$R&jR$S!RQ$V!ST&o$U&pQ&U#xR&m$TS(T&S&lV*{*S*|+^R$V!SQ$Y!TT&t$X&uR$Y!TdsOScw#O#k#n&|'Y+gT$p![!]dtOScw#O#k#n&|'Y+gQ*b(yR+_+QQ$a!VQ&{$_Q)T'RR*g)ST&|$`&}Q+b+SQ+m+fR+v+uT+g+a+hR$i!WR$l!YT'Y$k'ZXuOSw#nQ$s!`R'_$sSSO#nR!dSQ%u#sR'y%uUwOS#nR#mwQ&d#}R(g&dQ(c&`R*Z(cS!mX$^R$z!mQ(O%{R)}(OQ&]#yR(_&]Q(]&YR*X(]'r^OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|#}$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&S&W&]&`&b&d&g&l&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*P*Q*S*`*h*k*l*n*o*p*r*w*|+R+^+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dR!v^S'f%T+PR)m'fQ'c%RR)j'cW#Oc&|'Y+gR%[#O^#Ue$[$_$c$m)^,zU%e#U,O,PQ,O,fR,P,gQ&j$RR(m&jS*Q(S(oR*y*QQ*T(TR*}*TQ&p$UR(r&pQ&u$XR(w&uQ&}$`R)O&}Q+h+aR+o+hQ'Z$kR)['ZQ!cRQ#luQ#nyQ%Z!|Q&x$]Q'R$bQ'x%tQ(^&[Q(f&cQ(l&iQ(q&oR(v&tVxOS#nWuOSw#nY!|c#O&|'Y+gR%r#kdtOScw#O#k#n&|'Y+gQ$]!UQ$b!VQ$g!WQ)X'WQ*j)WR+U*kdeOScw#O#k#n&|'Y+gQ!oYQ!ya`#gmn,{,|,}-O-P-QQ$[!UQ$_!VQ$c!WQ$j!Xd$m!Z#i#j&g&s'P'T'U(k(tQ$q!_Q$}!qQ%^#QQ%b#SQ%d#TW%h#^,Q,R,SQ%i#_Q%j#`Q%k#aQ%l#bQ%m#cQ'V$fQ'p%cQ(z&xQ({&yQ)S'RQ)Y'XQ)^']Q)c'aU)e'b)i*oQ)q'oQ)t'rQ*i)VQ*s)sQ+T*hQ+V*lQ+W*nQ+Y*rS,f#V'wS,g,b,cQ,i+|Q,j+}Q,k,TQ,l,UQ,m,VQ,n,WQ,o,XQ,p,YQ,q,ZQ,r,[Q,s,]Q,t,^Q,u,_Q,v,`Q,w,aU,z'W)W*kV-a&l*`-^#bZW!O!h!t!z#e#h#u#v#y#|$P$Q$T$W$v$x%W%Y%a%x%y&O&W&]&`&m'e'|'}(S([(c(i(o(|)l)|*Q*p*w+R+j+l,h-U-V-W-X-Y-Z-[-]-_-d%P[OSYacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*`*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^$zdOSacmnw!U!V!W!X!Z!_!q#O#Q#S#T#V#^#_#`#a#b#c#i#j#k#n$f%c&g&l&s&x&y&|'P'R'T'U'W'X'Y']'a'b'o'r'w(k(t)V)W)i)s*h*k*l*n*o*r+g+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,{,|,}-O-P-Q-^S!gW-]Q!nYS#{!O-_Q$u!hS%T!t+jS%X!z-UQ%n#e[%o#h#|$x-V-W-XW%w#u'})|*wU&P#v$v,h[&X#y&](S([(o*QQ&f$PQ&h$QQ&n$TQ&r$WS'h%W-YS'i%Y-ZW'l%a(|+R+lS'{%x%yQ(Q&OQ(Y&WQ(d&`Q(p&mU)k'e)l*pQ)z'|Q*[(cS*^(i-[Q+P*`R-c-dS#w|!pS$w!j-TQ&T#xQ(R&QQ(W&UR(X&VT%|#u&OhqOScw!U!V#O#k#n&|'Y+gU$Q!R$R&jU$W!T$X&uQ$e!WY%y#u&O'})|*wQ)`']V-S'W)W*kS&[#y&]S*R(S(oR*z*QY&Y#y&](S(o*QR*W(['``OSWYacmnw!O!U!V!W!X!Z!_!h!q!t!z#O#Q#S#T#V#^#_#`#a#b#c#e#h#i#j#k#n#u#v#y#|$P$Q$T$W$f$v$x%W%Y%a%c%x%y&O&W&]&`&g&m&s&x&y&|'P'R'T'U'W'X'Y']'a'b'e'o'r'w'|'}(S([(c(i(k(o(t(|)V)W)i)l)s)|*Q*`*h*k*l*n*o*p*r*w+R+g+j+l+|+},Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,h,{,|,}-O-P-Q-U-V-W-X-Y-Z-[-]-^-_-dS&_#}&dW(S&S*S*|+^Q(e&bQ(o&lR*x*PS%U!t*`R+q+jR%S!qQ#PcQ(}&|Q)Z'YR+n+ghpOScw!U!V#O#k#n&|'Y+gQ$d!WQ$n!ZQ%g#VU%p#i'T,bU%q#j'U,cQ(j&gQ(u&sQ)Q'PQ)_']Q)y'wQ*_(kQ*a(tV-R'W)W*kT(U&S&l",nodeNames:"\u26A0 LineComment BlockComment SourceFile PackageClause package DefName ; ImportDecl import ImportSpec . String ) ( SpecList ExprStatement Number Bool Nil Rune VariableName TypedLiteral StructType struct } { StructBody FieldDecl FieldName , PointerType * FunctionType func Parameters Parameter ... InterfaceType interface InterfaceBody MethodElem UnderlyingType ~ TypeElem LogicOp ChannelType chan <- ParenthesizedType QualifiedType TypeName ParameterizedType ] [ TypeArgs ArrayType SliceType MapType map LiteralValue Element Key : Element Key ParenthesizedExpr FunctionLiteral Block Conversion SelectorExpr IndexExpr SliceExpr TypeAssertion CallExpr ParameterizedExpr Arguments CallExpr make new Arguments UnaryExp ArithOp LogicOp BitOp DerefOp BinaryExp ArithOp BitOp BitOp CompareOp LogicOp LogicOp SendStatement IncDecStatement IncDecOp Assignment = UpdateOp VarDecl := ConstDecl const ConstSpec SpecList TypeDecl type TypeSpec TypeParams TypeParam SpecList VarDecl var VarSpec SpecList LabeledStatement LabelName IfStatement if else SwitchStatement switch SwitchBlock Case case default TypeSwitchStatement SwitchBlock Case ForStatement for ForClause RangeClause range GoStatement go SelectStatement select SelectBlock Case ReceiveStatement ReturnStatement return GotoStatement break continue goto FallthroughStatement fallthrough DeferStatement defer FunctionDecl MethodDecl",maxTerm:218,context:Oy,nodeProps:[["isolate",-3,2,12,20,""],["group",-18,12,17,18,19,20,21,22,66,67,69,70,71,72,73,74,77,81,86,"Expr",-20,16,68,93,94,96,99,101,105,111,115,117,120,126,129,134,136,141,143,147,149,"Statement",-12,23,31,33,38,46,49,50,51,52,56,57,58,"Type"],["openedBy",13,"(",25,"{",53,"["],["closedBy",14,")",26,"}",54,"]"]],propSources:[iy],skippedNodes:[0,1,2,153],repeatNodeCount:23,tokenData:":b~RvXY#iYZ#i]^#ipq#iqr#zrs$Xuv&Pvw&^wx&yxy(qyz(vz{({{|)T|})e}!O)j!O!P)u!P!Q+}!Q!R,y!R![-t![!]2^!]!^2k!^!_2p!_!`3]!`!a3e!c!}3x!}#O4j#P#Q4o#Q#R4t#R#S4|#S#T9X#T#o3x#o#p9q#p#q9v#q#r:W#r#s:]$g;'S3x;'S;=`4d<%lO3x~#nS$y~XY#iYZ#i]^#ipq#iU$PP%hQ!_!`$SS$XO!|S~$^W[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y<%lO$X~${O[~~%ORO;'S$X;'S;=`%X;=`O$X~%^X[~OY$XZr$Xrs$vs#O$X#O#P${#P;'S$X;'S;=`%y;=`<%l$X<%lO$X~%|P;=`<%l$X~&UP%l~!_!`&X~&^O#U~~&cR%j~vw&l!_!`&X#Q#R&q~&qO%p~~&vP%o~!_!`&X~'OWd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k<%lO&y~'mOd~~'pRO;'S&y;'S;=`'y;=`O&y~(OXd~OY&yZw&ywx'hx#O&y#O#P'm#P;'S&y;'S;=`(k;=`<%l&y<%lO&y~(nP;=`<%l&y~(vO^~~({O]~~)QP%Y~!_!`&X~)YQ%f~{|)`!_!`&X~)eO#R~~)jOn~~)oQ%g~}!O)`!_!`&X~)zRZS!O!P*T!Q![*`#R#S+w~*WP!O!P*Z~*`Ou~Q*eTaQ!Q![*`!g!h*t#R#S+w#X#Y*t#]#^+rQ*wS{|+T}!O+T!Q![+^#R#S+lQ+WQ!Q![+^#R#S+lQ+cRaQ!Q![+^#R#S+l#]#^+rQ+oP!Q![+^Q+wOaQQ+zP!Q![*`~,SR%k~z{,]!P!Q,b!_!`&X~,bO$z~~,gSP~OY,bZ;'S,b;'S;=`,s<%lO,b~,vP;=`<%l,bQ-O[aQ!O!P*`!Q![-t!d!e.c!g!h*t!q!r/Z!z!{/x#R#S.]#U#V.c#X#Y*t#]#^+r#c#d/Z#l#m/xQ-yUaQ!O!P*`!Q![-t!g!h*t#R#S.]#X#Y*t#]#^+rQ.`P!Q![-tQ.fR!Q!R.o!R!S.o#R#S/QQ.tSaQ!Q!R.o!R!S.o#R#S/Q#]#^+rQ/TQ!Q!R.o!R!S.oQ/^Q!Q!Y/d#R#S/rQ/iRaQ!Q!Y/d#R#S/r#]#^+rQ/uP!Q!Y/dQ/{T!O!P0[!Q![1c!c!i1c#R#S2Q#T#Z1cQ0_S!Q![0k!c!i0k#R#S1V#T#Z0kQ0pVaQ!Q![0k!c!i0k!r!s*t#R#S1V#T#Z0k#]#^+r#d#e*tQ1YR!Q![0k!c!i0k#T#Z0kQ1hWaQ!O!P0k!Q![1c!c!i1c!r!s*t#R#S2Q#T#Z1c#]#^+r#d#e*tQ2TR!Q![1c!c!i1c#T#Z1c~2cP!a~!_!`2f~2kO#W~~2pOV~~2uR!|S}!O3O!^!_3T!_!`$S~3TO!Q~~3YP%m~!_!`&X~3bP#T~!_!`$S~3jQ!|S!_!`$S!`!a3p~3uP%n~!_!`&X~3}V%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~4gP;=`<%l3x~4oO!W~~4tO!V~~4yP%i~!_!`&X~5RV%O~!Q![5h!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~5o^aQ%O~!O!P*`!Q![5h!c!g3x!g!h6k!h!}3x#R#S4|#T#X3x#X#Y6k#Y#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~6pX%O~{|+T}!O+T!Q![7]!c!}3x#R#S8P#T#o3x$g;'S3x;'S;=`4d<%lO3x~7dXaQ%O~!Q![7]!c!}3x#R#S8P#T#]3x#]#^8k#^#o3x$g;'S3x;'S;=`4d<%lO3x~8UV%O~!Q![7]!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~8rVaQ%O~!Q![3x!c!}3x#R#S3x#T#o3x$g;'S3x;'S;=`4d<%lO3x~9[TO#S9X#S#T$v#T;'S9X;'S;=`9k<%lO9X~9nP;=`<%l9X~9vOj~~9{Q%`~!_!`&X#p#q:R~:WO%q~~:]Oi~~:bO{~",tokenizers:[ey,1,2,new kt("j~RQYZXz{^~^O$|~~aP!P!Qd~iO$}~~",25,181)],topRules:{SourceFile:[0,3]},dynamicPrecedences:{19:1,51:-1,55:2,69:-1,108:-1},specialized:[{term:184,get:O=>ry[O]||-1}],tokenPrec:5451});var ny=[W("func ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"declaration",type:"keyword"}),W("func (${receiver}) ${name}(${params}) ${type} {\n ${}\n}",{label:"func",detail:"method declaration",type:"keyword"}),W("var ${name} = ${value}",{label:"var",detail:"declaration",type:"keyword"}),W("type ${name} ${type}",{label:"type",detail:"declaration",type:"keyword"}),W("const ${name} = ${value}",{label:"const",detail:"declaration",type:"keyword"}),W("type ${name} = ${type}",{label:"type",detail:"alias declaration",type:"keyword"}),W("for ${init}; ${test}; ${update} {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),W("for ${i} := range ${value} {\n ${}\n}",{label:"for",detail:"range",type:"keyword"}),W(`select { + \${} +}`,{label:"select",detail:"statement",type:"keyword"}),W("case ${}:\n${}",{label:"case",type:"keyword"}),W("switch ${} {\n ${}\n}",{label:"switch",detail:"statement",type:"keyword"}),W("switch ${}.(${type}) {\n ${}\n}",{label:"switch",detail:"type statement",type:"keyword"}),W("if ${} {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),W(`if \${} { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),W('import ${name} "${module}"\n${}',{label:"import",detail:"declaration",type:"keyword"})],R$=new Tt,q$=new Set(["SourceFile","Block","FunctionDecl","MethodDecl","FunctionLiteral","ForStatement","SwitchStatement","TypeSwitchStatement","IfStatement"]);function Pi(O,e){return(t,i)=>{e:for(let r=t.node.firstChild,n=0,s=null;;){for(;!r;){if(!n)break e;n--,r=s.nextSibling,s=s.parent}e&&r.name==e||r.name=="SpecList"?(n++,s=r,r=r.firstChild):(r.name=="DefName"&&i(r,O),r=r.nextSibling)}return!0}}var sy={FunctionDecl:Pi("function"),VarDecl:Pi("var","VarSpec"),ConstDecl:Pi("constant","ConstSpec"),TypeDecl:Pi("type","TypeSpec"),ImportDecl:Pi("constant","ImportSpec"),Parameter:Pi("var"),__proto__:null};function z$(O,e){let t=R$.get(e);if(t)return t;let i=[],r=!0;function n(s,a){let o=O.sliceString(s.from,s.to);i.push({label:o,type:a})}return e.cursor(C.IncludeAnonymous).iterate(s=>{if(r)r=!1;else if(s.name){let a=sy[s.name];if(a&&a(s,n)||q$.has(s.name))return!1}else if(s.to-s.from>8192){for(let a of z$(O,s.node))i.push(a);return!1}}),R$.set(e,i),i}var V$=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,U$=["String","LineComment","BlockComment","DefName","LabelName","FieldName",".","?."],ay=O=>{let e=U(O.state).resolveInner(O.pos,-1);if(U$.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&V$.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)q$.has(r.name)&&(i=i.concat(z$(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:V$}},Jl=ne.define({name:"go",parser:_$.configure({props:[se.add({IfStatement:le({except:/^\s*({|else\b)/}),LabeledStatement:sO,"SwitchBlock SelectBlock":O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t||i?0:O.unit)},Block:be({closing:"}"}),BlockComment:()=>null,Statement:le({except:/^{/})}),te.add({"Block SwitchBlock SelectBlock LiteralValue InterfaceType StructType SpecList":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case\b|default\b|\})$/}}),oy=O=>({label:O,type:"keyword"}),ly="interface struct chan map package go return break continue goto fallthrough else defer range true false nil".split(" ").map(oy);function W$(){let O=ny.concat(ly);return new J(Jl,[Jl.data.of({autocomplete:cO(U$,zt(O))}),Jl.data.of({autocomplete:ay})])}var cy=55,hy=1,fy=56,dy=2,uy=57,Qy=3,j$=4,$y=5,rc=6,I$=7,B$=8,N$=9,F$=10,py=11,my=12,gy=13,ec=58,Py=14,Sy=15,C$=59,H$=21,Xy=23,K$=24,Ty=25,Oc=27,J$=28,by=29,yy=32,xy=35,ky=37,wy=38,Zy=0,vy=1,Yy={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},_y={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},G$={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Ry(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}var E$=null,A$=null,L$=0;function ic(O,e){let t=O.pos+e;if(L$==t&&A$==O)return E$;let i=O.peek(e),r="";for(;Ry(i);)r+=String.fromCharCode(i),i=O.peek(++e);return A$=O,L$=t,E$=r?r.toLowerCase():i==Vy||i==qy?void 0:null}var ep=60,xs=62,nc=47,Vy=63,qy=33,zy=45;function M$(O,e){this.name=O,this.parent=e}var Uy=[rc,F$,I$,B$,N$],Wy=new Ge({start:null,shift(O,e,t,i){return Uy.indexOf(e)>-1?new M$(ic(i,1)||"",O):O},reduce(O,e){return e==H$&&O?O.parent:O},reuse(O,e,t,i){let r=e.type.id;return r==rc||r==ky?new M$(ic(i,1)||"",O):O},strict:!1}),jy=new z((O,e)=>{if(O.next!=ep){O.next<0&&e.context&&O.acceptToken(ec);return}O.advance();let t=O.next==nc;t&&O.advance();let i=ic(O,0);if(i===void 0)return;if(!i)return O.acceptToken(t?Sy:Py);let r=e.context?e.context.name:null;if(t){if(i==r)return O.acceptToken(py);if(r&&_y[r])return O.acceptToken(ec,-2);if(e.dialectEnabled(Zy))return O.acceptToken(my);for(let n=e.context;n;n=n.parent)if(n.name==i)return;O.acceptToken(gy)}else{if(i=="script")return O.acceptToken(I$);if(i=="style")return O.acceptToken(B$);if(i=="textarea")return O.acceptToken(N$);if(Yy.hasOwnProperty(i))return O.acceptToken(F$);r&&G$[r]&&G$[r][i]?O.acceptToken(ec,-1):O.acceptToken(rc)}},{contextual:!0}),Cy=new z(O=>{for(let e=0,t=0;;t++){if(O.next<0){t&&O.acceptToken(C$);break}if(O.next==zy)e++;else if(O.next==xs&&e>=2){t>=3&&O.acceptToken(C$,-2);break}else e=0;O.advance()}});function Gy(O){for(;O;O=O.parent)if(O.name=="svg"||O.name=="math")return!0;return!1}var Ey=new z((O,e)=>{if(O.next==nc&&O.peek(1)==xs){let t=e.dialectEnabled(vy)||Gy(e.context);O.acceptToken(t?$y:j$,2)}else O.next==xs&&O.acceptToken(j$,1)});function sc(O,e,t){let i=2+O.length;return new z(r=>{for(let n=0,s=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(e);break}if(n==0&&r.next==ep||n==1&&r.next==nc||n>=2&&ns?r.acceptToken(e,-s):r.acceptToken(t,-(s-2));break}else if((r.next==10||r.next==13)&&a){r.acceptToken(e,1);break}else n=s=0;r.advance()}})}var Ay=sc("script",cy,hy),Ly=sc("style",fy,dy),My=sc("textarea",uy,Qy),Dy=F({"Text RawText IncompleteTag IncompleteCloseTag":d.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,"AttributeValue UnquotedAttributeValue":d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta}),tp=Oe.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:Wy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Dy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let l=a.type.id;if(l==by)return tc(a,o,t);if(l==yy)return tc(a,o,i);if(l==xy)return tc(a,o,r);if(l==H$&&n.length){let c=a.node,h=c.firstChild,f=h&&D$(h,o),u;if(f){for(let Q of n)if(Q.tag==f&&(!Q.attrs||Q.attrs(u||(u=Op(h,o))))){let $=c.lastChild,p=$.type.id==wy?$.from:c.to;if(p>h.to)return{parser:Q.parser,overlay:[{from:h.to,to:p}]}}}}if(s&&l==K$){let c=a.node,h;if(h=c.firstChild){let f=s[o.read(h.from,h.to)];if(f)for(let u of f){if(u.tagName&&u.tagName!=D$(c.parent,o))continue;let Q=c.lastChild;if(Q.type.id==Oc){let $=Q.from+1,p=Q.lastChild,m=Q.to-(p&&p.isError?0:1);if(m>$)return{parser:u.parser,overlay:[{from:$,to:m}],bracketed:!0}}else if(Q.type.id==J$)return{parser:u.parser,overlay:[{from:Q.from,to:Q.to}]}}}}return null})}var Iy=316,By=317,ip=1,Ny=2,Fy=3,Hy=4,Ky=318,Jy=320,ex=321,tx=5,Ox=6,ix=0,lc=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],rp=125,rx=59,cc=47,nx=42,sx=43,ax=45,ox=60,lx=44,cx=63,hx=46,fx=91,dx=new Ge({start:!1,shift(O,e){return e==tx||e==Ox||e==Jy?O:e==ex},strict:!1}),ux=new z((O,e)=>{let{next:t}=O;(t==rp||t==-1||e.context)&&O.acceptToken(Ky)},{contextual:!0,fallback:!0}),Qx=new z((O,e)=>{let{next:t}=O,i;lc.indexOf(t)>-1||t==cc&&((i=O.peek(1))==cc||i==nx)||t!=rp&&t!=rx&&t!=-1&&!e.context&&O.acceptToken(Iy)},{contextual:!0}),$x=new z((O,e)=>{O.next==fx&&!e.context&&O.acceptToken(By)},{contextual:!0}),px=new z((O,e)=>{let{next:t}=O;if(t==sx||t==ax){if(O.advance(),t==O.next){O.advance();let i=!e.context&&e.canShift(ip);O.acceptToken(i?ip:Ny)}}else t==cx&&O.peek(1)==hx&&(O.advance(),O.advance(),(O.next<48||O.next>57)&&O.acceptToken(Fy))},{contextual:!0});function oc(O,e){return O>=65&&O<=90||O>=97&&O<=122||O==95||O>=192||!e&&O>=48&&O<=57}var mx=new z((O,e)=>{if(O.next!=ox||!e.dialectEnabled(ix)||(O.advance(),O.next==cc))return;let t=0;for(;lc.indexOf(O.next)>-1;)O.advance(),t++;if(oc(O.next,!0)){for(O.advance(),t++;oc(O.next,!1);)O.advance(),t++;for(;lc.indexOf(O.next)>-1;)O.advance(),t++;if(O.next==lx)return;for(let i=0;;i++){if(i==7){if(!oc(O.next,!0))return;break}if(O.next!="extends".charCodeAt(i))break;O.advance(),t++}}O.acceptToken(Hy,-t)}),gx=F({"get set async static":d.modifier,"for while do if else switch try catch finally return throw break continue default case defer":d.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":d.operatorKeyword,"let var const using function class extends":d.definitionKeyword,"import export from":d.moduleKeyword,"with debugger new":d.keyword,TemplateString:d.special(d.string),super:d.atom,BooleanLiteral:d.bool,this:d.self,null:d.null,Star:d.modifier,VariableName:d.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":d.function(d.variableName),VariableDefinition:d.definition(d.variableName),Label:d.labelName,PropertyName:d.propertyName,PrivatePropertyName:d.special(d.propertyName),"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),"FunctionDeclaration/VariableDefinition":d.function(d.definition(d.variableName)),"ClassDeclaration/VariableDefinition":d.definition(d.className),"NewExpression/VariableName":d.className,PropertyDefinition:d.definition(d.propertyName),PrivatePropertyDefinition:d.definition(d.special(d.propertyName)),UpdateOp:d.updateOperator,"LineComment Hashbang":d.lineComment,BlockComment:d.blockComment,Number:d.number,String:d.string,Escape:d.escape,ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,RegExp:d.regexp,Equals:d.definitionOperator,Arrow:d.function(d.punctuation),": Spread":d.punctuation,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,"InterpolationStart InterpolationEnd":d.special(d.brace),".":d.derefOperator,", ;":d.separator,"@":d.meta,TypeName:d.typeName,TypeDefinition:d.definition(d.typeName),"type enum interface implements namespace module declare":d.definitionKeyword,"abstract global Privacy readonly override":d.modifier,"is keyof unique infer asserts":d.operatorKeyword,JSXAttributeValue:d.attributeValue,JSXText:d.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":d.angleBracket,"JSXIdentifier JSXNameSpacedName":d.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":d.attributeName,"JSXBuiltin/JSXIdentifier":d.standard(d.tagName)}),Px={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},Sx={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Xx={__proto__:null,"<":193},np=Oe.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:dx,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[gx],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Qx,$x,px,mx,2,3,4,5,6,7,8,9,10,11,12,13,14,ux,new kt("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new kt("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:O=>Px[O]||-1},{term:343,get:O=>Sx[O]||-1},{term:95,get:O=>Xx[O]||-1}],tokenPrec:15201});var lp=[W("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),W("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),W("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),W("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),W("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),W(`try { + \${} +} catch (\${error}) { + \${} +}`,{label:"try",detail:"/ catch block",type:"keyword"}),W("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),W(`if (\${}) { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),W(`class \${name} { + constructor(\${params}) { + \${} + } +}`,{label:"class",detail:"definition",type:"keyword"}),W('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),W('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Tx=lp.concat([W("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),W("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),W("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),sp=new Tt,cp=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function kr(O){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,O),!0}}var bx=["FunctionDeclaration"],yx={FunctionDeclaration:kr("function"),ClassDeclaration:kr("class"),ClassExpression:()=>!0,EnumDeclaration:kr("constant"),TypeAliasDeclaration:kr("type"),NamespaceDeclaration:kr("namespace"),VariableDefinition(O,e){O.matchContext(bx)||e(O,"variable")},TypeDefinition(O,e){e(O,"type")},__proto__:null};function hp(O,e){let t=sp.get(e);if(t)return t;let i=[],r=!0;function n(s,a){let o=O.sliceString(s.from,s.to);i.push({label:o,type:a})}return e.cursor(C.IncludeAnonymous).iterate(s=>{if(r)r=!1;else if(s.name){let a=yx[s.name];if(a&&a(s,n)||cp.has(s.name))return!1}else if(s.to-s.from>8192){for(let a of hp(O,s.node))i.push(a);return!1}}),sp.set(e,i),i}var ap=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,fp=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function xx(O){let e=U(O.state).resolveInner(O.pos,-1);if(fp.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&ap.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)cp.has(r.name)&&(i=i.concat(hp(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:ap}}var pt=ne.define({name:"javascript",parser:np.configure({props:[se.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:sO,SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:be({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"TemplateString BlockComment":()=>null,"Statement Property":le({except:/^\s*{/}),JSXElement(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},JSXEscape(O){let e=/\s*\}/.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"JSXOpenTag JSXSelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),te.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),dp={test:O=>/^JSX/.test(O.name),facet:or({commentTokens:{block:{open:"{/*",close:"*/}"}}})},hc=pt.configure({dialect:"ts"},"typescript"),fc=pt.configure({dialect:"jsx",props:[Dn.add(O=>O.isTop?[dp]:void 0)]}),dc=pt.configure({dialect:"jsx ts",props:[Dn.add(O=>O.isTop?[dp]:void 0)]},"typescript"),up=O=>({label:O,type:"keyword"}),Qp="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(up),kx=Qp.concat(["declare","implements","private","protected","public"].map(up));function ks(O={}){let e=O.jsx?O.typescript?dc:fc:O.typescript?hc:pt,t=O.typescript?Tx.concat(kx):lp.concat(Qp);return new J(e,[pt.data.of({autocomplete:cO(fp,zt(t))}),pt.data.of({autocomplete:xx}),O.jsx?vx:[]])}function wx(O){for(;;){if(O.name=="JSXOpenTag"||O.name=="JSXSelfClosingTag"||O.name=="JSXFragmentTag")return O;if(O.name=="JSXEscape"||!O.parent)return null;O=O.parent}}function op(O,e,t=O.length){for(let i=e?.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return O.sliceString(i.from,Math.min(i.to,t));return""}var Zx=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),vx=T.inputHandler.of((O,e,t,i,r)=>{if((Zx?O.composing:O.compositionStarted)||O.state.readOnly||e!=t||i!=">"&&i!="/"||!pt.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var l;let{head:c}=o,h=U(s).resolveInner(c-1,-1),f;if(h.name=="JSXStartTag"&&(h=h.parent),!(s.doc.sliceString(c-1,c)!=i||h.name=="JSXAttributeValue"&&h.to>c)){if(i==">"&&h.name=="JSXFragmentTag")return{range:o,changes:{from:c,insert:""}};if(i=="/"&&h.name=="JSXStartCloseTag"){let u=h.parent,Q=u.parent;if(Q&&u.from==c-2&&((f=op(s.doc,Q.firstChild,c))||((l=Q.firstChild)===null||l===void 0?void 0:l.name)=="JSXFragmentTag")){let $=`${f}>`;return{range:S.cursor(c+$.length,-1),changes:{from:c,insert:$}}}}else if(i==">"){let u=wx(h);if(u&&u.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(s.doc.sliceString(c,c+2))&&(f=op(s.doc,u,c)))return{range:o,changes:{from:c,insert:``}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var wr=["_blank","_self","_top","_parent"],uc=["ascii","utf-8","utf-16","latin1","latin1"],Qc=["get","post","put","delete"],$c=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Ke=["true","false"],_={},Yx={a:{attrs:{href:null,ping:null,type:null,media:null,target:wr,hreflang:null}},abbr:_,address:_,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:_,aside:_,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:_,base:{attrs:{href:null,target:wr}},bdi:_,bdo:_,blockquote:{attrs:{cite:null}},body:_,br:_,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:$c,formmethod:Qc,formnovalidate:["novalidate"],formtarget:wr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:_,center:_,cite:_,code:_,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:_,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:_,div:_,dl:_,dt:_,em:_,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:_,figure:_,footer:_,form:{attrs:{action:null,name:null,"accept-charset":uc,autocomplete:["on","off"],enctype:$c,method:Qc,novalidate:["novalidate"],target:wr}},h1:_,h2:_,h3:_,h4:_,h5:_,h6:_,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:_,hgroup:_,hr:_,html:{attrs:{manifest:null}},i:_,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:$c,formmethod:Qc,formnovalidate:["novalidate"],formtarget:wr,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:_,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:_,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:_,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:uc,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:_,noscript:_,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:_,param:{attrs:{name:null,value:null}},pre:_,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:_,rt:_,ruby:_,samp:_,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:uc}},section:_,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:_,source:{attrs:{src:null,type:null,media:null}},span:_,strong:_,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:_,summary:_,sup:_,table:_,tbody:_,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:_,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:_,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:_,time:{attrs:{datetime:null}},title:_,tr:_,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:_,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:_},gp={accesskey:null,class:null,contenteditable:Ke,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Ke,autocorrect:Ke,autocapitalize:Ke,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Ke,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Ke,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Ke,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Ke,"aria-hidden":Ke,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Ke,"aria-multiselectable":Ke,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Ke,"aria-relevant":null,"aria-required":Ke,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Pp="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(O=>"on"+O);for(let O of Pp)gp[O]=null;var qO=class{constructor(e,t){this.tags={...Yx,...e},this.globalAttrs={...gp,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};qO.default=new qO;function Si(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}function Xi(O,e=!1){for(;O;O=O.parent)if(O.name=="Element")if(e)e=!1;else return O;return null}function Sp(O,e,t){let i=t.tags[Si(O,Xi(e))];return i?.children||t.allTags}function pc(O,e){let t=[];for(let i=Xi(e);i&&!i.type.isTop;i=Xi(i.parent)){let r=Si(O,i);if(r&&i.lastChild.name=="CloseTag")break;r&&t.indexOf(r)<0&&(e.name=="EndTag"||e.from>=i.firstChild.to)&&t.push(r)}return t}var Xp=/^[:\-\.\w\u00b7-\uffff]*$/;function $p(O,e,t,i,r){let n=/\s*>/.test(O.sliceDoc(r,r+5))?"":">",s=Xi(t,t.name=="StartTag"||t.name=="TagName");return{from:i,to:r,options:Sp(O.doc,s,e).map(a=>({label:a,type:"type"})).concat(pc(O.doc,t).map((a,o)=>({label:"/"+a,apply:"/"+a+n,type:"type",boost:99-o}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function pp(O,e,t,i){let r=/\s*>/.test(O.sliceDoc(i,i+5))?"":">";return{from:t,to:i,options:pc(O.doc,e).map((n,s)=>({label:n,apply:n+r,type:"type",boost:99-s})),validFor:Xp}}function _x(O,e,t,i){let r=[],n=0;for(let s of Sp(O.doc,t,e))r.push({label:"<"+s,type:"type"});for(let s of pc(O.doc,t))r.push({label:"",type:"type",boost:99-n++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function Rx(O,e,t,i,r){let n=Xi(t),s=n?e.tags[Si(O.doc,n)]:null,a=s&&s.attrs?Object.keys(s.attrs):[],o=s&&s.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:i,to:r,options:o.map(l=>({label:l,type:"property"})),validFor:Xp}}function Vx(O,e,t,i,r){var n;let s=(n=t.parent)===null||n===void 0?void 0:n.getChild("AttributeName"),a=[],o;if(s){let l=O.sliceDoc(s.from,s.to),c=e.globalAttrs[l];if(!c){let h=Xi(t),f=h?e.tags[Si(O.doc,h)]:null;c=f?.attrs&&f.attrs[l]}if(c){let h=O.sliceDoc(i,r).toLowerCase(),f='"',u='"';/^['"]/.test(h)?(o=h[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",u=O.sliceDoc(r,r+1)==h[0]?"":h[0],h=h.slice(1),i++):o=/^[^\s<>='"]*$/;for(let Q of c)a.push({label:Q,apply:f+Q+u,type:"constant"})}}return{from:i,to:r,options:a,validFor:o}}function Tp(O,e){let{state:t,pos:i}=e,r=U(t).resolveInner(i,-1),n=r.resolve(i);for(let s=i,a;n==r&&(a=r.childBefore(s));){let o=a.lastChild;if(!o||!o.type.isError||o.fromTp(i,r)}var zx=pt.parser.configure({top:"SingleExpression"}),yp=[{tag:"script",attrs:O=>O.type=="text/typescript"||O.lang=="ts",parser:hc.parser},{tag:"script",attrs:O=>O.type=="text/babel"||O.type=="text/jsx",parser:fc.parser},{tag:"script",attrs:O=>O.type=="text/typescript-jsx",parser:dc.parser},{tag:"script",attrs(O){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(O.type)},parser:zx},{tag:"script",attrs(O){return!O.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(O.type)},parser:pt.parser},{tag:"style",attrs(O){return(!O.lang||O.lang=="css")&&(!O.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(O.type))},parser:xr.parser}],xp=[{name:"style",parser:xr.parser.configure({top:"Styles"})}].concat(Pp.map(O=>({name:O,parser:pt.parser}))),kp=ne.define({name:"html",parser:tp.configure({props:[se.add({Element(O){let e=/^(\s*)(<\/)?/.exec(O.textAfter);return O.node.to<=O.pos+e[0].length?O.continue():O.lineIndent(O.node.from)+(e[2]?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit},Document(O){if(O.pos+/\s*/.exec(O.textAfter)[0].lengthO.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ws=kp.configure({wrap:ac(yp,xp)});function Ti(O={}){let e="",t;O.matchClosingTags===!1&&(e="noMatch"),O.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(O.nestedLanguages&&O.nestedLanguages.length||O.nestedAttributes&&O.nestedAttributes.length)&&(t=ac((O.nestedLanguages||[]).concat(yp),(O.nestedAttributes||[]).concat(xp)));let i=t?kp.configure({wrap:t,dialect:e}):e?ws.configure({dialect:e}):ws;return new J(i,[ws.data.of({autocomplete:qx(O)}),O.autoCloseTags!==!1?Ux:[],ks().support,ys().support])}var mp=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),Ux=T.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!ws.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var l,c,h;let f=s.doc.sliceString(o.from-1,o.to)==i,{head:u}=o,Q=U(s).resolveInner(u,-1),$;if(f&&i==">"&&Q.name=="EndTag"){let p=Q.parent;if(((c=(l=p.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&($=Si(s.doc,p.parent,u))&&!mp.has($)){let m=u+(s.doc.sliceString(u,u+1)===">"?1:0),g=``;return{range:o,changes:{from:u,to:m,insert:g}}}}else if(f&&i=="/"&&Q.name=="IncompleteCloseTag"){let p=Q.parent;if(Q.from==u-2&&((h=p.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&($=Si(s.doc,p,u))&&!mp.has($)){let m=u+(s.doc.sliceString(u,u+1)===">"?1:0),g=`${$}>`;return{range:S.cursor(u+g.length,-1),changes:{from:u,to:m,insert:g}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Wx=F({null:d.null,instanceof:d.operatorKeyword,this:d.self,"new super assert open to with void":d.keyword,"class interface extends implements enum var":d.definitionKeyword,"module package import":d.moduleKeyword,"switch while for if else case default do break continue return try catch finally throw":d.controlKeyword,"requires exports opens uses provides public private protected static transitive abstract final strictfp synchronized native transient volatile throws":d.modifier,IntegerLiteral:d.integer,FloatingPointLiteral:d.float,"StringLiteral TextBlock":d.string,CharacterLiteral:d.character,LineComment:d.lineComment,BlockComment:d.blockComment,BooleanLiteral:d.bool,PrimitiveType:d.standard(d.typeName),TypeName:d.typeName,Identifier:d.variableName,"MethodName/Identifier":d.function(d.variableName),Definition:d.definition(d.variableName),ArithOp:d.arithmeticOperator,LogicOp:d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,UpdateOp:d.updateOperator,Asterisk:d.punctuation,Label:d.labelName,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),jx={__proto__:null,true:34,false:34,null:42,void:46,byte:48,short:48,int:48,long:48,char:48,float:48,double:48,boolean:48,extends:62,super:64,class:76,this:78,new:84,public:100,protected:102,private:104,abstract:106,static:108,final:110,strictfp:112,default:114,synchronized:116,native:118,transient:120,volatile:122,throws:150,implements:160,interface:166,enum:176,instanceof:238,open:267,module:269,requires:274,transitive:276,exports:278,to:280,opens:282,uses:284,provides:286,with:288,package:292,import:296,if:308,else:310,while:314,for:318,var:325,assert:332,switch:336,case:342,do:346,break:350,continue:354,return:358,throw:364,try:368,catch:372,finally:380},wp=Oe.deserialize({version:14,states:"##jQ]QPOOQ$wQPOOO(bQQO'#H^O*iQQO'#CbOOQO'#Cb'#CbO*pQPO'#CaO*xOSO'#CpOOQO'#Hc'#HcOOQO'#Cu'#CuO,eQPO'#D_O-OQQO'#HmOOQO'#Hm'#HmO/gQQO'#HhO/nQQO'#HhOOQO'#Hh'#HhOOQO'#Hg'#HgO1rQPO'#DUO2PQPO'#GnO4wQPO'#D_O5OQPO'#DzO*pQPO'#E[O5qQPO'#E[OOQO'#DV'#DVO7SQQO'#HaO9^QQO'#EeO9eQPO'#EdO9jQPO'#EfOOQO'#Hb'#HbO7jQQO'#HbO:pQQO'#FhO:wQPO'#ExO:|QPO'#E}O:|QPO'#FPOOQO'#Ha'#HaOOQO'#HY'#HYOOQO'#Gh'#GhOOQO'#HX'#HXO<^QPO'#FiOOQO'#HW'#HWOOQO'#Gg'#GgQ]QPOOOOQO'#Hs'#HsOQQPO'#GSO>]QPO'#GUO=kQPO'#GWO:|QPO'#GXO>dQPO'#GZO?QQQO'#HiO?mQQO'#CuO?tQPO'#HxO@SQPO'#D_O@rQPO'#DpO?wQPO'#DqO@|QPO'#HxOA_QPO'#DpOAgQPO'#IROAlQPO'#E`OOQO'#Hr'#HrOOQO'#Gm'#GmQ$wQPOOOAtQPO'#HsOOQO'#H^'#H^OCsQQO,58{OOQO'#H['#H[OOOO'#Gi'#GiOEfOSO,59[OOQO,59[,59[OOQO'#Hi'#HiOFVQPO,59eOGXQPO,59yOOQO-E:f-E:fO*pQPO,58zOG{QPO,58zO*pQPO,5;}OHQQPO'#DQOHVQPO'#DQOOQO'#Gk'#GkOIVQQO,59jOOQO'#Dm'#DmOJqQPO'#HuOJ{QPO'#DlOKZQPO'#HtOKcQPO,5<_OKhQPO,59^OLRQPO'#CxOOQO,59c,59cOLYQPO,59bOLeQQO'#H^ONgQQO'#CbO!!iQPO'#D_O!#nQQO'#HmO!$OQQO,59pO!$VQPO'#DvO!$eQPO'#H|O!$mQPO,5:`O!$rQPO,5:`O!%YQPO,5;nO!%eQPO'#ITO!%pQPO,5;eO!%uQPO,5=YOOQO-E:l-E:lOOQO,5:f,5:fO!']QPO,5:fO!'dQPO,5:vO?tQPO,5<_O*pQPO,5:vO_,5>_O!*sQPO,5:gO!+RQPO,5:qO!+ZQPO,5:lO!+fQPO,5>[O!$VQPO,5>[O!'iQPO,59UO!+qQQO,58zO!+yQQO,5;}O!,RQQO,5gQPO,5gQPO,5<}O!2mQPO,59jO!2zQPO'#HuO!3RQPO,59xO!3WQPO,5>dO?tQPO,59xO!3cQPO,5:[OAlQPO,5:zO!3kQPO'#DrO?wQPO'#DrO!3vQPO'#HyO!4OQPO,5:]O?tQPO,5>dO!(hQPO,5>dOAgQPO,5>mOOQO,5:[,5:[O!$rQPO'#DtOOQO,5>m,5>mO!4TQPO'#EaOOQO,5:z,5:zO!7UQPO,5:zO!(hQPO'#DxOOQO-E:k-E:kOOQO,5:y,5:yO*pQPO,58}O!7ZQPO'#ChOOQO1G.k1G.kOOOO-E:g-E:gOOQO1G.v1G.vO!+qQQO1G.fO*pQPO1G.fO!7eQQO1G1iOOQO,59l,59lO!7mQPO,59lOOQO-E:i-E:iO!7rQPO,5>aO!8ZQPO,5:WO`OOQO1G1y1G1yOOQO1G.x1G.xO!8{QPO'#CyO!9kQPO'#HmO!9uQPO'#CzO!:TQPO'#HlO!:]QPO,59dOOQO1G.|1G.|OLYQPO1G.|O!:sQPO,59eO!;QQQO'#H^O!;cQQO'#CbOOQO,5:b,5:bOhOOQO1G/z1G/zO!oOOQO1G1P1G1POOQO1G0Q1G0QO!=oQPO'#E]OOQO1G0b1G0bO!>`QPO1G1yO!'dQPO1G0bO!*sQPO1G0RO!+RQPO1G0]O!+ZQPO1G0WOOQO1G/]1G/]O!>eQQO1G.pO9eQPO1G0jO*pQPO1G0jOgQPO'#GaOOQO1G2a1G2aO#2zQPO1G2iO#6xQPO,5>gOOQO1G/d1G/dOOQO1G4O1G4OO#7ZQPO1G/dOOQO1G/v1G/vOOQO1G0f1G0fO!7UQPO1G0fOOQO,5:^,5:^O!(hQPO'#DsO#7`QPO,5:^O?wQPO'#GrO#7kQPO,5>eOOQO1G/w1G/wOAgQPO'#H{O#7sQPO1G4OO?tQPO1G4OOOQO1G4X1G4XO!#YQPO'#DvO!!iQPO'#D_OOQO,5:{,5:{O#8OQPO,5:{O#8OQPO,5:{O#8VQQO'#HaO#9hQQO'#HbO#9rQQO'#EbO#9}QPO'#EbO#:VQPO'#IOOOQO,5:d,5:dOOQO1G.i1G.iO#:bQQO'#EeO#:rQQO'#H`O#;SQPO'#FTOOQO'#H`'#H`O#;^QPO'#H`O#;{QPO'#IWO#WOOQO1G/O1G/OOOQO7+$h7+$hOOQO1G/{1G/{O#=cQQO1G/{OOQO1G/}1G/}O#=hQPO1G/{OOQO1G/|1G/|OdQPO,5:wOOQO,5:w,5:wOOQO7+'e7+'eOOQO7+%|7+%|OOQO7+%m7+%mO!KqQPO7+%mO!KvQPO7+%mO!LOQPO7+%mOOQO7+%w7+%wO!LnQPO7+%wOOQO7+%r7+%rO!MmQPO7+%rO!MrQPO7+%rOOQO7+&U7+&UOOQO'#Ee'#EeO9eQPO7+&UO9eQPO,5>[O#?TQPO7+$[OOQO7+&T7+&TOOQO7+&W7+&WO:|QPO'#GlO#?cQPO,5>]OOQO1G/_1G/_O:|QPO7+&lO#?nQQO,59eO#@tQPO,59vOOQO,59v,59vOOQO,5:h,5:hOOQO'#EP'#EPOOQO,5:i,5:iO#@{QPO'#EYOgQPO,5jO#M{QPO,59TO#NSQPO'#IVO#N[QPO,5;oO*pQPO'#G{O#NaQPO,5>rOOQO1G.n1G.nOOQO<Z,5>ZOOQO,5=U,5=UOOQO-E:h-E:hO#NvQPO7+%gOOQO7+%g7+%gOOQO7+%i7+%iOOQO<kO$%tQPO'#EZOOQO1G0_1G0_O$%{QPO1G0_O?tQPO,5:pOOQO-E:s-E:sOOQO1G0Z1G0ZOOQO1G0n1G0nO$&QQQO1G0nOOQO<qOOQO1G1Z1G1ZO$+dQPO'#FUOOQO,5=g,5=gOOQO-E:y-E:yO$+iQPO'#GoO$+vQPO,5>cOOQO1G/u1G/uOOQO<sAN>sO!KqQPOAN>sOOQOAN>xAN>xOOQOAN?[AN?[O9eQPOAN?[OOQO1G0`1G0`O$,_QPO1G0`OOQO,5=b,5=bOOQO-E:t-E:tO$,mQPO,5:uOOQO7+%y7+%yOOQO7+&Y7+&YOOQO1G1`1G1`O$,tQQO1G1`OOQO-E:{-E:{O$,|QQO'#IYO$,wQPO1G1`O$&gQPO1G1`O*pQPO1G1`OOQOAN@]AN@]O$-XQQO<tO$.qQPO7+&zO$.vQQO'#IZOOQOAN@nAN@nO$/RQQOAN@nOOQOAN@jAN@jO$/YQPOAN@jO$/_QQO<uOOQOG26YG26YOOQOG26UG26UOOQO<lOWiXuiX%}iX&PiX&RiX&_iX~OZ!aX~P?XOu#OO%}TO&P#SO&R#SO~O%}TO~P3gOg^Oh^Ov#pO!u#rO!z#qO&_!hO&t#oO~O&P!cO&R!dO~P@ZOg^Oh^O%}TO&P!cO&R!dO~O}cO!P%aO~OZ%bO~O}%dO!m%gO~O}cOg&gXh&gXv&gX!S&gX!T&gX!U&gX!V&gX!W&gX!X&gX!Y&gX!Z&gX!]&gX!^&gX!_&gX!u&gX!z&gX%}&gX&P&gX&R&gX&_&gX&t&gX~OW%jOZ%kOgTahTa%}Ta&PTa&RTa~OvTa!STa!TTa!UTa!VTa!WTa!XTa!YTa!ZTa!]Ta!^Ta!_Ta!uTa!zTa#yTa#zTa$WTa$hTa&tTa&_TauTaYTaqTa|Ta!PTa~PC[O&W%nO&Y!tO~Ou#OO%}TOqma&^maYma&nma!Pma~O&vma}ma!rma~PEnO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!ZzO!]yO!^yO!_yO~Og!Rah!Rav!Ra!u!Ra!z!Ra$h!Ra&P!Ra&R!Ra&t!Ra&_!Ra~PFdO#z%pO~Os%rO~Ou%sO%}TO~Ou#OO%}ra&Pra&Rra&vraYrawra&nra&qra!Pra&^raqra~OWra#_ra#ara#bra#dra#era#fra#gra#hra#ira#kra#ora#rra&_ra#prasra|ra~PH_Ou#OO%}TOq&iX!P&iX!b&iX~OY&iX#p&iX~PJ`O!b%vOq!`X!P!`XY!`X~Oq%wO!P&hX~O!P%yO~Ov%zO~Og^Oh^O%}0oO&P!wO&RWO&b%}O~O&^&`P~PKmO%}TO&P!wO&RWO~OW&QXYiXY!aXY&QXZ&QXq!aXu&QXwiX!b&QX#]&QX#_&QX#a&QX#b&QX#d&QX#e&QX#f&QX#g&QX#h&QX#i&QX#k&QX#o&QX#r&QX&^&QX&_&QX&niX&n&QX&qiX&viX&v&QX&x!aX~P?XOWUXYUXY!aXY&]XZUXq!aXuUXw&]X!bUX#]UX#_UX#aUX#bUX#dUX#eUX#fUX#gUX#hUX#iUX#kUX#oUX#rUX&^UX&_UX&nUX&n&]X&q&]X&vUX&v&]X&x!aX~P>lOg^Oh^O%}TO&P!wO&RWOg!RXh!RX&P!RX&R!RX~PFdOu#OOw&XO%}TO&P&UO&R&TO&q&WO~OW#XOY&aX&n&aX&v&aX~P!#YOY&ZO~P9oOg^Oh^O&P!wO&RWO~Oq&]OY&pX~OY&_O~Og^Oh^O%}TO&P!wO&RWOY&pP~PFdOY&dO&n&bO&v#vO~Oq&eO&x$ZOY&wX~OY&gO~O%}TOg%bah%bav%ba!S%ba!T%ba!U%ba!V%ba!W%ba!X%ba!Y%ba!Z%ba!]%ba!^%ba!_%ba!u%ba!z%ba$h%ba&P%ba&R%ba&t%ba&_%ba~O|&hO~P]O}&iO~Op&uOw&vO&PSO&R!qO&_#YO~Oz&tO~P!'iOz&xO&PSO&R!qO&_#YO~OY&eP~P:|Og^Oh^O%}TO&P!wO&RWO~O}cO~P:|OW#XOu#OO%}TO&v&aX~O#r$WO!P#sa#_#sa#a#sa#b#sa#d#sa#e#sa#f#sa#g#sa#h#sa#i#sa#k#sa#o#sa&^#sa&_#sa&n#saY#sa#p#sas#saq#sa|#sa~Oo'_O}'^O!r'`O&_!hO~O}'eO!r'`O~Oo'iO}'hO&_!hO~OZ#xOu'mO%}TO~OW%jO}'sO~OW%jO!P'uO~OW'vO!P'wO~O$h!WO&P0qO&R0pO!P&eP~P/uO!P(SO#p(TO~P9oO}(UO~O$c(WO~O!P(XO~O!P(YO~O!P(ZO~P9oO!P(]O~P9oOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdO%Q(hO%U(iOZ$}a_$}a`$}aa$}ab$}ac$}ae$}ag$}ah$}ap$}av$}aw$}az$}a}$}a!P$}a!S$}a!T$}a!U$}a!V$}a!W$}a!X$}a!Y$}a!Z$}a![$}a!]$}a!^$}a!_$}a!u$}a!z$}a#f$}a#r$}a#t$}a#u$}a#y$}a#z$}a$W$}a$Y$}a$`$}a$c$}a$e$}a$h$}a$l$}a$n$}a$s$}a$u$}a$w$}a$y$}a$|$}a%O$}a%w$}a%}$}a&P$}a&R$}a&X$}a&t$}a|$}a$a$}a$q$}a~O}ra!rra'Ora~PH_OZ%bO~PJ`O!P(mO~O!m%gO}&la!P&la~O}cO!P(pO~Oo(tOq!fX&^!fX~Oq(vO&^&mX~O&^(xO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op)UOv{Ow)TOz!OO|)PO}cO!PvO![!`O!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&_#YO&tdO~PFdO}%dO~O})]OY&zP~P:|OW%jO!P)dO~Os)eO~Ou#OO%}TOq&ia!P&ia!b&iaY&ia#p&ia~O})fO~P:|Oq%wO!P&ha~Og^Oh^O%}0oO&P!wO&RWO~O&b)mO~P!8jOu#OO%}TOq&aX&^&aXY&aX&n&aX!P&aX~O}&aX!r&aX~P!9SOo)oOp)oOqnX&^nX~Oq)pO&^&`X~O&^)rO~Ou#OOw)tO%}TO&PSO&R!qO~OYma&nma&vma~P!:bOW&QXY!aXq!aXu!aX%}!aX~OWUXY!aXq!aXu!aX%}!aX~OW)wO~Ou#OO%}TO&P#SO&R#SO&q)yO~Og^Oh^O%}TO&P!wO&RWO~PFdOq&]OY&pa~Ou#OO%}TO&P#SO&R#SO&q&WO~OY)|O~OY*PO&n&bO~Oq&eOY&wa~Og^Oh^Ov{O|*XO!u}O%}TO&P!wO&RWO&tdO~PFdO!P*YO~OW^iZ#XXu^i!P^i!b^i#]^i#_^i#a^i#b^i#d^i#e^i#f^i#g^i#h^i#i^i#k^i#o^i#r^i&^^i&_^i&n^i&v^iY^i#p^is^iq^i|^i~OW*iO~Os*jO~P9oOz*kO&PSO&R!qO~O!P]iY]i#p]is]iq]i|]i~P9oOq*lOY&eX!P&eX~P9oOY*nO~O#f$SO#g$TO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#h$UO#i$UO~P!AmO#_#|O#d$QO#e$RO#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO&n#{O!P#^i#b#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#a#^i~P!CUO#a#}O~P!CUO#_#|O#f$SO#g$TO#h$UO#i$UO#k$YO#r$WO&^#zO&_#zO!P#^i#a#^i#b#^i#d#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O&n#^i~P!DtO&n#{O~P!DtO#f$SO#g$TO#k$YO#r$WO!P#^i#a#^i#b#^i#e#^i#o#^iY#^i#p#^is#^iq#^i|#^i~O#_#|O#d$QO#h$UO#i$UO&^#zO&_#zO&n#{O~P!FdO#k$YO#r$WO!P#^i#_#^i#a#^i#b#^i#d#^i#e#^i#f#^i#h#^i#i#^i#o#^i&^#^i&_#^i&n#^iY#^i#p#^is#^iq#^i|#^i~O#g$TO~P!G{O#g#^i~P!G{O#h#^i#i#^i~P!AmO#p*oO~P9oO#_&aX#a&aX#b&aX#d&aX#e&aX#f&aX#g&aX#h&aX#i&aX#k&aX#o&aX#r&aX&_&aX#p&aXs&aX|&aX~P!9SO!P#liY#li#p#lis#liq#li|#li~P9oO|*rO~P$wO}'^O~O}'^O!r'`O~Oo'_O}'^O!r'`O~O%}TO&P#SO&R#SO|&sP!P&sP~PFdO}'eO~Og^Oh^Ov{O|+PO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdO}'hO~Oo'iO}'hO~Os+RO~P:|Ou+TO%}TO~Ou'mO})fO%}TOW#Zi!P#Zi#_#Zi#a#Zi#b#Zi#d#Zi#e#Zi#f#Zi#g#Zi#h#Zi#i#Zi#k#Zi#o#Zi#r#Zi&^#Zi&_#Zi&n#Zi&v#ZiY#Zi#p#Zis#Ziq#Zi|#Zi~O}'^OW&diu&di!P&di#_&di#a&di#b&di#d&di#e&di#f&di#g&di#h&di#i&di#k&di#o&di#r&di&^&di&_&di&n&di&v&diY&di#p&dis&diq&di|&di~O#}+]O$P+^O$R+^O$S+_O$T+`O~O|+[O~P##nO$Z+aO&PSO&R!qO~OW+bO!P+cO~O$a+dOZ$_i_$_i`$_ia$_ib$_ic$_ie$_ig$_ih$_ip$_iv$_iw$_iz$_i}$_i!P$_i!S$_i!T$_i!U$_i!V$_i!W$_i!X$_i!Y$_i!Z$_i![$_i!]$_i!^$_i!_$_i!u$_i!z$_i#f$_i#r$_i#t$_i#u$_i#y$_i#z$_i$W$_i$Y$_i$`$_i$c$_i$e$_i$h$_i$l$_i$n$_i$s$_i$u$_i$w$_i$y$_i$|$_i%O$_i%w$_i%}$_i&P$_i&R$_i&X$_i&t$_i|$_i$q$_i~Og^Oh^O$h#sO&P!wO&RWO~O!P+hO~P:|O!P+iO~OZ`O_VO`VOaVObVOcVOeVOg^Oh^Op!POv{OwkOz!OO}cO!PvO!SyO!TyO!UyO!VyO!WyO!XyO!YyO!Z+nO![!`O!]yO!^yO!_yO!u}O!z|O#fpO#roO#tpO#upO#y!RO#z!QO$W!SO$Y!TO$`!UO$c!VO$e!XO$h!WO$l!YO$n!ZO$q+oO$s![O$u!]O$w!^O$y!_O$|!aO%O!bO%}TO&PRO&RQO&XUO&tdO~O|+mO~P#)QOW&QXY&QXZ&QXu&QX!P&QX&viX&v&QX~P?XOWUXYUXZUXuUX!PUX&vUX&v&]X~P>lOW#tOu#uO&v#vO~OW&UXY%XXu&UX!P%XX&v&UX~OZ#XX~P#.VOY+uO!P+sO~O%Q(hO%U(iOZ$}i_$}i`$}ia$}ib$}ic$}ie$}ig$}ih$}ip$}iv$}iw$}iz$}i}$}i!P$}i!S$}i!T$}i!U$}i!V$}i!W$}i!X$}i!Y$}i!Z$}i![$}i!]$}i!^$}i!_$}i!u$}i!z$}i#f$}i#r$}i#t$}i#u$}i#y$}i#z$}i$W$}i$Y$}i$`$}i$c$}i$e$}i$h$}i$l$}i$n$}i$s$}i$u$}i$w$}i$y$}i$|$}i%O$}i%w$}i%}$}i&P$}i&R$}i&X$}i&t$}i|$}i$a$}i$q$}i~OZ+xO~O%Q(hO%U(iOZ%Vi_%Vi`%Via%Vib%Vic%Vie%Vig%Vih%Vip%Viv%Viw%Viz%Vi}%Vi!P%Vi!S%Vi!T%Vi!U%Vi!V%Vi!W%Vi!X%Vi!Y%Vi!Z%Vi![%Vi!]%Vi!^%Vi!_%Vi!u%Vi!z%Vi#f%Vi#r%Vi#t%Vi#u%Vi#y%Vi#z%Vi$W%Vi$Y%Vi$`%Vi$c%Vi$e%Vi$h%Vi$l%Vi$n%Vi$s%Vi$u%Vi$w%Vi$y%Vi$|%Vi%O%Vi%w%Vi%}%Vi&P%Vi&R%Vi&X%Vi&t%Vi|%Vi$a%Vi$q%Vi~Ou#OO%}TO}&oa!P&oa!m&oa~O!P,OO~Oo(tOq!fa&^!fa~Oq(vO&^&ma~O!m%gO}&li!P&li~O|,XO~P]OW,ZO~P5xOW&UXu&UX#_&UX#a&UX#b&UX#d&UX#e&UX#f&UX#g&UX#h&UX#i&UX#k&UX#o&UX#r&UX&^&UX&_&UX&n&UX&v&UX~OZ#xO!P&UX~P#8^OW$gOZ#xO&v#vO~Op,]Ow,]O~Oq,^O}&rX!P&rX~O!b,`O#]#wOY&UXZ#XX~P#8^OY&SXq&SX|&SX!P&SX~P9oO})]O|&yP~P:|OY&SXg%[Xh%[X%}%[X&P%[X&R%[Xq&SX|&SX!P&SX~Oq,cOY&zX~OY,eO~O})fO|&kP~P:|Oq&jX!P&jX|&jXY&jX~P9oO&bTa~PC[Oo)oOp)oOqna&^na~Oq)pO&^&`a~OW,mO~Ow,nO~Ou#OO%}TO&P,rO&R,qO~Og^Oh^Ov#pO!u#rO&P!wO&RWO&t#oO~Og^Oh^Ov{O|,wO!u}O%}TO&P!wO&RWO&tdO~PFdOw-SO&PSO&R!qO&_#YO~Oq*lOY&ea!P&ea~O#_ma#ama#bma#dma#ema#fma#gma#hma#ima#kma#oma#rma&_ma#pmasma|ma~PEnO|-WO~P$wOZ#xO}'^Oq!|X|!|X!P!|X~Oq-[O|&sX!P&sX~O|-_O!P-^O~O&_!hO~P5VOg^Oh^Ov{O|-cO!P*}O!u}O!z|O%}TO&P!wO&RWO&_!hO&tdO~PFdOs-dO~P9oOs-dO~P:|O}'^OW&dqu&dq!P&dq#_&dq#a&dq#b&dq#d&dq#e&dq#f&dq#g&dq#h&dq#i&dq#k&dq#o&dq#r&dq&^&dq&_&dq&n&dq&v&dqY&dq#p&dqs&dqq&dq|&dq~O|-hO~P##nO!W-lO$O-lO&PSO&R!qO~O!P-oO~O$Z-pO&PSO&R!qO~O!b%vO#p-rOq!`X!P!`X~O!P-tO~P9oO!P-tO~P:|O!P-wO~P9oO|-yO~P#)QO![$aO#p-zO~O!P-|O~O!b-}O~OY.QOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOY.QO!P.RO~O%Q(hO%U(iOZ%Vq_%Vq`%Vqa%Vqb%Vqc%Vqe%Vqg%Vqh%Vqp%Vqv%Vqw%Vqz%Vq}%Vq!P%Vq!S%Vq!T%Vq!U%Vq!V%Vq!W%Vq!X%Vq!Y%Vq!Z%Vq![%Vq!]%Vq!^%Vq!_%Vq!u%Vq!z%Vq#f%Vq#r%Vq#t%Vq#u%Vq#y%Vq#z%Vq$W%Vq$Y%Vq$`%Vq$c%Vq$e%Vq$h%Vq$l%Vq$n%Vq$s%Vq$u%Vq$w%Vq$y%Vq$|%Vq%O%Vq%w%Vq%}%Vq&P%Vq&R%Vq&X%Vq&t%Vq|%Vq$a%Vq$q%Vq~Ou#OO%}TO}&oi!P&oi!m&oi~O&n&bOq!ga&^!ga~O!m%gO}&lq!P&lq~O|.^O~P]Op.`Ow&vOz&tO&PSO&R!qO&_#YO~O!P.aO~Oq,^O}&ra!P&ra~O})]O~P:|Oq.gO|&yX~O|.iO~Oq,cOY&za~Oq.mO|&kX~O|.oO~Ow.pO~Oq!aXu!aX!P!aX!b!aX%}!aX~OZ&QX~P#N{OZUX~P#N{O!P.qO~OZ.rO~OW^yZ#XXu^y!P^y!b^y#]^y#_^y#a^y#b^y#d^y#e^y#f^y#g^y#h^y#i^y#k^y#o^y#r^y&^^y&_^y&n^y&v^yY^y#p^ys^yq^y|^y~OY%`aq%`a!P%`a~P9oO!P#nyY#ny#p#nys#nyq#ny|#ny~P9oO}'^Oq!|a|!|a!P!|a~OZ#xO}'^Oq!|a|!|a!P!|a~O%}TO&P#SO&R#SOq%jX|%jX!P%jX~PFdOq-[O|&sa!P&sa~O|!}X~P$wO|/PO~Os/QO~P9oOW%jO!P/RO~OW%jO$Q/WO&PSO&R!qO!P&|P~OW%jO$U/XO~O!P/YO~O!b%vO#p/[Oq!`X!P!`X~OY/^O~O!P/_O~P9oO#p/`O~P9oO!b/bO~OY/cOZ$lO_VO`VOaVObVOcVOeVOg^Oh^Op!POwkOz!OO%}TO&P(_O&R(^O&XUO~PFdOW#[Ou&[X%}&[X&P&[X&R&[X'O&[X~O&_#YO~P$)QOu#OO%}TO'O/eO&P%SX&R%SX~O&n&bOq!gi&^!gi~Op/iO&PSO&R!qO~OW*iOZ#xO~O!P/kO~OY&SXq&SX~P9oO})]Oq%nX|%nX~P:|Oq.gO|&ya~O!b/nO~O})fOq%cX|%cX~P:|Oq.mO|&ka~OY/qO~O!P/rO~OZ/sO~O}'^Oq!|i|!|i!P!|i~O|!}a~P$wOW%jO!P/wO~OW%jOq/xO!P&|X~OY/|O~P9oOY0OO~OY%Xq!P%Xq~P9oO'O/eO&P%Sa&R%Sa~OY0TO~O!P0WO~Ou#OO!P0YO!Z0ZO%}TO~OY0[O~Oq/xO!P&|a~O!P0_O~OW%jOq/xO!P&}X~OY0aO~P9oOY0bO~OY%Xy!P%Xy~P9oOu#OO%}TO&P%ua&R%ua'O%ua~OY0cO~O!P0dO~Ou#OO!P0eO!Z0fO%}TO~OW%jOq%ra!P%ra~Oq/xO!P&}a~O!P0jO~Ou#OO!P0jO!Z0kO%}TO~O!P0lO~O!P0nO~O#p&QXY&QXs&QXq&QX|&QX~P&bO#pUXYUXsUXqUX|UX~P(iO`Q_P#g%y&P&Xc&X~",goto:"#+S'OPPPP'P'd*x.OP'dPP.d.h0PPPPPP1nP3ZPP4v7l:[WP!?[P!Ap!BW!E]3ZPPP!F|!Jm!MaPP#!P#!SP#$`#$f#&V#&f#&n#'p#(Y#)T#)^#)a#)oP#)r#*OP#*V#*^P#*aP#*lP#*o#*r#*u#*y#+PstOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y'urOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%k%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)])f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,`,u-[-^-a-r-t-}.R.V.g.m/O/[/_/b/d/n/q0R0X0Z0[0f0h0k0r#xhO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kt!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oQ#mdS&Y#`(}Q&l#oU&q#t$g,ZQ&x#vW(b%O+s.R/dU)Y%j'v+bQ)Z%kS)u&S,WU*f&s-R._Q*k&yQ,t*TQ-P*iQ.j,cR.t,uu!sT!Q!S!T!{!}$k%p+]+^+_+`-k-m/W/X/x0oT%l!r)l#{qO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k#zlO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kX(c%O+s.R/d$TVO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k$TkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0k&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rQ&Q#[Q)s&RV.T+x.X/e&O[OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.T+x.X/e&O]OPX`ceopx!O!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s,Y,^,`-^-r-t-}.R.g.m/O/[/_/b/d/n0Z0f0k0rV.U+x.X/eS#Z[.TS$f!O&tS&s#t$gQ&y#vQ)V%dQ-R*iR._,Z$kZO`copx!Y![!_!a#Y#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$_$l$m$n$o$p$q%O%d%g%k%v&b&d'_'`'i'm(O(T(U(t)Q)R)])f)o)p*P*l*o+T+d+h+i+l+o+s,Y,^,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ&O#YR,k)p&P_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0r!o#QY!e!x#R#T#`#n$]%R%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0h$SkO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ$m!UQ$n!VQ$s!ZQ$|!`R+p(WQ#yiS'q$e*hQ*e&rQ+X'rS,[)T)UQ-O*gQ-Y*vQ.b,]Q.x-QQ.{-ZQ/j.`Q/u.yR0V/iQ'a$bW*[&m'b'c'dQ+W'qU,x*]*^*_Q-X*vQ-f+XS.u,y,zS.z-Y-ZQ/t.vR/v.{]!mP!o'^*q-^/OreOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!gP!o'^*q-^/OW#b`#e%b&]Q'}$oW(d%O+s.R/dS*U&i*WS*w'e-[S*|'h+OR.X+xh#VY!W!e#n#s%V'|*T*z+f,u-aQ)j%wQ)v&WR,o)y#xnOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k^!kP!g!o'^*q-^/Ov#TY!W#`#n#s%w&W&[&`'|(`(})y*T+f+r,u.W/hQ#g`Q$b{Q$c|Q$d}W%S!e%V*z-aS%Y!h(vQ%`!iQ&m#pQ&n#qQ&o#rQ(u%ZS(y%^({Q*R&eS*v'e-[R-Z*wU)h%v)f.mR+V'p[!mP!o'^*q-^/OT*}'h+O^!iP!g!o'^*q-^/OQ'd$bQ'l$dQ*_&mQ*d&oV*{'h*|+OQ%[!hR,S(vQ(s%YR,R(u#znO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%c!kS(l%S(yR(|%`T#e`%bU#c`#e%bR)z&]Q%f!lQ(n%UQ(r%XQ,U(zR.],VrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OQ%P!bQ%a!jQ%i!pQ'[$ZQ([$|Q(k%QQ(p%WQ+z(iR.Y+yrtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OS*V&i*WT*}'h+OQ'c$bS*^&m'dR,z*_Q'b$bQ'g$cU*]&m'c'dQ*a&nS,y*^*_R.v,zQ*u'`R+Q'iQ'k$dS*c&o'lR,}*dQ'j$dU*b&o'k'lS,|*c*dR.w,}rtOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!mP!o'^*q-^/OT*}'h+OQ'f$cS*`&n'gR,{*aQ*x'eR.|-[R-`*yQ&j#mR*Z&lT*V&i*WQ%e!lS(q%X%fR,P(rR)R%dWk%O+s.R/d#{lO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0k$SiO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kU&r#t$g,ZS*g&s._Q-Q*iR.y-RT'o$e'p!_#|m#a$r$z$}&w&z&{'O'P'Q'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q!]$Pm#a$r$z$}&w&z&{'O'P'R'S'W'Z)[)g+S+g+j-T-V-e-v-{.e/Z/a/}0Q#{nO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0ka)^%k)],`.g/n0Z0f0kQ)`%kR.k,cQ't$hQ)b%oR,f)cT+Y's+ZsvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YruOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YQ$w!]R$y!^R$p!XrvOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YR(O$oR$q!XR(V$sT+k(U+lX(f%P(g(k+{R+y(hQ.W+xR/h.XQ(j%PQ+w(gQ+|(kR.Z+{R%Q!bQ(e%OV.P+s.R/dQxOQ#lcW$`x#l)Q,YQ)Q%dR,Y)RrXOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Yn!fP!o#e&]&i'^'e'h*W*q+O+x-[-^/Ol!zX!f#P#_#i$[%Z%_%{&R'n'{)O0r!j#PY!e!x#T#`#n$]%S%V%^%u%|&S&[&`'X'|(`(l({(}*T*p*z+f+r+},W,u-a.V/q0R0X0[0hQ#_`Q#ia#d$[op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%g%k%v&b&d'_'`'i'm(O(T(t)])f)o*P*l*o+T+h+i+o,^,`-r-t-}.g.m/[/_/b/n0Z0f0kS%Z!h(vS%_!i*{S%{#Y)pQ&R#[S'n$e'pY'{$o%O+s.R/dQ)O%bR0r$YQ!uUR%m!uQ)q&OR,l)q^#RY#`$]'X'|(`*px%R!e!x#n%V%^%|&S&[&`({(}*T*z+f+r,W,u-a.V0R[%t#R%R%u+}0X0hS%u#T%SQ+}(lQ0X/qR0h0[Q*m&{R-U*mQ!oPU%h!o*q/OQ*q'^R/O-^!pbOP`cx![!o#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h(U)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dY!yX!f#_'{)OT#jb!yQ.n,gR/p.nQ%x#VR)k%xQ&c#fS*O&c.[R.[,QQ(w%[R,T(wQ&^#cR){&^Q,_)WR.d,_Q+O'hR-b+OQ-]*xR.}-]Q*W&iR,v*WQ'p$eR+U'pQ&f#gR*S&fQ.h,aR/m.hQ,d)`R.l,dQ+Z'sR-g+ZQ-k+]R/T-kQ/y/US0^/y0`R0`/{Q+l(UR-x+lQ(g%PS+v(g+{R+{(kQ/f.VR0S/fQ+t(eR.S+t`wOcx#l%d)Q)R,YQ$t![Q']$_Q'y$mQ'z$nQ(Q$pQ(R$qS+k(U+lR-q+d'dsOPXY`acopx!Y![!_!a!e!f!h!i!o!x#P#T#Y#[#_#`#e#i#l#n#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$]$_$e$l$m$n$o$p$q%O%S%V%Z%^%_%b%d%g%u%v%{%|&R&S&[&]&`&b&d&i'X'^'_'`'e'h'i'm'n'p'{'|(O(T(U(`(l(t(v({(})O)Q)R)f)o)p*P*T*W*l*o*p*q*z*{+O+T+d+f+h+i+l+o+r+s+x+},W,Y,^,u-[-^-a-r-t-}.R.V.m/O/[/_/b/d/q0R0X0[0h0ra)_%k)],`.g/n0Z0f0kQ!rTQ$h!QQ$i!SQ$j!TQ%o!{Q%q!}Q'x$kQ)c%pQ)l0oS-i+]+_Q-m+^Q-n+`Q/S-kS/U-m/WQ/{/XR0]/x%uSOT`cdopx!Q!S!T!Y![!_!a!{!}#`#l#o#t#u#v#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$g$k$l$m$n$o$p$q%O%d%j%k%p%v&S&d&s&y'm'v(O(T(U(})Q)R)])f*P*T*i*l*o+T+]+^+_+`+b+d+h+i+l+o+s,W,Y,Z,`,c,u-R-k-m-r-t-}.R._.g.m/W/X/[/_/b/d/n/x0Z0f0k0oQ)a%kQ,a)]S.f,`/nQ/l.gQ0g0ZQ0i0fR0m0krmOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,YS#a`$lQ$WoQ$^pQ$r!YQ$z!_Q$}!aQ&w#uQ&z#wY&{#x$o+h-t/_Q&}#|Q'O#}Q'P$OQ'Q$PQ'R$QQ'S$RQ'T$SQ'U$TQ'V$UQ'W$VQ'Z$Z^)[%k)].g/n0Z0f0kU)g%v)f.mQ*Q&dQ+S'mQ+g(OQ+j(TQ,p*PQ-T*lQ-V*oQ-e+TQ-v+iQ-{+oQ.e,`Q/Z-rQ/a-}Q/}/[R0Q/b#xgO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o,Y,`-r-t-}.g.m/[/_/b/n0Z0f0kW(a%O+s.R/dR)S%drYOcx![#l$_$m$n$p$q%d(U)Q)R+d+l,Y[!eP!o'^*q-^/OW!xX$[%{'{Q#``Q#ne#S$]op!Y!_!a#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$l%k%v&d'm(O(T)])f*P*l*o+T+h+i+o,`-r-t-}.g.m/[/_/b/n0Z0f0kQ%V!gS%^!i*{d%|#Y%g&b'_'`'i(t)o)p,^Q&S#_Q&[#bS&`#e&]Q'X$YQ'|$oW(`%O+s.R/dQ({%_Q(}%bS*T&i*WQ*p0rS*z'h+OQ+f'}Q+r(dQ,W)OQ,u*UQ-a*|S.V+x.XR0R/e&O_OPX`ceopx!Y![!_!a!g!i!o#Y#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$l$m$n$o$p$q%O%_%b%d%g%k%v%{&]&b&d&i'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rQ$e!OQ'r$fR*h&t&ZWOPX`ceopx!O!Y![!_!a!g!i!o#Y#[#_#b#e#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Y$Z$[$_$f$l$m$n$o$p$q%O%_%b%d%g%k%v%{&R&]&b&d&i&t'^'_'`'h'i'm'{'}(O(T(U(d(t)O)Q)R)])f)o)p*P*U*W*l*o*q*{*|+O+T+d+h+i+l+o+s+x,Y,^,`-^-r-t-}.R.X.g.m/O/[/_/b/d/e/n0Z0f0k0rR&P#Y$QjOcopx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kQ#f`Q&O#YQ'Y$YU)W%g'`'iQ)}&bQ*s'_Q,Q(tQ,j)oQ,k)pR.c,^Q)n%}R,i)m$SfO`copx!Y![!_!a#l#u#w#x#|#}$O$P$Q$R$S$T$U$V$Z$_$l$m$n$o$p$q%O%d%k%v&d'm(O(T(U)Q)R)])f*P*l*o+T+d+h+i+l+o+s,Y,`-r-t-}.R.g.m/[/_/b/d/n0Z0f0kT&p#t,ZQ&|#xQ(P$oQ-u+hQ/]-tR0P/_]!nP!o'^*q-^/O#PaOPX`bcx![!f!o!y#_#e#l$_$m$n$o$p$q%O%b%d&]&i'^'e'h'{(U)O)Q)R*W*q+O+d+l+s+x,Y-[-^.R/O/dU#WY!W'|Q%T!eU&k#n#s+fQ(o%VS,s*T*zT.s,u-aj#UY!W!e#n#s%V%w&W)y*T*z,u-aU&V#`&`(}Q)x&[Q+e'|Q+q(`Q-s+fQ.O+rQ/g.WR0U/hQ)i%vQ,g)fR/o.mR,h)f`!jP!o'^'h*q+O-^/OT%W!g*|R%]!hW%U!e%V*z-aQ(z%^R,V({S#d`%bR&a#eQ)X%gT*t'`'iR*y'e[!lP!o'^*q-^/OR%X!gR#h`R,b)]R)a%kT-j+]-kQ/V-mR/z/WR/z/X",nodeNames:"\u26A0 LineComment BlockComment Program ModuleDeclaration MarkerAnnotation Identifier ScopedIdentifier . Annotation ) ( AnnotationArgumentList AssignmentExpression FieldAccess IntegerLiteral FloatingPointLiteral BooleanLiteral CharacterLiteral StringLiteral TextBlock null ClassLiteral void PrimitiveType TypeName ScopedTypeName GenericType TypeArguments AnnotatedType Wildcard extends super , ArrayType ] Dimension [ class this ParenthesizedExpression ObjectCreationExpression new ArgumentList } { ClassBody ; FieldDeclaration Modifiers public protected private abstract static final strictfp default synchronized native transient volatile VariableDeclarator Definition AssignOp ArrayInitializer MethodDeclaration TypeParameters TypeParameter TypeBound FormalParameters ReceiverParameter FormalParameter SpreadParameter Throws throws Block ClassDeclaration Superclass SuperInterfaces implements InterfaceTypeList InterfaceDeclaration interface ExtendsInterfaces InterfaceBody ConstantDeclaration EnumDeclaration enum EnumBody EnumConstant EnumBodyDeclarations AnnotationTypeDeclaration AnnotationTypeBody AnnotationTypeElementDeclaration StaticInitializer ConstructorDeclaration ConstructorBody ExplicitConstructorInvocation ArrayAccess MethodInvocation MethodName MethodReference ArrayCreationExpression Dimension AssignOp BinaryExpression CompareOp CompareOp LogicOp LogicOp BitOp BitOp BitOp ArithOp ArithOp ArithOp BitOp InstanceofExpression instanceof LambdaExpression InferredParameters TernaryExpression LogicOp : UpdateExpression UpdateOp UnaryExpression LogicOp BitOp CastExpression ElementValueArrayInitializer ElementValuePair open module ModuleBody ModuleDirective requires transitive exports to opens uses provides with PackageDeclaration package ImportDeclaration import Asterisk ExpressionStatement LabeledStatement Label IfStatement if else WhileStatement while ForStatement for ForSpec LocalVariableDeclaration var EnhancedForStatement ForSpec AssertStatement assert SwitchStatement switch SwitchBlock SwitchLabel case DoStatement do BreakStatement break ContinueStatement continue ReturnStatement return SynchronizedStatement ThrowStatement throw TryStatement try CatchClause catch CatchFormalParameter CatchType FinallyClause finally TryWithResourcesStatement ResourceSpecification Resource ClassContent",maxTerm:276,nodeProps:[["isolate",-4,1,2,18,19,""],["group",-26,4,47,76,77,82,87,92,145,147,150,151,153,156,158,161,163,165,167,172,174,176,178,180,181,183,191,"Statement",-25,6,13,14,15,16,17,18,19,20,21,22,39,40,41,99,100,102,103,106,118,120,122,125,127,130,"Expression",-7,23,24,25,26,27,29,34,"Type"],["openedBy",10,"(",44,"{"],["closedBy",11,")",45,"}"]],propSources:[Wx],skippedNodes:[0,1,2],repeatNodeCount:28,tokenData:"#'f_R!_OX%QXY'fYZ)bZ^'f^p%Qpq'fqr*|rs,^st%Qtu4euv5zvw7[wx8rxyAZyzAwz{Be{|CZ|}Dq}!OE_!O!PFx!P!Q! r!Q!R!,h!R![!0`![!]!>p!]!^!@Q!^!_!@n!_!`!BX!`!a!B{!a!b!Di!b!c!EX!c!}!LT!}#O!Mj#O#P%Q#P#Q!NW#Q#R!Nt#R#S4e#S#T%Q#T#o4e#o#p# h#p#q#!U#q#r##n#r#s#$[#s#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4eS%VV&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS%qO&YSS%tVOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZS&^VOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QS&vP;=`<%l%QS&|UOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZS'cP;=`<%l&Z_'mk&YS%yZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qs#y%Q#y#z'f#z$f%Q$f$g'f$g#BY%Q#BY#BZ'f#BZ$IS%Q$IS$I_'f$I_$I|%Q$I|$JO'f$JO$JT%Q$JT$JU'f$JU$KV%Q$KV$KW'f$KW&FU%Q&FU&FV'f&FV;'S%Q;'S;=`&s<%lO%Q_)iY&YS%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XZ*^Y%yZX^*Xpq*X#y#z*X$f$g*X#BY#BZ*X$IS$I_*X$I|$JO*X$JT$JU*X$KV$KW*X&FU&FV*XV+TX#tP&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QU+wV#_Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT,aXOY,|YZ%lZr,|rs3Ys#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T-PXOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT-qX&YSOY-lYZ%lZr-lrs.^s#O-l#O#P.x#P;'S-l;'S;=`2|<%lO-lT.cVcPOY&ZYZ%lZr&Zrs&ys;'S&Z;'S;=`'`<%lO&ZT.}V&YSOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT/iW&YSOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0UWOY0RZr0Rrs0ns#O0R#O#P0s#P;'S0R;'S;=`1V<%lO0RP0sOcPP0vTOY0RYZ0RZ;'S0R;'S;=`1V<%lO0RP1YP;=`<%l0RT1`XOY,|YZ%lZr,|rs1{s#O,|#O#P2d#P;'S,|;'S;=`3S<%lO,|T2QUcPOY&ZYZ%lZr&Zs;'S&Z;'S;=`'`<%lO&ZT2gVOY-lYZ/dZr-lrs1]s;'S-l;'S;=`2|<%lO-lT3PP;=`<%l-lT3VP;=`<%l,|T3_VcPOY&ZYZ%lZr&Zrs3ts;'S&Z;'S;=`'`<%lO&ZT3yR&WSXY4SYZ4`pq4SP4VRXY4SYZ4`pq4SP4eO&XP_4lb&YS&PZOY%QYZ%lZr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o$g%Q$g;'S4e;'S;=`5t<%lO4e_5wP;=`<%l4eU6RX#hQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU6uV#]Q&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV7cZ&nR&YSOY%QYZ%lZr%Qrs%qsv%Qvw8Uw!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QU8]V#aQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT8wZ&YSOY9jYZ%lZr9jrs:xsw9jwx%Qx#O9j#O#PhYZ%lZr>hrs?dsw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hT>kZOYhYZ%lZr>hrs@Ysw>hwx;hx#O>h#O#P&Z#P;'S>h;'S;=`@}<%lO>hP@]VOY@YZw@Ywx@rx#O@Y#P;'S@Y;'S;=`@w<%lO@YP@wObPP@zP;=`<%l@YTAQP;=`<%l>hTAWP;=`<%l9j_AbVZZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBOVYR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVBnX$ZP&YS#gQOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVCbZ#fR&YSOY%QYZ%lZr%Qrs%qs{%Q{|DT|!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QVD[V#rR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVDxVqR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QVEf[#fR&YSOY%QYZ%lZr%Qrs%qs}%Q}!ODT!O!_%Q!_!`6n!`!aF[!a;'S%Q;'S;=`&s<%lO%QVFcV&xR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_GPZWY&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PGr!P!Q%Q!Q![IQ![;'S%Q;'S;=`&s<%lO%QVGwX&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!PHd!P;'S%Q;'S;=`&s<%lO%QVHkV&qR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTIXc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#R%Q#R#SNz#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTJkV&YS`POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QTKV]&YSOY%QYZ%lZr%Qrs%qs{%Q{|LO|}%Q}!OLO!O!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLTX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![;'S%Q;'S;=`&s<%lO%QTLwc&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![!f%Q!f!gJd!g!h%Q!h!iJd!i#R%Q#R#SNS#S#W%Q#W#XJd#X#Y%Q#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QTNXZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![Lp![#R%Q#R#SNS#S;'S%Q;'S;=`&s<%lO%QT! PZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![#R%Q#R#SNz#S;'S%Q;'S;=`&s<%lO%Q_! y]&YS#gQOY%QYZ%lZr%Qrs%qsz%Qz{!!r{!P%Q!P!Q!)e!Q!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%Q_!!wX&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!#iT&YSOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!#{TOz!#xz{!$[{;'S!#x;'S;=`!$y<%lO!#xZ!$_VOz!#xz{!$[{!P!#x!P!Q!$t!Q;'S!#x;'S;=`!$y<%lO!#xZ!$yOQZZ!$|P;=`<%l!#x_!%SXOY!%oYZ!#dZr!%ors!'ysz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!%rXOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{;'S!!r;'S;=`!'s<%lO!!r_!&dZ&YSOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!'^V&YSQZOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!'vP;=`<%l!!r_!'|XOY!%oYZ!#dZr!%ors!#xsz!%oz{!(i{;'S!%o;'S;=`!)_<%lO!%o_!(lZOY!!rYZ!#dZr!!rrs!%Psz!!rz{!&_{!P!!r!P!Q!'V!Q;'S!!r;'S;=`!'s<%lO!!r_!)bP;=`<%l!%o_!)lV&YSPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!*WVPZOY!*mYZ%lZr!*mrs!+_s;'S!*m;'S;=`!,b<%lO!*m_!*rVPZOY!)eYZ%lZr!)ers!*Rs;'S!)e;'S;=`!+X<%lO!)e_!+[P;=`<%l!)e_!+dVPZOY!*mYZ%lZr!*mrs!+ys;'S!*m;'S;=`!,b<%lO!*mZ!,OSPZOY!+yZ;'S!+y;'S;=`!,[<%lO!+yZ!,_P;=`<%l!+y_!,eP;=`<%l!*mT!,ou&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!d%Q!d!e!3j!e!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o!q%Q!q!r!5h!r!z%Q!z!{!7`!{#R%Q#R#S!2r#S#U%Q#U#V!3j#V#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a#c%Q#c#d!5h#d#l%Q#l#m!7`#m;'S%Q;'S;=`&s<%lO%QT!/Za&YS`POY%QYZ%lZr%Qrs%qs!Q%Q!Q![IQ![!f%Q!f!gJd!g!hKQ!h!iJd!i#W%Q#W#XJd#X#YKQ#Y#ZJd#Z;'S%Q;'S;=`&s<%lO%QT!0gi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!/S!P!Q%Q!Q![!0`![!f%Q!f!gJd!g!hKQ!h!iJd!i!n%Q!n!o!2U!o#R%Q#R#S!2r#S#W%Q#W#XJd#X#YKQ#Y#ZJd#Z#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!2]V&YS_POY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT!2wZ&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!0`![#R%Q#R#S!2r#S;'S%Q;'S;=`&s<%lO%QT!3oY&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S;'S%Q;'S;=`&s<%lO%QT!4f`&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!R!4_!R!S!4_!S!n%Q!n!o!2U!o#R%Q#R#S!3j#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!5mX&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y;'S%Q;'S;=`&s<%lO%QT!6a_&YS_POY%QYZ%lZr%Qrs%qs!Q%Q!Q!Y!6Y!Y!n%Q!n!o!2U!o#R%Q#R#S!5h#S#`%Q#`#a!2U#a;'S%Q;'S;=`&s<%lO%QT!7e_&YSOY%QYZ%lZr%Qrs%qs!O%Q!O!P!8d!P!Q%Q!Q![!:r![!c%Q!c!i!:r!i#T%Q#T#Z!:r#Z;'S%Q;'S;=`&s<%lO%QT!8i]&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i#T%Q#T#Z!9b#Z;'S%Q;'S;=`&s<%lO%QT!9gc&YSOY%QYZ%lZr%Qrs%qs!Q%Q!Q![!9b![!c%Q!c!i!9b!i!r%Q!r!sKQ!s#R%Q#R#S!8d#S#T%Q#T#Z!9b#Z#d%Q#d#eKQ#e;'S%Q;'S;=`&s<%lO%QT!:yi&YS_POY%QYZ%lZr%Qrs%qs!O%Q!O!P!wX#pR&YSOY%QYZ%lZr%Qrs%qs![%Q![!]!?d!];'S%Q;'S;=`&s<%lO%QV!?kV&vR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!@XV!PR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!@uY&_Z&YSOY%QYZ%lZr%Qrs%qs!^%Q!^!_!Ae!_!`+p!`;'S%Q;'S;=`&s<%lO%QU!AlX#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV!B`X!bR&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`;'S%Q;'S;=`&s<%lO%QV!CSY&^R&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`+p!`!a!Cr!a;'S%Q;'S;=`&s<%lO%QU!CyY#iQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`!a!Ae!a;'S%Q;'S;=`&s<%lO%Q_!DrV&bX#oQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!E`X%}Z&YSOY%QYZ%lZr%Qrs%qs#]%Q#]#^!E{#^;'S%Q;'S;=`&s<%lO%QV!FQX&YSOY%QYZ%lZr%Qrs%qs#b%Q#b#c!Fm#c;'S%Q;'S;=`&s<%lO%QV!FrX&YSOY%QYZ%lZr%Qrs%qs#h%Q#h#i!G_#i;'S%Q;'S;=`&s<%lO%QV!GdX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!HP#Y;'S%Q;'S;=`&s<%lO%QV!HUX&YSOY%QYZ%lZr%Qrs%qs#f%Q#f#g!Hq#g;'S%Q;'S;=`&s<%lO%QV!HvX&YSOY%QYZ%lZr%Qrs%qs#Y%Q#Y#Z!Ic#Z;'S%Q;'S;=`&s<%lO%QV!IhX&YSOY%QYZ%lZr%Qrs%qs#T%Q#T#U!JT#U;'S%Q;'S;=`&s<%lO%QV!JYX&YSOY%QYZ%lZr%Qrs%qs#V%Q#V#W!Ju#W;'S%Q;'S;=`&s<%lO%QV!JzX&YSOY%QYZ%lZr%Qrs%qs#X%Q#X#Y!Kg#Y;'S%Q;'S;=`&s<%lO%QV!KnV&tR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_!L[b&RZ&YSOY%QYZ%lZr%Qrs%qst%Qtu!LTu!Q%Q!Q![!LT![!c%Q!c!}!LT!}#R%Q#R#S!LT#S#T%Q#T#o!LT#o$g%Q$g;'S!LT;'S;=`!Md<%lO!LT_!MgP;=`<%l!LT_!MqVuZ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV!N_VsR&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QU!N{X#eQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`;'S%Q;'S;=`&s<%lO%QV# oV}R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#!_Z'OX#dQ&YSOY%QYZ%lZr%Qrs%qs!_%Q!_!`6n!`#p%Q#p#q##Q#q;'S%Q;'S;=`&s<%lO%QU##XV#bQ&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QV##uV|R&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%QT#$cV#uP&YSOY%QYZ%lZr%Qrs%qs;'S%Q;'S;=`&s<%lO%Q_#%Ru&YS%yZ&PZOX%QXY'fYZ)bZ^'f^p%Qpq'fqr%Qrs%qst%Qtu4eu!Q%Q!Q![4e![!c%Q!c!}4e!}#R%Q#R#S4e#S#T%Q#T#o4e#o#y%Q#y#z'f#z$f%Q$f$g'f$g#BY4e#BY#BZ#$x#BZ$IS4e$IS$I_#$x$I_$I|4e$I|$JO#$x$JO$JT4e$JT$JU#$x$JU$KV4e$KV$KW#$x$KW&FU4e&FU&FV#$x&FV;'S4e;'S;=`5t<%lO4e",tokenizers:[0,1,2,3],topRules:{Program:[0,3],ClassContent:[1,194]},dynamicPrecedences:{27:1,232:-1,243:-1},specialized:[{term:231,get:O=>jx[O]||-1}],tokenPrec:7144});var Cx=ne.define({name:"java",parser:wp.configure({props:[se.add({IfStatement:le({except:/^\s*({|else\b)/}),TryStatement:le({except:/^\s*({|catch|finally)\b/}),LabeledStatement:sO,SwitchBlock:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},Block:be({closing:"}"}),BlockComment:()=>null,Statement:le({except:/^{/})}),te.add({"Block SwitchBlock ClassBody ElementValueArrayInitializer ModuleBody EnumBody ConstructorBody InterfaceBody ArrayInitializer":me,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\})$/}});function Zp(){return new J(Cx)}var Gx=F({String:d.string,Number:d.number,"True False":d.bool,PropertyName:d.propertyName,Null:d.null,", :":d.separator,"[ ]":d.squareBracket,"{ }":d.brace}),vp=Oe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Gx],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var Ex=ne.define({name:"json",parser:vp.configure({props:[se.add({Object:le({except:/^\s*\}/}),Array:le({except:/^\s*\]/})}),te.add({"Object Array":me})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Yp(){return new J(Ex)}var Ys=class O{static create(e,t,i,r,n){let s=r+(r<<8)+e+(t<<4)|0;return new O(e,t,i,s,n,[],[])}constructor(e,t,i,r,n,s,a){this.type=e,this.value=t,this.from=i,this.hash=r,this.end=n,this.children=s,this.positions=a,this.hashProp=[[R.contextHash,r]]}addChild(e,t){e.prop(R.contextHash)!=this.hash&&(e=new D(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new D(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(r,n,s)=>new D(ue.none,r,n,s,this.hashProp)})}},b;(function(O){O[O.Document=1]="Document",O[O.CodeBlock=2]="CodeBlock",O[O.FencedCode=3]="FencedCode",O[O.Blockquote=4]="Blockquote",O[O.HorizontalRule=5]="HorizontalRule",O[O.BulletList=6]="BulletList",O[O.OrderedList=7]="OrderedList",O[O.ListItem=8]="ListItem",O[O.ATXHeading1=9]="ATXHeading1",O[O.ATXHeading2=10]="ATXHeading2",O[O.ATXHeading3=11]="ATXHeading3",O[O.ATXHeading4=12]="ATXHeading4",O[O.ATXHeading5=13]="ATXHeading5",O[O.ATXHeading6=14]="ATXHeading6",O[O.SetextHeading1=15]="SetextHeading1",O[O.SetextHeading2=16]="SetextHeading2",O[O.HTMLBlock=17]="HTMLBlock",O[O.LinkReference=18]="LinkReference",O[O.Paragraph=19]="Paragraph",O[O.CommentBlock=20]="CommentBlock",O[O.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",O[O.Escape=22]="Escape",O[O.Entity=23]="Entity",O[O.HardBreak=24]="HardBreak",O[O.Emphasis=25]="Emphasis",O[O.StrongEmphasis=26]="StrongEmphasis",O[O.Link=27]="Link",O[O.Image=28]="Image",O[O.InlineCode=29]="InlineCode",O[O.HTMLTag=30]="HTMLTag",O[O.Comment=31]="Comment",O[O.ProcessingInstruction=32]="ProcessingInstruction",O[O.Autolink=33]="Autolink",O[O.HeaderMark=34]="HeaderMark",O[O.QuoteMark=35]="QuoteMark",O[O.ListMark=36]="ListMark",O[O.LinkMark=37]="LinkMark",O[O.EmphasisMark=38]="EmphasisMark",O[O.CodeMark=39]="CodeMark",O[O.CodeText=40]="CodeText",O[O.CodeInfo=41]="CodeInfo",O[O.LinkTitle=42]="LinkTitle",O[O.LinkLabel=43]="LinkLabel",O[O.URL=44]="URL"})(b||(b={}));var Pc=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},Sc=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return vr(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let r=t;r=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let i=(O.type==b.OrderedList?Rc:_c)(t,e,!1);return i>0&&(O.type!=b.BulletList||Yc(t,e,!1)<0)&&t.text.charCodeAt(t.pos+i-1)==O.value}var Ap={[b.Blockquote](O,e,t){return t.next!=62?!1:(t.markers.push(L(b.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(ot(t.text.charCodeAt(t.pos+1))?2:1)),O.end=e.lineStart+t.text.length,!0)},[b.ListItem](O,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+O.value),!0)},[b.OrderedList]:_p,[b.BulletList]:_p,[b.Document](){return!0}};function ot(O){return O==32||O==9||O==10||O==13}function vr(O,e=0){for(;et&&ot(O.charCodeAt(e-1));)e--;return e}function Lp(O){if(O.next!=96&&O.next!=126)return-1;let e=O.pos+1;for(;e-1&&O.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Kp.SetextHeading)>-1||i<3?-1:1}function Dp(O,e){for(let t=O.stack.length-1;t>=0;t--)if(O.stack[t].type==e)return!0;return!1}function _c(O,e,t){return(O.next==45||O.next==43||O.next==42)&&(O.pos==O.text.length-1||ot(O.text.charCodeAt(O.pos+1)))&&(!t||Dp(e,b.BulletList)||O.skipSpace(O.pos+2)=48&&r<=57;){i++;if(i==O.text.length)return-1;r=O.text.charCodeAt(i)}return i==O.pos||i>O.pos+9||r!=46&&r!=41||iO.pos+1||O.next!=49)?-1:i+1-O.pos}function Ip(O){if(O.next!=35)return-1;let e=O.pos+1;for(;e6?-1:t}function Bp(O){if(O.next!=45&&O.next!=61||O.indent>=O.baseIndent+4)return-1;let e=O.pos+1;for(;e/,Fp=/\?>/,Tc=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(i);if(n)return O.append(L(b.Comment,t,t+1+n[0].length));let s=/^\?[^]*?\?>/.exec(i);if(s)return O.append(L(b.ProcessingInstruction,t,t+1+s[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(i);return a?O.append(L(b.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(O,e,t){if(e!=95&&e!=42)return-1;let i=t+1;for(;O.char(i)==e;)i++;let r=O.slice(t-1,t),n=O.slice(i,i+1),s=Rr.test(r),a=Rr.test(n),o=/\s|^$/.test(r),l=/\s|^$/.test(n),c=!l&&(!a||o||s),h=!o&&(!s||l||a),f=c&&(e==42||!h||s),u=h&&(e==42||!c||a);return O.append(new Ve(e==95?tm:Om,t,i,(f?1:0)|(u?2:0)))},HardBreak(O,e,t){if(e==92&&O.char(t+1)==10)return O.append(L(b.HardBreak,t,t+2));if(e==32){let i=t+1;for(;O.char(i)==32;)i++;if(O.char(i)==10&&i>=t+2)return O.append(L(b.HardBreak,t,i+1))}return-1},Link(O,e,t){return e==91?O.append(new Ve(zO,t,t+1,1)):-1},Image(O,e,t){return e==33&&O.char(t+1)==91?O.append(new Ve(Vs,t,t+2,1)):-1},LinkEnd(O,e,t){if(e!=93)return-1;for(let i=O.parts.length-1;i>=0;i--){let r=O.parts[i];if(r instanceof Ve&&(r.type==zO||r.type==Vs)){if(!r.side||O.skipSpace(r.to)==t&&!/[(\[]/.test(O.slice(t+1,t+2)))return O.parts[i]=null,-1;let n=O.takeContent(i),s=O.parts[i]=Mx(O,n,r.type==zO?b.Link:b.Image,r.from,t+1);if(r.type==zO)for(let a=0;ae?L(b.URL,e+t,n+t):n==O.length?null:!1}}function rm(O,e,t){let i=O.charCodeAt(e);if(i!=39&&i!=34&&i!=40)return!1;let r=i==40?41:i;for(let n=e+1,s=!1;n=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,r,n){return this.append(new Ve(e,t,i,(r?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Ve&&(t.type==zO||t.type==Vs))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let i=e;i=e;o--){let $=this.parts[o];if($ instanceof Ve&&$.side&1&&$.type==r.type&&!(n&&(r.side&1||$.side&2)&&($.to-$.from+s)%3==0&&(($.to-$.from)%3||s%3))){a=$;break}}if(!a)continue;let l=r.type.resolve,c=[],h=a.from,f=r.to;if(n){let $=Math.min(2,a.to-a.from,s);h=a.to-$,f=r.from+$,l=$==1?"Emphasis":"StrongEmphasis"}a.type.mark&&c.push(this.elt(a.type.mark,h,a.to));for(let $=o+1;$=0;t--){let i=this.parts[t];if(i instanceof Ve&&i.type==e&&i.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Ve?t:null}skipSpace(e){return vr(this.text,e-this.offset)+this.offset}elt(e,t,i,r){return typeof e=="string"?L(this.parser.getNodeType(e),t,i,r):new Rs(e,t)}};Vr.linkStart=zO;Vr.imageStart=Vs;function wc(O,e){if(!e.length)return O;if(!O.length)return e;let t=O.slice(),i=0;for(let r of e){for(;i(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` +`;)n--;this.fragmentEnd=n?n-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let r=e+this.fragment.offset;for(;i.to<=r;)if(!i.parent())return!1;for(;;){if(i.from>=r)return this.fragment.from<=t;if(!i.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(R.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,r=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,s=n,a=e.block.children.length,o=s,l=a;for(;;){if(t.to-i>r){if(t.type.isAnonymous&&t.firstChild())continue;break}let c=sm(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to)e.addNode(t.tree,c);else{let h=new D(e.parser.nodeSet.types[b.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,t.tree),e.addNode(h,c)}if(t.type.is("Block")&&(Dx.indexOf(t.type.id)<0?(s=t.to-i,a=e.block.children.length):(s=o,a=l,o=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return s-n}};function sm(O,e){let t=O;for(let i=1;iZs[O]),Object.keys(Zs).map(O=>Kp[O]),Object.keys(Zs),Ax,Ap,Object.keys(gc).map(O=>gc[O]),Object.keys(gc),[]);function Bx(O,e,t){let i=[];for(let r=O.firstChild,n=e;;r=r.nextSibling){let s=r?r.from:t;if(s>n&&i.push({from:n,to:s}),!r)break;n=r.to}return i}function om(O){let{codeParser:e,htmlParser:t}=O;return{wrap:xO((r,n)=>{let s=r.type.id;if(e&&(s==b.CodeBlock||s==b.FencedCode)){let a="";if(s==b.FencedCode){let l=r.node.getChild(b.CodeInfo);l&&(a=n.read(l.from,l.to))}let o=e(a);if(o)return{parser:o,overlay:l=>l.type.id==b.CodeText,bracketed:s==b.FencedCode}}else if(t&&(s==b.HTMLBlock||s==b.HTMLTag||s==b.CommentBlock))return{parser:t,overlay:Bx(r.node,r.from,r.to)};return null})}}var Nx={resolve:"Strikethrough",mark:"StrikethroughMark"},Fx={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":d.strikethrough}},{name:"StrikethroughMark",style:d.processingInstruction}],parseInline:[{name:"Strikethrough",parse(O,e,t){if(e!=126||O.char(t+1)!=126||O.char(t+2)==126)return-1;let i=O.slice(t-1,t),r=O.slice(t+2,t+3),n=/\s|^$/.test(i),s=/\s|^$/.test(r),a=Rr.test(i),o=Rr.test(r);return O.addDelimiter(Nx,t,t+2,!s&&(!o||n||a),!n&&(!a||s||o))},after:"Emphasis"}]};function Yr(O,e,t=0,i,r=0){let n=0,s=!0,a=-1,o=-1,l=!1,c=()=>{i.push(O.elt("TableCell",r+a,r+o,O.parser.parseInline(e.slice(a,o),r+a)))};for(let h=t;h-1)&&n++,s=!1,i&&(a>-1&&c(),i.push(O.elt("TableDelimiter",h+r,h+r+1))),a=o=-1):(l||f!=32&&f!=9)&&(a<0&&(a=h),o=h+1),l=!l&&f==92}return a>-1&&(n++,i&&c()),n}function zp(O,e){for(let t=e;tr instanceof qs)||!zp(e.text,e.basePos))return!1;let i=O.peekLine();return lm.test(i)&&Yr(O,e.text,e.basePos)==Yr(O,i,e.basePos)},before:"SetextHeading"}]},vc=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Kx={defineNodes:[{name:"Task",block:!0,style:d.list},{name:"TaskMarker",style:d.atom}],parseBlock:[{name:"TaskList",leaf(O,e){return/^\[[ xX]\][ \t]/.test(e.content)&&O.parentType().name=="ListItem"?new vc:null},after:"SetextHeading"}]},Up=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Wp=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,Jx=/[\w-]+\.[\w-]+($|\/)/,jp=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Cp=/\/[a-zA-Z\d@.]+/gy;function Gp(O,e,t,i){let r=0;for(let n=e;n-1)return-1;let i=e+t[0].length;for(;;){let r=O[i-1],n;if(/[?!.,:*_~]/.test(r)||r==")"&&Gp(O,e,i,")")>Gp(O,e,i,"("))i--;else if(r==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(O.slice(e,i))))i=e+n.index;else break}return i}function Ep(O,e){jp.lastIndex=e;let t=jp.exec(O);if(!t)return-1;let i=t[0][t[0].length-1];return i=="_"||i=="-"?-1:e+t[0].length-(i=="."?1:0)}var tk={parseInline:[{name:"Autolink",parse(O,e,t){let i=t-O.offset;if(i&&/\w/.test(O.text[i-1]))return-1;Up.lastIndex=i;let r=Up.exec(O.text),n=-1;if(!r)return-1;if(r[1]||r[2]){if(n=ek(O.text,i+r[0].length),n>-1&&O.hasOpenLink){let s=/([^\[\]]|\[[^\]]*\])*/.exec(O.text.slice(i,n));n=i+s[0].length}}else r[3]?n=Ep(O.text,i):(n=Ep(O.text,i+r[0].length),n>-1&&r[0]=="xmpp:"&&(Cp.lastIndex=n,r=Cp.exec(O.text),r&&(n=r.index+r[0].length)));return n<0?-1:(O.addElement(O.elt("URL",t,n+O.offset)),n+O.offset)}}]},cm=[Hx,Kx,Fx,tk];function hm(O,e,t){return(i,r,n)=>{if(r!=O||i.char(n+1)==O)return-1;let s=[i.elt(t,n,n+1)];for(let a=n+1;a"}}}),mm=new R,gm=am.configure({props:[te.add(O=>!O.is("Block")||O.is("Document")||zc(O)!=null||Ok(O)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),mm.add(zc),se.add({Document:()=>null}),iO.add({Document:pm})]});function zc(O){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(O.name);return e?+e[1]:void 0}function Ok(O){return O.name=="OrderedList"||O.name=="BulletList"}function ik(O,e){let t=O;for(;;){let i=t.nextSibling,r;if(!i||(r=zc(i.type))!=null&&r<=e)break;t=i}return t.to}var rk=Ho.of((O,e,t)=>{for(let i=U(O).resolveInner(t,-1);i&&!(i.fromt)return{from:t,to:n}}return null});function Uc(O){return new Re(pm,O,[],"markdown")}var nk=Uc(gm),sk=gm.configure([cm,dm,fm,um,{props:[te.add({Table:(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}]),zs=Uc(sk);function ak(O,e){return t=>{if(t&&O){let i=null;if(t=/\S*/.exec(t)[0],typeof O=="function"?i=O(t):i=ar.matchLanguageName(O,t,!0),i instanceof ar)return i.support?i.support.language.parser:nr.getSkippingParser(i.load());if(i)return i.parser}return e?e.parser:null}}var qr=class{constructor(e,t,i,r,n,s,a){this.node=e,this.from=t,this.to=i,this.spaceBefore=r,this.spaceAfter=n,this.type=s,this.item=a}blank(e,t=!0){let i=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;i.length0;r--)i+=" ";return i+(t?this.spaceAfter:"")}}marker(e,t){let i=this.node.name=="OrderedList"?String(+Sm(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}};function Pm(O,e){let t=[],i=[];for(let r=O;r;r=r.parent){if(r.name=="FencedCode")return i;(r.name=="ListItem"||r.name=="Blockquote")&&t.push(r)}for(let r=t.length-1;r>=0;r--){let n=t[r],s,a=e.lineAt(n.from),o=n.from-a.from;if(n.name=="Blockquote"&&(s=/^ *>( ?)/.exec(a.text.slice(o))))i.push(new qr(n,o,o+s[0].length,"",s[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(s=/^( *)\d+([.)])( *)/.exec(a.text.slice(o)))){let l=s[3],c=s[0].length;l.length>=4&&(l=l.slice(0,l.length-4),c-=4),i.push(new qr(n.parent,o,o+c,s[1],l,s[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(s=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(o)))){let l=s[4],c=s[0].length;l.length>4&&(l=l.slice(0,l.length-4),c-=4);let h=s[2];s[3]&&(h+=s[3].replace(/[xX]/," ")),i.push(new qr(n.parent,o,o+c,s[1],l,h,n))}}return i}function Sm(O,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(O.from,O.from+10))}function Vc(O,e,t,i=0){for(let r=-1,n=O;;){if(n.name=="ListItem"){let a=Sm(n,e),o=+a[2];if(r>=0){if(o!=r+1)return;t.push({from:n.from+a[1].length,to:n.from+a[0].length,insert:String(r+2+i)})}r=o}let s=n.nextSibling;if(!s)break;n=s}}function Wc(O,e){let t=/^[ \t]*/.exec(O)[0].length;if(!t||e.facet(nO)!=" ")return O;let i=ve(O,4,t),r="";for(let n=i;n>0;)n>=4?(r+=" ",n-=4):(r+=" ",n--);return r+O.slice(t)}var ok=(O={})=>({state:e,dispatch:t})=>{let i=U(e),{doc:r}=e,n=null,s=e.changeByRange(a=>{if(!a.empty||!zs.isActiveAt(e,a.from,-1)&&!zs.isActiveAt(e,a.from,1))return n={range:a};let o=a.from,l=r.lineAt(o),c=Pm(i.resolveInner(o,-1),r);for(;c.length&&c[c.length-1].from>o-l.from;)c.pop();if(!c.length)return n={range:a};let h=c[c.length-1];if(h.to-h.spaceAfter.length>o-l.from)return n={range:a};let f=o>=h.to-h.spaceAfter.length&&!/\S/.test(l.text.slice(h.to));if(h.item&&f){let m=h.node.firstChild,g=h.node.getChild("ListItem","ListItem");if(m.to>=o||g&&g.to0&&!/[^\s>]/.test(r.lineAt(l.from-1).text)||O.nonTightLists===!1){let P=c.length>1?c[c.length-2]:null,y,X="";P&&P.item?(y=l.from+P.from,X=P.marker(r,1)):y=l.from+(P?P.to:0);let x=[{from:y,to:o,insert:X}];return h.node.name=="OrderedList"&&Vc(h.item,r,x,-2),P&&P.node.name=="OrderedList"&&Vc(P.item,r,x),{range:S.cursor(y+X.length),changes:x}}else{let P=$m(c,e,l);return{range:S.cursor(o+P.length+1),changes:{from:l.from,insert:P+e.lineBreak}}}}if(h.node.name=="Blockquote"&&f&&l.from){let m=r.lineAt(l.from-1),g=/>\s*$/.exec(m.text);if(g&&g.index==h.from){let P=e.changes([{from:m.from+g.index,to:m.to},{from:l.from+h.from,to:l.to}]);return{range:a.map(P),changes:P}}}let u=[];h.node.name=="OrderedList"&&Vc(h.item,r,u);let Q=h.item&&h.item.from]*/.exec(l.text)[0].length>=h.to)for(let m=0,g=c.length-1;m<=g;m++)$+=m==g&&!Q?c[m].marker(r,1):c[m].blank(ml.from&&/\s/.test(l.text.charAt(p-l.from-1));)p--;return $=Wc($,e),ck(h.node,e.doc)&&($=$m(c,e,l)+e.lineBreak+$),u.push({from:p,to:o,insert:e.lineBreak+$}),{range:S.cursor(p+$.length+1),changes:u}});return n?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)},lk=ok();function Qm(O){return O.name=="QuoteMark"||O.name=="ListMark"}function ck(O,e){if(O.name!="OrderedList"&&O.name!="BulletList")return!1;let t=O.firstChild,i=O.getChild("ListItem","ListItem");if(!i)return!1;let r=e.lineAt(t.to),n=e.lineAt(i.from),s=/^[\s>]*$/.test(r.text);return r.number+(s?0:1){let t=U(O),i=null,r=O.changeByRange(n=>{let s=n.from,{doc:a}=O;if(n.empty&&zs.isActiveAt(O,n.from)){let o=a.lineAt(s),l=Pm(hk(t,s),a);if(l.length){let c=l[l.length-1],h=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(s-o.from>h&&!/\S/.test(o.text.slice(h,s-o.from)))return{range:S.cursor(o.from+h),changes:{from:o.from+h,to:s}};if(s-o.from==h&&(!c.item||o.from<=c.item.from||!/\S/.test(o.text.slice(0,c.to)))){let f=o.from+c.from;if(c.item&&c.node.from{var t;let{main:i}=e.state.selection;if(i.empty)return!1;let r=(t=O.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!r||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(r)||(/^www\./.test(r)&&(r="https://"+r),!zs.isActiveAt(e.state,i.from,1)))return!1;let n=U(e.state),s=!1;return n.iterate({from:i.from,to:i.to,enter:a=>{(a.from>i.from||$k.test(a.name))&&(s=!0)},leave:a=>{a.to=97&&O<=122||O>=65&&O<=90}function zr(O){return O==95||O>=128||wm(O)}function Cc(O){return O>=48&&O<=55||O>=97&&O<=102||O>=65&&O<=70}var _w={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},Rw=new z(O=>{if(O.next==40){O.advance();let e=0;for(;km(O.peek(e));)e++;let t="",i;for(;wm(i=O.peek(e));)t+=String.fromCharCode(i),e++;for(;km(O.peek(e));)e++;O.peek(e)==41&&_w[t.toLowerCase()]&&O.acceptToken(mk)}else if(O.next==60&&O.peek(1)==60&&O.peek(2)==60){for(let i=0;i<3;i++)O.advance();for(;O.next==32||O.next==9;)O.advance();let e=O.next==39;if(e&&O.advance(),!zr(O.next))return;let t=String.fromCharCode(O.next);for(;O.advance(),!(!zr(O.next)&&!(O.next>=48&&O.next<=55));)t+=String.fromCharCode(O.next);if(e){if(O.next!=39)return;O.advance()}if(O.next!=10&&O.next!=13)return;for(;;){let i=O.next==10||O.next==13;if(O.advance(),O.next<0)return;if(i){for(;O.next==32||O.next==9;)O.advance();let r=!0;for(let n=0;n{O.next<0&&O.acceptToken(Tk)}),qw=new z((O,e)=>{O.next==63&&e.canShift(bm)&&O.peek(1)==62&&O.acceptToken(bm)});function zw(O){let e=O.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,i;for(;t<5&&(i=O.peek(t))>=48&&i<=55;)t++;return t}if(e==120&&Cc(O.peek(2)))return Cc(O.peek(3))?4:3;if(e==117&&O.peek(2)==123)for(let t=3;;t++){let i=O.peek(t);if(i==125)return t==2?0:t+1;if(!Cc(i))break}return 0}var Uw=new z((O,e)=>{let t=!1;for(;!(O.next==34||O.next<0||O.next==36&&(zr(O.peek(1))||O.peek(1)==123)||O.next==123&&O.peek(1)==36);t=!0){if(O.next==92){let i=zw(O);if(i){if(t)break;return O.acceptToken(Sk,i)}}else if(!t&&(O.next==91||O.next==45&&O.peek(1)==62&&zr(O.peek(2))||O.next==63&&O.peek(1)==45&&O.peek(2)==62&&zr(O.peek(3)))&&e.canShift(Xk))break;O.advance()}t&&O.acceptToken(Pk)}),Ww=F({"Visibility abstract final static":d.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":d.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":d.controlKeyword,"and or xor yield unset clone instanceof insteadof":d.operatorKeyword,"function fn class trait implements extends const enum global interface use var":d.definitionKeyword,"include include_once require require_once namespace":d.moduleKeyword,"new from echo print array list as":d.keyword,null:d.null,Boolean:d.bool,VariableName:d.variableName,"NamespaceName/...":d.namespace,"NamedType/...":d.typeName,Name:d.name,"CallExpression/Name":d.function(d.variableName),"LabelStatement/Name":d.labelName,"MemberExpression/Name":d.propertyName,"MemberExpression/VariableName":d.special(d.propertyName),"ScopedExpression/ClassMemberName/Name":d.propertyName,"ScopedExpression/ClassMemberName/VariableName":d.special(d.propertyName),"CallExpression/MemberExpression/Name":d.function(d.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":d.function(d.propertyName),"MethodDeclaration/Name":d.function(d.definition(d.variableName)),"FunctionDefinition/Name":d.function(d.definition(d.variableName)),"ClassDeclaration/Name":d.definition(d.className),UpdateOp:d.updateOperator,ArithOp:d.arithmeticOperator,"LogicOp IntersectionType/&":d.logicOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,ControlOp:d.controlOperator,AssignOp:d.definitionOperator,"$ ConcatOp":d.operator,LineComment:d.lineComment,BlockComment:d.blockComment,Integer:d.integer,Float:d.float,String:d.string,ShellExpression:d.special(d.string),"=> ->":d.punctuation,"( )":d.paren,"#[ [ ]":d.squareBracket,"${ { }":d.brace,"-> ?->":d.derefOperator,", ; :: : \\":d.separator,"PhpOpen PhpClose":d.processingInstruction}),jw={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},Zm=Oe.deserialize({version:14,states:"%#[Q`OWOOQhQaOOP%oO`OOOOO#t'#Hh'#HhO%tO#|O'#DuOOO#u'#Dx'#DxQ&SOWO'#DxO&XO$VOOOOQ#u'#Dy'#DyO&lQaO'#D}O'[QdO'#EQO+QQdO'#IqO+_QdO'#ERO-RQaO'#EXO/bQ`O'#EUO/gQ`O'#E_O2UQaO'#E_O2]Q`O'#EgO2bQ`O'#EqO-RQaO'#EqO2mQpO'#FOO2rQ`O'#FOOOQS'#Iq'#IqO2wQ`O'#ExOOQS'#Ih'#IhO5SQdO'#IeO9UQeO'#F]O-RQaO'#FlO-RQaO'#FmO-RQaO'#FnO-RQaO'#FoO-RQaO'#FoO-RQaO'#FrOOQO'#Ir'#IrO9cQ`O'#FxOOQO'#Ht'#HtO9kQ`O'#HXO:VQ`O'#FsO:bQ`O'#HfO:mQ`O'#GPO:uQaO'#GQO-RQaO'#G`O-RQaO'#GcO;bOrO'#GfOOQS'#JP'#JPOOQS'#JO'#JOOOQS'#Ie'#IeO/bQ`O'#GmO/bQ`O'#GoO/bQ`O'#GtOhQaO'#GvO;iQ`O'#GwO;nQ`O'#GzO:]Q`O'#G}O;sQeO'#HOO;sQeO'#HPO;sQeO'#HQO;}Q`O'#HROhQ`O'#HVO:]Q`O'#HWO>mQ`O'#HWO;}Q`O'#HXO:]Q`O'#HZO:]Q`O'#H[O:]Q`O'#H]O>rQ`O'#H`O>}Q`O'#HaOQO!$dQ`O,5POOQ#u-E;h-E;hO!1QQ`O,5=tOOO#u,5:_,5:_O!1]O#|O,5:_OOO#u-E;g-E;gOOOO,5>|,5>|OOQ#y1G0T1G0TO!1eQ`O1G0YO-RQaO1G0YO!2wQ`O1G0qOOQS1G0q1G0qOOQS'#Eo'#EoOOQS'#Il'#IlO-RQaO'#IlOOQS1G0r1G0rO!4ZQ`O'#IoO!5pQ`O'#IqO!5}QaO'#EwOOQO'#Io'#IoO!6XQ`O'#InO!6aQ`O,5;aO-RQaO'#FXOOQS'#FW'#FWOOQS1G1[1G1[O!6fQdO1G1dO!8kQdO1G1dO!:WQdO1G1dO!;sQdO1G1dO!=`QdO1G1dO!>{QdO1G1dO!@hQdO1G1dO!BTQdO1G1dO!CpQdO1G1dO!E]QdO1G1dO!FxQdO1G1dO!HeQdO1G1dO!JQQdO1G1dO!KmQdO1G1dO!MYQdO1G1dO!NuQdO1G1dOOQT1G0_1G0_O!#[Q`O,5<_O#!bQaO'#EYOOQS1G0[1G0[O#!iQ`O,5:zOEdQaO,5:zO#!nQaO,5;OO#!uQdO,5:|O#$tQdO,5?UO#&sQaO'#HmO#'TQ`O,5?TOOQS1G0e1G0eO#']Q`O1G0eO#'bQ`O'#IkO#(zQ`O'#IkO#)SQ`O,5;SOG|QaO,5;SOOQS1G0w1G0wOOQO,5>^,5>^OOQO-E;p-E;pOOQS1G1U1G1UO#)pQdO'#FQO#+uQ`O'#HsOJ}QpO1G1UO2wQ`O'#HpO#+zQtO,5;eO2wQ`O'#HqO#,iQtO,5;gO#-WQaO1G1OOOQS,5;h,5;hO#/gQtO'#FQO#/tQdO1G0dO-RQaO1G0dO#1aQdO1G1aO#2|QdO1G1cOOQO,5X,5>XOOQO-E;k-E;kOOQS7+&P7+&PO!+iQaO,5;TO$$^QaO'#HnO$$hQ`O,5?VOOQS1G0n1G0nO$$pQ`O1G0nPOQO'#FQ'#FQOOQO,5>_,5>_OOQO-E;q-E;qOOQS7+&p7+&pOOQS,5>[,5>[OOQS-E;n-E;nO$$uQtO,5>]OOQS-E;o-E;oO$%dQdO7+&jO$'iQtO'#FQO$'vQdO7+&OOOQS1G0j1G0jOOQO,5>a,5>aOOQO-E;s-E;sOOQ#u7+(x7+(xO!$[QdO7+(xOOQ#u7+(}7+(}O#JfQ`O7+(}O#JkQ`O7+(}OOQ#u7+(z7+(zO!.]Q`O7+(zO!1TQ`O7+(zO!1QQ`O7+(zO$)cQ`O,5i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5pOOQ#u,5>p,5>pOOQ#u-EoOOQS-EVQdO1G2^OOQS,5>h,5>hOOQS-E;z-E;zOOQ#u7+({7+({O$?oQ`O'#GXO:]Q`O'#H_OOQO'#IV'#IVO$@fQ`O,5=xOOQ#u,5=x,5=xO$AcQ!bO'#EQO$AzQ!bO7+(}O$BYQpO7+)RO#KRQpO7+)RO$BbQ`O'#HbO!$[QdO7+)RO$BpQdO,5>rOOQS-EVOOQS-E;i-E;iO$D{QdO<Z,5>ZOOQO-E;m-E;mOOQS1G1_1G1_O$8rQaO,5:uO$G}QaO'#HlO$H[Q`O,5?QOOQS1G0`1G0`OOQS7+&Q7+&QO$HdQ`O7+&UO$IyQ`O1G0oO$K`Q`O,5>YOOQO,5>Y,5>YOOQO-E;l-E;lOOQS7+&Y7+&YOOQS7+&U7+&UOOQ#u<c,5>cOOQO-E;u-E;uOOQS<lOOQ#u-EmOOQO-EW,5>WOOQO-E;j-E;jO!+iQaO,5;UOOQ#uANBTANBTO#JfQ`OANBTOOQ#uANBQANBQO!.]Q`OANBQO!+iQaO7+'hOOQO7+'l7+'lO%-bQ`O7+'hO%.wQ`O7+'hO%/SQ`O7+'lO!+iQaO7+'mOOQO7+'m7+'mO%/XQdO'#F}OOQO'#Hv'#HvO%/jQ`O,5e,5>eOOQS-E;w-E;wOOQO1G2_1G2_O$1YQdO1G2_O$/jQpO1G2_O#JkQ`O1G2]O!.mQdO1G2aO%$dQ!bO1G2]O!$[QdO1G2]OOQO1G2a1G2aOOQO1G2]1G2]O%2uQaO'#G]OOQO1G2b1G2bOOQSAN@xAN@xO!.]Q`OAN@xOOOQ<]O%6rQ!bO'#FQO!$[QdOANBXOOQ#uANBXANBXO:]Q`O,5=}O%7WQ`O,5=}O%7cQ`O'#IXO%7wQ`O,5?rOOQS1G3h1G3hOOQS7+)x7+)xP%+OQpOANBXO%8PQ`O1G0pOOQ#uG27oG27oOOQ#uG27lG27lO%9fQ`O<d,5>dO%dOOQO-E;v-E;vO%hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5s,5>sOOQO-Ej,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5YQdO,5<^O)@XQdO,5QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?ROlQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OOoO*GeQ`O,5>VO*HzQdO<[QdO,5{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#T#mO#V#lO#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O#Y']P~O#O#qO~P/lO!z#rO~O#d#tO#fbO#gcO~O'a#vO~O#s#zO~OU$OO!R$OO!w#}O#s3hO'W#{O~OT'XXz'XX!S'XX!c'XX!n'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX'P'XX!y'XX!o'XX~O#|$QO$O$RO~P3YOP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{OT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX~Or$TO#T8eO#V8dO~P5^O#sdO'WYO~OS$fO]$aOk$dOm$fOs$`O!a$bO$krO$u$eO~O!z$hO#T$jO'W$gO~Oo$mOs$lO#d$nO~O!z$hO#T$rO~O!U$uO$u$tO~P-ROR${O!p$zO#d$yO#g$zO&}${O~O't$}O~P;PO!z%SO~O!z%UO~O!n#bO'P#bO~P-RO!pXO~O!z%`O~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z%dO~O]$aO~O!pXO#sdO'WYO~O]%rOs%rO#s%nO'WYO~O!j%wO'Q%wO'TRO~O'Q%zO~PhO!o%{O~PhO!r%}O~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'cX#O'cX~P!%aO!r)yO!y'eX#O'eX~P)dO!y#kX#O#kX~P!+iO#O){O!y'bX~O!y)}O~O%T#cOT$Qiz$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi$_$Qi'P$Qi!y$Qi#O$Qi#P$Qi#Y$Qi!o$Qi!r$QiV$Qi#|$Qi$O$Qi!p$Qi~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!c#UO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi~P!%aO_*PO~PxO$hqO$krO~P2wO#X+|O#a+{O#b+{O~O#d,OO%W,OO%^+}O'W$gO~O!o,PO~PCVOc%bXd%bXh%bXj%bXf%bXg%bXe%bX~PhOc,TOd,ROP%aiQ%aiS%aiU%aiW%aiX%ai[%ai]%ai^%ai`%aia%aib%aik%aim%aio%aip%aiq%ais%ait%aiu%aiv%aix%aiy%ai|%ai}%ai!O%ai!P%ai!Q%ai!R%ai!T%ai!V%ai!W%ai!X%ai!Y%ai!Z%ai![%ai!]%ai!^%ai!_%ai!a%ai!b%ai!d%ai!n%ai!p%ai!z%ai#X%ai#d%ai#f%ai#g%ai#s%ai$[%ai$d%ai$e%ai$h%ai$k%ai$u%ai%T%ai%U%ai%W%ai%X%ai%`%ai&|%ai'W%ai'u%ai'Q%ai!o%aih%aij%aif%aig%aiY%ai_%aii%aie%ai~Oc,XOd,UOh,WO~OY,YO_,ZO!o,^O~OY,YO_,ZOi%gX~Oi,`O~Oj,aO~O!n,cO~PxO$hqO$krO~P2wO!p)`O~OU$OO!R$OO!w3nO#s3iO'W,zO~O#s,|O~O!p-OO'a'UO~O#sdO'WYO!n&zX#O&zX'P&zX~O#O)gO!n'ya'P'ya~O#s-UO~O!n&_X#O&_X'P&_X#P&_X~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ka#O#ka~P!%aO!y&cX#O&cX~P@aO#O){O!y'ba~O!o-_O~PCVO#P-`O~O#O-aO!o'YX~O!o-cO~O!y-dO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wi#Y#Wi~P!%aO!y&bX#O&bX~PxO#n'XO~OS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO!n#bO!p-yO'P#bO~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o.mO#d>xO$hqO$krO~P2wO#d.rO%W.rO%^+}O'W$gO~O%W.sO~O#Y.tO~Oc%bad%bah%baj%baf%bag%bae%ba~PhOc.wOd,ROP%aqQ%aqS%aqU%aqW%aqX%aq[%aq]%aq^%aq`%aqa%aqb%aqk%aqm%aqo%aqp%aqq%aqs%aqt%aqu%aqv%aqx%aqy%aq|%aq}%aq!O%aq!P%aq!Q%aq!R%aq!T%aq!V%aq!W%aq!X%aq!Y%aq!Z%aq![%aq!]%aq!^%aq!_%aq!a%aq!b%aq!d%aq!n%aq!p%aq!z%aq#X%aq#d%aq#f%aq#g%aq#s%aq$[%aq$d%aq$e%aq$h%aq$k%aq$u%aq%T%aq%U%aq%W%aq%X%aq%`%aq&|%aq'W%aq'u%aq'Q%aq!o%aqh%aqj%aqf%aqg%aqY%aq_%aqi%aqe%aq~Oc.|Od,UOh.{O~O!r(hO~OP7wOQ|OU_OW}O[xO$hqO$krO~P2wOS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o/fO#d>xO$hqO$krO~P2wOw!tX!p!tX#T!tX#n!tX#s#vX#|!tX'W!tX~Ow(ZO!p)`O#T3tO#n3sO~O!p-OO'a&fa~O]/nOs/nO#sdO'WYO~OV/rO!n&za#O&za'P&za~O#O)gO!n'yi'P'yi~O#s/tO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&_a#O&_a'P&_a#P&_a~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vy!S!vy!c!vy!n!vy!w!vy'P!vy!y!vy!o!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ji#O#ji~P!%aO_*PO!o&`X#O&`X~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#]i#O#]i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P/yO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y&ba#O&ba~P!%aO#|0OO!y$ji#O$ji~O#d0PO~O#V0SO#d0RO~P2wOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ji#O$ji~P!%aO!p-yO#|0TO!y$oi#O$oi~O!o0YO'W$gO~O#O0[O!y'kX~O#d0^O~O!y0_O~O!pXO!r0bO~O#T'ZO#n'XO!p'qy!n'qy'P'qy~O!n$sy'P$sy!y$sy!o$sy~PCVO#P0eO#T'ZO#n'XO~O#sdO'WYOw&mX!p&mX#O&mX!n&mX'P&mX~O#O.^Ow'la!p'la!n'la'P'la~OS+kO]0mOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO#T3tO#n3sO'W$gO~O#|)XO#T'eX#n'eX'W'eX~O!n#bO!p0sO'P#bO~O#Y0wO~Oh0|O~OTvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jq#O$jq~P!%aO#|1kO!y$jq#O$jq~O#d1lO~O!n#bO!pXO!z$hO#P1oO'P#bO~O!o1rO'W$gO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oq#O$oq~P!%aO#T1tO#d1sO!y&lX#O&lX~O#O0[O!y'ka~O#T'ZO#n'XO!p'q!R!n'q!R'P'q!R~O!pXO!r1yO~O!n$s!R'P$s!R!y$s!R!o$s!R~PCVO#P1{O#T'ZO#n'XO~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#^i#O#^i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jy#O$jy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oy#O$oy~P!%aO!pXO#P2rO~O#d2sO~O#O0[O!y'ki~O!n$s!Z'P$s!Z!y$s!Z!o$s!Z~PCVOTvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$j!R#O$j!R~P!%aO!n$s!c'P$s!c!y$s!c!o$s!c~PCVO!a3`O'W$gO~OV3dO!o&Wa#O&Wa~O'W$gO!n%Ri'P%Ri~O'a'_O~O'a/jO~O'a*iO~O'a1]O~OT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ta#|$ta$O$ta'P$ta!y$ta!o$ta#O$ta~P!%aO#T3uO~P-RO#s3lO~O#s3mO~O!U$uO$u$tO~P#-WOT8TOz8RO!S8UO!c8VO!w:_O#P3pO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X'P'^X!y'^X!o'^X~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P5aO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^X#Y'^X#|'^X$O'^X!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~P!%aO#T5OO~P#-WOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$`a#|$`a$O$`a'P$`a!y$`a!o$`a#O$`a~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$aa#|$aa$O$aa'P$aa!y$aa!o$aa#O$aa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ba#|$ba$O$ba'P$ba!y$ba!o$ba#O$ba~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ca#|$ca$O$ca'P$ca!y$ca!o$ca#O$ca~P!%aOz3{O#|$ca$O$ca#O$ca~PMVOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$fa#|$fa$O$fa'P$fa!y$fa!o$fa#O$fa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n%Va#|%Va$O%Va'P%Va!y%Va!o%Va#O%Va~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n#Ua#|#Ua$O#Ua'P#Ua!y#Ua!o#Ua#O#Ua~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n'^a#|'^a$O'^a'P'^a!y'^a!o'^a#O'^a~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qi!S#Qi!c#Qi!n#Qi#|#Qi$O#Qi'P#Qi!y#Qi!o#Qi#O#Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#}i!S#}i!c#}i!n#}i#|#}i$O#}i'P#}i!y#}i!o#}i#O#}i~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$Pi#|$Pi$O$Pi'P$Pi!y$Pi!o$Pi#O$Pi~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vq!S!vq!c!vq!n!vq!w!vq#|!vq$O!vq'P!vq!y!vq!o!vq#O!vq~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qq!S#Qq!c#Qq!n#Qq#|#Qq$O#Qq'P#Qq!y#Qq!o#Qq#O#Qq~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sq#|$sq$O$sq'P$sq!y$sq!o$sq#O$sq~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vy!S!vy!c!vy!n!vy!w!vy#|!vy$O!vy'P!vy!y!vy!o!vy#O!vy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sy#|$sy$O$sy'P$sy!y$sy!o$sy#O$sy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!R#|$s!R$O$s!R'P$s!R!y$s!R!o$s!R#O$s!R~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!Z#|$s!Z$O$s!Z'P$s!Z!y$s!Z!o$s!Z#O$s!Z~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!c#|$s!c$O$s!c'P$s!c!y$s!c!o$s!c#O$s!c~P!%aOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T5bO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$vO#O9_O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'xX~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9aO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'ZX~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aO#T9fO~P!+iO!n#Ua'P#Ua!y#Ua!o#Ua~PCVO!n'^a'P'^a!y'^a!o'^a~PCVO#T=PO#V=OO!y&aX#O&aX~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wi#O#Wi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sq#P$sq#Y$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&wa#O&wa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&_a#O&_a~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wq#O#Wq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sy#P$sy#Y$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!R#P$s!R#Y$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!Z#P$s!Z#Y$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!c#P$s!c#Y$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T9vO~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$`a#O$`a~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$aa#O$aa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ba#O$ba~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ca#O$ca~P!%aOz:`O%T#cOT$ca!S$ca!c$ca!w$ca!y$ca#O$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$fa#O$fa~P!%aO!r?SO#P9^O~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ta#O$ta~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y%Va#O%Va~P!%aOT8TOz8RO!S8UO!c8VO!r9cO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOz:`O#T#PO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi~P!%aOz:`O#T#PO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi~P!%aOz:`O#T#PO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz:`O#T#PO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz:`O$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz:`O$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz:`O$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz:`O$Z:lO$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz:`O$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qi!S#Qi!c#Qi!y#Qi#O#Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#}i!S#}i!c#}i!y#}i#O#}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$Pi#O$Pi~P!%aO!r?TO#P9hO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vq!S!vq!c!vq!w!vq!y!vq#O!vq~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qq!S#Qq!c#Qq!y#Qq#O#Qq~P!%aO!r?YO#P9oO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sq#O$sq~P!%aO#P9oO#T'ZO#n'XO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vy!S!vy!c!vy!w!vy!y!vy#O!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sy#O$sy~P!%aO#P9pO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!R#O$s!R~P!%aO#P9sO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!Z#O$s!Z~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!c#O$s!c~P!%aO#T;}O~P!+iOT8TOz8RO!S8UO!c8VO!w:_O#P;|O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aO!U$uO$u$tO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QVO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QWO#X`O#dhO#fbO#gcO#sdO$[vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Ua#O#Ua~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'^a#O'^a~P!%aOz<]O!w?^O#T#PO$R<_O$SpO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QqO#X`O#dhO#fbO#gcO#sdO$[oO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P>nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X!r'^X!o'^X#O'^X!p'^X'P'^X~P!%aOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#O'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O#|:uO$O:vO!y'XX~P.@qO!z$hO#T>zO~O!r;SO~PxO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT[O~O!r?zO#P:rO~OT8TOz8RO!S8UO!c8VO!r>]O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!r>^O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r?{O#P>cO~O!r?|O#P>hO~O#P>hO#T'ZO#n'XO~O#P:rO#T'ZO#n'XO~O#P>iO#T'ZO#n'XO~O#P>lO#T'ZO#n'XO~O!z$hO#T?nO~Oo>wOs$lO~O!z$hO#T?oO~O#O?QO!n'pX!p'pX'P'pX~O!z$hO#T?vO~O!z$hO#T?wO~O!z$hO#T?xO~Oo?lOs$lO~Oo?uOs$lO~Oo?tOs$lO~O%X$]%W$k!e$^#d%`#g'u'W#f~",goto:"%1O'{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'|P(TPP(Z(^PPP(vP(^*o(^6cP6cPP>cFxF{PP6cGR! RP! UP! UPPGR! e! h! lGRGRPP! oP! rPPGR!)u!0q!0qGR!0uP!0u!0u!0u!2PP!;g!S#>Y#>h#>n#>x#?O#?U#?[#?b#?l#?v#?|#@S#@^PPPPPPPP#@d#@hP#A^$(h$(k$(u$1R$1_$1t$1zP$1}$2Q$2W$5[$?Y$Gr$Gu$G{$HO$Kb$Ke$Kn$Kv$LQ$Li$MP$Mz%'}PP%0O%0S%0`%0u%0{Q!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]|!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q%_!ZQ%h!aQ%m!eQ'k$cQ'x$iQ)d%lQ+W'{Q,k)QU.O+T+V+]Q.j+pQ/`,jS0a.T.UQ0q.dQ1n0VS1w0`0dQ2Q0nQ2q1pQ2t1xR3[2u|ZPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]2lf]`cgjklmnoprxyz!W!X!Y!]!e!f!g!y!z#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%S%U%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(t)T)X)`)c)g)n)u)y*V*Z*[*r*w*|+Q+X+[+^+_+j+m+q+t,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b/X/n/y0O0T0b0e1R1S1b1k1o1y1{2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|S$ku$`Q%W!V^%e!_$a'j)Y.f0o2OQ%i!bQ%j!cQ%k!dQ%v!kS&V!|){Q&]#OQ'l$dQ'm$eS'|$j'hQ)S%`Q*v'nQ+z(bQ,O(dQ-S)iU.g+n.c0mQ.q+{Q.r+|Q/d,vS0V-y0XQ1X/cQ1e/rS2T0s2WQ2h1`Q3U2iQ3^2zQ3_2{Q3c3VQ3f3`R3g3d0{!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q#h^Q%O!PQ%P!QQ%Q!RQ,b(sQ.u,RR.y,UR&r#hQ*Q&qR/w-a0{hPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#j_k#n`j#i#q&t&x5d5e9W:Q:R:S:TR#saT&}#r'PR-h*[R&R!{0zhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#tb-x!}[#e#k#u$U$V$W$X$Y$Z$v$w%X%Z%]%a%s%|&O&U&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&v&w&|'`'b'c(e(x)v)x)z*O*U*h*j+a+d,n,q-W-Y-[-e-f-g-w.Y/O/[/v0Q0Z0f1g1j1m1z2S2`2o2p2v3Z4]4^4d4e4f4g4h4i4j4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5P5Q5T5U5W5X5Y5]5^5`5t6e6f6g6h6i6j6k6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7m7q8i8j8k8l8m8n8p8q8r8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9U9V9Y9[9]9d9e9g9i9j9k9l9m9n9q9r9t9w:p:x:y:z:{:|:};Q;R;T;U;V;W;X;Y;Z;[;];^;_;`;a;b;c;d;f;g;l;m;p;r;s;w;y;{O>P>Q>R>S>T>U>X>Y>Z>_>`>a>b>d>e>f>g>j>k>m>r>s>{>|>}?V?b?cQ'd$[Y(X$s8o;P=^=_S(]3o7lQ(`$tR+y(aT&X!|){#a$Pg#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|3yfPVX]`cgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%O%Q%S%T%U%V%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(h(t)T)X)`)c)g)n)u)y){*V*Z*[*r*w*|+Q+X+[+^+_+j+m+n+q+t,Q,T,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b.c.u.w/P/X/n/y0O0T0b0e0m0s0}1O1R1S1W1b1k1o1y1{2W2]2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|[#wd#x3h3i3j3kh'V#z'W)f,}-U/k/u1f3l3m3q3rQ)e%nR-T)kY#yd%n)k3h3iV'T#x3j3k1dePVX]`cjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a'e(R(V(Y(Z(h(t)T)X)g)n)u)y){*V*Z*[*|+^+q,Q,T,Y,c,e,g-O-`-a-t-z.[.^.u.w/P/X/n/y0O0T0e0s0}1O1R1S1W1b1k1o1{2W2]2k2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q%o!fQ)l%r#O3vg#}$h'X'Z'p't'y(W([)`*w+Q+X+[+_+j+m+t,i,u,x-v.S.V.].b0b1y7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|a3w)c*r+n.c0m3n3s3tY'T#z)f-U3l3mZ*c'W,}/u3q3r0vhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0}1O1R1S1W1k1o1{2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T2U0s2WR&^#OR&]#O!r#Z[#e#u$U$V$W$X$Z$s$w%X%Z%]&`&a&b&c&d&e&f&g'`'b'c(e)v)x*O*j+d-Y.Y0f1z2`2p2v3Z9U9V!Y4U3o4d4e4f4g4i4j4l4m4n4o4p4q4r4s4{4|4}5P5Q5T5U5W5X5Y5]5^5`!^6X4^6e6f6g6h6j6k6m6n6o6p6q6r6s6t6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7l7m#b8[#k%a%s%|&O&v&w&|(x*U+a,n,q-W-e-g/[4]5t7q8i8j8k8l8n8o8p8t8u8v8w8x8y8z8{9Y9[9]9d9g9i9l9n9q9r9t9w:p;Rr>s>{?b?c!|:i&U)z-[-f-w0Q0Z1g1j1m2o8q8r9e9j9k9m:x:y:z:{:};P;Q;T;U;V;W;X;Y;Z;[;d;f;g;l;m;p;r;s;w;y;{>R>S!`T>X>Z>_>a>d>e>g>j>k>m>|>}?VoU>Y>`>b>fS$iu#fQ$qwU'{$j$l&pQ'}$kS(P$m$rQ+Z'|Q+](OQ+`(QQ1p0VQ5s7dS5v7f7gQ5w7hQ7p9xS7r9y9zQ7s9{Q;O>uS;h>w>zQ;o?PQ>y?jS?O?l?nQ?U?oQ?`?sS?a?t?wS?d?u?vR?e?xT'u$h+Q!csPVXt!S!j!r!s!w$h%O%Q%T%V'p([(h)`+Q+j+t,Q,T,u,x.u.w/P0}1O1W2]Q$]rR*l'eQ-{+PQ.i+oQ0U-xQ0j.`Q1|0kR2w1}T0W-y0XQ+V'zQ.U+YR0d.XQ(_$tQ)^%iQ)s%vQ*u'mS+x(`(aQ-q*vR.p+yQ(^$tQ)b%kQ)r%vQ*q'lS*t'm)sU+w(_(`(aS-p*u*vS.o+x+yQ/i,{Q/{-nQ/}-qR0v.pQ(]$tQ)]%iQ)_%jQ)q%vU*s'm)r)sW+v(^(_(`(aQ,t)^U-o*t*u*vU.n+w+x+yS/|-p-qS0u.o.pQ1i/}R2Y0vX+r([)`+t,xb%f!_$a'j+n.c.f0m0o2OR,r)YQ$ovS+b(S?Qg?m([)`+i+j+m+t,u,x.a.b0lR0t.kT2V0s2W0}|PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$y{$|Q,O(dR.r+|T${{$|Q(j%OQ(r%QQ(w%TQ(z%VQ.},XQ0z.yQ0{.|R2c1WR(m%PX,[(k(l,],_R(n%PX(p%Q%T%V1WR%T!T_%b!]%S(t,c,e/X1RR%V!UR/],gR,j)PQ)a%kS*p'l)bS-m*q,{S/z-n/iR1h/{T,w)`,xQ-P)fU/l,|,}-UU1^/k/t/uR2n1fR/o-OR2l1bSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w,Q1O2]Q,Q(hQ1O/PR2]0}Q)o%sS-X)o9bR9b8rQ-b*QR/x-bQ&y#oS*X&y9XR9X:tS*]&|&}R-i*]Q)|&YR-^)|!j'Y#|'o*f*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*e'Y/g]/g,{-n.f0o1[2O!h'[#|'o*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*g'[/hZ/h,{-n.f0o2OU#xd%n)kU'S#x3j3kQ3j3hR3k3iQ'W#z^*b'W,}/k/u1f3q3rQ,})fQ/u-UQ3q3lR3r3m|tPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]W$_t'p+j,uS'p$h+QS+j([+tT,u)`,xQ'f$]R*m'fQ0X-yR1q0XQ+R'vR-}+RQ0].PS1u0]1vR1v0^Q._+fR0i._Q+t([R.l+tW+m([)`+t,xS.b+j,uT.e+m.bQ)Z%fR,s)ZQ(T$oS+c(T?RR?R?mQ2W0sR2}2WQ$|{R(f$|Q,S(iR.v,SQ,V(jR.z,VQ,](kQ,_(lT/Q,],_Q)U%aS,o)U9`R9`8qQ)R%_R,l)RQ,x)`R/e,xQ)h%pS-R)h/sR/s-SQ1c/oR2m1cT!uV!rj!iPVX!j!r!s!w(h,Q/P0}1O2]Q%R!SQ(i%OW(p%Q%T%V1WQ.x,TQ0x.uR0y.w|[PVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q#e]U#k`#q&xQ#ucQ$UkQ$VlQ$WmQ$XnQ$YoQ$ZpQ$sx^$vy3y5|8P:]n>oQ+a(RQ+d(VQ,n)TQ,q)XQ-W)nQ-Y)uQ-[)yQ-e*VQ-f*ZQ-g*[^-k3u5b7c9v;}>p>qQ-w*|Q.Y+^Q/O,YQ/[,gQ/v-`Q0Q-tQ0Z-zQ0f.[Q1g/yQ1j0OQ1m0TQ1z0eU2S0s2W:rQ2`1SQ2o1kQ2p1oQ2v1{Q3Z2rQ3o3xQ4]jQ4^5eQ4d5fQ4e5hQ4f5jQ4g5lQ4h5nQ4i5pQ4j3zQ4l3|Q4m3}Q4n4OQ4o4PQ4p4QQ4q4RQ4r4SQ4s4TQ4t4UQ4u4VQ4v4WQ4w4XQ4x4YQ4y4ZQ4z4[Q4{4_Q4|4`Q4}4aQ5P4bQ5Q4cQ5T4kQ5U5OQ5W5RQ5X5SQ5Y5VQ5]5ZQ5^5[Q5`5_Q5t5rQ6e5gQ6f5iQ6g5kQ6h5mQ6i5oQ6j5qQ6k5}Q6m6PQ6n6QQ6o6RQ6p6SQ6q6TQ6r6UQ6s6VQ6t6WQ6u6XQ6v6YQ6w6ZQ6x6[Q6y6]Q6z6^Q6{6_Q6|6`Q6}6aQ7O6bQ7Q6cQ7R6dQ7U6lQ7V7PQ7X7SQ7Y7TQ7Z7WQ7^7[Q7_7]Q7a7`Q7l5{Q7m5dQ7q7oQ8i7xQ8j7yQ8k7zQ8l7{Q8m7|Q8n7}Q8o8OQ8p8QU8q,c/X1RQ8r%dQ8t8SQ8u8TQ8v8UQ8w8VQ8x8WQ8y8XQ8z8YQ8{8ZQ8|8[Q8}8]Q9O8^Q9P8_Q9Q8`Q9R8aQ9S8bQ9U8dQ9V8eQ9Y8fQ9[8gQ9]8hQ9d8sQ9e9TQ9g9ZQ9i9^Q9j9_Q9k9aQ9l9cQ9m9fQ9n9hQ9q9oQ9r9pQ9t9sQ9w:QU:p#i&t9WQ:x:UQ:y:VQ:z:WQ:{:XQ:|:YQ:}:ZQ;P:[Q;Q:^Q;R:_Q;T:aQ;U:bQ;V:cQ;W:dQ;X:eQ;Y:fQ;Z:gQ;[:hQ;]:iQ;^:jQ;_:kQ;`:lQ;a:mQ;b:nQ;c:oQ;d:uQ;f:vQ;g:wQ;l;SQ;m;eQ;p;jQ;r;kQ;s;nQ;w;uQ;y;vQ;{;zQOP<{Q>Q<|Q>R=OQ>S=PQ>T=QQ>U=RQ>X=SQ>Y=TQ>Z=UQ>_=aQ>`=bQ>a>VQ>b>WQ>d>[Q>e>]Q>f>^Q>g>cQ>j>hQ>k>iQ>m>lQ>r:SQ>s:RQ>{>vQ>|:qQ>}:sQ?V;iQ?b?^R?c?_R*R&qQ%t!gQ)W%dT*P&q-a$WiPVX]cklmnopxyz!S!W!X!Y!j!r!s!w#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%O%Q%T%V%}&S&['a(V(h)u+^,Q,T.[.u.w/P0e0}1O1S1W1o1{2]2r3p3u8d8e!t5c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x7n5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`:P`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l>t!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x?[,Y-`:q:s;iV>[>]>c>h>i>l>n>p!]?]0s2W:rW>^>o>qQ#p`Q&s#iQ&{#qR*T&tS#o`#q^$Sj5d5e:Q:R:S:TS*W&x9WT:t#i&tQ'O#rR*_'PR&T!{R&Z!|Q&Y!|R-]){Q#|gS'^#}3nS'o$h+QS*d'X3sU*f'Z*w-vQ*z'pQ+O'tQ+T'yQ+e(WW+i([)`+t,xQ,{)cQ-n*rQ.T+XQ.W+[Q.Z+_U.a+j+m,uQ.f+nQ/_,iQ0`.SQ0c.VQ0g.]Q0l.bQ0o.cQ1[3tQ1x0bQ2O0mQ2u1yQ5x7iQ5y7jQ5z7kQ7e7wQ7t9|Q7u9}Q7v:OQ;q?SQ;t?TQ;x?YQ?W?pQ?X?qQ?Z?rQ?f?yQ?g?zQ?h?{R?i?|0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_#`$Og#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|S$[r'eQ%l!eS%p!f%rU+f(Y(Z+qQ-Q)gQ/m-OQ0h.^Q1a/nQ2j1bR3W2k|vPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]#Y#g]cklmnopxyz!W!X!Y#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%}&S&['a(V)u+^.[0e1S1o1{2r3p3u8d8e`+k([)`+j+m+t,u,x.b!t8c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x<}5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`?k`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l?}!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x@O,Y-`:q:s;iV>[>]>c>h>i>l>n>p!]@P0s2W:rW>^>o>qR'w$hQ'v$hR-|+QR$^rQ#d[Q%Y!WQ%[!XQ%^!YQ(U$pQ({%WQ(|%XQ(}%ZQ)O%]Q)V%cQ)[%gQ)d%lQ)j%qQ)p%tQ*n'iQ-V)mQ-l*oQ.i+oQ.j+pQ.x,WQ/S,`Q/T,aQ/U,bQ/Z,fQ/^,hQ/b,pQ/q-PQ0j.`Q0q.dQ0r.hQ0t.kQ0y.{Q1Y/dQ1_/lQ1n0VQ1|0kQ2Q0nQ2R0pQ2[0|Q2d1XQ2g1^Q2w1}Q2y2PQ2|2VQ3P2ZQ3T2fQ3X2nQ3Y2pQ3]2xQ3a3RQ3b3SR3e3ZR.R+UQ+g(YQ+h(ZR.k+qS+s([+tT,w)`,xa+l([)`+j+m+t,u,x.bQ%g!_Q'i$aQ*o'jQ.h+nS0p.c.fS2P0m0oR2x2OQ$pvW+o([)`+t,xW.`+i+j+m,uS0k.a.bR1}0l|!aPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q$ctW+p([)`+t,xU.d+j+m,uR0n.b0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R/a,m0}}PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$x{$|Q(q%QQ(v%TQ(y%VR2b1WQ%c!]Q(u%SQ,d(tQ/W,cQ/Y,eQ1Q/XR2_1RQ%q!fR)m%rR/p-O",nodeNames:"\u26A0 ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print readonly require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> Name VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp IntersectionType OptionalType NamedType QualifiedName \\ NamespaceName Name NamespaceName Name ScopedExpression :: ClassMemberName DynamicMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter PropertyHooks PropertyHook UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:318,nodeProps:[["group",-36,2,8,49,82,84,86,89,94,95,103,107,108,112,113,116,120,126,132,137,139,140,154,155,156,157,160,161,173,174,188,190,191,192,193,194,200,"Expression",-28,75,79,81,83,201,203,208,210,211,214,217,218,219,220,221,223,224,225,226,227,228,229,230,231,234,235,239,240,"Statement",-4,121,123,124,125,"Type"],["isolate",-4,67,68,71,200,""],["openedBy",70,"phpOpen",77,"{",87,"(",102,"#["],["closedBy",72,"phpClose",78,"}",88,")",165,"]"]],propSources:[Ww],skippedNodes:[0],repeatNodeCount:32,tokenData:"!GQ_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9Y!e!}!7z!}#O!;b#O#P!V<%lO8VR9WV'TP%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%`QQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV'TP%`QOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRV<%l~8V~O8V~~%fR=OW'TPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!zQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!yU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY'TP$^QOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$_Q'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$[Q'TPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V%TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV#OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$[Q%^W'TPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#aU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo['TP$]QOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX'TPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#VU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_'TP%XQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]'TPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X'TPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ'TP%XQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX'TPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_K[['TP$^QOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$z_LVX'TPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_LwT'TPOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMW^NXO!f^^N[P;=`<%lMW_NdZ'TPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_! ^V!f^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%f_!!lP;=`<%lLQZ!!vm'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX'TPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY'TPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k['TP%WYOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX'TPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ'TP%WYOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]'TPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_'TP%WYOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!rQ'TPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#yQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!nU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$YQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$ZQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!jP!_!`!0k!r!s!0p#d#e!0pP!0pO!jPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0k_!1ZX#|Y'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#PU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!3{[!wQ'TPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#bU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!6WV!h^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW$RQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$dQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ta'aS'TP'WYOY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9ce'aS'TP'WYOY$zYZ%fZr$zrs!:tsw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:{V'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;iV#XU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!OZ'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%lO!=yR!>vV'TPO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?`VO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?xRO;'S!?];'S;=`!@R;=`O!?]Q!@UWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!?]<%lO!?]Q!@sO%UQQ!@vP;=`<%l!?]R!@|]OY!=yYZ!>qZ!a!=y!a!b!?]!b#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%l~!=y~O!=y~~%fR!AzW'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_;'S!=y;'S;=`!Bd;=`<%l!?]<%lO!=yR!BgWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!=y<%lO!?]R!CWV%UQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!CpP;=`<%l!=y_!CzV!p^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!DjY$UQ#n['TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EY#q;'S$z;'S;=`&W<%lO$zR!EaV$SQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!E}V!oQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FkV$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[Rw,Uw,qw,0,1,2,3,Vw],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(O,e)=>xm(O)<<1,external:xm},{term:284,get:O=>jw[O]||-1}],tokenPrec:29889});var Cw=ne.define({name:"php",parser:Zm.configure({props:[se.add({IfStatement:le({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:le({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:O=>{let e=O.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return O.baseIndent+(t?0:i?1:2)*O.unit},ColonBlock:O=>O.baseIndent+O.unit,"Block EnumBody DeclarationList":be({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"String BlockComment":()=>null,Statement:le({except:/^({|end(for|foreach|switch|while)\b)/})}),te.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":me,ColonBlock(O){return{from:O.from+1,to:O.to}},BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function vm(O={}){let e=[],t;if(O.baseLanguage!==null)if(O.baseLanguage)t=O.baseLanguage;else{let i=Ti({matchClosingTags:!1});e.push(i.support),t=i.language}return new J(Cw.configure({wrap:t&&xO(i=>i.type.isTop?{parser:t.parser,overlay:r=>r.name=="Text"}:null),top:O.plain?"Program":"Template"}),e)}var Gw=1,zm=194,Um=195,Ew=196,Ym=197,Aw=198,Lw=199,Mw=200,Dw=2,Wm=3,_m=201,Iw=24,Bw=25,Nw=49,Fw=50,Hw=55,Kw=56,Jw=57,eZ=59,tZ=60,OZ=61,iZ=62,rZ=63,nZ=65,sZ=238,aZ=71,oZ=241,lZ=242,cZ=243,hZ=244,fZ=245,dZ=246,uZ=247,QZ=248,jm=72,$Z=249,pZ=250,mZ=251,gZ=252,PZ=253,SZ=254,XZ=255,TZ=256,bZ=73,yZ=77,xZ=263,kZ=112,wZ=130,ZZ=151,vZ=152,YZ=155,WO=10,Ur=13,Lc=32,js=9,Mc=35,_Z=40,RZ=46,Ac=123,Rm=125,Cm=39,Gm=34,Vm=92,VZ=111,qZ=120,zZ=78,UZ=117,WZ=85,jZ=new Set([Bw,Nw,Fw,xZ,nZ,wZ,Kw,Jw,sZ,iZ,rZ,jm,bZ,yZ,tZ,OZ,ZZ,vZ,YZ,kZ]);function Gc(O){return O==WO||O==Ur}function Ec(O){return O>=48&&O<=57||O>=65&&O<=70||O>=97&&O<=102}var CZ=new z((O,e)=>{let t;if(O.next<0)O.acceptToken(Lw);else if(e.context.flags&Us)Gc(O.next)&&O.acceptToken(Aw,1);else if(((t=O.peek(-1))<0||Gc(t))&&e.canShift(Ym)){let i=0;for(;O.next==Lc||O.next==js;)O.advance(),i++;(O.next==WO||O.next==Ur||O.next==Mc)&&O.acceptToken(Ym,-i)}else Gc(O.next)&&O.acceptToken(Ew,1)},{contextual:!0}),GZ=new z((O,e)=>{let t=e.context;if(t.flags)return;let i=O.peek(-1);if(i==WO||i==Ur){let r=0,n=0;for(;;){if(O.next==Lc)r++;else if(O.next==js)r+=8-r%8;else break;O.advance(),n++}r!=t.indent&&O.next!=WO&&O.next!=Ur&&O.next!=Mc&&(r[O,e|Em])),LZ=new Ge({start:EZ,reduce(O,e,t,i){return O.flags&Us&&jZ.has(e)||(e==aZ||e==jm)&&O.flags&Em?O.parent:O},shift(O,e,t,i){return e==zm?new Ws(O,AZ(i.read(i.pos,t.pos)),0):e==Um?O.parent:e==Iw||e==Hw||e==eZ||e==Wm?new Ws(O,0,Us):qm.has(e)?new Ws(O,0,qm.get(e)|O.flags&Us):O},hash(O){return O.hash}}),MZ=new z(O=>{for(let e=0;e<5;e++){if(O.next!="print".charCodeAt(e))return;O.advance()}if(!/\w/.test(String.fromCharCode(O.next)))for(let e=0;;e++){let t=O.peek(e);if(!(t==Lc||t==js)){t!=_Z&&t!=RZ&&t!=WO&&t!=Ur&&t!=Mc&&O.acceptToken(Gw);return}}}),DZ=new z((O,e)=>{let{flags:t}=e.context,i=t&jt?Gm:Cm,r=(t&Ct)>0,n=!(t&Gt),s=(t&Et)>0,a=O.pos;for(;!(O.next<0);)if(s&&O.next==Ac)if(O.peek(1)==Ac)O.advance(2);else{if(O.pos==a){O.acceptToken(Wm,1);return}break}else if(n&&O.next==Vm){if(O.pos==a){O.advance();let o=O.next;o>=0&&(O.advance(),IZ(O,o)),O.acceptToken(Dw);return}break}else if(O.next==Vm&&!n&&O.peek(1)>-1)O.advance(2);else if(O.next==i&&(!r||O.peek(1)==i&&O.peek(2)==i)){if(O.pos==a){O.acceptToken(_m,r?3:1);return}break}else if(O.next==WO){if(r)O.advance();else if(O.pos==a){O.acceptToken(_m);return}break}else O.advance();O.pos>a&&O.acceptToken(Mw)});function IZ(O,e){if(e==VZ)for(let t=0;t<2&&O.next>=48&&O.next<=55;t++)O.advance();else if(e==qZ)for(let t=0;t<2&&Ec(O.next);t++)O.advance();else if(e==UZ)for(let t=0;t<4&&Ec(O.next);t++)O.advance();else if(e==WZ)for(let t=0;t<8&&Ec(O.next);t++)O.advance();else if(e==zZ&&O.next==Ac){for(O.advance();O.next>=0&&O.next!=Rm&&O.next!=Cm&&O.next!=Gm&&O.next!=WO;)O.advance();O.next==Rm&&O.advance()}}var BZ=F({'async "*" "**" FormatConversion FormatSpec':d.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":d.controlKeyword,"in not and or is del":d.operatorKeyword,"from def class global nonlocal lambda":d.definitionKeyword,import:d.moduleKeyword,"with as print":d.keyword,Boolean:d.bool,None:d.null,VariableName:d.variableName,"CallExpression/VariableName":d.function(d.variableName),"FunctionDefinition/VariableName":d.function(d.definition(d.variableName)),"ClassDefinition/VariableName":d.definition(d.className),PropertyName:d.propertyName,"CallExpression/MemberExpression/PropertyName":d.function(d.propertyName),Comment:d.lineComment,Number:d.number,String:d.string,FormatString:d.special(d.string),Escape:d.escape,UpdateOp:d.updateOperator,"ArithOp!":d.arithmeticOperator,BitOp:d.bitwiseOperator,CompareOp:d.compareOperator,AssignOp:d.definitionOperator,Ellipsis:d.punctuation,At:d.meta,"( )":d.paren,"[ ]":d.squareBracket,"{ }":d.brace,".":d.derefOperator,", ;":d.separator}),NZ={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Am=Oe.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[MZ,GZ,CZ,DZ,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:O=>NZ[O]||-1}],tokenPrec:7668});var Lm=new Tt,Dm=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Cs(O){return(e,t,i)=>{if(i)return!1;let r=e.node.getChild("VariableName");return r&&t(r,O),!0}}var FZ={FunctionDefinition:Cs("function"),ClassDefinition:Cs("class"),ForStatement(O,e,t){if(t){for(let i=O.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name=="in")break}},ImportStatement(O,e){var t,i;let{node:r}=O,n=((t=r.firstChild)===null||t===void 0?void 0:t.name)=="from";for(let s=r.getChild("import");s;s=s.nextSibling)s.name=="VariableName"&&((i=s.nextSibling)===null||i===void 0?void 0:i.name)!="as"&&e(s,n?"variable":"namespace")},AssignStatement(O,e){for(let t=O.node.firstChild;t;t=t.nextSibling)if(t.name=="VariableName")e(t,"variable");else if(t.name==":"||t.name=="AssignOp")break},ParamList(O,e){for(let t=null,i=O.node.firstChild;i;i=i.nextSibling)i.name=="VariableName"&&(!t||!/\*|AssignOp/.test(t.name))&&e(i,"variable"),t=i},CapturePattern:Cs("variable"),AsPattern:Cs("variable"),__proto__:null};function Im(O,e){let t=Lm.get(e);if(t)return t;let i=[],r=!0;function n(s,a){let o=O.sliceString(s.from,s.to);i.push({label:o,type:a})}return e.cursor(C.IncludeAnonymous).iterate(s=>{if(s.name){let a=FZ[s.name];if(a&&a(s,n,r)||!r&&Dm.has(s.name))return!1;r=!1}else if(s.to-s.from>8192){for(let a of Im(O,s.node))i.push(a);return!1}}),Lm.set(e,i),i}var Mm=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Bm=["String","FormatString","Comment","PropertyName"];function HZ(O){let e=U(O.state).resolveInner(O.pos,-1);if(Bm.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Mm.test(O.state.sliceDoc(e.from,e.to));if(!t&&!O.explicit)return null;let i=[];for(let r=e;r;r=r.parent)Dm.has(r.name)&&(i=i.concat(Im(O.state.doc,r)));return{options:i,from:t?e.from:O.pos,validFor:Mm}}var KZ=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(O=>({label:O,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(O=>({label:O,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(O=>({label:O,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(O=>({label:O,type:"function"}))),JZ=[W("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),W("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),W("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),W("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),W(`if \${}: + +`,{label:"if",detail:"block",type:"keyword"}),W("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),W("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),W("import ${module}",{label:"import",detail:"statement",type:"keyword"}),W("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],ev=cO(Bm,zt(KZ.concat(JZ)));function Dc(O){let{node:e,pos:t}=O,i=O.lineIndent(t,-1),r=null;for(;;){let n=e.childBefore(t);if(n)if(n.name=="Comment")t=n.from;else if(n.name=="Body"||n.name=="MatchBody")O.baseIndentFor(n)+O.unit<=i&&(r=n),e=n;else if(n.name=="MatchClause")e=n;else if(n.type.is("Statement"))e=n;else break;else break}return r}function Ic(O,e){let t=O.baseIndentFor(e),i=O.lineAt(O.pos,-1),r=i.from+i.text.length;return/^\s*($|#)/.test(i.text)&&O.node.tot?null:t+O.unit}var Bc=ne.define({name:"python",parser:Am.configure({props:[se.add({Body:O=>{var e;let t=/^\s*(#|$)/.test(O.textAfter)&&Dc(O)||O.node;return(e=Ic(O,t))!==null&&e!==void 0?e:O.continue()},MatchBody:O=>{var e;let t=Dc(O);return(e=Ic(O,t||O.node))!==null&&e!==void 0?e:O.continue()},IfStatement:O=>/^\s*(else:|elif )/.test(O.textAfter)?O.baseIndent:O.continue(),"ForStatement WhileStatement":O=>/^\s*else:/.test(O.textAfter)?O.baseIndent:O.continue(),TryStatement:O=>/^\s*(except[ :]|finally:|else:)/.test(O.textAfter)?O.baseIndent:O.continue(),MatchStatement:O=>/^\s*case /.test(O.textAfter)?O.baseIndent+O.unit:O.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":be({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":be({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":be({closing:"]"}),MemberExpression:O=>O.baseIndent+O.unit,"String FormatString":()=>null,Script:O=>{var e;let t=Dc(O);return(e=t&&Ic(O,t))!==null&&e!==void 0?e:O.continue()}}),te.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":me,Body:(O,e)=>({from:O.from+1,to:O.to-(O.to==e.doc.length?0:1)}),"String FormatString":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function Nm(){return new J(Bc,[Bc.data.of({autocomplete:HZ}),Bc.data.of({autocomplete:ev})])}var tv=36,Fm=1,Ov=2,yi=3,Nc=4,iv=5,rv=6,nv=7,sv=8,av=9,ov=10,lv=11,cv=12,hv=13,fv=14,dv=15,uv=16,Qv=17,Hm=18,$v=19,ng=20,sg=21,Km=22,pv=23,mv=24;function Hc(O){return O>=65&&O<=90||O>=97&&O<=122||O>=48&&O<=57}function gv(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function CO(O,e,t){for(let i=!1;;){if(O.next<0)return;if(O.next==e&&!i){O.advance();return}i=t&&!i&&O.next==92,O.advance()}}function Pv(O,e){e:for(;;){if(O.next<0)return;if(O.next==36){O.advance();for(let t=0;t)".charCodeAt(t);for(;;){if(O.next<0)return;if(O.next==i&&O.peek(1)==39){O.advance(2);return}O.advance()}}function Kc(O,e){for(;!(O.next!=95&&!Hc(O.next));)e!=null&&(e+=String.fromCharCode(O.next)),O.advance();return e}function Xv(O){if(O.next==39||O.next==34||O.next==96){let e=O.next;O.advance(),CO(O,e,!1)}else Kc(O)}function Jm(O,e){for(;O.next==48||O.next==49;)O.advance();e&&O.next==e&&O.advance()}function eg(O,e){for(;;){if(O.next==46){if(e)break;e=!0}else if(O.next<48||O.next>57)break;O.advance()}if(O.next==69||O.next==101)for(O.advance(),(O.next==43||O.next==45)&&O.advance();O.next>=48&&O.next<=57;)O.advance()}function tg(O){for(;!(O.next<0||O.next==10);)O.advance()}function jO(O,e){for(let t=0;t!=&|~^/",specialVar:"?",identifierQuotes:'"',caseInsensitiveIdentifiers:!1,words:ag(EO,GO)};function Tv(O,e,t,i){let r={};for(let n in Jc)r[n]=(O.hasOwnProperty(n)?O:Jc)[n];return e&&(r.words=ag(e,t||"",i)),r}function og(O){return new z(e=>{var t;let{next:i}=e;if(e.advance(),jO(i,Fc)){for(;jO(e.next,Fc);)e.advance();e.acceptToken(tv)}else if(i==36&&O.doubleDollarQuotedStrings){let r=Kc(e,"");e.next==36&&(e.advance(),Pv(e,r),e.acceptToken(yi))}else if(i==39||i==34&&O.doubleQuotedStrings)CO(e,i,O.backslashEscapes),e.acceptToken(yi);else if(i==35&&O.hashComments||i==47&&e.next==47&&O.slashComments)tg(e),e.acceptToken(Fm);else if(i==45&&e.next==45&&(!O.spaceAfterDashes||e.peek(1)==32))tg(e),e.acceptToken(Fm);else if(i==47&&e.next==42){e.advance();for(let r=1;;){let n=e.next;if(e.next<0)break;if(e.advance(),n==42&&e.next==47){if(r--,e.advance(),!r)break}else n==47&&e.next==42&&(r++,e.advance())}e.acceptToken(Ov)}else if((i==101||i==69)&&e.next==39)e.advance(),CO(e,39,!0),e.acceptToken(yi);else if((i==110||i==78)&&e.next==39&&O.charSetCasts)e.advance(),CO(e,39,O.backslashEscapes),e.acceptToken(yi);else if(i==95&&O.charSetCasts)for(let r=0;;r++){if(e.next==39&&r>1){e.advance(),CO(e,39,O.backslashEscapes),e.acceptToken(yi);break}if(!Hc(e.next))break;e.advance()}else if(O.plsqlQuotingMechanism&&(i==113||i==81)&&e.next==39&&e.peek(1)>0&&!jO(e.peek(1),Fc)){let r=e.peek(1);e.advance(2),Sv(e,r),e.acceptToken(yi)}else if(jO(i,O.identifierQuotes)){let r=i==91?93:i;CO(e,r,!1),e.acceptToken($v)}else if(i==40)e.acceptToken(nv);else if(i==41)e.acceptToken(sv);else if(i==123)e.acceptToken(av);else if(i==125)e.acceptToken(ov);else if(i==91)e.acceptToken(lv);else if(i==93)e.acceptToken(cv);else if(i==59)e.acceptToken(hv);else if(O.unquotedBitLiterals&&i==48&&e.next==98)e.advance(),Jm(e),e.acceptToken(Km);else if((i==98||i==66)&&(e.next==39||e.next==34)){let r=e.next;e.advance(),O.treatBitsAsBytes?(CO(e,r,O.backslashEscapes),e.acceptToken(pv)):(Jm(e,r),e.acceptToken(Km))}else if(i==48&&(e.next==120||e.next==88)||(i==120||i==88)&&e.next==39){let r=e.next==39;for(e.advance();gv(e.next);)e.advance();r&&e.next==39&&e.advance(),e.acceptToken(Nc)}else if(i==46&&e.next>=48&&e.next<=57)eg(e,!0),e.acceptToken(Nc);else if(i==46)e.acceptToken(fv);else if(i>=48&&i<=57)eg(e,!1),e.acceptToken(Nc);else if(jO(i,O.operatorChars)){for(;jO(e.next,O.operatorChars);)e.advance();e.acceptToken(dv)}else if(jO(i,O.specialVar))e.next==i&&e.advance(),Xv(e),e.acceptToken(Qv);else if(i==58||i==44)e.acceptToken(uv);else if(Hc(i)){let r=Kc(e,String.fromCharCode(i));e.acceptToken(e.next==46||e.peek(-r.length-1)==46?Hm:(t=O.words[r.toLowerCase()])!==null&&t!==void 0?t:Hm)}})}var lg=og(Jc),bv=Oe.deserialize({version:14,states:"%vQ]QQOOO#wQRO'#DSO$OQQO'#CwO%eQQO'#CxO%lQQO'#CyO%sQQO'#CzOOQQ'#DS'#DSOOQQ'#C}'#C}O'UQRO'#C{OOQQ'#Cv'#CvOOQQ'#C|'#C|Q]QQOOQOQQOOO'`QQO'#DOO(xQRO,59cO)PQQO,59cO)UQQO'#DSOOQQ,59d,59dO)cQQO,59dOOQQ,59e,59eO)jQQO,59eOOQQ,59f,59fO)qQQO,59fOOQQ-E6{-E6{OOQQ,59b,59bOOQQ-E6z-E6zOOQQ,59j,59jOOQQ-E6|-E6|O+VQRO1G.}O+^QQO,59cOOQQ1G/O1G/OOOQQ1G/P1G/POOQQ1G/Q1G/QP+kQQO'#C}O+rQQO1G.}O)PQQO,59cO,PQQO'#Cw",stateData:",[~OtOSPOSQOS~ORUOSUOTUOUUOVROXSOZTO]XO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O^]ORvXSvXTvXUvXVvXXvXZvX]vX_vX`vXavXbvXcvXdvXevXfvXgvXhvX~OsvX~P!jOa_Ob_Oc_O~ORUOSUOTUOUUOVROXSOZTO^tO_UO`UOa`Ob`Oc`OdUOeUOfUOgUOhUO~OWaO~P$ZOYcO~P$ZO[eO~P$ZORUOSUOTUOUUOVROXSOZTO^QO_UO`UOaPObPOcPOdUOeUOfUOgUOhUO~O]hOsoX~P%zOajObjOcjO~O^]ORkaSkaTkaUkaVkaXkaZka]ka_ka`kaakabkackadkaekafkagkahka~Oska~P'kO^]O~OWvXYvX[vX~P!jOWnO~P$ZOYoO~P$ZO[pO~P$ZO^]ORkiSkiTkiUkiVkiXkiZki]ki_ki`kiakibkickidkiekifkigkihki~Oski~P)xOWkaYka[ka~P'kO]hO~P$ZOWkiYki[ki~P)xOasObsOcsO~O",goto:"#hwPPPPPPPPPPPPPPPPPPPPPPPPPPx||||!Y!^!d!xPPP#[TYOZeUORSTWZbdfqT[OZQZORiZSWOZQbRQdSQfTZgWbdfqQ^PWk^lmrQl_Qm`RrseVORSTWZbdfq",nodeNames:"\u26A0 LineComment BlockComment String Number Bool Null ( ) { } [ ] ; . Operator Punctuation SpecialVar Identifier QuotedIdentifier Keyword Type Bits Bytes Builtin Script Statement CompositeIdentifier Parens Braces Brackets Statement",maxTerm:38,nodeProps:[["isolate",-4,1,2,3,19,""]],skippedNodes:[0,1,2],repeatNodeCount:3,tokenData:"RORO",tokenizers:[0,lg],topRules:{Script:[0,25]},tokenPrec:0});function eh(O){let e=O.cursor().moveTo(O.from,-1);for(;/Comment/.test(e.name);)e.moveTo(e.from,-1);return e.node}function Wr(O,e){let t=O.sliceString(e.from,e.to),i=/^([`'"\[])(.*)([`'"\]])$/.exec(t);return i?i[2]:t}function Gs(O){return O&&(O.name=="Identifier"||O.name=="QuotedIdentifier")}function yv(O,e){if(e.name=="CompositeIdentifier"){let t=[];for(let i=e.firstChild;i;i=i.nextSibling)Gs(i)&&t.push(Wr(O,i));return t}return[Wr(O,e)]}function Og(O,e){for(let t=[];;){if(!e||e.name!=".")return t;let i=eh(e);if(!Gs(i))return t;t.unshift(Wr(O,i)),e=eh(i)}}function xv(O,e){let t=U(O).resolveInner(e,-1),i=wv(O.doc,t);return t.name=="Identifier"||t.name=="QuotedIdentifier"||t.name=="Keyword"?{from:t.from,quoted:t.name=="QuotedIdentifier"?O.doc.sliceString(t.from,t.from+1):null,parents:Og(O.doc,eh(t)),aliases:i}:t.name=="."?{from:e,quoted:null,parents:Og(O.doc,t),aliases:i}:{from:e,quoted:null,parents:[],empty:!0,aliases:i}}var kv=new Set("where group having order union intersect except all distinct limit offset fetch for".split(" "));function wv(O,e){let t;for(let r=e;!t;r=r.parent){if(!r)return null;r.name=="Statement"&&(t=r)}let i=null;for(let r=t.firstChild,n=!1,s=null;r;r=r.nextSibling){let a=r.name=="Keyword"?O.sliceString(r.from,r.to).toLowerCase():null,o=null;if(!n)n=a=="from";else if(a=="as"&&s&&Gs(r.nextSibling))o=Wr(O,r.nextSibling);else{if(a&&kv.has(a))break;s&&Gs(r)&&(o=Wr(O,r))}o&&(i||(i=Object.create(null)),i[o]=yv(O,s)),s=/Identifier$/.test(r.name)?r:null}return i}function Zv(O,e,t){return t.map(i=>({...i,label:i.label[0]==O?i.label:O+i.label+e,apply:void 0}))}var vv=/^\w*$/,Yv=/^[`'"\[]?\w*[`'"\]]?$/;function ig(O){return O.self&&typeof O.self.label=="string"}var th=class O{constructor(e,t){this.idQuote=e,this.idCaseInsensitive=t,this.list=[],this.children=void 0}child(e){let t=this.children||(this.children=Object.create(null)),i=t[e];return i||(e&&!this.list.some(r=>r.label==e)&&this.list.push(rg(e,"type",this.idQuote,this.idCaseInsensitive)),t[e]=new O(this.idQuote,this.idCaseInsensitive))}maybeChild(e){return this.children?this.children[e]:null}addCompletion(e){let t=this.list.findIndex(i=>i.label==e.label);t>-1?this.list[t]=e:this.list.push(e)}addCompletions(e){for(let t of e)this.addCompletion(typeof t=="string"?rg(t,"property",this.idQuote,this.idCaseInsensitive):t)}addNamespace(e){Array.isArray(e)?this.addCompletions(e):ig(e)?this.addNamespace(e.children):this.addNamespaceObject(e)}addNamespaceObject(e){for(let t of Object.keys(e)){let i=e[t],r=null,n=t.replace(/\\?\./g,a=>a=="."?"\0":a).split("\0"),s=this;ig(i)&&(r=i.self,i=i.children);for(let a=0;a{let{parents:h,from:f,quoted:u,empty:Q,aliases:$}=xv(c.state,c.pos);if(Q&&!c.explicit)return null;$&&h.length==1&&(h=$[h[0]]||h);let p=o;for(let g of h){for(;!p.children||!p.children[g];)if(p==o&&l)p=l;else if(p==l&&i)p=p.child(i);else return null;let P=p.maybeChild(g);if(!P)return null;p=P}let m=p.list;if(p==o&&$&&(m=m.concat(Object.keys($).map(g=>({label:g,type:"constant"})))),u){let g=u[0],P=cg(g),y=c.state.sliceDoc(c.pos,c.pos+1)==P;return{from:f,to:y?c.pos+1:void 0,options:Zv(g,P,m),validFor:Yv}}else return{from:f,options:m,validFor:vv}}}function Rv(O){return O==sg?"type":O==ng?"keyword":"variable"}function Vv(O,e,t){let i=Object.keys(O).map(r=>t(e?r.toUpperCase():r,Rv(O[r])));return cO(["QuotedIdentifier","String","LineComment","BlockComment","."],zt(i))}var qv=bv.configure({props:[se.add({Statement:le()}),te.add({Statement(O,e){return{from:Math.min(O.from+100,e.doc.lineAt(O.from).to),to:O.to}},BlockComment(O){return{from:O.from+2,to:O.to-2}}}),F({Keyword:d.keyword,Type:d.typeName,Builtin:d.standard(d.name),Bits:d.number,Bytes:d.string,Bool:d.bool,Null:d.null,Number:d.number,String:d.string,Identifier:d.name,QuotedIdentifier:d.special(d.string),SpecialVar:d.special(d.name),LineComment:d.lineComment,BlockComment:d.blockComment,Operator:d.operator,"Semi Punctuation":d.punctuation,"( )":d.paren,"{ }":d.brace,"[ ]":d.squareBracket})]}),wt=class O{constructor(e,t,i){this.dialect=e,this.language=t,this.spec=i}get extension(){return this.language.extension}configureLanguage(e,t){return new O(this.dialect,this.language.configure(e,t),this.spec)}static define(e){let t=Tv(e,e.keywords,e.types,e.builtin),i=ne.define({name:"sql",parser:qv.configure({tokenizers:[{from:lg,to:og(t)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}});return new O(t,i,e)}};function zv(O,e){return{label:O,type:e,boost:-1}}function Uv(O,e=!1,t){return Vv(O.dialect.words,e,t||zv)}function Wv(O){return O.schema?_v(O.schema,O.tables,O.schemas,O.defaultTable,O.defaultSchema,O.dialect||Oh):()=>null}function jv(O){return O.schema?(O.dialect||Oh).language.data.of({autocomplete:Wv(O)}):[]}function hg(O={}){let e=O.dialect||Oh;return new J(e.language,[jv(O),e.language.data.of({autocomplete:Uv(e,O.upperCaseKeywords,O.keywordCompletion)})])}var Oh=wt.define({}),q5=wt.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:EO+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:GO+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),fg="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",dg=GO+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",ug="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",z5=wt.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:EO+"group_concat "+fg,types:dg,builtin:ug}),U5=wt.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:EO+"always generated groupby_concat hard persistent shutdown soft virtual "+fg,types:dg,builtin:ug}),Cv="approx_count_distinct approx_percentile_cont approx_percentile_disc avg checksum_agg count count_big grouping grouping_id max min product stdev stdevp sum var varp ai_generate_embeddings ai_generate_chunks cume_dist first_value lag last_value lead percentile_cont percentile_disc percent_rank left_shift right_shift bit_count get_bit set_bit collationproperty tertiary_weights @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_connections @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version cast convert parse try_cast try_convert try_parse asymkey_id asymkeyproperty certproperty cert_id crypt_gen_random decryptbyasymkey decryptbycert decryptbykey decryptbykeyautoasymkey decryptbykeyautocert decryptbypassphrase encryptbyasymkey encryptbycert encryptbykey encryptbypassphrase hashbytes is_objectsigned key_guid key_id key_name signbyasymkey signbycert symkeyproperty verifysignedbycert verifysignedbyasymkey @@cursor_rows @@fetch_status cursor_status datalength ident_current ident_incr ident_seed identity sql_variant_property @@datefirst current_timestamp current_timezone current_timezone_id date_bucket dateadd datediff datediff_big datefromparts datename datepart datetime2fromparts datetimefromparts datetimeoffsetfromparts datetrunc day eomonth getdate getutcdate isdate month smalldatetimefromparts switchoffset sysdatetime sysdatetimeoffset sysutcdatetime timefromparts todatetimeoffset year edit_distance edit_distance_similarity jaro_winkler_distance jaro_winkler_similarity edge_id_from_parts graph_id_from_edge_id graph_id_from_node_id node_id_from_parts object_id_from_edge_id object_id_from_node_id json isjson json_array json_contains json_modify json_object json_path_exists json_query json_value regexp_like regexp_replace regexp_substr regexp_instr regexp_count regexp_matches regexp_split_to_table abs acos asin atan atn2 ceiling cos cot degrees exp floor log log10 pi power radians rand round sign sin sqrt square tan choose greatest iif least @@procid app_name applock_mode applock_test assemblyproperty col_length col_name columnproperty databasepropertyex db_id db_name file_id file_idex file_name filegroup_id filegroup_name filegroupproperty fileproperty filepropertyex fulltextcatalogproperty fulltextserviceproperty index_col indexkey_property indexproperty next value for object_definition object_id object_name object_schema_name objectproperty objectpropertyex original_db_name parsename schema_id schema_name scope_identity serverproperty stats_date type_id type_name typeproperty dense_rank ntile rank row_number publishingservername certenclosed certprivatekey current_user database_principal_id has_dbaccess has_perms_by_name is_member is_rolemember is_srvrolemember loginproperty original_login permissions pwdencrypt pwdcompare session_user sessionproperty suser_id suser_name suser_sid suser_sname system_user user user_id user_name ascii char charindex concat concat_ws difference format left len lower ltrim nchar patindex quotename replace replicate reverse right rtrim soundex space str string_agg string_escape stuff substring translate trim unicode upper $partition @@error @@identity @@pack_received @@rowcount @@trancount binary_checksum checksum compress connectionproperty context_info current_request_id current_transaction_id decompress error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big session_context xact_state @@connections @@cpu_busy @@idle @@io_busy @@pack_sent @@packet_errors @@timeticks @@total_errors @@total_read @@total_write textptr textvalid columns_updated eventdata trigger_nestlevel vector_distance vectorproperty vector_search generate_series opendatasource openjson openquery openrowset openxml predict string_split coalesce nullif apply catch filter force include keep keepfixed modify optimize parameterization parameters partition recompile sequence set",W5=wt.define({keywords:EO+"add external procedure all fetch public alter file raiserror and fillfactor read any for readtext as foreign reconfigure asc freetext references authorization freetexttable replication backup from restore begin full restrict between function return break goto revert browse grant revoke bulk group right by having rollback cascade holdlock rowcount case identity rowguidcol check identity_insert rule checkpoint identitycol save close if schema clustered in securityaudit coalesce index select collate inner semantickeyphrasetable column insert semanticsimilaritydetailstable commit intersect semanticsimilaritytable compute into session_user constraint is set contains join setuser containstable key shutdown continue kill some convert left statistics create like system_user cross lineno table current load tablesample current_date merge textsize current_time national then current_timestamp nocheck to current_user nonclustered top cursor not tran database null transaction dbcc nullif trigger deallocate of truncate declare off try_convert default offsets tsequal delete on union deny open unique desc opendatasource unpivot disk openquery update distinct openrowset updatetext distributed openxml use double option user drop or values dump order varying else outer view end over waitfor errlvl percent when escape pivot where except plan while exec precision with execute primary within group exists print writetext exit proc noexpand index forceseek forcescan holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot spatial_window_max_cells tablock tablockx updlock xlock keepidentity keepdefaults ignore_constraints ignore_triggers",types:GO+"smalldatetime datetimeoffset datetime2 datetime bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:Cv,operatorChars:"*+-%<>!=^&|/",specialVar:"@",identifierQuotes:'"['}),j5=wt.define({keywords:EO+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:GO+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:'`"',specialVar:"@:?$"}),C5=wt.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:GO+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),G5=wt.define({keywords:EO+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:GO+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0});var ih=1,Gv=2,Ev=3,Av=4,Lv=5,Mv=36,Dv=37,Iv=38,Bv=11,Nv=13;function Fv(O){return O==45||O==46||O==58||O>=65&&O<=90||O==95||O>=97&&O<=122||O>=161}function Hv(O){return O==9||O==10||O==13||O==32}var Qg=null,$g=null,pg=0;function rh(O,e){let t=O.pos+e;if($g==O&&pg==t)return Qg;for(;Hv(O.peek(e));)e++;let i="";for(;;){let r=O.peek(e);if(!Fv(r))break;i+=String.fromCharCode(r),e++}return $g=O,pg=t,Qg=i||null}function mg(O,e){this.name=O,this.parent=e}var Kv=new Ge({start:null,shift(O,e,t,i){return e==ih?new mg(rh(i,1)||"",O):O},reduce(O,e){return e==Bv&&O?O.parent:O},reuse(O,e,t,i){let r=e.type.id;return r==ih||r==Nv?new mg(rh(i,1)||"",O):O},strict:!1}),Jv=new z((O,e)=>{if(O.next==60){if(O.advance(),O.next==47){O.advance();let t=rh(O,0);if(!t)return O.acceptToken(Lv);if(e.context&&t==e.context.name)return O.acceptToken(Gv);for(let i=e.context;i;i=i.parent)if(i.name==t)return O.acceptToken(Ev,-2);O.acceptToken(Av)}else if(O.next!=33&&O.next!=63)return O.acceptToken(ih)}},{contextual:!0});function nh(O,e){return new z(t=>{let i=0,r=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),i++)if(t.next==r){for(let n=1;n"),tY=nh(Dv,"?>"),OY=nh(Iv,"]]>"),iY=F({Text:d.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":d.angleBracket,TagName:d.tagName,"MismatchedCloseTag/TagName":[d.tagName,d.invalid],AttributeName:d.attributeName,AttributeValue:d.attributeValue,Is:d.definitionOperator,"EntityReference CharacterReference":d.character,Comment:d.blockComment,ProcessingInst:d.processingInstruction,DoctypeDecl:d.documentMeta,Cdata:d.special(d.string)}),gg=Oe.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[Jv,eY,tY,OY,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function Es(O,e){let t=e&&e.getChild("TagName");return t?O.sliceString(t.from,t.to):""}function sh(O,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":Es(O,t)}function rY(O,e,t){let i=e&&e.getChildren("Attribute").find(n=>n.from<=t&&n.to>=t),r=i&&i.getChild("AttributeName");return r?O.sliceString(r.from,r.to):""}function ah(O){for(let e=O&&O.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function nY(O,e){var t;let i=U(O).resolveInner(e,-1),r=null;for(let n=i;!r&&n.parent;n=n.parent)(n.name=="OpenTag"||n.name=="CloseTag"||n.name=="SelfClosingTag"||n.name=="MismatchedCloseTag")&&(r=n);if(r&&(r.to>e||r.lastChild.type.isError)){let n=r.parent;if(i.name=="TagName")return r.name=="CloseTag"||r.name=="MismatchedCloseTag"?{type:"closeTag",from:i.from,context:n}:{type:"openTag",from:i.from,context:ah(n)};if(i.name=="AttributeName")return{type:"attrName",from:i.from,context:r};if(i.name=="AttributeValue")return{type:"attrValue",from:i.from,context:r};let s=i==r||i.name=="Attribute"?i.childBefore(e):i;return s?.name=="StartTag"?{type:"openTag",from:e,context:ah(n)}:s?.name=="StartCloseTag"&&s.to<=e?{type:"closeTag",from:e,context:n}:s?.name=="Is"?{type:"attrValue",from:e,context:r}:s?{type:"attrName",from:e,context:r}:null}else if(i.name=="StartCloseTag")return{type:"closeTag",from:e,context:i.parent};for(;i.parent&&i.to==e&&!(!((t=i.lastChild)===null||t===void 0)&&t.type.isError);)i=i.parent;return i.name=="Element"||i.name=="Text"||i.name=="Document"?{type:"tag",from:e,context:i.name=="Element"?i:ah(i)}:null}var lh=class{constructor(e,t,i){this.attrs=t,this.attrValues=i,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(r=>({label:r,type:"text"})):[]}},oh=/^[:\-\.\w\u00b7-\uffff]*$/;function Pg(O){return Object.assign(Object.assign({type:"property"},O.completion||{}),{label:O.name})}function Sg(O){return typeof O=="string"?{label:`"${O}"`,type:"constant"}:/^"/.test(O.label)?O:Object.assign(Object.assign({},O),{label:`"${O.label}"`})}function sY(O,e){let t=[],i=[],r=Object.create(null);for(let o of e){let l=Pg(o);t.push(l),o.global&&i.push(l),o.values&&(r[o.name]=o.values.map(Sg))}let n=[],s=[],a=Object.create(null);for(let o of O){let l=i,c=r;o.attributes&&(l=l.concat(o.attributes.map(f=>typeof f=="string"?t.find(u=>u.label==f)||{label:f,type:"property"}:(f.values&&(c==r&&(c=Object.create(c)),c[f.name]=f.values.map(Sg)),Pg(f)))));let h=new lh(o,l,c);a[h.name]=h,n.push(h),o.top&&s.push(h)}s.length||(s=n);for(let o=0;o{var l;let{doc:c}=o.state,h=nY(o.state,o.pos);if(!h||h.type=="tag"&&!o.explicit)return null;let{type:f,from:u,context:Q}=h;if(f=="openTag"){let $=s,p=sh(c,Q);if(p){let m=a[p];$=m?.children||n}return{from:u,options:$.map(m=>m.completion),validFor:oh}}else if(f=="closeTag"){let $=sh(c,Q);return $?{from:u,to:o.pos+(c.sliceString(o.pos,o.pos+1)==">"?1:0),options:[((l=a[$])===null||l===void 0?void 0:l.closeNameCompletion)||{label:$+">",type:"type"}],validFor:oh}:null}else if(f=="attrName"){let $=a[Es(c,Q)];return{from:u,options:$?.attrs||i,validFor:oh}}else if(f=="attrValue"){let $=rY(c,Q,u);if(!$)return null;let p=a[Es(c,Q)],m=(p?.attrValues||r)[$];return!m||!m.length?null:{from:u,to:o.pos+(c.sliceString(o.pos,o.pos+1)=='"'?1:0),options:m,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let $=sh(c,Q),p=a[$],m=[],g=Q&&Q.lastChild;$&&(!g||g.name!="CloseTag"||Es(c,g)!=$)&&m.push(p?p.closeCompletion:{label:"",type:"type",boost:2});let P=m.concat((p?.children||(Q?n:s)).map(y=>y.openCompletion));if(Q&&p?.text.length){let y=Q.firstChild;y.to>o.pos-20&&!/\S/.test(o.state.sliceDoc(y.to,o.pos))&&(P=P.concat(p.text))}return{from:u,options:P,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var ch=ne.define({name:"xml",parser:gg.configure({props:[se.add({Element(O){let e=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(e?0:O.unit)},"OpenTag CloseTag SelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),te.add({Element(O){let e=O.firstChild,t=O.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:O.to}}}),hr.add({"OpenTag CloseTag":O=>O.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/$/}});function Tg(O={}){let e=[ch.data.of({autocomplete:sY(O.elements||[],O.attributes||[])})];return O.autoCloseTags!==!1&&e.push(aY),new J(ch,e)}function Xg(O,e,t=O.length){if(!e)return"";let i=e.firstChild,r=i&&i.getChild("TagName");return r?O.sliceString(r.from,Math.min(r.to,t)):""}var aY=T.inputHandler.of((O,e,t,i,r)=>{if(O.composing||O.state.readOnly||e!=t||i!=">"&&i!="/"||!ch.isActiveAt(O.state,e,-1))return!1;let n=r(),{state:s}=n,a=s.changeByRange(o=>{var l,c,h;let{head:f}=o,u=s.doc.sliceString(f-1,f)==i,Q=U(s).resolveInner(f,-1),$;if(u&&i==">"&&Q.name=="EndTag"){let p=Q.parent;if(((c=(l=p.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&($=Xg(s.doc,p.parent,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=``;return{range:o,changes:{from:f,to:m,insert:g}}}}else if(u&&i=="/"&&Q.name=="StartCloseTag"){let p=Q.parent;if(Q.from==f-2&&((h=p.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&($=Xg(s.doc,p,f))){let m=f+(s.doc.sliceString(f,f+1)===">"?1:0),g=`${$}>`;return{range:S.cursor(f+g.length,-1),changes:{from:f,to:m,insert:g}}}}return{range:o}});return a.changes.empty?!1:(O.dispatch([n,s.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var xi=63,bg=64,oY=1,lY=2,kg=3,cY=4,wg=5,hY=6,fY=7,Zg=65,dY=66,uY=8,QY=9,$Y=10,pY=11,mY=12,vg=13,gY=19,PY=20,SY=29,XY=33,TY=34,bY=47,yY=0,$h=1,fh=2,Cr=3,dh=4,At=class{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}};At.top=new At(null,-1,yY);function jr(O,e){for(let t=0,i=e-O.pos-1;;i--,t++){let r=O.peek(i);if(Lt(r)||r==-1)return t}}function uh(O){return O==32||O==9}function Lt(O){return O==10||O==13}function Yg(O){return uh(O)||Lt(O)}function AO(O){return O<0||Yg(O)}var xY=new Ge({start:At.top,reduce(O,e){return O.type==Cr&&(e==PY||e==TY)?O.parent:O},shift(O,e,t,i){if(e==kg)return new At(O,jr(i,i.pos),$h);if(e==Zg||e==wg)return new At(O,jr(i,i.pos),fh);if(e==xi)return O.parent;if(e==gY||e==XY)return new At(O,0,Cr);if(e==vg&&O.type==dh)return O.parent;if(e==bY){let r=/[1-9]/.exec(i.read(i.pos,t.pos));if(r)return new At(O,O.depth+ +r[0],dh)}return O},hash(O){return O.hash}});function ki(O,e,t=0){return O.peek(t)==e&&O.peek(t+1)==e&&O.peek(t+2)==e&&AO(O.peek(t+3))}var kY=new z((O,e)=>{if(O.next==-1&&e.canShift(bg))return O.acceptToken(bg);let t=O.peek(-1);if((Lt(t)||t<0)&&e.context.type!=Cr){if(ki(O,45))if(e.canShift(xi))O.acceptToken(xi);else return O.acceptToken(oY,3);if(ki(O,46))if(e.canShift(xi))O.acceptToken(xi);else return O.acceptToken(lY,3);let i=0;for(;O.next==32;)i++,O.advance();(i{if(e.context.type==Cr){O.next==63&&(O.advance(),AO(O.next)&&O.acceptToken(fY));return}if(O.next==45)O.advance(),AO(O.next)&&O.acceptToken(e.context.type==$h&&e.context.depth==jr(O,O.pos-1)?cY:kg);else if(O.next==63)O.advance(),AO(O.next)&&O.acceptToken(e.context.type==fh&&e.context.depth==jr(O,O.pos-1)?hY:wg);else{let t=O.pos;for(;;)if(uh(O.next)){if(O.pos==t)return;O.advance()}else if(O.next==33)_g(O);else if(O.next==38)Qh(O);else if(O.next==42){Qh(O);break}else if(O.next==39||O.next==34){if(ph(O,!0))break;return}else if(O.next==91||O.next==123){if(!vY(O))return;break}else{Rg(O,!0,!1,0);break}for(;uh(O.next);)O.advance();if(O.next==58){if(O.pos==t&&e.canShift(SY))return;let i=O.peek(1);AO(i)&&O.acceptTokenTo(e.context.type==fh&&e.context.depth==jr(O,t)?dY:Zg,t)}}},{contextual:!0});function ZY(O){return O>32&&O<127&&O!=34&&O!=37&&O!=44&&O!=60&&O!=62&&O!=92&&O!=94&&O!=96&&O!=123&&O!=124&&O!=125}function yg(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function xg(O,e){return O.next==37?(O.advance(),yg(O.next)&&O.advance(),yg(O.next)&&O.advance(),!0):ZY(O.next)||e&&O.next==44?(O.advance(),!0):!1}function _g(O){if(O.advance(),O.next==60){for(O.advance();;)if(!xg(O,!0)){O.next==62&&O.advance();break}}else for(;xg(O,!1););}function Qh(O){for(O.advance();!AO(O.next)&&As(O.tag)!="f";)O.advance()}function ph(O,e){let t=O.next,i=!1,r=O.pos;for(O.advance();;){let n=O.next;if(n<0)break;if(O.advance(),n==t)if(n==39)if(O.next==39)O.advance();else break;else break;else if(n==92&&t==34)O.next>=0&&O.advance();else if(Lt(n)){if(e)return!1;i=!0}else if(e&&O.pos>=r+1024)return!1}return!i}function vY(O){for(let e=[],t=O.pos+1024;;)if(O.next==91||O.next==123)e.push(O.next),O.advance();else if(O.next==39||O.next==34){if(!ph(O,!0))return!1}else if(O.next==93||O.next==125){if(e[e.length-1]!=O.next-2)return!1;if(e.pop(),O.advance(),!e.length)return!0}else{if(O.next<0||O.pos>t||Lt(O.next))return!1;O.advance()}}var YY="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function As(O){return O<33?"u":O>125?"s":YY[O-33]}function hh(O,e){let t=As(O);return t!="u"&&!(e&&t=="f")}function Rg(O,e,t,i){if(As(O.next)=="s"||(O.next==63||O.next==58||O.next==45)&&hh(O.peek(1),t))O.advance();else return!1;let r=O.pos;for(;;){let n=O.next,s=0,a=i+1;for(;Yg(n);){if(Lt(n)){if(e)return!1;a=0}else a++;n=O.peek(++s)}if(!(n>=0&&(n==58?hh(O.peek(s+1),t):n==35?O.peek(s-1)!=32:hh(n,t)))||!t&&a<=i||a==0&&!t&&(ki(O,45,s)||ki(O,46,s)))break;if(e&&As(n)=="f")return!1;for(let l=s;l>=0;l--)O.advance();if(e&&O.pos>r+1024)return!1}return!0}var _Y=new z((O,e)=>{if(O.next==33)_g(O),O.acceptToken(mY);else if(O.next==38||O.next==42){let t=O.next==38?$Y:pY;Qh(O),O.acceptToken(t)}else O.next==39||O.next==34?(ph(O,!1),O.acceptToken(QY)):Rg(O,!1,e.context.type==Cr,e.context.depth)&&O.acceptToken(uY)}),RY=new z((O,e)=>{let t=e.context.type==dh?e.context.depth:-1,i=O.pos;e:for(;;){let r=0,n=O.next;for(;n==32;)n=O.peek(++r);if(!r&&(ki(O,45,r)||ki(O,46,r))||!Lt(n)&&(t<0&&(t=Math.max(e.context.depth+1,r)),rYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"\u26A0 DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:xY,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[VY],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[kY,wY,_Y,RY,0,1],topRules:{Stream:[0,15]},tokenPrec:0});var qY=Oe.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"\u26A0 Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),zY=ne.define({name:"yaml",parser:Vg.configure({props:[se.add({Stream:O=>{for(let e=O.node.resolve(O.pos,-1);e&&e.to>=O.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.fromO.pos)return null}}return null},FlowMapping:be({closing:"}"}),FlowSequence:be({closing:"]"})}),te.add({"FlowMapping FlowSequence":me,"Item Pair BlockLiteral":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function qg(){return new J(zY)}var nV=ne.define({name:"yaml-frontmatter",parser:qY.configure({props:[F({DashLine:d.meta})]})});function UY({canWrap:O,isDisabled:e,isLive:t,isLiveDebounced:i,isLiveOnBlur:r,liveDebounce:n,language:s,state:a}){return{editor:null,themeCompartment:new FO,isDocChanged:!1,state:a,init(){let o=this.getLanguageExtension(),l=Alpine.debounce(()=>this.$wire.commit(),n??300);this.editor=new T({parent:this.$refs.editor,state:I.create({doc:this.state,extensions:[t$,Xt.of([QQ]),...O?[T.lineWrapping]:[],I.readOnly.of(e),T.editable.of(!e),T.updateListener.of(c=>{c.docChanged&&(this.isDocChanged=!0,this.state=c.state.doc.toString(),!r&&(t||i)&&l())}),T.domEventHandlers({blur:(c,h)=>{r&&this.isDocChanged&&this.$wire.$commit()}}),...o?[o]:[],this.themeCompartment.of(this.getThemeExtensions())]})}),this.$watch("state",()=>{this.state!==void 0&&this.editor.state.doc.toString()!==this.state&&this.editor.dispatch({changes:{from:0,to:this.editor.state.doc.length,insert:this.state}})}),this.themeObserver=new MutationObserver(()=>{this.editor.dispatch({effects:this.themeCompartment.reconfigure(this.getThemeExtensions())})}),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]})},isDarkMode(){return document.documentElement.classList.contains("dark")},getThemeExtensions(){return this.isDarkMode()?[a$]:[]},getLanguageExtension(){return s&&{cpp:g$,css:ys,go:W$,html:Ti,java:Zp,javascript:ks,json:Yp,markdown:Tm,php:vm,python:Nm,sql:hg,xml:Tg,yaml:qg}[s]?.()||null},destroy(){this.themeObserver&&(this.themeObserver.disconnect(),this.themeObserver=null),this.editor&&(this.editor.destroy(),this.editor=null)}}}export{UY as default}; diff --git a/public/js/filament/forms/components/color-picker.js b/public/js/filament/forms/components/color-picker.js index 67e4f5d6f..3b52c370b 100644 --- a/public/js/filament/forms/components/color-picker.js +++ b/public/js/filament/forms/components/color-picker.js @@ -1 +1 @@ -var c=(e,t=0,r=1)=>e>r?r:eMath.round(r*e)/r;var nt={grad:360/400,turn:360,rad:360/(Math.PI*2)},F=e=>G(b(e)),b=e=>(e[0]==="#"&&(e=e.substr(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:1}:{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:1}),it=(e,t="deg")=>Number(e)*(nt[t]||1),lt=e=>{let r=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?ct({h:it(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:r[5]===void 0?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},J=lt,ct=({h:e,s:t,l:r,a:o})=>(t*=(r<50?r:100-r)/100,{h:e,s:t>0?2*t/(r+t)*100:0,v:r+t,a:o}),X=e=>pt(A(e)),Y=({h:e,s:t,v:r,a:o})=>{let s=(200-t)*r/100;return{h:n(e),s:n(s>0&&s<200?t*r/100/(s<=100?s:200-s)*100:0),l:n(s/2),a:n(o,2)}};var d=e=>{let{h:t,s:r,l:o}=Y(e);return`hsl(${t}, ${r}%, ${o}%)`},v=e=>{let{h:t,s:r,l:o,a:s}=Y(e);return`hsla(${t}, ${r}%, ${o}%, ${s})`},A=({h:e,s:t,v:r,a:o})=>{e=e/360*6,t=t/100,r=r/100;let s=Math.floor(e),a=r*(1-t),i=r*(1-(e-s)*t),l=r*(1-(1-e+s)*t),N=s%6;return{r:n([r,i,a,a,l,r][N]*255),g:n([l,r,r,i,a,a][N]*255),b:n([a,a,l,r,r,i][N]*255),a:n(o,2)}},B=e=>{let{r:t,g:r,b:o}=A(e);return`rgb(${t}, ${r}, ${o})`},D=e=>{let{r:t,g:r,b:o,a:s}=A(e);return`rgba(${t}, ${r}, ${o}, ${s})`};var L=e=>{let r=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?G({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:r[7]===void 0?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},U=L,q=e=>{let t=e.toString(16);return t.length<2?"0"+t:t},pt=({r:e,g:t,b:r})=>"#"+q(e)+q(t)+q(r),G=({r:e,g:t,b:r,a:o})=>{let s=Math.max(e,t,r),a=s-Math.min(e,t,r),i=a?s===e?(t-r)/a:s===t?2+(r-e)/a:4+(e-t)/a:0;return{h:n(60*(i<0?i+6:i)),s:n(s?a/s*100:0),v:n(s/255*100),a:o}};var O=(e,t)=>{if(e===t)return!0;for(let r in e)if(e[r]!==t[r])return!1;return!0},h=(e,t)=>e.replace(/\s/g,"")===t.replace(/\s/g,""),K=(e,t)=>e.toLowerCase()===t.toLowerCase()?!0:O(b(e),b(t));var Q={},$=e=>{let t=Q[e];return t||(t=document.createElement("template"),t.innerHTML=e,Q[e]=t),t},f=(e,t,r)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:r}))};var m=!1,I=e=>"touches"in e,ut=e=>m&&!I(e)?!1:(m||(m=I(e)),!0),W=(e,t)=>{let r=I(t)?t.touches[0]:t,o=e.el.getBoundingClientRect();f(e.el,"move",e.getMove({x:c((r.pageX-(o.left+window.pageXOffset))/o.width),y:c((r.pageY-(o.top+window.pageYOffset))/o.height)}))},dt=(e,t)=>{let r=t.keyCode;r>40||e.xy&&r<37||r<33||(t.preventDefault(),f(e.el,"move",e.getMove({x:r===39?.01:r===37?-.01:r===34?.05:r===33?-.05:r===35?1:r===36?-1:0,y:r===40?.01:r===38?-.01:0},!0)))},u=class{constructor(t,r,o,s){let a=$(`
`);t.appendChild(a.content.cloneNode(!0));let i=t.querySelector(`[part=${r}]`);i.addEventListener("mousedown",this),i.addEventListener("touchstart",this),i.addEventListener("keydown",this),this.el=i,this.xy=s,this.nodes=[i.firstChild,i]}set dragging(t){let r=t?document.addEventListener:document.removeEventListener;r(m?"touchmove":"mousemove",this),r(m?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!ut(t)||!m&&t.button!=0)return;this.el.focus(),W(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),W(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":dt(this,t);break}}style(t){t.forEach((r,o)=>{for(let s in r)this.nodes[o].style.setProperty(s,r[s])})}};var S=class extends u{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:`${t/360*100}%`,color:d({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${n(t)}`)}getMove(t,r){return{h:r?c(this.h+t.x*360,0,360):360*t.x}}};var H=class extends u{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:d(t)},{"background-color":d({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${n(t.s)}%, Brightness ${n(t.v)}%`)}getMove(t,r){return{s:r?c(this.hsva.s+t.x*100,0,100):t.x*100,v:r?c(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}};var Z=":host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{display:block;content:'';position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}";var tt="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}";var rt="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}";var T=Symbol("same"),et=Symbol("color"),ot=Symbol("hsva"),R=Symbol("change"),_=Symbol("update"),st=Symbol("parts"),g=Symbol("css"),x=Symbol("sliders"),p=class extends HTMLElement{static get observedAttributes(){return["color"]}get[g](){return[Z,tt,rt]}get[x](){return[H,S]}get color(){return this[et]}set color(t){if(!this[T](t)){let r=this.colorModel.toHsva(t);this[_](r),this[R](t)}}constructor(){super();let t=$(``),r=this.attachShadow({mode:"open"});r.appendChild(t.content.cloneNode(!0)),r.addEventListener("move",this),this[st]=this[x].map(o=>new o(r))}connectedCallback(){if(this.hasOwnProperty("color")){let t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,r,o){let s=this.colorModel.fromAttr(o);this[T](s)||(this.color=s)}handleEvent(t){let r=this[ot],o={...r,...t.detail};this[_](o);let s;!O(o,r)&&!this[T](s=this.colorModel.fromHsva(o))&&this[R](s)}[T](t){return this.color&&this.colorModel.equal(t,this.color)}[_](t){this[ot]=t,this[st].forEach(r=>r.update(t))}[R](t){this[et]=t,f(this,"color-changed",{value:t})}};var ht={defaultColor:"#000",toHsva:F,fromHsva:X,equal:K,fromAttr:e=>e},y=class extends p{get colorModel(){return ht}};var P=class extends y{};customElements.define("hex-color-picker",P);var mt={defaultColor:"hsl(0, 0%, 0%)",toHsva:J,fromHsva:d,equal:h,fromAttr:e=>e},w=class extends p{get colorModel(){return mt}};var z=class extends w{};customElements.define("hsl-string-color-picker",z);var ft={defaultColor:"rgb(0, 0, 0)",toHsva:U,fromHsva:B,equal:h,fromAttr:e=>e},M=class extends p{get colorModel(){return ft}};var V=class extends M{};customElements.define("rgb-string-color-picker",V);var k=class extends u{constructor(t){super(t,"alpha",'aria-label="Alpha" aria-valuemin="0" aria-valuemax="1"',!1)}update(t){this.hsva=t;let r=v({...t,a:0}),o=v({...t,a:1}),s=t.a*100;this.style([{left:`${s}%`,color:v(t)},{"--gradient":`linear-gradient(90deg, ${r}, ${o}`}]);let a=n(s);this.el.setAttribute("aria-valuenow",`${a}`),this.el.setAttribute("aria-valuetext",`${a}%`)}getMove(t,r){return{a:r?c(this.hsva.a+t.x):t.x}}};var at=`[part=alpha]{flex:0 0 24px}[part=alpha]::after{display:block;content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background-image:var(--gradient);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part^=alpha]{background-color:#fff;background-image:url('data:image/svg+xml,')}[part=alpha-pointer]{top:50%}`;var C=class extends p{get[g](){return[...super[g],at]}get[x](){return[...super[x],k]}};var gt={defaultColor:"rgba(0, 0, 0, 1)",toHsva:L,fromHsva:D,equal:h,fromAttr:e=>e},E=class extends C{get colorModel(){return gt}};var j=class extends E{};customElements.define("rgba-string-color-picker",j);function xt({isAutofocused:e,isDisabled:t,isLive:r,isLiveDebounced:o,isLiveOnBlur:s,liveDebounce:a,state:i}){return{state:i,init:function(){this.state===null||this.state===""||this.setState(this.state),e&&this.togglePanelVisibility(this.$refs.input),this.$refs.input.addEventListener("change",l=>{this.setState(l.target.value)}),this.$refs.panel.addEventListener("color-changed",l=>{this.setState(l.detail.value),!(s||!(r||o))&&setTimeout(()=>{this.state===l.detail.value&&this.commitState()},o?a:250)}),(r||o||s)&&new MutationObserver(()=>this.isOpen()?null:this.commitState()).observe(this.$refs.panel,{attributes:!0,childList:!0})},togglePanelVisibility:function(){t||this.$refs.panel.toggle(this.$refs.input)},setState:function(l){this.state=l,this.$refs.input.value=l,this.$refs.panel.color=l},isOpen:function(){return this.$refs.panel.style.display==="block"},commitState:function(){JSON.stringify(this.$wire.__instance.canonical)!==JSON.stringify(this.$wire.__instance.ephemeral)&&this.$wire.$commit()}}}export{xt as default}; +var c=(e,t=0,r=1)=>e>r?r:eMath.round(r*e)/r;var at={grad:360/400,turn:360,rad:360/(Math.PI*2)},F=e=>G(v(e)),v=e=>(e[0]==="#"&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?a(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?a(parseInt(e.substring(6,8),16)/255,2):1}),nt=(e,t="deg")=>Number(e)*(at[t]||1),it=e=>{let r=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?lt({h:nt(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:r[5]===void 0?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},J=it,lt=({h:e,s:t,l:r,a:o})=>(t*=(r<50?r:100-r)/100,{h:e,s:t>0?2*t/(r+t)*100:0,v:r+t,a:o}),X=e=>ct(A(e)),Y=({h:e,s:t,v:r,a:o})=>{let s=(200-t)*r/100;return{h:a(e),s:a(s>0&&s<200?t*r/100/(s<=100?s:200-s)*100:0),l:a(s/2),a:a(o,2)}};var d=e=>{let{h:t,s:r,l:o}=Y(e);return`hsl(${t}, ${r}%, ${o}%)`},$=e=>{let{h:t,s:r,l:o,a:s}=Y(e);return`hsla(${t}, ${r}%, ${o}%, ${s})`},A=({h:e,s:t,v:r,a:o})=>{e=e/360*6,t=t/100,r=r/100;let s=Math.floor(e),n=r*(1-t),i=r*(1-(e-s)*t),l=r*(1-(1-e+s)*t),q=s%6;return{r:a([r,i,n,n,l,r][q]*255),g:a([l,r,r,i,n,n][q]*255),b:a([n,n,l,r,r,i][q]*255),a:a(o,2)}},B=e=>{let{r:t,g:r,b:o}=A(e);return`rgb(${t}, ${r}, ${o})`},D=e=>{let{r:t,g:r,b:o,a:s}=A(e);return`rgba(${t}, ${r}, ${o}, ${s})`};var I=e=>{let r=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?G({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:r[7]===void 0?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},U=I,b=e=>{let t=e.toString(16);return t.length<2?"0"+t:t},ct=({r:e,g:t,b:r,a:o})=>{let s=o<1?b(a(o*255)):"";return"#"+b(e)+b(t)+b(r)+s},G=({r:e,g:t,b:r,a:o})=>{let s=Math.max(e,t,r),n=s-Math.min(e,t,r),i=n?s===e?(t-r)/n:s===t?2+(r-e)/n:4+(e-t)/n:0;return{h:a(60*(i<0?i+6:i)),s:a(s?n/s*100:0),v:a(s/255*100),a:o}};var L=(e,t)=>{if(e===t)return!0;for(let r in e)if(e[r]!==t[r])return!1;return!0},h=(e,t)=>e.replace(/\s/g,"")===t.replace(/\s/g,""),K=(e,t)=>e.toLowerCase()===t.toLowerCase()?!0:L(v(e),v(t));var Q={},H=e=>{let t=Q[e];return t||(t=document.createElement("template"),t.innerHTML=e,Q[e]=t),t},f=(e,t,r)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:r}))};var m=!1,O=e=>"touches"in e,pt=e=>m&&!O(e)?!1:(m||(m=O(e)),!0),W=(e,t)=>{let r=O(t)?t.touches[0]:t,o=e.el.getBoundingClientRect();f(e.el,"move",e.getMove({x:c((r.pageX-(o.left+window.pageXOffset))/o.width),y:c((r.pageY-(o.top+window.pageYOffset))/o.height)}))},ut=(e,t)=>{let r=t.keyCode;r>40||e.xy&&r<37||r<33||(t.preventDefault(),f(e.el,"move",e.getMove({x:r===39?.01:r===37?-.01:r===34?.05:r===33?-.05:r===35?1:r===36?-1:0,y:r===40?.01:r===38?-.01:0},!0)))},u=class{constructor(t,r,o,s){let n=H(`
`);t.appendChild(n.content.cloneNode(!0));let i=t.querySelector(`[part=${r}]`);i.addEventListener("mousedown",this),i.addEventListener("touchstart",this),i.addEventListener("keydown",this),this.el=i,this.xy=s,this.nodes=[i.firstChild,i]}set dragging(t){let r=t?document.addEventListener:document.removeEventListener;r(m?"touchmove":"mousemove",this),r(m?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!pt(t)||!m&&t.button!=0)return;this.el.focus(),W(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),W(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":ut(this,t);break}}style(t){t.forEach((r,o)=>{for(let s in r)this.nodes[o].style.setProperty(s,r[s])})}};var S=class extends u{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:`${t/360*100}%`,color:d({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${a(t)}`)}getMove(t,r){return{h:r?c(this.h+t.x*360,0,360):360*t.x}}};var T=class extends u{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:d(t)},{"background-color":d({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${a(t.s)}%, Brightness ${a(t.v)}%`)}getMove(t,r){return{s:r?c(this.hsva.s+t.x*100,0,100):t.x*100,v:r?c(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}};var Z=':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}';var tt="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}";var rt="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}";var w=Symbol("same"),R=Symbol("color"),et=Symbol("hsva"),_=Symbol("update"),ot=Symbol("parts"),g=Symbol("css"),x=Symbol("sliders"),p=class extends HTMLElement{static get observedAttributes(){return["color"]}get[g](){return[Z,tt,rt]}get[x](){return[T,S]}get color(){return this[R]}set color(t){if(!this[w](t)){let r=this.colorModel.toHsva(t);this[_](r),this[R]=t}}constructor(){super();let t=H(``),r=this.attachShadow({mode:"open"});r.appendChild(t.content.cloneNode(!0)),r.addEventListener("move",this),this[ot]=this[x].map(o=>new o(r))}connectedCallback(){if(this.hasOwnProperty("color")){let t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,r,o){let s=this.colorModel.fromAttr(o);this[w](s)||(this.color=s)}handleEvent(t){let r=this[et],o={...r,...t.detail};this[_](o);let s;!L(o,r)&&!this[w](s=this.colorModel.fromHsva(o))&&(this[R]=s,f(this,"color-changed",{value:s}))}[w](t){return this.color&&this.colorModel.equal(t,this.color)}[_](t){this[et]=t,this[ot].forEach(r=>r.update(t))}};var dt={defaultColor:"#000",toHsva:F,fromHsva:({h:e,s:t,v:r})=>X({h:e,s:t,v:r,a:1}),equal:K,fromAttr:e=>e},y=class extends p{get colorModel(){return dt}};var P=class extends y{};customElements.define("hex-color-picker",P);var ht={defaultColor:"hsl(0, 0%, 0%)",toHsva:J,fromHsva:d,equal:h,fromAttr:e=>e},M=class extends p{get colorModel(){return ht}};var z=class extends M{};customElements.define("hsl-string-color-picker",z);var mt={defaultColor:"rgb(0, 0, 0)",toHsva:U,fromHsva:B,equal:h,fromAttr:e=>e},C=class extends p{get colorModel(){return mt}};var V=class extends C{};customElements.define("rgb-string-color-picker",V);var k=class extends u{constructor(t){super(t,"alpha",'aria-label="Alpha" aria-valuemin="0" aria-valuemax="1"',!1)}update(t){this.hsva=t;let r=$({...t,a:0}),o=$({...t,a:1}),s=t.a*100;this.style([{left:`${s}%`,color:$(t)},{"--gradient":`linear-gradient(90deg, ${r}, ${o}`}]);let n=a(s);this.el.setAttribute("aria-valuenow",`${n}`),this.el.setAttribute("aria-valuetext",`${n}%`)}getMove(t,r){return{a:r?c(this.hsva.a+t.x):t.x}}};var st=`[part=alpha]{flex:0 0 24px}[part=alpha]::after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background-image:var(--gradient);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part^=alpha]{background-color:#fff;background-image:url('data:image/svg+xml,')}[part=alpha-pointer]{top:50%}`;var E=class extends p{get[g](){return[...super[g],st]}get[x](){return[...super[x],k]}};var ft={defaultColor:"rgba(0, 0, 0, 1)",toHsva:I,fromHsva:D,equal:h,fromAttr:e=>e},N=class extends E{get colorModel(){return ft}};var j=class extends N{};customElements.define("rgba-string-color-picker",j);function gt({isAutofocused:e,isDisabled:t,isLive:r,isLiveDebounced:o,isLiveOnBlur:s,liveDebounce:n,state:i}){return{state:i,init(){this.state===null||this.state===""||this.setState(this.state),e&&this.togglePanelVisibility(this.$refs.input),this.$refs.input.addEventListener("change",l=>{this.setState(l.target.value)}),this.$refs.panel.addEventListener("color-changed",l=>{this.setState(l.detail.value),!(s||!(r||o))&&setTimeout(()=>{this.state===l.detail.value&&this.commitState()},o?n:250)}),(r||o||s)&&new MutationObserver(()=>this.isOpen()?null:this.commitState()).observe(this.$refs.panel,{attributes:!0,childList:!0})},togglePanelVisibility(){t||this.$refs.panel.toggle(this.$refs.input)},setState(l){this.state=l,this.$refs.input.value=l,this.$refs.panel.color=l},isOpen(){return this.$refs.panel.style.display==="block"},commitState(){JSON.stringify(this.$wire.__instance.canonical)!==JSON.stringify(this.$wire.__instance.ephemeral)&&this.$wire.$commit()}}}export{gt as default}; diff --git a/public/js/filament/forms/components/date-time-picker.js b/public/js/filament/forms/components/date-time-picker.js index 23bcb79f8..31495b78a 100644 --- a/public/js/filament/forms/components/date-time-picker.js +++ b/public/js/filament/forms/components/date-time-picker.js @@ -1 +1 @@ -var oi=Object.create;var en=Object.defineProperty;var di=Object.getOwnPropertyDescriptor;var _i=Object.getOwnPropertyNames;var li=Object.getPrototypeOf,fi=Object.prototype.hasOwnProperty;var H=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var mi=(n,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of _i(t))!fi.call(n,e)&&e!==s&&en(n,e,{get:()=>t[e],enumerable:!(i=di(t,e))||i.enumerable});return n};var le=(n,t,s)=>(s=n!=null?oi(li(n)):{},mi(t||!n||!n.__esModule?en(s,"default",{value:n,enumerable:!0}):s,n));var hn=H((ge,Se)=>{(function(n,t){typeof ge=="object"&&typeof Se<"u"?Se.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_customParseFormat=t()})(ge,function(){"use strict";var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,s=/\d\d/,i=/\d\d?/,e=/\d*[^-_:/,()\s\d]+/,a={},u=function(_){return(_=+_)+(_>68?1900:2e3)},r=function(_){return function(h){this[_]=+h}},o=[/[+-]\d\d:?(\d\d)?|Z/,function(_){(this.zone||(this.zone={})).offset=function(h){if(!h||h==="Z")return 0;var D=h.match(/([+-]|\d\d)/g),p=60*D[1]+(+D[2]||0);return p===0?0:D[0]==="+"?-p:p}(_)}],d=function(_){var h=a[_];return h&&(h.indexOf?h:h.s.concat(h.f))},l=function(_,h){var D,p=a.meridiem;if(p){for(var b=1;b<=24;b+=1)if(_.indexOf(p(b,0,h))>-1){D=b>12;break}}else D=_===(h?"pm":"PM");return D},y={A:[e,function(_){this.afternoon=l(_,!1)}],a:[e,function(_){this.afternoon=l(_,!0)}],S:[/\d/,function(_){this.milliseconds=100*+_}],SS:[s,function(_){this.milliseconds=10*+_}],SSS:[/\d{3}/,function(_){this.milliseconds=+_}],s:[i,r("seconds")],ss:[i,r("seconds")],m:[i,r("minutes")],mm:[i,r("minutes")],H:[i,r("hours")],h:[i,r("hours")],HH:[i,r("hours")],hh:[i,r("hours")],D:[i,r("day")],DD:[s,r("day")],Do:[e,function(_){var h=a.ordinal,D=_.match(/\d+/);if(this.day=D[0],h)for(var p=1;p<=31;p+=1)h(p).replace(/\[|\]/g,"")===_&&(this.day=p)}],M:[i,r("month")],MM:[s,r("month")],MMM:[e,function(_){var h=d("months"),D=(d("monthsShort")||h.map(function(p){return p.slice(0,3)})).indexOf(_)+1;if(D<1)throw new Error;this.month=D%12||D}],MMMM:[e,function(_){var h=d("months").indexOf(_)+1;if(h<1)throw new Error;this.month=h%12||h}],Y:[/[+-]?\d+/,r("year")],YY:[s,function(_){this.year=u(_)}],YYYY:[/\d{4}/,r("year")],Z:o,ZZ:o};function f(_){var h,D;h=_,D=a&&a.formats;for(var p=(_=h.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(q,w,k){var U=k&&k.toUpperCase();return w||D[k]||n[k]||D[U].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(Z,L,M){return L||M.slice(1)})})).match(t),b=p.length,T=0;T-1)return new Date((Y==="X"?1e3:1)*m);var v=f(Y)(m),g=v.year,C=v.month,x=v.day,N=v.hours,E=v.minutes,P=v.seconds,ee=v.milliseconds,G=v.zone,X=new Date,V=x||(g||C?1:X.getDate()),F=g||X.getFullYear(),W=0;g&&!C||(W=C>0?C-1:X.getMonth());var Q=N||0,te=E||0,ye=P||0,Ye=ee||0;return G?new Date(Date.UTC(F,W,V,Q,te,ye,Ye+60*G.offset*1e3)):c?new Date(Date.UTC(F,W,V,Q,te,ye,Ye)):new Date(F,W,V,Q,te,ye,Ye)}catch{return new Date("")}}(S,I,$),this.init(),U&&U!==!0&&(this.$L=this.locale(U).$L),k&&S!=this.format(I)&&(this.$d=new Date("")),a={}}else if(I instanceof Array)for(var Z=I.length,L=1;L<=Z;L+=1){O[1]=I[L-1];var M=D.apply(this,O);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}L===Z&&(this.$d=new Date(""))}else b.call(this,T)}}})});var Mn=H((be,ke)=>{(function(n,t){typeof be=="object"&&typeof ke<"u"?ke.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_localeData=t()})(be,function(){"use strict";return function(n,t,s){var i=t.prototype,e=function(d){return d&&(d.indexOf?d:d.s)},a=function(d,l,y,f,_){var h=d.name?d:d.$locale(),D=e(h[l]),p=e(h[y]),b=D||p.map(function(S){return S.slice(0,f)});if(!_)return b;var T=h.weekStart;return b.map(function(S,$){return b[($+(T||0))%7]})},u=function(){return s.Ls[s.locale()]},r=function(d,l){return d.formats[l]||function(y){return y.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(f,_,h){return _||h.slice(1)})}(d.formats[l.toUpperCase()])},o=function(){var d=this;return{months:function(l){return l?l.format("MMMM"):a(d,"months")},monthsShort:function(l){return l?l.format("MMM"):a(d,"monthsShort","months",3)},firstDayOfWeek:function(){return d.$locale().weekStart||0},weekdays:function(l){return l?l.format("dddd"):a(d,"weekdays")},weekdaysMin:function(l){return l?l.format("dd"):a(d,"weekdaysMin","weekdays",2)},weekdaysShort:function(l){return l?l.format("ddd"):a(d,"weekdaysShort","weekdays",3)},longDateFormat:function(l){return r(d.$locale(),l)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};i.localeData=function(){return o.bind(this)()},s.localeData=function(){var d=u();return{firstDayOfWeek:function(){return d.weekStart||0},weekdays:function(){return s.weekdays()},weekdaysShort:function(){return s.weekdaysShort()},weekdaysMin:function(){return s.weekdaysMin()},months:function(){return s.months()},monthsShort:function(){return s.monthsShort()},longDateFormat:function(l){return r(d,l)},meridiem:d.meridiem,ordinal:d.ordinal}},s.months=function(){return a(u(),"months")},s.monthsShort=function(){return a(u(),"monthsShort","months",3)},s.weekdays=function(d){return a(u(),"weekdays",null,null,d)},s.weekdaysShort=function(d){return a(u(),"weekdaysShort","weekdays",3,d)},s.weekdaysMin=function(d){return a(u(),"weekdaysMin","weekdays",2,d)}}})});var yn=H((He,je)=>{(function(n,t){typeof He=="object"&&typeof je<"u"?je.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_timezone=t()})(He,function(){"use strict";var n={year:0,month:1,day:2,hour:3,minute:4,second:5},t={};return function(s,i,e){var a,u=function(l,y,f){f===void 0&&(f={});var _=new Date(l),h=function(D,p){p===void 0&&(p={});var b=p.timeZoneName||"short",T=D+"|"+b,S=t[T];return S||(S=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:D,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:b}),t[T]=S),S}(y,f);return h.formatToParts(_)},r=function(l,y){for(var f=u(l,y),_=[],h=0;h=0&&(_[T]=parseInt(b,10))}var S=_[3],$=S===24?0:S,O=_[0]+"-"+_[1]+"-"+_[2]+" "+$+":"+_[4]+":"+_[5]+":000",I=+l;return(e.utc(O).valueOf()-(I-=I%1e3))/6e4},o=i.prototype;o.tz=function(l,y){l===void 0&&(l=a);var f=this.utcOffset(),_=this.toDate(),h=_.toLocaleString("en-US",{timeZone:l}),D=Math.round((_-new Date(h))/1e3/60),p=e(h,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(_.getTimezoneOffset()/15)-D,!0);if(y){var b=p.utcOffset();p=p.add(f-b,"minute")}return p.$x.$timezone=l,p},o.offsetName=function(l){var y=this.$x.$timezone||e.tz.guess(),f=u(this.valueOf(),y,{timeZoneName:l}).find(function(_){return _.type.toLowerCase()==="timezonename"});return f&&f.value};var d=o.startOf;o.startOf=function(l,y){if(!this.$x||!this.$x.$timezone)return d.call(this,l,y);var f=e(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return d.call(f,l,y).tz(this.$x.$timezone,!0)},e.tz=function(l,y,f){var _=f&&y,h=f||y||a,D=r(+e(),h);if(typeof l!="string")return e(l).tz(h);var p=function($,O,I){var q=$-60*O*1e3,w=r(q,I);if(O===w)return[q,O];var k=r(q-=60*(w-O)*1e3,I);return w===k?[q,w]:[$-60*Math.min(w,k)*1e3,Math.max(w,k)]}(e.utc(l,_).valueOf(),D,h),b=p[0],T=p[1],S=e(b).utcOffset(T);return S.$x.$timezone=h,S},e.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},e.tz.setDefault=function(l){a=l}}})});var Yn=H((Te,we)=>{(function(n,t){typeof Te=="object"&&typeof we<"u"?we.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_utc=t()})(Te,function(){"use strict";var n="minute",t=/[+-]\d\d(?::?\d\d)?/g,s=/([+-]|\d\d)/g;return function(i,e,a){var u=e.prototype;a.utc=function(_){var h={date:_,utc:!0,args:arguments};return new e(h)},u.utc=function(_){var h=a(this.toDate(),{locale:this.$L,utc:!0});return _?h.add(this.utcOffset(),n):h},u.local=function(){return a(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(_){_.utc&&(this.$u=!0),this.$utils().u(_.$offset)||(this.$offset=_.$offset),r.call(this,_)};var o=u.init;u.init=function(){if(this.$u){var _=this.$d;this.$y=_.getUTCFullYear(),this.$M=_.getUTCMonth(),this.$D=_.getUTCDate(),this.$W=_.getUTCDay(),this.$H=_.getUTCHours(),this.$m=_.getUTCMinutes(),this.$s=_.getUTCSeconds(),this.$ms=_.getUTCMilliseconds()}else o.call(this)};var d=u.utcOffset;u.utcOffset=function(_,h){var D=this.$utils().u;if(D(_))return this.$u?0:D(this.$offset)?d.call(this):this.$offset;if(typeof _=="string"&&(_=function(S){S===void 0&&(S="");var $=S.match(t);if(!$)return null;var O=(""+$[0]).match(s)||["-",0,0],I=O[0],q=60*+O[1]+ +O[2];return q===0?0:I==="+"?q:-q}(_),_===null))return this;var p=Math.abs(_)<=16?60*_:_,b=this;if(h)return b.$offset=p,b.$u=_===0,b;if(_!==0){var T=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(b=this.local().add(p+T,n)).$offset=p,b.$x.$localOffset=T}else b=this.utc();return b};var l=u.format;u.format=function(_){var h=_||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return l.call(this,h)},u.valueOf=function(){var _=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*_},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var y=u.toDate;u.toDate=function(_){return _==="s"&&this.$offset?a(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():y.call(this)};var f=u.diff;u.diff=function(_,h,D){if(_&&this.$u===_.$u)return f.call(this,_,h,D);var p=this.local(),b=a(_).local();return f.call(p,b,h,D)}}})});var j=H(($e,Ce)=>{(function(n,t){typeof $e=="object"&&typeof Ce<"u"?Ce.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs=t()})($e,function(){"use strict";var n=1e3,t=6e4,s=36e5,i="millisecond",e="second",a="minute",u="hour",r="day",o="week",d="month",l="quarter",y="year",f="date",_="Invalid Date",h=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,D=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(L){var M=["th","st","nd","rd"],m=L%100;return"["+L+(M[(m-20)%10]||M[m]||M[0])+"]"}},b=function(L,M,m){var Y=String(L);return!Y||Y.length>=M?L:""+Array(M+1-Y.length).join(m)+L},T={s:b,z:function(L){var M=-L.utcOffset(),m=Math.abs(M),Y=Math.floor(m/60),c=m%60;return(M<=0?"+":"-")+b(Y,2,"0")+":"+b(c,2,"0")},m:function L(M,m){if(M.date()1)return L(g[0])}else{var C=M.name;$[C]=M,c=C}return!Y&&c&&(S=c),c||!Y&&S},w=function(L,M){if(I(L))return L.clone();var m=typeof M=="object"?M:{};return m.date=L,m.args=arguments,new U(m)},k=T;k.l=q,k.i=I,k.w=function(L,M){return w(L,{locale:M.$L,utc:M.$u,x:M.$x,$offset:M.$offset})};var U=function(){function L(m){this.$L=q(m.locale,null,!0),this.parse(m),this.$x=this.$x||m.x||{},this[O]=!0}var M=L.prototype;return M.parse=function(m){this.$d=function(Y){var c=Y.date,v=Y.utc;if(c===null)return new Date(NaN);if(k.u(c))return new Date;if(c instanceof Date)return new Date(c);if(typeof c=="string"&&!/Z$/i.test(c)){var g=c.match(h);if(g){var C=g[2]-1||0,x=(g[7]||"0").substring(0,3);return v?new Date(Date.UTC(g[1],C,g[3]||1,g[4]||0,g[5]||0,g[6]||0,x)):new Date(g[1],C,g[3]||1,g[4]||0,g[5]||0,g[6]||0,x)}}return new Date(c)}(m),this.init()},M.init=function(){var m=this.$d;this.$y=m.getFullYear(),this.$M=m.getMonth(),this.$D=m.getDate(),this.$W=m.getDay(),this.$H=m.getHours(),this.$m=m.getMinutes(),this.$s=m.getSeconds(),this.$ms=m.getMilliseconds()},M.$utils=function(){return k},M.isValid=function(){return this.$d.toString()!==_},M.isSame=function(m,Y){var c=w(m);return this.startOf(Y)<=c&&c<=this.endOf(Y)},M.isAfter=function(m,Y){return w(m){(function(n,t){typeof Oe=="object"&&typeof ze<"u"?ze.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ar=t(n.dayjs)})(Oe,function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var s=t(n),i="\u064A\u0646\u0627\u064A\u0631_\u0641\u0628\u0631\u0627\u064A\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064A\u0644_\u0645\u0627\u064A\u0648_\u064A\u0648\u0646\u064A\u0648_\u064A\u0648\u0644\u064A\u0648_\u0623\u063A\u0633\u0637\u0633_\u0633\u0628\u062A\u0645\u0628\u0631_\u0623\u0643\u062A\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062F\u064A\u0633\u0645\u0628\u0631".split("_"),e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},a={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},u={name:"ar",weekdays:"\u0627\u0644\u0623\u062D\u062F_\u0627\u0644\u0625\u062B\u0646\u064A\u0646_\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062E\u0645\u064A\u0633_\u0627\u0644\u062C\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062A".split("_"),weekdaysShort:"\u0623\u062D\u062F_\u0625\u062B\u0646\u064A\u0646_\u062B\u0644\u0627\u062B\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062E\u0645\u064A\u0633_\u062C\u0645\u0639\u0629_\u0633\u0628\u062A".split("_"),weekdaysMin:"\u062D_\u0646_\u062B_\u0631_\u062E_\u062C_\u0633".split("_"),months:i,monthsShort:i,weekStart:6,meridiem:function(r){return r>12?"\u0645":"\u0635"},relativeTime:{future:"\u0628\u0639\u062F %s",past:"\u0645\u0646\u0630 %s",s:"\u062B\u0627\u0646\u064A\u0629 \u0648\u0627\u062D\u062F\u0629",m:"\u062F\u0642\u064A\u0642\u0629 \u0648\u0627\u062D\u062F\u0629",mm:"%d \u062F\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629 \u0648\u0627\u062D\u062F\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062A",d:"\u064A\u0648\u0645 \u0648\u0627\u062D\u062F",dd:"%d \u0623\u064A\u0627\u0645",M:"\u0634\u0647\u0631 \u0648\u0627\u062D\u062F",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0639\u0627\u0645 \u0648\u0627\u062D\u062F",yy:"%d \u0623\u0639\u0648\u0627\u0645"},preparse:function(r){return r.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(o){return a[o]}).replace(/،/g,",")},postformat:function(r){return r.replace(/\d/g,function(o){return e[o]}).replace(/,/g,"\u060C")},ordinal:function(r){return r},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200FM/\u200FYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return s.default.locale(u,null,!0),u})});var Dn=H((Ae,Ie)=>{(function(n,t){typeof Ae=="object"&&typeof Ie<"u"?Ie.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_bs=t(n.dayjs)})(Ae,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"bs",weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010Detvrtak_petak_subota".split("_"),months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),weekStart:1,weekdaysShort:"ned._pon._uto._sri._\u010Det._pet._sub.".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010De_pe_su".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return s.default.locale(i,null,!0),i})});var Ln=H((xe,qe)=>{(function(n,t){typeof xe=="object"&&typeof qe<"u"?qe.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ca=t(n.dayjs)})(xe,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"ca",weekdays:"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),weekdaysShort:"Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),months:"Gener_Febrer_Mar\xE7_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),monthsShort:"Gen._Febr._Mar\xE7_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",ll:"D MMM YYYY",lll:"D MMM YYYY, H:mm",llll:"ddd D MMM YYYY, H:mm"},relativeTime:{future:"d'aqu\xED %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:function(e){return""+e+(e===1||e===3?"r":e===2?"n":e===4?"t":"\xE8")}};return s.default.locale(i,null,!0),i})});var Ne=H((Me,vn)=>{(function(n,t){typeof Me=="object"&&typeof vn<"u"?t(Me,j()):typeof define=="function"&&define.amd?define(["exports","dayjs"],t):t((n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ku={},n.dayjs)})(Me,function(n,t){"use strict";function s(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var i=s(t),e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},a={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},u=["\u06A9\u0627\u0646\u0648\u0648\u0646\u06CC \u062F\u0648\u0648\u06D5\u0645","\u0634\u0648\u0628\u0627\u062A","\u0626\u0627\u062F\u0627\u0631","\u0646\u06CC\u0633\u0627\u0646","\u0626\u0627\u06CC\u0627\u0631","\u062D\u0648\u0632\u06D5\u06CC\u0631\u0627\u0646","\u062A\u06D5\u0645\u0645\u0648\u0648\u0632","\u0626\u0627\u0628","\u0626\u06D5\u06CC\u0644\u0648\u0648\u0644","\u062A\u0634\u0631\u06CC\u0646\u06CC \u06CC\u06D5\u06A9\u06D5\u0645","\u062A\u0634\u0631\u06CC\u0646\u06CC \u062F\u0648\u0648\u06D5\u0645","\u06A9\u0627\u0646\u0648\u0648\u0646\u06CC \u06CC\u06D5\u06A9\u06D5\u0645"],r={name:"ku",months:u,monthsShort:u,weekdays:"\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5_\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5_\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5_\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5_\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5_\u0647\u06D5\u06CC\u0646\u06CC_\u0634\u06D5\u0645\u0645\u06D5".split("_"),weekdaysShort:"\u06CC\u06D5\u06A9\u0634\u06D5\u0645_\u062F\u0648\u0648\u0634\u06D5\u0645_\u0633\u06CE\u0634\u06D5\u0645_\u0686\u0648\u0627\u0631\u0634\u06D5\u0645_\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645_\u0647\u06D5\u06CC\u0646\u06CC_\u0634\u06D5\u0645\u0645\u06D5".split("_"),weekStart:6,weekdaysMin:"\u06CC_\u062F_\u0633_\u0686_\u067E_\u0647\u0640_\u0634".split("_"),preparse:function(o){return o.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(d){return a[d]}).replace(/،/g,",")},postformat:function(o){return o.replace(/\d/g,function(d){return e[d]}).replace(/,/g,"\u060C")},ordinal:function(o){return o},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiem:function(o){return o<12?"\u067E.\u0646":"\u062F.\u0646"},relativeTime:{future:"\u0644\u06D5 %s",past:"\u0644\u06D5\u0645\u06D5\u0648\u067E\u06CE\u0634 %s",s:"\u0686\u06D5\u0646\u062F \u0686\u0631\u06A9\u06D5\u06CC\u06D5\u06A9",m:"\u06CC\u06D5\u06A9 \u062E\u0648\u0644\u06D5\u06A9",mm:"%d \u062E\u0648\u0644\u06D5\u06A9",h:"\u06CC\u06D5\u06A9 \u06A9\u0627\u062A\u0698\u0645\u06CE\u0631",hh:"%d \u06A9\u0627\u062A\u0698\u0645\u06CE\u0631",d:"\u06CC\u06D5\u06A9 \u0695\u06C6\u0698",dd:"%d \u0695\u06C6\u0698",M:"\u06CC\u06D5\u06A9 \u0645\u0627\u0646\u06AF",MM:"%d \u0645\u0627\u0646\u06AF",y:"\u06CC\u06D5\u06A9 \u0633\u0627\u06B5",yy:"%d \u0633\u0627\u06B5"}};i.default.locale(r,null,!0),n.default=r,n.englishToArabicNumbersMap=e,Object.defineProperty(n,"__esModule",{value:!0})})});var gn=H((Ee,Fe)=>{(function(n,t){typeof Ee=="object"&&typeof Fe<"u"?Fe.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_cs=t(n.dayjs)})(Ee,function(n){"use strict";function t(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var s=t(n);function i(u){return u>1&&u<5&&~~(u/10)!=1}function e(u,r,o,d){var l=u+" ";switch(o){case"s":return r||d?"p\xE1r sekund":"p\xE1r sekundami";case"m":return r?"minuta":d?"minutu":"minutou";case"mm":return r||d?l+(i(u)?"minuty":"minut"):l+"minutami";case"h":return r?"hodina":d?"hodinu":"hodinou";case"hh":return r||d?l+(i(u)?"hodiny":"hodin"):l+"hodinami";case"d":return r||d?"den":"dnem";case"dd":return r||d?l+(i(u)?"dny":"dn\xED"):l+"dny";case"M":return r||d?"m\u011Bs\xEDc":"m\u011Bs\xEDcem";case"MM":return r||d?l+(i(u)?"m\u011Bs\xEDce":"m\u011Bs\xEDc\u016F"):l+"m\u011Bs\xEDci";case"y":return r||d?"rok":"rokem";case"yy":return r||d?l+(i(u)?"roky":"let"):l+"lety"}}var a={name:"cs",weekdays:"ned\u011Ble_pond\u011Bl\xED_\xFAter\xFD_st\u0159eda_\u010Dtvrtek_p\xE1tek_sobota".split("_"),weekdaysShort:"ne_po_\xFAt_st_\u010Dt_p\xE1_so".split("_"),weekdaysMin:"ne_po_\xFAt_st_\u010Dt_p\xE1_so".split("_"),months:"leden_\xFAnor_b\u0159ezen_duben_kv\u011Bten_\u010Derven_\u010Dervenec_srpen_z\xE1\u0159\xED_\u0159\xEDjen_listopad_prosinec".split("_"),monthsShort:"led_\xFAno_b\u0159e_dub_kv\u011B_\u010Dvn_\u010Dvc_srp_z\xE1\u0159_\u0159\xEDj_lis_pro".split("_"),weekStart:1,yearStart:4,ordinal:function(u){return u+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e}};return s.default.locale(a,null,!0),a})});var Sn=H((Je,Ue)=>{(function(n,t){typeof Je=="object"&&typeof Ue<"u"?Ue.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_cy=t(n.dayjs)})(Je,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"cy",weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),weekStart:1,weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"mewn %s",past:"%s yn \xF4l",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"}};return s.default.locale(i,null,!0),i})});var bn=H((Pe,We)=>{(function(n,t){typeof Pe=="object"&&typeof We<"u"?We.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_da=t(n.dayjs)})(Pe,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"da",weekdays:"s\xF8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xF8rdag".split("_"),weekdaysShort:"s\xF8n._man._tirs._ons._tors._fre._l\xF8r.".split("_"),weekdaysMin:"s\xF8._ma._ti._on._to._fr._l\xF8.".split("_"),months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.".split("_"),weekStart:1,ordinal:function(e){return e+"."},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xE5 sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xE5ned",MM:"%d m\xE5neder",y:"et \xE5r",yy:"%d \xE5r"}};return s.default.locale(i,null,!0),i})});var kn=H((Re,Ze)=>{(function(n,t){typeof Re=="object"&&typeof Ze<"u"?Ze.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_de=t(n.dayjs)})(Re,function(n){"use strict";function t(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var s=t(n),i={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function e(u,r,o){var d=i[o];return Array.isArray(d)&&(d=d[r?0:1]),d.replace("%d",u)}var a={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_M\xE4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xE4rz_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(u){return u+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e}};return s.default.locale(a,null,!0),a})});var Hn=H((Ve,Ge)=>{(function(n,t){typeof Ve=="object"&&typeof Ge<"u"?Ge.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_en=t()})(Ve,function(){"use strict";return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(n){var t=["th","st","nd","rd"],s=n%100;return"["+n+(t[(s-20)%10]||t[s]||t[0])+"]"}}})});var jn=H((Ke,Be)=>{(function(n,t){typeof Ke=="object"&&typeof Be<"u"?Be.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_es=t(n.dayjs)})(Ke,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_mi\xE9rcoles_jueves_viernes_s\xE1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xE9._jue._vie._s\xE1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xE1".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xEDa",dd:"%d d\xEDas",M:"un mes",MM:"%d meses",y:"un a\xF1o",yy:"%d a\xF1os"},ordinal:function(e){return e+"\xBA"}};return s.default.locale(i,null,!0),i})});var Tn=H((Xe,Qe)=>{(function(n,t){typeof Xe=="object"&&typeof Qe<"u"?Qe.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_et=t(n.dayjs)})(Xe,function(n){"use strict";function t(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var s=t(n);function i(a,u,r,o){var d={s:["m\xF5ne sekundi","m\xF5ni sekund","paar sekundit"],m:["\xFChe minuti","\xFCks minut"],mm:["%d minuti","%d minutit"],h:["\xFChe tunni","tund aega","\xFCks tund"],hh:["%d tunni","%d tundi"],d:["\xFChe p\xE4eva","\xFCks p\xE4ev"],M:["kuu aja","kuu aega","\xFCks kuu"],MM:["%d kuu","%d kuud"],y:["\xFChe aasta","aasta","\xFCks aasta"],yy:["%d aasta","%d aastat"]};return u?(d[r][2]?d[r][2]:d[r][1]).replace("%d",a):(o?d[r][0]:d[r][1]).replace("%d",a)}var e={name:"et",weekdays:"p\xFChap\xE4ev_esmasp\xE4ev_teisip\xE4ev_kolmap\xE4ev_neljap\xE4ev_reede_laup\xE4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),months:"jaanuar_veebruar_m\xE4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xE4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),ordinal:function(a){return a+"."},weekStart:1,relativeTime:{future:"%s p\xE4rast",past:"%s tagasi",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:"%d p\xE4eva",M:i,MM:i,y:i,yy:i},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return s.default.locale(e,null,!0),e})});var wn=H((et,tt)=>{(function(n,t){typeof et=="object"&&typeof tt<"u"?tt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fa=t(n.dayjs)})(et,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"fa",weekdays:"\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06CC_\u062F_\u0633_\u0686_\u067E_\u062C_\u0634".split("_"),weekStart:6,months:"\u0698\u0627\u0646\u0648\u06CC\u0647_\u0641\u0648\u0631\u06CC\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06CC\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06CC\u0647_\u0627\u0648\u062A_\u0633\u067E\u062A\u0627\u0645\u0628\u0631_\u0627\u06A9\u062A\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062F\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06CC\u0647_\u0641\u0648\u0631\u06CC\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06CC\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06CC\u0647_\u0627\u0648\u062A_\u0633\u067E\u062A\u0627\u0645\u0628\u0631_\u0627\u06A9\u062A\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062F\u0633\u0627\u0645\u0628\u0631".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"\u062F\u0631 %s",past:"%s \u067E\u06CC\u0634",s:"\u0686\u0646\u062F \u062B\u0627\u0646\u06CC\u0647",m:"\u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647",mm:"%d \u062F\u0642\u06CC\u0642\u0647",h:"\u06CC\u06A9 \u0633\u0627\u0639\u062A",hh:"%d \u0633\u0627\u0639\u062A",d:"\u06CC\u06A9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06CC\u06A9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06CC\u06A9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"}};return s.default.locale(i,null,!0),i})});var $n=H((nt,it)=>{(function(n,t){typeof nt=="object"&&typeof it<"u"?it.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fi=t(n.dayjs)})(nt,function(n){"use strict";function t(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var s=t(n);function i(a,u,r,o){var d={s:"muutama sekunti",m:"minuutti",mm:"%d minuuttia",h:"tunti",hh:"%d tuntia",d:"p\xE4iv\xE4",dd:"%d p\xE4iv\xE4\xE4",M:"kuukausi",MM:"%d kuukautta",y:"vuosi",yy:"%d vuotta",numbers:"nolla_yksi_kaksi_kolme_nelj\xE4_viisi_kuusi_seitsem\xE4n_kahdeksan_yhdeks\xE4n".split("_")},l={s:"muutaman sekunnin",m:"minuutin",mm:"%d minuutin",h:"tunnin",hh:"%d tunnin",d:"p\xE4iv\xE4n",dd:"%d p\xE4iv\xE4n",M:"kuukauden",MM:"%d kuukauden",y:"vuoden",yy:"%d vuoden",numbers:"nollan_yhden_kahden_kolmen_nelj\xE4n_viiden_kuuden_seitsem\xE4n_kahdeksan_yhdeks\xE4n".split("_")},y=o&&!u?l:d,f=y[r];return a<10?f.replace("%d",y.numbers[a]):f.replace("%d",a)}var e={name:"fi",weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xE4kuu_hein\xE4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xE4_hein\xE4_elo_syys_loka_marras_joulu".split("_"),ordinal:function(a){return a+"."},weekStart:1,yearStart:4,relativeTime:{future:"%s p\xE4\xE4st\xE4",past:"%s sitten",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM[ta] YYYY",LLL:"D. MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, D. MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"D. MMM YYYY",lll:"D. MMM YYYY, [klo] HH.mm",llll:"ddd, D. MMM YYYY, [klo] HH.mm"}};return s.default.locale(e,null,!0),e})});var Cn=H((st,rt)=>{(function(n,t){typeof st=="object"&&typeof rt<"u"?rt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fr=t(n.dayjs)})(st,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_f\xE9vrier_mars_avril_mai_juin_juillet_ao\xFBt_septembre_octobre_novembre_d\xE9cembre".split("_"),monthsShort:"janv._f\xE9vr._mars_avr._mai_juin_juil._ao\xFBt_sept._oct._nov._d\xE9c.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return""+e+(e===1?"er":"")}};return s.default.locale(i,null,!0),i})});var On=H((at,ut)=>{(function(n,t){typeof at=="object"&&typeof ut<"u"?ut.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hi=t(n.dayjs)})(at,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"hi",weekdays:"\u0930\u0935\u093F\u0935\u093E\u0930_\u0938\u094B\u092E\u0935\u093E\u0930_\u092E\u0902\u0917\u0932\u0935\u093E\u0930_\u092C\u0941\u0927\u0935\u093E\u0930_\u0917\u0941\u0930\u0942\u0935\u093E\u0930_\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930_\u0936\u0928\u093F\u0935\u093E\u0930".split("_"),months:"\u091C\u0928\u0935\u0930\u0940_\u092B\u093C\u0930\u0935\u0930\u0940_\u092E\u093E\u0930\u094D\u091A_\u0905\u092A\u094D\u0930\u0948\u0932_\u092E\u0908_\u091C\u0942\u0928_\u091C\u0941\u0932\u093E\u0908_\u0905\u0917\u0938\u094D\u0924_\u0938\u093F\u0924\u092E\u094D\u092C\u0930_\u0905\u0915\u094D\u091F\u0942\u092C\u0930_\u0928\u0935\u092E\u094D\u092C\u0930_\u0926\u093F\u0938\u092E\u094D\u092C\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093F_\u0938\u094B\u092E_\u092E\u0902\u0917\u0932_\u092C\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094D\u0930_\u0936\u0928\u093F".split("_"),monthsShort:"\u091C\u0928._\u092B\u093C\u0930._\u092E\u093E\u0930\u094D\u091A_\u0905\u092A\u094D\u0930\u0948._\u092E\u0908_\u091C\u0942\u0928_\u091C\u0941\u0932._\u0905\u0917._\u0938\u093F\u0924._\u0905\u0915\u094D\u091F\u0942._\u0928\u0935._\u0926\u093F\u0938.".split("_"),weekdaysMin:"\u0930_\u0938\u094B_\u092E\u0902_\u092C\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),ordinal:function(e){return e},formats:{LT:"A h:mm \u092C\u091C\u0947",LTS:"A h:mm:ss \u092C\u091C\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092C\u091C\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092C\u091C\u0947"},relativeTime:{future:"%s \u092E\u0947\u0902",past:"%s \u092A\u0939\u0932\u0947",s:"\u0915\u0941\u091B \u0939\u0940 \u0915\u094D\u0937\u0923",m:"\u090F\u0915 \u092E\u093F\u0928\u091F",mm:"%d \u092E\u093F\u0928\u091F",h:"\u090F\u0915 \u0918\u0902\u091F\u093E",hh:"%d \u0918\u0902\u091F\u0947",d:"\u090F\u0915 \u0926\u093F\u0928",dd:"%d \u0926\u093F\u0928",M:"\u090F\u0915 \u092E\u0939\u0940\u0928\u0947",MM:"%d \u092E\u0939\u0940\u0928\u0947",y:"\u090F\u0915 \u0935\u0930\u094D\u0937",yy:"%d \u0935\u0930\u094D\u0937"}};return s.default.locale(i,null,!0),i})});var zn=H((ot,dt)=>{(function(n,t){typeof ot=="object"&&typeof dt<"u"?dt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hu=t(n.dayjs)})(ot,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"hu",weekdays:"vas\xE1rnap_h\xE9tf\u0151_kedd_szerda_cs\xFCt\xF6rt\xF6k_p\xE9ntek_szombat".split("_"),weekdaysShort:"vas_h\xE9t_kedd_sze_cs\xFCt_p\xE9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),months:"janu\xE1r_febru\xE1r_m\xE1rcius_\xE1prilis_m\xE1jus_j\xFAnius_j\xFAlius_augusztus_szeptember_okt\xF3ber_november_december".split("_"),monthsShort:"jan_feb_m\xE1rc_\xE1pr_m\xE1j_j\xFAn_j\xFAl_aug_szept_okt_nov_dec".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"%s m\xFAlva",past:"%s",s:function(e,a,u,r){return"n\xE9h\xE1ny m\xE1sodperc"+(r||a?"":"e")},m:function(e,a,u,r){return"egy perc"+(r||a?"":"e")},mm:function(e,a,u,r){return e+" perc"+(r||a?"":"e")},h:function(e,a,u,r){return"egy "+(r||a?"\xF3ra":"\xF3r\xE1ja")},hh:function(e,a,u,r){return e+" "+(r||a?"\xF3ra":"\xF3r\xE1ja")},d:function(e,a,u,r){return"egy "+(r||a?"nap":"napja")},dd:function(e,a,u,r){return e+" "+(r||a?"nap":"napja")},M:function(e,a,u,r){return"egy "+(r||a?"h\xF3nap":"h\xF3napja")},MM:function(e,a,u,r){return e+" "+(r||a?"h\xF3nap":"h\xF3napja")},y:function(e,a,u,r){return"egy "+(r||a?"\xE9v":"\xE9ve")},yy:function(e,a,u,r){return e+" "+(r||a?"\xE9v":"\xE9ve")}},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"}};return s.default.locale(i,null,!0),i})});var An=H((_t,lt)=>{(function(n,t){typeof _t=="object"&&typeof lt<"u"?lt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hy_am=t(n.dayjs)})(_t,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"hy-am",weekdays:"\u056F\u056B\u0580\u0561\u056F\u056B_\u0565\u0580\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B_\u0570\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),months:"\u0570\u0578\u0582\u0576\u057E\u0561\u0580\u056B_\u0583\u0565\u057F\u0580\u057E\u0561\u0580\u056B_\u0574\u0561\u0580\u057F\u056B_\u0561\u057A\u0580\u056B\u056C\u056B_\u0574\u0561\u0575\u056B\u057D\u056B_\u0570\u0578\u0582\u0576\u056B\u057D\u056B_\u0570\u0578\u0582\u056C\u056B\u057D\u056B_\u0585\u0563\u0578\u057D\u057F\u0578\u057D\u056B_\u057D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580\u056B_\u0570\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056B_\u0564\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B".split("_"),weekStart:1,weekdaysShort:"\u056F\u0580\u056F_\u0565\u0580\u056F_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),monthsShort:"\u0570\u0576\u057E_\u0583\u057F\u0580_\u0574\u0580\u057F_\u0561\u057A\u0580_\u0574\u0575\u057D_\u0570\u0576\u057D_\u0570\u056C\u057D_\u0585\u0563\u057D_\u057D\u057A\u057F_\u0570\u056F\u057F_\u0576\u0574\u0562_\u0564\u056F\u057F".split("_"),weekdaysMin:"\u056F\u0580\u056F_\u0565\u0580\u056F_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},relativeTime:{future:"%s \u0570\u0565\u057F\u0578",past:"%s \u0561\u057C\u0561\u057B",s:"\u0574\u056B \u0584\u0561\u0576\u056B \u057E\u0561\u0575\u0580\u056F\u0575\u0561\u0576",m:"\u0580\u0578\u057A\u0565",mm:"%d \u0580\u0578\u057A\u0565",h:"\u056A\u0561\u0574",hh:"%d \u056A\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056B\u057D",MM:"%d \u0561\u0574\u056B\u057D",y:"\u057F\u0561\u0580\u056B",yy:"%d \u057F\u0561\u0580\u056B"}};return s.default.locale(i,null,!0),i})});var In=H((ft,mt)=>{(function(n,t){typeof ft=="object"&&typeof mt<"u"?mt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_id=t(n.dayjs)})(ft,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"id",weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return s.default.locale(i,null,!0),i})});var xn=H((ct,ht)=>{(function(n,t){typeof ct=="object"&&typeof ht<"u"?ht.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_it=t(n.dayjs)})(ct,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"it",weekdays:"domenica_luned\xEC_marted\xEC_mercoled\xEC_gioved\xEC_venerd\xEC_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un' ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(e){return e+"\xBA"}};return s.default.locale(i,null,!0),i})});var qn=H((Mt,yt)=>{(function(n,t){typeof Mt=="object"&&typeof yt<"u"?yt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ja=t(n.dayjs)})(Mt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"ja",weekdays:"\u65E5\u66DC\u65E5_\u6708\u66DC\u65E5_\u706B\u66DC\u65E5_\u6C34\u66DC\u65E5_\u6728\u66DC\u65E5_\u91D1\u66DC\u65E5_\u571F\u66DC\u65E5".split("_"),weekdaysShort:"\u65E5_\u6708_\u706B_\u6C34_\u6728_\u91D1_\u571F".split("_"),weekdaysMin:"\u65E5_\u6708_\u706B_\u6C34_\u6728_\u91D1_\u571F".split("_"),months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e){return e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5(ddd) HH:mm"},meridiem:function(e){return e<12?"\u5348\u524D":"\u5348\u5F8C"},relativeTime:{future:"%s\u5F8C",past:"%s\u524D",s:"\u6570\u79D2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65E5",dd:"%d\u65E5",M:"1\u30F6\u6708",MM:"%d\u30F6\u6708",y:"1\u5E74",yy:"%d\u5E74"}};return s.default.locale(i,null,!0),i})});var Nn=H((Yt,pt)=>{(function(n,t){typeof Yt=="object"&&typeof pt<"u"?pt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ka=t(n.dayjs)})(Yt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"ka",weekdays:"\u10D9\u10D5\u10D8\u10E0\u10D0_\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8_\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8".split("_"),weekdaysShort:"\u10D9\u10D5\u10D8_\u10DD\u10E0\u10E8_\u10E1\u10D0\u10DB_\u10DD\u10D7\u10EE_\u10EE\u10E3\u10D7_\u10DE\u10D0\u10E0_\u10E8\u10D0\u10D1".split("_"),weekdaysMin:"\u10D9\u10D5_\u10DD\u10E0_\u10E1\u10D0_\u10DD\u10D7_\u10EE\u10E3_\u10DE\u10D0_\u10E8\u10D0".split("_"),months:"\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8_\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8_\u10DB\u10D0\u10E0\u10E2\u10D8_\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8_\u10DB\u10D0\u10D8\u10E1\u10D8_\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8_\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8_\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD_\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8_\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8_\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8_\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8".split("_"),monthsShort:"\u10D8\u10D0\u10DC_\u10D7\u10D4\u10D1_\u10DB\u10D0\u10E0_\u10D0\u10DE\u10E0_\u10DB\u10D0\u10D8_\u10D8\u10D5\u10DC_\u10D8\u10D5\u10DA_\u10D0\u10D2\u10D5_\u10E1\u10D4\u10E5_\u10DD\u10E5\u10E2_\u10DC\u10DD\u10D4_\u10D3\u10D4\u10D9".split("_"),weekStart:1,formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"%s \u10E8\u10D4\u10DB\u10D3\u10D4\u10D2",past:"%s \u10EC\u10D8\u10DC",s:"\u10EC\u10D0\u10DB\u10D8",m:"\u10EC\u10E3\u10D7\u10D8",mm:"%d \u10EC\u10E3\u10D7\u10D8",h:"\u10E1\u10D0\u10D0\u10D7\u10D8",hh:"%d \u10E1\u10D0\u10D0\u10D7\u10D8\u10E1",d:"\u10D3\u10E6\u10D4\u10E1",dd:"%d \u10D3\u10E6\u10D8\u10E1 \u10D2\u10D0\u10DC\u10DB\u10D0\u10D5\u10DA\u10DD\u10D1\u10D0\u10E8\u10D8",M:"\u10D7\u10D5\u10D8\u10E1",MM:"%d \u10D7\u10D5\u10D8\u10E1",y:"\u10EC\u10D4\u10DA\u10D8",yy:"%d \u10EC\u10DA\u10D8\u10E1"},ordinal:function(e){return e}};return s.default.locale(i,null,!0),i})});var En=H((Dt,Lt)=>{(function(n,t){typeof Dt=="object"&&typeof Lt<"u"?Lt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_km=t(n.dayjs)})(Dt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"km",weekdays:"\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799_\u1785\u17D0\u1793\u17D2\u1791_\u17A2\u1784\u17D2\u1782\u17B6\u179A_\u1796\u17BB\u1792_\u1796\u17D2\u179A\u17A0\u179F\u17D2\u1794\u178F\u17B7\u17CD_\u179F\u17BB\u1780\u17D2\u179A_\u179F\u17C5\u179A\u17CD".split("_"),months:"\u1798\u1780\u179A\u17B6_\u1780\u17BB\u1798\u17D2\u1797\u17C8_\u1798\u17B8\u1793\u17B6_\u1798\u17C1\u179F\u17B6_\u17A7\u179F\u1797\u17B6_\u1798\u17B7\u1790\u17BB\u1793\u17B6_\u1780\u1780\u17D2\u1780\u178A\u17B6_\u179F\u17B8\u17A0\u17B6_\u1780\u1789\u17D2\u1789\u17B6_\u178F\u17BB\u179B\u17B6_\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6_\u1792\u17D2\u1793\u17BC".split("_"),weekStart:1,weekdaysShort:"\u17A2\u17B6_\u1785_\u17A2_\u1796_\u1796\u17D2\u179A_\u179F\u17BB_\u179F".split("_"),monthsShort:"\u1798\u1780\u179A\u17B6_\u1780\u17BB\u1798\u17D2\u1797\u17C8_\u1798\u17B8\u1793\u17B6_\u1798\u17C1\u179F\u17B6_\u17A7\u179F\u1797\u17B6_\u1798\u17B7\u1790\u17BB\u1793\u17B6_\u1780\u1780\u17D2\u1780\u178A\u17B6_\u179F\u17B8\u17A0\u17B6_\u1780\u1789\u17D2\u1789\u17B6_\u178F\u17BB\u179B\u17B6_\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6_\u1792\u17D2\u1793\u17BC".split("_"),weekdaysMin:"\u17A2\u17B6_\u1785_\u17A2_\u1796_\u1796\u17D2\u179A_\u179F\u17BB_\u179F".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s\u1791\u17C0\u178F",past:"%s\u1798\u17BB\u1793",s:"\u1794\u17C9\u17BB\u1793\u17D2\u1798\u17B6\u1793\u179C\u17B7\u1793\u17B6\u1791\u17B8",m:"\u1798\u17BD\u1799\u1793\u17B6\u1791\u17B8",mm:"%d \u1793\u17B6\u1791\u17B8",h:"\u1798\u17BD\u1799\u1798\u17C9\u17C4\u1784",hh:"%d \u1798\u17C9\u17C4\u1784",d:"\u1798\u17BD\u1799\u1790\u17D2\u1784\u17C3",dd:"%d \u1790\u17D2\u1784\u17C3",M:"\u1798\u17BD\u1799\u1781\u17C2",MM:"%d \u1781\u17C2",y:"\u1798\u17BD\u1799\u1786\u17D2\u1793\u17B6\u17C6",yy:"%d \u1786\u17D2\u1793\u17B6\u17C6"}};return s.default.locale(i,null,!0),i})});var Fn=H((vt,gt)=>{(function(n,t){typeof vt=="object"&&typeof gt<"u"?gt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_lt=t(n.dayjs)})(vt,function(n){"use strict";function t(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var s=t(n),i="sausio_vasario_kovo_baland\u017Eio_gegu\u017E\u0117s_bir\u017Eelio_liepos_rugpj\u016B\u010Dio_rugs\u0117jo_spalio_lapkri\u010Dio_gruod\u017Eio".split("_"),e="sausis_vasaris_kovas_balandis_gegu\u017E\u0117_bir\u017Eelis_liepa_rugpj\u016Btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),a=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,u=function(o,d){return a.test(d)?i[o.month()]:e[o.month()]};u.s=e,u.f=i;var r={name:"lt",weekdays:"sekmadienis_pirmadienis_antradienis_tre\u010Diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),weekdaysShort:"sek_pir_ant_tre_ket_pen_\u0161e\u0161".split("_"),weekdaysMin:"s_p_a_t_k_pn_\u0161".split("_"),months:u,monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),ordinal:function(o){return o+"."},weekStart:1,relativeTime:{future:"u\u017E %s",past:"prie\u0161 %s",s:"kelias sekundes",m:"minut\u0119",mm:"%d minutes",h:"valand\u0105",hh:"%d valandas",d:"dien\u0105",dd:"%d dienas",M:"m\u0117nes\u012F",MM:"%d m\u0117nesius",y:"metus",yy:"%d metus"},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"}};return s.default.locale(r,null,!0),r})});var Jn=H((St,bt)=>{(function(n,t){typeof St=="object"&&typeof bt<"u"?bt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_lv=t(n.dayjs)})(St,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"lv",weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),months:"janv\u0101ris_febru\u0101ris_marts_apr\u012Blis_maijs_j\u016Bnijs_j\u016Blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),weekStart:1,weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016Bn_j\u016Bl_aug_sep_okt_nov_dec".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:"da\u017E\u0101m sekund\u0113m",m:"min\u016Btes",mm:"%d min\u016Bt\u0113m",h:"stundas",hh:"%d stund\u0101m",d:"dienas",dd:"%d dien\u0101m",M:"m\u0113ne\u0161a",MM:"%d m\u0113ne\u0161iem",y:"gada",yy:"%d gadiem"}};return s.default.locale(i,null,!0),i})});var Un=H((kt,Ht)=>{(function(n,t){typeof kt=="object"&&typeof Ht<"u"?Ht.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ms=t(n.dayjs)})(kt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"ms",weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH.mm",LLLL:"dddd, D MMMM YYYY HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return s.default.locale(i,null,!0),i})});var Pn=H((jt,Tt)=>{(function(n,t){typeof jt=="object"&&typeof Tt<"u"?Tt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_my=t(n.dayjs)})(jt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"my",weekdays:"\u1010\u1014\u1004\u103A\u1039\u1002\u1014\u103D\u1031_\u1010\u1014\u1004\u103A\u1039\u101C\u102C_\u1021\u1004\u103A\u1039\u1002\u102B_\u1017\u102F\u1012\u1039\u1013\u101F\u1030\u1038_\u1000\u103C\u102C\u101E\u1015\u1010\u1031\u1038_\u101E\u1031\u102C\u1000\u103C\u102C_\u1005\u1014\u1031".split("_"),months:"\u1007\u1014\u103A\u1014\u101D\u102B\u101B\u102E_\u1016\u1031\u1016\u1031\u102C\u103A\u101D\u102B\u101B\u102E_\u1019\u1010\u103A_\u1027\u1015\u103C\u102E_\u1019\u1031_\u1007\u103D\u1014\u103A_\u1007\u1030\u101C\u102D\u102F\u1004\u103A_\u101E\u103C\u1002\u102F\u1010\u103A_\u1005\u1000\u103A\u1010\u1004\u103A\u1018\u102C_\u1021\u1031\u102C\u1000\u103A\u1010\u102D\u102F\u1018\u102C_\u1014\u102D\u102F\u101D\u1004\u103A\u1018\u102C_\u1012\u102E\u1007\u1004\u103A\u1018\u102C".split("_"),weekStart:1,weekdaysShort:"\u1014\u103D\u1031_\u101C\u102C_\u1002\u102B_\u101F\u1030\u1038_\u1000\u103C\u102C_\u101E\u1031\u102C_\u1014\u1031".split("_"),monthsShort:"\u1007\u1014\u103A_\u1016\u1031_\u1019\u1010\u103A_\u1015\u103C\u102E_\u1019\u1031_\u1007\u103D\u1014\u103A_\u101C\u102D\u102F\u1004\u103A_\u101E\u103C_\u1005\u1000\u103A_\u1021\u1031\u102C\u1000\u103A_\u1014\u102D\u102F_\u1012\u102E".split("_"),weekdaysMin:"\u1014\u103D\u1031_\u101C\u102C_\u1002\u102B_\u101F\u1030\u1038_\u1000\u103C\u102C_\u101E\u1031\u102C_\u1014\u1031".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"\u101C\u102C\u1019\u100A\u103A\u1037 %s \u1019\u103E\u102C",past:"\u101C\u103D\u1014\u103A\u1001\u1032\u1037\u101E\u1031\u102C %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103A.\u1021\u1014\u100A\u103A\u1038\u1004\u101A\u103A",m:"\u1010\u1005\u103A\u1019\u102D\u1014\u1005\u103A",mm:"%d \u1019\u102D\u1014\u1005\u103A",h:"\u1010\u1005\u103A\u1014\u102C\u101B\u102E",hh:"%d \u1014\u102C\u101B\u102E",d:"\u1010\u1005\u103A\u101B\u1000\u103A",dd:"%d \u101B\u1000\u103A",M:"\u1010\u1005\u103A\u101C",MM:"%d \u101C",y:"\u1010\u1005\u103A\u1014\u103E\u1005\u103A",yy:"%d \u1014\u103E\u1005\u103A"}};return s.default.locale(i,null,!0),i})});var Wn=H((wt,$t)=>{(function(n,t){typeof wt=="object"&&typeof $t<"u"?$t.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_nl=t(n.dayjs)})(wt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"nl",weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),ordinal:function(e){return"["+e+(e===1||e===8||e>=20?"ste":"de")+"]"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"een minuut",mm:"%d minuten",h:"een uur",hh:"%d uur",d:"een dag",dd:"%d dagen",M:"een maand",MM:"%d maanden",y:"een jaar",yy:"%d jaar"}};return s.default.locale(i,null,!0),i})});var Rn=H((Ct,Ot)=>{(function(n,t){typeof Ct=="object"&&typeof Ot<"u"?Ot.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pl=t(n.dayjs)})(Ct,function(n){"use strict";function t(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var s=t(n);function i(l){return l%10<5&&l%10>1&&~~(l/10)%10!=1}function e(l,y,f){var _=l+" ";switch(f){case"m":return y?"minuta":"minut\u0119";case"mm":return _+(i(l)?"minuty":"minut");case"h":return y?"godzina":"godzin\u0119";case"hh":return _+(i(l)?"godziny":"godzin");case"MM":return _+(i(l)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return _+(i(l)?"lata":"lat")}}var a="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015Bnia_pa\u017Adziernika_listopada_grudnia".split("_"),u="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017Adziernik_listopad_grudzie\u0144".split("_"),r=/D MMMM/,o=function(l,y){return r.test(y)?a[l.month()]:u[l.month()]};o.s=u,o.f=a;var d={name:"pl",weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015Broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015Br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015Ar_Cz_Pt_So".split("_"),months:o,monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017A_lis_gru".split("_"),ordinal:function(l){return l+"."},weekStart:1,yearStart:4,relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:e,mm:e,h:e,hh:e,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:e,y:"rok",yy:e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return s.default.locale(d,null,!0),d})});var Zn=H((zt,At)=>{(function(n,t){typeof zt=="object"&&typeof At<"u"?At.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pt_br=t(n.dayjs)})(zt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"pt-br",weekdays:"domingo_segunda-feira_ter\xE7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xE1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xE1b".split("_"),weekdaysMin:"Do_2\xAA_3\xAA_4\xAA_5\xAA_6\xAA_S\xE1".split("_"),months:"janeiro_fevereiro_mar\xE7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xBA"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xE0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xE0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xE1 %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xEAs",MM:"%d meses",y:"um ano",yy:"%d anos"}};return s.default.locale(i,null,!0),i})});var Vn=H((It,xt)=>{(function(n,t){typeof It=="object"&&typeof xt<"u"?xt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pt=t(n.dayjs)})(It,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"pt",weekdays:"domingo_segunda-feira_ter\xE7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xE1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sab".split("_"),weekdaysMin:"Do_2\xAA_3\xAA_4\xAA_5\xAA_6\xAA_Sa".split("_"),months:"janeiro_fevereiro_mar\xE7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xBA"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xE0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xE0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xE1 %s",s:"alguns segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xEAs",MM:"%d meses",y:"um ano",yy:"%d anos"}};return s.default.locale(i,null,!0),i})});var Gn=H((qt,Nt)=>{(function(n,t){typeof qt=="object"&&typeof Nt<"u"?Nt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ro=t(n.dayjs)})(qt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"ro",weekdays:"Duminic\u0103_Luni_Mar\u021Bi_Miercuri_Joi_Vineri_S\xE2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xE2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xE2".split("_"),months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"peste %s",past:"acum %s",s:"c\xE2teva secunde",m:"un minut",mm:"%d minute",h:"o or\u0103",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lun\u0103",MM:"%d luni",y:"un an",yy:"%d ani"},ordinal:function(e){return e}};return s.default.locale(i,null,!0),i})});var Kn=H((Et,Ft)=>{(function(n,t){typeof Et=="object"&&typeof Ft<"u"?Ft.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ru=t(n.dayjs)})(Et,function(n){"use strict";function t(f){return f&&typeof f=="object"&&"default"in f?f:{default:f}}var s=t(n),i="\u044F\u043D\u0432\u0430\u0440\u044F_\u0444\u0435\u0432\u0440\u0430\u043B\u044F_\u043C\u0430\u0440\u0442\u0430_\u0430\u043F\u0440\u0435\u043B\u044F_\u043C\u0430\u044F_\u0438\u044E\u043D\u044F_\u0438\u044E\u043B\u044F_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F_\u043E\u043A\u0442\u044F\u0431\u0440\u044F_\u043D\u043E\u044F\u0431\u0440\u044F_\u0434\u0435\u043A\u0430\u0431\u0440\u044F".split("_"),e="\u044F\u043D\u0432\u0430\u0440\u044C_\u0444\u0435\u0432\u0440\u0430\u043B\u044C_\u043C\u0430\u0440\u0442_\u0430\u043F\u0440\u0435\u043B\u044C_\u043C\u0430\u0439_\u0438\u044E\u043D\u044C_\u0438\u044E\u043B\u044C_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C_\u043E\u043A\u0442\u044F\u0431\u0440\u044C_\u043D\u043E\u044F\u0431\u0440\u044C_\u0434\u0435\u043A\u0430\u0431\u0440\u044C".split("_"),a="\u044F\u043D\u0432._\u0444\u0435\u0432\u0440._\u043C\u0430\u0440._\u0430\u043F\u0440._\u043C\u0430\u044F_\u0438\u044E\u043D\u044F_\u0438\u044E\u043B\u044F_\u0430\u0432\u0433._\u0441\u0435\u043D\u0442._\u043E\u043A\u0442._\u043D\u043E\u044F\u0431._\u0434\u0435\u043A.".split("_"),u="\u044F\u043D\u0432._\u0444\u0435\u0432\u0440._\u043C\u0430\u0440\u0442_\u0430\u043F\u0440._\u043C\u0430\u0439_\u0438\u044E\u043D\u044C_\u0438\u044E\u043B\u044C_\u0430\u0432\u0433._\u0441\u0435\u043D\u0442._\u043E\u043A\u0442._\u043D\u043E\u044F\u0431._\u0434\u0435\u043A.".split("_"),r=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function o(f,_,h){var D,p;return h==="m"?_?"\u043C\u0438\u043D\u0443\u0442\u0430":"\u043C\u0438\u043D\u0443\u0442\u0443":f+" "+(D=+f,p={mm:_?"\u043C\u0438\u043D\u0443\u0442\u0430_\u043C\u0438\u043D\u0443\u0442\u044B_\u043C\u0438\u043D\u0443\u0442":"\u043C\u0438\u043D\u0443\u0442\u0443_\u043C\u0438\u043D\u0443\u0442\u044B_\u043C\u0438\u043D\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043E\u0432",dd:"\u0434\u0435\u043D\u044C_\u0434\u043D\u044F_\u0434\u043D\u0435\u0439",MM:"\u043C\u0435\u0441\u044F\u0446_\u043C\u0435\u0441\u044F\u0446\u0430_\u043C\u0435\u0441\u044F\u0446\u0435\u0432",yy:"\u0433\u043E\u0434_\u0433\u043E\u0434\u0430_\u043B\u0435\u0442"}[h].split("_"),D%10==1&&D%100!=11?p[0]:D%10>=2&&D%10<=4&&(D%100<10||D%100>=20)?p[1]:p[2])}var d=function(f,_){return r.test(_)?i[f.month()]:e[f.month()]};d.s=e,d.f=i;var l=function(f,_){return r.test(_)?a[f.month()]:u[f.month()]};l.s=u,l.f=a;var y={name:"ru",weekdays:"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435_\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A_\u0432\u0442\u043E\u0440\u043D\u0438\u043A_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043F\u044F\u0442\u043D\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u0432\u0441\u043A_\u043F\u043D\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043F\u0442\u043D_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u0432\u0441_\u043F\u043D_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043F\u0442_\u0441\u0431".split("_"),months:d,monthsShort:l,weekStart:1,yearStart:4,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043D\u0430\u0437\u0430\u0434",s:"\u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0435\u043A\u0443\u043D\u0434",m:o,mm:o,h:"\u0447\u0430\u0441",hh:o,d:"\u0434\u0435\u043D\u044C",dd:o,M:"\u043C\u0435\u0441\u044F\u0446",MM:o,y:"\u0433\u043E\u0434",yy:o},ordinal:function(f){return f},meridiem:function(f){return f<4?"\u043D\u043E\u0447\u0438":f<12?"\u0443\u0442\u0440\u0430":f<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u0435\u0440\u0430"}};return s.default.locale(y,null,!0),y})});var Bn=H((Jt,Ut)=>{(function(n,t){typeof Jt=="object"&&typeof Ut<"u"?Ut.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sv=t(n.dayjs)})(Jt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"sv",weekdays:"s\xF6ndag_m\xE5ndag_tisdag_onsdag_torsdag_fredag_l\xF6rdag".split("_"),weekdaysShort:"s\xF6n_m\xE5n_tis_ons_tor_fre_l\xF6r".split("_"),weekdaysMin:"s\xF6_m\xE5_ti_on_to_fr_l\xF6".split("_"),months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekStart:1,yearStart:4,ordinal:function(e){var a=e%10;return"["+e+(a===1||a===2?"a":"e")+"]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},relativeTime:{future:"om %s",past:"f\xF6r %s sedan",s:"n\xE5gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xE5nad",MM:"%d m\xE5nader",y:"ett \xE5r",yy:"%d \xE5r"}};return s.default.locale(i,null,!0),i})});var Xn=H((Pt,Wt)=>{(function(n,t){typeof Pt=="object"&&typeof Wt<"u"?Wt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_tr=t(n.dayjs)})(Pt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"tr",weekdays:"Pazar_Pazartesi_Sal\u0131_\xC7ar\u015Famba_Per\u015Fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xC7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xC7a_Pe_Cu_Ct".split("_"),months:"Ocak_\u015Eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011Fustos_Eyl\xFCl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015Eub_Mar_Nis_May_Haz_Tem_A\u011Fu_Eyl_Eki_Kas_Ara".split("_"),weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s sonra",past:"%s \xF6nce",s:"birka\xE7 saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xFCn",dd:"%d g\xFCn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e){return e+"."}};return s.default.locale(i,null,!0),i})});var Qn=H((Rt,Zt)=>{(function(n,t){typeof Rt=="object"&&typeof Zt<"u"?Zt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_uk=t(n.dayjs)})(Rt,function(n){"use strict";function t(d){return d&&typeof d=="object"&&"default"in d?d:{default:d}}var s=t(n),i="\u0441\u0456\u0447\u043D\u044F_\u043B\u044E\u0442\u043E\u0433\u043E_\u0431\u0435\u0440\u0435\u0437\u043D\u044F_\u043A\u0432\u0456\u0442\u043D\u044F_\u0442\u0440\u0430\u0432\u043D\u044F_\u0447\u0435\u0440\u0432\u043D\u044F_\u043B\u0438\u043F\u043D\u044F_\u0441\u0435\u0440\u043F\u043D\u044F_\u0432\u0435\u0440\u0435\u0441\u043D\u044F_\u0436\u043E\u0432\u0442\u043D\u044F_\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043D\u044F".split("_"),e="\u0441\u0456\u0447\u0435\u043D\u044C_\u043B\u044E\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C_\u043A\u0432\u0456\u0442\u0435\u043D\u044C_\u0442\u0440\u0430\u0432\u0435\u043D\u044C_\u0447\u0435\u0440\u0432\u0435\u043D\u044C_\u043B\u0438\u043F\u0435\u043D\u044C_\u0441\u0435\u0440\u043F\u0435\u043D\u044C_\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C_\u0436\u043E\u0432\u0442\u0435\u043D\u044C_\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043D\u044C".split("_"),a=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function u(d,l,y){var f,_;return y==="m"?l?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443":y==="h"?l?"\u0433\u043E\u0434\u0438\u043D\u0430":"\u0433\u043E\u0434\u0438\u043D\u0443":d+" "+(f=+d,_={ss:l?"\u0441\u0435\u043A\u0443\u043D\u0434\u0430_\u0441\u0435\u043A\u0443\u043D\u0434\u0438_\u0441\u0435\u043A\u0443\u043D\u0434":"\u0441\u0435\u043A\u0443\u043D\u0434\u0443_\u0441\u0435\u043A\u0443\u043D\u0434\u0438_\u0441\u0435\u043A\u0443\u043D\u0434",mm:l?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430_\u0445\u0432\u0438\u043B\u0438\u043D\u0438_\u0445\u0432\u0438\u043B\u0438\u043D":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443_\u0445\u0432\u0438\u043B\u0438\u043D\u0438_\u0445\u0432\u0438\u043B\u0438\u043D",hh:l?"\u0433\u043E\u0434\u0438\u043D\u0430_\u0433\u043E\u0434\u0438\u043D\u0438_\u0433\u043E\u0434\u0438\u043D":"\u0433\u043E\u0434\u0438\u043D\u0443_\u0433\u043E\u0434\u0438\u043D\u0438_\u0433\u043E\u0434\u0438\u043D",dd:"\u0434\u0435\u043D\u044C_\u0434\u043D\u0456_\u0434\u043D\u0456\u0432",MM:"\u043C\u0456\u0441\u044F\u0446\u044C_\u043C\u0456\u0441\u044F\u0446\u0456_\u043C\u0456\u0441\u044F\u0446\u0456\u0432",yy:"\u0440\u0456\u043A_\u0440\u043E\u043A\u0438_\u0440\u043E\u043A\u0456\u0432"}[y].split("_"),f%10==1&&f%100!=11?_[0]:f%10>=2&&f%10<=4&&(f%100<10||f%100>=20)?_[1]:_[2])}var r=function(d,l){return a.test(l)?i[d.month()]:e[d.month()]};r.s=e,r.f=i;var o={name:"uk",weekdays:"\u043D\u0435\u0434\u0456\u043B\u044F_\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A_\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043F\u2019\u044F\u0442\u043D\u0438\u0446\u044F_\u0441\u0443\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u043D\u0434\u043B_\u043F\u043D\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043F\u0442\u043D_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u043D\u0434_\u043F\u043D_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043F\u0442_\u0441\u0431".split("_"),months:r,monthsShort:"\u0441\u0456\u0447_\u043B\u044E\u0442_\u0431\u0435\u0440_\u043A\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043B\u0438\u043F_\u0441\u0435\u0440\u043F_\u0432\u0435\u0440_\u0436\u043E\u0432\u0442_\u043B\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekStart:1,relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043E\u043C\u0443",s:"\u0434\u0435\u043A\u0456\u043B\u044C\u043A\u0430 \u0441\u0435\u043A\u0443\u043D\u0434",m:u,mm:u,h:u,hh:u,d:"\u0434\u0435\u043D\u044C",dd:u,M:"\u043C\u0456\u0441\u044F\u0446\u044C",MM:u,y:"\u0440\u0456\u043A",yy:u},ordinal:function(d){return d},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"}};return s.default.locale(o,null,!0),o})});var ei=H((Vt,Gt)=>{(function(n,t){typeof Vt=="object"&&typeof Gt<"u"?Gt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_vi=t(n.dayjs)})(Vt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"vi",weekdays:"ch\u1EE7 nh\u1EADt_th\u1EE9 hai_th\u1EE9 ba_th\u1EE9 t\u01B0_th\u1EE9 n\u0103m_th\u1EE9 s\xE1u_th\u1EE9 b\u1EA3y".split("_"),months:"th\xE1ng 1_th\xE1ng 2_th\xE1ng 3_th\xE1ng 4_th\xE1ng 5_th\xE1ng 6_th\xE1ng 7_th\xE1ng 8_th\xE1ng 9_th\xE1ng 10_th\xE1ng 11_th\xE1ng 12".split("_"),weekStart:1,weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},relativeTime:{future:"%s t\u1EDBi",past:"%s tr\u01B0\u1EDBc",s:"v\xE0i gi\xE2y",m:"m\u1ED9t ph\xFAt",mm:"%d ph\xFAt",h:"m\u1ED9t gi\u1EDD",hh:"%d gi\u1EDD",d:"m\u1ED9t ng\xE0y",dd:"%d ng\xE0y",M:"m\u1ED9t th\xE1ng",MM:"%d th\xE1ng",y:"m\u1ED9t n\u0103m",yy:"%d n\u0103m"}};return s.default.locale(i,null,!0),i})});var ti=H((Kt,Bt)=>{(function(n,t){typeof Kt=="object"&&typeof Bt<"u"?Bt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_cn=t(n.dayjs)})(Kt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"zh-cn",weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e,a){return a==="W"?e+"\u5468":e+"\u65E5"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206",LLLL:"YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5185",past:"%s\u524D",s:"\u51E0\u79D2",m:"1 \u5206\u949F",mm:"%d \u5206\u949F",h:"1 \u5C0F\u65F6",hh:"%d \u5C0F\u65F6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4E2A\u6708",MM:"%d \u4E2A\u6708",y:"1 \u5E74",yy:"%d \u5E74"},meridiem:function(e,a){var u=100*e+a;return u<600?"\u51CC\u6668":u<900?"\u65E9\u4E0A":u<1100?"\u4E0A\u5348":u<1300?"\u4E2D\u5348":u<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return s.default.locale(i,null,!0),i})});var ni=H((Xt,Qt)=>{(function(n,t){typeof Xt=="object"&&typeof Qt<"u"?Qt.exports=t(j()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_tw=t(n.dayjs)})(Xt,function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var s=t(n),i={name:"zh-tw",weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u9031\u65E5_\u9031\u4E00_\u9031\u4E8C_\u9031\u4E09_\u9031\u56DB_\u9031\u4E94_\u9031\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e,a){return a==="W"?e+"\u9031":e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5167",past:"%s\u524D",s:"\u5E7E\u79D2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500B\u6708",MM:"%d \u500B\u6708",y:"1 \u5E74",yy:"%d \u5E74"},meridiem:function(e,a){var u=100*e+a;return u<600?"\u51CC\u6668":u<900?"\u65E9\u4E0A":u<1100?"\u4E0A\u5348":u<1300?"\u4E2D\u5348":u<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return s.default.locale(i,null,!0),i})});var tn=60,nn=tn*60,sn=nn*24,ci=sn*7,ae=1e3,fe=tn*ae,pe=nn*ae,rn=sn*ae,an=ci*ae,de="millisecond",ne="second",ie="minute",se="hour",K="day",oe="week",R="month",me="quarter",B="year",re="date",un="YYYY-MM-DDTHH:mm:ssZ",De="Invalid Date",on=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,dn=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;var ln={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var s=["th","st","nd","rd"],i=t%100;return"["+t+(s[(i-20)%10]||s[i]||s[0])+"]"}};var Le=function(t,s,i){var e=String(t);return!e||e.length>=s?t:""+Array(s+1-e.length).join(i)+t},hi=function(t){var s=-t.utcOffset(),i=Math.abs(s),e=Math.floor(i/60),a=i%60;return(s<=0?"+":"-")+Le(e,2,"0")+":"+Le(a,2,"0")},Mi=function n(t,s){if(t.date()1)return n(u[0])}else{var r=t.name;ue[r]=t,e=r}return!i&&e&&(_e=e),e||!i&&_e},J=function(t,s){if(ve(t))return t.clone();var i=typeof s=="object"?s:{};return i.date=t,i.args=arguments,new he(i)},Di=function(t,s){return J(t,{locale:s.$L,utc:s.$u,x:s.$x,$offset:s.$offset})},z=fn;z.l=ce;z.i=ve;z.w=Di;var Li=function(t){var s=t.date,i=t.utc;if(s===null)return new Date(NaN);if(z.u(s))return new Date;if(s instanceof Date)return new Date(s);if(typeof s=="string"&&!/Z$/i.test(s)){var e=s.match(on);if(e){var a=e[2]-1||0,u=(e[7]||"0").substring(0,3);return i?new Date(Date.UTC(e[1],a,e[3]||1,e[4]||0,e[5]||0,e[6]||0,u)):new Date(e[1],a,e[3]||1,e[4]||0,e[5]||0,e[6]||0,u)}}return new Date(s)},he=function(){function n(s){this.$L=ce(s.locale,null,!0),this.parse(s),this.$x=this.$x||s.x||{},this[mn]=!0}var t=n.prototype;return t.parse=function(i){this.$d=Li(i),this.init()},t.init=function(){var i=this.$d;this.$y=i.getFullYear(),this.$M=i.getMonth(),this.$D=i.getDate(),this.$W=i.getDay(),this.$H=i.getHours(),this.$m=i.getMinutes(),this.$s=i.getSeconds(),this.$ms=i.getMilliseconds()},t.$utils=function(){return z},t.isValid=function(){return this.$d.toString()!==De},t.isSame=function(i,e){var a=J(i);return this.startOf(e)<=a&&a<=this.endOf(e)},t.isAfter=function(i,e){return J(i)this.togglePanelVisibility(this.$refs.button)),this.$watch("focusedMonth",()=>{this.focusedMonth=+this.focusedMonth,this.focusedDate.month()!==this.focusedMonth&&(this.focusedDate=this.focusedDate.month(this.focusedMonth))}),this.$watch("focusedYear",()=>{if(this.focusedYear?.length>4&&(this.focusedYear=this.focusedYear.substring(0,4)),!this.focusedYear||this.focusedYear?.length!==4)return;let o=+this.focusedYear;Number.isInteger(o)||(o=A().tz(u).year(),this.focusedYear=o),this.focusedDate.year()!==o&&(this.focusedDate=this.focusedDate.year(o))}),this.$watch("focusedDate",()=>{let o=this.focusedDate.month(),d=this.focusedDate.year();this.focusedMonth!==o&&(this.focusedMonth=o),this.focusedYear!==d&&(this.focusedYear=d),this.setupDaysGrid()}),this.$watch("hour",()=>{let o=+this.hour;if(Number.isInteger(o)?o>23?this.hour=0:o<0?this.hour=23:this.hour=o:this.hour=0,this.isClearingState)return;let d=this.getSelectedDate()??this.focusedDate;this.setState(d.hour(this.hour??0))}),this.$watch("minute",()=>{let o=+this.minute;if(Number.isInteger(o)?o>59?this.minute=0:o<0?this.minute=59:this.minute=o:this.minute=0,this.isClearingState)return;let d=this.getSelectedDate()??this.focusedDate;this.setState(d.minute(this.minute??0))}),this.$watch("second",()=>{let o=+this.second;if(Number.isInteger(o)?o>59?this.second=0:o<0?this.second=59:this.second=o:this.second=0,this.isClearingState)return;let d=this.getSelectedDate()??this.focusedDate;this.setState(d.second(this.second??0))}),this.$watch("state",()=>{if(this.state===void 0)return;let o=this.getSelectedDate();if(o===null){this.clearState();return}this.getMaxDate()!==null&&o?.isAfter(this.getMaxDate())&&(o=null),this.getMinDate()!==null&&o?.isBefore(this.getMinDate())&&(o=null);let d=o?.hour()??0;this.hour!==d&&(this.hour=d);let l=o?.minute()??0;this.minute!==l&&(this.minute=l);let y=o?.second()??0;this.second!==y&&(this.second=y),this.setDisplayText()})},clearState:function(){this.isClearingState=!0,this.setState(null),this.hour=0,this.minute=0,this.second=0,this.$nextTick(()=>this.isClearingState=!1)},dateIsDisabled:function(r){return!!(this.$refs?.disabledDates&&JSON.parse(this.$refs.disabledDates.value??[]).some(o=>(o=A(o),o.isValid()?o.isSame(r,"day"):!1))||this.getMaxDate()&&r.isAfter(this.getMaxDate(),"day")||this.getMinDate()&&r.isBefore(this.getMinDate(),"day"))},dayIsDisabled:function(r){return this.focusedDate??(this.focusedDate=A().tz(u)),this.dateIsDisabled(this.focusedDate.date(r))},dayIsSelected:function(r){let o=this.getSelectedDate();return o===null?!1:(this.focusedDate??(this.focusedDate=A().tz(u)),o.date()===r&&o.month()===this.focusedDate.month()&&o.year()===this.focusedDate.year())},dayIsToday:function(r){let o=A().tz(u);return this.focusedDate??(this.focusedDate=o),o.date()===r&&o.month()===this.focusedDate.month()&&o.year()===this.focusedDate.year()},focusPreviousDay:function(){this.focusedDate??(this.focusedDate=A().tz(u)),this.focusedDate=this.focusedDate.subtract(1,"day")},focusPreviousWeek:function(){this.focusedDate??(this.focusedDate=A().tz(u)),this.focusedDate=this.focusedDate.subtract(1,"week")},focusNextDay:function(){this.focusedDate??(this.focusedDate=A().tz(u)),this.focusedDate=this.focusedDate.add(1,"day")},focusNextWeek:function(){this.focusedDate??(this.focusedDate=A().tz(u)),this.focusedDate=this.focusedDate.add(1,"week")},getDayLabels:function(){let r=A.weekdaysShort();return t===0?r:[...r.slice(t),...r.slice(0,t)]},getMaxDate:function(){let r=A(this.$refs.maxDate?.value);return r.isValid()?r:null},getMinDate:function(){let r=A(this.$refs.minDate?.value);return r.isValid()?r:null},getSelectedDate:function(){if(this.state===void 0||this.state===null)return null;let r=A(this.state);return r.isValid()?r:null},togglePanelVisibility:function(){this.isOpen()||(this.focusedDate=this.getSelectedDate()??this.getMinDate()??A().tz(u),this.setupDaysGrid()),this.$refs.panel.toggle(this.$refs.button)},selectDate:function(r=null){r&&this.setFocusedDay(r),this.focusedDate??(this.focusedDate=A().tz(u)),this.setState(this.focusedDate),e&&this.togglePanelVisibility()},setDisplayText:function(){this.displayText=this.getSelectedDate()?this.getSelectedDate().format(n):""},setMonths:function(){this.months=A.months()},setDayLabels:function(){this.dayLabels=this.getDayLabels()},setupDaysGrid:function(){this.focusedDate??(this.focusedDate=A().tz(u)),this.emptyDaysInFocusedMonth=Array.from({length:this.focusedDate.date(8-t).day()},(r,o)=>o+1),this.daysInFocusedMonth=Array.from({length:this.focusedDate.daysInMonth()},(r,o)=>o+1)},setFocusedDay:function(r){this.focusedDate=(this.focusedDate??A().tz(u)).date(r)},setState:function(r){if(r===null){this.state=null,this.setDisplayText();return}this.dateIsDisabled(r)||(this.state=r.hour(this.hour??0).minute(this.minute??0).second(this.second??0).format("YYYY-MM-DD HH:mm:ss"),this.setDisplayText())},isOpen:function(){return this.$refs.panel?.style.display==="block"}}}var ii={ar:pn(),bs:Dn(),ca:Ln(),ckb:Ne(),cs:gn(),cy:Sn(),da:bn(),de:kn(),en:Hn(),es:jn(),et:Tn(),fa:wn(),fi:$n(),fr:Cn(),hi:On(),hu:zn(),hy:An(),id:In(),it:xn(),ja:qn(),ka:Nn(),km:En(),ku:Ne(),lt:Fn(),lv:Jn(),ms:Un(),my:Pn(),nl:Wn(),pl:Rn(),pt_BR:Zn(),pt_PT:Vn(),ro:Gn(),ru:Kn(),sv:Bn(),tr:Xn(),uk:Qn(),vi:ei(),zh_CN:ti(),zh_TW:ni()};export{vi as default}; +var Gi=Object.create;var Hn=Object.defineProperty;var Ri=Object.getOwnPropertyDescriptor;var Zi=Object.getOwnPropertyNames;var Vi=Object.getPrototypeOf,Ki=Object.prototype.hasOwnProperty;var v=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var Qi=(n,t,a,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of Zi(t))!Ki.call(n,e)&&e!==a&&Hn(n,e,{get:()=>t[e],enumerable:!(i=Ri(t,e))||i.enumerable});return n};var oe=(n,t,a)=>(a=n!=null?Gi(Vi(n)):{},Qi(t||!n||!n.__esModule?Hn(a,"default",{value:n,enumerable:!0}):a,n));var En=v((He,je)=>{(function(n,t){typeof He=="object"&&typeof je<"u"?je.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_advancedFormat=t()})(He,(function(){"use strict";return function(n,t){var a=t.prototype,i=a.format;a.format=function(e){var r=this,s=this.$locale();if(!this.isValid())return i.bind(this)(e);var _=this.$utils(),d=(e||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(u){switch(u){case"Q":return Math.ceil((r.$M+1)/3);case"Do":return s.ordinal(r.$D);case"gggg":return r.weekYear();case"GGGG":return r.isoWeekYear();case"wo":return s.ordinal(r.week(),"W");case"w":case"ww":return _.s(r.week(),u==="w"?1:2,"0");case"W":case"WW":return _.s(r.isoWeek(),u==="W"?1:2,"0");case"k":case"kk":return _.s(String(r.$H===0?24:r.$H),u==="k"?1:2,"0");case"X":return Math.floor(r.$d.getTime()/1e3);case"x":return r.$d.getTime();case"z":return"["+r.offsetName()+"]";case"zzz":return"["+r.offsetName("long")+"]";default:return u}}));return i.bind(this)(d)}}}))});var Jn=v((Te,we)=>{(function(n,t){typeof Te=="object"&&typeof we<"u"?we.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_customParseFormat=t()})(Te,(function(){"use strict";var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,a=/\d/,i=/\d\d/,e=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,s={},_=function(c){return(c=+c)+(c>68?1900:2e3)},d=function(c){return function(y){this[c]=+y}},u=[/[+-]\d\d:?(\d\d)?|Z/,function(c){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var D=y.match(/([+-]|\d\d)/g),L=60*D[1]+(+D[2]||0);return L===0?0:D[0]==="+"?-L:L})(c)}],o=function(c){var y=s[c];return y&&(y.indexOf?y:y.s.concat(y.f))},f=function(c,y){var D,L=s.meridiem;if(L){for(var w=1;w<=24;w+=1)if(c.indexOf(L(w,0,y))>-1){D=w>12;break}}else D=c===(y?"pm":"PM");return D},l={A:[r,function(c){this.afternoon=f(c,!1)}],a:[r,function(c){this.afternoon=f(c,!0)}],Q:[a,function(c){this.month=3*(c-1)+1}],S:[a,function(c){this.milliseconds=100*+c}],SS:[i,function(c){this.milliseconds=10*+c}],SSS:[/\d{3}/,function(c){this.milliseconds=+c}],s:[e,d("seconds")],ss:[e,d("seconds")],m:[e,d("minutes")],mm:[e,d("minutes")],H:[e,d("hours")],h:[e,d("hours")],HH:[e,d("hours")],hh:[e,d("hours")],D:[e,d("day")],DD:[i,d("day")],Do:[r,function(c){var y=s.ordinal,D=c.match(/\d+/);if(this.day=D[0],y)for(var L=1;L<=31;L+=1)y(L).replace(/\[|\]/g,"")===c&&(this.day=L)}],w:[e,d("week")],ww:[i,d("week")],M:[e,d("month")],MM:[i,d("month")],MMM:[r,function(c){var y=o("months"),D=(o("monthsShort")||y.map((function(L){return L.slice(0,3)}))).indexOf(c)+1;if(D<1)throw new Error;this.month=D%12||D}],MMMM:[r,function(c){var y=o("months").indexOf(c)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,d("year")],YY:[i,function(c){this.year=_(c)}],YYYY:[/\d{4}/,d("year")],Z:u,ZZ:u};function m(c){var y,D;y=c,D=s&&s.formats;for(var L=(c=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function($,j,U){var W=U&&U.toUpperCase();return j||D[U]||n[U]||D[W].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(g,M,h){return M||h.slice(1)}))}))).match(t),w=L.length,b=0;b-1)return new Date((Y==="X"?1e3:1)*p);var T=m(Y)(p),q=T.year,N=T.month,F=T.day,P=T.hours,B=T.minutes,Q=T.seconds,ae=T.milliseconds,Z=T.zone,J=T.week,R=new Date,X=F||(q||N?1:R.getDate()),ee=q||R.getFullYear(),fe=0;q&&!N||(fe=N>0?N-1:R.getMonth());var me,pe=P||0,Le=B||0,De=Q||0,ve=ae||0;return Z?new Date(Date.UTC(ee,fe,X,pe,Le,De,ve+60*Z.offset*1e3)):S?new Date(Date.UTC(ee,fe,X,pe,Le,De,ve)):(me=new Date(ee,fe,X,pe,Le,De,ve),J&&(me=H(me).week(J).toDate()),me)}catch{return new Date("")}})(C,x,A,D),this.init(),W&&W!==!0&&(this.$L=this.locale(W).$L),U&&C!=this.format(x)&&(this.$d=new Date("")),s={}}else if(x instanceof Array)for(var g=x.length,M=1;M<=g;M+=1){I[1]=x[M-1];var h=D.apply(this,I);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}M===g&&(this.$d=new Date(""))}else w.call(this,b)}}}))});var Un=v(($e,Ce)=>{(function(n,t){typeof $e=="object"&&typeof Ce<"u"?Ce.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_localeData=t()})($e,(function(){"use strict";return function(n,t,a){var i=t.prototype,e=function(u){return u&&(u.indexOf?u:u.s)},r=function(u,o,f,l,m){var c=u.name?u:u.$locale(),y=e(c[o]),D=e(c[f]),L=y||D.map((function(b){return b.slice(0,l)}));if(!m)return L;var w=c.weekStart;return L.map((function(b,C){return L[(C+(w||0))%7]}))},s=function(){return a.Ls[a.locale()]},_=function(u,o){return u.formats[o]||(function(f){return f.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(l,m,c){return m||c.slice(1)}))})(u.formats[o.toUpperCase()])},d=function(){var u=this;return{months:function(o){return o?o.format("MMMM"):r(u,"months")},monthsShort:function(o){return o?o.format("MMM"):r(u,"monthsShort","months",3)},firstDayOfWeek:function(){return u.$locale().weekStart||0},weekdays:function(o){return o?o.format("dddd"):r(u,"weekdays")},weekdaysMin:function(o){return o?o.format("dd"):r(u,"weekdaysMin","weekdays",2)},weekdaysShort:function(o){return o?o.format("ddd"):r(u,"weekdaysShort","weekdays",3)},longDateFormat:function(o){return _(u.$locale(),o)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};i.localeData=function(){return d.bind(this)()},a.localeData=function(){var u=s();return{firstDayOfWeek:function(){return u.weekStart||0},weekdays:function(){return a.weekdays()},weekdaysShort:function(){return a.weekdaysShort()},weekdaysMin:function(){return a.weekdaysMin()},months:function(){return a.months()},monthsShort:function(){return a.monthsShort()},longDateFormat:function(o){return _(u,o)},meridiem:u.meridiem,ordinal:u.ordinal}},a.months=function(){return r(s(),"months")},a.monthsShort=function(){return r(s(),"monthsShort","months",3)},a.weekdays=function(u){return r(s(),"weekdays",null,null,u)},a.weekdaysShort=function(u){return r(s(),"weekdaysShort","weekdays",3,u)},a.weekdaysMin=function(u){return r(s(),"weekdaysMin","weekdays",2,u)}}}))});var Wn=v((Oe,ze)=>{(function(n,t){typeof Oe=="object"&&typeof ze<"u"?ze.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_timezone=t()})(Oe,(function(){"use strict";var n={year:0,month:1,day:2,hour:3,minute:4,second:5},t={};return function(a,i,e){var r,s=function(o,f,l){l===void 0&&(l={});var m=new Date(o),c=(function(y,D){D===void 0&&(D={});var L=D.timeZoneName||"short",w=y+"|"+L,b=t[w];return b||(b=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:L}),t[w]=b),b})(f,l);return c.formatToParts(m)},_=function(o,f){for(var l=s(o,f),m=[],c=0;c=0&&(m[w]=parseInt(L,10))}var b=m[3],C=b===24?0:b,A=m[0]+"-"+m[1]+"-"+m[2]+" "+C+":"+m[4]+":"+m[5]+":000",I=+o;return(e.utc(A).valueOf()-(I-=I%1e3))/6e4},d=i.prototype;d.tz=function(o,f){o===void 0&&(o=r);var l,m=this.utcOffset(),c=this.toDate(),y=c.toLocaleString("en-US",{timeZone:o}),D=Math.round((c-new Date(y))/1e3/60),L=15*-Math.round(c.getTimezoneOffset()/15)-D;if(!Number(L))l=this.utcOffset(0,f);else if(l=e(y,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(L,!0),f){var w=l.utcOffset();l=l.add(m-w,"minute")}return l.$x.$timezone=o,l},d.offsetName=function(o){var f=this.$x.$timezone||e.tz.guess(),l=s(this.valueOf(),f,{timeZoneName:o}).find((function(m){return m.type.toLowerCase()==="timezonename"}));return l&&l.value};var u=d.startOf;d.startOf=function(o,f){if(!this.$x||!this.$x.$timezone)return u.call(this,o,f);var l=e(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return u.call(l,o,f).tz(this.$x.$timezone,!0)},e.tz=function(o,f,l){var m=l&&f,c=l||f||r,y=_(+e(),c);if(typeof o!="string")return e(o).tz(c);var D=(function(C,A,I){var x=C-60*A*1e3,$=_(x,I);if(A===$)return[x,A];var j=_(x-=60*($-A)*1e3,I);return $===j?[x,$]:[C-60*Math.min($,j)*1e3,Math.max($,j)]})(e.utc(o,m).valueOf(),y,c),L=D[0],w=D[1],b=e(L).utcOffset(w);return b.$x.$timezone=c,b},e.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},e.tz.setDefault=function(o){r=o}}}))});var Pn=v((Ae,qe)=>{(function(n,t){typeof Ae=="object"&&typeof qe<"u"?qe.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_plugin_utc=t()})(Ae,(function(){"use strict";var n="minute",t=/[+-]\d\d(?::?\d\d)?/g,a=/([+-]|\d\d)/g;return function(i,e,r){var s=e.prototype;r.utc=function(m){var c={date:m,utc:!0,args:arguments};return new e(c)},s.utc=function(m){var c=r(this.toDate(),{locale:this.$L,utc:!0});return m?c.add(this.utcOffset(),n):c},s.local=function(){return r(this.toDate(),{locale:this.$L,utc:!1})};var _=s.parse;s.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),_.call(this,m)};var d=s.init;s.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else d.call(this)};var u=s.utcOffset;s.utcOffset=function(m,c){var y=this.$utils().u;if(y(m))return this.$u?0:y(this.$offset)?u.call(this):this.$offset;if(typeof m=="string"&&(m=(function(b){b===void 0&&(b="");var C=b.match(t);if(!C)return null;var A=(""+C[0]).match(a)||["-",0,0],I=A[0],x=60*+A[1]+ +A[2];return x===0?0:I==="+"?x:-x})(m),m===null))return this;var D=Math.abs(m)<=16?60*m:m;if(D===0)return this.utc(c);var L=this.clone();if(c)return L.$offset=D,L.$u=!1,L;var w=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(L=this.local().add(D+w,n)).$offset=D,L.$x.$localOffset=w,L};var o=s.format;s.format=function(m){var c=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return o.call(this,c)},s.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var f=s.toDate;s.toDate=function(m){return m==="s"&&this.$offset?r(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var l=s.diff;s.diff=function(m,c,y){if(m&&this.$u===m.$u)return l.call(this,m,c,y);var D=this.local(),L=r(m).local();return l.call(D,L,c,y)}}}))});var k=v((Ie,xe)=>{(function(n,t){typeof Ie=="object"&&typeof xe<"u"?xe.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs=t()})(Ie,(function(){"use strict";var n=1e3,t=6e4,a=36e5,i="millisecond",e="second",r="minute",s="hour",_="day",d="week",u="month",o="quarter",f="year",l="date",m="Invalid Date",c=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,D={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(g){var M=["th","st","nd","rd"],h=g%100;return"["+g+(M[(h-20)%10]||M[h]||M[0])+"]"}},L=function(g,M,h){var p=String(g);return!p||p.length>=M?g:""+Array(M+1-p.length).join(h)+g},w={s:L,z:function(g){var M=-g.utcOffset(),h=Math.abs(M),p=Math.floor(h/60),Y=h%60;return(M<=0?"+":"-")+L(p,2,"0")+":"+L(Y,2,"0")},m:function g(M,h){if(M.date()1)return g(H[0])}else{var T=M.name;C[T]=M,Y=T}return!p&&Y&&(b=Y),Y||!p&&b},$=function(g,M){if(I(g))return g.clone();var h=typeof M=="object"?M:{};return h.date=g,h.args=arguments,new U(h)},j=w;j.l=x,j.i=I,j.w=function(g,M){return $(g,{locale:M.$L,utc:M.$u,x:M.$x,$offset:M.$offset})};var U=(function(){function g(h){this.$L=x(h.locale,null,!0),this.parse(h),this.$x=this.$x||h.x||{},this[A]=!0}var M=g.prototype;return M.parse=function(h){this.$d=(function(p){var Y=p.date,S=p.utc;if(Y===null)return new Date(NaN);if(j.u(Y))return new Date;if(Y instanceof Date)return new Date(Y);if(typeof Y=="string"&&!/Z$/i.test(Y)){var H=Y.match(c);if(H){var T=H[2]-1||0,q=(H[7]||"0").substring(0,3);return S?new Date(Date.UTC(H[1],T,H[3]||1,H[4]||0,H[5]||0,H[6]||0,q)):new Date(H[1],T,H[3]||1,H[4]||0,H[5]||0,H[6]||0,q)}}return new Date(Y)})(h),this.init()},M.init=function(){var h=this.$d;this.$y=h.getFullYear(),this.$M=h.getMonth(),this.$D=h.getDate(),this.$W=h.getDay(),this.$H=h.getHours(),this.$m=h.getMinutes(),this.$s=h.getSeconds(),this.$ms=h.getMilliseconds()},M.$utils=function(){return j},M.isValid=function(){return this.$d.toString()!==m},M.isSame=function(h,p){var Y=$(h);return this.startOf(p)<=Y&&Y<=this.endOf(p)},M.isAfter=function(h,p){return $(h){(function(n,t){typeof Ne=="object"&&typeof Fe<"u"?Fe.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_am=t(n.dayjs)})(Ne,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"am",weekdays:"\u12A5\u1211\u12F5_\u1230\u129E_\u121B\u12AD\u1230\u129E_\u1228\u1261\u12D5_\u1210\u1219\u1235_\u12A0\u122D\u1265_\u1245\u12F3\u121C".split("_"),weekdaysShort:"\u12A5\u1211\u12F5_\u1230\u129E_\u121B\u12AD\u1230_\u1228\u1261\u12D5_\u1210\u1219\u1235_\u12A0\u122D\u1265_\u1245\u12F3\u121C".split("_"),weekdaysMin:"\u12A5\u1211_\u1230\u129E_\u121B\u12AD_\u1228\u1261_\u1210\u1219_\u12A0\u122D_\u1245\u12F3".split("_"),months:"\u1303\u1295\u12CB\u122A_\u134C\u1265\u122F\u122A_\u121B\u122D\u127D_\u12A4\u1355\u122A\u120D_\u121C\u12ED_\u1301\u1295_\u1301\u120B\u12ED_\u12A6\u1308\u1235\u1275_\u1234\u1355\u1274\u121D\u1260\u122D_\u12A6\u12AD\u1276\u1260\u122D_\u1296\u126C\u121D\u1260\u122D_\u12F2\u1234\u121D\u1260\u122D".split("_"),monthsShort:"\u1303\u1295\u12CB_\u134C\u1265\u122F_\u121B\u122D\u127D_\u12A4\u1355\u122A_\u121C\u12ED_\u1301\u1295_\u1301\u120B\u12ED_\u12A6\u1308\u1235_\u1234\u1355\u1274_\u12A6\u12AD\u1276_\u1296\u126C\u121D_\u12F2\u1234\u121D".split("_"),weekStart:1,yearStart:4,relativeTime:{future:"\u1260%s",past:"%s \u1260\u134A\u1275",s:"\u1325\u1242\u1275 \u1230\u12A8\u1295\u12F6\u127D",m:"\u12A0\u1295\u12F5 \u12F0\u1242\u1243",mm:"%d \u12F0\u1242\u1243\u12CE\u127D",h:"\u12A0\u1295\u12F5 \u1230\u12D3\u1275",hh:"%d \u1230\u12D3\u1273\u1275",d:"\u12A0\u1295\u12F5 \u1240\u1295",dd:"%d \u1240\u1293\u1275",M:"\u12A0\u1295\u12F5 \u12C8\u122D",MM:"%d \u12C8\u122B\u1275",y:"\u12A0\u1295\u12F5 \u12D3\u1218\u1275",yy:"%d \u12D3\u1218\u1273\u1275"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM D \u1363 YYYY",LLL:"MMMM D \u1363 YYYY HH:mm",LLLL:"dddd \u1363 MMMM D \u1363 YYYY HH:mm"},ordinal:function(e){return e+"\u129B"}};return a.default.locale(i,null,!0),i}))});var Rn=v((Ee,Je)=>{(function(n,t){typeof Ee=="object"&&typeof Je<"u"?Je.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ar=t(n.dayjs)})(Ee,(function(n){"use strict";function t(f){return f&&typeof f=="object"&&"default"in f?f:{default:f}}var a=t(n),i="\u064A\u0646\u0627\u064A\u0631_\u0641\u0628\u0631\u0627\u064A\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064A\u0644_\u0645\u0627\u064A\u0648_\u064A\u0648\u0646\u064A\u0648_\u064A\u0648\u0644\u064A\u0648_\u0623\u063A\u0633\u0637\u0633_\u0633\u0628\u062A\u0645\u0628\u0631_\u0623\u0643\u062A\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062F\u064A\u0633\u0645\u0628\u0631".split("_"),e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},r={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},s=/[١٢٣٤٥٦٧٨٩٠]/g,_=/،/g,d=/\d/g,u=/,/g,o={name:"ar",weekdays:"\u0627\u0644\u0623\u062D\u062F_\u0627\u0644\u0625\u062B\u0646\u064A\u0646_\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062E\u0645\u064A\u0633_\u0627\u0644\u062C\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062A".split("_"),weekdaysShort:"\u0623\u062D\u062F_\u0625\u062B\u0646\u064A\u0646_\u062B\u0644\u0627\u062B\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062E\u0645\u064A\u0633_\u062C\u0645\u0639\u0629_\u0633\u0628\u062A".split("_"),weekdaysMin:"\u062D_\u0646_\u062B_\u0631_\u062E_\u062C_\u0633".split("_"),months:i,monthsShort:i,weekStart:6,meridiem:function(f){return f>12?"\u0645":"\u0635"},relativeTime:{future:"\u0628\u0639\u062F %s",past:"\u0645\u0646\u0630 %s",s:"\u062B\u0627\u0646\u064A\u0629 \u0648\u0627\u062D\u062F\u0629",m:"\u062F\u0642\u064A\u0642\u0629 \u0648\u0627\u062D\u062F\u0629",mm:"%d \u062F\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629 \u0648\u0627\u062D\u062F\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062A",d:"\u064A\u0648\u0645 \u0648\u0627\u062D\u062F",dd:"%d \u0623\u064A\u0627\u0645",M:"\u0634\u0647\u0631 \u0648\u0627\u062D\u062F",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0639\u0627\u0645 \u0648\u0627\u062D\u062F",yy:"%d \u0623\u0639\u0648\u0627\u0645"},preparse:function(f){return f.replace(s,(function(l){return r[l]})).replace(_,",")},postformat:function(f){return f.replace(d,(function(l){return e[l]})).replace(u,"\u060C")},ordinal:function(f){return f},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200FM/\u200FYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"}};return a.default.locale(o,null,!0),o}))});var Zn=v((Ue,We)=>{(function(n,t){typeof Ue=="object"&&typeof We<"u"?We.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_bs=t(n.dayjs)})(Ue,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"bs",weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010Detvrtak_petak_subota".split("_"),months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),weekStart:1,weekdaysShort:"ned._pon._uto._sri._\u010Det._pet._sub.".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010De_pe_su".split("_"),ordinal:function(e){return e},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return a.default.locale(i,null,!0),i}))});var Vn=v((Pe,Ge)=>{(function(n,t){typeof Pe=="object"&&typeof Ge<"u"?Ge.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ca=t(n.dayjs)})(Pe,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ca",weekdays:"Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),weekdaysShort:"Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),months:"Gener_Febrer_Mar\xE7_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),monthsShort:"Gen._Febr._Mar\xE7_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",ll:"D MMM YYYY",lll:"D MMM YYYY, H:mm",llll:"ddd D MMM YYYY, H:mm"},relativeTime:{future:"d'aqu\xED %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:function(e){return""+e+(e===1||e===3?"r":e===2?"n":e===4?"t":"\xE8")}};return a.default.locale(i,null,!0),i}))});var Re=v((ye,Kn)=>{(function(n,t){typeof ye=="object"&&typeof Kn<"u"?t(ye,k()):typeof define=="function"&&define.amd?define(["exports","dayjs"],t):t((n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ku={},n.dayjs)})(ye,(function(n,t){"use strict";function a(d){return d&&typeof d=="object"&&"default"in d?d:{default:d}}var i=a(t),e={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},r={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},s=["\u06A9\u0627\u0646\u0648\u0648\u0646\u06CC \u062F\u0648\u0648\u06D5\u0645","\u0634\u0648\u0628\u0627\u062A","\u0626\u0627\u062F\u0627\u0631","\u0646\u06CC\u0633\u0627\u0646","\u0626\u0627\u06CC\u0627\u0631","\u062D\u0648\u0632\u06D5\u06CC\u0631\u0627\u0646","\u062A\u06D5\u0645\u0645\u0648\u0648\u0632","\u0626\u0627\u0628","\u0626\u06D5\u06CC\u0644\u0648\u0648\u0644","\u062A\u0634\u0631\u06CC\u0646\u06CC \u06CC\u06D5\u06A9\u06D5\u0645","\u062A\u0634\u0631\u06CC\u0646\u06CC \u062F\u0648\u0648\u06D5\u0645","\u06A9\u0627\u0646\u0648\u0648\u0646\u06CC \u06CC\u06D5\u06A9\u06D5\u0645"],_={name:"ku",months:s,monthsShort:s,weekdays:"\u06CC\u06D5\u06A9\u0634\u06D5\u0645\u0645\u06D5_\u062F\u0648\u0648\u0634\u06D5\u0645\u0645\u06D5_\u0633\u06CE\u0634\u06D5\u0645\u0645\u06D5_\u0686\u0648\u0627\u0631\u0634\u06D5\u0645\u0645\u06D5_\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645\u0645\u06D5_\u0647\u06D5\u06CC\u0646\u06CC_\u0634\u06D5\u0645\u0645\u06D5".split("_"),weekdaysShort:"\u06CC\u06D5\u06A9\u0634\u06D5\u0645_\u062F\u0648\u0648\u0634\u06D5\u0645_\u0633\u06CE\u0634\u06D5\u0645_\u0686\u0648\u0627\u0631\u0634\u06D5\u0645_\u067E\u06CE\u0646\u062C\u0634\u06D5\u0645_\u0647\u06D5\u06CC\u0646\u06CC_\u0634\u06D5\u0645\u0645\u06D5".split("_"),weekStart:6,weekdaysMin:"\u06CC_\u062F_\u0633_\u0686_\u067E_\u0647\u0640_\u0634".split("_"),preparse:function(d){return d.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(u){return r[u]})).replace(/،/g,",")},postformat:function(d){return d.replace(/\d/g,(function(u){return e[u]})).replace(/,/g,"\u060C")},ordinal:function(d){return d},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiem:function(d){return d<12?"\u067E.\u0646":"\u062F.\u0646"},relativeTime:{future:"\u0644\u06D5 %s",past:"\u0644\u06D5\u0645\u06D5\u0648\u067E\u06CE\u0634 %s",s:"\u0686\u06D5\u0646\u062F \u0686\u0631\u06A9\u06D5\u06CC\u06D5\u06A9",m:"\u06CC\u06D5\u06A9 \u062E\u0648\u0644\u06D5\u06A9",mm:"%d \u062E\u0648\u0644\u06D5\u06A9",h:"\u06CC\u06D5\u06A9 \u06A9\u0627\u062A\u0698\u0645\u06CE\u0631",hh:"%d \u06A9\u0627\u062A\u0698\u0645\u06CE\u0631",d:"\u06CC\u06D5\u06A9 \u0695\u06C6\u0698",dd:"%d \u0695\u06C6\u0698",M:"\u06CC\u06D5\u06A9 \u0645\u0627\u0646\u06AF",MM:"%d \u0645\u0627\u0646\u06AF",y:"\u06CC\u06D5\u06A9 \u0633\u0627\u06B5",yy:"%d \u0633\u0627\u06B5"}};i.default.locale(_,null,!0),n.default=_,n.englishToArabicNumbersMap=e,Object.defineProperty(n,"__esModule",{value:!0})}))});var Qn=v((Ze,Ve)=>{(function(n,t){typeof Ze=="object"&&typeof Ve<"u"?Ve.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_cs=t(n.dayjs)})(Ze,(function(n){"use strict";function t(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var a=t(n);function i(s){return s>1&&s<5&&~~(s/10)!=1}function e(s,_,d,u){var o=s+" ";switch(d){case"s":return _||u?"p\xE1r sekund":"p\xE1r sekundami";case"m":return _?"minuta":u?"minutu":"minutou";case"mm":return _||u?o+(i(s)?"minuty":"minut"):o+"minutami";case"h":return _?"hodina":u?"hodinu":"hodinou";case"hh":return _||u?o+(i(s)?"hodiny":"hodin"):o+"hodinami";case"d":return _||u?"den":"dnem";case"dd":return _||u?o+(i(s)?"dny":"dn\xED"):o+"dny";case"M":return _||u?"m\u011Bs\xEDc":"m\u011Bs\xEDcem";case"MM":return _||u?o+(i(s)?"m\u011Bs\xEDce":"m\u011Bs\xEDc\u016F"):o+"m\u011Bs\xEDci";case"y":return _||u?"rok":"rokem";case"yy":return _||u?o+(i(s)?"roky":"let"):o+"lety"}}var r={name:"cs",weekdays:"ned\u011Ble_pond\u011Bl\xED_\xFAter\xFD_st\u0159eda_\u010Dtvrtek_p\xE1tek_sobota".split("_"),weekdaysShort:"ne_po_\xFAt_st_\u010Dt_p\xE1_so".split("_"),weekdaysMin:"ne_po_\xFAt_st_\u010Dt_p\xE1_so".split("_"),months:"leden_\xFAnor_b\u0159ezen_duben_kv\u011Bten_\u010Derven_\u010Dervenec_srpen_z\xE1\u0159\xED_\u0159\xEDjen_listopad_prosinec".split("_"),monthsShort:"led_\xFAno_b\u0159e_dub_kv\u011B_\u010Dvn_\u010Dvc_srp_z\xE1\u0159_\u0159\xEDj_lis_pro".split("_"),weekStart:1,yearStart:4,ordinal:function(s){return s+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e}};return a.default.locale(r,null,!0),r}))});var Xn=v((Ke,Qe)=>{(function(n,t){typeof Ke=="object"&&typeof Qe<"u"?Qe.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_cy=t(n.dayjs)})(Ke,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"cy",weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),weekStart:1,weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"mewn %s",past:"%s yn \xF4l",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"}};return a.default.locale(i,null,!0),i}))});var Bn=v((Xe,Be)=>{(function(n,t){typeof Xe=="object"&&typeof Be<"u"?Be.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_da=t(n.dayjs)})(Xe,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"da",weekdays:"s\xF8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xF8rdag".split("_"),weekdaysShort:"s\xF8n._man._tirs._ons._tors._fre._l\xF8r.".split("_"),weekdaysMin:"s\xF8._ma._ti._on._to._fr._l\xF8.".split("_"),months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.".split("_"),weekStart:1,yearStart:4,ordinal:function(e){return e+"."},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xE5 sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xE5ned",MM:"%d m\xE5neder",y:"et \xE5r",yy:"%d \xE5r"}};return a.default.locale(i,null,!0),i}))});var ei=v((et,tt)=>{(function(n,t){typeof et=="object"&&typeof tt<"u"?tt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_de=t(n.dayjs)})(et,(function(n){"use strict";function t(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var a=t(n),i={s:"ein paar Sekunden",m:["eine Minute","einer Minute"],mm:"%d Minuten",h:["eine Stunde","einer Stunde"],hh:"%d Stunden",d:["ein Tag","einem Tag"],dd:["%d Tage","%d Tagen"],M:["ein Monat","einem Monat"],MM:["%d Monate","%d Monaten"],y:["ein Jahr","einem Jahr"],yy:["%d Jahre","%d Jahren"]};function e(s,_,d){var u=i[d];return Array.isArray(u)&&(u=u[_?0:1]),u.replace("%d",s)}var r={name:"de",weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),months:"Januar_Februar_M\xE4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xE4rz_Apr._Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),ordinal:function(s){return s+"."},weekStart:1,yearStart:4,formats:{LTS:"HH:mm:ss",LT:"HH:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},relativeTime:{future:"in %s",past:"vor %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e}};return a.default.locale(r,null,!0),r}))});var ti=v((nt,it)=>{(function(n,t){typeof nt=="object"&&typeof it<"u"?it.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_el=t(n.dayjs)})(nt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"el",weekdays:"\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE_\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1_\u03A4\u03C1\u03AF\u03C4\u03B7_\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7_\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7_\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE_\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF".split("_"),weekdaysShort:"\u039A\u03C5\u03C1_\u0394\u03B5\u03C5_\u03A4\u03C1\u03B9_\u03A4\u03B5\u03C4_\u03A0\u03B5\u03BC_\u03A0\u03B1\u03C1_\u03A3\u03B1\u03B2".split("_"),weekdaysMin:"\u039A\u03C5_\u0394\u03B5_\u03A4\u03C1_\u03A4\u03B5_\u03A0\u03B5_\u03A0\u03B1_\u03A3\u03B1".split("_"),months:"\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2_\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2_\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2_\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2_\u039C\u03AC\u03B9\u03BF\u03C2_\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2_\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2_\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2_\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2_\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2_\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2_\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2".split("_"),monthsShort:"\u0399\u03B1\u03BD_\u03A6\u03B5\u03B2_\u039C\u03B1\u03C1_\u0391\u03C0\u03C1_\u039C\u03B1\u03B9_\u0399\u03BF\u03C5\u03BD_\u0399\u03BF\u03C5\u03BB_\u0391\u03C5\u03B3_\u03A3\u03B5\u03C0\u03C4_\u039F\u03BA\u03C4_\u039D\u03BF\u03B5_\u0394\u03B5\u03BA".split("_"),ordinal:function(e){return e},weekStart:1,relativeTime:{future:"\u03C3\u03B5 %s",past:"\u03C0\u03C1\u03B9\u03BD %s",s:"\u03BC\u03B5\u03C1\u03B9\u03BA\u03AC \u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03CC\u03BB\u03B5\u03C0\u03C4\u03B1",m:"\u03AD\u03BD\u03B1 \u03BB\u03B5\u03C0\u03C4\u03CC",mm:"%d \u03BB\u03B5\u03C0\u03C4\u03AC",h:"\u03BC\u03AF\u03B1 \u03CE\u03C1\u03B1",hh:"%d \u03CE\u03C1\u03B5\u03C2",d:"\u03BC\u03AF\u03B1 \u03BC\u03AD\u03C1\u03B1",dd:"%d \u03BC\u03AD\u03C1\u03B5\u03C2",M:"\u03AD\u03BD\u03B1 \u03BC\u03AE\u03BD\u03B1",MM:"%d \u03BC\u03AE\u03BD\u03B5\u03C2",y:"\u03AD\u03BD\u03B1 \u03C7\u03C1\u03CC\u03BD\u03BF",yy:"%d \u03C7\u03C1\u03CC\u03BD\u03B9\u03B1"},formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"}};return a.default.locale(i,null,!0),i}))});var ni=v((rt,at)=>{(function(n,t){typeof rt=="object"&&typeof at<"u"?at.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_en=t()})(rt,(function(){"use strict";return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(n){var t=["th","st","nd","rd"],a=n%100;return"["+n+(t[(a-20)%10]||t[a]||t[0])+"]"}}}))});var ii=v((st,ut)=>{(function(n,t){typeof st=="object"&&typeof ut<"u"?ut.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_es=t(n.dayjs)})(st,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"es",monthsShort:"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),weekdays:"domingo_lunes_martes_mi\xE9rcoles_jueves_viernes_s\xE1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xE9._jue._vie._s\xE1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xE1".split("_"),months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xEDa",dd:"%d d\xEDas",M:"un mes",MM:"%d meses",y:"un a\xF1o",yy:"%d a\xF1os"},ordinal:function(e){return e+"\xBA"}};return a.default.locale(i,null,!0),i}))});var ri=v((dt,ot)=>{(function(n,t){typeof dt=="object"&&typeof ot<"u"?ot.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_et=t(n.dayjs)})(dt,(function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n);function i(r,s,_,d){var u={s:["m\xF5ne sekundi","m\xF5ni sekund","paar sekundit"],m:["\xFChe minuti","\xFCks minut"],mm:["%d minuti","%d minutit"],h:["\xFChe tunni","tund aega","\xFCks tund"],hh:["%d tunni","%d tundi"],d:["\xFChe p\xE4eva","\xFCks p\xE4ev"],M:["kuu aja","kuu aega","\xFCks kuu"],MM:["%d kuu","%d kuud"],y:["\xFChe aasta","aasta","\xFCks aasta"],yy:["%d aasta","%d aastat"]};return s?(u[_][2]?u[_][2]:u[_][1]).replace("%d",r):(d?u[_][0]:u[_][1]).replace("%d",r)}var e={name:"et",weekdays:"p\xFChap\xE4ev_esmasp\xE4ev_teisip\xE4ev_kolmap\xE4ev_neljap\xE4ev_reede_laup\xE4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),months:"jaanuar_veebruar_m\xE4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xE4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),ordinal:function(r){return r+"."},weekStart:1,relativeTime:{future:"%s p\xE4rast",past:"%s tagasi",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:"%d p\xE4eva",M:i,MM:i,y:i,yy:i},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"}};return a.default.locale(e,null,!0),e}))});var ai=v((_t,lt)=>{(function(n,t){typeof _t=="object"&&typeof lt<"u"?lt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fa=t(n.dayjs)})(_t,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"fa",weekdays:"\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06CC_\u062F_\u0633_\u0686_\u067E_\u062C_\u0634".split("_"),weekStart:6,months:"\u0698\u0627\u0646\u0648\u06CC\u0647_\u0641\u0648\u0631\u06CC\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06CC\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06CC\u0647_\u0627\u0648\u062A_\u0633\u067E\u062A\u0627\u0645\u0628\u0631_\u0627\u06A9\u062A\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062F\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06CC\u0647_\u0641\u0648\u0631\u06CC\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06CC\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06CC\u0647_\u0627\u0648\u062A_\u0633\u067E\u062A\u0627\u0645\u0628\u0631_\u0627\u06A9\u062A\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062F\u0633\u0627\u0645\u0628\u0631".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"\u062F\u0631 %s",past:"%s \u067E\u06CC\u0634",s:"\u0686\u0646\u062F \u062B\u0627\u0646\u06CC\u0647",m:"\u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647",mm:"%d \u062F\u0642\u06CC\u0642\u0647",h:"\u06CC\u06A9 \u0633\u0627\u0639\u062A",hh:"%d \u0633\u0627\u0639\u062A",d:"\u06CC\u06A9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06CC\u06A9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06CC\u06A9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"}};return a.default.locale(i,null,!0),i}))});var si=v((ft,mt)=>{(function(n,t){typeof ft=="object"&&typeof mt<"u"?mt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fi=t(n.dayjs)})(ft,(function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n);function i(r,s,_,d){var u={s:"muutama sekunti",m:"minuutti",mm:"%d minuuttia",h:"tunti",hh:"%d tuntia",d:"p\xE4iv\xE4",dd:"%d p\xE4iv\xE4\xE4",M:"kuukausi",MM:"%d kuukautta",y:"vuosi",yy:"%d vuotta",numbers:"nolla_yksi_kaksi_kolme_nelj\xE4_viisi_kuusi_seitsem\xE4n_kahdeksan_yhdeks\xE4n".split("_")},o={s:"muutaman sekunnin",m:"minuutin",mm:"%d minuutin",h:"tunnin",hh:"%d tunnin",d:"p\xE4iv\xE4n",dd:"%d p\xE4iv\xE4n",M:"kuukauden",MM:"%d kuukauden",y:"vuoden",yy:"%d vuoden",numbers:"nollan_yhden_kahden_kolmen_nelj\xE4n_viiden_kuuden_seitsem\xE4n_kahdeksan_yhdeks\xE4n".split("_")},f=d&&!s?o:u,l=f[_];return r<10?l.replace("%d",f.numbers[r]):l.replace("%d",r)}var e={name:"fi",weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xE4kuu_hein\xE4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xE4_hein\xE4_elo_syys_loka_marras_joulu".split("_"),ordinal:function(r){return r+"."},weekStart:1,yearStart:4,relativeTime:{future:"%s p\xE4\xE4st\xE4",past:"%s sitten",s:i,m:i,mm:i,h:i,hh:i,d:i,dd:i,M:i,MM:i,y:i,yy:i},formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM[ta] YYYY",LLL:"D. MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, D. MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"D. MMM YYYY",lll:"D. MMM YYYY, [klo] HH.mm",llll:"ddd, D. MMM YYYY, [klo] HH.mm"}};return a.default.locale(e,null,!0),e}))});var ui=v((ct,ht)=>{(function(n,t){typeof ct=="object"&&typeof ht<"u"?ht.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_fr=t(n.dayjs)})(ct,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"fr",weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),months:"janvier_f\xE9vrier_mars_avril_mai_juin_juillet_ao\xFBt_septembre_octobre_novembre_d\xE9cembre".split("_"),monthsShort:"janv._f\xE9vr._mars_avr._mai_juin_juil._ao\xFBt_sept._oct._nov._d\xE9c.".split("_"),weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(e){return""+e+(e===1?"er":"")}};return a.default.locale(i,null,!0),i}))});var di=v((Mt,Yt)=>{(function(n,t){typeof Mt=="object"&&typeof Yt<"u"?Yt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_he=t(n.dayjs)})(Mt,(function(n){"use strict";function t(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var a=t(n),i={s:"\u05DE\u05E1\u05E4\u05E8 \u05E9\u05E0\u05D9\u05D5\u05EA",ss:"%d \u05E9\u05E0\u05D9\u05D5\u05EA",m:"\u05D3\u05E7\u05D4",mm:"%d \u05D3\u05E7\u05D5\u05EA",h:"\u05E9\u05E2\u05D4",hh:"%d \u05E9\u05E2\u05D5\u05EA",hh2:"\u05E9\u05E2\u05EA\u05D9\u05D9\u05DD",d:"\u05D9\u05D5\u05DD",dd:"%d \u05D9\u05DE\u05D9\u05DD",dd2:"\u05D9\u05D5\u05DE\u05D9\u05D9\u05DD",M:"\u05D7\u05D5\u05D3\u05E9",MM:"%d \u05D7\u05D5\u05D3\u05E9\u05D9\u05DD",MM2:"\u05D7\u05D5\u05D3\u05E9\u05D9\u05D9\u05DD",y:"\u05E9\u05E0\u05D4",yy:"%d \u05E9\u05E0\u05D9\u05DD",yy2:"\u05E9\u05E0\u05EA\u05D9\u05D9\u05DD"};function e(s,_,d){return(i[d+(s===2?"2":"")]||i[d]).replace("%d",s)}var r={name:"he",weekdays:"\u05E8\u05D0\u05E9\u05D5\u05DF_\u05E9\u05E0\u05D9_\u05E9\u05DC\u05D9\u05E9\u05D9_\u05E8\u05D1\u05D9\u05E2\u05D9_\u05D7\u05DE\u05D9\u05E9\u05D9_\u05E9\u05D9\u05E9\u05D9_\u05E9\u05D1\u05EA".split("_"),weekdaysShort:"\u05D0\u05F3_\u05D1\u05F3_\u05D2\u05F3_\u05D3\u05F3_\u05D4\u05F3_\u05D5\u05F3_\u05E9\u05F3".split("_"),weekdaysMin:"\u05D0\u05F3_\u05D1\u05F3_\u05D2\u05F3_\u05D3\u05F3_\u05D4\u05F3_\u05D5_\u05E9\u05F3".split("_"),months:"\u05D9\u05E0\u05D5\u05D0\u05E8_\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8_\u05DE\u05E8\u05E5_\u05D0\u05E4\u05E8\u05D9\u05DC_\u05DE\u05D0\u05D9_\u05D9\u05D5\u05E0\u05D9_\u05D9\u05D5\u05DC\u05D9_\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8_\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8_\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8_\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8_\u05D3\u05E6\u05DE\u05D1\u05E8".split("_"),monthsShort:"\u05D9\u05E0\u05D5_\u05E4\u05D1\u05E8_\u05DE\u05E8\u05E5_\u05D0\u05E4\u05E8_\u05DE\u05D0\u05D9_\u05D9\u05D5\u05E0_\u05D9\u05D5\u05DC_\u05D0\u05D5\u05D2_\u05E1\u05E4\u05D8_\u05D0\u05D5\u05E7_\u05E0\u05D5\u05D1_\u05D3\u05E6\u05DE".split("_"),relativeTime:{future:"\u05D1\u05E2\u05D5\u05D3 %s",past:"\u05DC\u05E4\u05E0\u05D9 %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},ordinal:function(s){return s},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05D1]MMMM YYYY",LLL:"D [\u05D1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05D1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05D1]MMMM YYYY",LLL:"D [\u05D1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05D1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"}};return a.default.locale(r,null,!0),r}))});var oi=v((yt,pt)=>{(function(n,t){typeof yt=="object"&&typeof pt<"u"?pt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hi=t(n.dayjs)})(yt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"hi",weekdays:"\u0930\u0935\u093F\u0935\u093E\u0930_\u0938\u094B\u092E\u0935\u093E\u0930_\u092E\u0902\u0917\u0932\u0935\u093E\u0930_\u092C\u0941\u0927\u0935\u093E\u0930_\u0917\u0941\u0930\u0942\u0935\u093E\u0930_\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930_\u0936\u0928\u093F\u0935\u093E\u0930".split("_"),months:"\u091C\u0928\u0935\u0930\u0940_\u092B\u093C\u0930\u0935\u0930\u0940_\u092E\u093E\u0930\u094D\u091A_\u0905\u092A\u094D\u0930\u0948\u0932_\u092E\u0908_\u091C\u0942\u0928_\u091C\u0941\u0932\u093E\u0908_\u0905\u0917\u0938\u094D\u0924_\u0938\u093F\u0924\u092E\u094D\u092C\u0930_\u0905\u0915\u094D\u091F\u0942\u092C\u0930_\u0928\u0935\u092E\u094D\u092C\u0930_\u0926\u093F\u0938\u092E\u094D\u092C\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093F_\u0938\u094B\u092E_\u092E\u0902\u0917\u0932_\u092C\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094D\u0930_\u0936\u0928\u093F".split("_"),monthsShort:"\u091C\u0928._\u092B\u093C\u0930._\u092E\u093E\u0930\u094D\u091A_\u0905\u092A\u094D\u0930\u0948._\u092E\u0908_\u091C\u0942\u0928_\u091C\u0941\u0932._\u0905\u0917._\u0938\u093F\u0924._\u0905\u0915\u094D\u091F\u0942._\u0928\u0935._\u0926\u093F\u0938.".split("_"),weekdaysMin:"\u0930_\u0938\u094B_\u092E\u0902_\u092C\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),ordinal:function(e){return e},formats:{LT:"A h:mm \u092C\u091C\u0947",LTS:"A h:mm:ss \u092C\u091C\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092C\u091C\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092C\u091C\u0947"},relativeTime:{future:"%s \u092E\u0947\u0902",past:"%s \u092A\u0939\u0932\u0947",s:"\u0915\u0941\u091B \u0939\u0940 \u0915\u094D\u0937\u0923",m:"\u090F\u0915 \u092E\u093F\u0928\u091F",mm:"%d \u092E\u093F\u0928\u091F",h:"\u090F\u0915 \u0918\u0902\u091F\u093E",hh:"%d \u0918\u0902\u091F\u0947",d:"\u090F\u0915 \u0926\u093F\u0928",dd:"%d \u0926\u093F\u0928",M:"\u090F\u0915 \u092E\u0939\u0940\u0928\u0947",MM:"%d \u092E\u0939\u0940\u0928\u0947",y:"\u090F\u0915 \u0935\u0930\u094D\u0937",yy:"%d \u0935\u0930\u094D\u0937"}};return a.default.locale(i,null,!0),i}))});var _i=v((Lt,Dt)=>{(function(n,t){typeof Lt=="object"&&typeof Dt<"u"?Dt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hu=t(n.dayjs)})(Lt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"hu",weekdays:"vas\xE1rnap_h\xE9tf\u0151_kedd_szerda_cs\xFCt\xF6rt\xF6k_p\xE9ntek_szombat".split("_"),weekdaysShort:"vas_h\xE9t_kedd_sze_cs\xFCt_p\xE9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),months:"janu\xE1r_febru\xE1r_m\xE1rcius_\xE1prilis_m\xE1jus_j\xFAnius_j\xFAlius_augusztus_szeptember_okt\xF3ber_november_december".split("_"),monthsShort:"jan_feb_m\xE1rc_\xE1pr_m\xE1j_j\xFAn_j\xFAl_aug_szept_okt_nov_dec".split("_"),ordinal:function(e){return e+"."},weekStart:1,relativeTime:{future:"%s m\xFAlva",past:"%s",s:function(e,r,s,_){return"n\xE9h\xE1ny m\xE1sodperc"+(_||r?"":"e")},m:function(e,r,s,_){return"egy perc"+(_||r?"":"e")},mm:function(e,r,s,_){return e+" perc"+(_||r?"":"e")},h:function(e,r,s,_){return"egy "+(_||r?"\xF3ra":"\xF3r\xE1ja")},hh:function(e,r,s,_){return e+" "+(_||r?"\xF3ra":"\xF3r\xE1ja")},d:function(e,r,s,_){return"egy "+(_||r?"nap":"napja")},dd:function(e,r,s,_){return e+" "+(_||r?"nap":"napja")},M:function(e,r,s,_){return"egy "+(_||r?"h\xF3nap":"h\xF3napja")},MM:function(e,r,s,_){return e+" "+(_||r?"h\xF3nap":"h\xF3napja")},y:function(e,r,s,_){return"egy "+(_||r?"\xE9v":"\xE9ve")},yy:function(e,r,s,_){return e+" "+(_||r?"\xE9v":"\xE9ve")}},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"}};return a.default.locale(i,null,!0),i}))});var li=v((vt,gt)=>{(function(n,t){typeof vt=="object"&&typeof gt<"u"?gt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_hy_am=t(n.dayjs)})(vt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"hy-am",weekdays:"\u056F\u056B\u0580\u0561\u056F\u056B_\u0565\u0580\u056F\u0578\u0582\u0577\u0561\u0562\u0569\u056B_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056B_\u0570\u056B\u0576\u0563\u0577\u0561\u0562\u0569\u056B_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),months:"\u0570\u0578\u0582\u0576\u057E\u0561\u0580\u056B_\u0583\u0565\u057F\u0580\u057E\u0561\u0580\u056B_\u0574\u0561\u0580\u057F\u056B_\u0561\u057A\u0580\u056B\u056C\u056B_\u0574\u0561\u0575\u056B\u057D\u056B_\u0570\u0578\u0582\u0576\u056B\u057D\u056B_\u0570\u0578\u0582\u056C\u056B\u057D\u056B_\u0585\u0563\u0578\u057D\u057F\u0578\u057D\u056B_\u057D\u0565\u057A\u057F\u0565\u0574\u0562\u0565\u0580\u056B_\u0570\u0578\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056B_\u0564\u0565\u056F\u057F\u0565\u0574\u0562\u0565\u0580\u056B".split("_"),weekStart:1,weekdaysShort:"\u056F\u0580\u056F_\u0565\u0580\u056F_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),monthsShort:"\u0570\u0576\u057E_\u0583\u057F\u0580_\u0574\u0580\u057F_\u0561\u057A\u0580_\u0574\u0575\u057D_\u0570\u0576\u057D_\u0570\u056C\u057D_\u0585\u0563\u057D_\u057D\u057A\u057F_\u0570\u056F\u057F_\u0576\u0574\u0562_\u0564\u056F\u057F".split("_"),weekdaysMin:"\u056F\u0580\u056F_\u0565\u0580\u056F_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},relativeTime:{future:"%s \u0570\u0565\u057F\u0578",past:"%s \u0561\u057C\u0561\u057B",s:"\u0574\u056B \u0584\u0561\u0576\u056B \u057E\u0561\u0575\u0580\u056F\u0575\u0561\u0576",m:"\u0580\u0578\u057A\u0565",mm:"%d \u0580\u0578\u057A\u0565",h:"\u056A\u0561\u0574",hh:"%d \u056A\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056B\u057D",MM:"%d \u0561\u0574\u056B\u057D",y:"\u057F\u0561\u0580\u056B",yy:"%d \u057F\u0561\u0580\u056B"}};return a.default.locale(i,null,!0),i}))});var fi=v((bt,St)=>{(function(n,t){typeof bt=="object"&&typeof St<"u"?St.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_id=t(n.dayjs)})(bt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"id",weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i}))});var mi=v((kt,Ht)=>{(function(n,t){typeof kt=="object"&&typeof Ht<"u"?Ht.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_it=t(n.dayjs)})(kt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"it",weekdays:"domenica_luned\xEC_marted\xEC_mercoled\xEC_gioved\xEC_venerd\xEC_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),weekStart:1,monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"tra %s",past:"%s fa",s:"qualche secondo",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:function(e){return e+"\xBA"}};return a.default.locale(i,null,!0),i}))});var ci=v((jt,Tt)=>{(function(n,t){typeof jt=="object"&&typeof Tt<"u"?Tt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ja=t(n.dayjs)})(jt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ja",weekdays:"\u65E5\u66DC\u65E5_\u6708\u66DC\u65E5_\u706B\u66DC\u65E5_\u6C34\u66DC\u65E5_\u6728\u66DC\u65E5_\u91D1\u66DC\u65E5_\u571F\u66DC\u65E5".split("_"),weekdaysShort:"\u65E5_\u6708_\u706B_\u6C34_\u6728_\u91D1_\u571F".split("_"),weekdaysMin:"\u65E5_\u6708_\u706B_\u6C34_\u6728_\u91D1_\u571F".split("_"),months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e){return e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5(ddd) HH:mm"},meridiem:function(e){return e<12?"\u5348\u524D":"\u5348\u5F8C"},relativeTime:{future:"%s\u5F8C",past:"%s\u524D",s:"\u6570\u79D2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65E5",dd:"%d\u65E5",M:"1\u30F6\u6708",MM:"%d\u30F6\u6708",y:"1\u5E74",yy:"%d\u5E74"}};return a.default.locale(i,null,!0),i}))});var hi=v((wt,$t)=>{(function(n,t){typeof wt=="object"&&typeof $t<"u"?$t.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ka=t(n.dayjs)})(wt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ka",weekdays:"\u10D9\u10D5\u10D8\u10E0\u10D0_\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8_\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8_\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8".split("_"),weekdaysShort:"\u10D9\u10D5\u10D8_\u10DD\u10E0\u10E8_\u10E1\u10D0\u10DB_\u10DD\u10D7\u10EE_\u10EE\u10E3\u10D7_\u10DE\u10D0\u10E0_\u10E8\u10D0\u10D1".split("_"),weekdaysMin:"\u10D9\u10D5_\u10DD\u10E0_\u10E1\u10D0_\u10DD\u10D7_\u10EE\u10E3_\u10DE\u10D0_\u10E8\u10D0".split("_"),months:"\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8_\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8_\u10DB\u10D0\u10E0\u10E2\u10D8_\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8_\u10DB\u10D0\u10D8\u10E1\u10D8_\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8_\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8_\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD_\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8_\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8_\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8_\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8".split("_"),monthsShort:"\u10D8\u10D0\u10DC_\u10D7\u10D4\u10D1_\u10DB\u10D0\u10E0_\u10D0\u10DE\u10E0_\u10DB\u10D0\u10D8_\u10D8\u10D5\u10DC_\u10D8\u10D5\u10DA_\u10D0\u10D2\u10D5_\u10E1\u10D4\u10E5_\u10DD\u10E5\u10E2_\u10DC\u10DD\u10D4_\u10D3\u10D4\u10D9".split("_"),weekStart:1,formats:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},relativeTime:{future:"%s \u10E8\u10D4\u10DB\u10D3\u10D4\u10D2",past:"%s \u10EC\u10D8\u10DC",s:"\u10EC\u10D0\u10DB\u10D8",m:"\u10EC\u10E3\u10D7\u10D8",mm:"%d \u10EC\u10E3\u10D7\u10D8",h:"\u10E1\u10D0\u10D0\u10D7\u10D8",hh:"%d \u10E1\u10D0\u10D0\u10D7\u10D8\u10E1",d:"\u10D3\u10E6\u10D4\u10E1",dd:"%d \u10D3\u10E6\u10D8\u10E1 \u10D2\u10D0\u10DC\u10DB\u10D0\u10D5\u10DA\u10DD\u10D1\u10D0\u10E8\u10D8",M:"\u10D7\u10D5\u10D8\u10E1",MM:"%d \u10D7\u10D5\u10D8\u10E1",y:"\u10EC\u10D4\u10DA\u10D8",yy:"%d \u10EC\u10DA\u10D8\u10E1"},ordinal:function(e){return e}};return a.default.locale(i,null,!0),i}))});var Mi=v((Ct,Ot)=>{(function(n,t){typeof Ct=="object"&&typeof Ot<"u"?Ot.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_km=t(n.dayjs)})(Ct,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"km",weekdays:"\u17A2\u17B6\u1791\u17B7\u178F\u17D2\u1799_\u1785\u17D0\u1793\u17D2\u1791_\u17A2\u1784\u17D2\u1782\u17B6\u179A_\u1796\u17BB\u1792_\u1796\u17D2\u179A\u17A0\u179F\u17D2\u1794\u178F\u17B7\u17CD_\u179F\u17BB\u1780\u17D2\u179A_\u179F\u17C5\u179A\u17CD".split("_"),months:"\u1798\u1780\u179A\u17B6_\u1780\u17BB\u1798\u17D2\u1797\u17C8_\u1798\u17B8\u1793\u17B6_\u1798\u17C1\u179F\u17B6_\u17A7\u179F\u1797\u17B6_\u1798\u17B7\u1790\u17BB\u1793\u17B6_\u1780\u1780\u17D2\u1780\u178A\u17B6_\u179F\u17B8\u17A0\u17B6_\u1780\u1789\u17D2\u1789\u17B6_\u178F\u17BB\u179B\u17B6_\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6_\u1792\u17D2\u1793\u17BC".split("_"),weekStart:1,weekdaysShort:"\u17A2\u17B6_\u1785_\u17A2_\u1796_\u1796\u17D2\u179A_\u179F\u17BB_\u179F".split("_"),monthsShort:"\u1798\u1780\u179A\u17B6_\u1780\u17BB\u1798\u17D2\u1797\u17C8_\u1798\u17B8\u1793\u17B6_\u1798\u17C1\u179F\u17B6_\u17A7\u179F\u1797\u17B6_\u1798\u17B7\u1790\u17BB\u1793\u17B6_\u1780\u1780\u17D2\u1780\u178A\u17B6_\u179F\u17B8\u17A0\u17B6_\u1780\u1789\u17D2\u1789\u17B6_\u178F\u17BB\u179B\u17B6_\u179C\u17B7\u1785\u17D2\u1786\u17B7\u1780\u17B6_\u1792\u17D2\u1793\u17BC".split("_"),weekdaysMin:"\u17A2\u17B6_\u1785_\u17A2_\u1796_\u1796\u17D2\u179A_\u179F\u17BB_\u179F".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s\u1791\u17C0\u178F",past:"%s\u1798\u17BB\u1793",s:"\u1794\u17C9\u17BB\u1793\u17D2\u1798\u17B6\u1793\u179C\u17B7\u1793\u17B6\u1791\u17B8",m:"\u1798\u17BD\u1799\u1793\u17B6\u1791\u17B8",mm:"%d \u1793\u17B6\u1791\u17B8",h:"\u1798\u17BD\u1799\u1798\u17C9\u17C4\u1784",hh:"%d \u1798\u17C9\u17C4\u1784",d:"\u1798\u17BD\u1799\u1790\u17D2\u1784\u17C3",dd:"%d \u1790\u17D2\u1784\u17C3",M:"\u1798\u17BD\u1799\u1781\u17C2",MM:"%d \u1781\u17C2",y:"\u1798\u17BD\u1799\u1786\u17D2\u1793\u17B6\u17C6",yy:"%d \u1786\u17D2\u1793\u17B6\u17C6"}};return a.default.locale(i,null,!0),i}))});var Yi=v((zt,At)=>{(function(n,t){typeof zt=="object"&&typeof At<"u"?At.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_lt=t(n.dayjs)})(zt,(function(n){"use strict";function t(d){return d&&typeof d=="object"&&"default"in d?d:{default:d}}var a=t(n),i="sausio_vasario_kovo_baland\u017Eio_gegu\u017E\u0117s_bir\u017Eelio_liepos_rugpj\u016B\u010Dio_rugs\u0117jo_spalio_lapkri\u010Dio_gruod\u017Eio".split("_"),e="sausis_vasaris_kovas_balandis_gegu\u017E\u0117_bir\u017Eelis_liepa_rugpj\u016Btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),r=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,s=function(d,u){return r.test(u)?i[d.month()]:e[d.month()]};s.s=e,s.f=i;var _={name:"lt",weekdays:"sekmadienis_pirmadienis_antradienis_tre\u010Diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),weekdaysShort:"sek_pir_ant_tre_ket_pen_\u0161e\u0161".split("_"),weekdaysMin:"s_p_a_t_k_pn_\u0161".split("_"),months:s,monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),ordinal:function(d){return d+"."},weekStart:1,relativeTime:{future:"u\u017E %s",past:"prie\u0161 %s",s:"kelias sekundes",m:"minut\u0119",mm:"%d minutes",h:"valand\u0105",hh:"%d valandas",d:"dien\u0105",dd:"%d dienas",M:"m\u0117nes\u012F",MM:"%d m\u0117nesius",y:"metus",yy:"%d metus"},format:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"}};return a.default.locale(_,null,!0),_}))});var yi=v((qt,It)=>{(function(n,t){typeof qt=="object"&&typeof It<"u"?It.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_lv=t(n.dayjs)})(qt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"lv",weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),months:"janv\u0101ris_febru\u0101ris_marts_apr\u012Blis_maijs_j\u016Bnijs_j\u016Blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),weekStart:1,weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016Bn_j\u016Bl_aug_sep_okt_nov_dec".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:"da\u017E\u0101m sekund\u0113m",m:"min\u016Btes",mm:"%d min\u016Bt\u0113m",h:"stundas",hh:"%d stund\u0101m",d:"dienas",dd:"%d dien\u0101m",M:"m\u0113ne\u0161a",MM:"%d m\u0113ne\u0161iem",y:"gada",yy:"%d gadiem"}};return a.default.locale(i,null,!0),i}))});var pi=v((xt,Nt)=>{(function(n,t){typeof xt=="object"&&typeof Nt<"u"?Nt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ms=t(n.dayjs)})(xt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ms",weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekStart:1,formats:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH.mm",LLLL:"dddd, D MMMM YYYY HH.mm"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i}))});var Li=v((Ft,Et)=>{(function(n,t){typeof Ft=="object"&&typeof Et<"u"?Et.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_my=t(n.dayjs)})(Ft,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"my",weekdays:"\u1010\u1014\u1004\u103A\u1039\u1002\u1014\u103D\u1031_\u1010\u1014\u1004\u103A\u1039\u101C\u102C_\u1021\u1004\u103A\u1039\u1002\u102B_\u1017\u102F\u1012\u1039\u1013\u101F\u1030\u1038_\u1000\u103C\u102C\u101E\u1015\u1010\u1031\u1038_\u101E\u1031\u102C\u1000\u103C\u102C_\u1005\u1014\u1031".split("_"),months:"\u1007\u1014\u103A\u1014\u101D\u102B\u101B\u102E_\u1016\u1031\u1016\u1031\u102C\u103A\u101D\u102B\u101B\u102E_\u1019\u1010\u103A_\u1027\u1015\u103C\u102E_\u1019\u1031_\u1007\u103D\u1014\u103A_\u1007\u1030\u101C\u102D\u102F\u1004\u103A_\u101E\u103C\u1002\u102F\u1010\u103A_\u1005\u1000\u103A\u1010\u1004\u103A\u1018\u102C_\u1021\u1031\u102C\u1000\u103A\u1010\u102D\u102F\u1018\u102C_\u1014\u102D\u102F\u101D\u1004\u103A\u1018\u102C_\u1012\u102E\u1007\u1004\u103A\u1018\u102C".split("_"),weekStart:1,weekdaysShort:"\u1014\u103D\u1031_\u101C\u102C_\u1002\u102B_\u101F\u1030\u1038_\u1000\u103C\u102C_\u101E\u1031\u102C_\u1014\u1031".split("_"),monthsShort:"\u1007\u1014\u103A_\u1016\u1031_\u1019\u1010\u103A_\u1015\u103C\u102E_\u1019\u1031_\u1007\u103D\u1014\u103A_\u101C\u102D\u102F\u1004\u103A_\u101E\u103C_\u1005\u1000\u103A_\u1021\u1031\u102C\u1000\u103A_\u1014\u102D\u102F_\u1012\u102E".split("_"),weekdaysMin:"\u1014\u103D\u1031_\u101C\u102C_\u1002\u102B_\u101F\u1030\u1038_\u1000\u103C\u102C_\u101E\u1031\u102C_\u1014\u1031".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"\u101C\u102C\u1019\u100A\u103A\u1037 %s \u1019\u103E\u102C",past:"\u101C\u103D\u1014\u103A\u1001\u1032\u1037\u101E\u1031\u102C %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103A.\u1021\u1014\u100A\u103A\u1038\u1004\u101A\u103A",m:"\u1010\u1005\u103A\u1019\u102D\u1014\u1005\u103A",mm:"%d \u1019\u102D\u1014\u1005\u103A",h:"\u1010\u1005\u103A\u1014\u102C\u101B\u102E",hh:"%d \u1014\u102C\u101B\u102E",d:"\u1010\u1005\u103A\u101B\u1000\u103A",dd:"%d \u101B\u1000\u103A",M:"\u1010\u1005\u103A\u101C",MM:"%d \u101C",y:"\u1010\u1005\u103A\u1014\u103E\u1005\u103A",yy:"%d \u1014\u103E\u1005\u103A"}};return a.default.locale(i,null,!0),i}))});var Di=v((Jt,Ut)=>{(function(n,t){typeof Jt=="object"&&typeof Ut<"u"?Ut.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_nb=t(n.dayjs)})(Jt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"nb",weekdays:"s\xF8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xF8rdag".split("_"),weekdaysShort:"s\xF8._ma._ti._on._to._fr._l\xF8.".split("_"),weekdaysMin:"s\xF8_ma_ti_on_to_fr_l\xF8".split("_"),months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),ordinal:function(e){return e+"."},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xE5ned",MM:"%d m\xE5neder",y:"ett \xE5r",yy:"%d \xE5r"}};return a.default.locale(i,null,!0),i}))});var vi=v((Wt,Pt)=>{(function(n,t){typeof Wt=="object"&&typeof Pt<"u"?Pt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_nl=t(n.dayjs)})(Wt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"nl",weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),ordinal:function(e){return"["+e+(e===1||e===8||e>=20?"ste":"de")+"]"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"een minuut",mm:"%d minuten",h:"een uur",hh:"%d uur",d:"een dag",dd:"%d dagen",M:"een maand",MM:"%d maanden",y:"een jaar",yy:"%d jaar"}};return a.default.locale(i,null,!0),i}))});var gi=v((Gt,Rt)=>{(function(n,t){typeof Gt=="object"&&typeof Rt<"u"?Rt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pl=t(n.dayjs)})(Gt,(function(n){"use strict";function t(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var a=t(n);function i(o){return o%10<5&&o%10>1&&~~(o/10)%10!=1}function e(o,f,l){var m=o+" ";switch(l){case"m":return f?"minuta":"minut\u0119";case"mm":return m+(i(o)?"minuty":"minut");case"h":return f?"godzina":"godzin\u0119";case"hh":return m+(i(o)?"godziny":"godzin");case"MM":return m+(i(o)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return m+(i(o)?"lata":"lat")}}var r="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015Bnia_pa\u017Adziernika_listopada_grudnia".split("_"),s="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017Adziernik_listopad_grudzie\u0144".split("_"),_=/D MMMM/,d=function(o,f){return _.test(f)?r[o.month()]:s[o.month()]};d.s=s,d.f=r;var u={name:"pl",weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015Broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015Br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015Ar_Cz_Pt_So".split("_"),months:d,monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017A_lis_gru".split("_"),ordinal:function(o){return o+"."},weekStart:1,yearStart:4,relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:e,mm:e,h:e,hh:e,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:e,y:"rok",yy:e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"}};return a.default.locale(u,null,!0),u}))});var bi=v((Zt,Vt)=>{(function(n,t){typeof Zt=="object"&&typeof Vt<"u"?Vt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pt=t(n.dayjs)})(Zt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"pt",weekdays:"domingo_segunda-feira_ter\xE7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xE1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sab".split("_"),weekdaysMin:"Do_2\xAA_3\xAA_4\xAA_5\xAA_6\xAA_Sa".split("_"),months:"janeiro_fevereiro_mar\xE7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xBA"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xE0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xE0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xE1 %s",s:"alguns segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xEAs",MM:"%d meses",y:"um ano",yy:"%d anos"}};return a.default.locale(i,null,!0),i}))});var Si=v((Kt,Qt)=>{(function(n,t){typeof Kt=="object"&&typeof Qt<"u"?Qt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_pt_br=t(n.dayjs)})(Kt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"pt-br",weekdays:"domingo_segunda-feira_ter\xE7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xE1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xE1b".split("_"),weekdaysMin:"Do_2\xAA_3\xAA_4\xAA_5\xAA_6\xAA_S\xE1".split("_"),months:"janeiro_fevereiro_mar\xE7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),ordinal:function(e){return e+"\xBA"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xE0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xE0s] HH:mm"},relativeTime:{future:"em %s",past:"h\xE1 %s",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xEAs",MM:"%d meses",y:"um ano",yy:"%d anos"}};return a.default.locale(i,null,!0),i}))});var ki=v((Xt,Bt)=>{(function(n,t){typeof Xt=="object"&&typeof Bt<"u"?Bt.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ro=t(n.dayjs)})(Xt,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ro",weekdays:"Duminic\u0103_Luni_Mar\u021Bi_Miercuri_Joi_Vineri_S\xE2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xE2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xE2".split("_"),months:"Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),monthsShort:"Ian._Febr._Mart._Apr._Mai_Iun._Iul._Aug._Sept._Oct._Nov._Dec.".split("_"),weekStart:1,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"peste %s",past:"acum %s",s:"c\xE2teva secunde",m:"un minut",mm:"%d minute",h:"o or\u0103",hh:"%d ore",d:"o zi",dd:"%d zile",M:"o lun\u0103",MM:"%d luni",y:"un an",yy:"%d ani"},ordinal:function(e){return e}};return a.default.locale(i,null,!0),i}))});var Hi=v((en,tn)=>{(function(n,t){typeof en=="object"&&typeof tn<"u"?tn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ru=t(n.dayjs)})(en,(function(n){"use strict";function t(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var a=t(n),i="\u044F\u043D\u0432\u0430\u0440\u044F_\u0444\u0435\u0432\u0440\u0430\u043B\u044F_\u043C\u0430\u0440\u0442\u0430_\u0430\u043F\u0440\u0435\u043B\u044F_\u043C\u0430\u044F_\u0438\u044E\u043D\u044F_\u0438\u044E\u043B\u044F_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044F_\u043E\u043A\u0442\u044F\u0431\u0440\u044F_\u043D\u043E\u044F\u0431\u0440\u044F_\u0434\u0435\u043A\u0430\u0431\u0440\u044F".split("_"),e="\u044F\u043D\u0432\u0430\u0440\u044C_\u0444\u0435\u0432\u0440\u0430\u043B\u044C_\u043C\u0430\u0440\u0442_\u0430\u043F\u0440\u0435\u043B\u044C_\u043C\u0430\u0439_\u0438\u044E\u043D\u044C_\u0438\u044E\u043B\u044C_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043D\u0442\u044F\u0431\u0440\u044C_\u043E\u043A\u0442\u044F\u0431\u0440\u044C_\u043D\u043E\u044F\u0431\u0440\u044C_\u0434\u0435\u043A\u0430\u0431\u0440\u044C".split("_"),r="\u044F\u043D\u0432._\u0444\u0435\u0432\u0440._\u043C\u0430\u0440._\u0430\u043F\u0440._\u043C\u0430\u044F_\u0438\u044E\u043D\u044F_\u0438\u044E\u043B\u044F_\u0430\u0432\u0433._\u0441\u0435\u043D\u0442._\u043E\u043A\u0442._\u043D\u043E\u044F\u0431._\u0434\u0435\u043A.".split("_"),s="\u044F\u043D\u0432._\u0444\u0435\u0432\u0440._\u043C\u0430\u0440\u0442_\u0430\u043F\u0440._\u043C\u0430\u0439_\u0438\u044E\u043D\u044C_\u0438\u044E\u043B\u044C_\u0430\u0432\u0433._\u0441\u0435\u043D\u0442._\u043E\u043A\u0442._\u043D\u043E\u044F\u0431._\u0434\u0435\u043A.".split("_"),_=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function d(l,m,c){var y,D;return c==="m"?m?"\u043C\u0438\u043D\u0443\u0442\u0430":"\u043C\u0438\u043D\u0443\u0442\u0443":l+" "+(y=+l,D={mm:m?"\u043C\u0438\u043D\u0443\u0442\u0430_\u043C\u0438\u043D\u0443\u0442\u044B_\u043C\u0438\u043D\u0443\u0442":"\u043C\u0438\u043D\u0443\u0442\u0443_\u043C\u0438\u043D\u0443\u0442\u044B_\u043C\u0438\u043D\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043E\u0432",dd:"\u0434\u0435\u043D\u044C_\u0434\u043D\u044F_\u0434\u043D\u0435\u0439",MM:"\u043C\u0435\u0441\u044F\u0446_\u043C\u0435\u0441\u044F\u0446\u0430_\u043C\u0435\u0441\u044F\u0446\u0435\u0432",yy:"\u0433\u043E\u0434_\u0433\u043E\u0434\u0430_\u043B\u0435\u0442"}[c].split("_"),y%10==1&&y%100!=11?D[0]:y%10>=2&&y%10<=4&&(y%100<10||y%100>=20)?D[1]:D[2])}var u=function(l,m){return _.test(m)?i[l.month()]:e[l.month()]};u.s=e,u.f=i;var o=function(l,m){return _.test(m)?r[l.month()]:s[l.month()]};o.s=s,o.f=r;var f={name:"ru",weekdays:"\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435_\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A_\u0432\u0442\u043E\u0440\u043D\u0438\u043A_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043F\u044F\u0442\u043D\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u0432\u0441\u043A_\u043F\u043D\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043F\u0442\u043D_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u0432\u0441_\u043F\u043D_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043F\u0442_\u0441\u0431".split("_"),months:u,monthsShort:o,weekStart:1,yearStart:4,formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043D\u0430\u0437\u0430\u0434",s:"\u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u0435\u043A\u0443\u043D\u0434",m:d,mm:d,h:"\u0447\u0430\u0441",hh:d,d:"\u0434\u0435\u043D\u044C",dd:d,M:"\u043C\u0435\u0441\u044F\u0446",MM:d,y:"\u0433\u043E\u0434",yy:d},ordinal:function(l){return l},meridiem:function(l){return l<4?"\u043D\u043E\u0447\u0438":l<12?"\u0443\u0442\u0440\u0430":l<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u0435\u0440\u0430"}};return a.default.locale(f,null,!0),f}))});var ji=v((nn,rn)=>{(function(n,t){typeof nn=="object"&&typeof rn<"u"?rn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sl=t(n.dayjs)})(nn,(function(n){"use strict";function t(_){return _&&typeof _=="object"&&"default"in _?_:{default:_}}var a=t(n);function i(_){return _%100==2}function e(_){return _%100==3||_%100==4}function r(_,d,u,o){var f=_+" ";switch(u){case"s":return d||o?"nekaj sekund":"nekaj sekundami";case"m":return d?"ena minuta":"eno minuto";case"mm":return i(_)?f+(d||o?"minuti":"minutama"):e(_)?f+(d||o?"minute":"minutami"):f+(d||o?"minut":"minutami");case"h":return d?"ena ura":"eno uro";case"hh":return i(_)?f+(d||o?"uri":"urama"):e(_)?f+(d||o?"ure":"urami"):f+(d||o?"ur":"urami");case"d":return d||o?"en dan":"enim dnem";case"dd":return i(_)?f+(d||o?"dneva":"dnevoma"):f+(d||o?"dni":"dnevi");case"M":return d||o?"en mesec":"enim mesecem";case"MM":return i(_)?f+(d||o?"meseca":"mesecema"):e(_)?f+(d||o?"mesece":"meseci"):f+(d||o?"mesecev":"meseci");case"y":return d||o?"eno leto":"enim letom";case"yy":return i(_)?f+(d||o?"leti":"letoma"):e(_)?f+(d||o?"leta":"leti"):f+(d||o?"let":"leti")}}var s={name:"sl",weekdays:"nedelja_ponedeljek_torek_sreda_\u010Detrtek_petek_sobota".split("_"),months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),weekStart:1,weekdaysShort:"ned._pon._tor._sre._\u010Det._pet._sob.".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdaysMin:"ne_po_to_sr_\u010De_pe_so".split("_"),ordinal:function(_){return _+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm",l:"D. M. YYYY"},relativeTime:{future:"\u010Dez %s",past:"pred %s",s:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r}};return a.default.locale(s,null,!0),s}))});var Ti=v((an,sn)=>{(function(n,t){typeof an=="object"&&typeof sn<"u"?sn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sr_cyrl=t(n.dayjs)})(an,(function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n),i={words:{m:["\u0458\u0435\u0434\u0430\u043D \u043C\u0438\u043D\u0443\u0442","\u0458\u0435\u0434\u043D\u043E\u0433 \u043C\u0438\u043D\u0443\u0442\u0430"],mm:["%d \u043C\u0438\u043D\u0443\u0442","%d \u043C\u0438\u043D\u0443\u0442\u0430","%d \u043C\u0438\u043D\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043D \u0441\u0430\u0442","\u0458\u0435\u0434\u043D\u043E\u0433 \u0441\u0430\u0442\u0430"],hh:["%d \u0441\u0430\u0442","%d \u0441\u0430\u0442\u0430","%d \u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043D \u0434\u0430\u043D","\u0458\u0435\u0434\u043D\u043E\u0433 \u0434\u0430\u043D\u0430"],dd:["%d \u0434\u0430\u043D","%d \u0434\u0430\u043D\u0430","%d \u0434\u0430\u043D\u0430"],M:["\u0458\u0435\u0434\u0430\u043D \u043C\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043D\u043E\u0433 \u043C\u0435\u0441\u0435\u0446\u0430"],MM:["%d \u043C\u0435\u0441\u0435\u0446","%d \u043C\u0435\u0441\u0435\u0446\u0430","%d \u043C\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043D\u0443 \u0433\u043E\u0434\u0438\u043D\u0443","\u0458\u0435\u0434\u043D\u0435 \u0433\u043E\u0434\u0438\u043D\u0435"],yy:["%d \u0433\u043E\u0434\u0438\u043D\u0443","%d \u0433\u043E\u0434\u0438\u043D\u0435","%d \u0433\u043E\u0434\u0438\u043D\u0430"]},correctGrammarCase:function(r,s){return r%10>=1&&r%10<=4&&(r%100<10||r%100>=20)?r%10==1?s[0]:s[1]:s[2]},relativeTimeFormatter:function(r,s,_,d){var u=i.words[_];if(_.length===1)return _==="y"&&s?"\u0458\u0435\u0434\u043D\u0430 \u0433\u043E\u0434\u0438\u043D\u0430":d||s?u[0]:u[1];var o=i.correctGrammarCase(r,u);return _==="yy"&&s&&o==="%d \u0433\u043E\u0434\u0438\u043D\u0443"?r+" \u0433\u043E\u0434\u0438\u043D\u0430":o.replace("%d",r)}},e={name:"sr-cyrl",weekdays:"\u041D\u0435\u0434\u0435\u0459\u0430_\u041F\u043E\u043D\u0435\u0434\u0435\u0459\u0430\u043A_\u0423\u0442\u043E\u0440\u0430\u043A_\u0421\u0440\u0435\u0434\u0430_\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043A_\u041F\u0435\u0442\u0430\u043A_\u0421\u0443\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u041D\u0435\u0434._\u041F\u043E\u043D._\u0423\u0442\u043E._\u0421\u0440\u0435._\u0427\u0435\u0442._\u041F\u0435\u0442._\u0421\u0443\u0431.".split("_"),weekdaysMin:"\u043D\u0435_\u043F\u043E_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043F\u0435_\u0441\u0443".split("_"),months:"\u0408\u0430\u043D\u0443\u0430\u0440_\u0424\u0435\u0431\u0440\u0443\u0430\u0440_\u041C\u0430\u0440\u0442_\u0410\u043F\u0440\u0438\u043B_\u041C\u0430\u0458_\u0408\u0443\u043D_\u0408\u0443\u043B_\u0410\u0432\u0433\u0443\u0441\u0442_\u0421\u0435\u043F\u0442\u0435\u043C\u0431\u0430\u0440_\u041E\u043A\u0442\u043E\u0431\u0430\u0440_\u041D\u043E\u0432\u0435\u043C\u0431\u0430\u0440_\u0414\u0435\u0446\u0435\u043C\u0431\u0430\u0440".split("_"),monthsShort:"\u0408\u0430\u043D._\u0424\u0435\u0431._\u041C\u0430\u0440._\u0410\u043F\u0440._\u041C\u0430\u0458_\u0408\u0443\u043D_\u0408\u0443\u043B_\u0410\u0432\u0433._\u0421\u0435\u043F._\u041E\u043A\u0442._\u041D\u043E\u0432._\u0414\u0435\u0446.".split("_"),weekStart:1,relativeTime:{future:"\u0437\u0430 %s",past:"\u043F\u0440\u0435 %s",s:"\u043D\u0435\u043A\u043E\u043B\u0438\u043A\u043E \u0441\u0435\u043A\u0443\u043D\u0434\u0438",m:i.relativeTimeFormatter,mm:i.relativeTimeFormatter,h:i.relativeTimeFormatter,hh:i.relativeTimeFormatter,d:i.relativeTimeFormatter,dd:i.relativeTimeFormatter,M:i.relativeTimeFormatter,MM:i.relativeTimeFormatter,y:i.relativeTimeFormatter,yy:i.relativeTimeFormatter},ordinal:function(r){return r+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"}};return a.default.locale(e,null,!0),e}))});var wi=v((un,dn)=>{(function(n,t){typeof un=="object"&&typeof dn<"u"?dn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sr=t(n.dayjs)})(un,(function(n){"use strict";function t(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var a=t(n),i={words:{m:["jedan minut","jednog minuta"],mm:["%d minut","%d minuta","%d minuta"],h:["jedan sat","jednog sata"],hh:["%d sat","%d sata","%d sati"],d:["jedan dan","jednog dana"],dd:["%d dan","%d dana","%d dana"],M:["jedan mesec","jednog meseca"],MM:["%d mesec","%d meseca","%d meseci"],y:["jednu godinu","jedne godine"],yy:["%d godinu","%d godine","%d godina"]},correctGrammarCase:function(r,s){return r%10>=1&&r%10<=4&&(r%100<10||r%100>=20)?r%10==1?s[0]:s[1]:s[2]},relativeTimeFormatter:function(r,s,_,d){var u=i.words[_];if(_.length===1)return _==="y"&&s?"jedna godina":d||s?u[0]:u[1];var o=i.correctGrammarCase(r,u);return _==="yy"&&s&&o==="%d godinu"?r+" godina":o.replace("%d",r)}},e={name:"sr",weekdays:"Nedelja_Ponedeljak_Utorak_Sreda_\u010Cetvrtak_Petak_Subota".split("_"),weekdaysShort:"Ned._Pon._Uto._Sre._\u010Cet._Pet._Sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010De_pe_su".split("_"),months:"Januar_Februar_Mart_April_Maj_Jun_Jul_Avgust_Septembar_Oktobar_Novembar_Decembar".split("_"),monthsShort:"Jan._Feb._Mar._Apr._Maj_Jun_Jul_Avg._Sep._Okt._Nov._Dec.".split("_"),weekStart:1,relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:i.relativeTimeFormatter,mm:i.relativeTimeFormatter,h:i.relativeTimeFormatter,hh:i.relativeTimeFormatter,d:i.relativeTimeFormatter,dd:i.relativeTimeFormatter,M:i.relativeTimeFormatter,MM:i.relativeTimeFormatter,y:i.relativeTimeFormatter,yy:i.relativeTimeFormatter},ordinal:function(r){return r+"."},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"}};return a.default.locale(e,null,!0),e}))});var $i=v((on,_n)=>{(function(n,t){typeof on=="object"&&typeof _n<"u"?_n.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_sv=t(n.dayjs)})(on,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"sv",weekdays:"s\xF6ndag_m\xE5ndag_tisdag_onsdag_torsdag_fredag_l\xF6rdag".split("_"),weekdaysShort:"s\xF6n_m\xE5n_tis_ons_tor_fre_l\xF6r".split("_"),weekdaysMin:"s\xF6_m\xE5_ti_on_to_fr_l\xF6".split("_"),months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekStart:1,yearStart:4,ordinal:function(e){var r=e%10;return"["+e+(r===1||r===2?"a":"e")+"]"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},relativeTime:{future:"om %s",past:"f\xF6r %s sedan",s:"n\xE5gra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xE5nad",MM:"%d m\xE5nader",y:"ett \xE5r",yy:"%d \xE5r"}};return a.default.locale(i,null,!0),i}))});var Ci=v((ln,fn)=>{(function(n,t){typeof ln=="object"&&typeof fn<"u"?fn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_th=t(n.dayjs)})(ln,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"th",weekdays:"\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C_\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C_\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23_\u0E1E\u0E38\u0E18_\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35_\u0E28\u0E38\u0E01\u0E23\u0E4C_\u0E40\u0E2A\u0E32\u0E23\u0E4C".split("_"),weekdaysShort:"\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C_\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C_\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23_\u0E1E\u0E38\u0E18_\u0E1E\u0E24\u0E2B\u0E31\u0E2A_\u0E28\u0E38\u0E01\u0E23\u0E4C_\u0E40\u0E2A\u0E32\u0E23\u0E4C".split("_"),weekdaysMin:"\u0E2D\u0E32._\u0E08._\u0E2D._\u0E1E._\u0E1E\u0E24._\u0E28._\u0E2A.".split("_"),months:"\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21_\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C_\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21_\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19_\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21_\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19_\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21_\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21_\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19_\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21_\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19_\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21".split("_"),monthsShort:"\u0E21.\u0E04._\u0E01.\u0E1E._\u0E21\u0E35.\u0E04._\u0E40\u0E21.\u0E22._\u0E1E.\u0E04._\u0E21\u0E34.\u0E22._\u0E01.\u0E04._\u0E2A.\u0E04._\u0E01.\u0E22._\u0E15.\u0E04._\u0E1E.\u0E22._\u0E18.\u0E04.".split("_"),formats:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0E40\u0E27\u0E25\u0E32 H:mm",LLLL:"\u0E27\u0E31\u0E19dddd\u0E17\u0E35\u0E48 D MMMM YYYY \u0E40\u0E27\u0E25\u0E32 H:mm"},relativeTime:{future:"\u0E2D\u0E35\u0E01 %s",past:"%s\u0E17\u0E35\u0E48\u0E41\u0E25\u0E49\u0E27",s:"\u0E44\u0E21\u0E48\u0E01\u0E35\u0E48\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35",m:"1 \u0E19\u0E32\u0E17\u0E35",mm:"%d \u0E19\u0E32\u0E17\u0E35",h:"1 \u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07",hh:"%d \u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07",d:"1 \u0E27\u0E31\u0E19",dd:"%d \u0E27\u0E31\u0E19",M:"1 \u0E40\u0E14\u0E37\u0E2D\u0E19",MM:"%d \u0E40\u0E14\u0E37\u0E2D\u0E19",y:"1 \u0E1B\u0E35",yy:"%d \u0E1B\u0E35"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i}))});var Oi=v((mn,cn)=>{(function(n,t){typeof mn=="object"&&typeof cn<"u"?cn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_tr=t(n.dayjs)})(mn,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"tr",weekdays:"Pazar_Pazartesi_Sal\u0131_\xC7ar\u015Famba_Per\u015Fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xC7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xC7a_Pe_Cu_Ct".split("_"),months:"Ocak_\u015Eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011Fustos_Eyl\xFCl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015Eub_Mar_Nis_May_Haz_Tem_A\u011Fu_Eyl_Eki_Kas_Ara".split("_"),weekStart:1,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},relativeTime:{future:"%s sonra",past:"%s \xF6nce",s:"birka\xE7 saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xFCn",dd:"%d g\xFCn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e){return e+"."}};return a.default.locale(i,null,!0),i}))});var zi=v((hn,Mn)=>{(function(n,t){typeof hn=="object"&&typeof Mn<"u"?Mn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_uk=t(n.dayjs)})(hn,(function(n){"use strict";function t(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var a=t(n),i="\u0441\u0456\u0447\u043D\u044F_\u043B\u044E\u0442\u043E\u0433\u043E_\u0431\u0435\u0440\u0435\u0437\u043D\u044F_\u043A\u0432\u0456\u0442\u043D\u044F_\u0442\u0440\u0430\u0432\u043D\u044F_\u0447\u0435\u0440\u0432\u043D\u044F_\u043B\u0438\u043F\u043D\u044F_\u0441\u0435\u0440\u043F\u043D\u044F_\u0432\u0435\u0440\u0435\u0441\u043D\u044F_\u0436\u043E\u0432\u0442\u043D\u044F_\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043D\u044F".split("_"),e="\u0441\u0456\u0447\u0435\u043D\u044C_\u043B\u044E\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043D\u044C_\u043A\u0432\u0456\u0442\u0435\u043D\u044C_\u0442\u0440\u0430\u0432\u0435\u043D\u044C_\u0447\u0435\u0440\u0432\u0435\u043D\u044C_\u043B\u0438\u043F\u0435\u043D\u044C_\u0441\u0435\u0440\u043F\u0435\u043D\u044C_\u0432\u0435\u0440\u0435\u0441\u0435\u043D\u044C_\u0436\u043E\u0432\u0442\u0435\u043D\u044C_\u043B\u0438\u0441\u0442\u043E\u043F\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043D\u044C".split("_"),r=/D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;function s(u,o,f){var l,m;return f==="m"?o?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443":f==="h"?o?"\u0433\u043E\u0434\u0438\u043D\u0430":"\u0433\u043E\u0434\u0438\u043D\u0443":u+" "+(l=+u,m={ss:o?"\u0441\u0435\u043A\u0443\u043D\u0434\u0430_\u0441\u0435\u043A\u0443\u043D\u0434\u0438_\u0441\u0435\u043A\u0443\u043D\u0434":"\u0441\u0435\u043A\u0443\u043D\u0434\u0443_\u0441\u0435\u043A\u0443\u043D\u0434\u0438_\u0441\u0435\u043A\u0443\u043D\u0434",mm:o?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430_\u0445\u0432\u0438\u043B\u0438\u043D\u0438_\u0445\u0432\u0438\u043B\u0438\u043D":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443_\u0445\u0432\u0438\u043B\u0438\u043D\u0438_\u0445\u0432\u0438\u043B\u0438\u043D",hh:o?"\u0433\u043E\u0434\u0438\u043D\u0430_\u0433\u043E\u0434\u0438\u043D\u0438_\u0433\u043E\u0434\u0438\u043D":"\u0433\u043E\u0434\u0438\u043D\u0443_\u0433\u043E\u0434\u0438\u043D\u0438_\u0433\u043E\u0434\u0438\u043D",dd:"\u0434\u0435\u043D\u044C_\u0434\u043D\u0456_\u0434\u043D\u0456\u0432",MM:"\u043C\u0456\u0441\u044F\u0446\u044C_\u043C\u0456\u0441\u044F\u0446\u0456_\u043C\u0456\u0441\u044F\u0446\u0456\u0432",yy:"\u0440\u0456\u043A_\u0440\u043E\u043A\u0438_\u0440\u043E\u043A\u0456\u0432"}[f].split("_"),l%10==1&&l%100!=11?m[0]:l%10>=2&&l%10<=4&&(l%100<10||l%100>=20)?m[1]:m[2])}var _=function(u,o){return r.test(o)?i[u.month()]:e[u.month()]};_.s=e,_.f=i;var d={name:"uk",weekdays:"\u043D\u0435\u0434\u0456\u043B\u044F_\u043F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A_\u0432\u0456\u0432\u0442\u043E\u0440\u043E\u043A_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043F\u2019\u044F\u0442\u043D\u0438\u0446\u044F_\u0441\u0443\u0431\u043E\u0442\u0430".split("_"),weekdaysShort:"\u043D\u0434\u043B_\u043F\u043D\u0434_\u0432\u0442\u0440_\u0441\u0440\u0434_\u0447\u0442\u0432_\u043F\u0442\u043D_\u0441\u0431\u0442".split("_"),weekdaysMin:"\u043D\u0434_\u043F\u043D_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043F\u0442_\u0441\u0431".split("_"),months:_,monthsShort:"\u0441\u0456\u0447_\u043B\u044E\u0442_\u0431\u0435\u0440_\u043A\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043B\u0438\u043F_\u0441\u0435\u0440\u043F_\u0432\u0435\u0440_\u0436\u043E\u0432\u0442_\u043B\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekStart:1,relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043E\u043C\u0443",s:"\u0434\u0435\u043A\u0456\u043B\u044C\u043A\u0430 \u0441\u0435\u043A\u0443\u043D\u0434",m:s,mm:s,h:s,hh:s,d:"\u0434\u0435\u043D\u044C",dd:s,M:"\u043C\u0456\u0441\u044F\u0446\u044C",MM:s,y:"\u0440\u0456\u043A",yy:s},ordinal:function(u){return u},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"}};return a.default.locale(d,null,!0),d}))});var Ai=v((Yn,yn)=>{(function(n,t){typeof Yn=="object"&&typeof yn<"u"?yn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_ur=t(n.dayjs)})(Yn,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"ur",weekdays:"\u0627\u062A\u0648\u0627\u0631_\u067E\u06CC\u0631_\u0645\u0646\u06AF\u0644_\u0628\u062F\u06BE_\u062C\u0645\u0639\u0631\u0627\u062A_\u062C\u0645\u0639\u06C1_\u06C1\u0641\u062A\u06C1".split("_"),months:"\u062C\u0646\u0648\u0631\u06CC_\u0641\u0631\u0648\u0631\u06CC_\u0645\u0627\u0631\u0686_\u0627\u067E\u0631\u06CC\u0644_\u0645\u0626\u06CC_\u062C\u0648\u0646_\u062C\u0648\u0644\u0627\u0626\u06CC_\u0627\u06AF\u0633\u062A_\u0633\u062A\u0645\u0628\u0631_\u0627\u06A9\u062A\u0648\u0628\u0631_\u0646\u0648\u0645\u0628\u0631_\u062F\u0633\u0645\u0628\u0631".split("_"),weekStart:1,weekdaysShort:"\u0627\u062A\u0648\u0627\u0631_\u067E\u06CC\u0631_\u0645\u0646\u06AF\u0644_\u0628\u062F\u06BE_\u062C\u0645\u0639\u0631\u0627\u062A_\u062C\u0645\u0639\u06C1_\u06C1\u0641\u062A\u06C1".split("_"),monthsShort:"\u062C\u0646\u0648\u0631\u06CC_\u0641\u0631\u0648\u0631\u06CC_\u0645\u0627\u0631\u0686_\u0627\u067E\u0631\u06CC\u0644_\u0645\u0626\u06CC_\u062C\u0648\u0646_\u062C\u0648\u0644\u0627\u0626\u06CC_\u0627\u06AF\u0633\u062A_\u0633\u062A\u0645\u0628\u0631_\u0627\u06A9\u062A\u0648\u0628\u0631_\u0646\u0648\u0645\u0628\u0631_\u062F\u0633\u0645\u0628\u0631".split("_"),weekdaysMin:"\u0627\u062A\u0648\u0627\u0631_\u067E\u06CC\u0631_\u0645\u0646\u06AF\u0644_\u0628\u062F\u06BE_\u062C\u0645\u0639\u0631\u0627\u062A_\u062C\u0645\u0639\u06C1_\u06C1\u0641\u062A\u06C1".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060C D MMMM YYYY HH:mm"},relativeTime:{future:"%s \u0628\u0639\u062F",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062F \u0633\u06CC\u06A9\u0646\u0688",m:"\u0627\u06CC\u06A9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06CC\u06A9 \u06AF\u06BE\u0646\u0679\u06C1",hh:"%d \u06AF\u06BE\u0646\u0679\u06D2",d:"\u0627\u06CC\u06A9 \u062F\u0646",dd:"%d \u062F\u0646",M:"\u0627\u06CC\u06A9 \u0645\u0627\u06C1",MM:"%d \u0645\u0627\u06C1",y:"\u0627\u06CC\u06A9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"}};return a.default.locale(i,null,!0),i}))});var qi=v((pn,Ln)=>{(function(n,t){typeof pn=="object"&&typeof Ln<"u"?Ln.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_vi=t(n.dayjs)})(pn,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"vi",weekdays:"ch\u1EE7 nh\u1EADt_th\u1EE9 hai_th\u1EE9 ba_th\u1EE9 t\u01B0_th\u1EE9 n\u0103m_th\u1EE9 s\xE1u_th\u1EE9 b\u1EA3y".split("_"),months:"th\xE1ng 1_th\xE1ng 2_th\xE1ng 3_th\xE1ng 4_th\xE1ng 5_th\xE1ng 6_th\xE1ng 7_th\xE1ng 8_th\xE1ng 9_th\xE1ng 10_th\xE1ng 11_th\xE1ng 12".split("_"),weekStart:1,weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),ordinal:function(e){return e},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},relativeTime:{future:"%s t\u1EDBi",past:"%s tr\u01B0\u1EDBc",s:"v\xE0i gi\xE2y",m:"m\u1ED9t ph\xFAt",mm:"%d ph\xFAt",h:"m\u1ED9t gi\u1EDD",hh:"%d gi\u1EDD",d:"m\u1ED9t ng\xE0y",dd:"%d ng\xE0y",M:"m\u1ED9t th\xE1ng",MM:"%d th\xE1ng",y:"m\u1ED9t n\u0103m",yy:"%d n\u0103m"}};return a.default.locale(i,null,!0),i}))});var Ii=v((Dn,vn)=>{(function(n,t){typeof Dn=="object"&&typeof vn<"u"?vn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_cn=t(n.dayjs)})(Dn,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"zh-cn",weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u5468\u65E5_\u5468\u4E00_\u5468\u4E8C_\u5468\u4E09_\u5468\u56DB_\u5468\u4E94_\u5468\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e,r){return r==="W"?e+"\u5468":e+"\u65E5"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5Ah\u70B9mm\u5206",LLLL:"YYYY\u5E74M\u6708D\u65E5ddddAh\u70B9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5185",past:"%s\u524D",s:"\u51E0\u79D2",m:"1 \u5206\u949F",mm:"%d \u5206\u949F",h:"1 \u5C0F\u65F6",hh:"%d \u5C0F\u65F6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4E2A\u6708",MM:"%d \u4E2A\u6708",y:"1 \u5E74",yy:"%d \u5E74"},meridiem:function(e,r){var s=100*e+r;return s<600?"\u51CC\u6668":s<900?"\u65E9\u4E0A":s<1100?"\u4E0A\u5348":s<1300?"\u4E2D\u5348":s<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return a.default.locale(i,null,!0),i}))});var xi=v((gn,bn)=>{(function(n,t){typeof gn=="object"&&typeof bn<"u"?bn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_hk=t(n.dayjs)})(gn,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"zh-hk",months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u9031\u65E5_\u9031\u4E00_\u9031\u4E8C_\u9031\u4E09_\u9031\u56DB_\u9031\u4E94_\u9031\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),ordinal:function(e,r){return r==="W"?e+"\u9031":e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5167",past:"%s\u524D",s:"\u5E7E\u79D2",m:"\u4E00\u5206\u9418",mm:"%d \u5206\u9418",h:"\u4E00\u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"\u4E00\u5929",dd:"%d \u5929",M:"\u4E00\u500B\u6708",MM:"%d \u500B\u6708",y:"\u4E00\u5E74",yy:"%d \u5E74"},meridiem:function(e,r){var s=100*e+r;return s<600?"\u51CC\u6668":s<900?"\u65E9\u4E0A":s<1100?"\u4E0A\u5348":s<1300?"\u4E2D\u5348":s<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return a.default.locale(i,null,!0),i}))});var Ni=v((Sn,kn)=>{(function(n,t){typeof Sn=="object"&&typeof kn<"u"?kn.exports=t(k()):typeof define=="function"&&define.amd?define(["dayjs"],t):(n=typeof globalThis<"u"?globalThis:n||self).dayjs_locale_zh_tw=t(n.dayjs)})(Sn,(function(n){"use strict";function t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var a=t(n),i={name:"zh-tw",weekdays:"\u661F\u671F\u65E5_\u661F\u671F\u4E00_\u661F\u671F\u4E8C_\u661F\u671F\u4E09_\u661F\u671F\u56DB_\u661F\u671F\u4E94_\u661F\u671F\u516D".split("_"),weekdaysShort:"\u9031\u65E5_\u9031\u4E00_\u9031\u4E8C_\u9031\u4E09_\u9031\u56DB_\u9031\u4E94_\u9031\u516D".split("_"),weekdaysMin:"\u65E5_\u4E00_\u4E8C_\u4E09_\u56DB_\u4E94_\u516D".split("_"),months:"\u4E00\u6708_\u4E8C\u6708_\u4E09\u6708_\u56DB\u6708_\u4E94\u6708_\u516D\u6708_\u4E03\u6708_\u516B\u6708_\u4E5D\u6708_\u5341\u6708_\u5341\u4E00\u6708_\u5341\u4E8C\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),ordinal:function(e,r){return r==="W"?e+"\u9031":e+"\u65E5"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5E74M\u6708D\u65E5",LLL:"YYYY\u5E74M\u6708D\u65E5 HH:mm",LLLL:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5dddd HH:mm"},relativeTime:{future:"%s\u5167",past:"%s\u524D",s:"\u5E7E\u79D2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5C0F\u6642",hh:"%d \u5C0F\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500B\u6708",MM:"%d \u500B\u6708",y:"1 \u5E74",yy:"%d \u5E74"},meridiem:function(e,r){var s=100*e+r;return s<600?"\u51CC\u6668":s<900?"\u65E9\u4E0A":s<1100?"\u4E0A\u5348":s<1300?"\u4E2D\u5348":s<1800?"\u4E0B\u5348":"\u665A\u4E0A"}};return a.default.locale(i,null,!0),i}))});var jn=60,Tn=jn*60,wn=Tn*24,Xi=wn*7,se=1e3,ce=jn*se,ge=Tn*se,$n=wn*se,Cn=Xi*se,_e="millisecond",te="second",ne="minute",ie="hour",V="day",de="week",G="month",he="quarter",K="year",re="date",On="YYYY-MM-DDTHH:mm:ssZ",be="Invalid Date",zn=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,An=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;var In={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var a=["th","st","nd","rd"],i=t%100;return"["+t+(a[(i-20)%10]||a[i]||a[0])+"]"}};var Se=function(t,a,i){var e=String(t);return!e||e.length>=a?t:""+Array(a+1-e.length).join(i)+t},Bi=function(t){var a=-t.utcOffset(),i=Math.abs(a),e=Math.floor(i/60),r=i%60;return(a<=0?"+":"-")+Se(e,2,"0")+":"+Se(r,2,"0")},er=function n(t,a){if(t.date()1)return n(s[0])}else{var _=t.name;ue[_]=t,e=_}return!i&&e&&(le=e),e||!i&&le},E=function(t,a){if(ke(t))return t.clone();var i=typeof a=="object"?a:{};return i.date=t,i.args=arguments,new Ye(i)},rr=function(t,a){return E(t,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})},z=xn;z.l=Me;z.i=ke;z.w=rr;var ar=function(t){var a=t.date,i=t.utc;if(a===null)return new Date(NaN);if(z.u(a))return new Date;if(a instanceof Date)return new Date(a);if(typeof a=="string"&&!/Z$/i.test(a)){var e=a.match(zn);if(e){var r=e[2]-1||0,s=(e[7]||"0").substring(0,3);return i?new Date(Date.UTC(e[1],r,e[3]||1,e[4]||0,e[5]||0,e[6]||0,s)):new Date(e[1],r,e[3]||1,e[4]||0,e[5]||0,e[6]||0,s)}}return new Date(a)},Ye=(function(){function n(a){this.$L=Me(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[Nn]=!0}var t=n.prototype;return t.parse=function(i){this.$d=ar(i),this.init()},t.init=function(){var i=this.$d;this.$y=i.getFullYear(),this.$M=i.getMonth(),this.$D=i.getDate(),this.$W=i.getDay(),this.$H=i.getHours(),this.$m=i.getMinutes(),this.$s=i.getSeconds(),this.$ms=i.getMilliseconds()},t.$utils=function(){return z},t.isValid=function(){return this.$d.toString()!==be},t.isSame=function(i,e){var r=E(i);return this.startOf(e)<=r&&r<=this.endOf(e)},t.isAfter=function(i,e){return E(i){this.focusedDate??(this.focusedDate=(this.getDefaultFocusedDate()??O()).tz(_)),this.focusedMonth??(this.focusedMonth=this.focusedDate.month()),this.focusedYear??(this.focusedYear=this.focusedDate.year())});let d=this.getSelectedDate()??this.getDefaultFocusedDate()??O().tz(_).hour(0).minute(0).second(0);(this.getMaxDate()!==null&&d.isAfter(this.getMaxDate())||this.getMinDate()!==null&&d.isBefore(this.getMinDate()))&&(d=null),this.hour=d?.hour()??0,this.minute=d?.minute()??0,this.second=d?.second()??0,this.setDisplayText(),this.setMonths(),this.setDayLabels(),i&&this.$nextTick(()=>this.togglePanelVisibility(this.$refs.button)),this.$watch("focusedMonth",()=>{this.focusedMonth=+this.focusedMonth,this.focusedDate.month()!==this.focusedMonth&&(this.focusedDate=this.focusedDate.month(this.focusedMonth))}),this.$watch("focusedYear",()=>{if(this.focusedYear?.length>4&&(this.focusedYear=this.focusedYear.substring(0,4)),!this.focusedYear||this.focusedYear?.length!==4)return;let u=+this.focusedYear;Number.isInteger(u)||(u=O().tz(_).year(),this.focusedYear=u),this.focusedDate.year()!==u&&(this.focusedDate=this.focusedDate.year(u))}),this.$watch("focusedDate",()=>{let u=this.focusedDate.month(),o=this.focusedDate.year();this.focusedMonth!==u&&(this.focusedMonth=u),this.focusedYear!==o&&(this.focusedYear=o),this.setupDaysGrid()}),this.$watch("hour",()=>{let u=+this.hour;if(Number.isInteger(u)?u>23?this.hour=0:u<0?this.hour=23:this.hour=u:this.hour=0,this.isClearingState)return;let o=this.getSelectedDate()??this.focusedDate;this.setState(o.hour(this.hour??0))}),this.$watch("minute",()=>{let u=+this.minute;if(Number.isInteger(u)?u>59?this.minute=0:u<0?this.minute=59:this.minute=u:this.minute=0,this.isClearingState)return;let o=this.getSelectedDate()??this.focusedDate;this.setState(o.minute(this.minute??0))}),this.$watch("second",()=>{let u=+this.second;if(Number.isInteger(u)?u>59?this.second=0:u<0?this.second=59:this.second=u:this.second=0,this.isClearingState)return;let o=this.getSelectedDate()??this.focusedDate;this.setState(o.second(this.second??0))}),this.$watch("state",()=>{if(this.state===void 0)return;let u=this.getSelectedDate();if(u===null){this.clearState();return}this.getMaxDate()!==null&&u?.isAfter(this.getMaxDate())&&(u=null),this.getMinDate()!==null&&u?.isBefore(this.getMinDate())&&(u=null);let o=u?.hour()??0;this.hour!==o&&(this.hour=o);let f=u?.minute()??0;this.minute!==f&&(this.minute=f);let l=u?.second()??0;this.second!==l&&(this.second=l),this.setDisplayText()})},clearState(){this.isClearingState=!0,this.setState(null),this.hour=0,this.minute=0,this.second=0,this.$nextTick(()=>this.isClearingState=!1)},dateIsDisabled(d){return!!(this.$refs?.disabledDates&&JSON.parse(this.$refs.disabledDates.value??[]).some(u=>(u=O(u),u.isValid()?u.isSame(d,"day"):!1))||this.getMaxDate()&&d.isAfter(this.getMaxDate(),"day")||this.getMinDate()&&d.isBefore(this.getMinDate(),"day"))},dayIsDisabled(d){return this.focusedDate??(this.focusedDate=O().tz(_)),this.dateIsDisabled(this.focusedDate.date(d))},dayIsSelected(d){let u=this.getSelectedDate();return u===null?!1:(this.focusedDate??(this.focusedDate=O().tz(_)),u.date()===d&&u.month()===this.focusedDate.month()&&u.year()===this.focusedDate.year())},dayIsToday(d){let u=O().tz(_);return this.focusedDate??(this.focusedDate=u),u.date()===d&&u.month()===this.focusedDate.month()&&u.year()===this.focusedDate.year()},focusPreviousDay(){this.focusedDate??(this.focusedDate=O().tz(_)),this.focusedDate=this.focusedDate.subtract(1,"day")},focusPreviousWeek(){this.focusedDate??(this.focusedDate=O().tz(_)),this.focusedDate=this.focusedDate.subtract(1,"week")},focusNextDay(){this.focusedDate??(this.focusedDate=O().tz(_)),this.focusedDate=this.focusedDate.add(1,"day")},focusNextWeek(){this.focusedDate??(this.focusedDate=O().tz(_)),this.focusedDate=this.focusedDate.add(1,"week")},getDayLabels(){let d=O.weekdaysShort();return a===0?d:[...d.slice(a),...d.slice(0,a)]},getMaxDate(){let d=O(this.$refs.maxDate?.value);return d.isValid()?d:null},getMinDate(){let d=O(this.$refs.minDate?.value);return d.isValid()?d:null},getSelectedDate(){if(this.state===void 0||this.state===null)return null;let d=O(this.state);return d.isValid()?d:null},getDefaultFocusedDate(){if(this.defaultFocusedDate===null)return null;let d=O(this.defaultFocusedDate);return d.isValid()?d:null},togglePanelVisibility(){this.isOpen()||(this.focusedDate=this.getSelectedDate()??this.focusedDate??this.getMinDate()??O().tz(_),this.setupDaysGrid()),this.$refs.panel.toggle(this.$refs.button)},selectDate(d=null){d&&this.setFocusedDay(d),this.focusedDate??(this.focusedDate=O().tz(_)),this.setState(this.focusedDate),r&&this.togglePanelVisibility()},setDisplayText(){this.displayText=this.getSelectedDate()?this.getSelectedDate().format(t):""},setMonths(){this.months=O.months()},setDayLabels(){this.dayLabels=this.getDayLabels()},setupDaysGrid(){this.focusedDate??(this.focusedDate=O().tz(_)),this.emptyDaysInFocusedMonth=Array.from({length:this.focusedDate.date(8-a).day()},(d,u)=>u+1),this.daysInFocusedMonth=Array.from({length:this.focusedDate.daysInMonth()},(d,u)=>u+1)},setFocusedDay(d){this.focusedDate=(this.focusedDate??O().tz(_)).date(d)},setState(d){if(d===null){this.state=null,this.setDisplayText();return}this.dateIsDisabled(d)||(this.state=d.hour(this.hour??0).minute(this.minute??0).second(this.second??0).format("YYYY-MM-DD HH:mm:ss"),this.setDisplayText())},isOpen(){return this.$refs.panel?.style.display==="block"}}}var Fi={am:Gn(),ar:Rn(),bs:Zn(),ca:Vn(),ckb:Re(),cs:Qn(),cy:Xn(),da:Bn(),de:ei(),el:ti(),en:ni(),es:ii(),et:ri(),fa:ai(),fi:si(),fr:ui(),he:di(),hi:oi(),hu:_i(),hy:li(),id:fi(),it:mi(),ja:ci(),ka:hi(),km:Mi(),ku:Re(),lt:Yi(),lv:yi(),ms:pi(),my:Li(),nb:Di(),nl:vi(),pl:gi(),pt:bi(),pt_BR:Si(),ro:ki(),ru:Hi(),sl:ji(),sr_Cyrl:Ti(),sr_Latn:wi(),sv:$i(),th:Ci(),tr:Oi(),uk:zi(),ur:Ai(),vi:qi(),zh_CN:Ii(),zh_HK:xi(),zh_TW:Ni()};export{sr as default}; diff --git a/public/js/filament/forms/components/file-upload.js b/public/js/filament/forms/components/file-upload.js index 2ade04f13..a640dcadc 100644 --- a/public/js/filament/forms/components/file-upload.js +++ b/public/js/filament/forms/components/file-upload.js @@ -1,6 +1,6 @@ -var Go=Object.defineProperty;var Uo=(e,t)=>{for(var i in t)Go(e,i,{get:t[i],enumerable:!0})};var ea={};Uo(ea,{FileOrigin:()=>Pt,FileStatus:()=>pt,OptionTypes:()=>Ni,Status:()=>Kn,create:()=>dt,destroy:()=>ut,find:()=>Vi,getOptions:()=>Gi,parse:()=>Bi,registerPlugin:()=>_e,setOptions:()=>Ot,supported:()=>zi});var ko=e=>e instanceof HTMLElement,Ho=(e,t=[],i=[])=>{let a={...e},n=[],r=[],o=()=>({...a}),l=()=>{let p=[...n];return n.length=0,p},s=()=>{let p=[...r];r.length=0,p.forEach(({type:f,data:g})=>{u(f,g)})},u=(p,f,g)=>{if(g&&!document.hidden){r.push({type:p,data:f});return}m[p]&&m[p](f),n.push({type:p,data:f})},c=(p,...f)=>h[p]?h[p](...f):null,d={getState:o,processActionQueue:l,processDispatchQueue:s,dispatch:u,query:c},h={};t.forEach(p=>{h={...p(a),...h}});let m={};return i.forEach(p=>{m={...p(u,c,a),...m}}),d},Wo=(e,t,i)=>{if(typeof i=="function"){e[t]=i;return}Object.defineProperty(e,t,{...i})},te=(e,t)=>{for(let i in e)e.hasOwnProperty(i)&&t(i,e[i])},Ue=e=>{let t={};return te(e,i=>{Wo(t,i,e[i])}),t},ne=(e,t,i=null)=>{if(i===null)return e.getAttribute(t)||e.hasAttribute(t);e.setAttribute(t,i)},Yo="http://www.w3.org/2000/svg",$o=["svg","path"],wa=e=>$o.includes(e),ei=(e,t,i={})=>{typeof t=="object"&&(i=t,t=null);let a=wa(e)?document.createElementNS(Yo,e):document.createElement(e);return t&&(wa(e)?ne(a,"class",t):a.className=t),te(i,(n,r)=>{ne(a,n,r)}),a},qo=e=>(t,i)=>{typeof i<"u"&&e.children[i]?e.insertBefore(t,e.children[i]):e.appendChild(t)},jo=(e,t)=>(i,a)=>(typeof a<"u"?t.splice(a,0,i):t.push(i),i),Xo=(e,t)=>i=>(t.splice(t.indexOf(i),1),i.element.parentNode&&e.removeChild(i.element),i),Qo=(()=>typeof window<"u"&&typeof window.document<"u")(),un=()=>Qo,Zo=un()?ei("svg"):{},Ko="children"in Zo?e=>e.children.length:e=>e.childNodes.length,hn=(e,t,i,a)=>{let n=i[0]||e.left,r=i[1]||e.top,o=n+e.width,l=r+e.height*(a[1]||1),s={element:{...e},inner:{left:e.left,top:e.top,right:e.right,bottom:e.bottom},outer:{left:n,top:r,right:o,bottom:l}};return t.filter(u=>!u.isRectIgnored()).map(u=>u.rect).forEach(u=>{va(s.inner,{...u.inner}),va(s.outer,{...u.outer})}),Aa(s.inner),s.outer.bottom+=s.element.marginBottom,s.outer.right+=s.element.marginRight,Aa(s.outer),s},va=(e,t)=>{t.top+=e.top,t.right+=e.left,t.bottom+=e.top,t.left+=e.left,t.bottom>e.bottom&&(e.bottom=t.bottom),t.right>e.right&&(e.right=t.right)},Aa=e=>{e.width=e.right-e.left,e.height=e.bottom-e.top},$e=e=>typeof e=="number",Jo=(e,t,i,a=.001)=>Math.abs(e-t){let a=null,n=null,r=0,o=!1,u=Ue({interpolate:(c,d)=>{if(o)return;if(!($e(a)&&$e(n))){o=!0,r=0;return}let h=-(n-a)*e;r+=h/i,n+=r,r*=t,Jo(n,a,r)||d?(n=a,r=0,o=!0,u.onupdate(n),u.oncomplete(n)):u.onupdate(n)},target:{set:c=>{if($e(c)&&!$e(n)&&(n=c),a===null&&(a=c,n=c),a=c,n===a||typeof a>"u"){o=!0,r=0,u.onupdate(n),u.oncomplete(n);return}o=!1},get:()=>a},resting:{get:()=>o},onupdate:c=>{},oncomplete:c=>{}});return u};var tl=e=>e<.5?2*e*e:-1+(4-2*e)*e,il=({duration:e=500,easing:t=tl,delay:i=0}={})=>{let a=null,n,r,o=!0,l=!1,s=null,c=Ue({interpolate:(d,h)=>{o||s===null||(a===null&&(a=d),!(d-a=e||h?(n=1,r=l?0:1,c.onupdate(r*s),c.oncomplete(r*s),o=!0):(r=n/e,c.onupdate((n>=0?t(l?1-r:r):0)*s))))},target:{get:()=>l?0:s,set:d=>{if(s===null){s=d,c.onupdate(d),c.oncomplete(d);return}do},onupdate:d=>{},oncomplete:d=>{}});return c},La={spring:el,tween:il},al=(e,t,i)=>{let a=e[t]&&typeof e[t][i]=="object"?e[t][i]:e[t]||e,n=typeof a=="string"?a:a.type,r=typeof a=="object"?{...a}:{};return La[n]?La[n](r):null},Ui=(e,t,i,a=!1)=>{t=Array.isArray(t)?t:[t],t.forEach(n=>{e.forEach(r=>{let o=r,l=()=>i[r],s=u=>i[r]=u;typeof r=="object"&&(o=r.key,l=r.getter||l,s=r.setter||s),!(n[o]&&!a)&&(n[o]={get:l,set:s})})})},nl=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a})=>{let n={...t},r=[];return te(e,(o,l)=>{let s=al(l);if(!s)return;s.onupdate=c=>{t[o]=c},s.target=n[o],Ui([{key:o,setter:c=>{s.target!==c&&(s.target=c)},getter:()=>t[o]}],[i,a],t,!0),r.push(s)}),{write:o=>{let l=document.hidden,s=!0;return r.forEach(u=>{u.resting||(s=!1),u.interpolate(o,l)}),s},destroy:()=>{}}},rl=e=>(t,i)=>{e.addEventListener(t,i)},ol=e=>(t,i)=>{e.removeEventListener(t,i)},ll=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a,viewState:n,view:r})=>{let o=[],l=rl(r.element),s=ol(r.element);return a.on=(u,c)=>{o.push({type:u,fn:c}),l(u,c)},a.off=(u,c)=>{o.splice(o.findIndex(d=>d.type===u&&d.fn===c),1),s(u,c)},{write:()=>!0,destroy:()=>{o.forEach(u=>{s(u.type,u.fn)})}}},sl=({mixinConfig:e,viewProps:t,viewExternalAPI:i})=>{Ui(e,i,t)},me=e=>e!=null,cl={opacity:1,scaleX:1,scaleY:1,translateX:0,translateY:0,rotateX:0,rotateY:0,rotateZ:0,originX:0,originY:0},dl=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a,view:n})=>{let r={...t},o={};Ui(e,[i,a],t);let l=()=>[t.translateX||0,t.translateY||0],s=()=>[t.scaleX||0,t.scaleY||0],u=()=>n.rect?hn(n.rect,n.childViews,l(),s()):null;return i.rect={get:u},a.rect={get:u},e.forEach(c=>{t[c]=typeof r[c]>"u"?cl[c]:r[c]}),{write:()=>{if(ul(o,t))return hl(n.element,t),Object.assign(o,{...t}),!0},destroy:()=>{}}},ul=(e,t)=>{if(Object.keys(e).length!==Object.keys(t).length)return!0;for(let i in t)if(t[i]!==e[i])return!0;return!1},hl=(e,{opacity:t,perspective:i,translateX:a,translateY:n,scaleX:r,scaleY:o,rotateX:l,rotateY:s,rotateZ:u,originX:c,originY:d,width:h,height:m})=>{let p="",f="";(me(c)||me(d))&&(f+=`transform-origin: ${c||0}px ${d||0}px;`),me(i)&&(p+=`perspective(${i}px) `),(me(a)||me(n))&&(p+=`translate3d(${a||0}px, ${n||0}px, 0) `),(me(r)||me(o))&&(p+=`scale3d(${me(r)?r:1}, ${me(o)?o:1}, 1) `),me(u)&&(p+=`rotateZ(${u}rad) `),me(l)&&(p+=`rotateX(${l}rad) `),me(s)&&(p+=`rotateY(${s}rad) `),p.length&&(f+=`transform:${p};`),me(t)&&(f+=`opacity:${t};`,t===0&&(f+="visibility:hidden;"),t<1&&(f+="pointer-events:none;")),me(m)&&(f+=`height:${m}px;`),me(h)&&(f+=`width:${h}px;`);let g=e.elementCurrentStyle||"";(f.length!==g.length||f!==g)&&(e.style.cssText=f,e.elementCurrentStyle=f)},ml={styles:dl,listeners:ll,animations:nl,apis:sl},Ma=(e={},t={},i={})=>(t.layoutCalculated||(e.paddingTop=parseInt(i.paddingTop,10)||0,e.marginTop=parseInt(i.marginTop,10)||0,e.marginRight=parseInt(i.marginRight,10)||0,e.marginBottom=parseInt(i.marginBottom,10)||0,e.marginLeft=parseInt(i.marginLeft,10)||0,t.layoutCalculated=!0),e.left=t.offsetLeft||0,e.top=t.offsetTop||0,e.width=t.offsetWidth||0,e.height=t.offsetHeight||0,e.right=e.left+e.width,e.bottom=e.top+e.height,e.scrollTop=t.scrollTop,e.hidden=t.offsetParent===null,e),re=({tag:e="div",name:t=null,attributes:i={},read:a=()=>{},write:n=()=>{},create:r=()=>{},destroy:o=()=>{},filterFrameActionsForChild:l=(m,p)=>p,didCreateView:s=()=>{},didWriteView:u=()=>{},ignoreRect:c=!1,ignoreRectUpdate:d=!1,mixins:h=[]}={})=>(m,p={})=>{let f=ei(e,`filepond--${t}`,i),g=window.getComputedStyle(f,null),b=Ma(),E=null,I=!1,_=[],y=[],T={},v={},R=[n],S=[a],P=[o],x=()=>f,O=()=>_.concat(),z=()=>T,A=U=>(W,$)=>W(U,$),F=()=>E||(E=hn(b,_,[0,0],[1,1]),E),w=()=>g,L=()=>{E=null,_.forEach($=>$._read()),!(d&&b.width&&b.height)&&Ma(b,f,g);let W={root:X,props:p,rect:b};S.forEach($=>$(W))},C=(U,W,$)=>{let le=W.length===0;return R.forEach(J=>{J({props:p,root:X,actions:W,timestamp:U,shouldOptimize:$})===!1&&(le=!1)}),y.forEach(J=>{J.write(U)===!1&&(le=!1)}),_.filter(J=>!!J.element.parentNode).forEach(J=>{J._write(U,l(J,W),$)||(le=!1)}),_.forEach((J,G)=>{J.element.parentNode||(X.appendChild(J.element,G),J._read(),J._write(U,l(J,W),$),le=!1)}),I=le,u({props:p,root:X,actions:W,timestamp:U}),le},D=()=>{y.forEach(U=>U.destroy()),P.forEach(U=>{U({root:X,props:p})}),_.forEach(U=>U._destroy())},V={element:{get:x},style:{get:w},childViews:{get:O}},B={...V,rect:{get:F},ref:{get:z},is:U=>t===U,appendChild:qo(f),createChildView:A(m),linkView:U=>(_.push(U),U),unlinkView:U=>{_.splice(_.indexOf(U),1)},appendChildView:jo(f,_),removeChildView:Xo(f,_),registerWriter:U=>R.push(U),registerReader:U=>S.push(U),registerDestroyer:U=>P.push(U),invalidateLayout:()=>f.layoutCalculated=!1,dispatch:m.dispatch,query:m.query},j={element:{get:x},childViews:{get:O},rect:{get:F},resting:{get:()=>I},isRectIgnored:()=>c,_read:L,_write:C,_destroy:D},q={...V,rect:{get:()=>b}};Object.keys(h).sort((U,W)=>U==="styles"?1:W==="styles"?-1:0).forEach(U=>{let W=ml[U]({mixinConfig:h[U],viewProps:p,viewState:v,viewInternalAPI:B,viewExternalAPI:j,view:Ue(q)});W&&y.push(W)});let X=Ue(B);r({root:X,props:p});let ue=Ko(f);return _.forEach((U,W)=>{X.appendChild(U.element,ue+W)}),s(X),Ue(j)},pl=(e,t,i=60)=>{let a="__framePainter";if(window[a]){window[a].readers.push(e),window[a].writers.push(t);return}window[a]={readers:[e],writers:[t]};let n=window[a],r=1e3/i,o=null,l=null,s=null,u=null,c=()=>{document.hidden?(s=()=>window.setTimeout(()=>d(performance.now()),r),u=()=>window.clearTimeout(l)):(s=()=>window.requestAnimationFrame(d),u=()=>window.cancelAnimationFrame(l))};document.addEventListener("visibilitychange",()=>{u&&u(),c(),d(performance.now())});let d=h=>{l=s(d),o||(o=h);let m=h-o;m<=r||(o=h-m%r,n.readers.forEach(p=>p()),n.writers.forEach(p=>p(h)))};return c(),d(performance.now()),{pause:()=>{u(l)}}},fe=(e,t)=>({root:i,props:a,actions:n=[],timestamp:r,shouldOptimize:o})=>{n.filter(l=>e[l.type]).forEach(l=>e[l.type]({root:i,props:a,action:l.data,timestamp:r,shouldOptimize:o})),t&&t({root:i,props:a,actions:n,timestamp:r,shouldOptimize:o})},Oa=(e,t)=>t.parentNode.insertBefore(e,t),xa=(e,t)=>t.parentNode.insertBefore(e,t.nextSibling),ni=e=>Array.isArray(e),Ne=e=>e==null,fl=e=>e.trim(),ri=e=>""+e,gl=(e,t=",")=>Ne(e)?[]:ni(e)?e:ri(e).split(t).map(fl).filter(i=>i.length),mn=e=>typeof e=="boolean",pn=e=>mn(e)?e:e==="true",pe=e=>typeof e=="string",fn=e=>$e(e)?e:pe(e)?ri(e).replace(/[a-z]+/gi,""):0,Jt=e=>parseInt(fn(e),10),Pa=e=>parseFloat(fn(e)),mt=e=>$e(e)&&isFinite(e)&&Math.floor(e)===e,Da=(e,t=1e3)=>{if(mt(e))return e;let i=ri(e).trim();return/MB$/i.test(i)?(i=i.replace(/MB$i/,"").trim(),Jt(i)*t*t):/KB/i.test(i)?(i=i.replace(/KB$i/,"").trim(),Jt(i)*t):Jt(i)},qe=e=>typeof e=="function",El=e=>{let t=self,i=e.split("."),a=null;for(;a=i.shift();)if(t=t[a],!t)return null;return t},Fa={process:"POST",patch:"PATCH",revert:"DELETE",fetch:"GET",restore:"GET",load:"GET"},Tl=e=>{let t={};return t.url=pe(e)?e:e.url||"",t.timeout=e.timeout?parseInt(e.timeout,10):0,t.headers=e.headers?e.headers:{},te(Fa,i=>{t[i]=Il(i,e[i],Fa[i],t.timeout,t.headers)}),t.process=e.process||pe(e)||e.url?t.process:null,t.remove=e.remove||null,delete t.headers,t},Il=(e,t,i,a,n)=>{if(t===null)return null;if(typeof t=="function")return t;let r={url:i==="GET"||i==="PATCH"?`?${e}=`:"",method:i,headers:n,withCredentials:!1,timeout:a,onload:null,ondata:null,onerror:null};if(pe(t))return r.url=t,r;if(Object.assign(r,t),pe(r.headers)){let o=r.headers.split(/:(.+)/);r.headers={header:o[0],value:o[1]}}return r.withCredentials=pn(r.withCredentials),r},bl=e=>Tl(e),_l=e=>e===null,ce=e=>typeof e=="object"&&e!==null,Rl=e=>ce(e)&&pe(e.url)&&ce(e.process)&&ce(e.revert)&&ce(e.restore)&&ce(e.fetch),Li=e=>ni(e)?"array":_l(e)?"null":mt(e)?"int":/^[0-9]+ ?(?:GB|MB|KB)$/gi.test(e)?"bytes":Rl(e)?"api":typeof e,yl=e=>e.replace(/{\s*'/g,'{"').replace(/'\s*}/g,'"}').replace(/'\s*:/g,'":').replace(/:\s*'/g,':"').replace(/,\s*'/g,',"').replace(/'\s*,/g,'",'),Sl={array:gl,boolean:pn,int:e=>Li(e)==="bytes"?Da(e):Jt(e),number:Pa,float:Pa,bytes:Da,string:e=>qe(e)?e:ri(e),function:e=>El(e),serverapi:bl,object:e=>{try{return JSON.parse(yl(e))}catch{return null}}},wl=(e,t)=>Sl[t](e),gn=(e,t,i)=>{if(e===t)return e;let a=Li(e);if(a!==i){let n=wl(e,i);if(a=Li(n),n===null)throw`Trying to assign value with incorrect type to "${option}", allowed type: "${i}"`;e=n}return e},vl=(e,t)=>{let i=e;return{enumerable:!0,get:()=>i,set:a=>{i=gn(a,e,t)}}},Al=e=>{let t={};return te(e,i=>{let a=e[i];t[i]=vl(a[0],a[1])}),Ue(t)},Ll=e=>({items:[],listUpdateTimeout:null,itemUpdateTimeout:null,processingQueue:[],options:Al(e)}),oi=(e,t="-")=>e.split(/(?=[A-Z])/).map(i=>i.toLowerCase()).join(t),Ml=(e,t)=>{let i={};return te(t,a=>{i[a]={get:()=>e.getState().options[a],set:n=>{e.dispatch(`SET_${oi(a,"_").toUpperCase()}`,{value:n})}}}),i},Ol=e=>(t,i,a)=>{let n={};return te(e,r=>{let o=oi(r,"_").toUpperCase();n[`SET_${o}`]=l=>{try{a.options[r]=l.value}catch{}t(`DID_SET_${o}`,{value:a.options[r]})}}),n},xl=e=>t=>{let i={};return te(e,a=>{i[`GET_${oi(a,"_").toUpperCase()}`]=n=>t.options[a]}),i},Se={API:1,DROP:2,BROWSE:3,PASTE:4,NONE:5},ki=()=>Math.random().toString(36).substring(2,11),Hi=(e,t)=>e.splice(t,1),Pl=(e,t)=>{t?e():document.hidden?Promise.resolve(1).then(e):setTimeout(e,0)},li=()=>{let e=[],t=(a,n)=>{Hi(e,e.findIndex(r=>r.event===a&&(r.cb===n||!n)))},i=(a,n,r)=>{e.filter(o=>o.event===a).map(o=>o.cb).forEach(o=>Pl(()=>o(...n),r))};return{fireSync:(a,...n)=>{i(a,n,!0)},fire:(a,...n)=>{i(a,n,!1)},on:(a,n)=>{e.push({event:a,cb:n})},onOnce:(a,n)=>{e.push({event:a,cb:(...r)=>{t(a,n),n(...r)}})},off:t}},En=(e,t,i)=>{Object.getOwnPropertyNames(e).filter(a=>!i.includes(a)).forEach(a=>Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(e,a)))},Dl=["fire","process","revert","load","on","off","onOnce","retryLoad","extend","archive","archived","release","released","requestProcessing","freeze"],ge=e=>{let t={};return En(e,t,Dl),t},Fl=e=>{e.forEach((t,i)=>{t.released&&Hi(e,i)})},k={INIT:1,IDLE:2,PROCESSING_QUEUED:9,PROCESSING:3,PROCESSING_COMPLETE:5,PROCESSING_ERROR:6,PROCESSING_REVERT_ERROR:10,LOADING:7,LOAD_ERROR:8},se={INPUT:1,LIMBO:2,LOCAL:3},Tn=e=>/[^0-9]+/.exec(e),In=()=>Tn(1.1.toLocaleString())[0],Cl=()=>{let e=In(),t=1e3.toLocaleString(),i=1e3.toString();return t!==i?Tn(t)[0]:e==="."?",":"."},M={BOOLEAN:"boolean",INT:"int",NUMBER:"number",STRING:"string",ARRAY:"array",OBJECT:"object",FUNCTION:"function",ACTION:"action",SERVER_API:"serverapi",REGEX:"regex"},Wi=[],Le=(e,t,i)=>new Promise((a,n)=>{let r=Wi.filter(l=>l.key===e).map(l=>l.cb);if(r.length===0){a(t);return}let o=r.shift();r.reduce((l,s)=>l.then(u=>s(u,i)),o(t,i)).then(l=>a(l)).catch(l=>n(l))}),Je=(e,t,i)=>Wi.filter(a=>a.key===e).map(a=>a.cb(t,i)),zl=(e,t)=>Wi.push({key:e,cb:t}),Nl=e=>Object.assign(lt,e),ti=()=>({...lt}),Bl=e=>{te(e,(t,i)=>{lt[t]&&(lt[t][0]=gn(i,lt[t][0],lt[t][1]))})},lt={id:[null,M.STRING],name:["filepond",M.STRING],disabled:[!1,M.BOOLEAN],className:[null,M.STRING],required:[!1,M.BOOLEAN],captureMethod:[null,M.STRING],allowSyncAcceptAttribute:[!0,M.BOOLEAN],allowDrop:[!0,M.BOOLEAN],allowBrowse:[!0,M.BOOLEAN],allowPaste:[!0,M.BOOLEAN],allowMultiple:[!1,M.BOOLEAN],allowReplace:[!0,M.BOOLEAN],allowRevert:[!0,M.BOOLEAN],allowRemove:[!0,M.BOOLEAN],allowProcess:[!0,M.BOOLEAN],allowReorder:[!1,M.BOOLEAN],allowDirectoriesOnly:[!1,M.BOOLEAN],storeAsFile:[!1,M.BOOLEAN],forceRevert:[!1,M.BOOLEAN],maxFiles:[null,M.INT],checkValidity:[!1,M.BOOLEAN],itemInsertLocationFreedom:[!0,M.BOOLEAN],itemInsertLocation:["before",M.STRING],itemInsertInterval:[75,M.INT],dropOnPage:[!1,M.BOOLEAN],dropOnElement:[!0,M.BOOLEAN],dropValidation:[!1,M.BOOLEAN],ignoredFiles:[[".ds_store","thumbs.db","desktop.ini"],M.ARRAY],instantUpload:[!0,M.BOOLEAN],maxParallelUploads:[2,M.INT],allowMinimumUploadDuration:[!0,M.BOOLEAN],chunkUploads:[!1,M.BOOLEAN],chunkForce:[!1,M.BOOLEAN],chunkSize:[5e6,M.INT],chunkRetryDelays:[[500,1e3,3e3],M.ARRAY],server:[null,M.SERVER_API],fileSizeBase:[1e3,M.INT],labelFileSizeBytes:["bytes",M.STRING],labelFileSizeKilobytes:["KB",M.STRING],labelFileSizeMegabytes:["MB",M.STRING],labelFileSizeGigabytes:["GB",M.STRING],labelDecimalSeparator:[In(),M.STRING],labelThousandsSeparator:[Cl(),M.STRING],labelIdle:['Drag & Drop your files or Browse',M.STRING],labelInvalidField:["Field contains invalid files",M.STRING],labelFileWaitingForSize:["Waiting for size",M.STRING],labelFileSizeNotAvailable:["Size not available",M.STRING],labelFileCountSingular:["file in list",M.STRING],labelFileCountPlural:["files in list",M.STRING],labelFileLoading:["Loading",M.STRING],labelFileAdded:["Added",M.STRING],labelFileLoadError:["Error during load",M.STRING],labelFileRemoved:["Removed",M.STRING],labelFileRemoveError:["Error during remove",M.STRING],labelFileProcessing:["Uploading",M.STRING],labelFileProcessingComplete:["Upload complete",M.STRING],labelFileProcessingAborted:["Upload cancelled",M.STRING],labelFileProcessingError:["Error during upload",M.STRING],labelFileProcessingRevertError:["Error during revert",M.STRING],labelTapToCancel:["tap to cancel",M.STRING],labelTapToRetry:["tap to retry",M.STRING],labelTapToUndo:["tap to undo",M.STRING],labelButtonRemoveItem:["Remove",M.STRING],labelButtonAbortItemLoad:["Abort",M.STRING],labelButtonRetryItemLoad:["Retry",M.STRING],labelButtonAbortItemProcessing:["Cancel",M.STRING],labelButtonUndoItemProcessing:["Undo",M.STRING],labelButtonRetryItemProcessing:["Retry",M.STRING],labelButtonProcessItem:["Upload",M.STRING],iconRemove:['',M.STRING],iconProcess:['',M.STRING],iconRetry:['',M.STRING],iconUndo:['',M.STRING],iconDone:['',M.STRING],oninit:[null,M.FUNCTION],onwarning:[null,M.FUNCTION],onerror:[null,M.FUNCTION],onactivatefile:[null,M.FUNCTION],oninitfile:[null,M.FUNCTION],onaddfilestart:[null,M.FUNCTION],onaddfileprogress:[null,M.FUNCTION],onaddfile:[null,M.FUNCTION],onprocessfilestart:[null,M.FUNCTION],onprocessfileprogress:[null,M.FUNCTION],onprocessfileabort:[null,M.FUNCTION],onprocessfilerevert:[null,M.FUNCTION],onprocessfile:[null,M.FUNCTION],onprocessfiles:[null,M.FUNCTION],onremovefile:[null,M.FUNCTION],onpreparefile:[null,M.FUNCTION],onupdatefiles:[null,M.FUNCTION],onreorderfiles:[null,M.FUNCTION],beforeDropFile:[null,M.FUNCTION],beforeAddFile:[null,M.FUNCTION],beforeRemoveFile:[null,M.FUNCTION],beforePrepareFile:[null,M.FUNCTION],stylePanelLayout:[null,M.STRING],stylePanelAspectRatio:[null,M.STRING],styleItemPanelAspectRatio:[null,M.STRING],styleButtonRemoveItemPosition:["left",M.STRING],styleButtonProcessItemPosition:["right",M.STRING],styleLoadIndicatorPosition:["right",M.STRING],styleProgressIndicatorPosition:["right",M.STRING],styleButtonRemoveItemAlign:[!1,M.BOOLEAN],files:[[],M.ARRAY],credits:[["https://pqina.nl/","Powered by PQINA"],M.ARRAY]},je=(e,t)=>Ne(t)?e[0]||null:mt(t)?e[t]||null:(typeof t=="object"&&(t=t.id),e.find(i=>i.id===t)||null),bn=e=>{if(Ne(e))return e;if(/:/.test(e)){let t=e.split(":");return t[1]/t[0]}return parseFloat(e)},Me=e=>e.filter(t=>!t.archived),_n={EMPTY:0,IDLE:1,ERROR:2,BUSY:3,READY:4},qt=null,Vl=()=>{if(qt===null)try{let e=new DataTransfer;e.items.add(new File(["hello world"],"This_Works.txt"));let t=document.createElement("input");t.setAttribute("type","file"),t.files=e.files,qt=t.files.length===1}catch{qt=!1}return qt},Gl=[k.LOAD_ERROR,k.PROCESSING_ERROR,k.PROCESSING_REVERT_ERROR],Ul=[k.LOADING,k.PROCESSING,k.PROCESSING_QUEUED,k.INIT],kl=[k.PROCESSING_COMPLETE],Hl=e=>Gl.includes(e.status),Wl=e=>Ul.includes(e.status),Yl=e=>kl.includes(e.status),Ca=e=>ce(e.options.server)&&(ce(e.options.server.process)||qe(e.options.server.process)),$l=e=>({GET_STATUS:()=>{let t=Me(e.items),{EMPTY:i,ERROR:a,BUSY:n,IDLE:r,READY:o}=_n;return t.length===0?i:t.some(Hl)?a:t.some(Wl)?n:t.some(Yl)?o:r},GET_ITEM:t=>je(e.items,t),GET_ACTIVE_ITEM:t=>je(Me(e.items),t),GET_ACTIVE_ITEMS:()=>Me(e.items),GET_ITEMS:()=>e.items,GET_ITEM_NAME:t=>{let i=je(e.items,t);return i?i.filename:null},GET_ITEM_SIZE:t=>{let i=je(e.items,t);return i?i.fileSize:null},GET_STYLES:()=>Object.keys(e.options).filter(t=>/^style/.test(t)).map(t=>({name:t,value:e.options[t]})),GET_PANEL_ASPECT_RATIO:()=>/circle/.test(e.options.stylePanelLayout)?1:bn(e.options.stylePanelAspectRatio),GET_ITEM_PANEL_ASPECT_RATIO:()=>e.options.styleItemPanelAspectRatio,GET_ITEMS_BY_STATUS:t=>Me(e.items).filter(i=>i.status===t),GET_TOTAL_ITEMS:()=>Me(e.items).length,SHOULD_UPDATE_FILE_INPUT:()=>e.options.storeAsFile&&Vl()&&!Ca(e),IS_ASYNC:()=>Ca(e),GET_FILE_SIZE_LABELS:t=>({labelBytes:t("GET_LABEL_FILE_SIZE_BYTES")||void 0,labelKilobytes:t("GET_LABEL_FILE_SIZE_KILOBYTES")||void 0,labelMegabytes:t("GET_LABEL_FILE_SIZE_MEGABYTES")||void 0,labelGigabytes:t("GET_LABEL_FILE_SIZE_GIGABYTES")||void 0})}),ql=e=>{let t=Me(e.items).length;if(!e.options.allowMultiple)return t===0;let i=e.options.maxFiles;return i===null||tMath.max(Math.min(i,e),t),jl=(e,t,i)=>e.splice(t,0,i),Xl=(e,t,i)=>Ne(t)?null:typeof i>"u"?(e.push(t),t):(i=Rn(i,0,e.length),jl(e,i,t),t),Mi=e=>/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i.test(e),xt=e=>`${e}`.split("/").pop().split("?").shift(),si=e=>e.split(".").pop(),Ql=e=>{if(typeof e!="string")return"";let t=e.split("/").pop();return/svg/.test(t)?"svg":/zip|compressed/.test(t)?"zip":/plain/.test(t)?"txt":/msword/.test(t)?"doc":/[a-z]+/.test(t)?t==="jpeg"?"jpg":t:""},vt=(e,t="")=>(t+e).slice(-t.length),yn=(e=new Date)=>`${e.getFullYear()}-${vt(e.getMonth()+1,"00")}-${vt(e.getDate(),"00")}_${vt(e.getHours(),"00")}-${vt(e.getMinutes(),"00")}-${vt(e.getSeconds(),"00")}`,ht=(e,t,i=null,a=null)=>{let n=typeof i=="string"?e.slice(0,e.size,i):e.slice(0,e.size,e.type);return n.lastModifiedDate=new Date,e._relativePath&&(n._relativePath=e._relativePath),pe(t)||(t=yn()),t&&a===null&&si(t)?n.name=t:(a=a||Ql(n.type),n.name=t+(a?"."+a:"")),n},Zl=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,Sn=(e,t)=>{let i=Zl();if(i){let a=new i;return a.append(e),a.getBlob(t)}return new Blob([e],{type:t})},Kl=(e,t)=>{let i=new ArrayBuffer(e.length),a=new Uint8Array(i);for(let n=0;n(/^data:(.+);/.exec(e)||[])[1]||null,Jl=e=>e.split(",")[1].replace(/\s/g,""),es=e=>atob(Jl(e)),ts=e=>{let t=wn(e),i=es(e);return Kl(i,t)},is=(e,t,i)=>ht(ts(e),t,null,i),as=e=>{if(!/^content-disposition:/i.test(e))return null;let t=e.split(/filename=|filename\*=.+''/).splice(1).map(i=>i.trim().replace(/^["']|[;"']{0,2}$/g,"")).filter(i=>i.length);return t.length?decodeURI(t[t.length-1]):null},ns=e=>{if(/content-length:/i.test(e)){let t=e.match(/[0-9]+/)[0];return t?parseInt(t,10):null}return null},rs=e=>/x-content-transfer-id:/i.test(e)&&(e.split(":")[1]||"").trim()||null,Yi=e=>{let t={source:null,name:null,size:null},i=e.split(` -`);for(let a of i){let n=as(a);if(n){t.name=n;continue}let r=ns(a);if(r){t.size=r;continue}let o=rs(a);if(o){t.source=o;continue}}return t},os=e=>{let t={source:null,complete:!1,progress:0,size:null,timestamp:null,duration:0,request:null},i=()=>t.progress,a=()=>{t.request&&t.request.abort&&t.request.abort()},n=()=>{let l=t.source;o.fire("init",l),l instanceof File?o.fire("load",l):l instanceof Blob?o.fire("load",ht(l,l.name)):Mi(l)?o.fire("load",is(l)):r(l)},r=l=>{if(!e){o.fire("error",{type:"error",body:"Can't load URL",code:400});return}t.timestamp=Date.now(),t.request=e(l,s=>{t.duration=Date.now()-t.timestamp,t.complete=!0,s instanceof Blob&&(s=ht(s,s.name||xt(l))),o.fire("load",s instanceof Blob?s:s?s.body:null)},s=>{o.fire("error",typeof s=="string"?{type:"error",code:0,body:s}:s)},(s,u,c)=>{if(c&&(t.size=c),t.duration=Date.now()-t.timestamp,!s){t.progress=null;return}t.progress=u/c,o.fire("progress",t.progress)},()=>{o.fire("abort")},s=>{let u=Yi(typeof s=="string"?s:s.headers);o.fire("meta",{size:t.size||u.size,filename:u.name,source:u.source})})},o={...li(),setSource:l=>t.source=l,getProgress:i,abort:a,load:n};return o},za=e=>/GET|HEAD/.test(e),Xe=(e,t,i)=>{let a={onheaders:()=>{},onprogress:()=>{},onload:()=>{},ontimeout:()=>{},onerror:()=>{},onabort:()=>{},abort:()=>{n=!0,o.abort()}},n=!1,r=!1;i={method:"POST",headers:{},withCredentials:!1,...i},t=encodeURI(t),za(i.method)&&e&&(t=`${t}${encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))}`);let o=new XMLHttpRequest,l=za(i.method)?o:o.upload;return l.onprogress=s=>{n||a.onprogress(s.lengthComputable,s.loaded,s.total)},o.onreadystatechange=()=>{o.readyState<2||o.readyState===4&&o.status===0||r||(r=!0,a.onheaders(o))},o.onload=()=>{o.status>=200&&o.status<300?a.onload(o):a.onerror(o)},o.onerror=()=>a.onerror(o),o.onabort=()=>{n=!0,a.onabort()},o.ontimeout=()=>a.ontimeout(o),o.open(i.method,t,!0),mt(i.timeout)&&(o.timeout=i.timeout),Object.keys(i.headers).forEach(s=>{let u=unescape(encodeURIComponent(i.headers[s]));o.setRequestHeader(s,u)}),i.responseType&&(o.responseType=i.responseType),i.withCredentials&&(o.withCredentials=!0),o.send(e),a},ie=(e,t,i,a)=>({type:e,code:t,body:i,headers:a}),Qe=e=>t=>{e(ie("error",0,"Timeout",t.getAllResponseHeaders()))},Na=e=>/\?/.test(e),Mt=(...e)=>{let t="";return e.forEach(i=>{t+=Na(t)&&Na(i)?i.replace(/\?/,"&"):i}),t},Ri=(e="",t)=>{if(typeof t=="function")return t;if(!t||!pe(t.url))return null;let i=t.onload||(n=>n),a=t.onerror||(n=>null);return(n,r,o,l,s,u)=>{let c=Xe(n,Mt(e,t.url),{...t,responseType:"blob"});return c.onload=d=>{let h=d.getAllResponseHeaders(),m=Yi(h).name||xt(n);r(ie("load",d.status,t.method==="HEAD"?null:ht(i(d.response),m),h))},c.onerror=d=>{o(ie("error",d.status,a(d.response)||d.statusText,d.getAllResponseHeaders()))},c.onheaders=d=>{u(ie("headers",d.status,null,d.getAllResponseHeaders()))},c.ontimeout=Qe(o),c.onprogress=l,c.onabort=s,c}},Re={QUEUED:0,COMPLETE:1,PROCESSING:2,ERROR:3,WAITING:4},ls=(e,t,i,a,n,r,o,l,s,u,c)=>{let d=[],{chunkTransferId:h,chunkServer:m,chunkSize:p,chunkRetryDelays:f}=c,g={serverId:h,aborted:!1},b=t.ondata||(A=>A),E=t.onload||((A,F)=>F==="HEAD"?A.getResponseHeader("Upload-Offset"):A.response),I=t.onerror||(A=>null),_=A=>{let F=new FormData;ce(n)&&F.append(i,JSON.stringify(n));let w=typeof t.headers=="function"?t.headers(a,n):{...t.headers,"Upload-Length":a.size},L={...t,headers:w},C=Xe(b(F),Mt(e,t.url),L);C.onload=D=>A(E(D,L.method)),C.onerror=D=>o(ie("error",D.status,I(D.response)||D.statusText,D.getAllResponseHeaders())),C.ontimeout=Qe(o)},y=A=>{let F=Mt(e,m.url,g.serverId),L={headers:typeof t.headers=="function"?t.headers(g.serverId):{...t.headers},method:"HEAD"},C=Xe(null,F,L);C.onload=D=>A(E(D,L.method)),C.onerror=D=>o(ie("error",D.status,I(D.response)||D.statusText,D.getAllResponseHeaders())),C.ontimeout=Qe(o)},T=Math.floor(a.size/p);for(let A=0;A<=T;A++){let F=A*p,w=a.slice(F,F+p,"application/offset+octet-stream");d[A]={index:A,size:w.size,offset:F,data:w,file:a,progress:0,retries:[...f],status:Re.QUEUED,error:null,request:null,timeout:null}}let v=()=>r(g.serverId),R=A=>A.status===Re.QUEUED||A.status===Re.ERROR,S=A=>{if(g.aborted)return;if(A=A||d.find(R),!A){d.every(V=>V.status===Re.COMPLETE)&&v();return}A.status=Re.PROCESSING,A.progress=null;let F=m.ondata||(V=>V),w=m.onerror||(V=>null),L=Mt(e,m.url,g.serverId),C=typeof m.headers=="function"?m.headers(A):{...m.headers,"Content-Type":"application/offset+octet-stream","Upload-Offset":A.offset,"Upload-Length":a.size,"Upload-Name":a.name},D=A.request=Xe(F(A.data),L,{...m,headers:C});D.onload=()=>{A.status=Re.COMPLETE,A.request=null,O()},D.onprogress=(V,B,j)=>{A.progress=V?B:null,x()},D.onerror=V=>{A.status=Re.ERROR,A.request=null,A.error=w(V.response)||V.statusText,P(A)||o(ie("error",V.status,w(V.response)||V.statusText,V.getAllResponseHeaders()))},D.ontimeout=V=>{A.status=Re.ERROR,A.request=null,P(A)||Qe(o)(V)},D.onabort=()=>{A.status=Re.QUEUED,A.request=null,s()}},P=A=>A.retries.length===0?!1:(A.status=Re.WAITING,clearTimeout(A.timeout),A.timeout=setTimeout(()=>{S(A)},A.retries.shift()),!0),x=()=>{let A=d.reduce((w,L)=>w===null||L.progress===null?null:w+L.progress,0);if(A===null)return l(!1,0,0);let F=d.reduce((w,L)=>w+L.size,0);l(!0,A,F)},O=()=>{d.filter(F=>F.status===Re.PROCESSING).length>=1||S()},z=()=>{d.forEach(A=>{clearTimeout(A.timeout),A.request&&A.request.abort()})};return g.serverId?y(A=>{g.aborted||(d.filter(F=>F.offset{F.status=Re.COMPLETE,F.progress=F.size}),O())}):_(A=>{g.aborted||(u(A),g.serverId=A,O())}),{abort:()=>{g.aborted=!0,z()}}},ss=(e,t,i,a)=>(n,r,o,l,s,u,c)=>{if(!n)return;let d=a.chunkUploads,h=d&&n.size>a.chunkSize,m=d&&(h||a.chunkForce);if(n instanceof Blob&&m)return ls(e,t,i,n,r,o,l,s,u,c,a);let p=t.ondata||(y=>y),f=t.onload||(y=>y),g=t.onerror||(y=>null),b=typeof t.headers=="function"?t.headers(n,r)||{}:{...t.headers},E={...t,headers:b};var I=new FormData;ce(r)&&I.append(i,JSON.stringify(r)),(n instanceof Blob?[{name:null,file:n}]:n).forEach(y=>{I.append(i,y.file,y.name===null?y.file.name:`${y.name}${y.file.name}`)});let _=Xe(p(I),Mt(e,t.url),E);return _.onload=y=>{o(ie("load",y.status,f(y.response),y.getAllResponseHeaders()))},_.onerror=y=>{l(ie("error",y.status,g(y.response)||y.statusText,y.getAllResponseHeaders()))},_.ontimeout=Qe(l),_.onprogress=s,_.onabort=u,_},cs=(e="",t,i,a)=>typeof t=="function"?(...n)=>t(i,...n,a):!t||!pe(t.url)?null:ss(e,t,i,a),At=(e="",t)=>{if(typeof t=="function")return t;if(!t||!pe(t.url))return(n,r)=>r();let i=t.onload||(n=>n),a=t.onerror||(n=>null);return(n,r,o)=>{let l=Xe(n,e+t.url,t);return l.onload=s=>{r(ie("load",s.status,i(s.response),s.getAllResponseHeaders()))},l.onerror=s=>{o(ie("error",s.status,a(s.response)||s.statusText,s.getAllResponseHeaders()))},l.ontimeout=Qe(o),l}},vn=(e=0,t=1)=>e+Math.random()*(t-e),ds=(e,t=1e3,i=0,a=25,n=250)=>{let r=null,o=Date.now(),l=()=>{let s=Date.now()-o,u=vn(a,n);s+u>t&&(u=s+u-t);let c=s/t;if(c>=1||document.hidden){e(1);return}e(c),r=setTimeout(l,u)};return t>0&&l(),{clear:()=>{clearTimeout(r)}}},us=(e,t)=>{let i={complete:!1,perceivedProgress:0,perceivedPerformanceUpdater:null,progress:null,timestamp:null,perceivedDuration:0,duration:0,request:null,response:null},{allowMinimumUploadDuration:a}=t,n=(c,d)=>{let h=()=>{i.duration===0||i.progress===null||u.fire("progress",u.getProgress())},m=()=>{i.complete=!0,u.fire("load-perceived",i.response.body)};u.fire("start"),i.timestamp=Date.now(),i.perceivedPerformanceUpdater=ds(p=>{i.perceivedProgress=p,i.perceivedDuration=Date.now()-i.timestamp,h(),i.response&&i.perceivedProgress===1&&!i.complete&&m()},a?vn(750,1500):0),i.request=e(c,d,p=>{i.response=ce(p)?p:{type:"load",code:200,body:`${p}`,headers:{}},i.duration=Date.now()-i.timestamp,i.progress=1,u.fire("load",i.response.body),(!a||a&&i.perceivedProgress===1)&&m()},p=>{i.perceivedPerformanceUpdater.clear(),u.fire("error",ce(p)?p:{type:"error",code:0,body:`${p}`})},(p,f,g)=>{i.duration=Date.now()-i.timestamp,i.progress=p?f/g:null,h()},()=>{i.perceivedPerformanceUpdater.clear(),u.fire("abort",i.response?i.response.body:null)},p=>{u.fire("transfer",p)})},r=()=>{i.request&&(i.perceivedPerformanceUpdater.clear(),i.request.abort&&i.request.abort(),i.complete=!0)},o=()=>{r(),i.complete=!1,i.perceivedProgress=0,i.progress=0,i.timestamp=null,i.perceivedDuration=0,i.duration=0,i.request=null,i.response=null},l=a?()=>i.progress?Math.min(i.progress,i.perceivedProgress):null:()=>i.progress||null,s=a?()=>Math.min(i.duration,i.perceivedDuration):()=>i.duration,u={...li(),process:n,abort:r,getProgress:l,getDuration:s,reset:o};return u},An=e=>e.substring(0,e.lastIndexOf("."))||e,hs=e=>{let t=[e.name,e.size,e.type];return e instanceof Blob||Mi(e)?t[0]=e.name||yn():Mi(e)?(t[1]=e.length,t[2]=wn(e)):pe(e)&&(t[0]=xt(e),t[1]=0,t[2]="application/octet-stream"),{name:t[0],size:t[1],type:t[2]}},Ze=e=>!!(e instanceof File||e instanceof Blob&&e.name),Ln=e=>{if(!ce(e))return e;let t=ni(e)?[]:{};for(let i in e){if(!e.hasOwnProperty(i))continue;let a=e[i];t[i]=a&&ce(a)?Ln(a):a}return t},ms=(e=null,t=null,i=null)=>{let a=ki(),n={archived:!1,frozen:!1,released:!1,source:null,file:i,serverFileReference:t,transferId:null,processingAborted:!1,status:t?k.PROCESSING_COMPLETE:k.INIT,activeLoader:null,activeProcessor:null},r=null,o={},l=R=>n.status=R,s=(R,...S)=>{n.released||n.frozen||T.fire(R,...S)},u=()=>si(n.file.name),c=()=>n.file.type,d=()=>n.file.size,h=()=>n.file,m=(R,S,P)=>{if(n.source=R,T.fireSync("init"),n.file){T.fireSync("load-skip");return}n.file=hs(R),S.on("init",()=>{s("load-init")}),S.on("meta",x=>{n.file.size=x.size,n.file.filename=x.filename,x.source&&(e=se.LIMBO,n.serverFileReference=x.source,n.status=k.PROCESSING_COMPLETE),s("load-meta")}),S.on("progress",x=>{l(k.LOADING),s("load-progress",x)}),S.on("error",x=>{l(k.LOAD_ERROR),s("load-request-error",x)}),S.on("abort",()=>{l(k.INIT),s("load-abort")}),S.on("load",x=>{n.activeLoader=null;let O=A=>{n.file=Ze(A)?A:n.file,e===se.LIMBO&&n.serverFileReference?l(k.PROCESSING_COMPLETE):l(k.IDLE),s("load")},z=A=>{n.file=x,s("load-meta"),l(k.LOAD_ERROR),s("load-file-error",A)};if(n.serverFileReference){O(x);return}P(x,O,z)}),S.setSource(R),n.activeLoader=S,S.load()},p=()=>{n.activeLoader&&n.activeLoader.load()},f=()=>{if(n.activeLoader){n.activeLoader.abort();return}l(k.INIT),s("load-abort")},g=(R,S)=>{if(n.processingAborted){n.processingAborted=!1;return}if(l(k.PROCESSING),r=null,!(n.file instanceof Blob)){T.on("load",()=>{g(R,S)});return}R.on("load",O=>{n.transferId=null,n.serverFileReference=O}),R.on("transfer",O=>{n.transferId=O}),R.on("load-perceived",O=>{n.activeProcessor=null,n.transferId=null,n.serverFileReference=O,l(k.PROCESSING_COMPLETE),s("process-complete",O)}),R.on("start",()=>{s("process-start")}),R.on("error",O=>{n.activeProcessor=null,l(k.PROCESSING_ERROR),s("process-error",O)}),R.on("abort",O=>{n.activeProcessor=null,n.serverFileReference=O,l(k.IDLE),s("process-abort"),r&&r()}),R.on("progress",O=>{s("process-progress",O)});let P=O=>{n.archived||R.process(O,{...o})},x=console.error;S(n.file,P,x),n.activeProcessor=R},b=()=>{n.processingAborted=!1,l(k.PROCESSING_QUEUED)},E=()=>new Promise(R=>{if(!n.activeProcessor){n.processingAborted=!0,l(k.IDLE),s("process-abort"),R();return}r=()=>{R()},n.activeProcessor.abort()}),I=(R,S)=>new Promise((P,x)=>{let O=n.serverFileReference!==null?n.serverFileReference:n.transferId;if(O===null){P();return}R(O,()=>{n.serverFileReference=null,n.transferId=null,P()},z=>{if(!S){P();return}l(k.PROCESSING_REVERT_ERROR),s("process-revert-error"),x(z)}),l(k.IDLE),s("process-revert")}),_=(R,S,P)=>{let x=R.split("."),O=x[0],z=x.pop(),A=o;x.forEach(F=>A=A[F]),JSON.stringify(A[z])!==JSON.stringify(S)&&(A[z]=S,s("metadata-update",{key:O,value:o[O],silent:P}))},T={id:{get:()=>a},origin:{get:()=>e,set:R=>e=R},serverId:{get:()=>n.serverFileReference},transferId:{get:()=>n.transferId},status:{get:()=>n.status},filename:{get:()=>n.file.name},filenameWithoutExtension:{get:()=>An(n.file.name)},fileExtension:{get:u},fileType:{get:c},fileSize:{get:d},file:{get:h},relativePath:{get:()=>n.file._relativePath},source:{get:()=>n.source},getMetadata:R=>Ln(R?o[R]:o),setMetadata:(R,S,P)=>{if(ce(R)){let x=R;return Object.keys(x).forEach(O=>{_(O,x[O],S)}),R}return _(R,S,P),S},extend:(R,S)=>v[R]=S,abortLoad:f,retryLoad:p,requestProcessing:b,abortProcessing:E,load:m,process:g,revert:I,...li(),freeze:()=>n.frozen=!0,release:()=>n.released=!0,released:{get:()=>n.released},archive:()=>n.archived=!0,archived:{get:()=>n.archived},setFile:R=>n.file=R},v=Ue(T);return v},ps=(e,t)=>Ne(t)?0:pe(t)?e.findIndex(i=>i.id===t):-1,Ba=(e,t)=>{let i=ps(e,t);if(!(i<0))return e[i]||null},Va=(e,t,i,a,n,r)=>{let o=Xe(null,e,{method:"GET",responseType:"blob"});return o.onload=l=>{let s=l.getAllResponseHeaders(),u=Yi(s).name||xt(e);t(ie("load",l.status,ht(l.response,u),s))},o.onerror=l=>{i(ie("error",l.status,l.statusText,l.getAllResponseHeaders()))},o.onheaders=l=>{r(ie("headers",l.status,null,l.getAllResponseHeaders()))},o.ontimeout=Qe(i),o.onprogress=a,o.onabort=n,o},Ga=e=>(e.indexOf("//")===0&&(e=location.protocol+e),e.toLowerCase().replace("blob:","").replace(/([a-z])?:\/\//,"$1").split("/")[0]),fs=e=>(e.indexOf(":")>-1||e.indexOf("//")>-1)&&Ga(location.href)!==Ga(e),jt=e=>(...t)=>qe(e)?e(...t):e,gs=e=>!Ze(e.file),yi=(e,t)=>{clearTimeout(t.listUpdateTimeout),t.listUpdateTimeout=setTimeout(()=>{e("DID_UPDATE_ITEMS",{items:Me(t.items)})},0)},Ua=(e,...t)=>new Promise(i=>{if(!e)return i(!0);let a=e(...t);if(a==null)return i(!0);if(typeof a=="boolean")return i(a);typeof a.then=="function"&&a.then(i)}),Si=(e,t)=>{e.items.sort((i,a)=>t(ge(i),ge(a)))},ye=(e,t)=>({query:i,success:a=()=>{},failure:n=()=>{},...r}={})=>{let o=je(e.items,i);if(!o){n({error:ie("error",0,"Item not found"),file:null});return}t(o,a,n,r||{})},Es=(e,t,i)=>({ABORT_ALL:()=>{Me(i.items).forEach(a=>{a.freeze(),a.abortLoad(),a.abortProcessing()})},DID_SET_FILES:({value:a=[]})=>{let n=a.map(o=>({source:o.source?o.source:o,options:o.options})),r=Me(i.items);r.forEach(o=>{n.find(l=>l.source===o.source||l.source===o.file)||e("REMOVE_ITEM",{query:o,remove:!1})}),r=Me(i.items),n.forEach((o,l)=>{r.find(s=>s.source===o.source||s.file===o.source)||e("ADD_ITEM",{...o,interactionMethod:Se.NONE,index:l})})},DID_UPDATE_ITEM_METADATA:({id:a,action:n,change:r})=>{r.silent||(clearTimeout(i.itemUpdateTimeout),i.itemUpdateTimeout=setTimeout(()=>{let o=Ba(i.items,a);if(!t("IS_ASYNC")){Le("SHOULD_PREPARE_OUTPUT",!1,{item:o,query:t,action:n,change:r}).then(c=>{let d=t("GET_BEFORE_PREPARE_FILE");d&&(c=d(o,c)),c&&e("REQUEST_PREPARE_OUTPUT",{query:a,item:o,success:h=>{e("DID_PREPARE_OUTPUT",{id:a,file:h})}},!0)});return}o.origin===se.LOCAL&&e("DID_LOAD_ITEM",{id:o.id,error:null,serverFileReference:o.source});let l=()=>{setTimeout(()=>{e("REQUEST_ITEM_PROCESSING",{query:a})},32)},s=c=>{o.revert(At(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(c?l:()=>{}).catch(()=>{})},u=c=>{o.abortProcessing().then(c?l:()=>{})};if(o.status===k.PROCESSING_COMPLETE)return s(i.options.instantUpload);if(o.status===k.PROCESSING)return u(i.options.instantUpload);i.options.instantUpload&&l()},0))},MOVE_ITEM:({query:a,index:n})=>{let r=je(i.items,a);if(!r)return;let o=i.items.indexOf(r);n=Rn(n,0,i.items.length-1),o!==n&&i.items.splice(n,0,i.items.splice(o,1)[0])},SORT:({compare:a})=>{Si(i,a),e("DID_SORT_ITEMS",{items:t("GET_ACTIVE_ITEMS")})},ADD_ITEMS:({items:a,index:n,interactionMethod:r,success:o=()=>{},failure:l=()=>{}})=>{let s=n;if(n===-1||typeof n>"u"){let m=t("GET_ITEM_INSERT_LOCATION"),p=t("GET_TOTAL_ITEMS");s=m==="before"?0:p}let u=t("GET_IGNORED_FILES"),c=m=>Ze(m)?!u.includes(m.name.toLowerCase()):!Ne(m),h=a.filter(c).map(m=>new Promise((p,f)=>{e("ADD_ITEM",{interactionMethod:r,source:m.source||m,success:p,failure:f,index:s++,options:m.options||{}})}));Promise.all(h).then(o).catch(l)},ADD_ITEM:({source:a,index:n=-1,interactionMethod:r,success:o=()=>{},failure:l=()=>{},options:s={}})=>{if(Ne(a)){l({error:ie("error",0,"No source"),file:null});return}if(Ze(a)&&i.options.ignoredFiles.includes(a.name.toLowerCase()))return;if(!ql(i)){if(i.options.allowMultiple||!i.options.allowMultiple&&!i.options.allowReplace){let E=ie("warning",0,"Max files");e("DID_THROW_MAX_FILES",{source:a,error:E}),l({error:E,file:null});return}let b=Me(i.items)[0];if(b.status===k.PROCESSING_COMPLETE||b.status===k.PROCESSING_REVERT_ERROR){let E=t("GET_FORCE_REVERT");if(b.revert(At(i.options.server.url,i.options.server.revert),E).then(()=>{E&&e("ADD_ITEM",{source:a,index:n,interactionMethod:r,success:o,failure:l,options:s})}).catch(()=>{}),E)return}e("REMOVE_ITEM",{query:b.id})}let u=s.type==="local"?se.LOCAL:s.type==="limbo"?se.LIMBO:se.INPUT,c=ms(u,u===se.INPUT?null:a,s.file);Object.keys(s.metadata||{}).forEach(b=>{c.setMetadata(b,s.metadata[b])}),Je("DID_CREATE_ITEM",c,{query:t,dispatch:e});let d=t("GET_ITEM_INSERT_LOCATION");i.options.itemInsertLocationFreedom||(n=d==="before"?-1:i.items.length),Xl(i.items,c,n),qe(d)&&a&&Si(i,d);let h=c.id;c.on("init",()=>{e("DID_INIT_ITEM",{id:h})}),c.on("load-init",()=>{e("DID_START_ITEM_LOAD",{id:h})}),c.on("load-meta",()=>{e("DID_UPDATE_ITEM_META",{id:h})}),c.on("load-progress",b=>{e("DID_UPDATE_ITEM_LOAD_PROGRESS",{id:h,progress:b})}),c.on("load-request-error",b=>{let E=jt(i.options.labelFileLoadError)(b);if(b.code>=400&&b.code<500){e("DID_THROW_ITEM_INVALID",{id:h,error:b,status:{main:E,sub:`${b.code} (${b.body})`}}),l({error:b,file:ge(c)});return}e("DID_THROW_ITEM_LOAD_ERROR",{id:h,error:b,status:{main:E,sub:i.options.labelTapToRetry}})}),c.on("load-file-error",b=>{e("DID_THROW_ITEM_INVALID",{id:h,error:b.status,status:b.status}),l({error:b.status,file:ge(c)})}),c.on("load-abort",()=>{e("REMOVE_ITEM",{query:h})}),c.on("load-skip",()=>{c.on("metadata-update",b=>{Ze(c.file)&&e("DID_UPDATE_ITEM_METADATA",{id:h,change:b})}),e("COMPLETE_LOAD_ITEM",{query:h,item:c,data:{source:a,success:o}})}),c.on("load",()=>{let b=E=>{if(!E){e("REMOVE_ITEM",{query:h});return}c.on("metadata-update",I=>{e("DID_UPDATE_ITEM_METADATA",{id:h,change:I})}),Le("SHOULD_PREPARE_OUTPUT",!1,{item:c,query:t}).then(I=>{let _=t("GET_BEFORE_PREPARE_FILE");_&&(I=_(c,I));let y=()=>{e("COMPLETE_LOAD_ITEM",{query:h,item:c,data:{source:a,success:o}}),yi(e,i)};if(I){e("REQUEST_PREPARE_OUTPUT",{query:h,item:c,success:T=>{e("DID_PREPARE_OUTPUT",{id:h,file:T}),y()}},!0);return}y()})};Le("DID_LOAD_ITEM",c,{query:t,dispatch:e}).then(()=>{Ua(t("GET_BEFORE_ADD_FILE"),ge(c)).then(b)}).catch(E=>{if(!E||!E.error||!E.status)return b(!1);e("DID_THROW_ITEM_INVALID",{id:h,error:E.error,status:E.status})})}),c.on("process-start",()=>{e("DID_START_ITEM_PROCESSING",{id:h})}),c.on("process-progress",b=>{e("DID_UPDATE_ITEM_PROCESS_PROGRESS",{id:h,progress:b})}),c.on("process-error",b=>{e("DID_THROW_ITEM_PROCESSING_ERROR",{id:h,error:b,status:{main:jt(i.options.labelFileProcessingError)(b),sub:i.options.labelTapToRetry}})}),c.on("process-revert-error",b=>{e("DID_THROW_ITEM_PROCESSING_REVERT_ERROR",{id:h,error:b,status:{main:jt(i.options.labelFileProcessingRevertError)(b),sub:i.options.labelTapToRetry}})}),c.on("process-complete",b=>{e("DID_COMPLETE_ITEM_PROCESSING",{id:h,error:null,serverFileReference:b}),e("DID_DEFINE_VALUE",{id:h,value:b})}),c.on("process-abort",()=>{e("DID_ABORT_ITEM_PROCESSING",{id:h})}),c.on("process-revert",()=>{e("DID_REVERT_ITEM_PROCESSING",{id:h}),e("DID_DEFINE_VALUE",{id:h,value:null})}),e("DID_ADD_ITEM",{id:h,index:n,interactionMethod:r}),yi(e,i);let{url:m,load:p,restore:f,fetch:g}=i.options.server||{};c.load(a,os(u===se.INPUT?pe(a)&&fs(a)&&g?Ri(m,g):Va:u===se.LIMBO?Ri(m,f):Ri(m,p)),(b,E,I)=>{Le("LOAD_FILE",b,{query:t}).then(E).catch(I)})},REQUEST_PREPARE_OUTPUT:({item:a,success:n,failure:r=()=>{}})=>{let o={error:ie("error",0,"Item not found"),file:null};if(a.archived)return r(o);Le("PREPARE_OUTPUT",a.file,{query:t,item:a}).then(l=>{Le("COMPLETE_PREPARE_OUTPUT",l,{query:t,item:a}).then(s=>{if(a.archived)return r(o);n(s)})})},COMPLETE_LOAD_ITEM:({item:a,data:n})=>{let{success:r,source:o}=n,l=t("GET_ITEM_INSERT_LOCATION");if(qe(l)&&o&&Si(i,l),e("DID_LOAD_ITEM",{id:a.id,error:null,serverFileReference:a.origin===se.INPUT?null:o}),r(ge(a)),a.origin===se.LOCAL){e("DID_LOAD_LOCAL_ITEM",{id:a.id});return}if(a.origin===se.LIMBO){e("DID_COMPLETE_ITEM_PROCESSING",{id:a.id,error:null,serverFileReference:o}),e("DID_DEFINE_VALUE",{id:a.id,value:a.serverId||o});return}t("IS_ASYNC")&&i.options.instantUpload&&e("REQUEST_ITEM_PROCESSING",{query:a.id})},RETRY_ITEM_LOAD:ye(i,a=>{a.retryLoad()}),REQUEST_ITEM_PREPARE:ye(i,(a,n,r)=>{e("REQUEST_PREPARE_OUTPUT",{query:a.id,item:a,success:o=>{e("DID_PREPARE_OUTPUT",{id:a.id,file:o}),n({file:a,output:o})},failure:r},!0)}),REQUEST_ITEM_PROCESSING:ye(i,(a,n,r)=>{if(!(a.status===k.IDLE||a.status===k.PROCESSING_ERROR)){let l=()=>e("REQUEST_ITEM_PROCESSING",{query:a,success:n,failure:r}),s=()=>document.hidden?l():setTimeout(l,32);a.status===k.PROCESSING_COMPLETE||a.status===k.PROCESSING_REVERT_ERROR?a.revert(At(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(s).catch(()=>{}):a.status===k.PROCESSING&&a.abortProcessing().then(s);return}a.status!==k.PROCESSING_QUEUED&&(a.requestProcessing(),e("DID_REQUEST_ITEM_PROCESSING",{id:a.id}),e("PROCESS_ITEM",{query:a,success:n,failure:r},!0))}),PROCESS_ITEM:ye(i,(a,n,r)=>{let o=t("GET_MAX_PARALLEL_UPLOADS");if(t("GET_ITEMS_BY_STATUS",k.PROCESSING).length===o){i.processingQueue.push({id:a.id,success:n,failure:r});return}if(a.status===k.PROCESSING)return;let s=()=>{let c=i.processingQueue.shift();if(!c)return;let{id:d,success:h,failure:m}=c,p=je(i.items,d);if(!p||p.archived){s();return}e("PROCESS_ITEM",{query:d,success:h,failure:m},!0)};a.onOnce("process-complete",()=>{n(ge(a)),s();let c=i.options.server;if(i.options.instantUpload&&a.origin===se.LOCAL&&qe(c.remove)){let m=()=>{};a.origin=se.LIMBO,i.options.server.remove(a.source,m,m)}t("GET_ITEMS_BY_STATUS",k.PROCESSING_COMPLETE).length===i.items.length&&e("DID_COMPLETE_ITEM_PROCESSING_ALL")}),a.onOnce("process-error",c=>{r({error:c,file:ge(a)}),s()});let u=i.options;a.process(us(cs(u.server.url,u.server.process,u.name,{chunkTransferId:a.transferId,chunkServer:u.server.patch,chunkUploads:u.chunkUploads,chunkForce:u.chunkForce,chunkSize:u.chunkSize,chunkRetryDelays:u.chunkRetryDelays}),{allowMinimumUploadDuration:t("GET_ALLOW_MINIMUM_UPLOAD_DURATION")}),(c,d,h)=>{Le("PREPARE_OUTPUT",c,{query:t,item:a}).then(m=>{e("DID_PREPARE_OUTPUT",{id:a.id,file:m}),d(m)}).catch(h)})}),RETRY_ITEM_PROCESSING:ye(i,a=>{e("REQUEST_ITEM_PROCESSING",{query:a})}),REQUEST_REMOVE_ITEM:ye(i,a=>{Ua(t("GET_BEFORE_REMOVE_FILE"),ge(a)).then(n=>{n&&e("REMOVE_ITEM",{query:a})})}),RELEASE_ITEM:ye(i,a=>{a.release()}),REMOVE_ITEM:ye(i,(a,n,r,o)=>{let l=()=>{let u=a.id;Ba(i.items,u).archive(),e("DID_REMOVE_ITEM",{error:null,id:u,item:a}),yi(e,i),n(ge(a))},s=i.options.server;a.origin===se.LOCAL&&s&&qe(s.remove)&&o.remove!==!1?(e("DID_START_ITEM_REMOVE",{id:a.id}),s.remove(a.source,()=>l(),u=>{e("DID_THROW_ITEM_REMOVE_ERROR",{id:a.id,error:ie("error",0,u,null),status:{main:jt(i.options.labelFileRemoveError)(u),sub:i.options.labelTapToRetry}})})):((o.revert&&a.origin!==se.LOCAL&&a.serverId!==null||i.options.chunkUploads&&a.file.size>i.options.chunkSize||i.options.chunkUploads&&i.options.chunkForce)&&a.revert(At(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")),l())}),ABORT_ITEM_LOAD:ye(i,a=>{a.abortLoad()}),ABORT_ITEM_PROCESSING:ye(i,a=>{if(a.serverId){e("REVERT_ITEM_PROCESSING",{id:a.id});return}a.abortProcessing().then(()=>{i.options.instantUpload&&e("REMOVE_ITEM",{query:a.id})})}),REQUEST_REVERT_ITEM_PROCESSING:ye(i,a=>{if(!i.options.instantUpload){e("REVERT_ITEM_PROCESSING",{query:a});return}let n=l=>{l&&e("REVERT_ITEM_PROCESSING",{query:a})},r=t("GET_BEFORE_REMOVE_FILE");if(!r)return n(!0);let o=r(ge(a));if(o==null)return n(!0);if(typeof o=="boolean")return n(o);typeof o.then=="function"&&o.then(n)}),REVERT_ITEM_PROCESSING:ye(i,a=>{a.revert(At(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(()=>{(i.options.instantUpload||gs(a))&&e("REMOVE_ITEM",{query:a.id})}).catch(()=>{})}),SET_OPTIONS:({options:a})=>{let n=Object.keys(a),r=Ts.filter(l=>n.includes(l));[...r,...Object.keys(a).filter(l=>!r.includes(l))].forEach(l=>{e(`SET_${oi(l,"_").toUpperCase()}`,{value:a[l]})})}}),Ts=["server"],$i=e=>e,Be=e=>document.createElement(e),ae=(e,t)=>{let i=e.childNodes[0];i?t!==i.nodeValue&&(i.nodeValue=t):(i=document.createTextNode(t),e.appendChild(i))},ka=(e,t,i,a)=>{let n=(a%360-90)*Math.PI/180;return{x:e+i*Math.cos(n),y:t+i*Math.sin(n)}},Is=(e,t,i,a,n,r)=>{let o=ka(e,t,i,n),l=ka(e,t,i,a);return["M",o.x,o.y,"A",i,i,0,r,0,l.x,l.y].join(" ")},bs=(e,t,i,a,n)=>{let r=1;return n>a&&n-a<=.5&&(r=0),a>n&&a-n>=.5&&(r=0),Is(e,t,i,Math.min(.9999,a)*360,Math.min(.9999,n)*360,r)},_s=({root:e,props:t})=>{t.spin=!1,t.progress=0,t.opacity=0;let i=ei("svg");e.ref.path=ei("path",{"stroke-width":2,"stroke-linecap":"round"}),i.appendChild(e.ref.path),e.ref.svg=i,e.appendChild(i)},Rs=({root:e,props:t})=>{if(t.opacity===0)return;t.align&&(e.element.dataset.align=t.align);let i=parseInt(ne(e.ref.path,"stroke-width"),10),a=e.rect.element.width*.5,n=0,r=0;t.spin?(n=0,r=.5):(n=0,r=t.progress);let o=bs(a,a,a-i,n,r);ne(e.ref.path,"d",o),ne(e.ref.path,"stroke-opacity",t.spin||t.progress>0?1:0)},Ha=re({tag:"div",name:"progress-indicator",ignoreRectUpdate:!0,ignoreRect:!0,create:_s,write:Rs,mixins:{apis:["progress","spin","align"],styles:["opacity"],animations:{opacity:{type:"tween",duration:500},progress:{type:"spring",stiffness:.95,damping:.65,mass:10}}}}),ys=({root:e,props:t})=>{e.element.innerHTML=(t.icon||"")+`${t.label}`,t.isDisabled=!1},Ss=({root:e,props:t})=>{let{isDisabled:i}=t,a=e.query("GET_DISABLED")||t.opacity===0;a&&!i?(t.isDisabled=!0,ne(e.element,"disabled","disabled")):!a&&i&&(t.isDisabled=!1,e.element.removeAttribute("disabled"))},Mn=re({tag:"button",attributes:{type:"button"},ignoreRect:!0,ignoreRectUpdate:!0,name:"file-action-button",mixins:{apis:["label"],styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}},listeners:!0},create:ys,write:Ss}),On=(e,t=".",i=1e3,a={})=>{let{labelBytes:n="bytes",labelKilobytes:r="KB",labelMegabytes:o="MB",labelGigabytes:l="GB"}=a;e=Math.round(Math.abs(e));let s=i,u=i*i,c=i*i*i;return ee.toFixed(t).split(".").filter(a=>a!=="0").join(i),ws=({root:e,props:t})=>{let i=Be("span");i.className="filepond--file-info-main",ne(i,"aria-hidden","true"),e.appendChild(i),e.ref.fileName=i;let a=Be("span");a.className="filepond--file-info-sub",e.appendChild(a),e.ref.fileSize=a,ae(a,e.query("GET_LABEL_FILE_WAITING_FOR_SIZE")),ae(i,$i(e.query("GET_ITEM_NAME",t.id)))},Oi=({root:e,props:t})=>{ae(e.ref.fileSize,On(e.query("GET_ITEM_SIZE",t.id),".",e.query("GET_FILE_SIZE_BASE"),e.query("GET_FILE_SIZE_LABELS",e.query))),ae(e.ref.fileName,$i(e.query("GET_ITEM_NAME",t.id)))},Ya=({root:e,props:t})=>{if(mt(e.query("GET_ITEM_SIZE",t.id))){Oi({root:e,props:t});return}ae(e.ref.fileSize,e.query("GET_LABEL_FILE_SIZE_NOT_AVAILABLE"))},vs=re({name:"file-info",ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:Oi,DID_UPDATE_ITEM_META:Oi,DID_THROW_ITEM_LOAD_ERROR:Ya,DID_THROW_ITEM_INVALID:Ya}),didCreateView:e=>{Je("CREATE_VIEW",{...e,view:e})},create:ws,mixins:{styles:["translateX","translateY"],animations:{translateX:"spring",translateY:"spring"}}}),xn=e=>Math.round(e*100),As=({root:e})=>{let t=Be("span");t.className="filepond--file-status-main",e.appendChild(t),e.ref.main=t;let i=Be("span");i.className="filepond--file-status-sub",e.appendChild(i),e.ref.sub=i,Pn({root:e,action:{progress:null}})},Pn=({root:e,action:t})=>{let i=t.progress===null?e.query("GET_LABEL_FILE_LOADING"):`${e.query("GET_LABEL_FILE_LOADING")} ${xn(t.progress)}%`;ae(e.ref.main,i),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},Ls=({root:e,action:t})=>{let i=t.progress===null?e.query("GET_LABEL_FILE_PROCESSING"):`${e.query("GET_LABEL_FILE_PROCESSING")} ${xn(t.progress)}%`;ae(e.ref.main,i),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},Ms=({root:e})=>{ae(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING")),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},Os=({root:e})=>{ae(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_ABORTED")),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_RETRY"))},xs=({root:e})=>{ae(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_COMPLETE")),ae(e.ref.sub,e.query("GET_LABEL_TAP_TO_UNDO"))},$a=({root:e})=>{ae(e.ref.main,""),ae(e.ref.sub,"")},Lt=({root:e,action:t})=>{ae(e.ref.main,t.status.main),ae(e.ref.sub,t.status.sub)},Ps=re({name:"file-status",ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:$a,DID_REVERT_ITEM_PROCESSING:$a,DID_REQUEST_ITEM_PROCESSING:Ms,DID_ABORT_ITEM_PROCESSING:Os,DID_COMPLETE_ITEM_PROCESSING:xs,DID_UPDATE_ITEM_PROCESS_PROGRESS:Ls,DID_UPDATE_ITEM_LOAD_PROGRESS:Pn,DID_THROW_ITEM_LOAD_ERROR:Lt,DID_THROW_ITEM_INVALID:Lt,DID_THROW_ITEM_PROCESSING_ERROR:Lt,DID_THROW_ITEM_PROCESSING_REVERT_ERROR:Lt,DID_THROW_ITEM_REMOVE_ERROR:Lt}),didCreateView:e=>{Je("CREATE_VIEW",{...e,view:e})},create:As,mixins:{styles:["translateX","translateY","opacity"],animations:{opacity:{type:"tween",duration:250},translateX:"spring",translateY:"spring"}}}),xi={AbortItemLoad:{label:"GET_LABEL_BUTTON_ABORT_ITEM_LOAD",action:"ABORT_ITEM_LOAD",className:"filepond--action-abort-item-load",align:"LOAD_INDICATOR_POSITION"},RetryItemLoad:{label:"GET_LABEL_BUTTON_RETRY_ITEM_LOAD",action:"RETRY_ITEM_LOAD",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-load",align:"BUTTON_PROCESS_ITEM_POSITION"},RemoveItem:{label:"GET_LABEL_BUTTON_REMOVE_ITEM",action:"REQUEST_REMOVE_ITEM",icon:"GET_ICON_REMOVE",className:"filepond--action-remove-item",align:"BUTTON_REMOVE_ITEM_POSITION"},ProcessItem:{label:"GET_LABEL_BUTTON_PROCESS_ITEM",action:"REQUEST_ITEM_PROCESSING",icon:"GET_ICON_PROCESS",className:"filepond--action-process-item",align:"BUTTON_PROCESS_ITEM_POSITION"},AbortItemProcessing:{label:"GET_LABEL_BUTTON_ABORT_ITEM_PROCESSING",action:"ABORT_ITEM_PROCESSING",className:"filepond--action-abort-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RetryItemProcessing:{label:"GET_LABEL_BUTTON_RETRY_ITEM_PROCESSING",action:"RETRY_ITEM_PROCESSING",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RevertItemProcessing:{label:"GET_LABEL_BUTTON_UNDO_ITEM_PROCESSING",action:"REQUEST_REVERT_ITEM_PROCESSING",icon:"GET_ICON_UNDO",className:"filepond--action-revert-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"}},Pi=[];te(xi,e=>{Pi.push(e)});var be=e=>{if(Di(e)==="right")return 0;let t=e.ref.buttonRemoveItem.rect.element;return t.hidden?null:t.width+t.left},Ds=e=>e.ref.buttonAbortItemLoad.rect.element.width,Xt=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.height/4),Fs=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.left/2),Cs=e=>e.query("GET_STYLE_LOAD_INDICATOR_POSITION"),zs=e=>e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION"),Di=e=>e.query("GET_STYLE_BUTTON_REMOVE_ITEM_POSITION"),Ns={buttonAbortItemLoad:{opacity:0},buttonRetryItemLoad:{opacity:0},buttonRemoveItem:{opacity:0},buttonProcessItem:{opacity:0},buttonAbortItemProcessing:{opacity:0},buttonRetryItemProcessing:{opacity:0},buttonRevertItemProcessing:{opacity:0},loadProgressIndicator:{opacity:0,align:Cs},processProgressIndicator:{opacity:0,align:zs},processingCompleteIndicator:{opacity:0,scaleX:.75,scaleY:.75},info:{translateX:0,translateY:0,opacity:0},status:{translateX:0,translateY:0,opacity:0}},qa={buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:be},status:{translateX:be}},wi={buttonAbortItemProcessing:{opacity:1},processProgressIndicator:{opacity:1},status:{opacity:1}},st={DID_THROW_ITEM_INVALID:{buttonRemoveItem:{opacity:1},info:{translateX:be},status:{translateX:be,opacity:1}},DID_START_ITEM_LOAD:{buttonAbortItemLoad:{opacity:1},loadProgressIndicator:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_LOAD_ERROR:{buttonRetryItemLoad:{opacity:1},buttonRemoveItem:{opacity:1},info:{translateX:be},status:{opacity:1}},DID_START_ITEM_REMOVE:{processProgressIndicator:{opacity:1,align:Di},info:{translateX:be},status:{opacity:0}},DID_THROW_ITEM_REMOVE_ERROR:{processProgressIndicator:{opacity:0,align:Di},buttonRemoveItem:{opacity:1},info:{translateX:be},status:{opacity:1,translateX:be}},DID_LOAD_ITEM:qa,DID_LOAD_LOCAL_ITEM:{buttonRemoveItem:{opacity:1},info:{translateX:be},status:{translateX:be}},DID_START_ITEM_PROCESSING:wi,DID_REQUEST_ITEM_PROCESSING:wi,DID_UPDATE_ITEM_PROCESS_PROGRESS:wi,DID_COMPLETE_ITEM_PROCESSING:{buttonRevertItemProcessing:{opacity:1},info:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_PROCESSING_ERROR:{buttonRemoveItem:{opacity:1},buttonRetryItemProcessing:{opacity:1},status:{opacity:1},info:{translateX:be}},DID_THROW_ITEM_PROCESSING_REVERT_ERROR:{buttonRevertItemProcessing:{opacity:1},status:{opacity:1},info:{opacity:1}},DID_ABORT_ITEM_PROCESSING:{buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:be},status:{opacity:1}},DID_REVERT_ITEM_PROCESSING:qa},Bs=re({create:({root:e})=>{e.element.innerHTML=e.query("GET_ICON_DONE")},name:"processing-complete-indicator",ignoreRect:!0,mixins:{styles:["scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",opacity:{type:"tween",duration:250}}}}),Vs=({root:e,props:t})=>{let i=Object.keys(xi).reduce((p,f)=>(p[f]={...xi[f]},p),{}),{id:a}=t,n=e.query("GET_ALLOW_REVERT"),r=e.query("GET_ALLOW_REMOVE"),o=e.query("GET_ALLOW_PROCESS"),l=e.query("GET_INSTANT_UPLOAD"),s=e.query("IS_ASYNC"),u=e.query("GET_STYLE_BUTTON_REMOVE_ITEM_ALIGN"),c;s?o&&!n?c=p=>!/RevertItemProcessing/.test(p):!o&&n?c=p=>!/ProcessItem|RetryItemProcessing|AbortItemProcessing/.test(p):!o&&!n&&(c=p=>!/Process/.test(p)):c=p=>!/Process/.test(p);let d=c?Pi.filter(c):Pi.concat();if(l&&n&&(i.RevertItemProcessing.label="GET_LABEL_BUTTON_REMOVE_ITEM",i.RevertItemProcessing.icon="GET_ICON_REMOVE"),s&&!n){let p=st.DID_COMPLETE_ITEM_PROCESSING;p.info.translateX=Fs,p.info.translateY=Xt,p.status.translateY=Xt,p.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}if(s&&!o&&(["DID_START_ITEM_PROCESSING","DID_REQUEST_ITEM_PROCESSING","DID_UPDATE_ITEM_PROCESS_PROGRESS","DID_THROW_ITEM_PROCESSING_ERROR"].forEach(p=>{st[p].status.translateY=Xt}),st.DID_THROW_ITEM_PROCESSING_ERROR.status.translateX=Ds),u&&n){i.RevertItemProcessing.align="BUTTON_REMOVE_ITEM_POSITION";let p=st.DID_COMPLETE_ITEM_PROCESSING;p.info.translateX=be,p.status.translateY=Xt,p.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}r||(i.RemoveItem.disabled=!0),te(i,(p,f)=>{let g=e.createChildView(Mn,{label:e.query(f.label),icon:e.query(f.icon),opacity:0});d.includes(p)&&e.appendChildView(g),f.disabled&&(g.element.setAttribute("disabled","disabled"),g.element.setAttribute("hidden","hidden")),g.element.dataset.align=e.query(`GET_STYLE_${f.align}`),g.element.classList.add(f.className),g.on("click",b=>{b.stopPropagation(),!f.disabled&&e.dispatch(f.action,{query:a})}),e.ref[`button${p}`]=g}),e.ref.processingCompleteIndicator=e.appendChildView(e.createChildView(Bs)),e.ref.processingCompleteIndicator.element.dataset.align=e.query("GET_STYLE_BUTTON_PROCESS_ITEM_POSITION"),e.ref.info=e.appendChildView(e.createChildView(vs,{id:a})),e.ref.status=e.appendChildView(e.createChildView(Ps,{id:a}));let h=e.appendChildView(e.createChildView(Ha,{opacity:0,align:e.query("GET_STYLE_LOAD_INDICATOR_POSITION")}));h.element.classList.add("filepond--load-indicator"),e.ref.loadProgressIndicator=h;let m=e.appendChildView(e.createChildView(Ha,{opacity:0,align:e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION")}));m.element.classList.add("filepond--process-indicator"),e.ref.processProgressIndicator=m,e.ref.activeStyles=[]},Gs=({root:e,actions:t,props:i})=>{Us({root:e,actions:t,props:i});let a=t.concat().filter(n=>/^DID_/.test(n.type)).reverse().find(n=>st[n.type]);if(a){e.ref.activeStyles=[];let n=st[a.type];te(Ns,(r,o)=>{let l=e.ref[r];te(o,(s,u)=>{let c=n[r]&&typeof n[r][s]<"u"?n[r][s]:u;e.ref.activeStyles.push({control:l,key:s,value:c})})})}e.ref.activeStyles.forEach(({control:n,key:r,value:o})=>{n[r]=typeof o=="function"?o(e):o})},Us=fe({DID_SET_LABEL_BUTTON_ABORT_ITEM_PROCESSING:({root:e,action:t})=>{e.ref.buttonAbortItemProcessing.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_LOAD:({root:e,action:t})=>{e.ref.buttonAbortItemLoad.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_REMOVAL:({root:e,action:t})=>{e.ref.buttonAbortItemRemoval.label=t.value},DID_REQUEST_ITEM_PROCESSING:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_START_ITEM_LOAD:({root:e})=>{e.ref.loadProgressIndicator.spin=!0,e.ref.loadProgressIndicator.progress=0},DID_START_ITEM_REMOVE:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_UPDATE_ITEM_LOAD_PROGRESS:({root:e,action:t})=>{e.ref.loadProgressIndicator.spin=!1,e.ref.loadProgressIndicator.progress=t.progress},DID_UPDATE_ITEM_PROCESS_PROGRESS:({root:e,action:t})=>{e.ref.processProgressIndicator.spin=!1,e.ref.processProgressIndicator.progress=t.progress}}),ks=re({create:Vs,write:Gs,didCreateView:e=>{Je("CREATE_VIEW",{...e,view:e})},name:"file"}),Hs=({root:e,props:t})=>{e.ref.fileName=Be("legend"),e.appendChild(e.ref.fileName),e.ref.file=e.appendChildView(e.createChildView(ks,{id:t.id})),e.ref.data=!1},Ws=({root:e,props:t})=>{ae(e.ref.fileName,$i(e.query("GET_ITEM_NAME",t.id)))},Ys=re({create:Hs,ignoreRect:!0,write:fe({DID_LOAD_ITEM:Ws}),didCreateView:e=>{Je("CREATE_VIEW",{...e,view:e})},tag:"fieldset",name:"file-wrapper"}),ja={type:"spring",damping:.6,mass:7},$s=({root:e,props:t})=>{[{name:"top"},{name:"center",props:{translateY:null,scaleY:null},mixins:{animations:{scaleY:ja},styles:["translateY","scaleY"]}},{name:"bottom",props:{translateY:null},mixins:{animations:{translateY:ja},styles:["translateY"]}}].forEach(i=>{qs(e,i,t.name)}),e.element.classList.add(`filepond--${t.name}`),e.ref.scalable=null},qs=(e,t,i)=>{let a=re({name:`panel-${t.name} filepond--${i}`,mixins:t.mixins,ignoreRectUpdate:!0}),n=e.createChildView(a,t.props);e.ref[t.name]=e.appendChildView(n)},js=({root:e,props:t})=>{if((e.ref.scalable===null||t.scalable!==e.ref.scalable)&&(e.ref.scalable=mn(t.scalable)?t.scalable:!0,e.element.dataset.scalable=e.ref.scalable),!t.height)return;let i=e.ref.top.rect.element,a=e.ref.bottom.rect.element,n=Math.max(i.height+a.height,t.height);e.ref.center.translateY=i.height,e.ref.center.scaleY=(n-i.height-a.height)/100,e.ref.bottom.translateY=n-a.height},Dn=re({name:"panel",read:({root:e,props:t})=>t.heightCurrent=e.ref.bottom.translateY,write:js,create:$s,ignoreRect:!0,mixins:{apis:["height","heightCurrent","scalable"]}}),Xs=e=>{let t=e.map(a=>a.id),i;return{setIndex:a=>{i=a},getIndex:()=>i,getItemIndex:a=>t.indexOf(a.id)}},Xa={type:"spring",stiffness:.75,damping:.45,mass:10},Qa="spring",Za={DID_START_ITEM_LOAD:"busy",DID_UPDATE_ITEM_LOAD_PROGRESS:"loading",DID_THROW_ITEM_INVALID:"load-invalid",DID_THROW_ITEM_LOAD_ERROR:"load-error",DID_LOAD_ITEM:"idle",DID_THROW_ITEM_REMOVE_ERROR:"remove-error",DID_START_ITEM_REMOVE:"busy",DID_START_ITEM_PROCESSING:"busy processing",DID_REQUEST_ITEM_PROCESSING:"busy processing",DID_UPDATE_ITEM_PROCESS_PROGRESS:"processing",DID_COMPLETE_ITEM_PROCESSING:"processing-complete",DID_THROW_ITEM_PROCESSING_ERROR:"processing-error",DID_THROW_ITEM_PROCESSING_REVERT_ERROR:"processing-revert-error",DID_ABORT_ITEM_PROCESSING:"cancelled",DID_REVERT_ITEM_PROCESSING:"idle"},Qs=({root:e,props:t})=>{if(e.ref.handleClick=a=>e.dispatch("DID_ACTIVATE_ITEM",{id:t.id}),e.element.id=`filepond--item-${t.id}`,e.element.addEventListener("click",e.ref.handleClick),e.ref.container=e.appendChildView(e.createChildView(Ys,{id:t.id})),e.ref.panel=e.appendChildView(e.createChildView(Dn,{name:"item-panel"})),e.ref.panel.height=null,t.markedForRemoval=!1,!e.query("GET_ALLOW_REORDER"))return;e.element.dataset.dragState="idle";let i=a=>{if(!a.isPrimary)return;let n=!1,r={x:a.pageX,y:a.pageY};t.dragOrigin={x:e.translateX,y:e.translateY},t.dragCenter={x:a.offsetX,y:a.offsetY};let o=Xs(e.query("GET_ACTIVE_ITEMS"));e.dispatch("DID_GRAB_ITEM",{id:t.id,dragState:o});let l=d=>{if(!d.isPrimary)return;d.stopPropagation(),d.preventDefault(),t.dragOffset={x:d.pageX-r.x,y:d.pageY-r.y},t.dragOffset.x*t.dragOffset.x+t.dragOffset.y*t.dragOffset.y>16&&!n&&(n=!0,e.element.removeEventListener("click",e.ref.handleClick)),e.dispatch("DID_DRAG_ITEM",{id:t.id,dragState:o})},s=d=>{d.isPrimary&&(t.dragOffset={x:d.pageX-r.x,y:d.pageY-r.y},c())},u=()=>{c()},c=()=>{document.removeEventListener("pointercancel",u),document.removeEventListener("pointermove",l),document.removeEventListener("pointerup",s),e.dispatch("DID_DROP_ITEM",{id:t.id,dragState:o}),n&&setTimeout(()=>e.element.addEventListener("click",e.ref.handleClick),0)};document.addEventListener("pointercancel",u),document.addEventListener("pointermove",l),document.addEventListener("pointerup",s)};e.element.addEventListener("pointerdown",i)},Zs=fe({DID_UPDATE_PANEL_HEIGHT:({root:e,action:t})=>{e.height=t.height}}),Ks=fe({DID_GRAB_ITEM:({root:e,props:t})=>{t.dragOrigin={x:e.translateX,y:e.translateY}},DID_DRAG_ITEM:({root:e})=>{e.element.dataset.dragState="drag"},DID_DROP_ITEM:({root:e,props:t})=>{t.dragOffset=null,t.dragOrigin=null,e.element.dataset.dragState="drop"}},({root:e,actions:t,props:i,shouldOptimize:a})=>{e.element.dataset.dragState==="drop"&&e.scaleX<=1&&(e.element.dataset.dragState="idle");let n=t.concat().filter(o=>/^DID_/.test(o.type)).reverse().find(o=>Za[o.type]);n&&n.type!==i.currentState&&(i.currentState=n.type,e.element.dataset.filepondItemState=Za[i.currentState]||"");let r=e.query("GET_ITEM_PANEL_ASPECT_RATIO")||e.query("GET_PANEL_ASPECT_RATIO");r?a||(e.height=e.rect.element.width*r):(Zs({root:e,actions:t,props:i}),!e.height&&e.ref.container.rect.element.height>0&&(e.height=e.ref.container.rect.element.height)),a&&(e.ref.panel.height=null),e.ref.panel.height=e.height}),Js=re({create:Qs,write:Ks,destroy:({root:e,props:t})=>{e.element.removeEventListener("click",e.ref.handleClick),e.dispatch("RELEASE_ITEM",{query:t.id})},tag:"li",name:"item",mixins:{apis:["id","interactionMethod","markedForRemoval","spawnDate","dragCenter","dragOrigin","dragOffset"],styles:["translateX","translateY","scaleX","scaleY","opacity","height"],animations:{scaleX:Qa,scaleY:Qa,translateX:Xa,translateY:Xa,opacity:{type:"tween",duration:150}}}}),qi=(e,t)=>Math.max(1,Math.floor((e+1)/t)),ji=(e,t,i)=>{if(!i)return;let a=e.rect.element.width,n=t.length,r=null;if(n===0||i.topE){if(i.left{ne(e.element,"role","list"),e.ref.lastItemSpanwDate=Date.now()},tc=({root:e,action:t})=>{let{id:i,index:a,interactionMethod:n}=t;e.ref.addIndex=a;let r=Date.now(),o=r,l=1;if(n!==Se.NONE){l=0;let s=e.query("GET_ITEM_INSERT_INTERVAL"),u=r-e.ref.lastItemSpanwDate;o=u{e.dragOffset?(e.translateX=null,e.translateY=null,e.translateX=e.dragOrigin.x+e.dragOffset.x,e.translateY=e.dragOrigin.y+e.dragOffset.y,e.scaleX=1.025,e.scaleY=1.025):(e.translateX=t,e.translateY=i,Date.now()>e.spawnDate&&(e.opacity===0&&ic(e,t,i,a,n),e.scaleX=1,e.scaleY=1,e.opacity=1))},ic=(e,t,i,a,n)=>{e.interactionMethod===Se.NONE?(e.translateX=null,e.translateX=t,e.translateY=null,e.translateY=i):e.interactionMethod===Se.DROP?(e.translateX=null,e.translateX=t-a*20,e.translateY=null,e.translateY=i-n*10,e.scaleX=.8,e.scaleY=.8):e.interactionMethod===Se.BROWSE?(e.translateY=null,e.translateY=i-30):e.interactionMethod===Se.API&&(e.translateX=null,e.translateX=t-30,e.translateY=null)},ac=({root:e,action:t})=>{let{id:i}=t,a=e.childViews.find(n=>n.id===i);a&&(a.scaleX=.9,a.scaleY=.9,a.opacity=0,a.markedForRemoval=!0)},vi=e=>e.rect.element.height+e.rect.element.marginBottom*.5+e.rect.element.marginTop*.5,nc=e=>e.rect.element.width+e.rect.element.marginLeft*.5+e.rect.element.marginRight*.5,rc=({root:e,action:t})=>{let{id:i,dragState:a}=t,n=e.query("GET_ITEM",{id:i}),r=e.childViews.find(g=>g.id===i),o=e.childViews.length,l=a.getItemIndex(n);if(!r)return;let s={x:r.dragOrigin.x+r.dragOffset.x+r.dragCenter.x,y:r.dragOrigin.y+r.dragOffset.y+r.dragCenter.y},u=vi(r),c=nc(r),d=Math.floor(e.rect.outer.width/c);d>o&&(d=o);let h=Math.floor(o/d+1);Qt.setHeight=u*h,Qt.setWidth=c*d;var m={y:Math.floor(s.y/u),x:Math.floor(s.x/c),getGridIndex:function(){return s.y>Qt.getHeight||s.y<0||s.x>Qt.getWidth||s.x<0?l:this.y*d+this.x},getColIndex:function(){let b=e.query("GET_ACTIVE_ITEMS"),E=e.childViews.filter(x=>x.rect.element.height),I=b.map(x=>E.find(O=>O.id===x.id)),_=I.findIndex(x=>x===r),y=vi(r),T=I.length,v=T,R=0,S=0,P=0;for(let x=0;xx){if(s.y1?m.getGridIndex():m.getColIndex();e.dispatch("MOVE_ITEM",{query:r,index:p});let f=a.getIndex();if(f===void 0||f!==p){if(a.setIndex(p),f===void 0)return;e.dispatch("DID_REORDER_ITEMS",{items:e.query("GET_ACTIVE_ITEMS"),origin:l,target:p})}},oc=fe({DID_ADD_ITEM:tc,DID_REMOVE_ITEM:ac,DID_DRAG_ITEM:rc}),lc=({root:e,props:t,actions:i,shouldOptimize:a})=>{oc({root:e,props:t,actions:i});let{dragCoordinates:n}=t,r=e.rect.element.width,o=e.childViews.filter(I=>I.rect.element.height),l=e.query("GET_ACTIVE_ITEMS").map(I=>o.find(_=>_.id===I.id)).filter(I=>I),s=n?ji(e,l,n):null,u=e.ref.addIndex||null;e.ref.addIndex=null;let c=0,d=0,h=0;if(l.length===0)return;let m=l[0].rect.element,p=m.marginTop+m.marginBottom,f=m.marginLeft+m.marginRight,g=m.width+f,b=m.height+p,E=qi(r,g);if(E===1){let I=0,_=0;l.forEach((y,T)=>{if(s){let S=T-s;S===-2?_=-p*.25:S===-1?_=-p*.75:S===0?_=p*.75:S===1?_=p*.25:_=0}a&&(y.translateX=null,y.translateY=null),y.markedForRemoval||Ka(y,0,I+_);let R=(y.rect.element.height+p)*(y.markedForRemoval?y.opacity:1);I+=R})}else{let I=0,_=0;l.forEach((y,T)=>{T===s&&(c=1),T===u&&(h+=1),y.markedForRemoval&&y.opacity<.5&&(d-=1);let v=T+h+c+d,R=v%E,S=Math.floor(v/E),P=R*g,x=S*b,O=Math.sign(P-I),z=Math.sign(x-_);I=P,_=x,!y.markedForRemoval&&(a&&(y.translateX=null,y.translateY=null),Ka(y,P,x,O,z))})}},sc=(e,t)=>t.filter(i=>i.data&&i.data.id?e.id===i.data.id:!0),cc=re({create:ec,write:lc,tag:"ul",name:"list",didWriteView:({root:e})=>{e.childViews.filter(t=>t.markedForRemoval&&t.opacity===0&&t.resting).forEach(t=>{t._destroy(),e.removeChildView(t)})},filterFrameActionsForChild:sc,mixins:{apis:["dragCoordinates"]}}),dc=({root:e,props:t})=>{e.ref.list=e.appendChildView(e.createChildView(cc)),t.dragCoordinates=null,t.overflowing=!1},uc=({root:e,props:t,action:i})=>{e.query("GET_ITEM_INSERT_LOCATION_FREEDOM")&&(t.dragCoordinates={left:i.position.scopeLeft-e.ref.list.rect.element.left,top:i.position.scopeTop-(e.rect.outer.top+e.rect.element.marginTop+e.rect.element.scrollTop)})},hc=({props:e})=>{e.dragCoordinates=null},mc=fe({DID_DRAG:uc,DID_END_DRAG:hc}),pc=({root:e,props:t,actions:i})=>{if(mc({root:e,props:t,actions:i}),e.ref.list.dragCoordinates=t.dragCoordinates,t.overflowing&&!t.overflow&&(t.overflowing=!1,e.element.dataset.state="",e.height=null),t.overflow){let a=Math.round(t.overflow);a!==e.height&&(t.overflowing=!0,e.element.dataset.state="overflow",e.height=a)}},fc=re({create:dc,write:pc,name:"list-scroller",mixins:{apis:["overflow","dragCoordinates"],styles:["height","translateY"],animations:{translateY:"spring"}}}),Oe=(e,t,i,a="")=>{i?ne(e,t,a):e.removeAttribute(t)},gc=e=>{if(!(!e||e.value==="")){try{e.value=""}catch{}if(e.value){let t=Be("form"),i=e.parentNode,a=e.nextSibling;t.appendChild(e),t.reset(),a?i.insertBefore(e,a):i.appendChild(e)}}},Ec=({root:e,props:t})=>{e.element.id=`filepond--browser-${t.id}`,ne(e.element,"name",e.query("GET_NAME")),ne(e.element,"aria-controls",`filepond--assistant-${t.id}`),ne(e.element,"aria-labelledby",`filepond--drop-label-${t.id}`),Fn({root:e,action:{value:e.query("GET_ACCEPTED_FILE_TYPES")}}),Cn({root:e,action:{value:e.query("GET_ALLOW_MULTIPLE")}}),zn({root:e,action:{value:e.query("GET_ALLOW_DIRECTORIES_ONLY")}}),Fi({root:e}),Nn({root:e,action:{value:e.query("GET_REQUIRED")}}),Bn({root:e,action:{value:e.query("GET_CAPTURE_METHOD")}}),e.ref.handleChange=i=>{if(!e.element.value)return;let a=Array.from(e.element.files).map(n=>(n._relativePath=n.webkitRelativePath,n));setTimeout(()=>{t.onload(a),gc(e.element)},250)},e.element.addEventListener("change",e.ref.handleChange)},Fn=({root:e,action:t})=>{e.query("GET_ALLOW_SYNC_ACCEPT_ATTRIBUTE")&&Oe(e.element,"accept",!!t.value,t.value?t.value.join(","):"")},Cn=({root:e,action:t})=>{Oe(e.element,"multiple",t.value)},zn=({root:e,action:t})=>{Oe(e.element,"webkitdirectory",t.value)},Fi=({root:e})=>{let t=e.query("GET_DISABLED"),i=e.query("GET_ALLOW_BROWSE"),a=t||!i;Oe(e.element,"disabled",a)},Nn=({root:e,action:t})=>{t.value?e.query("GET_TOTAL_ITEMS")===0&&Oe(e.element,"required",!0):Oe(e.element,"required",!1)},Bn=({root:e,action:t})=>{Oe(e.element,"capture",!!t.value,t.value===!0?"":t.value)},Ja=({root:e})=>{let{element:t}=e;e.query("GET_TOTAL_ITEMS")>0?(Oe(t,"required",!1),Oe(t,"name",!1)):(Oe(t,"name",!0,e.query("GET_NAME")),e.query("GET_CHECK_VALIDITY")&&t.setCustomValidity(""),e.query("GET_REQUIRED")&&Oe(t,"required",!0))},Tc=({root:e})=>{e.query("GET_CHECK_VALIDITY")&&e.element.setCustomValidity(e.query("GET_LABEL_INVALID_FIELD"))},Ic=re({tag:"input",name:"browser",ignoreRect:!0,ignoreRectUpdate:!0,attributes:{type:"file"},create:Ec,destroy:({root:e})=>{e.element.removeEventListener("change",e.ref.handleChange)},write:fe({DID_LOAD_ITEM:Ja,DID_REMOVE_ITEM:Ja,DID_THROW_ITEM_INVALID:Tc,DID_SET_DISABLED:Fi,DID_SET_ALLOW_BROWSE:Fi,DID_SET_ALLOW_DIRECTORIES_ONLY:zn,DID_SET_ALLOW_MULTIPLE:Cn,DID_SET_ACCEPTED_FILE_TYPES:Fn,DID_SET_CAPTURE_METHOD:Bn,DID_SET_REQUIRED:Nn})}),en={ENTER:13,SPACE:32},bc=({root:e,props:t})=>{let i=Be("label");ne(i,"for",`filepond--browser-${t.id}`),ne(i,"id",`filepond--drop-label-${t.id}`),ne(i,"aria-hidden","true"),e.ref.handleKeyDown=a=>{(a.keyCode===en.ENTER||a.keyCode===en.SPACE)&&(a.preventDefault(),e.ref.label.click())},e.ref.handleClick=a=>{a.target===i||i.contains(a.target)||e.ref.label.click()},i.addEventListener("keydown",e.ref.handleKeyDown),e.element.addEventListener("click",e.ref.handleClick),Vn(i,t.caption),e.appendChild(i),e.ref.label=i},Vn=(e,t)=>{e.innerHTML=t;let i=e.querySelector(".filepond--label-action");return i&&ne(i,"tabindex","0"),t},_c=re({name:"drop-label",ignoreRect:!0,create:bc,destroy:({root:e})=>{e.ref.label.addEventListener("keydown",e.ref.handleKeyDown),e.element.removeEventListener("click",e.ref.handleClick)},write:fe({DID_SET_LABEL_IDLE:({root:e,action:t})=>{Vn(e.ref.label,t.value)}}),mixins:{styles:["opacity","translateX","translateY"],animations:{opacity:{type:"tween",duration:150},translateX:"spring",translateY:"spring"}}}),Rc=re({name:"drip-blob",ignoreRect:!0,mixins:{styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}}}}),yc=({root:e})=>{let t=e.rect.element.width*.5,i=e.rect.element.height*.5;e.ref.blob=e.appendChildView(e.createChildView(Rc,{opacity:0,scaleX:2.5,scaleY:2.5,translateX:t,translateY:i}))},Sc=({root:e,action:t})=>{if(!e.ref.blob){yc({root:e});return}e.ref.blob.translateX=t.position.scopeLeft,e.ref.blob.translateY=t.position.scopeTop,e.ref.blob.scaleX=1,e.ref.blob.scaleY=1,e.ref.blob.opacity=1},wc=({root:e})=>{e.ref.blob&&(e.ref.blob.opacity=0)},vc=({root:e})=>{e.ref.blob&&(e.ref.blob.scaleX=2.5,e.ref.blob.scaleY=2.5,e.ref.blob.opacity=0)},Ac=({root:e,props:t,actions:i})=>{Lc({root:e,props:t,actions:i});let{blob:a}=e.ref;i.length===0&&a&&a.opacity===0&&(e.removeChildView(a),e.ref.blob=null)},Lc=fe({DID_DRAG:Sc,DID_DROP:vc,DID_END_DRAG:wc}),Mc=re({ignoreRect:!0,ignoreRectUpdate:!0,name:"drip",write:Ac}),Gn=(e,t)=>{try{let i=new DataTransfer;t.forEach(a=>{a instanceof File?i.items.add(a):i.items.add(new File([a],a.name,{type:a.type}))}),e.files=i.files}catch{return!1}return!0},Oc=({root:e})=>e.ref.fields={},ci=(e,t)=>e.ref.fields[t],Xi=e=>{e.query("GET_ACTIVE_ITEMS").forEach(t=>{e.ref.fields[t.id]&&e.element.appendChild(e.ref.fields[t.id])})},tn=({root:e})=>Xi(e),xc=({root:e,action:t})=>{let n=!(e.query("GET_ITEM",t.id).origin===se.LOCAL)&&e.query("SHOULD_UPDATE_FILE_INPUT"),r=Be("input");r.type=n?"file":"hidden",r.name=e.query("GET_NAME"),r.disabled=e.query("GET_DISABLED"),e.ref.fields[t.id]=r,Xi(e)},Pc=({root:e,action:t})=>{let i=ci(e,t.id);if(!i||(t.serverFileReference!==null&&(i.value=t.serverFileReference),!e.query("SHOULD_UPDATE_FILE_INPUT")))return;let a=e.query("GET_ITEM",t.id);Gn(i,[a.file])},Dc=({root:e,action:t})=>{e.query("SHOULD_UPDATE_FILE_INPUT")&&setTimeout(()=>{let i=ci(e,t.id);i&&Gn(i,[t.file])},0)},Fc=({root:e})=>{e.element.disabled=e.query("GET_DISABLED")},Cc=({root:e,action:t})=>{let i=ci(e,t.id);i&&(i.parentNode&&i.parentNode.removeChild(i),delete e.ref.fields[t.id])},zc=({root:e,action:t})=>{let i=ci(e,t.id);i&&(t.value===null?i.removeAttribute("value"):i.type!="file"&&(i.value=t.value),Xi(e))},Nc=fe({DID_SET_DISABLED:Fc,DID_ADD_ITEM:xc,DID_LOAD_ITEM:Pc,DID_REMOVE_ITEM:Cc,DID_DEFINE_VALUE:zc,DID_PREPARE_OUTPUT:Dc,DID_REORDER_ITEMS:tn,DID_SORT_ITEMS:tn}),Bc=re({tag:"fieldset",name:"data",create:Oc,write:Nc,ignoreRect:!0}),Vc=e=>"getRootNode"in e?e.getRootNode():document,Gc=["jpg","jpeg","png","gif","bmp","webp","svg","tiff"],Uc=["css","csv","html","txt"],kc={zip:"zip|compressed",epub:"application/epub+zip"},Un=(e="")=>(e=e.toLowerCase(),Gc.includes(e)?"image/"+(e==="jpg"?"jpeg":e==="svg"?"svg+xml":e):Uc.includes(e)?"text/"+e:kc[e]||""),Qi=e=>new Promise((t,i)=>{let a=Qc(e);if(a.length&&!Hc(e))return t(a);Wc(e).then(t)}),Hc=e=>e.files?e.files.length>0:!1,Wc=e=>new Promise((t,i)=>{let a=(e.items?Array.from(e.items):[]).filter(n=>Yc(n)).map(n=>$c(n));if(!a.length){t(e.files?Array.from(e.files):[]);return}Promise.all(a).then(n=>{let r=[];n.forEach(o=>{r.push.apply(r,o)}),t(r.filter(o=>o).map(o=>(o._relativePath||(o._relativePath=o.webkitRelativePath),o)))}).catch(console.error)}),Yc=e=>{if(kn(e)){let t=Zi(e);if(t)return t.isFile||t.isDirectory}return e.kind==="file"},$c=e=>new Promise((t,i)=>{if(Xc(e)){qc(Zi(e)).then(t).catch(i);return}t([e.getAsFile()])}),qc=e=>new Promise((t,i)=>{let a=[],n=0,r=0,o=()=>{r===0&&n===0&&t(a)},l=s=>{n++;let u=s.createReader(),c=()=>{u.readEntries(d=>{if(d.length===0){n--,o();return}d.forEach(h=>{h.isDirectory?l(h):(r++,h.file(m=>{let p=jc(m);h.fullPath&&(p._relativePath=h.fullPath),a.push(p),r--,o()}))}),c()},i)};c()};l(e)}),jc=e=>{if(e.type.length)return e;let t=e.lastModifiedDate,i=e.name,a=Un(si(e.name));return a.length&&(e=e.slice(0,e.size,a),e.name=i,e.lastModifiedDate=t),e},Xc=e=>kn(e)&&(Zi(e)||{}).isDirectory,kn=e=>"webkitGetAsEntry"in e,Zi=e=>e.webkitGetAsEntry(),Qc=e=>{let t=[];try{if(t=Kc(e),t.length)return t;t=Zc(e)}catch{}return t},Zc=e=>{let t=e.getData("url");return typeof t=="string"&&t.length?[t]:[]},Kc=e=>{let t=e.getData("text/html");if(typeof t=="string"&&t.length){let i=t.match(/src\s*=\s*"(.+?)"/);if(i)return[i[1]]}return[]},ii=[],Ke=e=>({pageLeft:e.pageX,pageTop:e.pageY,scopeLeft:e.offsetX||e.layerX,scopeTop:e.offsetY||e.layerY}),Jc=(e,t,i)=>{let a=ed(t),n={element:e,filterElement:i,state:null,ondrop:()=>{},onenter:()=>{},ondrag:()=>{},onexit:()=>{},onload:()=>{},allowdrop:()=>{}};return n.destroy=a.addListener(n),n},ed=e=>{let t=ii.find(a=>a.element===e);if(t)return t;let i=td(e);return ii.push(i),i},td=e=>{let t=[],i={dragenter:ad,dragover:nd,dragleave:od,drop:rd},a={};te(i,(r,o)=>{a[r]=o(e,t),e.addEventListener(r,a[r],!1)});let n={element:e,addListener:r=>(t.push(r),()=>{t.splice(t.indexOf(r),1),t.length===0&&(ii.splice(ii.indexOf(n),1),te(i,o=>{e.removeEventListener(o,a[o],!1)}))})};return n},id=(e,t)=>("elementFromPoint"in e||(e=document),e.elementFromPoint(t.x,t.y)),Ki=(e,t)=>{let i=Vc(t),a=id(i,{x:e.pageX-window.pageXOffset,y:e.pageY-window.pageYOffset});return a===t||t.contains(a)},Hn=null,Zt=(e,t)=>{try{e.dropEffect=t}catch{}},ad=(e,t)=>i=>{i.preventDefault(),Hn=i.target,t.forEach(a=>{let{element:n,onenter:r}=a;Ki(i,n)&&(a.state="enter",r(Ke(i)))})},nd=(e,t)=>i=>{i.preventDefault();let a=i.dataTransfer;Qi(a).then(n=>{let r=!1;t.some(o=>{let{filterElement:l,element:s,onenter:u,onexit:c,ondrag:d,allowdrop:h}=o;Zt(a,"copy");let m=h(n);if(!m){Zt(a,"none");return}if(Ki(i,s)){if(r=!0,o.state===null){o.state="enter",u(Ke(i));return}if(o.state="over",l&&!m){Zt(a,"none");return}d(Ke(i))}else l&&!r&&Zt(a,"none"),o.state&&(o.state=null,c(Ke(i)))})})},rd=(e,t)=>i=>{i.preventDefault();let a=i.dataTransfer;Qi(a).then(n=>{t.forEach(r=>{let{filterElement:o,element:l,ondrop:s,onexit:u,allowdrop:c}=r;if(r.state=null,!(o&&!Ki(i,l))){if(!c(n))return u(Ke(i));s(Ke(i),n)}})})},od=(e,t)=>i=>{Hn===i.target&&t.forEach(a=>{let{onexit:n}=a;a.state=null,n(Ke(i))})},ld=(e,t,i)=>{e.classList.add("filepond--hopper");let{catchesDropsOnPage:a,requiresDropOnElement:n,filterItems:r=c=>c}=i,o=Jc(e,a?document.documentElement:e,n),l="",s="";o.allowdrop=c=>t(r(c)),o.ondrop=(c,d)=>{let h=r(d);if(!t(h)){u.ondragend(c);return}s="drag-drop",u.onload(h,c)},o.ondrag=c=>{u.ondrag(c)},o.onenter=c=>{s="drag-over",u.ondragstart(c)},o.onexit=c=>{s="drag-exit",u.ondragend(c)};let u={updateHopperState:()=>{l!==s&&(e.dataset.hopperState=s,l=s)},onload:()=>{},ondragstart:()=>{},ondrag:()=>{},ondragend:()=>{},destroy:()=>{o.destroy()}};return u},Ci=!1,ct=[],Wn=e=>{let t=document.activeElement;if(t&&/textarea|input/i.test(t.nodeName)){let i=!1,a=t;for(;a!==document.body;){if(a.classList.contains("filepond--root")){i=!0;break}a=a.parentNode}if(!i)return}Qi(e.clipboardData).then(i=>{i.length&&ct.forEach(a=>a(i))})},sd=e=>{ct.includes(e)||(ct.push(e),!Ci&&(Ci=!0,document.addEventListener("paste",Wn)))},cd=e=>{Hi(ct,ct.indexOf(e)),ct.length===0&&(document.removeEventListener("paste",Wn),Ci=!1)},dd=()=>{let e=i=>{t.onload(i)},t={destroy:()=>{cd(e)},onload:()=>{}};return sd(e),t},ud=({root:e,props:t})=>{e.element.id=`filepond--assistant-${t.id}`,ne(e.element,"role","status"),ne(e.element,"aria-live","polite"),ne(e.element,"aria-relevant","additions")},an=null,nn=null,Ai=[],di=(e,t)=>{e.element.textContent=t},hd=e=>{e.element.textContent=""},Yn=(e,t,i)=>{let a=e.query("GET_TOTAL_ITEMS");di(e,`${i} ${t}, ${a} ${a===1?e.query("GET_LABEL_FILE_COUNT_SINGULAR"):e.query("GET_LABEL_FILE_COUNT_PLURAL")}`),clearTimeout(nn),nn=setTimeout(()=>{hd(e)},1500)},$n=e=>e.element.parentNode.contains(document.activeElement),md=({root:e,action:t})=>{if(!$n(e))return;e.element.textContent="";let i=e.query("GET_ITEM",t.id);Ai.push(i.filename),clearTimeout(an),an=setTimeout(()=>{Yn(e,Ai.join(", "),e.query("GET_LABEL_FILE_ADDED")),Ai.length=0},750)},pd=({root:e,action:t})=>{if(!$n(e))return;let i=t.item;Yn(e,i.filename,e.query("GET_LABEL_FILE_REMOVED"))},fd=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename,n=e.query("GET_LABEL_FILE_PROCESSING_COMPLETE");di(e,`${a} ${n}`)},rn=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename,n=e.query("GET_LABEL_FILE_PROCESSING_ABORTED");di(e,`${a} ${n}`)},Kt=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename;di(e,`${t.status.main} ${a} ${t.status.sub}`)},gd=re({create:ud,ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:md,DID_REMOVE_ITEM:pd,DID_COMPLETE_ITEM_PROCESSING:fd,DID_ABORT_ITEM_PROCESSING:rn,DID_REVERT_ITEM_PROCESSING:rn,DID_THROW_ITEM_REMOVE_ERROR:Kt,DID_THROW_ITEM_LOAD_ERROR:Kt,DID_THROW_ITEM_INVALID:Kt,DID_THROW_ITEM_PROCESSING_ERROR:Kt}),tag:"span",name:"assistant"}),qn=(e,t="-")=>e.replace(new RegExp(`${t}.`,"g"),i=>i.charAt(1).toUpperCase()),jn=(e,t=16,i=!0)=>{let a=Date.now(),n=null;return(...r)=>{clearTimeout(n);let o=Date.now()-a,l=()=>{a=Date.now(),e(...r)};oe.preventDefault(),Td=({root:e,props:t})=>{let i=e.query("GET_ID");i&&(e.element.id=i);let a=e.query("GET_CLASS_NAME");a&&a.split(" ").filter(s=>s.length).forEach(s=>{e.element.classList.add(s)}),e.ref.label=e.appendChildView(e.createChildView(_c,{...t,translateY:null,caption:e.query("GET_LABEL_IDLE")})),e.ref.list=e.appendChildView(e.createChildView(fc,{translateY:null})),e.ref.panel=e.appendChildView(e.createChildView(Dn,{name:"panel-root"})),e.ref.assistant=e.appendChildView(e.createChildView(gd,{...t})),e.ref.data=e.appendChildView(e.createChildView(Bc,{...t})),e.ref.measure=Be("div"),e.ref.measure.style.height="100%",e.element.appendChild(e.ref.measure),e.ref.bounds=null,e.query("GET_STYLES").filter(s=>!Ne(s.value)).map(({name:s,value:u})=>{e.element.dataset[s]=u}),e.ref.widthPrevious=null,e.ref.widthUpdated=jn(()=>{e.ref.updateHistory=[],e.dispatch("DID_RESIZE_ROOT")},250),e.ref.previousAspectRatio=null,e.ref.updateHistory=[];let n=window.matchMedia("(pointer: fine) and (hover: hover)").matches,r="PointerEvent"in window;e.query("GET_ALLOW_REORDER")&&r&&!n&&(e.element.addEventListener("touchmove",ai,{passive:!1}),e.element.addEventListener("gesturestart",ai));let o=e.query("GET_CREDITS");if(o.length===2){let s=document.createElement("a");s.className="filepond--credits",s.setAttribute("aria-hidden","true"),s.href=o[0],s.tabindex=-1,s.target="_blank",s.rel="noopener noreferrer",s.textContent=o[1],e.element.appendChild(s),e.ref.credits=s}},Id=({root:e,props:t,actions:i})=>{if(Sd({root:e,props:t,actions:i}),i.filter(T=>/^DID_SET_STYLE_/.test(T.type)).filter(T=>!Ne(T.data.value)).map(({type:T,data:v})=>{let R=qn(T.substring(8).toLowerCase(),"_");e.element.dataset[R]=v.value,e.invalidateLayout()}),e.rect.element.hidden)return;e.rect.element.width!==e.ref.widthPrevious&&(e.ref.widthPrevious=e.rect.element.width,e.ref.widthUpdated());let a=e.ref.bounds;a||(a=e.ref.bounds=Rd(e),e.element.removeChild(e.ref.measure),e.ref.measure=null);let{hopper:n,label:r,list:o,panel:l}=e.ref;n&&n.updateHopperState();let s=e.query("GET_PANEL_ASPECT_RATIO"),u=e.query("GET_ALLOW_MULTIPLE"),c=e.query("GET_TOTAL_ITEMS"),d=u?e.query("GET_MAX_FILES")||Ed:1,h=c===d,m=i.find(T=>T.type==="DID_ADD_ITEM");if(h&&m){let T=m.data.interactionMethod;r.opacity=0,u?r.translateY=-40:T===Se.API?r.translateX=40:T===Se.BROWSE?r.translateY=40:r.translateY=30}else h||(r.opacity=1,r.translateX=0,r.translateY=0);let p=bd(e),f=_d(e),g=r.rect.element.height,b=!u||h?0:g,E=h?o.rect.element.marginTop:0,I=c===0?0:o.rect.element.marginBottom,_=b+E+f.visual+I,y=b+E+f.bounds+I;if(o.translateY=Math.max(0,b-o.rect.element.marginTop)-p.top,s){let T=e.rect.element.width,v=T*s;s!==e.ref.previousAspectRatio&&(e.ref.previousAspectRatio=s,e.ref.updateHistory=[]);let R=e.ref.updateHistory;R.push(T);let S=2;if(R.length>S*2){let x=R.length,O=x-10,z=0;for(let A=x;A>=O;A--)if(R[A]===R[A-2]&&z++,z>=S)return}l.scalable=!1,l.height=v;let P=v-b-(I-p.bottom)-(h?E:0);f.visual>P?o.overflow=P:o.overflow=null,e.height=v}else if(a.fixedHeight){l.scalable=!1;let T=a.fixedHeight-b-(I-p.bottom)-(h?E:0);f.visual>T?o.overflow=T:o.overflow=null}else if(a.cappedHeight){let T=_>=a.cappedHeight,v=Math.min(a.cappedHeight,_);l.scalable=!0,l.height=T?v:v-p.top-p.bottom;let R=v-b-(I-p.bottom)-(h?E:0);_>a.cappedHeight&&f.visual>R?o.overflow=R:o.overflow=null,e.height=Math.min(a.cappedHeight,y-p.top-p.bottom)}else{let T=c>0?p.top+p.bottom:0;l.scalable=!0,l.height=Math.max(g,_-T),e.height=Math.max(g,y-T)}e.ref.credits&&l.heightCurrent&&(e.ref.credits.style.transform=`translateY(${l.heightCurrent}px)`)},bd=e=>{let t=e.ref.list.childViews[0].childViews[0];return t?{top:t.rect.element.marginTop,bottom:t.rect.element.marginBottom}:{top:0,bottom:0}},_d=e=>{let t=0,i=0,a=e.ref.list,n=a.childViews[0],r=n.childViews.filter(E=>E.rect.element.height),o=e.query("GET_ACTIVE_ITEMS").map(E=>r.find(I=>I.id===E.id)).filter(E=>E);if(o.length===0)return{visual:t,bounds:i};let l=n.rect.element.width,s=ji(n,o,a.dragCoordinates),u=o[0].rect.element,c=u.marginTop+u.marginBottom,d=u.marginLeft+u.marginRight,h=u.width+d,m=u.height+c,p=typeof s<"u"&&s>=0?1:0,f=o.find(E=>E.markedForRemoval&&E.opacity<.45)?-1:0,g=o.length+p+f,b=qi(l,h);return b===1?o.forEach(E=>{let I=E.rect.element.height+c;i+=I,t+=I*E.opacity}):(i=Math.ceil(g/b)*m,t=i),{visual:t,bounds:i}},Rd=e=>{let t=e.ref.measureHeight||null;return{cappedHeight:parseInt(e.style.maxHeight,10)||null,fixedHeight:t===0?null:t}},Ji=(e,t)=>{let i=e.query("GET_ALLOW_REPLACE"),a=e.query("GET_ALLOW_MULTIPLE"),n=e.query("GET_TOTAL_ITEMS"),r=e.query("GET_MAX_FILES"),o=t.length;return!a&&o>1?(e.dispatch("DID_THROW_MAX_FILES",{source:t,error:ie("warning",0,"Max files")}),!0):(r=a?r:1,!a&&i?!1:mt(r)&&n+o>r?(e.dispatch("DID_THROW_MAX_FILES",{source:t,error:ie("warning",0,"Max files")}),!0):!1)},yd=(e,t,i)=>{let a=e.childViews[0];return ji(a,t,{left:i.scopeLeft-a.rect.element.left,top:i.scopeTop-(e.rect.outer.top+e.rect.element.marginTop+e.rect.element.scrollTop)})},on=e=>{let t=e.query("GET_ALLOW_DROP"),i=e.query("GET_DISABLED"),a=t&&!i;if(a&&!e.ref.hopper){let n=ld(e.element,r=>{let o=e.query("GET_BEFORE_DROP_FILE")||(()=>!0);return e.query("GET_DROP_VALIDATION")?r.every(s=>Je("ALLOW_HOPPER_ITEM",s,{query:e.query}).every(u=>u===!0)&&o(s)):!0},{filterItems:r=>{let o=e.query("GET_IGNORED_FILES");return r.filter(l=>Ze(l)?!o.includes(l.name.toLowerCase()):!0)},catchesDropsOnPage:e.query("GET_DROP_ON_PAGE"),requiresDropOnElement:e.query("GET_DROP_ON_ELEMENT")});n.onload=(r,o)=>{let s=e.ref.list.childViews[0].childViews.filter(c=>c.rect.element.height),u=e.query("GET_ACTIVE_ITEMS").map(c=>s.find(d=>d.id===c.id)).filter(c=>c);Le("ADD_ITEMS",r,{dispatch:e.dispatch}).then(c=>{if(Ji(e,c))return!1;e.dispatch("ADD_ITEMS",{items:c,index:yd(e.ref.list,u,o),interactionMethod:Se.DROP})}),e.dispatch("DID_DROP",{position:o}),e.dispatch("DID_END_DRAG",{position:o})},n.ondragstart=r=>{e.dispatch("DID_START_DRAG",{position:r})},n.ondrag=jn(r=>{e.dispatch("DID_DRAG",{position:r})}),n.ondragend=r=>{e.dispatch("DID_END_DRAG",{position:r})},e.ref.hopper=n,e.ref.drip=e.appendChildView(e.createChildView(Mc))}else!a&&e.ref.hopper&&(e.ref.hopper.destroy(),e.ref.hopper=null,e.removeChildView(e.ref.drip))},ln=(e,t)=>{let i=e.query("GET_ALLOW_BROWSE"),a=e.query("GET_DISABLED"),n=i&&!a;n&&!e.ref.browser?e.ref.browser=e.appendChildView(e.createChildView(Ic,{...t,onload:r=>{Le("ADD_ITEMS",r,{dispatch:e.dispatch}).then(o=>{if(Ji(e,o))return!1;e.dispatch("ADD_ITEMS",{items:o,index:-1,interactionMethod:Se.BROWSE})})}}),0):!n&&e.ref.browser&&(e.removeChildView(e.ref.browser),e.ref.browser=null)},sn=e=>{let t=e.query("GET_ALLOW_PASTE"),i=e.query("GET_DISABLED"),a=t&&!i;a&&!e.ref.paster?(e.ref.paster=dd(),e.ref.paster.onload=n=>{Le("ADD_ITEMS",n,{dispatch:e.dispatch}).then(r=>{if(Ji(e,r))return!1;e.dispatch("ADD_ITEMS",{items:r,index:-1,interactionMethod:Se.PASTE})})}):!a&&e.ref.paster&&(e.ref.paster.destroy(),e.ref.paster=null)},Sd=fe({DID_SET_ALLOW_BROWSE:({root:e,props:t})=>{ln(e,t)},DID_SET_ALLOW_DROP:({root:e})=>{on(e)},DID_SET_ALLOW_PASTE:({root:e})=>{sn(e)},DID_SET_DISABLED:({root:e,props:t})=>{on(e),sn(e),ln(e,t),e.query("GET_DISABLED")?e.element.dataset.disabled="disabled":e.element.removeAttribute("data-disabled")}}),wd=re({name:"root",read:({root:e})=>{e.ref.measure&&(e.ref.measureHeight=e.ref.measure.offsetHeight)},create:Td,write:Id,destroy:({root:e})=>{e.ref.paster&&e.ref.paster.destroy(),e.ref.hopper&&e.ref.hopper.destroy(),e.element.removeEventListener("touchmove",ai),e.element.removeEventListener("gesturestart",ai)},mixins:{styles:["height"]}}),vd=(e={})=>{let t=null,i=ti(),a=Ho(Ll(i),[$l,xl(i)],[Es,Ol(i)]);a.dispatch("SET_OPTIONS",{options:e});let n=()=>{document.hidden||a.dispatch("KICK")};document.addEventListener("visibilitychange",n);let r=null,o=!1,l=!1,s=null,u=null,c=()=>{o||(o=!0),clearTimeout(r),r=setTimeout(()=>{o=!1,s=null,u=null,l&&(l=!1,a.dispatch("DID_STOP_RESIZE"))},500)};window.addEventListener("resize",c);let d=wd(a,{id:ki()}),h=!1,m=!1,p={_read:()=>{o&&(u=window.innerWidth,s||(s=u),!l&&u!==s&&(a.dispatch("DID_START_RESIZE"),l=!0)),m&&h&&(h=d.element.offsetParent===null),!h&&(d._read(),m=d.rect.element.hidden)},_write:w=>{let L=a.processActionQueue().filter(C=>!/^SET_/.test(C.type));h&&!L.length||(E(L),h=d._write(w,L,l),Fl(a.query("GET_ITEMS")),h&&a.processDispatchQueue())}},f=w=>L=>{let C={type:w};if(!L)return C;if(L.hasOwnProperty("error")&&(C.error=L.error?{...L.error}:null),L.status&&(C.status={...L.status}),L.file&&(C.output=L.file),L.source)C.file=L.source;else if(L.item||L.id){let D=L.item?L.item:a.query("GET_ITEM",L.id);C.file=D?ge(D):null}return L.items&&(C.items=L.items.map(ge)),/progress/.test(w)&&(C.progress=L.progress),L.hasOwnProperty("origin")&&L.hasOwnProperty("target")&&(C.origin=L.origin,C.target=L.target),C},g={DID_DESTROY:f("destroy"),DID_INIT:f("init"),DID_THROW_MAX_FILES:f("warning"),DID_INIT_ITEM:f("initfile"),DID_START_ITEM_LOAD:f("addfilestart"),DID_UPDATE_ITEM_LOAD_PROGRESS:f("addfileprogress"),DID_LOAD_ITEM:f("addfile"),DID_THROW_ITEM_INVALID:[f("error"),f("addfile")],DID_THROW_ITEM_LOAD_ERROR:[f("error"),f("addfile")],DID_THROW_ITEM_REMOVE_ERROR:[f("error"),f("removefile")],DID_PREPARE_OUTPUT:f("preparefile"),DID_START_ITEM_PROCESSING:f("processfilestart"),DID_UPDATE_ITEM_PROCESS_PROGRESS:f("processfileprogress"),DID_ABORT_ITEM_PROCESSING:f("processfileabort"),DID_COMPLETE_ITEM_PROCESSING:f("processfile"),DID_COMPLETE_ITEM_PROCESSING_ALL:f("processfiles"),DID_REVERT_ITEM_PROCESSING:f("processfilerevert"),DID_THROW_ITEM_PROCESSING_ERROR:[f("error"),f("processfile")],DID_REMOVE_ITEM:f("removefile"),DID_UPDATE_ITEMS:f("updatefiles"),DID_ACTIVATE_ITEM:f("activatefile"),DID_REORDER_ITEMS:f("reorderfiles")},b=w=>{let L={pond:F,...w};delete L.type,d.element.dispatchEvent(new CustomEvent(`FilePond:${w.type}`,{detail:L,bubbles:!0,cancelable:!0,composed:!0}));let C=[];w.hasOwnProperty("error")&&C.push(w.error),w.hasOwnProperty("file")&&C.push(w.file);let D=["type","error","file"];Object.keys(w).filter(B=>!D.includes(B)).forEach(B=>C.push(w[B])),F.fire(w.type,...C);let V=a.query(`GET_ON${w.type.toUpperCase()}`);V&&V(...C)},E=w=>{w.length&&w.filter(L=>g[L.type]).forEach(L=>{let C=g[L.type];(Array.isArray(C)?C:[C]).forEach(D=>{L.type==="DID_INIT_ITEM"?b(D(L.data)):setTimeout(()=>{b(D(L.data))},0)})})},I=w=>a.dispatch("SET_OPTIONS",{options:w}),_=w=>a.query("GET_ACTIVE_ITEM",w),y=w=>new Promise((L,C)=>{a.dispatch("REQUEST_ITEM_PREPARE",{query:w,success:D=>{L(D)},failure:D=>{C(D)}})}),T=(w,L={})=>new Promise((C,D)=>{S([{source:w,options:L}],{index:L.index}).then(V=>C(V&&V[0])).catch(D)}),v=w=>w.file&&w.id,R=(w,L)=>(typeof w=="object"&&!v(w)&&!L&&(L=w,w=void 0),a.dispatch("REMOVE_ITEM",{...L,query:w}),a.query("GET_ACTIVE_ITEM",w)===null),S=(...w)=>new Promise((L,C)=>{let D=[],V={};if(ni(w[0]))D.push.apply(D,w[0]),Object.assign(V,w[1]||{});else{let B=w[w.length-1];typeof B=="object"&&!(B instanceof Blob)&&Object.assign(V,w.pop()),D.push(...w)}a.dispatch("ADD_ITEMS",{items:D,index:V.index,interactionMethod:Se.API,success:L,failure:C})}),P=()=>a.query("GET_ACTIVE_ITEMS"),x=w=>new Promise((L,C)=>{a.dispatch("REQUEST_ITEM_PROCESSING",{query:w,success:D=>{L(D)},failure:D=>{C(D)}})}),O=(...w)=>{let L=Array.isArray(w[0])?w[0]:w,C=L.length?L:P();return Promise.all(C.map(y))},z=(...w)=>{let L=Array.isArray(w[0])?w[0]:w;if(!L.length){let C=P().filter(D=>!(D.status===k.IDLE&&D.origin===se.LOCAL)&&D.status!==k.PROCESSING&&D.status!==k.PROCESSING_COMPLETE&&D.status!==k.PROCESSING_REVERT_ERROR);return Promise.all(C.map(x))}return Promise.all(L.map(x))},A=(...w)=>{let L=Array.isArray(w[0])?w[0]:w,C;typeof L[L.length-1]=="object"?C=L.pop():Array.isArray(w[0])&&(C=w[1]);let D=P();return L.length?L.map(B=>$e(B)?D[B]?D[B].id:null:B).filter(B=>B).map(B=>R(B,C)):Promise.all(D.map(B=>R(B,C)))},F={...li(),...p,...Ml(a,i),setOptions:I,addFile:T,addFiles:S,getFile:_,processFile:x,prepareFile:y,removeFile:R,moveFile:(w,L)=>a.dispatch("MOVE_ITEM",{query:w,index:L}),getFiles:P,processFiles:z,removeFiles:A,prepareFiles:O,sort:w=>a.dispatch("SORT",{compare:w}),browse:()=>{var w=d.element.querySelector("input[type=file]");w&&w.click()},destroy:()=>{F.fire("destroy",d.element),a.dispatch("ABORT_ALL"),d._destroy(),window.removeEventListener("resize",c),document.removeEventListener("visibilitychange",n),a.dispatch("DID_DESTROY")},insertBefore:w=>Oa(d.element,w),insertAfter:w=>xa(d.element,w),appendTo:w=>w.appendChild(d.element),replaceElement:w=>{Oa(d.element,w),w.parentNode.removeChild(w),t=w},restoreElement:()=>{t&&(xa(t,d.element),d.element.parentNode.removeChild(d.element),t=null)},isAttachedTo:w=>d.element===w||t===w,element:{get:()=>d.element},status:{get:()=>a.query("GET_STATUS")}};return a.dispatch("DID_INIT"),Ue(F)},Xn=(e={})=>{let t={};return te(ti(),(a,n)=>{t[a]=n[0]}),vd({...t,...e})},Ad=e=>e.charAt(0).toLowerCase()+e.slice(1),Ld=e=>qn(e.replace(/^data-/,"")),Qn=(e,t)=>{te(t,(i,a)=>{te(e,(n,r)=>{let o=new RegExp(i);if(!o.test(n)||(delete e[n],a===!1))return;if(pe(a)){e[a]=r;return}let s=a.group;ce(a)&&!e[s]&&(e[s]={}),e[s][Ad(n.replace(o,""))]=r}),a.mapping&&Qn(e[a.group],a.mapping)})},Md=(e,t={})=>{let i=[];te(e.attributes,n=>{i.push(e.attributes[n])});let a=i.filter(n=>n.name).reduce((n,r)=>{let o=ne(e,r.name);return n[Ld(r.name)]=o===r.name?!0:o,n},{});return Qn(a,t),a},Od=(e,t={})=>{let i={"^class$":"className","^multiple$":"allowMultiple","^capture$":"captureMethod","^webkitdirectory$":"allowDirectoriesOnly","^server":{group:"server",mapping:{"^process":{group:"process"},"^revert":{group:"revert"},"^fetch":{group:"fetch"},"^restore":{group:"restore"},"^load":{group:"load"}}},"^type$":!1,"^files$":!1};Je("SET_ATTRIBUTE_TO_OPTION_MAP",i);let a={...t},n=Md(e.nodeName==="FIELDSET"?e.querySelector("input[type=file]"):e,i);Object.keys(n).forEach(o=>{ce(n[o])?(ce(a[o])||(a[o]={}),Object.assign(a[o],n[o])):a[o]=n[o]}),a.files=(t.files||[]).concat(Array.from(e.querySelectorAll("input:not([type=file])")).map(o=>({source:o.value,options:{type:o.dataset.type}})));let r=Xn(a);return e.files&&Array.from(e.files).forEach(o=>{r.addFile(o)}),r.replaceElement(e),r},xd=(...e)=>ko(e[0])?Od(...e):Xn(...e),Pd=["fire","_read","_write"],cn=e=>{let t={};return En(e,t,Pd),t},Dd=(e,t)=>e.replace(/(?:{([a-zA-Z]+)})/g,(i,a)=>t[a]),Fd=e=>{let t=new Blob(["(",e.toString(),")()"],{type:"application/javascript"}),i=URL.createObjectURL(t),a=new Worker(i);return{transfer:(n,r)=>{},post:(n,r,o)=>{let l=ki();a.onmessage=s=>{s.data.id===l&&r(s.data.message)},a.postMessage({id:l,message:n},o)},terminate:()=>{a.terminate(),URL.revokeObjectURL(i)}}},Cd=e=>new Promise((t,i)=>{let a=new Image;a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),Zn=(e,t)=>{let i=e.slice(0,e.size,e.type);return i.lastModifiedDate=e.lastModifiedDate,i.name=t,i},zd=e=>Zn(e,e.name),dn=[],Nd=e=>{if(dn.includes(e))return;dn.push(e);let t=e({addFilter:zl,utils:{Type:M,forin:te,isString:pe,isFile:Ze,toNaturalFileSize:On,replaceInString:Dd,getExtensionFromFilename:si,getFilenameWithoutExtension:An,guesstimateMimeType:Un,getFileFromBlob:ht,getFilenameFromURL:xt,createRoute:fe,createWorker:Fd,createView:re,createItemAPI:ge,loadImage:Cd,copyFile:zd,renameFile:Zn,createBlob:Sn,applyFilterChain:Le,text:ae,getNumericAspectRatioFromString:bn},views:{fileActionButton:Mn}});Nl(t.options)},Bd=()=>Object.prototype.toString.call(window.operamini)==="[object OperaMini]",Vd=()=>"Promise"in window,Gd=()=>"slice"in Blob.prototype,Ud=()=>"URL"in window&&"createObjectURL"in window.URL,kd=()=>"visibilityState"in document,Hd=()=>"performance"in window,Wd=()=>"supports"in(window.CSS||{}),Yd=()=>/MSIE|Trident/.test(window.navigator.userAgent),zi=(()=>{let e=un()&&!Bd()&&kd()&&Vd()&&Gd()&&Ud()&&Hd()&&(Wd()||Yd());return()=>e})(),Ge={apps:[]},$d="filepond",et=()=>{},Kn={},pt={},Pt={},Ni={},dt=et,ut=et,Bi=et,Vi=et,_e=et,Gi=et,Ot=et;if(zi()){pl(()=>{Ge.apps.forEach(i=>i._read())},i=>{Ge.apps.forEach(a=>a._write(i))});let e=()=>{document.dispatchEvent(new CustomEvent("FilePond:loaded",{detail:{supported:zi,create:dt,destroy:ut,parse:Bi,find:Vi,registerPlugin:_e,setOptions:Ot}})),document.removeEventListener("DOMContentLoaded",e)};document.readyState!=="loading"?setTimeout(()=>e(),0):document.addEventListener("DOMContentLoaded",e);let t=()=>te(ti(),(i,a)=>{Ni[i]=a[1]});Kn={..._n},Pt={...se},pt={...k},Ni={},t(),dt=(...i)=>{let a=xd(...i);return a.on("destroy",ut),Ge.apps.push(a),cn(a)},ut=i=>{let a=Ge.apps.findIndex(n=>n.isAttachedTo(i));return a>=0?(Ge.apps.splice(a,1)[0].restoreElement(),!0):!1},Bi=i=>Array.from(i.querySelectorAll(`.${$d}`)).filter(r=>!Ge.apps.find(o=>o.isAttachedTo(r))).map(r=>dt(r)),Vi=i=>{let a=Ge.apps.find(n=>n.isAttachedTo(i));return a?cn(a):null},_e=(...i)=>{i.forEach(Nd),t()},Gi=()=>{let i={};return te(ti(),(a,n)=>{i[a]=n[0]}),i},Ot=i=>(ce(i)&&(Ge.apps.forEach(a=>{a.setOptions(i)}),Bl(i)),Gi())}function Jn(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),i.push.apply(i,a)}return i}function fr(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,a=new Array(t);i
',du=Number.isNaN||De.isNaN;function Y(e){return typeof e=="number"&&!du(e)}var hr=function(t){return t>0&&t<1/0};function ta(e){return typeof e>"u"}function at(e){return aa(e)==="object"&&e!==null}var uu=Object.prototype.hasOwnProperty;function gt(e){if(!at(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&uu.call(i,"isPrototypeOf")}catch{return!1}}function Ee(e){return typeof e=="function"}var hu=Array.prototype.slice;function wr(e){return Array.from?Array.from(e):hu.call(e)}function oe(e,t){return e&&Ee(t)&&(Array.isArray(e)||Y(e.length)?wr(e).forEach(function(i,a){t.call(e,i,a,e)}):at(e)&&Object.keys(e).forEach(function(i){t.call(e,e[i],i,e)})),e}var K=Object.assign||function(t){for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n0&&a.forEach(function(r){at(r)&&Object.keys(r).forEach(function(o){t[o]=r[o]})}),t},mu=/\.\d*(?:0|9){12}\d*$/;function Tt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return mu.test(e)?Math.round(e*t)/t:e}var pu=/^width|height|left|top|marginLeft|marginTop$/;function He(e,t){var i=e.style;oe(t,function(a,n){pu.test(n)&&Y(a)&&(a="".concat(a,"px")),i[n]=a})}function fu(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function de(e,t){if(t){if(Y(e.length)){oe(e,function(a){de(a,t)});return}if(e.classList){e.classList.add(t);return}var i=e.className.trim();i?i.indexOf(t)<0&&(e.className="".concat(i," ").concat(t)):e.className=t}}function Pe(e,t){if(t){if(Y(e.length)){oe(e,function(i){Pe(i,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,""))}}function Et(e,t,i){if(t){if(Y(e.length)){oe(e,function(a){Et(a,t,i)});return}i?de(e,t):Pe(e,t)}}var gu=/([a-z\d])([A-Z])/g;function Ea(e){return e.replace(gu,"$1-$2").toLowerCase()}function ha(e,t){return at(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(Ea(t)))}function Vt(e,t,i){at(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-".concat(Ea(t)),i)}function Eu(e,t){if(at(e[t]))try{delete e[t]}catch{e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch{e.dataset[t]=void 0}else e.removeAttribute("data-".concat(Ea(t)))}var vr=/\s\s*/,Ar=function(){var e=!1;if(pi){var t=!1,i=function(){},a=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(r){t=r}});De.addEventListener("test",i,a),De.removeEventListener("test",i,a)}return e}();function xe(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(vr).forEach(function(r){if(!Ar){var o=e.listeners;o&&o[r]&&o[r][i]&&(n=o[r][i],delete o[r][i],Object.keys(o[r]).length===0&&delete o[r],Object.keys(o).length===0&&delete e.listeners)}e.removeEventListener(r,n,a)})}function we(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(vr).forEach(function(r){if(a.once&&!Ar){var o=e.listeners,l=o===void 0?{}:o;n=function(){delete l[r][i],e.removeEventListener(r,n,a);for(var u=arguments.length,c=new Array(u),d=0;dMath.abs(i)&&(i=h)})}),i}function hi(e,t){var i=e.pageX,a=e.pageY,n={endX:i,endY:a};return t?n:fr({startX:i,startY:a},n)}function bu(e){var t=0,i=0,a=0;return oe(e,function(n){var r=n.startX,o=n.startY;t+=r,i+=o,a+=1}),t/=a,i/=a,{pageX:t,pageY:i}}function We(e){var t=e.aspectRatio,i=e.height,a=e.width,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",r=hr(a),o=hr(i);if(r&&o){var l=i*t;n==="contain"&&l>a||n==="cover"&&l90?{width:s,height:l}:{width:l,height:s}}function Ru(e,t,i,a){var n=t.aspectRatio,r=t.naturalWidth,o=t.naturalHeight,l=t.rotate,s=l===void 0?0:l,u=t.scaleX,c=u===void 0?1:u,d=t.scaleY,h=d===void 0?1:d,m=i.aspectRatio,p=i.naturalWidth,f=i.naturalHeight,g=a.fillColor,b=g===void 0?"transparent":g,E=a.imageSmoothingEnabled,I=E===void 0?!0:E,_=a.imageSmoothingQuality,y=_===void 0?"low":_,T=a.maxWidth,v=T===void 0?1/0:T,R=a.maxHeight,S=R===void 0?1/0:R,P=a.minWidth,x=P===void 0?0:P,O=a.minHeight,z=O===void 0?0:O,A=document.createElement("canvas"),F=A.getContext("2d"),w=We({aspectRatio:m,width:v,height:S}),L=We({aspectRatio:m,width:x,height:z},"cover"),C=Math.min(w.width,Math.max(L.width,p)),D=Math.min(w.height,Math.max(L.height,f)),V=We({aspectRatio:n,width:v,height:S}),B=We({aspectRatio:n,width:x,height:z},"cover"),j=Math.min(V.width,Math.max(B.width,r)),q=Math.min(V.height,Math.max(B.height,o)),X=[-j/2,-q/2,j,q];return A.width=Tt(C),A.height=Tt(D),F.fillStyle=b,F.fillRect(0,0,C,D),F.save(),F.translate(C/2,D/2),F.rotate(s*Math.PI/180),F.scale(c,h),F.imageSmoothingEnabled=I,F.imageSmoothingQuality=y,F.drawImage.apply(F,[e].concat(gr(X.map(function(ue){return Math.floor(Tt(ue))})))),F.restore(),A}var Mr=String.fromCharCode;function yu(e,t,i){var a="";i+=t;for(var n=t;n0;)i.push(Mr.apply(null,wr(n.subarray(0,a)))),n=n.subarray(a);return"data:".concat(t,";base64,").concat(btoa(i.join("")))}function Au(e){var t=new DataView(e),i;try{var a,n,r;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var o=t.byteLength,l=2;l+1=8&&(r=u+d)}}}if(r){var h=t.getUint16(r,a),m,p;for(p=0;p=0?r:yr),height:Math.max(a.offsetHeight,o>=0?o:Sr)};this.containerData=l,He(n,{width:l.width,height:l.height}),de(t,Te),Pe(n,Te)},initCanvas:function(){var t=this.containerData,i=this.imageData,a=this.options.viewMode,n=Math.abs(i.rotate)%180===90,r=n?i.naturalHeight:i.naturalWidth,o=n?i.naturalWidth:i.naturalHeight,l=r/o,s=t.width,u=t.height;t.height*l>t.width?a===3?s=t.height*l:u=t.width/l:a===3?u=t.width/l:s=t.height*l;var c={aspectRatio:l,naturalWidth:r,naturalHeight:o,width:s,height:u};this.canvasData=c,this.limited=a===1||a===2,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=K({},c)},limitCanvas:function(t,i){var a=this.options,n=this.containerData,r=this.canvasData,o=this.cropBoxData,l=a.viewMode,s=r.aspectRatio,u=this.cropped&&o;if(t){var c=Number(a.minCanvasWidth)||0,d=Number(a.minCanvasHeight)||0;l>1?(c=Math.max(c,n.width),d=Math.max(d,n.height),l===3&&(d*s>c?c=d*s:d=c/s)):l>0&&(c?c=Math.max(c,u?o.width:0):d?d=Math.max(d,u?o.height:0):u&&(c=o.width,d=o.height,d*s>c?c=d*s:d=c/s));var h=We({aspectRatio:s,width:c,height:d});c=h.width,d=h.height,r.minWidth=c,r.minHeight=d,r.maxWidth=1/0,r.maxHeight=1/0}if(i)if(l>(u?0:1)){var m=n.width-r.width,p=n.height-r.height;r.minLeft=Math.min(0,m),r.minTop=Math.min(0,p),r.maxLeft=Math.max(0,m),r.maxTop=Math.max(0,p),u&&this.limited&&(r.minLeft=Math.min(o.left,o.left+(o.width-r.width)),r.minTop=Math.min(o.top,o.top+(o.height-r.height)),r.maxLeft=o.left,r.maxTop=o.top,l===2&&(r.width>=n.width&&(r.minLeft=Math.min(0,m),r.maxLeft=Math.max(0,m)),r.height>=n.height&&(r.minTop=Math.min(0,p),r.maxTop=Math.max(0,p))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=n.width,r.maxTop=n.height},renderCanvas:function(t,i){var a=this.canvasData,n=this.imageData;if(i){var r=_u({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),o=r.width,l=r.height,s=a.width*(o/a.naturalWidth),u=a.height*(l/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(u-a.height)/2,a.width=s,a.height=u,a.aspectRatio=o/l,a.naturalWidth=o,a.naturalHeight=l,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighti.width?r.height=r.width/a:r.width=r.height*a),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*n),r.height=Math.max(r.minHeight,r.height*n),r.left=i.left+(i.width-r.width)/2,r.top=i.top+(i.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=K({},r)},limitCropBox:function(t,i){var a=this.options,n=this.containerData,r=this.canvasData,o=this.cropBoxData,l=this.limited,s=a.aspectRatio;if(t){var u=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,d=l?Math.min(n.width,r.width,r.width+r.left,n.width-r.left):n.width,h=l?Math.min(n.height,r.height,r.height+r.top,n.height-r.top):n.height;u=Math.min(u,n.width),c=Math.min(c,n.height),s&&(u&&c?c*s>u?c=u/s:u=c*s:u?c=u/s:c&&(u=c*s),h*s>d?h=d/s:d=h*s),o.minWidth=Math.min(u,d),o.minHeight=Math.min(c,h),o.maxWidth=d,o.maxHeight=h}i&&(l?(o.minLeft=Math.max(0,r.left),o.minTop=Math.max(0,r.top),o.maxLeft=Math.min(n.width,r.left+r.width)-o.width,o.maxTop=Math.min(n.height,r.top+r.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=n.width-o.width,o.maxTop=n.height-o.height))},renderCropBox:function(){var t=this.options,i=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=i.width&&a.height>=i.height?Ir:fa),He(this.cropBox,K({width:a.width,height:a.height},Nt({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),It(this.element,la,this.getData())}},Ou={initPreview:function(){var t=this.element,i=this.crossOrigin,a=this.options.preview,n=i?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",o=document.createElement("img");if(i&&(o.crossOrigin=i),o.src=n,o.alt=r,this.viewBox.appendChild(o),this.viewBoxImage=o,!!a){var l=a;typeof a=="string"?l=t.ownerDocument.querySelectorAll(a):a.querySelector&&(l=[a]),this.previews=l,oe(l,function(s){var u=document.createElement("img");Vt(s,ui,{width:s.offsetWidth,height:s.offsetHeight,html:s.innerHTML}),i&&(u.crossOrigin=i),u.src=n,u.alt=r,u.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',s.innerHTML="",s.appendChild(u)})}},resetPreview:function(){oe(this.previews,function(t){var i=ha(t,ui);He(t,{width:i.width,height:i.height}),t.innerHTML=i.html,Eu(t,ui)})},preview:function(){var t=this.imageData,i=this.canvasData,a=this.cropBoxData,n=a.width,r=a.height,o=t.width,l=t.height,s=a.left-i.left-t.left,u=a.top-i.top-t.top;!this.cropped||this.disabled||(He(this.viewBoxImage,K({width:o,height:l},Nt(K({translateX:-s,translateY:-u},t)))),oe(this.previews,function(c){var d=ha(c,ui),h=d.width,m=d.height,p=h,f=m,g=1;n&&(g=h/n,f=r*g),r&&f>m&&(g=m/r,p=n*g,f=m),He(c,{width:p,height:f}),He(c.getElementsByTagName("img")[0],K({width:o*g,height:l*g},Nt(K({translateX:-s*g,translateY:-u*g},t))))}))}},xu={bind:function(){var t=this.element,i=this.options,a=this.cropper;Ee(i.cropstart)&&we(t,da,i.cropstart),Ee(i.cropmove)&&we(t,ca,i.cropmove),Ee(i.cropend)&&we(t,sa,i.cropend),Ee(i.crop)&&we(t,la,i.crop),Ee(i.zoom)&&we(t,ua,i.zoom),we(a,nr,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&we(a,cr,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&we(a,ar,this.onDblclick=this.dblclick.bind(this)),we(t.ownerDocument,rr,this.onCropMove=this.cropMove.bind(this)),we(t.ownerDocument,or,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&we(window,sr,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,a=this.cropper;Ee(i.cropstart)&&xe(t,da,i.cropstart),Ee(i.cropmove)&&xe(t,ca,i.cropmove),Ee(i.cropend)&&xe(t,sa,i.cropend),Ee(i.crop)&&xe(t,la,i.crop),Ee(i.zoom)&&xe(t,ua,i.zoom),xe(a,nr,this.onCropStart),i.zoomable&&i.zoomOnWheel&&xe(a,cr,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&xe(a,ar,this.onDblclick),xe(t.ownerDocument,rr,this.onCropMove),xe(t.ownerDocument,or,this.onCropEnd),i.responsive&&xe(window,sr,this.onResize)}},Pu={resize:function(){if(!this.disabled){var t=this.options,i=this.container,a=this.containerData,n=i.offsetWidth/a.width,r=i.offsetHeight/a.height,o=Math.abs(n-1)>Math.abs(r-1)?n:r;if(o!==1){var l,s;t.restore&&(l=this.getCanvasData(),s=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(oe(l,function(u,c){l[c]=u*o})),this.setCropBoxData(oe(s,function(u,c){s[c]=u*o})))}}},dblclick:function(){this.disabled||this.options.dragMode===Rr||this.setDragMode(fu(this.dragBox,ra)?_r:ga)},wheel:function(t){var i=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){i.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){var i=t.buttons,a=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(Y(i)&&i!==1||Y(a)&&a!==0||t.ctrlKey))){var n=this.options,r=this.pointers,o;t.changedTouches?oe(t.changedTouches,function(l){r[l.identifier]=hi(l)}):r[t.pointerId||0]=hi(t),Object.keys(r).length>1&&n.zoomable&&n.zoomOnTouch?o=br:o=ha(t.target,Bt),ru.test(o)&&It(this.element,da,{originalEvent:t,action:o})!==!1&&(t.preventDefault(),this.action=o,this.cropping=!1,o===Tr&&(this.cropping=!0,de(this.dragBox,mi)))}},cropMove:function(t){var i=this.action;if(!(this.disabled||!i)){var a=this.pointers;t.preventDefault(),It(this.element,ca,{originalEvent:t,action:i})!==!1&&(t.changedTouches?oe(t.changedTouches,function(n){K(a[n.identifier]||{},hi(n,!0))}):K(a[t.pointerId||0]||{},hi(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,a=this.pointers;t.changedTouches?oe(t.changedTouches,function(n){delete a[n.identifier]}):delete a[t.pointerId||0],i&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,Et(this.dragBox,mi,this.cropped&&this.options.modal)),It(this.element,sa,{originalEvent:t,action:i}))}}},Du={change:function(t){var i=this.options,a=this.canvasData,n=this.containerData,r=this.cropBoxData,o=this.pointers,l=this.action,s=i.aspectRatio,u=r.left,c=r.top,d=r.width,h=r.height,m=u+d,p=c+h,f=0,g=0,b=n.width,E=n.height,I=!0,_;!s&&t.shiftKey&&(s=d&&h?d/h:1),this.limited&&(f=r.minLeft,g=r.minTop,b=f+Math.min(n.width,a.width,a.left+a.width),E=g+Math.min(n.height,a.height,a.top+a.height));var y=o[Object.keys(o)[0]],T={x:y.endX-y.startX,y:y.endY-y.startY},v=function(S){switch(S){case tt:m+T.x>b&&(T.x=b-m);break;case it:u+T.xE&&(T.y=E-p);break}};switch(l){case fa:u+=T.x,c+=T.y;break;case tt:if(T.x>=0&&(m>=b||s&&(c<=g||p>=E))){I=!1;break}v(tt),d+=T.x,d<0&&(l=it,d=-d,u-=d),s&&(h=d/s,c+=(r.height-h)/2);break;case ke:if(T.y<=0&&(c<=g||s&&(u<=f||m>=b))){I=!1;break}v(ke),h-=T.y,c+=T.y,h<0&&(l=ft,h=-h,c-=h),s&&(d=h*s,u+=(r.width-d)/2);break;case it:if(T.x<=0&&(u<=f||s&&(c<=g||p>=E))){I=!1;break}v(it),d-=T.x,u+=T.x,d<0&&(l=tt,d=-d,u-=d),s&&(h=d/s,c+=(r.height-h)/2);break;case ft:if(T.y>=0&&(p>=E||s&&(u<=f||m>=b))){I=!1;break}v(ft),h+=T.y,h<0&&(l=ke,h=-h,c-=h),s&&(d=h*s,u+=(r.width-d)/2);break;case Dt:if(s){if(T.y<=0&&(c<=g||m>=b)){I=!1;break}v(ke),h-=T.y,c+=T.y,d=h*s}else v(ke),v(tt),T.x>=0?mg&&(h-=T.y,c+=T.y):(h-=T.y,c+=T.y);d<0&&h<0?(l=zt,h=-h,d=-d,c-=h,u-=d):d<0?(l=Ft,d=-d,u-=d):h<0&&(l=Ct,h=-h,c-=h);break;case Ft:if(s){if(T.y<=0&&(c<=g||u<=f)){I=!1;break}v(ke),h-=T.y,c+=T.y,d=h*s,u+=r.width-d}else v(ke),v(it),T.x<=0?u>f?(d-=T.x,u+=T.x):T.y<=0&&c<=g&&(I=!1):(d-=T.x,u+=T.x),T.y<=0?c>g&&(h-=T.y,c+=T.y):(h-=T.y,c+=T.y);d<0&&h<0?(l=Ct,h=-h,d=-d,c-=h,u-=d):d<0?(l=Dt,d=-d,u-=d):h<0&&(l=zt,h=-h,c-=h);break;case zt:if(s){if(T.x<=0&&(u<=f||p>=E)){I=!1;break}v(it),d-=T.x,u+=T.x,h=d/s}else v(ft),v(it),T.x<=0?u>f?(d-=T.x,u+=T.x):T.y>=0&&p>=E&&(I=!1):(d-=T.x,u+=T.x),T.y>=0?p=0&&(m>=b||p>=E)){I=!1;break}v(tt),d+=T.x,h=d/s}else v(ft),v(tt),T.x>=0?m=0&&p>=E&&(I=!1):d+=T.x,T.y>=0?p0?l=T.y>0?Ct:Dt:T.x<0&&(u-=d,l=T.y>0?zt:Ft),T.y<0&&(c-=h),this.cropped||(Pe(this.cropBox,Te),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}I&&(r.width=d,r.height=h,r.left=u,r.top=c,this.action=l,this.renderCropBox()),oe(o,function(R){R.startX=R.endX,R.startY=R.endY})}},Fu={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&de(this.dragBox,mi),Pe(this.cropBox,Te),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=K({},this.initialImageData),this.canvasData=K({},this.initialCanvasData),this.cropBoxData=K({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(K(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Pe(this.dragBox,mi),de(this.cropBox,Te)),this},replace:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),i?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,oe(this.previews,function(a){a.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Pe(this.cropper,tr)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,de(this.cropper,tr)),this},destroy:function(){var t=this.element;return t[Z]?(t[Z]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=a.left,r=a.top;return this.moveTo(ta(t)?t:n+Number(t),ta(i)?i:r+Number(i))},moveTo:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(Y(t)&&(a.left=t,n=!0),Y(i)&&(a.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,i){var a=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(a.width*t/a.naturalWidth,null,i)},zoomTo:function(t,i,a){var n=this.options,r=this.canvasData,o=r.width,l=r.height,s=r.naturalWidth,u=r.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,d=u*t;if(It(this.element,ua,{ratio:t,oldRatio:o/s,originalEvent:a})===!1)return this;if(a){var h=this.pointers,m=Lr(this.cropper),p=h&&Object.keys(h).length?bu(h):{pageX:a.pageX,pageY:a.pageY};r.left-=(c-o)*((p.pageX-m.left-r.left)/o),r.top-=(d-l)*((p.pageY-m.top-r.top)/l)}else gt(i)&&Y(i.x)&&Y(i.y)?(r.left-=(c-o)*((i.x-r.left)/o),r.top-=(d-l)*((i.y-r.top)/l)):(r.left-=(c-o)/2,r.top-=(d-l)/2);r.width=c,r.height=d,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),Y(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var i=this.imageData.scaleY;return this.scale(t,Y(i)?i:1)},scaleY:function(t){var i=this.imageData.scaleX;return this.scale(Y(i)?i:1,t)},scale:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(Y(t)&&(a.scaleX=t,n=!0),Y(i)&&(a.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=this.options,a=this.imageData,n=this.canvasData,r=this.cropBoxData,o;if(this.ready&&this.cropped){o={x:r.left-n.left,y:r.top-n.top,width:r.width,height:r.height};var l=a.width/a.naturalWidth;if(oe(o,function(c,d){o[d]=c/l}),t){var s=Math.round(o.y+o.height),u=Math.round(o.x+o.width);o.x=Math.round(o.x),o.y=Math.round(o.y),o.width=u-o.x,o.height=s-o.y}}else o={x:0,y:0,width:0,height:0};return i.rotatable&&(o.rotate=a.rotate||0),i.scalable&&(o.scaleX=a.scaleX||1,o.scaleY=a.scaleY||1),o},setData:function(t){var i=this.options,a=this.imageData,n=this.canvasData,r={};if(this.ready&&!this.disabled&>(t)){var o=!1;i.rotatable&&Y(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,o=!0),i.scalable&&(Y(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,o=!0),Y(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var l=a.width/a.naturalWidth;Y(t.x)&&(r.left=t.x*l+n.left),Y(t.y)&&(r.top=t.y*l+n.top),Y(t.width)&&(r.width=t.width*l),Y(t.height)&&(r.height=t.height*l),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?K({},this.containerData):{}},getImageData:function(){return this.sized?K({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&oe(["left","top","width","height","naturalWidth","naturalHeight"],function(a){i[a]=t[a]}),i},setCanvasData:function(t){var i=this.canvasData,a=i.aspectRatio;return this.ready&&!this.disabled&>(t)&&(Y(t.left)&&(i.left=t.left),Y(t.top)&&(i.top=t.top),Y(t.width)?(i.width=t.width,i.height=t.width/a):Y(t.height)&&(i.height=t.height,i.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,i;return this.ready&&this.cropped&&(i={left:t.left,top:t.top,width:t.width,height:t.height}),i||{}},setCropBoxData:function(t){var i=this.cropBoxData,a=this.options.aspectRatio,n,r;return this.ready&&this.cropped&&!this.disabled&>(t)&&(Y(t.left)&&(i.left=t.left),Y(t.top)&&(i.top=t.top),Y(t.width)&&t.width!==i.width&&(n=!0,i.width=t.width),Y(t.height)&&t.height!==i.height&&(r=!0,i.height=t.height),a&&(n?i.height=i.width/a:r&&(i.width=i.height*a)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,a=Ru(this.image,this.imageData,i,t);if(!this.cropped)return a;var n=this.getData(t.rounded),r=n.x,o=n.y,l=n.width,s=n.height,u=a.width/Math.floor(i.naturalWidth);u!==1&&(r*=u,o*=u,l*=u,s*=u);var c=l/s,d=We({aspectRatio:c,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),h=We({aspectRatio:c,width:t.minWidth||0,height:t.minHeight||0},"cover"),m=We({aspectRatio:c,width:t.width||(u!==1?a.width:l),height:t.height||(u!==1?a.height:s)}),p=m.width,f=m.height;p=Math.min(d.width,Math.max(h.width,p)),f=Math.min(d.height,Math.max(h.height,f));var g=document.createElement("canvas"),b=g.getContext("2d");g.width=Tt(p),g.height=Tt(f),b.fillStyle=t.fillColor||"transparent",b.fillRect(0,0,p,f);var E=t.imageSmoothingEnabled,I=E===void 0?!0:E,_=t.imageSmoothingQuality;b.imageSmoothingEnabled=I,_&&(b.imageSmoothingQuality=_);var y=a.width,T=a.height,v=r,R=o,S,P,x,O,z,A;v<=-l||v>y?(v=0,S=0,x=0,z=0):v<=0?(x=-v,v=0,S=Math.min(y,l+v),z=S):v<=y&&(x=0,S=Math.min(l,y-v),z=S),S<=0||R<=-s||R>T?(R=0,P=0,O=0,A=0):R<=0?(O=-R,R=0,P=Math.min(T,s+R),A=P):R<=T&&(O=0,P=Math.min(s,T-R),A=P);var F=[v,R,S,P];if(z>0&&A>0){var w=p/l;F.push(x*w,O*w,z*w,A*w)}return b.drawImage.apply(b,[a].concat(gr(F.map(function(L){return Math.floor(Tt(L))})))),g},setAspectRatio:function(t){var i=this.options;return!this.disabled&&!ta(t)&&(i.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var i=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var r=t===ga,o=i.movable&&t===_r;t=r||o?t:Rr,i.dragMode=t,Vt(a,Bt,t),Et(a,ra,r),Et(a,oa,o),i.cropBoxMovable||(Vt(n,Bt,t),Et(n,ra,r),Et(n,oa,o))}return this}},Cu=De.Cropper,Ta=function(){function e(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(qd(this,e),!t||!su.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=K({},ur,gt(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return jd(e,[{key:"init",value:function(){var i=this.element,a=i.tagName.toLowerCase(),n;if(!i[Z]){if(i[Z]=this,a==="img"){if(this.isImg=!0,n=i.getAttribute("src")||"",this.originalUrl=n,!n)return;n=i.src}else a==="canvas"&&window.HTMLCanvasElement&&(n=i.toDataURL());this.load(n)}}},{key:"load",value:function(i){var a=this;if(i){this.url=i,this.imageData={};var n=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(ou.test(i)){lu.test(i)?this.read(wu(i)):this.clone();return}var o=new XMLHttpRequest,l=this.clone.bind(this);this.reloading=!0,this.xhr=o,o.onabort=l,o.onerror=l,o.ontimeout=l,o.onprogress=function(){o.getResponseHeader("content-type")!==dr&&o.abort()},o.onload=function(){a.read(o.response)},o.onloadend=function(){a.reloading=!1,a.xhr=null},r.checkCrossOrigin&&mr(i)&&n.crossOrigin&&(i=pr(i)),o.open("GET",i,!0),o.responseType="arraybuffer",o.withCredentials=n.crossOrigin==="use-credentials",o.send()}}},{key:"read",value:function(i){var a=this.options,n=this.imageData,r=Au(i),o=0,l=1,s=1;if(r>1){this.url=vu(i,dr);var u=Lu(r);o=u.rotate,l=u.scaleX,s=u.scaleY}a.rotatable&&(n.rotate=o),a.scalable&&(n.scaleX=l,n.scaleY=s),this.clone()}},{key:"clone",value:function(){var i=this.element,a=this.url,n=i.crossOrigin,r=a;this.options.checkCrossOrigin&&mr(a)&&(n||(n="anonymous"),r=pr(a)),this.crossOrigin=n,this.crossOriginUrl=r;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=r||a,o.alt=i.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),de(o,ir),i.parentNode.insertBefore(o,i.nextSibling)}},{key:"start",value:function(){var i=this,a=this.image;a.onload=null,a.onerror=null,this.sizing=!0;var n=De.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(De.navigator.userAgent),r=function(u,c){K(i.imageData,{naturalWidth:u,naturalHeight:c,aspectRatio:u/c}),i.initialImageData=K({},i.imageData),i.sizing=!1,i.sized=!0,i.build()};if(a.naturalWidth&&!n){r(a.naturalWidth,a.naturalHeight);return}var o=document.createElement("img"),l=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){r(o.width,o.height),n||l.removeChild(o)},o.src=a.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",l.appendChild(o))}},{key:"stop",value:function(){var i=this.image;i.onload=null,i.onerror=null,i.parentNode.removeChild(i),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var i=this.element,a=this.options,n=this.image,r=i.parentNode,o=document.createElement("div");o.innerHTML=cu;var l=o.querySelector(".".concat(Z,"-container")),s=l.querySelector(".".concat(Z,"-canvas")),u=l.querySelector(".".concat(Z,"-drag-box")),c=l.querySelector(".".concat(Z,"-crop-box")),d=c.querySelector(".".concat(Z,"-face"));this.container=r,this.cropper=l,this.canvas=s,this.dragBox=u,this.cropBox=c,this.viewBox=l.querySelector(".".concat(Z,"-view-box")),this.face=d,s.appendChild(n),de(i,Te),r.insertBefore(l,i.nextSibling),Pe(n,ir),this.initPreview(),this.bind(),a.initialAspectRatio=Math.max(0,a.initialAspectRatio)||NaN,a.aspectRatio=Math.max(0,a.aspectRatio)||NaN,a.viewMode=Math.max(0,Math.min(3,Math.round(a.viewMode)))||0,de(c,Te),a.guides||de(c.getElementsByClassName("".concat(Z,"-dashed")),Te),a.center||de(c.getElementsByClassName("".concat(Z,"-center")),Te),a.background&&de(l,"".concat(Z,"-bg")),a.highlight||de(d,tu),a.cropBoxMovable&&(de(d,oa),Vt(d,Bt,fa)),a.cropBoxResizable||(de(c.getElementsByClassName("".concat(Z,"-line")),Te),de(c.getElementsByClassName("".concat(Z,"-point")),Te)),this.render(),this.ready=!0,this.setDragMode(a.dragMode),a.autoCrop&&this.crop(),this.setData(a.data),Ee(a.ready)&&we(i,lr,a.ready,{once:!0}),It(i,lr)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var i=this.cropper.parentNode;i&&i.removeChild(this.cropper),Pe(this.element,Te)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=Cu,e}},{key:"setDefaults",value:function(i){K(ur,gt(i)&&i)}}]),e}();K(Ta.prototype,Mu,Ou,xu,Pu,Du,Fu);var Or=({addFilter:e,utils:t})=>{let{Type:i,replaceInString:a,toNaturalFileSize:n}=t;return e("ALLOW_HOPPER_ITEM",(r,{query:o})=>{if(!o("GET_ALLOW_FILE_SIZE_VALIDATION"))return!0;let l=o("GET_MAX_FILE_SIZE");if(l!==null&&r.size>l)return!1;let s=o("GET_MIN_FILE_SIZE");return!(s!==null&&r.sizenew Promise((l,s)=>{if(!o("GET_ALLOW_FILE_SIZE_VALIDATION"))return l(r);let u=o("GET_FILE_VALIDATE_SIZE_FILTER");if(u&&!u(r))return l(r);let c=o("GET_MAX_FILE_SIZE");if(c!==null&&r.size>c){s({status:{main:o("GET_LABEL_MAX_FILE_SIZE_EXCEEDED"),sub:a(o("GET_LABEL_MAX_FILE_SIZE"),{filesize:n(c,".",o("GET_FILE_SIZE_BASE"),o("GET_FILE_SIZE_LABELS",o))})}});return}let d=o("GET_MIN_FILE_SIZE");if(d!==null&&r.sizep+f.fileSize,0)>h){s({status:{main:o("GET_LABEL_MAX_TOTAL_FILE_SIZE_EXCEEDED"),sub:a(o("GET_LABEL_MAX_TOTAL_FILE_SIZE"),{filesize:n(h,".",o("GET_FILE_SIZE_BASE"),o("GET_FILE_SIZE_LABELS",o))})}});return}l(r)})),{options:{allowFileSizeValidation:[!0,i.BOOLEAN],maxFileSize:[null,i.INT],minFileSize:[null,i.INT],maxTotalFileSize:[null,i.INT],fileValidateSizeFilter:[null,i.FUNCTION],labelMinFileSizeExceeded:["File is too small",i.STRING],labelMinFileSize:["Minimum file size is {filesize}",i.STRING],labelMaxFileSizeExceeded:["File is too large",i.STRING],labelMaxFileSize:["Maximum file size is {filesize}",i.STRING],labelMaxTotalFileSizeExceeded:["Maximum total size exceeded",i.STRING],labelMaxTotalFileSize:["Maximum total file size is {filesize}",i.STRING]}}},zu=typeof window<"u"&&typeof window.document<"u";zu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Or}));var xr=Or;var Pr=({addFilter:e,utils:t})=>{let{Type:i,isString:a,replaceInString:n,guesstimateMimeType:r,getExtensionFromFilename:o,getFilenameFromURL:l}=t,s=(m,p)=>{let f=(/^[^/]+/.exec(m)||[]).pop(),g=p.slice(0,-2);return f===g},u=(m,p)=>m.some(f=>/\*$/.test(f)?s(p,f):f===p),c=m=>{let p="";if(a(m)){let f=l(m),g=o(f);g&&(p=r(g))}else p=m.type;return p},d=(m,p,f)=>{if(p.length===0)return!0;let g=c(m);return f?new Promise((b,E)=>{f(m,g).then(I=>{u(p,I)?b():E()}).catch(E)}):u(p,g)},h=m=>p=>m[p]===null?!1:m[p]||p;return e("SET_ATTRIBUTE_TO_OPTION_MAP",m=>Object.assign(m,{accept:"acceptedFileTypes"})),e("ALLOW_HOPPER_ITEM",(m,{query:p})=>p("GET_ALLOW_FILE_TYPE_VALIDATION")?d(m,p("GET_ACCEPTED_FILE_TYPES")):!0),e("LOAD_FILE",(m,{query:p})=>new Promise((f,g)=>{if(!p("GET_ALLOW_FILE_TYPE_VALIDATION")){f(m);return}let b=p("GET_ACCEPTED_FILE_TYPES"),E=p("GET_FILE_VALIDATE_TYPE_DETECT_TYPE"),I=d(m,b,E),_=()=>{let y=b.map(h(p("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES_MAP"))).filter(v=>v!==!1),T=y.filter((v,R)=>y.indexOf(v)===R);g({status:{main:p("GET_LABEL_FILE_TYPE_NOT_ALLOWED"),sub:n(p("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES"),{allTypes:T.join(", "),allButLastType:T.slice(0,-1).join(", "),lastType:T[T.length-1]})}})};if(typeof I=="boolean")return I?f(m):_();I.then(()=>{f(m)}).catch(_)})),{options:{allowFileTypeValidation:[!0,i.BOOLEAN],acceptedFileTypes:[[],i.ARRAY],labelFileTypeNotAllowed:["File is of invalid type",i.STRING],fileValidateTypeLabelExpectedTypes:["Expects {allButLastType} or {lastType}",i.STRING],fileValidateTypeLabelExpectedTypesMap:[{},i.OBJECT],fileValidateTypeDetectType:[null,i.FUNCTION]}}},Nu=typeof window<"u"&&typeof window.document<"u";Nu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Pr}));var Dr=Pr;var Fr=e=>/^image/.test(e.type),Cr=({addFilter:e,utils:t})=>{let{Type:i,isFile:a,getNumericAspectRatioFromString:n}=t,r=(u,c)=>!(!Fr(u.file)||!c("GET_ALLOW_IMAGE_CROP")),o=u=>typeof u=="object",l=u=>typeof u=="number",s=(u,c)=>u.setMetadata("crop",Object.assign({},u.getMetadata("crop"),c));return e("DID_CREATE_ITEM",(u,{query:c})=>{u.extend("setImageCrop",d=>{if(!(!r(u,c)||!o(center)))return u.setMetadata("crop",d),d}),u.extend("setImageCropCenter",d=>{if(!(!r(u,c)||!o(d)))return s(u,{center:d})}),u.extend("setImageCropZoom",d=>{if(!(!r(u,c)||!l(d)))return s(u,{zoom:Math.max(1,d)})}),u.extend("setImageCropRotation",d=>{if(!(!r(u,c)||!l(d)))return s(u,{rotation:d})}),u.extend("setImageCropFlip",d=>{if(!(!r(u,c)||!o(d)))return s(u,{flip:d})}),u.extend("setImageCropAspectRatio",d=>{if(!r(u,c)||typeof d>"u")return;let h=u.getMetadata("crop"),m=n(d),p={center:{x:.5,y:.5},flip:h?Object.assign({},h.flip):{horizontal:!1,vertical:!1},rotation:0,zoom:1,aspectRatio:m};return u.setMetadata("crop",p),p})}),e("DID_LOAD_ITEM",(u,{query:c})=>new Promise((d,h)=>{let m=u.file;if(!a(m)||!Fr(m)||!c("GET_ALLOW_IMAGE_CROP")||u.getMetadata("crop"))return d(u);let f=c("GET_IMAGE_CROP_ASPECT_RATIO");u.setMetadata("crop",{center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},rotation:0,zoom:1,aspectRatio:f?n(f):null}),d(u)})),{options:{allowImageCrop:[!0,i.BOOLEAN],imageCropAspectRatio:[null,i.STRING]}}},Bu=typeof window<"u"&&typeof window.document<"u";Bu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Cr}));var zr=Cr;var Ia=e=>/^image/.test(e.type),Nr=e=>{let{addFilter:t,utils:i,views:a}=e,{Type:n,createRoute:r,createItemAPI:o=c=>c}=i,{fileActionButton:l}=a;t("SHOULD_REMOVE_ON_REVERT",(c,{item:d,query:h})=>new Promise(m=>{let{file:p}=d,f=h("GET_ALLOW_IMAGE_EDIT")&&h("GET_IMAGE_EDIT_ALLOW_EDIT")&&Ia(p);m(!f)})),t("DID_LOAD_ITEM",(c,{query:d,dispatch:h})=>new Promise((m,p)=>{if(c.origin>1){m(c);return}let{file:f}=c;if(!d("GET_ALLOW_IMAGE_EDIT")||!d("GET_IMAGE_EDIT_INSTANT_EDIT")){m(c);return}if(!Ia(f)){m(c);return}let g=(E,I,_)=>y=>{s.shift(),y?I(E):_(E),h("KICK"),b()},b=()=>{if(!s.length)return;let{item:E,resolve:I,reject:_}=s[0];h("EDIT_ITEM",{id:E.id,handleEditorResponse:g(E,I,_)})};u({item:c,resolve:m,reject:p}),s.length===1&&b()})),t("DID_CREATE_ITEM",(c,{query:d,dispatch:h})=>{c.extend("edit",()=>{h("EDIT_ITEM",{id:c.id})})});let s=[],u=c=>(s.push(c),c);return t("CREATE_VIEW",c=>{let{is:d,view:h,query:m}=c;if(!m("GET_ALLOW_IMAGE_EDIT"))return;let p=m("GET_ALLOW_IMAGE_PREVIEW");if(!(d("file-info")&&!p||d("file")&&p))return;let g=m("GET_IMAGE_EDIT_EDITOR");if(!g)return;g.filepondCallbackBridge||(g.outputData=!0,g.outputFile=!1,g.filepondCallbackBridge={onconfirm:g.onconfirm||(()=>{}),oncancel:g.oncancel||(()=>{})});let b=({root:_,props:y,action:T})=>{let{id:v}=y,{handleEditorResponse:R}=T;g.cropAspectRatio=_.query("GET_IMAGE_CROP_ASPECT_RATIO")||g.cropAspectRatio,g.outputCanvasBackgroundColor=_.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR")||g.outputCanvasBackgroundColor;let S=_.query("GET_ITEM",v);if(!S)return;let P=S.file,x=S.getMetadata("crop"),O={center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},zoom:1,rotation:0,aspectRatio:null},z=S.getMetadata("resize"),A=S.getMetadata("filter")||null,F=S.getMetadata("filters")||null,w=S.getMetadata("colors")||null,L=S.getMetadata("markup")||null,C={crop:x||O,size:z?{upscale:z.upscale,mode:z.mode,width:z.size.width,height:z.size.height}:null,filter:F?F.id||F.matrix:_.query("GET_ALLOW_IMAGE_FILTER")&&_.query("GET_IMAGE_FILTER_COLOR_MATRIX")&&!w?A:null,color:w,markup:L};g.onconfirm=({data:D})=>{let{crop:V,size:B,filter:j,color:q,colorMatrix:X,markup:ue}=D,U={};if(V&&(U.crop=V),B){let W=(S.getMetadata("resize")||{}).size,$={width:B.width,height:B.height};!($.width&&$.height)&&W&&($.width=W.width,$.height=W.height),($.width||$.height)&&(U.resize={upscale:B.upscale,mode:B.mode,size:$})}ue&&(U.markup=ue),U.colors=q,U.filters=j,U.filter=X,S.setMetadata(U),g.filepondCallbackBridge.onconfirm(D,o(S)),R&&(g.onclose=()=>{R(!0),g.onclose=null})},g.oncancel=()=>{g.filepondCallbackBridge.oncancel(o(S)),R&&(g.onclose=()=>{R(!1),g.onclose=null})},g.open(P,C)},E=({root:_,props:y})=>{if(!m("GET_IMAGE_EDIT_ALLOW_EDIT"))return;let{id:T}=y,v=m("GET_ITEM",T);if(!v)return;let R=v.file;if(Ia(R))if(_.ref.handleEdit=S=>{S.stopPropagation(),_.dispatch("EDIT_ITEM",{id:T})},p){let S=h.createChildView(l,{label:"edit",icon:m("GET_IMAGE_EDIT_ICON_EDIT"),opacity:0});S.element.classList.add("filepond--action-edit-item"),S.element.dataset.align=m("GET_STYLE_IMAGE_EDIT_BUTTON_EDIT_ITEM_POSITION"),S.on("click",_.ref.handleEdit),_.ref.buttonEditItem=h.appendChildView(S)}else{let S=h.element.querySelector(".filepond--file-info-main"),P=document.createElement("button");P.className="filepond--action-edit-item-alt",P.innerHTML=m("GET_IMAGE_EDIT_ICON_EDIT")+"edit",P.addEventListener("click",_.ref.handleEdit),S.appendChild(P),_.ref.editButton=P}};h.registerDestroyer(({root:_})=>{_.ref.buttonEditItem&&_.ref.buttonEditItem.off("click",_.ref.handleEdit),_.ref.editButton&&_.ref.editButton.removeEventListener("click",_.ref.handleEdit)});let I={EDIT_ITEM:b,DID_LOAD_ITEM:E};if(p){let _=({root:y})=>{y.ref.buttonEditItem&&(y.ref.buttonEditItem.opacity=1)};I.DID_IMAGE_PREVIEW_SHOW=_}h.registerWriter(r(I))}),{options:{allowImageEdit:[!0,n.BOOLEAN],styleImageEditButtonEditItemPosition:["bottom center",n.STRING],imageEditInstantEdit:[!1,n.BOOLEAN],imageEditAllowEdit:[!0,n.BOOLEAN],imageEditIconEdit:['',n.STRING],imageEditEditor:[null,n.OBJECT]}}},Vu=typeof window<"u"&&typeof window.document<"u";Vu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Nr}));var Br=Nr;var Gu=e=>/^image\/jpeg/.test(e.type),nt={JPEG:65496,APP1:65505,EXIF:1165519206,TIFF:18761,Orientation:274,Unknown:65280},rt=(e,t,i=!1)=>e.getUint16(t,i),Vr=(e,t,i=!1)=>e.getUint32(t,i),Uu=e=>new Promise((t,i)=>{let a=new FileReader;a.onload=function(n){let r=new DataView(n.target.result);if(rt(r,0)!==nt.JPEG){t(-1);return}let o=r.byteLength,l=2;for(;ltypeof window<"u"&&typeof window.document<"u")(),Hu=()=>ku,Wu="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Gr,fi=Hu()?new Image:{};fi.onload=()=>Gr=fi.naturalWidth>fi.naturalHeight;fi.src=Wu;var Yu=()=>Gr,Ur=({addFilter:e,utils:t})=>{let{Type:i,isFile:a}=t;return e("DID_LOAD_ITEM",(n,{query:r})=>new Promise((o,l)=>{let s=n.file;if(!a(s)||!Gu(s)||!r("GET_ALLOW_IMAGE_EXIF_ORIENTATION")||!Yu())return o(n);Uu(s).then(u=>{n.setMetadata("exif",{orientation:u}),o(n)})})),{options:{allowImageExifOrientation:[!0,i.BOOLEAN]}}},$u=typeof window<"u"&&typeof window.document<"u";$u&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Ur}));var kr=Ur;var qu=e=>/^image/.test(e.type),Hr=(e,t)=>Ut(e.x*t,e.y*t),Wr=(e,t)=>Ut(e.x+t.x,e.y+t.y),ju=e=>{let t=Math.sqrt(e.x*e.x+e.y*e.y);return t===0?{x:0,y:0}:Ut(e.x/t,e.y/t)},gi=(e,t,i)=>{let a=Math.cos(t),n=Math.sin(t),r=Ut(e.x-i.x,e.y-i.y);return Ut(i.x+a*r.x-n*r.y,i.y+n*r.x+a*r.y)},Ut=(e=0,t=0)=>({x:e,y:t}),Ie=(e,t,i=1,a)=>{if(typeof e=="string")return parseFloat(e)*i;if(typeof e=="number")return e*(a?t[a]:Math.min(t.width,t.height))},Xu=(e,t,i)=>{let a=e.borderStyle||e.lineStyle||"solid",n=e.backgroundColor||e.fontColor||"transparent",r=e.borderColor||e.lineColor||"transparent",o=Ie(e.borderWidth||e.lineWidth,t,i),l=e.lineCap||"round",s=e.lineJoin||"round",u=typeof a=="string"?"":a.map(d=>Ie(d,t,i)).join(","),c=e.opacity||1;return{"stroke-linecap":l,"stroke-linejoin":s,"stroke-width":o||0,"stroke-dasharray":u,stroke:r,fill:n,opacity:c}},ve=e=>e!=null,Qu=(e,t,i=1)=>{let a=Ie(e.x,t,i,"width")||Ie(e.left,t,i,"width"),n=Ie(e.y,t,i,"height")||Ie(e.top,t,i,"height"),r=Ie(e.width,t,i,"width"),o=Ie(e.height,t,i,"height"),l=Ie(e.right,t,i,"width"),s=Ie(e.bottom,t,i,"height");return ve(n)||(ve(o)&&ve(s)?n=t.height-o-s:n=s),ve(a)||(ve(r)&&ve(l)?a=t.width-r-l:a=l),ve(r)||(ve(a)&&ve(l)?r=t.width-a-l:r=0),ve(o)||(ve(n)&&ve(s)?o=t.height-n-s:o=0),{x:a||0,y:n||0,width:r||0,height:o||0}},Zu=e=>e.map((t,i)=>`${i===0?"M":"L"} ${t.x} ${t.y}`).join(" "),Ce=(e,t)=>Object.keys(t).forEach(i=>e.setAttribute(i,t[i])),Ku="http://www.w3.org/2000/svg",bt=(e,t)=>{let i=document.createElementNS(Ku,e);return t&&Ce(i,t),i},Ju=e=>Ce(e,{...e.rect,...e.styles}),eh=e=>{let t=e.rect.x+e.rect.width*.5,i=e.rect.y+e.rect.height*.5,a=e.rect.width*.5,n=e.rect.height*.5;return Ce(e,{cx:t,cy:i,rx:a,ry:n,...e.styles})},th={contain:"xMidYMid meet",cover:"xMidYMid slice"},ih=(e,t)=>{Ce(e,{...e.rect,...e.styles,preserveAspectRatio:th[t.fit]||"none"})},ah={left:"start",center:"middle",right:"end"},nh=(e,t,i,a)=>{let n=Ie(t.fontSize,i,a),r=t.fontFamily||"sans-serif",o=t.fontWeight||"normal",l=ah[t.textAlign]||"start";Ce(e,{...e.rect,...e.styles,"stroke-width":0,"font-weight":o,"font-size":n,"font-family":r,"text-anchor":l}),e.text!==t.text&&(e.text=t.text,e.textContent=t.text.length?t.text:" ")},rh=(e,t,i,a)=>{Ce(e,{...e.rect,...e.styles,fill:"none"});let n=e.childNodes[0],r=e.childNodes[1],o=e.childNodes[2],l=e.rect,s={x:e.rect.x+e.rect.width,y:e.rect.y+e.rect.height};if(Ce(n,{x1:l.x,y1:l.y,x2:s.x,y2:s.y}),!t.lineDecoration)return;r.style.display="none",o.style.display="none";let u=ju({x:s.x-l.x,y:s.y-l.y}),c=Ie(.05,i,a);if(t.lineDecoration.indexOf("arrow-begin")!==-1){let d=Hr(u,c),h=Wr(l,d),m=gi(l,2,h),p=gi(l,-2,h);Ce(r,{style:"display:block;",d:`M${m.x},${m.y} L${l.x},${l.y} L${p.x},${p.y}`})}if(t.lineDecoration.indexOf("arrow-end")!==-1){let d=Hr(u,-c),h=Wr(s,d),m=gi(s,2,h),p=gi(s,-2,h);Ce(o,{style:"display:block;",d:`M${m.x},${m.y} L${s.x},${s.y} L${p.x},${p.y}`})}},oh=(e,t,i,a)=>{Ce(e,{...e.styles,fill:"none",d:Zu(t.points.map(n=>({x:Ie(n.x,i,a,"width"),y:Ie(n.y,i,a,"height")})))})},Ei=e=>t=>bt(e,{id:t.id}),lh=e=>{let t=bt("image",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0"});return t.onload=()=>{t.setAttribute("opacity",e.opacity||1)},t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e.src),t},sh=e=>{let t=bt("g",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round"}),i=bt("line");t.appendChild(i);let a=bt("path");t.appendChild(a);let n=bt("path");return t.appendChild(n),t},ch={image:lh,rect:Ei("rect"),ellipse:Ei("ellipse"),text:Ei("text"),path:Ei("path"),line:sh},dh={rect:Ju,ellipse:eh,image:ih,text:nh,path:oh,line:rh},uh=(e,t)=>ch[e](t),hh=(e,t,i,a,n)=>{t!=="path"&&(e.rect=Qu(i,a,n)),e.styles=Xu(i,a,n),dh[t](e,i,a,n)},mh=["x","y","left","top","right","bottom","width","height"],ph=e=>typeof e=="string"&&/%/.test(e)?parseFloat(e)/100:e,fh=e=>{let[t,i]=e,a=i.points?{}:mh.reduce((n,r)=>(n[r]=ph(i[r]),n),{});return[t,{zIndex:0,...i,...a}]},gh=(e,t)=>e[1].zIndex>t[1].zIndex?1:e[1].zIndexe.utils.createView({name:"image-preview-markup",tag:"svg",ignoreRect:!0,mixins:{apis:["width","height","crop","markup","resize","dirty"]},write:({root:t,props:i})=>{if(!i.dirty)return;let{crop:a,resize:n,markup:r}=i,o=i.width,l=i.height,s=a.width,u=a.height;if(n){let{size:m}=n,p=m&&m.width,f=m&&m.height,g=n.mode,b=n.upscale;p&&!f&&(f=p),f&&!p&&(p=f);let E=s{let[p,f]=m,g=uh(p,f);hh(g,p,f,c,d),t.element.appendChild(g)})}}),Gt=(e,t)=>({x:e,y:t}),Th=(e,t)=>e.x*t.x+e.y*t.y,Yr=(e,t)=>Gt(e.x-t.x,e.y-t.y),Ih=(e,t)=>Th(Yr(e,t),Yr(e,t)),$r=(e,t)=>Math.sqrt(Ih(e,t)),qr=(e,t)=>{let i=e,a=1.5707963267948966,n=t,r=1.5707963267948966-t,o=Math.sin(a),l=Math.sin(n),s=Math.sin(r),u=Math.cos(r),c=i/o,d=c*l,h=c*s;return Gt(u*d,u*h)},bh=(e,t)=>{let i=e.width,a=e.height,n=qr(i,t),r=qr(a,t),o=Gt(e.x+Math.abs(n.x),e.y-Math.abs(n.y)),l=Gt(e.x+e.width+Math.abs(r.y),e.y+Math.abs(r.x)),s=Gt(e.x-Math.abs(r.y),e.y+e.height-Math.abs(r.x));return{width:$r(o,l),height:$r(o,s)}},_h=(e,t,i=1)=>{let a=e.height/e.width,n=1,r=t,o=1,l=a;l>r&&(l=r,o=l/a);let s=Math.max(n/o,r/l),u=e.width/(i*s*o),c=u*t;return{width:u,height:c}},Xr=(e,t,i,a)=>{let n=a.x>.5?1-a.x:a.x,r=a.y>.5?1-a.y:a.y,o=n*2*e.width,l=r*2*e.height,s=bh(t,i);return Math.max(s.width/o,s.height/l)},Qr=(e,t)=>{let i=e.width,a=i*t;a>e.height&&(a=e.height,i=a/t);let n=(e.width-i)*.5,r=(e.height-a)*.5;return{x:n,y:r,width:i,height:a}},Rh=(e,t={})=>{let{zoom:i,rotation:a,center:n,aspectRatio:r}=t;r||(r=e.height/e.width);let o=_h(e,r,i),l={x:o.width*.5,y:o.height*.5},s={x:0,y:0,width:o.width,height:o.height,center:l},u=typeof t.scaleToFit>"u"||t.scaleToFit,c=Xr(e,Qr(s,r),a,u?n:{x:.5,y:.5}),d=i*c;return{widthFloat:o.width/d,heightFloat:o.height/d,width:Math.round(o.width/d),height:Math.round(o.height/d)}},Fe={type:"spring",stiffness:.5,damping:.45,mass:10},yh=e=>e.utils.createView({name:"image-bitmap",ignoreRect:!0,mixins:{styles:["scaleX","scaleY"]},create:({root:t,props:i})=>{t.appendChild(i.image)}}),Sh=e=>e.utils.createView({name:"image-canvas-wrapper",tag:"div",ignoreRect:!0,mixins:{apis:["crop","width","height"],styles:["originX","originY","translateX","translateY","scaleX","scaleY","rotateZ"],animations:{originX:Fe,originY:Fe,scaleX:Fe,scaleY:Fe,translateX:Fe,translateY:Fe,rotateZ:Fe}},create:({root:t,props:i})=>{i.width=i.image.width,i.height=i.image.height,t.ref.bitmap=t.appendChildView(t.createChildView(yh(e),{image:i.image}))},write:({root:t,props:i})=>{let{flip:a}=i.crop,{bitmap:n}=t.ref;n.scaleX=a.horizontal?-1:1,n.scaleY=a.vertical?-1:1}}),wh=e=>e.utils.createView({name:"image-clip",tag:"div",ignoreRect:!0,mixins:{apis:["crop","markup","resize","width","height","dirty","background"],styles:["width","height","opacity"],animations:{opacity:{type:"tween",duration:250}}},didWriteView:function({root:t,props:i}){i.background&&(t.element.style.backgroundColor=i.background)},create:({root:t,props:i})=>{t.ref.image=t.appendChildView(t.createChildView(Sh(e),Object.assign({},i))),t.ref.createMarkup=()=>{t.ref.markup||(t.ref.markup=t.appendChildView(t.createChildView(Eh(e),Object.assign({},i))))},t.ref.destroyMarkup=()=>{t.ref.markup&&(t.removeChildView(t.ref.markup),t.ref.markup=null)};let a=t.query("GET_IMAGE_PREVIEW_TRANSPARENCY_INDICATOR");a!==null&&(a==="grid"?t.element.dataset.transparencyIndicator=a:t.element.dataset.transparencyIndicator="color")},write:({root:t,props:i,shouldOptimize:a})=>{let{crop:n,markup:r,resize:o,dirty:l,width:s,height:u}=i;t.ref.image.crop=n;let c={x:0,y:0,width:s,height:u,center:{x:s*.5,y:u*.5}},d={width:t.ref.image.width,height:t.ref.image.height},h={x:n.center.x*d.width,y:n.center.y*d.height},m={x:c.center.x-d.width*n.center.x,y:c.center.y-d.height*n.center.y},p=Math.PI*2+n.rotation%(Math.PI*2),f=n.aspectRatio||d.height/d.width,g=typeof n.scaleToFit>"u"||n.scaleToFit,b=Xr(d,Qr(c,f),p,g?n.center:{x:.5,y:.5}),E=n.zoom*b;r&&r.length?(t.ref.createMarkup(),t.ref.markup.width=s,t.ref.markup.height=u,t.ref.markup.resize=o,t.ref.markup.dirty=l,t.ref.markup.markup=r,t.ref.markup.crop=Rh(d,n)):t.ref.markup&&t.ref.destroyMarkup();let I=t.ref.image;if(a){I.originX=null,I.originY=null,I.translateX=null,I.translateY=null,I.rotateZ=null,I.scaleX=null,I.scaleY=null;return}I.originX=h.x,I.originY=h.y,I.translateX=m.x,I.translateY=m.y,I.rotateZ=p,I.scaleX=E,I.scaleY=E}}),vh=e=>e.utils.createView({name:"image-preview",tag:"div",ignoreRect:!0,mixins:{apis:["image","crop","markup","resize","dirty","background"],styles:["translateY","scaleX","scaleY","opacity"],animations:{scaleX:Fe,scaleY:Fe,translateY:Fe,opacity:{type:"tween",duration:400}}},create:({root:t,props:i})=>{t.ref.clip=t.appendChildView(t.createChildView(wh(e),{id:i.id,image:i.image,crop:i.crop,markup:i.markup,resize:i.resize,dirty:i.dirty,background:i.background}))},write:({root:t,props:i,shouldOptimize:a})=>{let{clip:n}=t.ref,{image:r,crop:o,markup:l,resize:s,dirty:u}=i;if(n.crop=o,n.markup=l,n.resize=s,n.dirty=u,n.opacity=a?0:1,a||t.rect.element.hidden)return;let c=r.height/r.width,d=o.aspectRatio||c,h=t.rect.inner.width,m=t.rect.inner.height,p=t.query("GET_IMAGE_PREVIEW_HEIGHT"),f=t.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"),g=t.query("GET_IMAGE_PREVIEW_MAX_HEIGHT"),b=t.query("GET_PANEL_ASPECT_RATIO"),E=t.query("GET_ALLOW_MULTIPLE");b&&!E&&(p=h*b,d=b);let I=p!==null?p:Math.max(f,Math.min(h*d,g)),_=I/d;_>h&&(_=h,I=_*d),I>m&&(I=m,_=m/d),n.width=_,n.height=I}}),Ah=` +var Ir=Object.defineProperty;var vr=(e,t)=>{for(var i in t)Ir(e,i,{get:t[i],enumerable:!0})};var na={};vr(na,{FileOrigin:()=>Ct,FileStatus:()=>Et,OptionTypes:()=>Gi,Status:()=>ll,create:()=>gt,destroy:()=>ft,find:()=>Wi,getOptions:()=>Hi,parse:()=>Ui,registerPlugin:()=>ve,setOptions:()=>Ot,supported:()=>Vi});var xr=e=>e instanceof HTMLElement,yr=(e,t=[],i=[])=>{let a={...e},n=[],l=[],o=()=>({...a}),r=()=>{let g=[...n];return n.length=0,g},s=()=>{let g=[...l];l.length=0,g.forEach(({type:f,data:h})=>{p(f,h)})},p=(g,f,h)=>{if(h&&!document.hidden){l.push({type:g,data:f});return}u[g]&&u[g](f),n.push({type:g,data:f})},c=(g,...f)=>m[g]?m[g](...f):null,d={getState:o,processActionQueue:r,processDispatchQueue:s,dispatch:p,query:c},m={};t.forEach(g=>{m={...g(a),...m}});let u={};return i.forEach(g=>{u={...g(p,c,a),...u}}),d},Rr=(e,t,i)=>{if(typeof i=="function"){e[t]=i;return}Object.defineProperty(e,t,{...i})},te=(e,t)=>{for(let i in e)e.hasOwnProperty(i)&&t(i,e[i])},We=e=>{let t={};return te(e,i=>{Rr(t,i,e[i])}),t},se=(e,t,i=null)=>{if(i===null)return e.getAttribute(t)||e.hasAttribute(t);e.setAttribute(t,i)},Sr="http://www.w3.org/2000/svg",_r=["svg","path"],Pa=e=>_r.includes(e),li=(e,t,i={})=>{typeof t=="object"&&(i=t,t=null);let a=Pa(e)?document.createElementNS(Sr,e):document.createElement(e);return t&&(Pa(e)?se(a,"class",t):a.className=t),te(i,(n,l)=>{se(a,n,l)}),a},wr=e=>(t,i)=>{typeof i<"u"&&e.children[i]?e.insertBefore(t,e.children[i]):e.appendChild(t)},Lr=(e,t)=>(i,a)=>(typeof a<"u"?t.splice(a,0,i):t.push(i),i),Mr=(e,t)=>i=>(t.splice(t.indexOf(i),1),i.element.parentNode&&e.removeChild(i.element),i),Ar=typeof window<"u"&&typeof window.document<"u",En=()=>Ar,zr=En()?li("svg"):{},Pr="children"in zr?e=>e.children.length:e=>e.childNodes.length,Tn=(e,t,i,a)=>{let n=i[0]||e.left,l=i[1]||e.top,o=n+e.width,r=l+e.height*(a[1]||1),s={element:{...e},inner:{left:e.left,top:e.top,right:e.right,bottom:e.bottom},outer:{left:n,top:l,right:o,bottom:r}};return t.filter(p=>!p.isRectIgnored()).map(p=>p.rect).forEach(p=>{Fa(s.inner,{...p.inner}),Fa(s.outer,{...p.outer})}),Oa(s.inner),s.outer.bottom+=s.element.marginBottom,s.outer.right+=s.element.marginRight,Oa(s.outer),s},Fa=(e,t)=>{t.top+=e.top,t.right+=e.left,t.bottom+=e.top,t.left+=e.left,t.bottom>e.bottom&&(e.bottom=t.bottom),t.right>e.right&&(e.right=t.right)},Oa=e=>{e.width=e.right-e.left,e.height=e.bottom-e.top},$e=e=>typeof e=="number",Fr=(e,t,i,a=.001)=>Math.abs(e-t){let a=null,n=null,l=0,o=!1,p=We({interpolate:(c,d)=>{if(o)return;if(!($e(a)&&$e(n))){o=!0,l=0;return}let m=-(n-a)*e;l+=m/i,n+=l,l*=t,Fr(n,a,l)||d?(n=a,l=0,o=!0,p.onupdate(n),p.oncomplete(n)):p.onupdate(n)},target:{set:c=>{if($e(c)&&!$e(n)&&(n=c),a===null&&(a=c,n=c),a=c,n===a||typeof a>"u"){o=!0,l=0,p.onupdate(n),p.oncomplete(n);return}o=!1},get:()=>a},resting:{get:()=>o},onupdate:c=>{},oncomplete:c=>{}});return p};var Dr=e=>e<.5?2*e*e:-1+(4-2*e)*e,Cr=({duration:e=500,easing:t=Dr,delay:i=0}={})=>{let a=null,n,l,o=!0,r=!1,s=null,c=We({interpolate:(d,m)=>{o||s===null||(a===null&&(a=d),!(d-a=e||m?(n=1,l=r?0:1,c.onupdate(l*s),c.oncomplete(l*s),o=!0):(l=n/e,c.onupdate((n>=0?t(r?1-l:l):0)*s))))},target:{get:()=>r?0:s,set:d=>{if(s===null){s=d,c.onupdate(d),c.oncomplete(d);return}do},onupdate:d=>{},oncomplete:d=>{}});return c},Da={spring:Or,tween:Cr},Br=(e,t,i)=>{let a=e[t]&&typeof e[t][i]=="object"?e[t][i]:e[t]||e,n=typeof a=="string"?a:a.type,l=typeof a=="object"?{...a}:{};return Da[n]?Da[n](l):null},ji=(e,t,i,a=!1)=>{t=Array.isArray(t)?t:[t],t.forEach(n=>{e.forEach(l=>{let o=l,r=()=>i[l],s=p=>i[l]=p;typeof l=="object"&&(o=l.key,r=l.getter||r,s=l.setter||s),!(n[o]&&!a)&&(n[o]={get:r,set:s})})})},kr=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a})=>{let n={...t},l=[];return te(e,(o,r)=>{let s=Br(r);if(!s)return;s.onupdate=c=>{t[o]=c},s.target=n[o],ji([{key:o,setter:c=>{s.target!==c&&(s.target=c)},getter:()=>t[o]}],[i,a],t,!0),l.push(s)}),{write:o=>{let r=document.hidden,s=!0;return l.forEach(p=>{p.resting||(s=!1),p.interpolate(o,r)}),s},destroy:()=>{}}},Nr=e=>(t,i)=>{e.addEventListener(t,i)},Vr=e=>(t,i)=>{e.removeEventListener(t,i)},Gr=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a,viewState:n,view:l})=>{let o=[],r=Nr(l.element),s=Vr(l.element);return a.on=(p,c)=>{o.push({type:p,fn:c}),r(p,c)},a.off=(p,c)=>{o.splice(o.findIndex(d=>d.type===p&&d.fn===c),1),s(p,c)},{write:()=>!0,destroy:()=>{o.forEach(p=>{s(p.type,p.fn)})}}},Ur=({mixinConfig:e,viewProps:t,viewExternalAPI:i})=>{ji(e,i,t)},ue=e=>e!=null,Wr={opacity:1,scaleX:1,scaleY:1,translateX:0,translateY:0,rotateX:0,rotateY:0,rotateZ:0,originX:0,originY:0},Hr=({mixinConfig:e,viewProps:t,viewInternalAPI:i,viewExternalAPI:a,view:n})=>{let l={...t},o={};ji(e,[i,a],t);let r=()=>[t.translateX||0,t.translateY||0],s=()=>[t.scaleX||0,t.scaleY||0],p=()=>n.rect?Tn(n.rect,n.childViews,r(),s()):null;return i.rect={get:p},a.rect={get:p},e.forEach(c=>{t[c]=typeof l[c]>"u"?Wr[c]:l[c]}),{write:()=>{if(jr(o,t))return Yr(n.element,t),Object.assign(o,{...t}),!0},destroy:()=>{}}},jr=(e,t)=>{if(Object.keys(e).length!==Object.keys(t).length)return!0;for(let i in t)if(t[i]!==e[i])return!0;return!1},Yr=(e,{opacity:t,perspective:i,translateX:a,translateY:n,scaleX:l,scaleY:o,rotateX:r,rotateY:s,rotateZ:p,originX:c,originY:d,width:m,height:u})=>{let g="",f="";(ue(c)||ue(d))&&(f+=`transform-origin: ${c||0}px ${d||0}px;`),ue(i)&&(g+=`perspective(${i}px) `),(ue(a)||ue(n))&&(g+=`translate3d(${a||0}px, ${n||0}px, 0) `),(ue(l)||ue(o))&&(g+=`scale3d(${ue(l)?l:1}, ${ue(o)?o:1}, 1) `),ue(p)&&(g+=`rotateZ(${p}rad) `),ue(r)&&(g+=`rotateX(${r}rad) `),ue(s)&&(g+=`rotateY(${s}rad) `),g.length&&(f+=`transform:${g};`),ue(t)&&(f+=`opacity:${t};`,t===0&&(f+="visibility:hidden;"),t<1&&(f+="pointer-events:none;")),ue(u)&&(f+=`height:${u}px;`),ue(m)&&(f+=`width:${m}px;`);let h=e.elementCurrentStyle||"";(f.length!==h.length||f!==h)&&(e.style.cssText=f,e.elementCurrentStyle=f)},qr={styles:Hr,listeners:Gr,animations:kr,apis:Ur},Ca=(e={},t={},i={})=>(t.layoutCalculated||(e.paddingTop=parseInt(i.paddingTop,10)||0,e.marginTop=parseInt(i.marginTop,10)||0,e.marginRight=parseInt(i.marginRight,10)||0,e.marginBottom=parseInt(i.marginBottom,10)||0,e.marginLeft=parseInt(i.marginLeft,10)||0,t.layoutCalculated=!0),e.left=t.offsetLeft||0,e.top=t.offsetTop||0,e.width=t.offsetWidth||0,e.height=t.offsetHeight||0,e.right=e.left+e.width,e.bottom=e.top+e.height,e.scrollTop=t.scrollTop,e.hidden=t.offsetParent===null,e),le=({tag:e="div",name:t=null,attributes:i={},read:a=()=>{},write:n=()=>{},create:l=()=>{},destroy:o=()=>{},filterFrameActionsForChild:r=(u,g)=>g,didCreateView:s=()=>{},didWriteView:p=()=>{},ignoreRect:c=!1,ignoreRectUpdate:d=!1,mixins:m=[]}={})=>(u,g={})=>{let f=li(e,`filepond--${t}`,i),h=window.getComputedStyle(f,null),I=Ca(),b=null,E=!1,v=[],y=[],T={},_={},x=[n],R=[a],P=[o],z=()=>f,A=()=>v.concat(),k=()=>T,w=V=>(H,Y)=>H(V,Y),O=()=>b||(b=Tn(I,v,[0,0],[1,1]),b),S=()=>h,L=()=>{b=null,v.forEach(Y=>Y._read()),!(d&&I.width&&I.height)&&Ca(I,f,h);let H={root:K,props:g,rect:I};R.forEach(Y=>Y(H))},C=(V,H,Y)=>{let ie=H.length===0;return x.forEach(ee=>{ee({props:g,root:K,actions:H,timestamp:V,shouldOptimize:Y})===!1&&(ie=!1)}),y.forEach(ee=>{ee.write(V)===!1&&(ie=!1)}),v.filter(ee=>!!ee.element.parentNode).forEach(ee=>{ee._write(V,r(ee,H),Y)||(ie=!1)}),v.forEach((ee,dt)=>{ee.element.parentNode||(K.appendChild(ee.element,dt),ee._read(),ee._write(V,r(ee,H),Y),ie=!1)}),E=ie,p({props:g,root:K,actions:H,timestamp:V}),ie},D=()=>{y.forEach(V=>V.destroy()),P.forEach(V=>{V({root:K,props:g})}),v.forEach(V=>V._destroy())},U={element:{get:z},style:{get:S},childViews:{get:A}},B={...U,rect:{get:O},ref:{get:k},is:V=>t===V,appendChild:wr(f),createChildView:w(u),linkView:V=>(v.push(V),V),unlinkView:V=>{v.splice(v.indexOf(V),1)},appendChildView:Lr(f,v),removeChildView:Mr(f,v),registerWriter:V=>x.push(V),registerReader:V=>R.push(V),registerDestroyer:V=>P.push(V),invalidateLayout:()=>f.layoutCalculated=!1,dispatch:u.dispatch,query:u.query},$={element:{get:z},childViews:{get:A},rect:{get:O},resting:{get:()=>E},isRectIgnored:()=>c,_read:L,_write:C,_destroy:D},X={...U,rect:{get:()=>I}};Object.keys(m).sort((V,H)=>V==="styles"?1:H==="styles"?-1:0).forEach(V=>{let H=qr[V]({mixinConfig:m[V],viewProps:g,viewState:_,viewInternalAPI:B,viewExternalAPI:$,view:We(X)});H&&y.push(H)});let K=We(B);l({root:K,props:g});let ce=Pr(f);return v.forEach((V,H)=>{K.appendChild(V.element,ce+H)}),s(K),We($)},$r=(e,t,i=60)=>{let a="__framePainter";if(window[a]){window[a].readers.push(e),window[a].writers.push(t);return}window[a]={readers:[e],writers:[t]};let n=window[a],l=1e3/i,o=null,r=null,s=null,p=null,c=()=>{document.hidden?(s=()=>window.setTimeout(()=>d(performance.now()),l),p=()=>window.clearTimeout(r)):(s=()=>window.requestAnimationFrame(d),p=()=>window.cancelAnimationFrame(r))};document.addEventListener("visibilitychange",()=>{p&&p(),c(),d(performance.now())});let d=m=>{r=s(d),o||(o=m);let u=m-o;u<=l||(o=m-u%l,n.readers.forEach(g=>g()),n.writers.forEach(g=>g(m)))};return c(),d(performance.now()),{pause:()=>{p(r)}}},fe=(e,t)=>({root:i,props:a,actions:n=[],timestamp:l,shouldOptimize:o})=>{n.filter(r=>e[r.type]).forEach(r=>e[r.type]({root:i,props:a,action:r.data,timestamp:l,shouldOptimize:o})),t&&t({root:i,props:a,actions:n,timestamp:l,shouldOptimize:o})},Ba=(e,t)=>t.parentNode.insertBefore(e,t),ka=(e,t)=>t.parentNode.insertBefore(e,t.nextSibling),ci=e=>Array.isArray(e),Ne=e=>e==null,Xr=e=>e.trim(),di=e=>""+e,Kr=(e,t=",")=>Ne(e)?[]:ci(e)?e:di(e).split(t).map(Xr).filter(i=>i.length),In=e=>typeof e=="boolean",vn=e=>In(e)?e:e==="true",ge=e=>typeof e=="string",xn=e=>$e(e)?e:ge(e)?di(e).replace(/[a-z]+/gi,""):0,ni=e=>parseInt(xn(e),10),Na=e=>parseFloat(xn(e)),bt=e=>$e(e)&&isFinite(e)&&Math.floor(e)===e,Va=(e,t=1e3)=>{if(bt(e))return e;let i=di(e).trim();return/MB$/i.test(i)?(i=i.replace(/MB$i/,"").trim(),ni(i)*t*t):/KB/i.test(i)?(i=i.replace(/KB$i/,"").trim(),ni(i)*t):ni(i)},Xe=e=>typeof e=="function",Zr=e=>{let t=self,i=e.split("."),a=null;for(;a=i.shift();)if(t=t[a],!t)return null;return t},Ga={process:"POST",patch:"PATCH",revert:"DELETE",fetch:"GET",restore:"GET",load:"GET"},Qr=e=>{let t={};return t.url=ge(e)?e:e.url||"",t.timeout=e.timeout?parseInt(e.timeout,10):0,t.headers=e.headers?e.headers:{},te(Ga,i=>{t[i]=Jr(i,e[i],Ga[i],t.timeout,t.headers)}),t.process=e.process||ge(e)||e.url?t.process:null,t.remove=e.remove||null,delete t.headers,t},Jr=(e,t,i,a,n)=>{if(t===null)return null;if(typeof t=="function")return t;let l={url:i==="GET"||i==="PATCH"?`?${e}=`:"",method:i,headers:n,withCredentials:!1,timeout:a,onload:null,ondata:null,onerror:null};if(ge(t))return l.url=t,l;if(Object.assign(l,t),ge(l.headers)){let o=l.headers.split(/:(.+)/);l.headers={header:o[0],value:o[1]}}return l.withCredentials=vn(l.withCredentials),l},es=e=>Qr(e),ts=e=>e===null,de=e=>typeof e=="object"&&e!==null,is=e=>de(e)&&ge(e.url)&&de(e.process)&&de(e.revert)&&de(e.restore)&&de(e.fetch),Pi=e=>ci(e)?"array":ts(e)?"null":bt(e)?"int":/^[0-9]+ ?(?:GB|MB|KB)$/gi.test(e)?"bytes":is(e)?"api":typeof e,as=e=>e.replace(/{\s*'/g,'{"').replace(/'\s*}/g,'"}').replace(/'\s*:/g,'":').replace(/:\s*'/g,':"').replace(/,\s*'/g,',"').replace(/'\s*,/g,'",'),ns={array:Kr,boolean:vn,int:e=>Pi(e)==="bytes"?Va(e):ni(e),number:Na,float:Na,bytes:Va,string:e=>Xe(e)?e:di(e),function:e=>Zr(e),serverapi:es,object:e=>{try{return JSON.parse(as(e))}catch{return null}}},ls=(e,t)=>ns[t](e),yn=(e,t,i)=>{if(e===t)return e;let a=Pi(e);if(a!==i){let n=ls(e,i);if(a=Pi(n),n===null)throw`Trying to assign value with incorrect type to "${option}", allowed type: "${i}"`;e=n}return e},os=(e,t)=>{let i=e;return{enumerable:!0,get:()=>i,set:a=>{i=yn(a,e,t)}}},rs=e=>{let t={};return te(e,i=>{let a=e[i];t[i]=os(a[0],a[1])}),We(t)},ss=e=>({items:[],listUpdateTimeout:null,itemUpdateTimeout:null,processingQueue:[],options:rs(e)}),pi=(e,t="-")=>e.split(/(?=[A-Z])/).map(i=>i.toLowerCase()).join(t),cs=(e,t)=>{let i={};return te(t,a=>{i[a]={get:()=>e.getState().options[a],set:n=>{e.dispatch(`SET_${pi(a,"_").toUpperCase()}`,{value:n})}}}),i},ds=e=>(t,i,a)=>{let n={};return te(e,l=>{let o=pi(l,"_").toUpperCase();n[`SET_${o}`]=r=>{try{a.options[l]=r.value}catch{}t(`DID_SET_${o}`,{value:a.options[l]})}}),n},ps=e=>t=>{let i={};return te(e,a=>{i[`GET_${pi(a,"_").toUpperCase()}`]=n=>t.options[a]}),i},Re={API:1,DROP:2,BROWSE:3,PASTE:4,NONE:5},Yi=()=>Math.random().toString(36).substring(2,11),qi=(e,t)=>e.splice(t,1),ms=(e,t)=>{t?e():document.hidden?Promise.resolve(1).then(e):setTimeout(e,0)},mi=()=>{let e=[],t=(a,n)=>{qi(e,e.findIndex(l=>l.event===a&&(l.cb===n||!n)))},i=(a,n,l)=>{e.filter(o=>o.event===a).map(o=>o.cb).forEach(o=>ms(()=>o(...n),l))};return{fireSync:(a,...n)=>{i(a,n,!0)},fire:(a,...n)=>{i(a,n,!1)},on:(a,n)=>{e.push({event:a,cb:n})},onOnce:(a,n)=>{e.push({event:a,cb:(...l)=>{t(a,n),n(...l)}})},off:t}},Rn=(e,t,i)=>{Object.getOwnPropertyNames(e).filter(a=>!i.includes(a)).forEach(a=>Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(e,a)))},us=["fire","process","revert","load","on","off","onOnce","retryLoad","extend","archive","archived","release","released","requestProcessing","freeze"],he=e=>{let t={};return Rn(e,t,us),t},gs=e=>{e.forEach((t,i)=>{t.released&&qi(e,i)})},W={INIT:1,IDLE:2,PROCESSING_QUEUED:9,PROCESSING:3,PROCESSING_COMPLETE:5,PROCESSING_ERROR:6,PROCESSING_REVERT_ERROR:10,LOADING:7,LOAD_ERROR:8},re={INPUT:1,LIMBO:2,LOCAL:3},Sn=e=>/[^0-9]+/.exec(e),_n=()=>Sn(1.1.toLocaleString())[0],fs=()=>{let e=_n(),t=1e3.toLocaleString();return t!=="1000"?Sn(t)[0]:e==="."?",":"."},M={BOOLEAN:"boolean",INT:"int",NUMBER:"number",STRING:"string",ARRAY:"array",OBJECT:"object",FUNCTION:"function",ACTION:"action",SERVER_API:"serverapi",REGEX:"regex"},$i=[],Ae=(e,t,i)=>new Promise((a,n)=>{let l=$i.filter(r=>r.key===e).map(r=>r.cb);if(l.length===0){a(t);return}let o=l.shift();l.reduce((r,s)=>r.then(p=>s(p,i)),o(t,i)).then(r=>a(r)).catch(r=>n(r))}),tt=(e,t,i)=>$i.filter(a=>a.key===e).map(a=>a.cb(t,i)),hs=(e,t)=>$i.push({key:e,cb:t}),bs=e=>Object.assign(pt,e),oi=()=>({...pt}),Es=e=>{te(e,(t,i)=>{pt[t]&&(pt[t][0]=yn(i,pt[t][0],pt[t][1]))})},pt={id:[null,M.STRING],name:["filepond",M.STRING],disabled:[!1,M.BOOLEAN],className:[null,M.STRING],required:[!1,M.BOOLEAN],captureMethod:[null,M.STRING],allowSyncAcceptAttribute:[!0,M.BOOLEAN],allowDrop:[!0,M.BOOLEAN],allowBrowse:[!0,M.BOOLEAN],allowPaste:[!0,M.BOOLEAN],allowMultiple:[!1,M.BOOLEAN],allowReplace:[!0,M.BOOLEAN],allowRevert:[!0,M.BOOLEAN],allowRemove:[!0,M.BOOLEAN],allowProcess:[!0,M.BOOLEAN],allowReorder:[!1,M.BOOLEAN],allowDirectoriesOnly:[!1,M.BOOLEAN],storeAsFile:[!1,M.BOOLEAN],forceRevert:[!1,M.BOOLEAN],maxFiles:[null,M.INT],checkValidity:[!1,M.BOOLEAN],itemInsertLocationFreedom:[!0,M.BOOLEAN],itemInsertLocation:["before",M.STRING],itemInsertInterval:[75,M.INT],dropOnPage:[!1,M.BOOLEAN],dropOnElement:[!0,M.BOOLEAN],dropValidation:[!1,M.BOOLEAN],ignoredFiles:[[".ds_store","thumbs.db","desktop.ini"],M.ARRAY],instantUpload:[!0,M.BOOLEAN],maxParallelUploads:[2,M.INT],allowMinimumUploadDuration:[!0,M.BOOLEAN],chunkUploads:[!1,M.BOOLEAN],chunkForce:[!1,M.BOOLEAN],chunkSize:[5e6,M.INT],chunkRetryDelays:[[500,1e3,3e3],M.ARRAY],server:[null,M.SERVER_API],fileSizeBase:[1e3,M.INT],labelFileSizeBytes:["bytes",M.STRING],labelFileSizeKilobytes:["KB",M.STRING],labelFileSizeMegabytes:["MB",M.STRING],labelFileSizeGigabytes:["GB",M.STRING],labelDecimalSeparator:[_n(),M.STRING],labelThousandsSeparator:[fs(),M.STRING],labelIdle:['Drag & Drop your files or Browse',M.STRING],labelInvalidField:["Field contains invalid files",M.STRING],labelFileWaitingForSize:["Waiting for size",M.STRING],labelFileSizeNotAvailable:["Size not available",M.STRING],labelFileCountSingular:["file in list",M.STRING],labelFileCountPlural:["files in list",M.STRING],labelFileLoading:["Loading",M.STRING],labelFileAdded:["Added",M.STRING],labelFileLoadError:["Error during load",M.STRING],labelFileRemoved:["Removed",M.STRING],labelFileRemoveError:["Error during remove",M.STRING],labelFileProcessing:["Uploading",M.STRING],labelFileProcessingComplete:["Upload complete",M.STRING],labelFileProcessingAborted:["Upload cancelled",M.STRING],labelFileProcessingError:["Error during upload",M.STRING],labelFileProcessingRevertError:["Error during revert",M.STRING],labelTapToCancel:["tap to cancel",M.STRING],labelTapToRetry:["tap to retry",M.STRING],labelTapToUndo:["tap to undo",M.STRING],labelButtonRemoveItem:["Remove",M.STRING],labelButtonAbortItemLoad:["Abort",M.STRING],labelButtonRetryItemLoad:["Retry",M.STRING],labelButtonAbortItemProcessing:["Cancel",M.STRING],labelButtonUndoItemProcessing:["Undo",M.STRING],labelButtonRetryItemProcessing:["Retry",M.STRING],labelButtonProcessItem:["Upload",M.STRING],iconRemove:['',M.STRING],iconProcess:['',M.STRING],iconRetry:['',M.STRING],iconUndo:['',M.STRING],iconDone:['',M.STRING],oninit:[null,M.FUNCTION],onwarning:[null,M.FUNCTION],onerror:[null,M.FUNCTION],onactivatefile:[null,M.FUNCTION],oninitfile:[null,M.FUNCTION],onaddfilestart:[null,M.FUNCTION],onaddfileprogress:[null,M.FUNCTION],onaddfile:[null,M.FUNCTION],onprocessfilestart:[null,M.FUNCTION],onprocessfileprogress:[null,M.FUNCTION],onprocessfileabort:[null,M.FUNCTION],onprocessfilerevert:[null,M.FUNCTION],onprocessfile:[null,M.FUNCTION],onprocessfiles:[null,M.FUNCTION],onremovefile:[null,M.FUNCTION],onpreparefile:[null,M.FUNCTION],onupdatefiles:[null,M.FUNCTION],onreorderfiles:[null,M.FUNCTION],beforeDropFile:[null,M.FUNCTION],beforeAddFile:[null,M.FUNCTION],beforeRemoveFile:[null,M.FUNCTION],beforePrepareFile:[null,M.FUNCTION],stylePanelLayout:[null,M.STRING],stylePanelAspectRatio:[null,M.STRING],styleItemPanelAspectRatio:[null,M.STRING],styleButtonRemoveItemPosition:["left",M.STRING],styleButtonProcessItemPosition:["right",M.STRING],styleLoadIndicatorPosition:["right",M.STRING],styleProgressIndicatorPosition:["right",M.STRING],styleButtonRemoveItemAlign:[!1,M.BOOLEAN],files:[[],M.ARRAY],credits:[["https://pqina.nl/","Powered by PQINA"],M.ARRAY]},Ke=(e,t)=>Ne(t)?e[0]||null:bt(t)?e[t]||null:(typeof t=="object"&&(t=t.id),e.find(i=>i.id===t)||null),wn=e=>{if(Ne(e))return e;if(/:/.test(e)){let t=e.split(":");return t[1]/t[0]}return parseFloat(e)},ze=e=>e.filter(t=>!t.archived),Ln={EMPTY:0,IDLE:1,ERROR:2,BUSY:3,READY:4},Qt=null,Ts=()=>{if(Qt===null)try{let e=new DataTransfer;e.items.add(new File(["hello world"],"This_Works.txt"));let t=document.createElement("input");t.setAttribute("type","file"),t.files=e.files,Qt=t.files.length===1}catch{Qt=!1}return Qt},Is=[W.LOAD_ERROR,W.PROCESSING_ERROR,W.PROCESSING_REVERT_ERROR],vs=[W.LOADING,W.PROCESSING,W.PROCESSING_QUEUED,W.INIT],xs=[W.PROCESSING_COMPLETE],ys=e=>Is.includes(e.status),Rs=e=>vs.includes(e.status),Ss=e=>xs.includes(e.status),Ua=e=>de(e.options.server)&&(de(e.options.server.process)||Xe(e.options.server.process)),_s=e=>({GET_STATUS:()=>{let t=ze(e.items),{EMPTY:i,ERROR:a,BUSY:n,IDLE:l,READY:o}=Ln;return t.length===0?i:t.some(ys)?a:t.some(Rs)?n:t.some(Ss)?o:l},GET_ITEM:t=>Ke(e.items,t),GET_ACTIVE_ITEM:t=>Ke(ze(e.items),t),GET_ACTIVE_ITEMS:()=>ze(e.items),GET_ITEMS:()=>e.items,GET_ITEM_NAME:t=>{let i=Ke(e.items,t);return i?i.filename:null},GET_ITEM_SIZE:t=>{let i=Ke(e.items,t);return i?i.fileSize:null},GET_STYLES:()=>Object.keys(e.options).filter(t=>/^style/.test(t)).map(t=>({name:t,value:e.options[t]})),GET_PANEL_ASPECT_RATIO:()=>/circle/.test(e.options.stylePanelLayout)?1:wn(e.options.stylePanelAspectRatio),GET_ITEM_PANEL_ASPECT_RATIO:()=>e.options.styleItemPanelAspectRatio,GET_ITEMS_BY_STATUS:t=>ze(e.items).filter(i=>i.status===t),GET_TOTAL_ITEMS:()=>ze(e.items).length,SHOULD_UPDATE_FILE_INPUT:()=>e.options.storeAsFile&&Ts()&&!Ua(e),IS_ASYNC:()=>Ua(e),GET_FILE_SIZE_LABELS:t=>({labelBytes:t("GET_LABEL_FILE_SIZE_BYTES")||void 0,labelKilobytes:t("GET_LABEL_FILE_SIZE_KILOBYTES")||void 0,labelMegabytes:t("GET_LABEL_FILE_SIZE_MEGABYTES")||void 0,labelGigabytes:t("GET_LABEL_FILE_SIZE_GIGABYTES")||void 0})}),ws=e=>{let t=ze(e.items).length;if(!e.options.allowMultiple)return t===0;let i=e.options.maxFiles;return i===null||tMath.max(Math.min(i,e),t),Ls=(e,t,i)=>e.splice(t,0,i),Ms=(e,t,i)=>Ne(t)?null:typeof i>"u"?(e.push(t),t):(i=Mn(i,0,e.length),Ls(e,i,t),t),Fi=e=>/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i.test(e),Dt=e=>`${e}`.split("/").pop().split("?").shift(),ui=e=>e.split(".").pop(),As=e=>{if(typeof e!="string")return"";let t=e.split("/").pop();return/svg/.test(t)?"svg":/zip|compressed/.test(t)?"zip":/plain/.test(t)?"txt":/msword/.test(t)?"doc":/[a-z]+/.test(t)?t==="jpeg"?"jpg":t:""},At=(e,t="")=>(t+e).slice(-t.length),An=(e=new Date)=>`${e.getFullYear()}-${At(e.getMonth()+1,"00")}-${At(e.getDate(),"00")}_${At(e.getHours(),"00")}-${At(e.getMinutes(),"00")}-${At(e.getSeconds(),"00")}`,ht=(e,t,i=null,a=null)=>{let n=typeof i=="string"?e.slice(0,e.size,i):e.slice(0,e.size,e.type);return n.lastModifiedDate=new Date,e._relativePath&&(n._relativePath=e._relativePath),ge(t)||(t=An()),t&&a===null&&ui(t)?n.name=t:(a=a||As(n.type),n.name=t+(a?"."+a:"")),n},zs=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,zn=(e,t)=>{let i=zs();if(i){let a=new i;return a.append(e),a.getBlob(t)}return new Blob([e],{type:t})},Ps=(e,t)=>{let i=new ArrayBuffer(e.length),a=new Uint8Array(i);for(let n=0;n(/^data:(.+);/.exec(e)||[])[1]||null,Fs=e=>e.split(",")[1].replace(/\s/g,""),Os=e=>atob(Fs(e)),Ds=e=>{let t=Pn(e),i=Os(e);return Ps(i,t)},Cs=(e,t,i)=>ht(Ds(e),t,null,i),Bs=e=>{if(!/^content-disposition:/i.test(e))return null;let t=e.split(/filename=|filename\*=.+''/).splice(1).map(i=>i.trim().replace(/^["']|[;"']{0,2}$/g,"")).filter(i=>i.length);return t.length?decodeURI(t[t.length-1]):null},ks=e=>{if(/content-length:/i.test(e)){let t=e.match(/[0-9]+/)[0];return t?parseInt(t,10):null}return null},Ns=e=>/x-content-transfer-id:/i.test(e)&&(e.split(":")[1]||"").trim()||null,Xi=e=>{let t={source:null,name:null,size:null},i=e.split(` +`);for(let a of i){let n=Bs(a);if(n){t.name=n;continue}let l=ks(a);if(l){t.size=l;continue}let o=Ns(a);if(o){t.source=o;continue}}return t},Vs=e=>{let t={source:null,complete:!1,progress:0,size:null,timestamp:null,duration:0,request:null},i=()=>t.progress,a=()=>{t.request&&t.request.abort&&t.request.abort()},n=()=>{let r=t.source;o.fire("init",r),r instanceof File?o.fire("load",r):r instanceof Blob?o.fire("load",ht(r,r.name)):Fi(r)?o.fire("load",Cs(r)):l(r)},l=r=>{if(!e){o.fire("error",{type:"error",body:"Can't load URL",code:400});return}t.timestamp=Date.now(),t.request=e(r,s=>{t.duration=Date.now()-t.timestamp,t.complete=!0,s instanceof Blob&&(s=ht(s,s.name||Dt(r))),o.fire("load",s instanceof Blob?s:s?s.body:null)},s=>{o.fire("error",typeof s=="string"?{type:"error",code:0,body:s}:s)},(s,p,c)=>{if(c&&(t.size=c),t.duration=Date.now()-t.timestamp,!s){t.progress=null;return}t.progress=p/c,o.fire("progress",t.progress)},()=>{o.fire("abort")},s=>{let p=Xi(typeof s=="string"?s:s.headers);o.fire("meta",{size:t.size||p.size,filename:p.name,source:p.source})})},o={...mi(),setSource:r=>t.source=r,getProgress:i,abort:a,load:n};return o},Wa=e=>/GET|HEAD/.test(e),Ze=(e,t,i)=>{let a={onheaders:()=>{},onprogress:()=>{},onload:()=>{},ontimeout:()=>{},onerror:()=>{},onabort:()=>{},abort:()=>{n=!0,o.abort()}},n=!1,l=!1;i={method:"POST",headers:{},withCredentials:!1,...i},t=encodeURI(t),Wa(i.method)&&e&&(t=`${t}${encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))}`);let o=new XMLHttpRequest,r=Wa(i.method)?o:o.upload;return r.onprogress=s=>{n||a.onprogress(s.lengthComputable,s.loaded,s.total)},o.onreadystatechange=()=>{o.readyState<2||o.readyState===4&&o.status===0||l||(l=!0,a.onheaders(o))},o.onload=()=>{o.status>=200&&o.status<300?a.onload(o):a.onerror(o)},o.onerror=()=>a.onerror(o),o.onabort=()=>{n=!0,a.onabort()},o.ontimeout=()=>a.ontimeout(o),o.open(i.method,t,!0),bt(i.timeout)&&(o.timeout=i.timeout),Object.keys(i.headers).forEach(s=>{let p=unescape(encodeURIComponent(i.headers[s]));o.setRequestHeader(s,p)}),i.responseType&&(o.responseType=i.responseType),i.withCredentials&&(o.withCredentials=!0),o.send(e),a},ae=(e,t,i,a)=>({type:e,code:t,body:i,headers:a}),Qe=e=>t=>{e(ae("error",0,"Timeout",t.getAllResponseHeaders()))},Ha=e=>/\?/.test(e),Ft=(...e)=>{let t="";return e.forEach(i=>{t+=Ha(t)&&Ha(i)?i.replace(/\?/,"&"):i}),t},_i=(e="",t)=>{if(typeof t=="function")return t;if(!t||!ge(t.url))return null;let i=t.onload||(n=>n),a=t.onerror||(n=>null);return(n,l,o,r,s,p)=>{let c=Ze(n,Ft(e,t.url),{...t,responseType:"blob"});return c.onload=d=>{let m=d.getAllResponseHeaders(),u=Xi(m).name||Dt(n);l(ae("load",d.status,t.method==="HEAD"?null:ht(i(d.response),u),m))},c.onerror=d=>{o(ae("error",d.status,a(d.response)||d.statusText,d.getAllResponseHeaders()))},c.onheaders=d=>{p(ae("headers",d.status,null,d.getAllResponseHeaders()))},c.ontimeout=Qe(o),c.onprogress=r,c.onabort=s,c}},xe={QUEUED:0,COMPLETE:1,PROCESSING:2,ERROR:3,WAITING:4},Gs=(e,t,i,a,n,l,o,r,s,p,c)=>{let d=[],{chunkTransferId:m,chunkServer:u,chunkSize:g,chunkRetryDelays:f}=c,h={serverId:m,aborted:!1},I=t.ondata||(w=>w),b=t.onload||((w,O)=>O==="HEAD"?w.getResponseHeader("Upload-Offset"):w.response),E=t.onerror||(w=>null),v=w=>{let O=new FormData;de(n)&&O.append(i,JSON.stringify(n));let S=typeof t.headers=="function"?t.headers(a,n):{...t.headers,"Upload-Length":a.size},L={...t,headers:S},C=Ze(I(O),Ft(e,t.url),L);C.onload=D=>w(b(D,L.method)),C.onerror=D=>o(ae("error",D.status,E(D.response)||D.statusText,D.getAllResponseHeaders())),C.ontimeout=Qe(o)},y=w=>{let O=Ft(e,u.url,h.serverId),L={headers:typeof t.headers=="function"?t.headers(h.serverId):{...t.headers},method:"HEAD"},C=Ze(null,O,L);C.onload=D=>w(b(D,L.method)),C.onerror=D=>o(ae("error",D.status,E(D.response)||D.statusText,D.getAllResponseHeaders())),C.ontimeout=Qe(o)},T=Math.floor(a.size/g);for(let w=0;w<=T;w++){let O=w*g,S=a.slice(O,O+g,"application/offset+octet-stream");d[w]={index:w,size:S.size,offset:O,data:S,file:a,progress:0,retries:[...f],status:xe.QUEUED,error:null,request:null,timeout:null}}let _=()=>l(h.serverId),x=w=>w.status===xe.QUEUED||w.status===xe.ERROR,R=w=>{if(h.aborted)return;if(w=w||d.find(x),!w){d.every(B=>B.status===xe.COMPLETE)&&_();return}w.status=xe.PROCESSING,w.progress=null;let O=u.ondata||(B=>B),S=u.onerror||(B=>null),L=u.onload||(()=>{}),C=Ft(e,u.url,h.serverId),D=typeof u.headers=="function"?u.headers(w):{...u.headers,"Content-Type":"application/offset+octet-stream","Upload-Offset":w.offset,"Upload-Length":a.size,"Upload-Name":a.name},U=w.request=Ze(O(w.data),C,{...u,headers:D});U.onload=B=>{L(B,w.index,d.length),w.status=xe.COMPLETE,w.request=null,A()},U.onprogress=(B,$,X)=>{w.progress=B?$:null,z()},U.onerror=B=>{w.status=xe.ERROR,w.request=null,w.error=S(B.response)||B.statusText,P(w)||o(ae("error",B.status,S(B.response)||B.statusText,B.getAllResponseHeaders()))},U.ontimeout=B=>{w.status=xe.ERROR,w.request=null,P(w)||Qe(o)(B)},U.onabort=()=>{w.status=xe.QUEUED,w.request=null,s()}},P=w=>w.retries.length===0?!1:(w.status=xe.WAITING,clearTimeout(w.timeout),w.timeout=setTimeout(()=>{R(w)},w.retries.shift()),!0),z=()=>{let w=d.reduce((S,L)=>S===null||L.progress===null?null:S+L.progress,0);if(w===null)return r(!1,0,0);let O=d.reduce((S,L)=>S+L.size,0);r(!0,w,O)},A=()=>{d.filter(O=>O.status===xe.PROCESSING).length>=1||R()},k=()=>{d.forEach(w=>{clearTimeout(w.timeout),w.request&&w.request.abort()})};return h.serverId?y(w=>{h.aborted||(d.filter(O=>O.offset{O.status=xe.COMPLETE,O.progress=O.size}),A())}):v(w=>{h.aborted||(p(w),h.serverId=w,A())}),{abort:()=>{h.aborted=!0,k()}}},Us=(e,t,i,a)=>(n,l,o,r,s,p,c)=>{if(!n)return;let d=a.chunkUploads,m=d&&n.size>a.chunkSize,u=d&&(m||a.chunkForce);if(n instanceof Blob&&u)return Gs(e,t,i,n,l,o,r,s,p,c,a);let g=t.ondata||(y=>y),f=t.onload||(y=>y),h=t.onerror||(y=>null),I=typeof t.headers=="function"?t.headers(n,l)||{}:{...t.headers},b={...t,headers:I};var E=new FormData;de(l)&&E.append(i,JSON.stringify(l)),(n instanceof Blob?[{name:null,file:n}]:n).forEach(y=>{E.append(i,y.file,y.name===null?y.file.name:`${y.name}${y.file.name}`)});let v=Ze(g(E),Ft(e,t.url),b);return v.onload=y=>{o(ae("load",y.status,f(y.response),y.getAllResponseHeaders()))},v.onerror=y=>{r(ae("error",y.status,h(y.response)||y.statusText,y.getAllResponseHeaders()))},v.ontimeout=Qe(r),v.onprogress=s,v.onabort=p,v},Ws=(e="",t,i,a)=>typeof t=="function"?(...n)=>t(i,...n,a):!t||!ge(t.url)?null:Us(e,t,i,a),zt=(e="",t)=>{if(typeof t=="function")return t;if(!t||!ge(t.url))return(n,l)=>l();let i=t.onload||(n=>n),a=t.onerror||(n=>null);return(n,l,o)=>{let r=Ze(n,e+t.url,t);return r.onload=s=>{l(ae("load",s.status,i(s.response),s.getAllResponseHeaders()))},r.onerror=s=>{o(ae("error",s.status,a(s.response)||s.statusText,s.getAllResponseHeaders()))},r.ontimeout=Qe(o),r}},Fn=(e=0,t=1)=>e+Math.random()*(t-e),Hs=(e,t=1e3,i=0,a=25,n=250)=>{let l=null,o=Date.now(),r=()=>{let s=Date.now()-o,p=Fn(a,n);s+p>t&&(p=s+p-t);let c=s/t;if(c>=1||document.hidden){e(1);return}e(c),l=setTimeout(r,p)};return t>0&&r(),{clear:()=>{clearTimeout(l)}}},js=(e,t)=>{let i={complete:!1,perceivedProgress:0,perceivedPerformanceUpdater:null,progress:null,timestamp:null,perceivedDuration:0,duration:0,request:null,response:null},{allowMinimumUploadDuration:a}=t,n=(c,d)=>{let m=()=>{i.duration===0||i.progress===null||p.fire("progress",p.getProgress())},u=()=>{i.complete=!0,p.fire("load-perceived",i.response.body)};p.fire("start"),i.timestamp=Date.now(),i.perceivedPerformanceUpdater=Hs(g=>{i.perceivedProgress=g,i.perceivedDuration=Date.now()-i.timestamp,m(),i.response&&i.perceivedProgress===1&&!i.complete&&u()},a?Fn(750,1500):0),i.request=e(c,d,g=>{i.response=de(g)?g:{type:"load",code:200,body:`${g}`,headers:{}},i.duration=Date.now()-i.timestamp,i.progress=1,p.fire("load",i.response.body),(!a||a&&i.perceivedProgress===1)&&u()},g=>{i.perceivedPerformanceUpdater.clear(),p.fire("error",de(g)?g:{type:"error",code:0,body:`${g}`})},(g,f,h)=>{i.duration=Date.now()-i.timestamp,i.progress=g?f/h:null,m()},()=>{i.perceivedPerformanceUpdater.clear(),p.fire("abort",i.response?i.response.body:null)},g=>{p.fire("transfer",g)})},l=()=>{i.request&&(i.perceivedPerformanceUpdater.clear(),i.request.abort&&i.request.abort(),i.complete=!0)},o=()=>{l(),i.complete=!1,i.perceivedProgress=0,i.progress=0,i.timestamp=null,i.perceivedDuration=0,i.duration=0,i.request=null,i.response=null},r=a?()=>i.progress?Math.min(i.progress,i.perceivedProgress):null:()=>i.progress||null,s=a?()=>Math.min(i.duration,i.perceivedDuration):()=>i.duration,p={...mi(),process:n,abort:l,getProgress:r,getDuration:s,reset:o};return p},On=e=>e.substring(0,e.lastIndexOf("."))||e,Ys=e=>{let t=[e.name,e.size,e.type];return e instanceof Blob||Fi(e)?t[0]=e.name||An():Fi(e)?(t[1]=e.length,t[2]=Pn(e)):ge(e)&&(t[0]=Dt(e),t[1]=0,t[2]="application/octet-stream"),{name:t[0],size:t[1],type:t[2]}},Je=e=>!!(e instanceof File||e instanceof Blob&&e.name),Dn=e=>{if(!de(e))return e;let t=ci(e)?[]:{};for(let i in e){if(!e.hasOwnProperty(i))continue;let a=e[i];t[i]=a&&de(a)?Dn(a):a}return t},qs=(e=null,t=null,i=null)=>{let a=Yi(),n={archived:!1,frozen:!1,released:!1,source:null,file:i,serverFileReference:t,transferId:null,processingAborted:!1,status:t?W.PROCESSING_COMPLETE:W.INIT,activeLoader:null,activeProcessor:null},l=null,o={},r=x=>n.status=x,s=(x,...R)=>{n.released||n.frozen||T.fire(x,...R)},p=()=>ui(n.file.name),c=()=>n.file.type,d=()=>n.file.size,m=()=>n.file,u=(x,R,P)=>{if(n.source=x,T.fireSync("init"),n.file){T.fireSync("load-skip");return}n.file=Ys(x),R.on("init",()=>{s("load-init")}),R.on("meta",z=>{n.file.size=z.size,n.file.filename=z.filename,z.source&&(e=re.LIMBO,n.serverFileReference=z.source,n.status=W.PROCESSING_COMPLETE),s("load-meta")}),R.on("progress",z=>{r(W.LOADING),s("load-progress",z)}),R.on("error",z=>{r(W.LOAD_ERROR),s("load-request-error",z)}),R.on("abort",()=>{r(W.INIT),s("load-abort")}),R.on("load",z=>{n.activeLoader=null;let A=w=>{n.file=Je(w)?w:n.file,e===re.LIMBO&&n.serverFileReference?r(W.PROCESSING_COMPLETE):r(W.IDLE),s("load")},k=w=>{n.file=z,s("load-meta"),r(W.LOAD_ERROR),s("load-file-error",w)};if(n.serverFileReference){A(z);return}P(z,A,k)}),R.setSource(x),n.activeLoader=R,R.load()},g=()=>{n.activeLoader&&n.activeLoader.load()},f=()=>{if(n.activeLoader){n.activeLoader.abort();return}r(W.INIT),s("load-abort")},h=(x,R)=>{if(n.processingAborted){n.processingAborted=!1;return}if(r(W.PROCESSING),l=null,!(n.file instanceof Blob)){T.on("load",()=>{h(x,R)});return}x.on("load",A=>{n.transferId=null,n.serverFileReference=A}),x.on("transfer",A=>{n.transferId=A}),x.on("load-perceived",A=>{n.activeProcessor=null,n.transferId=null,n.serverFileReference=A,r(W.PROCESSING_COMPLETE),s("process-complete",A)}),x.on("start",()=>{s("process-start")}),x.on("error",A=>{n.activeProcessor=null,r(W.PROCESSING_ERROR),s("process-error",A)}),x.on("abort",A=>{n.activeProcessor=null,n.serverFileReference=A,r(W.IDLE),s("process-abort"),l&&l()}),x.on("progress",A=>{s("process-progress",A)});let P=A=>{n.archived||x.process(A,{...o})},z=console.error;R(n.file,P,z),n.activeProcessor=x},I=()=>{n.processingAborted=!1,r(W.PROCESSING_QUEUED)},b=()=>new Promise(x=>{if(!n.activeProcessor){n.processingAborted=!0,r(W.IDLE),s("process-abort"),x();return}l=()=>{x()},n.activeProcessor.abort()}),E=(x,R)=>new Promise((P,z)=>{let A=n.serverFileReference!==null?n.serverFileReference:n.transferId;if(A===null){P();return}x(A,()=>{n.serverFileReference=null,n.transferId=null,P()},k=>{if(!R){P();return}r(W.PROCESSING_REVERT_ERROR),s("process-revert-error"),z(k)}),r(W.IDLE),s("process-revert")}),v=(x,R,P)=>{let z=x.split("."),A=z[0],k=z.pop(),w=o;z.forEach(O=>w=w[O]),JSON.stringify(w[k])!==JSON.stringify(R)&&(w[k]=R,s("metadata-update",{key:A,value:o[A],silent:P}))},T={id:{get:()=>a},origin:{get:()=>e,set:x=>e=x},serverId:{get:()=>n.serverFileReference},transferId:{get:()=>n.transferId},status:{get:()=>n.status},filename:{get:()=>n.file.name},filenameWithoutExtension:{get:()=>On(n.file.name)},fileExtension:{get:p},fileType:{get:c},fileSize:{get:d},file:{get:m},relativePath:{get:()=>n.file._relativePath},source:{get:()=>n.source},getMetadata:x=>Dn(x?o[x]:o),setMetadata:(x,R,P)=>{if(de(x)){let z=x;return Object.keys(z).forEach(A=>{v(A,z[A],R)}),x}return v(x,R,P),R},extend:(x,R)=>_[x]=R,abortLoad:f,retryLoad:g,requestProcessing:I,abortProcessing:b,load:u,process:h,revert:E,...mi(),freeze:()=>n.frozen=!0,release:()=>n.released=!0,released:{get:()=>n.released},archive:()=>n.archived=!0,archived:{get:()=>n.archived},setFile:x=>n.file=x},_=We(T);return _},$s=(e,t)=>Ne(t)?0:ge(t)?e.findIndex(i=>i.id===t):-1,ja=(e,t)=>{let i=$s(e,t);if(!(i<0))return e[i]||null},Ya=(e,t,i,a,n,l)=>{let o=Ze(null,e,{method:"GET",responseType:"blob"});return o.onload=r=>{let s=r.getAllResponseHeaders(),p=Xi(s).name||Dt(e);t(ae("load",r.status,ht(r.response,p),s))},o.onerror=r=>{i(ae("error",r.status,r.statusText,r.getAllResponseHeaders()))},o.onheaders=r=>{l(ae("headers",r.status,null,r.getAllResponseHeaders()))},o.ontimeout=Qe(i),o.onprogress=a,o.onabort=n,o},qa=e=>(e.indexOf("//")===0&&(e=location.protocol+e),e.toLowerCase().replace("blob:","").replace(/([a-z])?:\/\//,"$1").split("/")[0]),Xs=e=>(e.indexOf(":")>-1||e.indexOf("//")>-1)&&qa(location.href)!==qa(e),Jt=e=>(...t)=>Xe(e)?e(...t):e,Ks=e=>!Je(e.file),wi=(e,t)=>{clearTimeout(t.listUpdateTimeout),t.listUpdateTimeout=setTimeout(()=>{e("DID_UPDATE_ITEMS",{items:ze(t.items)})},0)},$a=(e,...t)=>new Promise(i=>{if(!e)return i(!0);let a=e(...t);if(a==null)return i(!0);if(typeof a=="boolean")return i(a);typeof a.then=="function"&&a.then(i)}),Li=(e,t)=>{e.items.sort((i,a)=>t(he(i),he(a)))},ye=(e,t)=>({query:i,success:a=()=>{},failure:n=()=>{},...l}={})=>{let o=Ke(e.items,i);if(!o){n({error:ae("error",0,"Item not found"),file:null});return}t(o,a,n,l||{})},Zs=(e,t,i)=>({ABORT_ALL:()=>{ze(i.items).forEach(a=>{a.freeze(),a.abortLoad(),a.abortProcessing()})},DID_SET_FILES:({value:a=[]})=>{let n=a.map(o=>({source:o.source?o.source:o,options:o.options})),l=ze(i.items);l.forEach(o=>{n.find(r=>r.source===o.source||r.source===o.file)||e("REMOVE_ITEM",{query:o,remove:!1})}),l=ze(i.items),n.forEach((o,r)=>{l.find(s=>s.source===o.source||s.file===o.source)||e("ADD_ITEM",{...o,interactionMethod:Re.NONE,index:r})})},DID_UPDATE_ITEM_METADATA:({id:a,action:n,change:l})=>{l.silent||(clearTimeout(i.itemUpdateTimeout),i.itemUpdateTimeout=setTimeout(()=>{let o=ja(i.items,a);if(!t("IS_ASYNC")){Ae("SHOULD_PREPARE_OUTPUT",!1,{item:o,query:t,action:n,change:l}).then(c=>{let d=t("GET_BEFORE_PREPARE_FILE");d&&(c=d(o,c)),c&&e("REQUEST_PREPARE_OUTPUT",{query:a,item:o,success:m=>{e("DID_PREPARE_OUTPUT",{id:a,file:m})}},!0)});return}o.origin===re.LOCAL&&e("DID_LOAD_ITEM",{id:o.id,error:null,serverFileReference:o.source});let r=()=>{setTimeout(()=>{e("REQUEST_ITEM_PROCESSING",{query:a})},32)},s=c=>{o.revert(zt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(c?r:()=>{}).catch(()=>{})},p=c=>{o.abortProcessing().then(c?r:()=>{})};if(o.status===W.PROCESSING_COMPLETE)return s(i.options.instantUpload);if(o.status===W.PROCESSING)return p(i.options.instantUpload);i.options.instantUpload&&r()},0))},MOVE_ITEM:({query:a,index:n})=>{let l=Ke(i.items,a);if(!l)return;let o=i.items.indexOf(l);n=Mn(n,0,i.items.length-1),o!==n&&i.items.splice(n,0,i.items.splice(o,1)[0])},SORT:({compare:a})=>{Li(i,a),e("DID_SORT_ITEMS",{items:t("GET_ACTIVE_ITEMS")})},ADD_ITEMS:({items:a,index:n,interactionMethod:l,success:o=()=>{},failure:r=()=>{}})=>{let s=n;if(n===-1||typeof n>"u"){let u=t("GET_ITEM_INSERT_LOCATION"),g=t("GET_TOTAL_ITEMS");s=u==="before"?0:g}let p=t("GET_IGNORED_FILES"),c=u=>Je(u)?!p.includes(u.name.toLowerCase()):!Ne(u),m=a.filter(c).map(u=>new Promise((g,f)=>{e("ADD_ITEM",{interactionMethod:l,source:u.source||u,success:g,failure:f,index:s++,options:u.options||{}})}));Promise.all(m).then(o).catch(r)},ADD_ITEM:({source:a,index:n=-1,interactionMethod:l,success:o=()=>{},failure:r=()=>{},options:s={}})=>{if(Ne(a)){r({error:ae("error",0,"No source"),file:null});return}if(Je(a)&&i.options.ignoredFiles.includes(a.name.toLowerCase()))return;if(!ws(i)){if(i.options.allowMultiple||!i.options.allowMultiple&&!i.options.allowReplace){let b=ae("warning",0,"Max files");e("DID_THROW_MAX_FILES",{source:a,error:b}),r({error:b,file:null});return}let I=ze(i.items)[0];if(I.status===W.PROCESSING_COMPLETE||I.status===W.PROCESSING_REVERT_ERROR){let b=t("GET_FORCE_REVERT");if(I.revert(zt(i.options.server.url,i.options.server.revert),b).then(()=>{b&&e("ADD_ITEM",{source:a,index:n,interactionMethod:l,success:o,failure:r,options:s})}).catch(()=>{}),b)return}e("REMOVE_ITEM",{query:I.id})}let p=s.type==="local"?re.LOCAL:s.type==="limbo"?re.LIMBO:re.INPUT,c=qs(p,p===re.INPUT?null:a,s.file);Object.keys(s.metadata||{}).forEach(I=>{c.setMetadata(I,s.metadata[I])}),tt("DID_CREATE_ITEM",c,{query:t,dispatch:e});let d=t("GET_ITEM_INSERT_LOCATION");i.options.itemInsertLocationFreedom||(n=d==="before"?-1:i.items.length),Ms(i.items,c,n),Xe(d)&&a&&Li(i,d);let m=c.id;c.on("init",()=>{e("DID_INIT_ITEM",{id:m})}),c.on("load-init",()=>{e("DID_START_ITEM_LOAD",{id:m})}),c.on("load-meta",()=>{e("DID_UPDATE_ITEM_META",{id:m})}),c.on("load-progress",I=>{e("DID_UPDATE_ITEM_LOAD_PROGRESS",{id:m,progress:I})}),c.on("load-request-error",I=>{let b=Jt(i.options.labelFileLoadError)(I);if(I.code>=400&&I.code<500){e("DID_THROW_ITEM_INVALID",{id:m,error:I,status:{main:b,sub:`${I.code} (${I.body})`}}),r({error:I,file:he(c)});return}e("DID_THROW_ITEM_LOAD_ERROR",{id:m,error:I,status:{main:b,sub:i.options.labelTapToRetry}})}),c.on("load-file-error",I=>{e("DID_THROW_ITEM_INVALID",{id:m,error:I.status,status:I.status}),r({error:I.status,file:he(c)})}),c.on("load-abort",()=>{e("REMOVE_ITEM",{query:m})}),c.on("load-skip",()=>{c.on("metadata-update",I=>{Je(c.file)&&e("DID_UPDATE_ITEM_METADATA",{id:m,change:I})}),e("COMPLETE_LOAD_ITEM",{query:m,item:c,data:{source:a,success:o}})}),c.on("load",()=>{let I=b=>{if(!b){e("REMOVE_ITEM",{query:m});return}c.on("metadata-update",E=>{e("DID_UPDATE_ITEM_METADATA",{id:m,change:E})}),Ae("SHOULD_PREPARE_OUTPUT",!1,{item:c,query:t}).then(E=>{let v=t("GET_BEFORE_PREPARE_FILE");v&&(E=v(c,E));let y=()=>{e("COMPLETE_LOAD_ITEM",{query:m,item:c,data:{source:a,success:o}}),wi(e,i)};if(E){e("REQUEST_PREPARE_OUTPUT",{query:m,item:c,success:T=>{e("DID_PREPARE_OUTPUT",{id:m,file:T}),y()}},!0);return}y()})};Ae("DID_LOAD_ITEM",c,{query:t,dispatch:e}).then(()=>{$a(t("GET_BEFORE_ADD_FILE"),he(c)).then(I)}).catch(b=>{if(!b||!b.error||!b.status)return I(!1);e("DID_THROW_ITEM_INVALID",{id:m,error:b.error,status:b.status})})}),c.on("process-start",()=>{e("DID_START_ITEM_PROCESSING",{id:m})}),c.on("process-progress",I=>{e("DID_UPDATE_ITEM_PROCESS_PROGRESS",{id:m,progress:I})}),c.on("process-error",I=>{e("DID_THROW_ITEM_PROCESSING_ERROR",{id:m,error:I,status:{main:Jt(i.options.labelFileProcessingError)(I),sub:i.options.labelTapToRetry}})}),c.on("process-revert-error",I=>{e("DID_THROW_ITEM_PROCESSING_REVERT_ERROR",{id:m,error:I,status:{main:Jt(i.options.labelFileProcessingRevertError)(I),sub:i.options.labelTapToRetry}})}),c.on("process-complete",I=>{e("DID_COMPLETE_ITEM_PROCESSING",{id:m,error:null,serverFileReference:I}),e("DID_DEFINE_VALUE",{id:m,value:I})}),c.on("process-abort",()=>{e("DID_ABORT_ITEM_PROCESSING",{id:m})}),c.on("process-revert",()=>{e("DID_REVERT_ITEM_PROCESSING",{id:m}),e("DID_DEFINE_VALUE",{id:m,value:null})}),e("DID_ADD_ITEM",{id:m,index:n,interactionMethod:l}),wi(e,i);let{url:u,load:g,restore:f,fetch:h}=i.options.server||{};c.load(a,Vs(p===re.INPUT?ge(a)&&Xs(a)&&h?_i(u,h):Ya:p===re.LIMBO?_i(u,f):_i(u,g)),(I,b,E)=>{Ae("LOAD_FILE",I,{query:t}).then(b).catch(E)})},REQUEST_PREPARE_OUTPUT:({item:a,success:n,failure:l=()=>{}})=>{let o={error:ae("error",0,"Item not found"),file:null};if(a.archived)return l(o);Ae("PREPARE_OUTPUT",a.file,{query:t,item:a}).then(r=>{Ae("COMPLETE_PREPARE_OUTPUT",r,{query:t,item:a}).then(s=>{if(a.archived)return l(o);n(s)})})},COMPLETE_LOAD_ITEM:({item:a,data:n})=>{let{success:l,source:o}=n,r=t("GET_ITEM_INSERT_LOCATION");if(Xe(r)&&o&&Li(i,r),e("DID_LOAD_ITEM",{id:a.id,error:null,serverFileReference:a.origin===re.INPUT?null:o}),l(he(a)),a.origin===re.LOCAL){e("DID_LOAD_LOCAL_ITEM",{id:a.id});return}if(a.origin===re.LIMBO){e("DID_COMPLETE_ITEM_PROCESSING",{id:a.id,error:null,serverFileReference:o}),e("DID_DEFINE_VALUE",{id:a.id,value:a.serverId||o});return}t("IS_ASYNC")&&i.options.instantUpload&&e("REQUEST_ITEM_PROCESSING",{query:a.id})},RETRY_ITEM_LOAD:ye(i,a=>{a.retryLoad()}),REQUEST_ITEM_PREPARE:ye(i,(a,n,l)=>{e("REQUEST_PREPARE_OUTPUT",{query:a.id,item:a,success:o=>{e("DID_PREPARE_OUTPUT",{id:a.id,file:o}),n({file:a,output:o})},failure:l},!0)}),REQUEST_ITEM_PROCESSING:ye(i,(a,n,l)=>{if(!(a.status===W.IDLE||a.status===W.PROCESSING_ERROR)){let r=()=>e("REQUEST_ITEM_PROCESSING",{query:a,success:n,failure:l}),s=()=>document.hidden?r():setTimeout(r,32);a.status===W.PROCESSING_COMPLETE||a.status===W.PROCESSING_REVERT_ERROR?a.revert(zt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(s).catch(()=>{}):a.status===W.PROCESSING&&a.abortProcessing().then(s);return}a.status!==W.PROCESSING_QUEUED&&(a.requestProcessing(),e("DID_REQUEST_ITEM_PROCESSING",{id:a.id}),e("PROCESS_ITEM",{query:a,success:n,failure:l},!0))}),PROCESS_ITEM:ye(i,(a,n,l)=>{let o=t("GET_MAX_PARALLEL_UPLOADS");if(t("GET_ITEMS_BY_STATUS",W.PROCESSING).length===o){i.processingQueue.push({id:a.id,success:n,failure:l});return}if(a.status===W.PROCESSING)return;let s=()=>{let c=i.processingQueue.shift();if(!c)return;let{id:d,success:m,failure:u}=c,g=Ke(i.items,d);if(!g||g.archived){s();return}e("PROCESS_ITEM",{query:d,success:m,failure:u},!0)};a.onOnce("process-complete",()=>{n(he(a)),s();let c=i.options.server;if(i.options.instantUpload&&a.origin===re.LOCAL&&Xe(c.remove)){let u=()=>{};a.origin=re.LIMBO,i.options.server.remove(a.source,u,u)}t("GET_ITEMS_BY_STATUS",W.PROCESSING_COMPLETE).length===i.items.length&&e("DID_COMPLETE_ITEM_PROCESSING_ALL")}),a.onOnce("process-error",c=>{l({error:c,file:he(a)}),s()});let p=i.options;a.process(js(Ws(p.server.url,p.server.process,p.name,{chunkTransferId:a.transferId,chunkServer:p.server.patch,chunkUploads:p.chunkUploads,chunkForce:p.chunkForce,chunkSize:p.chunkSize,chunkRetryDelays:p.chunkRetryDelays}),{allowMinimumUploadDuration:t("GET_ALLOW_MINIMUM_UPLOAD_DURATION")}),(c,d,m)=>{Ae("PREPARE_OUTPUT",c,{query:t,item:a}).then(u=>{e("DID_PREPARE_OUTPUT",{id:a.id,file:u}),d(u)}).catch(m)})}),RETRY_ITEM_PROCESSING:ye(i,a=>{e("REQUEST_ITEM_PROCESSING",{query:a})}),REQUEST_REMOVE_ITEM:ye(i,a=>{$a(t("GET_BEFORE_REMOVE_FILE"),he(a)).then(n=>{n&&e("REMOVE_ITEM",{query:a})})}),RELEASE_ITEM:ye(i,a=>{a.release()}),REMOVE_ITEM:ye(i,(a,n,l,o)=>{let r=()=>{let p=a.id;ja(i.items,p).archive(),e("DID_REMOVE_ITEM",{error:null,id:p,item:a}),wi(e,i),n(he(a))},s=i.options.server;a.origin===re.LOCAL&&s&&Xe(s.remove)&&o.remove!==!1?(e("DID_START_ITEM_REMOVE",{id:a.id}),s.remove(a.source,()=>r(),p=>{e("DID_THROW_ITEM_REMOVE_ERROR",{id:a.id,error:ae("error",0,p,null),status:{main:Jt(i.options.labelFileRemoveError)(p),sub:i.options.labelTapToRetry}})})):((o.revert&&a.origin!==re.LOCAL&&a.serverId!==null||i.options.chunkUploads&&a.file.size>i.options.chunkSize||i.options.chunkUploads&&i.options.chunkForce)&&a.revert(zt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")),r())}),ABORT_ITEM_LOAD:ye(i,a=>{a.abortLoad()}),ABORT_ITEM_PROCESSING:ye(i,a=>{if(a.serverId){e("REVERT_ITEM_PROCESSING",{id:a.id});return}a.abortProcessing().then(()=>{i.options.instantUpload&&e("REMOVE_ITEM",{query:a.id})})}),REQUEST_REVERT_ITEM_PROCESSING:ye(i,a=>{if(!i.options.instantUpload){e("REVERT_ITEM_PROCESSING",{query:a});return}let n=r=>{r&&e("REVERT_ITEM_PROCESSING",{query:a})},l=t("GET_BEFORE_REMOVE_FILE");if(!l)return n(!0);let o=l(he(a));if(o==null)return n(!0);if(typeof o=="boolean")return n(o);typeof o.then=="function"&&o.then(n)}),REVERT_ITEM_PROCESSING:ye(i,a=>{a.revert(zt(i.options.server.url,i.options.server.revert),t("GET_FORCE_REVERT")).then(()=>{(i.options.instantUpload||Ks(a))&&e("REMOVE_ITEM",{query:a.id})}).catch(()=>{})}),SET_OPTIONS:({options:a})=>{let n=Object.keys(a),l=Qs.filter(r=>n.includes(r));[...l,...Object.keys(a).filter(r=>!l.includes(r))].forEach(r=>{e(`SET_${pi(r,"_").toUpperCase()}`,{value:a[r]})})}}),Qs=["server"],Ki=e=>e,Ve=e=>document.createElement(e),ne=(e,t)=>{let i=e.childNodes[0];i?t!==i.nodeValue&&(i.nodeValue=t):(i=document.createTextNode(t),e.appendChild(i))},Xa=(e,t,i,a)=>{let n=(a%360-90)*Math.PI/180;return{x:e+i*Math.cos(n),y:t+i*Math.sin(n)}},Js=(e,t,i,a,n,l)=>{let o=Xa(e,t,i,n),r=Xa(e,t,i,a);return["M",o.x,o.y,"A",i,i,0,l,0,r.x,r.y].join(" ")},ec=(e,t,i,a,n)=>{let l=1;return n>a&&n-a<=.5&&(l=0),a>n&&a-n>=.5&&(l=0),Js(e,t,i,Math.min(.9999,a)*360,Math.min(.9999,n)*360,l)},tc=({root:e,props:t})=>{t.spin=!1,t.progress=0,t.opacity=0;let i=li("svg");e.ref.path=li("path",{"stroke-width":2,"stroke-linecap":"round"}),i.appendChild(e.ref.path),e.ref.svg=i,e.appendChild(i)},ic=({root:e,props:t})=>{if(t.opacity===0)return;t.align&&(e.element.dataset.align=t.align);let i=parseInt(se(e.ref.path,"stroke-width"),10),a=e.rect.element.width*.5,n=0,l=0;t.spin?(n=0,l=.5):(n=0,l=t.progress);let o=ec(a,a,a-i,n,l);se(e.ref.path,"d",o),se(e.ref.path,"stroke-opacity",t.spin||t.progress>0?1:0)},Ka=le({tag:"div",name:"progress-indicator",ignoreRectUpdate:!0,ignoreRect:!0,create:tc,write:ic,mixins:{apis:["progress","spin","align"],styles:["opacity"],animations:{opacity:{type:"tween",duration:500},progress:{type:"spring",stiffness:.95,damping:.65,mass:10}}}}),ac=({root:e,props:t})=>{e.element.innerHTML=(t.icon||"")+`${t.label}`,t.isDisabled=!1},nc=({root:e,props:t})=>{let{isDisabled:i}=t,a=e.query("GET_DISABLED")||t.opacity===0;a&&!i?(t.isDisabled=!0,se(e.element,"disabled","disabled")):!a&&i&&(t.isDisabled=!1,e.element.removeAttribute("disabled"))},Cn=le({tag:"button",attributes:{type:"button"},ignoreRect:!0,ignoreRectUpdate:!0,name:"file-action-button",mixins:{apis:["label"],styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}},listeners:!0},create:ac,write:nc}),Bn=(e,t=".",i=1e3,a={})=>{let{labelBytes:n="bytes",labelKilobytes:l="KB",labelMegabytes:o="MB",labelGigabytes:r="GB"}=a;e=Math.round(Math.abs(e));let s=i,p=i*i,c=i*i*i;return ee.toFixed(t).split(".").filter(a=>a!=="0").join(i),lc=({root:e,props:t})=>{let i=Ve("span");i.className="filepond--file-info-main",se(i,"aria-hidden","true"),e.appendChild(i),e.ref.fileName=i;let a=Ve("span");a.className="filepond--file-info-sub",e.appendChild(a),e.ref.fileSize=a,ne(a,e.query("GET_LABEL_FILE_WAITING_FOR_SIZE")),ne(i,Ki(e.query("GET_ITEM_NAME",t.id)))},Oi=({root:e,props:t})=>{ne(e.ref.fileSize,Bn(e.query("GET_ITEM_SIZE",t.id),".",e.query("GET_FILE_SIZE_BASE"),e.query("GET_FILE_SIZE_LABELS",e.query))),ne(e.ref.fileName,Ki(e.query("GET_ITEM_NAME",t.id)))},Qa=({root:e,props:t})=>{if(bt(e.query("GET_ITEM_SIZE",t.id))){Oi({root:e,props:t});return}ne(e.ref.fileSize,e.query("GET_LABEL_FILE_SIZE_NOT_AVAILABLE"))},oc=le({name:"file-info",ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:Oi,DID_UPDATE_ITEM_META:Oi,DID_THROW_ITEM_LOAD_ERROR:Qa,DID_THROW_ITEM_INVALID:Qa}),didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},create:lc,mixins:{styles:["translateX","translateY"],animations:{translateX:"spring",translateY:"spring"}}}),kn=e=>Math.round(e*100),rc=({root:e})=>{let t=Ve("span");t.className="filepond--file-status-main",e.appendChild(t),e.ref.main=t;let i=Ve("span");i.className="filepond--file-status-sub",e.appendChild(i),e.ref.sub=i,Nn({root:e,action:{progress:null}})},Nn=({root:e,action:t})=>{let i=t.progress===null?e.query("GET_LABEL_FILE_LOADING"):`${e.query("GET_LABEL_FILE_LOADING")} ${kn(t.progress)}%`;ne(e.ref.main,i),ne(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},sc=({root:e,action:t})=>{let i=t.progress===null?e.query("GET_LABEL_FILE_PROCESSING"):`${e.query("GET_LABEL_FILE_PROCESSING")} ${kn(t.progress)}%`;ne(e.ref.main,i),ne(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},cc=({root:e})=>{ne(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING")),ne(e.ref.sub,e.query("GET_LABEL_TAP_TO_CANCEL"))},dc=({root:e})=>{ne(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_ABORTED")),ne(e.ref.sub,e.query("GET_LABEL_TAP_TO_RETRY"))},pc=({root:e})=>{ne(e.ref.main,e.query("GET_LABEL_FILE_PROCESSING_COMPLETE")),ne(e.ref.sub,e.query("GET_LABEL_TAP_TO_UNDO"))},Ja=({root:e})=>{ne(e.ref.main,""),ne(e.ref.sub,"")},Pt=({root:e,action:t})=>{ne(e.ref.main,t.status.main),ne(e.ref.sub,t.status.sub)},mc=le({name:"file-status",ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:Ja,DID_REVERT_ITEM_PROCESSING:Ja,DID_REQUEST_ITEM_PROCESSING:cc,DID_ABORT_ITEM_PROCESSING:dc,DID_COMPLETE_ITEM_PROCESSING:pc,DID_UPDATE_ITEM_PROCESS_PROGRESS:sc,DID_UPDATE_ITEM_LOAD_PROGRESS:Nn,DID_THROW_ITEM_LOAD_ERROR:Pt,DID_THROW_ITEM_INVALID:Pt,DID_THROW_ITEM_PROCESSING_ERROR:Pt,DID_THROW_ITEM_PROCESSING_REVERT_ERROR:Pt,DID_THROW_ITEM_REMOVE_ERROR:Pt}),didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},create:rc,mixins:{styles:["translateX","translateY","opacity"],animations:{opacity:{type:"tween",duration:250},translateX:"spring",translateY:"spring"}}}),Di={AbortItemLoad:{label:"GET_LABEL_BUTTON_ABORT_ITEM_LOAD",action:"ABORT_ITEM_LOAD",className:"filepond--action-abort-item-load",align:"LOAD_INDICATOR_POSITION"},RetryItemLoad:{label:"GET_LABEL_BUTTON_RETRY_ITEM_LOAD",action:"RETRY_ITEM_LOAD",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-load",align:"BUTTON_PROCESS_ITEM_POSITION"},RemoveItem:{label:"GET_LABEL_BUTTON_REMOVE_ITEM",action:"REQUEST_REMOVE_ITEM",icon:"GET_ICON_REMOVE",className:"filepond--action-remove-item",align:"BUTTON_REMOVE_ITEM_POSITION"},ProcessItem:{label:"GET_LABEL_BUTTON_PROCESS_ITEM",action:"REQUEST_ITEM_PROCESSING",icon:"GET_ICON_PROCESS",className:"filepond--action-process-item",align:"BUTTON_PROCESS_ITEM_POSITION"},AbortItemProcessing:{label:"GET_LABEL_BUTTON_ABORT_ITEM_PROCESSING",action:"ABORT_ITEM_PROCESSING",className:"filepond--action-abort-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RetryItemProcessing:{label:"GET_LABEL_BUTTON_RETRY_ITEM_PROCESSING",action:"RETRY_ITEM_PROCESSING",icon:"GET_ICON_RETRY",className:"filepond--action-retry-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"},RevertItemProcessing:{label:"GET_LABEL_BUTTON_UNDO_ITEM_PROCESSING",action:"REQUEST_REVERT_ITEM_PROCESSING",icon:"GET_ICON_UNDO",className:"filepond--action-revert-item-processing",align:"BUTTON_PROCESS_ITEM_POSITION"}},Ci=[];te(Di,e=>{Ci.push(e)});var Ie=e=>{if(Bi(e)==="right")return 0;let t=e.ref.buttonRemoveItem.rect.element;return t.hidden?null:t.width+t.left},uc=e=>e.ref.buttonAbortItemLoad.rect.element.width,ei=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.height/4),gc=e=>Math.floor(e.ref.buttonRemoveItem.rect.element.left/2),fc=e=>e.query("GET_STYLE_LOAD_INDICATOR_POSITION"),hc=e=>e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION"),Bi=e=>e.query("GET_STYLE_BUTTON_REMOVE_ITEM_POSITION"),bc={buttonAbortItemLoad:{opacity:0},buttonRetryItemLoad:{opacity:0},buttonRemoveItem:{opacity:0},buttonProcessItem:{opacity:0},buttonAbortItemProcessing:{opacity:0},buttonRetryItemProcessing:{opacity:0},buttonRevertItemProcessing:{opacity:0},loadProgressIndicator:{opacity:0,align:fc},processProgressIndicator:{opacity:0,align:hc},processingCompleteIndicator:{opacity:0,scaleX:.75,scaleY:.75},info:{translateX:0,translateY:0,opacity:0},status:{translateX:0,translateY:0,opacity:0}},en={buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:Ie},status:{translateX:Ie}},Mi={buttonAbortItemProcessing:{opacity:1},processProgressIndicator:{opacity:1},status:{opacity:1}},mt={DID_THROW_ITEM_INVALID:{buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{translateX:Ie,opacity:1}},DID_START_ITEM_LOAD:{buttonAbortItemLoad:{opacity:1},loadProgressIndicator:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_LOAD_ERROR:{buttonRetryItemLoad:{opacity:1},buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{opacity:1}},DID_START_ITEM_REMOVE:{processProgressIndicator:{opacity:1,align:Bi},info:{translateX:Ie},status:{opacity:0}},DID_THROW_ITEM_REMOVE_ERROR:{processProgressIndicator:{opacity:0,align:Bi},buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{opacity:1,translateX:Ie}},DID_LOAD_ITEM:en,DID_LOAD_LOCAL_ITEM:{buttonRemoveItem:{opacity:1},info:{translateX:Ie},status:{translateX:Ie}},DID_START_ITEM_PROCESSING:Mi,DID_REQUEST_ITEM_PROCESSING:Mi,DID_UPDATE_ITEM_PROCESS_PROGRESS:Mi,DID_COMPLETE_ITEM_PROCESSING:{buttonRevertItemProcessing:{opacity:1},info:{opacity:1},status:{opacity:1}},DID_THROW_ITEM_PROCESSING_ERROR:{buttonRemoveItem:{opacity:1},buttonRetryItemProcessing:{opacity:1},status:{opacity:1},info:{translateX:Ie}},DID_THROW_ITEM_PROCESSING_REVERT_ERROR:{buttonRevertItemProcessing:{opacity:1},status:{opacity:1},info:{opacity:1}},DID_ABORT_ITEM_PROCESSING:{buttonRemoveItem:{opacity:1},buttonProcessItem:{opacity:1},info:{translateX:Ie},status:{opacity:1}},DID_REVERT_ITEM_PROCESSING:en},Ec=le({create:({root:e})=>{e.element.innerHTML=e.query("GET_ICON_DONE")},name:"processing-complete-indicator",ignoreRect:!0,mixins:{styles:["scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",opacity:{type:"tween",duration:250}}}}),Tc=({root:e,props:t})=>{let i=Object.keys(Di).reduce((g,f)=>(g[f]={...Di[f]},g),{}),{id:a}=t,n=e.query("GET_ALLOW_REVERT"),l=e.query("GET_ALLOW_REMOVE"),o=e.query("GET_ALLOW_PROCESS"),r=e.query("GET_INSTANT_UPLOAD"),s=e.query("IS_ASYNC"),p=e.query("GET_STYLE_BUTTON_REMOVE_ITEM_ALIGN"),c;s?o&&!n?c=g=>!/RevertItemProcessing/.test(g):!o&&n?c=g=>!/ProcessItem|RetryItemProcessing|AbortItemProcessing/.test(g):!o&&!n&&(c=g=>!/Process/.test(g)):c=g=>!/Process/.test(g);let d=c?Ci.filter(c):Ci.concat();if(r&&n&&(i.RevertItemProcessing.label="GET_LABEL_BUTTON_REMOVE_ITEM",i.RevertItemProcessing.icon="GET_ICON_REMOVE"),s&&!n){let g=mt.DID_COMPLETE_ITEM_PROCESSING;g.info.translateX=gc,g.info.translateY=ei,g.status.translateY=ei,g.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}if(s&&!o&&(["DID_START_ITEM_PROCESSING","DID_REQUEST_ITEM_PROCESSING","DID_UPDATE_ITEM_PROCESS_PROGRESS","DID_THROW_ITEM_PROCESSING_ERROR"].forEach(g=>{mt[g].status.translateY=ei}),mt.DID_THROW_ITEM_PROCESSING_ERROR.status.translateX=uc),p&&n){i.RevertItemProcessing.align="BUTTON_REMOVE_ITEM_POSITION";let g=mt.DID_COMPLETE_ITEM_PROCESSING;g.info.translateX=Ie,g.status.translateY=ei,g.processingCompleteIndicator={opacity:1,scaleX:1,scaleY:1}}l||(i.RemoveItem.disabled=!0),te(i,(g,f)=>{let h=e.createChildView(Cn,{label:e.query(f.label),icon:e.query(f.icon),opacity:0});d.includes(g)&&e.appendChildView(h),f.disabled&&(h.element.setAttribute("disabled","disabled"),h.element.setAttribute("hidden","hidden")),h.element.dataset.align=e.query(`GET_STYLE_${f.align}`),h.element.classList.add(f.className),h.on("click",I=>{I.stopPropagation(),!f.disabled&&e.dispatch(f.action,{query:a})}),e.ref[`button${g}`]=h}),e.ref.processingCompleteIndicator=e.appendChildView(e.createChildView(Ec)),e.ref.processingCompleteIndicator.element.dataset.align=e.query("GET_STYLE_BUTTON_PROCESS_ITEM_POSITION"),e.ref.info=e.appendChildView(e.createChildView(oc,{id:a})),e.ref.status=e.appendChildView(e.createChildView(mc,{id:a}));let m=e.appendChildView(e.createChildView(Ka,{opacity:0,align:e.query("GET_STYLE_LOAD_INDICATOR_POSITION")}));m.element.classList.add("filepond--load-indicator"),e.ref.loadProgressIndicator=m;let u=e.appendChildView(e.createChildView(Ka,{opacity:0,align:e.query("GET_STYLE_PROGRESS_INDICATOR_POSITION")}));u.element.classList.add("filepond--process-indicator"),e.ref.processProgressIndicator=u,e.ref.activeStyles=[]},Ic=({root:e,actions:t,props:i})=>{vc({root:e,actions:t,props:i});let a=t.concat().filter(n=>/^DID_/.test(n.type)).reverse().find(n=>mt[n.type]);if(a){e.ref.activeStyles=[];let n=mt[a.type];te(bc,(l,o)=>{let r=e.ref[l];te(o,(s,p)=>{let c=n[l]&&typeof n[l][s]<"u"?n[l][s]:p;e.ref.activeStyles.push({control:r,key:s,value:c})})})}e.ref.activeStyles.forEach(({control:n,key:l,value:o})=>{n[l]=typeof o=="function"?o(e):o})},vc=fe({DID_SET_LABEL_BUTTON_ABORT_ITEM_PROCESSING:({root:e,action:t})=>{e.ref.buttonAbortItemProcessing.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_LOAD:({root:e,action:t})=>{e.ref.buttonAbortItemLoad.label=t.value},DID_SET_LABEL_BUTTON_ABORT_ITEM_REMOVAL:({root:e,action:t})=>{e.ref.buttonAbortItemRemoval.label=t.value},DID_REQUEST_ITEM_PROCESSING:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_START_ITEM_LOAD:({root:e})=>{e.ref.loadProgressIndicator.spin=!0,e.ref.loadProgressIndicator.progress=0},DID_START_ITEM_REMOVE:({root:e})=>{e.ref.processProgressIndicator.spin=!0,e.ref.processProgressIndicator.progress=0},DID_UPDATE_ITEM_LOAD_PROGRESS:({root:e,action:t})=>{e.ref.loadProgressIndicator.spin=!1,e.ref.loadProgressIndicator.progress=t.progress},DID_UPDATE_ITEM_PROCESS_PROGRESS:({root:e,action:t})=>{e.ref.processProgressIndicator.spin=!1,e.ref.processProgressIndicator.progress=t.progress}}),xc=le({create:Tc,write:Ic,didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},name:"file"}),yc=({root:e,props:t})=>{e.ref.fileName=Ve("legend"),e.appendChild(e.ref.fileName),e.ref.file=e.appendChildView(e.createChildView(xc,{id:t.id})),e.ref.data=!1},Rc=({root:e,props:t})=>{ne(e.ref.fileName,Ki(e.query("GET_ITEM_NAME",t.id)))},Sc=le({create:yc,ignoreRect:!0,write:fe({DID_LOAD_ITEM:Rc}),didCreateView:e=>{tt("CREATE_VIEW",{...e,view:e})},tag:"fieldset",name:"file-wrapper"}),tn={type:"spring",damping:.6,mass:7},_c=({root:e,props:t})=>{[{name:"top"},{name:"center",props:{translateY:null,scaleY:null},mixins:{animations:{scaleY:tn},styles:["translateY","scaleY"]}},{name:"bottom",props:{translateY:null},mixins:{animations:{translateY:tn},styles:["translateY"]}}].forEach(i=>{wc(e,i,t.name)}),e.element.classList.add(`filepond--${t.name}`),e.ref.scalable=null},wc=(e,t,i)=>{let a=le({name:`panel-${t.name} filepond--${i}`,mixins:t.mixins,ignoreRectUpdate:!0}),n=e.createChildView(a,t.props);e.ref[t.name]=e.appendChildView(n)},Lc=({root:e,props:t})=>{if((e.ref.scalable===null||t.scalable!==e.ref.scalable)&&(e.ref.scalable=In(t.scalable)?t.scalable:!0,e.element.dataset.scalable=e.ref.scalable),!t.height)return;let i=e.ref.top.rect.element,a=e.ref.bottom.rect.element,n=Math.max(i.height+a.height,t.height);e.ref.center.translateY=i.height,e.ref.center.scaleY=(n-i.height-a.height)/100,e.ref.bottom.translateY=n-a.height},Vn=le({name:"panel",read:({root:e,props:t})=>t.heightCurrent=e.ref.bottom.translateY,write:Lc,create:_c,ignoreRect:!0,mixins:{apis:["height","heightCurrent","scalable"]}}),Mc=e=>{let t=e.map(a=>a.id),i;return{setIndex:a=>{i=a},getIndex:()=>i,getItemIndex:a=>t.indexOf(a.id)}},an={type:"spring",stiffness:.75,damping:.45,mass:10},nn="spring",ln={DID_START_ITEM_LOAD:"busy",DID_UPDATE_ITEM_LOAD_PROGRESS:"loading",DID_THROW_ITEM_INVALID:"load-invalid",DID_THROW_ITEM_LOAD_ERROR:"load-error",DID_LOAD_ITEM:"idle",DID_THROW_ITEM_REMOVE_ERROR:"remove-error",DID_START_ITEM_REMOVE:"busy",DID_START_ITEM_PROCESSING:"busy processing",DID_REQUEST_ITEM_PROCESSING:"busy processing",DID_UPDATE_ITEM_PROCESS_PROGRESS:"processing",DID_COMPLETE_ITEM_PROCESSING:"processing-complete",DID_THROW_ITEM_PROCESSING_ERROR:"processing-error",DID_THROW_ITEM_PROCESSING_REVERT_ERROR:"processing-revert-error",DID_ABORT_ITEM_PROCESSING:"cancelled",DID_REVERT_ITEM_PROCESSING:"idle"},Ac=({root:e,props:t})=>{if(e.ref.handleClick=a=>e.dispatch("DID_ACTIVATE_ITEM",{id:t.id}),e.element.id=`filepond--item-${t.id}`,e.element.addEventListener("click",e.ref.handleClick),e.ref.container=e.appendChildView(e.createChildView(Sc,{id:t.id})),e.ref.panel=e.appendChildView(e.createChildView(Vn,{name:"item-panel"})),e.ref.panel.height=null,t.markedForRemoval=!1,!e.query("GET_ALLOW_REORDER"))return;e.element.dataset.dragState="idle";let i=a=>{if(!a.isPrimary)return;let n=!1,l={x:a.pageX,y:a.pageY};t.dragOrigin={x:e.translateX,y:e.translateY},t.dragCenter={x:a.offsetX,y:a.offsetY};let o=Mc(e.query("GET_ACTIVE_ITEMS"));e.dispatch("DID_GRAB_ITEM",{id:t.id,dragState:o});let r=d=>{if(!d.isPrimary)return;d.stopPropagation(),d.preventDefault(),t.dragOffset={x:d.pageX-l.x,y:d.pageY-l.y},t.dragOffset.x*t.dragOffset.x+t.dragOffset.y*t.dragOffset.y>16&&!n&&(n=!0,e.element.removeEventListener("click",e.ref.handleClick)),e.dispatch("DID_DRAG_ITEM",{id:t.id,dragState:o})},s=d=>{d.isPrimary&&(t.dragOffset={x:d.pageX-l.x,y:d.pageY-l.y},c())},p=()=>{c()},c=()=>{document.removeEventListener("pointercancel",p),document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",s),e.dispatch("DID_DROP_ITEM",{id:t.id,dragState:o}),n&&setTimeout(()=>e.element.addEventListener("click",e.ref.handleClick),0)};document.addEventListener("pointercancel",p),document.addEventListener("pointermove",r),document.addEventListener("pointerup",s)};e.element.addEventListener("pointerdown",i)},zc=fe({DID_UPDATE_PANEL_HEIGHT:({root:e,action:t})=>{e.height=t.height}}),Pc=fe({DID_GRAB_ITEM:({root:e,props:t})=>{t.dragOrigin={x:e.translateX,y:e.translateY}},DID_DRAG_ITEM:({root:e})=>{e.element.dataset.dragState="drag"},DID_DROP_ITEM:({root:e,props:t})=>{t.dragOffset=null,t.dragOrigin=null,e.element.dataset.dragState="drop"}},({root:e,actions:t,props:i,shouldOptimize:a})=>{e.element.dataset.dragState==="drop"&&e.scaleX<=1&&(e.element.dataset.dragState="idle");let n=t.concat().filter(o=>/^DID_/.test(o.type)).reverse().find(o=>ln[o.type]);n&&n.type!==i.currentState&&(i.currentState=n.type,e.element.dataset.filepondItemState=ln[i.currentState]||"");let l=e.query("GET_ITEM_PANEL_ASPECT_RATIO")||e.query("GET_PANEL_ASPECT_RATIO");l?a||(e.height=e.rect.element.width*l):(zc({root:e,actions:t,props:i}),!e.height&&e.ref.container.rect.element.height>0&&(e.height=e.ref.container.rect.element.height)),a&&(e.ref.panel.height=null),e.ref.panel.height=e.height}),Fc=le({create:Ac,write:Pc,destroy:({root:e,props:t})=>{e.element.removeEventListener("click",e.ref.handleClick),e.dispatch("RELEASE_ITEM",{query:t.id})},tag:"li",name:"item",mixins:{apis:["id","interactionMethod","markedForRemoval","spawnDate","dragCenter","dragOrigin","dragOffset"],styles:["translateX","translateY","scaleX","scaleY","opacity","height"],animations:{scaleX:nn,scaleY:nn,translateX:an,translateY:an,opacity:{type:"tween",duration:150}}}}),Zi=(e,t)=>Math.max(1,Math.floor((e+1)/t)),Qi=(e,t,i)=>{if(!i)return;let a=e.rect.element.width,n=t.length,l=null;if(n===0||i.topb){if(i.left{se(e.element,"role","list"),e.ref.lastItemSpanwDate=Date.now()},Dc=({root:e,action:t})=>{let{id:i,index:a,interactionMethod:n}=t;e.ref.addIndex=a;let l=Date.now(),o=l,r=1;if(n!==Re.NONE){r=0;let s=e.query("GET_ITEM_INSERT_INTERVAL"),p=l-e.ref.lastItemSpanwDate;o=p{e.dragOffset?(e.translateX=null,e.translateY=null,e.translateX=e.dragOrigin.x+e.dragOffset.x,e.translateY=e.dragOrigin.y+e.dragOffset.y,e.scaleX=1.025,e.scaleY=1.025):(e.translateX=t,e.translateY=i,Date.now()>e.spawnDate&&(e.opacity===0&&Cc(e,t,i,a,n),e.scaleX=1,e.scaleY=1,e.opacity=1))},Cc=(e,t,i,a,n)=>{e.interactionMethod===Re.NONE?(e.translateX=null,e.translateX=t,e.translateY=null,e.translateY=i):e.interactionMethod===Re.DROP?(e.translateX=null,e.translateX=t-a*20,e.translateY=null,e.translateY=i-n*10,e.scaleX=.8,e.scaleY=.8):e.interactionMethod===Re.BROWSE?(e.translateY=null,e.translateY=i-30):e.interactionMethod===Re.API&&(e.translateX=null,e.translateX=t-30,e.translateY=null)},Bc=({root:e,action:t})=>{let{id:i}=t,a=e.childViews.find(n=>n.id===i);a&&(a.scaleX=.9,a.scaleY=.9,a.opacity=0,a.markedForRemoval=!0)},Ai=e=>e.rect.element.height+e.rect.element.marginBottom+e.rect.element.marginTop,kc=e=>e.rect.element.width+e.rect.element.marginLeft*.5+e.rect.element.marginRight*.5,Nc=({root:e,action:t})=>{let{id:i,dragState:a}=t,n=e.query("GET_ITEM",{id:i}),l=e.childViews.find(h=>h.id===i),o=e.childViews.length,r=a.getItemIndex(n);if(!l)return;let s={x:l.dragOrigin.x+l.dragOffset.x+l.dragCenter.x,y:l.dragOrigin.y+l.dragOffset.y+l.dragCenter.y},p=Ai(l),c=kc(l),d=Math.floor(e.rect.outer.width/c);d>o&&(d=o);let m=Math.floor(o/d+1);ti.setHeight=p*m,ti.setWidth=c*d;var u={y:Math.floor(s.y/p),x:Math.floor(s.x/c),getGridIndex:function(){return s.y>ti.getHeight||s.y<0||s.x>ti.getWidth||s.x<0?r:this.y*d+this.x},getColIndex:function(){let I=e.query("GET_ACTIVE_ITEMS"),b=e.childViews.filter(z=>z.rect.element.height),E=I.map(z=>b.find(A=>A.id===z.id)),v=E.findIndex(z=>z===l),y=Ai(l),T=E.length,_=T,x=0,R=0,P=0;for(let z=0;zz){if(s.y1?u.getGridIndex():u.getColIndex();e.dispatch("MOVE_ITEM",{query:l,index:g});let f=a.getIndex();if(f===void 0||f!==g){if(a.setIndex(g),f===void 0)return;e.dispatch("DID_REORDER_ITEMS",{items:e.query("GET_ACTIVE_ITEMS"),origin:r,target:g})}},Vc=fe({DID_ADD_ITEM:Dc,DID_REMOVE_ITEM:Bc,DID_DRAG_ITEM:Nc}),Gc=({root:e,props:t,actions:i,shouldOptimize:a})=>{Vc({root:e,props:t,actions:i});let{dragCoordinates:n}=t,l=e.rect.element.width,o=e.childViews.filter(E=>E.rect.element.height),r=e.query("GET_ACTIVE_ITEMS").map(E=>o.find(v=>v.id===E.id)).filter(E=>E),s=n?Qi(e,r,n):null,p=e.ref.addIndex||null;e.ref.addIndex=null;let c=0,d=0,m=0;if(r.length===0)return;let u=r[0].rect.element,g=u.marginTop+u.marginBottom,f=u.marginLeft+u.marginRight,h=u.width+f,I=u.height+g,b=Zi(l,h);if(b===1){let E=0,v=0;r.forEach((y,T)=>{if(s){let R=T-s;R===-2?v=-g*.25:R===-1?v=-g*.75:R===0?v=g*.75:R===1?v=g*.25:v=0}a&&(y.translateX=null,y.translateY=null),y.markedForRemoval||on(y,0,E+v);let x=(y.rect.element.height+g)*(y.markedForRemoval?y.opacity:1);E+=x})}else{let E=0,v=0;r.forEach((y,T)=>{T===s&&(c=1),T===p&&(m+=1),y.markedForRemoval&&y.opacity<.5&&(d-=1);let _=T+m+c+d,x=_%b,R=Math.floor(_/b),P=x*h,z=R*I,A=Math.sign(P-E),k=Math.sign(z-v);E=P,v=z,!y.markedForRemoval&&(a&&(y.translateX=null,y.translateY=null),on(y,P,z,A,k))})}},Uc=(e,t)=>t.filter(i=>i.data&&i.data.id?e.id===i.data.id:!0),Wc=le({create:Oc,write:Gc,tag:"ul",name:"list",didWriteView:({root:e})=>{e.childViews.filter(t=>t.markedForRemoval&&t.opacity===0&&t.resting).forEach(t=>{t._destroy(),e.removeChildView(t)})},filterFrameActionsForChild:Uc,mixins:{apis:["dragCoordinates"]}}),Hc=({root:e,props:t})=>{e.ref.list=e.appendChildView(e.createChildView(Wc)),t.dragCoordinates=null,t.overflowing=!1},jc=({root:e,props:t,action:i})=>{e.query("GET_ITEM_INSERT_LOCATION_FREEDOM")&&(t.dragCoordinates={left:i.position.scopeLeft-e.ref.list.rect.element.left,top:i.position.scopeTop-(e.rect.outer.top+e.rect.element.marginTop+e.rect.element.scrollTop)})},Yc=({props:e})=>{e.dragCoordinates=null},qc=fe({DID_DRAG:jc,DID_END_DRAG:Yc}),$c=({root:e,props:t,actions:i})=>{if(qc({root:e,props:t,actions:i}),e.ref.list.dragCoordinates=t.dragCoordinates,t.overflowing&&!t.overflow&&(t.overflowing=!1,e.element.dataset.state="",e.height=null),t.overflow){let a=Math.round(t.overflow);a!==e.height&&(t.overflowing=!0,e.element.dataset.state="overflow",e.height=a)}},Xc=le({create:Hc,write:$c,name:"list-scroller",mixins:{apis:["overflow","dragCoordinates"],styles:["height","translateY"],animations:{translateY:"spring"}}}),Pe=(e,t,i,a="")=>{i?se(e,t,a):e.removeAttribute(t)},Kc=e=>{if(!(!e||e.value==="")){try{e.value=""}catch{}if(e.value){let t=Ve("form"),i=e.parentNode,a=e.nextSibling;t.appendChild(e),t.reset(),a?i.insertBefore(e,a):i.appendChild(e)}}},Zc=({root:e,props:t})=>{e.element.id=`filepond--browser-${t.id}`,se(e.element,"name",e.query("GET_NAME")),se(e.element,"aria-controls",`filepond--assistant-${t.id}`),se(e.element,"aria-labelledby",`filepond--drop-label-${t.id}`),Gn({root:e,action:{value:e.query("GET_ACCEPTED_FILE_TYPES")}}),Un({root:e,action:{value:e.query("GET_ALLOW_MULTIPLE")}}),Wn({root:e,action:{value:e.query("GET_ALLOW_DIRECTORIES_ONLY")}}),ki({root:e}),Hn({root:e,action:{value:e.query("GET_REQUIRED")}}),jn({root:e,action:{value:e.query("GET_CAPTURE_METHOD")}}),e.ref.handleChange=i=>{if(!e.element.value)return;let a=Array.from(e.element.files).map(n=>(n._relativePath=n.webkitRelativePath,n));setTimeout(()=>{t.onload(a),Kc(e.element)},250)},e.element.addEventListener("change",e.ref.handleChange)},Gn=({root:e,action:t})=>{e.query("GET_ALLOW_SYNC_ACCEPT_ATTRIBUTE")&&Pe(e.element,"accept",!!t.value,t.value?t.value.join(","):"")},Un=({root:e,action:t})=>{Pe(e.element,"multiple",t.value)},Wn=({root:e,action:t})=>{Pe(e.element,"webkitdirectory",t.value)},ki=({root:e})=>{let t=e.query("GET_DISABLED"),i=e.query("GET_ALLOW_BROWSE"),a=t||!i;Pe(e.element,"disabled",a)},Hn=({root:e,action:t})=>{t.value?e.query("GET_TOTAL_ITEMS")===0&&Pe(e.element,"required",!0):Pe(e.element,"required",!1)},jn=({root:e,action:t})=>{Pe(e.element,"capture",!!t.value,t.value===!0?"":t.value)},rn=({root:e})=>{let{element:t}=e;if(e.query("GET_TOTAL_ITEMS")>0){Pe(t,"required",!1),Pe(t,"name",!1);let i=e.query("GET_ACTIVE_ITEMS"),a=!1;for(let n=0;n{e.query("GET_CHECK_VALIDITY")&&e.element.setCustomValidity(e.query("GET_LABEL_INVALID_FIELD"))},Jc=le({tag:"input",name:"browser",ignoreRect:!0,ignoreRectUpdate:!0,attributes:{type:"file"},create:Zc,destroy:({root:e})=>{e.element.removeEventListener("change",e.ref.handleChange)},write:fe({DID_LOAD_ITEM:rn,DID_REMOVE_ITEM:rn,DID_THROW_ITEM_INVALID:Qc,DID_SET_DISABLED:ki,DID_SET_ALLOW_BROWSE:ki,DID_SET_ALLOW_DIRECTORIES_ONLY:Wn,DID_SET_ALLOW_MULTIPLE:Un,DID_SET_ACCEPTED_FILE_TYPES:Gn,DID_SET_CAPTURE_METHOD:jn,DID_SET_REQUIRED:Hn})}),sn={ENTER:13,SPACE:32},ed=({root:e,props:t})=>{let i=Ve("label");se(i,"for",`filepond--browser-${t.id}`),se(i,"id",`filepond--drop-label-${t.id}`),e.ref.handleKeyDown=a=>{(a.keyCode===sn.ENTER||a.keyCode===sn.SPACE)&&(a.preventDefault(),e.ref.label.click())},e.ref.handleClick=a=>{a.target===i||i.contains(a.target)||e.ref.label.click()},i.addEventListener("keydown",e.ref.handleKeyDown),e.element.addEventListener("click",e.ref.handleClick),Yn(i,t.caption),e.appendChild(i),e.ref.label=i},Yn=(e,t)=>{e.innerHTML=t;let i=e.querySelector(".filepond--label-action");return i&&se(i,"tabindex","0"),t},td=le({name:"drop-label",ignoreRect:!0,create:ed,destroy:({root:e})=>{e.ref.label.addEventListener("keydown",e.ref.handleKeyDown),e.element.removeEventListener("click",e.ref.handleClick)},write:fe({DID_SET_LABEL_IDLE:({root:e,action:t})=>{Yn(e.ref.label,t.value)}}),mixins:{styles:["opacity","translateX","translateY"],animations:{opacity:{type:"tween",duration:150},translateX:"spring",translateY:"spring"}}}),id=le({name:"drip-blob",ignoreRect:!0,mixins:{styles:["translateX","translateY","scaleX","scaleY","opacity"],animations:{scaleX:"spring",scaleY:"spring",translateX:"spring",translateY:"spring",opacity:{type:"tween",duration:250}}}}),ad=({root:e})=>{let t=e.rect.element.width*.5,i=e.rect.element.height*.5;e.ref.blob=e.appendChildView(e.createChildView(id,{opacity:0,scaleX:2.5,scaleY:2.5,translateX:t,translateY:i}))},nd=({root:e,action:t})=>{if(!e.ref.blob){ad({root:e});return}e.ref.blob.translateX=t.position.scopeLeft,e.ref.blob.translateY=t.position.scopeTop,e.ref.blob.scaleX=1,e.ref.blob.scaleY=1,e.ref.blob.opacity=1},ld=({root:e})=>{e.ref.blob&&(e.ref.blob.opacity=0)},od=({root:e})=>{e.ref.blob&&(e.ref.blob.scaleX=2.5,e.ref.blob.scaleY=2.5,e.ref.blob.opacity=0)},rd=({root:e,props:t,actions:i})=>{sd({root:e,props:t,actions:i});let{blob:a}=e.ref;i.length===0&&a&&a.opacity===0&&(e.removeChildView(a),e.ref.blob=null)},sd=fe({DID_DRAG:nd,DID_DROP:od,DID_END_DRAG:ld}),cd=le({ignoreRect:!0,ignoreRectUpdate:!0,name:"drip",write:rd}),qn=(e,t)=>{try{let i=new DataTransfer;t.forEach(a=>{a instanceof File?i.items.add(a):i.items.add(new File([a],a.name,{type:a.type}))}),e.files=i.files}catch{return!1}return!0},dd=({root:e})=>{e.ref.fields={};let t=document.createElement("legend");t.textContent="Files",e.element.appendChild(t)},gi=(e,t)=>e.ref.fields[t],Ji=e=>{e.query("GET_ACTIVE_ITEMS").forEach(t=>{e.ref.fields[t.id]&&e.element.appendChild(e.ref.fields[t.id])})},cn=({root:e})=>Ji(e),pd=({root:e,action:t})=>{let n=!(e.query("GET_ITEM",t.id).origin===re.LOCAL)&&e.query("SHOULD_UPDATE_FILE_INPUT"),l=Ve("input");l.type=n?"file":"hidden",l.name=e.query("GET_NAME"),e.ref.fields[t.id]=l,Ji(e)},md=({root:e,action:t})=>{let i=gi(e,t.id);if(!i||(t.serverFileReference!==null&&(i.value=t.serverFileReference),!e.query("SHOULD_UPDATE_FILE_INPUT")))return;let a=e.query("GET_ITEM",t.id);qn(i,[a.file])},ud=({root:e,action:t})=>{e.query("SHOULD_UPDATE_FILE_INPUT")&&setTimeout(()=>{let i=gi(e,t.id);i&&qn(i,[t.file])},0)},gd=({root:e})=>{e.element.disabled=e.query("GET_DISABLED")},fd=({root:e,action:t})=>{let i=gi(e,t.id);i&&(i.parentNode&&i.parentNode.removeChild(i),delete e.ref.fields[t.id])},hd=({root:e,action:t})=>{let i=gi(e,t.id);i&&(t.value===null?i.removeAttribute("value"):i.type!="file"&&(i.value=t.value),Ji(e))},bd=fe({DID_SET_DISABLED:gd,DID_ADD_ITEM:pd,DID_LOAD_ITEM:md,DID_REMOVE_ITEM:fd,DID_DEFINE_VALUE:hd,DID_PREPARE_OUTPUT:ud,DID_REORDER_ITEMS:cn,DID_SORT_ITEMS:cn}),Ed=le({tag:"fieldset",name:"data",create:dd,write:bd,ignoreRect:!0}),Td=e=>"getRootNode"in e?e.getRootNode():document,Id=["jpg","jpeg","png","gif","bmp","webp","svg","tiff"],vd=["css","csv","html","txt"],xd={zip:"zip|compressed",epub:"application/epub+zip"},$n=(e="")=>(e=e.toLowerCase(),Id.includes(e)?"image/"+(e==="jpg"?"jpeg":e==="svg"?"svg+xml":e):vd.includes(e)?"text/"+e:xd[e]||""),ea=e=>new Promise((t,i)=>{let a=Ad(e);if(a.length&&!yd(e))return t(a);Rd(e).then(t)}),yd=e=>e.files?e.files.length>0:!1,Rd=e=>new Promise((t,i)=>{let a=(e.items?Array.from(e.items):[]).filter(n=>Sd(n)).map(n=>_d(n));if(!a.length){t(e.files?Array.from(e.files):[]);return}Promise.all(a).then(n=>{let l=[];n.forEach(o=>{l.push.apply(l,o)}),t(l.filter(o=>o).map(o=>(o._relativePath||(o._relativePath=o.webkitRelativePath),o)))}).catch(console.error)}),Sd=e=>{if(Xn(e)){let t=ta(e);if(t)return t.isFile||t.isDirectory}return e.kind==="file"},_d=e=>new Promise((t,i)=>{if(Md(e)){wd(ta(e)).then(t).catch(i);return}t([e.getAsFile()])}),wd=e=>new Promise((t,i)=>{let a=[],n=0,l=0,o=()=>{l===0&&n===0&&t(a)},r=s=>{n++;let p=s.createReader(),c=()=>{p.readEntries(d=>{if(d.length===0){n--,o();return}d.forEach(m=>{m.isDirectory?r(m):(l++,m.file(u=>{let g=Ld(u);m.fullPath&&(g._relativePath=m.fullPath),a.push(g),l--,o()}))}),c()},i)};c()};r(e)}),Ld=e=>{if(e.type.length)return e;let t=e.lastModifiedDate,i=e.name,a=$n(ui(e.name));return a.length&&(e=e.slice(0,e.size,a),e.name=i,e.lastModifiedDate=t),e},Md=e=>Xn(e)&&(ta(e)||{}).isDirectory,Xn=e=>"webkitGetAsEntry"in e,ta=e=>e.webkitGetAsEntry(),Ad=e=>{let t=[];try{if(t=Pd(e),t.length)return t;t=zd(e)}catch{}return t},zd=e=>{let t=e.getData("url");return typeof t=="string"&&t.length?[t]:[]},Pd=e=>{let t=e.getData("text/html");if(typeof t=="string"&&t.length){let i=t.match(/src\s*=\s*"(.+?)"/);if(i)return[i[1]]}return[]},ri=[],et=e=>({pageLeft:e.pageX,pageTop:e.pageY,scopeLeft:e.offsetX||e.layerX,scopeTop:e.offsetY||e.layerY}),Fd=(e,t,i)=>{let a=Od(t),n={element:e,filterElement:i,state:null,ondrop:()=>{},onenter:()=>{},ondrag:()=>{},onexit:()=>{},onload:()=>{},allowdrop:()=>{}};return n.destroy=a.addListener(n),n},Od=e=>{let t=ri.find(a=>a.element===e);if(t)return t;let i=Dd(e);return ri.push(i),i},Dd=e=>{let t=[],i={dragenter:Bd,dragover:kd,dragleave:Vd,drop:Nd},a={};te(i,(l,o)=>{a[l]=o(e,t),e.addEventListener(l,a[l],!1)});let n={element:e,addListener:l=>(t.push(l),()=>{t.splice(t.indexOf(l),1),t.length===0&&(ri.splice(ri.indexOf(n),1),te(i,o=>{e.removeEventListener(o,a[o],!1)}))})};return n},Cd=(e,t)=>("elementFromPoint"in e||(e=document),e.elementFromPoint(t.x,t.y)),ia=(e,t)=>{let i=Td(t),a=Cd(i,{x:e.pageX-window.pageXOffset,y:e.pageY-window.pageYOffset});return a===t||t.contains(a)},Kn=null,ii=(e,t)=>{try{e.dropEffect=t}catch{}},Bd=(e,t)=>i=>{i.preventDefault(),Kn=i.target,t.forEach(a=>{let{element:n,onenter:l}=a;ia(i,n)&&(a.state="enter",l(et(i)))})},kd=(e,t)=>i=>{i.preventDefault();let a=i.dataTransfer;ea(a).then(n=>{let l=!1;t.some(o=>{let{filterElement:r,element:s,onenter:p,onexit:c,ondrag:d,allowdrop:m}=o;ii(a,"copy");let u=m(n);if(!u){ii(a,"none");return}if(ia(i,s)){if(l=!0,o.state===null){o.state="enter",p(et(i));return}if(o.state="over",r&&!u){ii(a,"none");return}d(et(i))}else r&&!l&&ii(a,"none"),o.state&&(o.state=null,c(et(i)))})})},Nd=(e,t)=>i=>{i.preventDefault();let a=i.dataTransfer;ea(a).then(n=>{t.forEach(l=>{let{filterElement:o,element:r,ondrop:s,onexit:p,allowdrop:c}=l;if(l.state=null,!(o&&!ia(i,r))){if(!c(n))return p(et(i));s(et(i),n)}})})},Vd=(e,t)=>i=>{Kn===i.target&&t.forEach(a=>{let{onexit:n}=a;a.state=null,n(et(i))})},Gd=(e,t,i)=>{e.classList.add("filepond--hopper");let{catchesDropsOnPage:a,requiresDropOnElement:n,filterItems:l=c=>c}=i,o=Fd(e,a?document.documentElement:e,n),r="",s="";o.allowdrop=c=>t(l(c)),o.ondrop=(c,d)=>{let m=l(d);if(!t(m)){p.ondragend(c);return}s="drag-drop",p.onload(m,c)},o.ondrag=c=>{p.ondrag(c)},o.onenter=c=>{s="drag-over",p.ondragstart(c)},o.onexit=c=>{s="drag-exit",p.ondragend(c)};let p={updateHopperState:()=>{r!==s&&(e.dataset.hopperState=s,r=s)},onload:()=>{},ondragstart:()=>{},ondrag:()=>{},ondragend:()=>{},destroy:()=>{o.destroy()}};return p},Ni=!1,ut=[],Zn=e=>{let t=document.activeElement;if(t&&(/textarea|input/i.test(t.nodeName)||t.getAttribute("contenteditable")==="true"||t.getAttribute("contenteditable")==="")){let a=!1,n=t;for(;n!==document.body;){if(n.classList.contains("filepond--root")){a=!0;break}n=n.parentNode}if(!a)return}ea(e.clipboardData).then(a=>{a.length&&ut.forEach(n=>n(a))})},Ud=e=>{ut.includes(e)||(ut.push(e),!Ni&&(Ni=!0,document.addEventListener("paste",Zn)))},Wd=e=>{qi(ut,ut.indexOf(e)),ut.length===0&&(document.removeEventListener("paste",Zn),Ni=!1)},Hd=()=>{let e=i=>{t.onload(i)},t={destroy:()=>{Wd(e)},onload:()=>{}};return Ud(e),t},jd=({root:e,props:t})=>{e.element.id=`filepond--assistant-${t.id}`,se(e.element,"role","alert"),se(e.element,"aria-live","polite"),se(e.element,"aria-relevant","additions")},dn=null,pn=null,zi=[],fi=(e,t)=>{e.element.textContent=t},Yd=e=>{e.element.textContent=""},Qn=(e,t,i)=>{let a=e.query("GET_TOTAL_ITEMS");fi(e,`${i} ${t}, ${a} ${a===1?e.query("GET_LABEL_FILE_COUNT_SINGULAR"):e.query("GET_LABEL_FILE_COUNT_PLURAL")}`),clearTimeout(pn),pn=setTimeout(()=>{Yd(e)},1500)},Jn=e=>e.element.parentNode.contains(document.activeElement),qd=({root:e,action:t})=>{if(!Jn(e))return;e.element.textContent="";let i=e.query("GET_ITEM",t.id);zi.push(i.filename),clearTimeout(dn),dn=setTimeout(()=>{Qn(e,zi.join(", "),e.query("GET_LABEL_FILE_ADDED")),zi.length=0},750)},$d=({root:e,action:t})=>{if(!Jn(e))return;let i=t.item;Qn(e,i.filename,e.query("GET_LABEL_FILE_REMOVED"))},Xd=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename,n=e.query("GET_LABEL_FILE_PROCESSING_COMPLETE");fi(e,`${a} ${n}`)},mn=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename,n=e.query("GET_LABEL_FILE_PROCESSING_ABORTED");fi(e,`${a} ${n}`)},ai=({root:e,action:t})=>{let a=e.query("GET_ITEM",t.id).filename;fi(e,`${t.status.main} ${a} ${t.status.sub}`)},Kd=le({create:jd,ignoreRect:!0,ignoreRectUpdate:!0,write:fe({DID_LOAD_ITEM:qd,DID_REMOVE_ITEM:$d,DID_COMPLETE_ITEM_PROCESSING:Xd,DID_ABORT_ITEM_PROCESSING:mn,DID_REVERT_ITEM_PROCESSING:mn,DID_THROW_ITEM_REMOVE_ERROR:ai,DID_THROW_ITEM_LOAD_ERROR:ai,DID_THROW_ITEM_INVALID:ai,DID_THROW_ITEM_PROCESSING_ERROR:ai}),tag:"span",name:"assistant"}),el=(e,t="-")=>e.replace(new RegExp(`${t}.`,"g"),i=>i.charAt(1).toUpperCase()),tl=(e,t=16,i=!0)=>{let a=Date.now(),n=null;return(...l)=>{clearTimeout(n);let o=Date.now()-a,r=()=>{a=Date.now(),e(...l)};oe.preventDefault(),Qd=({root:e,props:t})=>{let i=e.query("GET_ID");i&&(e.element.id=i);let a=e.query("GET_CLASS_NAME");a&&a.split(" ").filter(s=>s.length).forEach(s=>{e.element.classList.add(s)}),e.ref.label=e.appendChildView(e.createChildView(td,{...t,translateY:null,caption:e.query("GET_LABEL_IDLE")})),e.ref.list=e.appendChildView(e.createChildView(Xc,{translateY:null})),e.ref.panel=e.appendChildView(e.createChildView(Vn,{name:"panel-root"})),e.ref.assistant=e.appendChildView(e.createChildView(Kd,{...t})),e.ref.data=e.appendChildView(e.createChildView(Ed,{...t})),e.ref.measure=Ve("div"),e.ref.measure.style.height="100%",e.element.appendChild(e.ref.measure),e.ref.bounds=null,e.query("GET_STYLES").filter(s=>!Ne(s.value)).map(({name:s,value:p})=>{e.element.dataset[s]=p}),e.ref.widthPrevious=null,e.ref.widthUpdated=tl(()=>{e.ref.updateHistory=[],e.dispatch("DID_RESIZE_ROOT")},250),e.ref.previousAspectRatio=null,e.ref.updateHistory=[];let n=window.matchMedia("(pointer: fine) and (hover: hover)").matches,l="PointerEvent"in window;e.query("GET_ALLOW_REORDER")&&l&&!n&&(e.element.addEventListener("touchmove",si,{passive:!1}),e.element.addEventListener("gesturestart",si));let o=e.query("GET_CREDITS");if(o.length===2){let s=document.createElement("a");s.className="filepond--credits",s.href=o[0],s.tabIndex=-1,s.target="_blank",s.rel="noopener noreferrer nofollow",s.textContent=o[1],e.element.appendChild(s),e.ref.credits=s}},Jd=({root:e,props:t,actions:i})=>{if(np({root:e,props:t,actions:i}),i.filter(T=>/^DID_SET_STYLE_/.test(T.type)).filter(T=>!Ne(T.data.value)).map(({type:T,data:_})=>{let x=el(T.substring(8).toLowerCase(),"_");e.element.dataset[x]=_.value,e.invalidateLayout()}),e.rect.element.hidden)return;e.rect.element.width!==e.ref.widthPrevious&&(e.ref.widthPrevious=e.rect.element.width,e.ref.widthUpdated());let a=e.ref.bounds;a||(a=e.ref.bounds=ip(e),e.element.removeChild(e.ref.measure),e.ref.measure=null);let{hopper:n,label:l,list:o,panel:r}=e.ref;n&&n.updateHopperState();let s=e.query("GET_PANEL_ASPECT_RATIO"),p=e.query("GET_ALLOW_MULTIPLE"),c=e.query("GET_TOTAL_ITEMS"),d=p?e.query("GET_MAX_FILES")||Zd:1,m=c===d,u=i.find(T=>T.type==="DID_ADD_ITEM");if(m&&u){let T=u.data.interactionMethod;l.opacity=0,p?l.translateY=-40:T===Re.API?l.translateX=40:T===Re.BROWSE?l.translateY=40:l.translateY=30}else m||(l.opacity=1,l.translateX=0,l.translateY=0);let g=ep(e),f=tp(e),h=l.rect.element.height,I=!p||m?0:h,b=m?o.rect.element.marginTop:0,E=c===0?0:o.rect.element.marginBottom,v=I+b+f.visual+E,y=I+b+f.bounds+E;if(o.translateY=Math.max(0,I-o.rect.element.marginTop)-g.top,s){let T=e.rect.element.width,_=T*s;s!==e.ref.previousAspectRatio&&(e.ref.previousAspectRatio=s,e.ref.updateHistory=[]);let x=e.ref.updateHistory;x.push(T);let R=2;if(x.length>R*2){let z=x.length,A=z-10,k=0;for(let w=z;w>=A;w--)if(x[w]===x[w-2]&&k++,k>=R)return}r.scalable=!1,r.height=_;let P=_-I-(E-g.bottom)-(m?b:0);f.visual>P?o.overflow=P:o.overflow=null,e.height=_}else if(a.fixedHeight){r.scalable=!1;let T=a.fixedHeight-I-(E-g.bottom)-(m?b:0);f.visual>T?o.overflow=T:o.overflow=null}else if(a.cappedHeight){let T=v>=a.cappedHeight,_=Math.min(a.cappedHeight,v);r.scalable=!0,r.height=T?_:_-g.top-g.bottom;let x=_-I-(E-g.bottom)-(m?b:0);v>a.cappedHeight&&f.visual>x?o.overflow=x:o.overflow=null,e.height=Math.min(a.cappedHeight,y-g.top-g.bottom)}else{let T=c>0?g.top+g.bottom:0;r.scalable=!0,r.height=Math.max(h,v-T),e.height=Math.max(h,y-T)}e.ref.credits&&r.heightCurrent&&(e.ref.credits.style.transform=`translateY(${r.heightCurrent}px)`)},ep=e=>{let t=e.ref.list.childViews[0].childViews[0];return t?{top:t.rect.element.marginTop,bottom:t.rect.element.marginBottom}:{top:0,bottom:0}},tp=e=>{let t=0,i=0,a=e.ref.list,n=a.childViews[0],l=n.childViews.filter(b=>b.rect.element.height),o=e.query("GET_ACTIVE_ITEMS").map(b=>l.find(E=>E.id===b.id)).filter(b=>b);if(o.length===0)return{visual:t,bounds:i};let r=n.rect.element.width,s=Qi(n,o,a.dragCoordinates),p=o[0].rect.element,c=p.marginTop+p.marginBottom,d=p.marginLeft+p.marginRight,m=p.width+d,u=p.height+c,g=typeof s<"u"&&s>=0?1:0,f=o.find(b=>b.markedForRemoval&&b.opacity<.45)?-1:0,h=o.length+g+f,I=Zi(r,m);return I===1?o.forEach(b=>{let E=b.rect.element.height+c;i+=E,t+=E*b.opacity}):(i=Math.ceil(h/I)*u,t=i),{visual:t,bounds:i}},ip=e=>{let t=e.ref.measureHeight||null;return{cappedHeight:parseInt(e.style.maxHeight,10)||null,fixedHeight:t===0?null:t}},aa=(e,t)=>{let i=e.query("GET_ALLOW_REPLACE"),a=e.query("GET_ALLOW_MULTIPLE"),n=e.query("GET_TOTAL_ITEMS"),l=e.query("GET_MAX_FILES"),o=t.length;return!a&&o>1?(e.dispatch("DID_THROW_MAX_FILES",{source:t,error:ae("warning",0,"Max files")}),!0):(l=a?l:1,!a&&i?!1:bt(l)&&n+o>l?(e.dispatch("DID_THROW_MAX_FILES",{source:t,error:ae("warning",0,"Max files")}),!0):!1)},ap=(e,t,i)=>{let a=e.childViews[0];return Qi(a,t,{left:i.scopeLeft-a.rect.element.left,top:i.scopeTop-(e.rect.outer.top+e.rect.element.marginTop+e.rect.element.scrollTop)})},un=e=>{let t=e.query("GET_ALLOW_DROP"),i=e.query("GET_DISABLED"),a=t&&!i;if(a&&!e.ref.hopper){let n=Gd(e.element,l=>{let o=e.query("GET_BEFORE_DROP_FILE")||(()=>!0);return e.query("GET_DROP_VALIDATION")?l.every(s=>tt("ALLOW_HOPPER_ITEM",s,{query:e.query}).every(p=>p===!0)&&o(s)):!0},{filterItems:l=>{let o=e.query("GET_IGNORED_FILES");return l.filter(r=>Je(r)?!o.includes(r.name.toLowerCase()):!0)},catchesDropsOnPage:e.query("GET_DROP_ON_PAGE"),requiresDropOnElement:e.query("GET_DROP_ON_ELEMENT")});n.onload=(l,o)=>{let s=e.ref.list.childViews[0].childViews.filter(c=>c.rect.element.height),p=e.query("GET_ACTIVE_ITEMS").map(c=>s.find(d=>d.id===c.id)).filter(c=>c);Ae("ADD_ITEMS",l,{dispatch:e.dispatch}).then(c=>{if(aa(e,c))return!1;e.dispatch("ADD_ITEMS",{items:c,index:ap(e.ref.list,p,o),interactionMethod:Re.DROP})}),e.dispatch("DID_DROP",{position:o}),e.dispatch("DID_END_DRAG",{position:o})},n.ondragstart=l=>{e.dispatch("DID_START_DRAG",{position:l})},n.ondrag=tl(l=>{e.dispatch("DID_DRAG",{position:l})}),n.ondragend=l=>{e.dispatch("DID_END_DRAG",{position:l})},e.ref.hopper=n,e.ref.drip=e.appendChildView(e.createChildView(cd))}else!a&&e.ref.hopper&&(e.ref.hopper.destroy(),e.ref.hopper=null,e.removeChildView(e.ref.drip))},gn=(e,t)=>{let i=e.query("GET_ALLOW_BROWSE"),a=e.query("GET_DISABLED"),n=i&&!a;n&&!e.ref.browser?e.ref.browser=e.appendChildView(e.createChildView(Jc,{...t,onload:l=>{Ae("ADD_ITEMS",l,{dispatch:e.dispatch}).then(o=>{if(aa(e,o))return!1;e.dispatch("ADD_ITEMS",{items:o,index:-1,interactionMethod:Re.BROWSE})})}}),0):!n&&e.ref.browser&&(e.removeChildView(e.ref.browser),e.ref.browser=null)},fn=e=>{let t=e.query("GET_ALLOW_PASTE"),i=e.query("GET_DISABLED"),a=t&&!i;a&&!e.ref.paster?(e.ref.paster=Hd(),e.ref.paster.onload=n=>{Ae("ADD_ITEMS",n,{dispatch:e.dispatch}).then(l=>{if(aa(e,l))return!1;e.dispatch("ADD_ITEMS",{items:l,index:-1,interactionMethod:Re.PASTE})})}):!a&&e.ref.paster&&(e.ref.paster.destroy(),e.ref.paster=null)},np=fe({DID_SET_ALLOW_BROWSE:({root:e,props:t})=>{gn(e,t)},DID_SET_ALLOW_DROP:({root:e})=>{un(e)},DID_SET_ALLOW_PASTE:({root:e})=>{fn(e)},DID_SET_DISABLED:({root:e,props:t})=>{un(e),fn(e),gn(e,t),e.query("GET_DISABLED")?e.element.dataset.disabled="disabled":e.element.removeAttribute("data-disabled")}}),lp=le({name:"root",read:({root:e})=>{e.ref.measure&&(e.ref.measureHeight=e.ref.measure.offsetHeight)},create:Qd,write:Jd,destroy:({root:e})=>{e.ref.paster&&e.ref.paster.destroy(),e.ref.hopper&&e.ref.hopper.destroy(),e.element.removeEventListener("touchmove",si),e.element.removeEventListener("gesturestart",si)},mixins:{styles:["height"]}}),op=(e={})=>{let t=null,i=oi(),a=yr(ss(i),[_s,ps(i)],[Zs,ds(i)]);a.dispatch("SET_OPTIONS",{options:e});let n=()=>{document.hidden||a.dispatch("KICK")};document.addEventListener("visibilitychange",n);let l=null,o=!1,r=!1,s=null,p=null,c=()=>{o||(o=!0),clearTimeout(l),l=setTimeout(()=>{o=!1,s=null,p=null,r&&(r=!1,a.dispatch("DID_STOP_RESIZE"))},500)};window.addEventListener("resize",c);let d=lp(a,{id:Yi()}),m=!1,u=!1,g={_read:()=>{o&&(p=window.innerWidth,s||(s=p),!r&&p!==s&&(a.dispatch("DID_START_RESIZE"),r=!0)),u&&m&&(m=d.element.offsetParent===null),!m&&(d._read(),u=d.rect.element.hidden)},_write:S=>{let L=a.processActionQueue().filter(C=>!/^SET_/.test(C.type));m&&!L.length||(b(L),m=d._write(S,L,r),gs(a.query("GET_ITEMS")),m&&a.processDispatchQueue())}},f=S=>L=>{let C={type:S};if(!L)return C;if(L.hasOwnProperty("error")&&(C.error=L.error?{...L.error}:null),L.status&&(C.status={...L.status}),L.file&&(C.output=L.file),L.source)C.file=L.source;else if(L.item||L.id){let D=L.item?L.item:a.query("GET_ITEM",L.id);C.file=D?he(D):null}return L.items&&(C.items=L.items.map(he)),/progress/.test(S)&&(C.progress=L.progress),L.hasOwnProperty("origin")&&L.hasOwnProperty("target")&&(C.origin=L.origin,C.target=L.target),C},h={DID_DESTROY:f("destroy"),DID_INIT:f("init"),DID_THROW_MAX_FILES:f("warning"),DID_INIT_ITEM:f("initfile"),DID_START_ITEM_LOAD:f("addfilestart"),DID_UPDATE_ITEM_LOAD_PROGRESS:f("addfileprogress"),DID_LOAD_ITEM:f("addfile"),DID_THROW_ITEM_INVALID:[f("error"),f("addfile")],DID_THROW_ITEM_LOAD_ERROR:[f("error"),f("addfile")],DID_THROW_ITEM_REMOVE_ERROR:[f("error"),f("removefile")],DID_PREPARE_OUTPUT:f("preparefile"),DID_START_ITEM_PROCESSING:f("processfilestart"),DID_UPDATE_ITEM_PROCESS_PROGRESS:f("processfileprogress"),DID_ABORT_ITEM_PROCESSING:f("processfileabort"),DID_COMPLETE_ITEM_PROCESSING:f("processfile"),DID_COMPLETE_ITEM_PROCESSING_ALL:f("processfiles"),DID_REVERT_ITEM_PROCESSING:f("processfilerevert"),DID_THROW_ITEM_PROCESSING_ERROR:[f("error"),f("processfile")],DID_REMOVE_ITEM:f("removefile"),DID_UPDATE_ITEMS:f("updatefiles"),DID_ACTIVATE_ITEM:f("activatefile"),DID_REORDER_ITEMS:f("reorderfiles")},I=S=>{let L={pond:O,...S};delete L.type,d.element.dispatchEvent(new CustomEvent(`FilePond:${S.type}`,{detail:L,bubbles:!0,cancelable:!0,composed:!0}));let C=[];S.hasOwnProperty("error")&&C.push(S.error),S.hasOwnProperty("file")&&C.push(S.file);let D=["type","error","file"];Object.keys(S).filter(B=>!D.includes(B)).forEach(B=>C.push(S[B])),O.fire(S.type,...C);let U=a.query(`GET_ON${S.type.toUpperCase()}`);U&&U(...C)},b=S=>{S.length&&S.filter(L=>h[L.type]).forEach(L=>{let C=h[L.type];(Array.isArray(C)?C:[C]).forEach(D=>{L.type==="DID_INIT_ITEM"?I(D(L.data)):setTimeout(()=>{I(D(L.data))},0)})})},E=S=>a.dispatch("SET_OPTIONS",{options:S}),v=S=>a.query("GET_ACTIVE_ITEM",S),y=S=>new Promise((L,C)=>{a.dispatch("REQUEST_ITEM_PREPARE",{query:S,success:D=>{L(D)},failure:D=>{C(D)}})}),T=(S,L={})=>new Promise((C,D)=>{R([{source:S,options:L}],{index:L.index}).then(U=>C(U&&U[0])).catch(D)}),_=S=>S.file&&S.id,x=(S,L)=>(typeof S=="object"&&!_(S)&&!L&&(L=S,S=void 0),a.dispatch("REMOVE_ITEM",{...L,query:S}),a.query("GET_ACTIVE_ITEM",S)===null),R=(...S)=>new Promise((L,C)=>{let D=[],U={};if(ci(S[0]))D.push.apply(D,S[0]),Object.assign(U,S[1]||{});else{let B=S[S.length-1];typeof B=="object"&&!(B instanceof Blob)&&Object.assign(U,S.pop()),D.push(...S)}a.dispatch("ADD_ITEMS",{items:D,index:U.index,interactionMethod:Re.API,success:L,failure:C})}),P=()=>a.query("GET_ACTIVE_ITEMS"),z=S=>new Promise((L,C)=>{a.dispatch("REQUEST_ITEM_PROCESSING",{query:S,success:D=>{L(D)},failure:D=>{C(D)}})}),A=(...S)=>{let L=Array.isArray(S[0])?S[0]:S,C=L.length?L:P();return Promise.all(C.map(y))},k=(...S)=>{let L=Array.isArray(S[0])?S[0]:S;if(!L.length){let C=P().filter(D=>!(D.status===W.IDLE&&D.origin===re.LOCAL)&&D.status!==W.PROCESSING&&D.status!==W.PROCESSING_COMPLETE&&D.status!==W.PROCESSING_REVERT_ERROR);return Promise.all(C.map(z))}return Promise.all(L.map(z))},w=(...S)=>{let L=Array.isArray(S[0])?S[0]:S,C;typeof L[L.length-1]=="object"?C=L.pop():Array.isArray(S[0])&&(C=S[1]);let D=P();return L.length?L.map(B=>$e(B)?D[B]?D[B].id:null:B).filter(B=>B).map(B=>x(B,C)):Promise.all(D.map(B=>x(B,C)))},O={...mi(),...g,...cs(a,i),setOptions:E,addFile:T,addFiles:R,getFile:v,processFile:z,prepareFile:y,removeFile:x,moveFile:(S,L)=>a.dispatch("MOVE_ITEM",{query:S,index:L}),getFiles:P,processFiles:k,removeFiles:w,prepareFiles:A,sort:S=>a.dispatch("SORT",{compare:S}),browse:()=>{var S=d.element.querySelector("input[type=file]");S&&S.click()},destroy:()=>{O.fire("destroy",d.element),a.dispatch("ABORT_ALL"),d._destroy(),window.removeEventListener("resize",c),document.removeEventListener("visibilitychange",n),a.dispatch("DID_DESTROY")},insertBefore:S=>Ba(d.element,S),insertAfter:S=>ka(d.element,S),appendTo:S=>S.appendChild(d.element),replaceElement:S=>{Ba(d.element,S),S.parentNode.removeChild(S),t=S},restoreElement:()=>{t&&(ka(t,d.element),d.element.parentNode.removeChild(d.element),t=null)},isAttachedTo:S=>d.element===S||t===S,element:{get:()=>d.element},status:{get:()=>a.query("GET_STATUS")}};return a.dispatch("DID_INIT"),We(O)},il=(e={})=>{let t={};return te(oi(),(a,n)=>{t[a]=n[0]}),op({...t,...e})},rp=e=>e.charAt(0).toLowerCase()+e.slice(1),sp=e=>el(e.replace(/^data-/,"")),al=(e,t)=>{te(t,(i,a)=>{te(e,(n,l)=>{let o=new RegExp(i);if(!o.test(n)||(delete e[n],a===!1))return;if(ge(a)){e[a]=l;return}let s=a.group;de(a)&&!e[s]&&(e[s]={}),e[s][rp(n.replace(o,""))]=l}),a.mapping&&al(e[a.group],a.mapping)})},cp=(e,t={})=>{let i=[];te(e.attributes,n=>{i.push(e.attributes[n])});let a=i.filter(n=>n.name).reduce((n,l)=>{let o=se(e,l.name);return n[sp(l.name)]=o===l.name?!0:o,n},{});return al(a,t),a},dp=(e,t={})=>{let i={"^class$":"className","^multiple$":"allowMultiple","^capture$":"captureMethod","^webkitdirectory$":"allowDirectoriesOnly","^server":{group:"server",mapping:{"^process":{group:"process"},"^revert":{group:"revert"},"^fetch":{group:"fetch"},"^restore":{group:"restore"},"^load":{group:"load"}}},"^type$":!1,"^files$":!1};tt("SET_ATTRIBUTE_TO_OPTION_MAP",i);let a={...t},n=cp(e.nodeName==="FIELDSET"?e.querySelector("input[type=file]"):e,i);Object.keys(n).forEach(o=>{de(n[o])?(de(a[o])||(a[o]={}),Object.assign(a[o],n[o])):a[o]=n[o]}),a.files=(t.files||[]).concat(Array.from(e.querySelectorAll("input:not([type=file])")).map(o=>({source:o.value,options:{type:o.dataset.type}})));let l=il(a);return e.files&&Array.from(e.files).forEach(o=>{l.addFile(o)}),l.replaceElement(e),l},pp=(...e)=>xr(e[0])?dp(...e):il(...e),mp=["fire","_read","_write"],hn=e=>{let t={};return Rn(e,t,mp),t},up=(e,t)=>e.replace(/(?:{([a-zA-Z]+)})/g,(i,a)=>t[a]),gp=e=>{let t=new Blob(["(",e.toString(),")()"],{type:"application/javascript"}),i=URL.createObjectURL(t),a=new Worker(i);return{transfer:(n,l)=>{},post:(n,l,o)=>{let r=Yi();a.onmessage=s=>{s.data.id===r&&l(s.data.message)},a.postMessage({id:r,message:n},o)},terminate:()=>{a.terminate(),URL.revokeObjectURL(i)}}},fp=e=>new Promise((t,i)=>{let a=new Image;a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),nl=(e,t)=>{let i=e.slice(0,e.size,e.type);return i.lastModifiedDate=e.lastModifiedDate,i.name=t,i},hp=e=>nl(e,e.name),bn=[],bp=e=>{if(bn.includes(e))return;bn.push(e);let t=e({addFilter:hs,utils:{Type:M,forin:te,isString:ge,isFile:Je,toNaturalFileSize:Bn,replaceInString:up,getExtensionFromFilename:ui,getFilenameWithoutExtension:On,guesstimateMimeType:$n,getFileFromBlob:ht,getFilenameFromURL:Dt,createRoute:fe,createWorker:gp,createView:le,createItemAPI:he,loadImage:fp,copyFile:hp,renameFile:nl,createBlob:zn,applyFilterChain:Ae,text:ne,getNumericAspectRatioFromString:wn},views:{fileActionButton:Cn}});bs(t.options)},Ep=()=>Object.prototype.toString.call(window.operamini)==="[object OperaMini]",Tp=()=>"Promise"in window,Ip=()=>"slice"in Blob.prototype,vp=()=>"URL"in window&&"createObjectURL"in window.URL,xp=()=>"visibilityState"in document,yp=()=>"performance"in window,Rp=()=>"supports"in(window.CSS||{}),Sp=()=>/MSIE|Trident/.test(window.navigator.userAgent),Vi=(()=>{let e=En()&&!Ep()&&xp()&&Tp()&&Ip()&&vp()&&yp()&&(Rp()||Sp());return()=>e})(),Ue={apps:[]},_p="filepond",it=()=>{},ll={},Et={},Ct={},Gi={},gt=it,ft=it,Ui=it,Wi=it,ve=it,Hi=it,Ot=it;if(Vi()){$r(()=>{Ue.apps.forEach(i=>i._read())},i=>{Ue.apps.forEach(a=>a._write(i))});let e=()=>{document.dispatchEvent(new CustomEvent("FilePond:loaded",{detail:{supported:Vi,create:gt,destroy:ft,parse:Ui,find:Wi,registerPlugin:ve,setOptions:Ot}})),document.removeEventListener("DOMContentLoaded",e)};document.readyState!=="loading"?setTimeout(()=>e(),0):document.addEventListener("DOMContentLoaded",e);let t=()=>te(oi(),(i,a)=>{Gi[i]=a[1]});ll={...Ln},Ct={...re},Et={...W},Gi={},t(),gt=(...i)=>{let a=pp(...i);return a.on("destroy",ft),Ue.apps.push(a),hn(a)},ft=i=>{let a=Ue.apps.findIndex(n=>n.isAttachedTo(i));return a>=0?(Ue.apps.splice(a,1)[0].restoreElement(),!0):!1},Ui=i=>Array.from(i.querySelectorAll(`.${_p}`)).filter(l=>!Ue.apps.find(o=>o.isAttachedTo(l))).map(l=>gt(l)),Wi=i=>{let a=Ue.apps.find(n=>n.isAttachedTo(i));return a?hn(a):null},ve=(...i)=>{i.forEach(bp),t()},Hi=()=>{let i={};return te(oi(),(a,n)=>{i[a]=n[0]}),i},Ot=i=>(de(i)&&(Ue.apps.forEach(a=>{a.setOptions(i)}),Es(i)),Hi())}function ol(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),i.push.apply(i,a)}return i}function xl(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,a=new Array(t);i
',Hp=Number.isNaN||De.isNaN;function j(e){return typeof e=="number"&&!Hp(e)}var Tl=function(t){return t>0&&t<1/0};function la(e){return typeof e>"u"}function lt(e){return ra(e)==="object"&&e!==null}var jp=Object.prototype.hasOwnProperty;function It(e){if(!lt(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&jp.call(i,"isPrototypeOf")}catch{return!1}}function be(e){return typeof e=="function"}var Yp=Array.prototype.slice;function Pl(e){return Array.from?Array.from(e):Yp.call(e)}function oe(e,t){return e&&be(t)&&(Array.isArray(e)||j(e.length)?Pl(e).forEach(function(i,a){t.call(e,i,a,e)}):lt(e)&&Object.keys(e).forEach(function(i){t.call(e,e[i],i,e)})),e}var J=Object.assign||function(t){for(var i=arguments.length,a=new Array(i>1?i-1:0),n=1;n0&&a.forEach(function(l){lt(l)&&Object.keys(l).forEach(function(o){t[o]=l[o]})}),t},qp=/\.\d*(?:0|9){12}\d*$/;function xt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return qp.test(e)?Math.round(e*t)/t:e}var $p=/^width|height|left|top|marginLeft|marginTop$/;function je(e,t){var i=e.style;oe(t,function(a,n){$p.test(n)&&j(a)&&(a="".concat(a,"px")),i[n]=a})}function Xp(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function pe(e,t){if(t){if(j(e.length)){oe(e,function(a){pe(a,t)});return}if(e.classList){e.classList.add(t);return}var i=e.className.trim();i?i.indexOf(t)<0&&(e.className="".concat(i," ").concat(t)):e.className=t}}function Oe(e,t){if(t){if(j(e.length)){oe(e,function(i){Oe(i,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,""))}}function vt(e,t,i){if(t){if(j(e.length)){oe(e,function(a){vt(a,t,i)});return}i?pe(e,t):Oe(e,t)}}var Kp=/([a-z\d])([A-Z])/g;function va(e){return e.replace(Kp,"$1-$2").toLowerCase()}function ha(e,t){return lt(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(va(t)))}function Wt(e,t,i){lt(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-".concat(va(t)),i)}function Zp(e,t){if(lt(e[t]))try{delete e[t]}catch{e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch{e.dataset[t]=void 0}else e.removeAttribute("data-".concat(va(t)))}var Fl=/\s\s*/,Ol=(function(){var e=!1;if(Ti){var t=!1,i=function(){},a=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(l){t=l}});De.addEventListener("test",i,a),De.removeEventListener("test",i,a)}return e})();function Fe(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(Fl).forEach(function(l){if(!Ol){var o=e.listeners;o&&o[l]&&o[l][i]&&(n=o[l][i],delete o[l][i],Object.keys(o[l]).length===0&&delete o[l],Object.keys(o).length===0&&delete e.listeners)}e.removeEventListener(l,n,a)})}function Se(e,t,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=i;t.trim().split(Fl).forEach(function(l){if(a.once&&!Ol){var o=e.listeners,r=o===void 0?{}:o;n=function(){delete r[l][i],e.removeEventListener(l,n,a);for(var p=arguments.length,c=new Array(p),d=0;dMath.abs(i)&&(i=m)})}),i}function bi(e,t){var i=e.pageX,a=e.pageY,n={endX:i,endY:a};return t?n:xl({startX:i,startY:a},n)}function em(e){var t=0,i=0,a=0;return oe(e,function(n){var l=n.startX,o=n.startY;t+=l,i+=o,a+=1}),t/=a,i/=a,{pageX:t,pageY:i}}function Ye(e){var t=e.aspectRatio,i=e.height,a=e.width,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",l=Tl(a),o=Tl(i);if(l&&o){var r=i*t;n==="contain"&&r>a||n==="cover"&&r90?{width:s,height:r}:{width:r,height:s}}function im(e,t,i,a){var n=t.aspectRatio,l=t.naturalWidth,o=t.naturalHeight,r=t.rotate,s=r===void 0?0:r,p=t.scaleX,c=p===void 0?1:p,d=t.scaleY,m=d===void 0?1:d,u=i.aspectRatio,g=i.naturalWidth,f=i.naturalHeight,h=a.fillColor,I=h===void 0?"transparent":h,b=a.imageSmoothingEnabled,E=b===void 0?!0:b,v=a.imageSmoothingQuality,y=v===void 0?"low":v,T=a.maxWidth,_=T===void 0?1/0:T,x=a.maxHeight,R=x===void 0?1/0:x,P=a.minWidth,z=P===void 0?0:P,A=a.minHeight,k=A===void 0?0:A,w=document.createElement("canvas"),O=w.getContext("2d"),S=Ye({aspectRatio:u,width:_,height:R}),L=Ye({aspectRatio:u,width:z,height:k},"cover"),C=Math.min(S.width,Math.max(L.width,g)),D=Math.min(S.height,Math.max(L.height,f)),U=Ye({aspectRatio:n,width:_,height:R}),B=Ye({aspectRatio:n,width:z,height:k},"cover"),$=Math.min(U.width,Math.max(B.width,l)),X=Math.min(U.height,Math.max(B.height,o)),K=[-$/2,-X/2,$,X];return w.width=xt(C),w.height=xt(D),O.fillStyle=I,O.fillRect(0,0,C,D),O.save(),O.translate(C/2,D/2),O.rotate(s*Math.PI/180),O.scale(c,m),O.imageSmoothingEnabled=E,O.imageSmoothingQuality=y,O.drawImage.apply(O,[e].concat(Rl(K.map(function(ce){return Math.floor(xt(ce))})))),O.restore(),w}var Cl=String.fromCharCode;function am(e,t,i){var a="";i+=t;for(var n=t;n0;)i.push(Cl.apply(null,Pl(n.subarray(0,a)))),n=n.subarray(a);return"data:".concat(t,";base64,").concat(btoa(i.join("")))}function rm(e){var t=new DataView(e),i;try{var a,n,l;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var o=t.byteLength,r=2;r+1=8&&(l=p+d)}}}if(l){var m=t.getUint16(l,a),u,g;for(g=0;g=0?l:Al),height:Math.max(a.offsetHeight,o>=0?o:zl)};this.containerData=r,je(n,{width:r.width,height:r.height}),pe(t,Ee),Oe(n,Ee)},initCanvas:function(){var t=this.containerData,i=this.imageData,a=this.options.viewMode,n=Math.abs(i.rotate)%180===90,l=n?i.naturalHeight:i.naturalWidth,o=n?i.naturalWidth:i.naturalHeight,r=l/o,s=t.width,p=t.height;t.height*r>t.width?a===3?s=t.height*r:p=t.width/r:a===3?p=t.width/r:s=t.height*r;var c={aspectRatio:r,naturalWidth:l,naturalHeight:o,width:s,height:p};this.canvasData=c,this.limited=a===1||a===2,this.limitCanvas(!0,!0),c.width=Math.min(Math.max(c.width,c.minWidth),c.maxWidth),c.height=Math.min(Math.max(c.height,c.minHeight),c.maxHeight),c.left=(t.width-c.width)/2,c.top=(t.height-c.height)/2,c.oldLeft=c.left,c.oldTop=c.top,this.initialCanvasData=J({},c)},limitCanvas:function(t,i){var a=this.options,n=this.containerData,l=this.canvasData,o=this.cropBoxData,r=a.viewMode,s=l.aspectRatio,p=this.cropped&&o;if(t){var c=Number(a.minCanvasWidth)||0,d=Number(a.minCanvasHeight)||0;r>1?(c=Math.max(c,n.width),d=Math.max(d,n.height),r===3&&(d*s>c?c=d*s:d=c/s)):r>0&&(c?c=Math.max(c,p?o.width:0):d?d=Math.max(d,p?o.height:0):p&&(c=o.width,d=o.height,d*s>c?c=d*s:d=c/s));var m=Ye({aspectRatio:s,width:c,height:d});c=m.width,d=m.height,l.minWidth=c,l.minHeight=d,l.maxWidth=1/0,l.maxHeight=1/0}if(i)if(r>(p?0:1)){var u=n.width-l.width,g=n.height-l.height;l.minLeft=Math.min(0,u),l.minTop=Math.min(0,g),l.maxLeft=Math.max(0,u),l.maxTop=Math.max(0,g),p&&this.limited&&(l.minLeft=Math.min(o.left,o.left+(o.width-l.width)),l.minTop=Math.min(o.top,o.top+(o.height-l.height)),l.maxLeft=o.left,l.maxTop=o.top,r===2&&(l.width>=n.width&&(l.minLeft=Math.min(0,u),l.maxLeft=Math.max(0,u)),l.height>=n.height&&(l.minTop=Math.min(0,g),l.maxTop=Math.max(0,g))))}else l.minLeft=-l.width,l.minTop=-l.height,l.maxLeft=n.width,l.maxTop=n.height},renderCanvas:function(t,i){var a=this.canvasData,n=this.imageData;if(i){var l=tm({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),o=l.width,r=l.height,s=a.width*(o/a.naturalWidth),p=a.height*(r/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(p-a.height)/2,a.width=s,a.height=p,a.aspectRatio=o/r,a.naturalWidth=o,a.naturalHeight=r,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighti.width?l.height=l.width/a:l.width=l.height*a),this.cropBoxData=l,this.limitCropBox(!0,!0),l.width=Math.min(Math.max(l.width,l.minWidth),l.maxWidth),l.height=Math.min(Math.max(l.height,l.minHeight),l.maxHeight),l.width=Math.max(l.minWidth,l.width*n),l.height=Math.max(l.minHeight,l.height*n),l.left=i.left+(i.width-l.width)/2,l.top=i.top+(i.height-l.height)/2,l.oldLeft=l.left,l.oldTop=l.top,this.initialCropBoxData=J({},l)},limitCropBox:function(t,i){var a=this.options,n=this.containerData,l=this.canvasData,o=this.cropBoxData,r=this.limited,s=a.aspectRatio;if(t){var p=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,d=r?Math.min(n.width,l.width,l.width+l.left,n.width-l.left):n.width,m=r?Math.min(n.height,l.height,l.height+l.top,n.height-l.top):n.height;p=Math.min(p,n.width),c=Math.min(c,n.height),s&&(p&&c?c*s>p?c=p/s:p=c*s:p?c=p/s:c&&(p=c*s),m*s>d?m=d/s:d=m*s),o.minWidth=Math.min(p,d),o.minHeight=Math.min(c,m),o.maxWidth=d,o.maxHeight=m}i&&(r?(o.minLeft=Math.max(0,l.left),o.minTop=Math.max(0,l.top),o.maxLeft=Math.min(n.width,l.left+l.width)-o.width,o.maxTop=Math.min(n.height,l.top+l.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=n.width-o.width,o.maxTop=n.height-o.height))},renderCropBox:function(){var t=this.options,i=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=i.width&&a.height>=i.height?_l:Ta),je(this.cropBox,J({width:a.width,height:a.height},Gt({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),yt(this.element,pa,this.getData())}},dm={initPreview:function(){var t=this.element,i=this.crossOrigin,a=this.options.preview,n=i?this.crossOriginUrl:this.url,l=t.alt||"The image to preview",o=document.createElement("img");if(i&&(o.crossOrigin=i),o.src=n,o.alt=l,this.viewBox.appendChild(o),this.viewBoxImage=o,!!a){var r=a;typeof a=="string"?r=t.ownerDocument.querySelectorAll(a):a.querySelector&&(r=[a]),this.previews=r,oe(r,function(s){var p=document.createElement("img");Wt(s,hi,{width:s.offsetWidth,height:s.offsetHeight,html:s.innerHTML}),i&&(p.crossOrigin=i),p.src=n,p.alt=l,p.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',s.innerHTML="",s.appendChild(p)})}},resetPreview:function(){oe(this.previews,function(t){var i=ha(t,hi);je(t,{width:i.width,height:i.height}),t.innerHTML=i.html,Zp(t,hi)})},preview:function(){var t=this.imageData,i=this.canvasData,a=this.cropBoxData,n=a.width,l=a.height,o=t.width,r=t.height,s=a.left-i.left-t.left,p=a.top-i.top-t.top;!this.cropped||this.disabled||(je(this.viewBoxImage,J({width:o,height:r},Gt(J({translateX:-s,translateY:-p},t)))),oe(this.previews,function(c){var d=ha(c,hi),m=d.width,u=d.height,g=m,f=u,h=1;n&&(h=m/n,f=l*h),l&&f>u&&(h=u/l,g=n*h,f=u),je(c,{width:g,height:f}),je(c.getElementsByTagName("img")[0],J({width:o*h,height:r*h},Gt(J({translateX:-s*h,translateY:-p*h},t))))}))}},pm={bind:function(){var t=this.element,i=this.options,a=this.cropper;be(i.cropstart)&&Se(t,ga,i.cropstart),be(i.cropmove)&&Se(t,ua,i.cropmove),be(i.cropend)&&Se(t,ma,i.cropend),be(i.crop)&&Se(t,pa,i.crop),be(i.zoom)&&Se(t,fa,i.zoom),Se(a,pl,this.onCropStart=this.cropStart.bind(this)),i.zoomable&&i.zoomOnWheel&&Se(a,hl,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&Se(a,dl,this.onDblclick=this.dblclick.bind(this)),Se(t.ownerDocument,ml,this.onCropMove=this.cropMove.bind(this)),Se(t.ownerDocument,ul,this.onCropEnd=this.cropEnd.bind(this)),i.responsive&&Se(window,fl,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,i=this.options,a=this.cropper;be(i.cropstart)&&Fe(t,ga,i.cropstart),be(i.cropmove)&&Fe(t,ua,i.cropmove),be(i.cropend)&&Fe(t,ma,i.cropend),be(i.crop)&&Fe(t,pa,i.crop),be(i.zoom)&&Fe(t,fa,i.zoom),Fe(a,pl,this.onCropStart),i.zoomable&&i.zoomOnWheel&&Fe(a,hl,this.onWheel,{passive:!1,capture:!0}),i.toggleDragModeOnDblclick&&Fe(a,dl,this.onDblclick),Fe(t.ownerDocument,ml,this.onCropMove),Fe(t.ownerDocument,ul,this.onCropEnd),i.responsive&&Fe(window,fl,this.onResize)}},mm={resize:function(){if(!this.disabled){var t=this.options,i=this.container,a=this.containerData,n=i.offsetWidth/a.width,l=i.offsetHeight/a.height,o=Math.abs(n-1)>Math.abs(l-1)?n:l;if(o!==1){var r,s;t.restore&&(r=this.getCanvasData(),s=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(oe(r,function(p,c){r[c]=p*o})),this.setCropBoxData(oe(s,function(p,c){s[c]=p*o})))}}},dblclick:function(){this.disabled||this.options.dragMode===Ml||this.setDragMode(Xp(this.dragBox,ca)?Ll:Ia)},wheel:function(t){var i=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){i.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){var i=t.buttons,a=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(j(i)&&i!==1||j(a)&&a!==0||t.ctrlKey))){var n=this.options,l=this.pointers,o;t.changedTouches?oe(t.changedTouches,function(r){l[r.identifier]=bi(r)}):l[t.pointerId||0]=bi(t),Object.keys(l).length>1&&n.zoomable&&n.zoomOnTouch?o=wl:o=ha(t.target,Ut),Np.test(o)&&yt(this.element,ga,{originalEvent:t,action:o})!==!1&&(t.preventDefault(),this.action=o,this.cropping=!1,o===Sl&&(this.cropping=!0,pe(this.dragBox,Ei)))}},cropMove:function(t){var i=this.action;if(!(this.disabled||!i)){var a=this.pointers;t.preventDefault(),yt(this.element,ua,{originalEvent:t,action:i})!==!1&&(t.changedTouches?oe(t.changedTouches,function(n){J(a[n.identifier]||{},bi(n,!0))}):J(a[t.pointerId||0]||{},bi(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var i=this.action,a=this.pointers;t.changedTouches?oe(t.changedTouches,function(n){delete a[n.identifier]}):delete a[t.pointerId||0],i&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,vt(this.dragBox,Ei,this.cropped&&this.options.modal)),yt(this.element,ma,{originalEvent:t,action:i}))}}},um={change:function(t){var i=this.options,a=this.canvasData,n=this.containerData,l=this.cropBoxData,o=this.pointers,r=this.action,s=i.aspectRatio,p=l.left,c=l.top,d=l.width,m=l.height,u=p+d,g=c+m,f=0,h=0,I=n.width,b=n.height,E=!0,v;!s&&t.shiftKey&&(s=d&&m?d/m:1),this.limited&&(f=l.minLeft,h=l.minTop,I=f+Math.min(n.width,a.width,a.left+a.width),b=h+Math.min(n.height,a.height,a.top+a.height));var y=o[Object.keys(o)[0]],T={x:y.endX-y.startX,y:y.endY-y.startY},_=function(R){switch(R){case at:u+T.x>I&&(T.x=I-u);break;case nt:p+T.xb&&(T.y=b-g);break}};switch(r){case Ta:p+=T.x,c+=T.y;break;case at:if(T.x>=0&&(u>=I||s&&(c<=h||g>=b))){E=!1;break}_(at),d+=T.x,d<0&&(r=nt,d=-d,p-=d),s&&(m=d/s,c+=(l.height-m)/2);break;case He:if(T.y<=0&&(c<=h||s&&(p<=f||u>=I))){E=!1;break}_(He),m-=T.y,c+=T.y,m<0&&(r=Tt,m=-m,c-=m),s&&(d=m*s,p+=(l.width-d)/2);break;case nt:if(T.x<=0&&(p<=f||s&&(c<=h||g>=b))){E=!1;break}_(nt),d-=T.x,p+=T.x,d<0&&(r=at,d=-d,p-=d),s&&(m=d/s,c+=(l.height-m)/2);break;case Tt:if(T.y>=0&&(g>=b||s&&(p<=f||u>=I))){E=!1;break}_(Tt),m+=T.y,m<0&&(r=He,m=-m,c-=m),s&&(d=m*s,p+=(l.width-d)/2);break;case Bt:if(s){if(T.y<=0&&(c<=h||u>=I)){E=!1;break}_(He),m-=T.y,c+=T.y,d=m*s}else _(He),_(at),T.x>=0?uh&&(m-=T.y,c+=T.y):(m-=T.y,c+=T.y);d<0&&m<0?(r=Vt,m=-m,d=-d,c-=m,p-=d):d<0?(r=kt,d=-d,p-=d):m<0&&(r=Nt,m=-m,c-=m);break;case kt:if(s){if(T.y<=0&&(c<=h||p<=f)){E=!1;break}_(He),m-=T.y,c+=T.y,d=m*s,p+=l.width-d}else _(He),_(nt),T.x<=0?p>f?(d-=T.x,p+=T.x):T.y<=0&&c<=h&&(E=!1):(d-=T.x,p+=T.x),T.y<=0?c>h&&(m-=T.y,c+=T.y):(m-=T.y,c+=T.y);d<0&&m<0?(r=Nt,m=-m,d=-d,c-=m,p-=d):d<0?(r=Bt,d=-d,p-=d):m<0&&(r=Vt,m=-m,c-=m);break;case Vt:if(s){if(T.x<=0&&(p<=f||g>=b)){E=!1;break}_(nt),d-=T.x,p+=T.x,m=d/s}else _(Tt),_(nt),T.x<=0?p>f?(d-=T.x,p+=T.x):T.y>=0&&g>=b&&(E=!1):(d-=T.x,p+=T.x),T.y>=0?g=0&&(u>=I||g>=b)){E=!1;break}_(at),d+=T.x,m=d/s}else _(Tt),_(at),T.x>=0?u=0&&g>=b&&(E=!1):d+=T.x,T.y>=0?g0?r=T.y>0?Nt:Bt:T.x<0&&(p-=d,r=T.y>0?Vt:kt),T.y<0&&(c-=m),this.cropped||(Oe(this.cropBox,Ee),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}E&&(l.width=d,l.height=m,l.left=p,l.top=c,this.action=r,this.renderCropBox()),oe(o,function(x){x.startX=x.endX,x.startY=x.endY})}},gm={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&pe(this.dragBox,Ei),Oe(this.cropBox,Ee),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=J({},this.initialImageData),this.canvasData=J({},this.initialCanvasData),this.cropBoxData=J({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(J(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Oe(this.dragBox,Ei),pe(this.cropBox,Ee)),this},replace:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),i?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,oe(this.previews,function(a){a.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Oe(this.cropper,sl)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,pe(this.cropper,sl)),this},destroy:function(){var t=this.element;return t[Q]?(t[Q]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=a.left,l=a.top;return this.moveTo(la(t)?t:n+Number(t),la(i)?i:l+Number(i))},moveTo:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.movable&&(j(t)&&(a.left=t,n=!0),j(i)&&(a.top=i,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,i){var a=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(a.width*t/a.naturalWidth,null,i)},zoomTo:function(t,i,a){var n=this.options,l=this.canvasData,o=l.width,r=l.height,s=l.naturalWidth,p=l.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,d=p*t;if(yt(this.element,fa,{ratio:t,oldRatio:o/s,originalEvent:a})===!1)return this;if(a){var m=this.pointers,u=Dl(this.cropper),g=m&&Object.keys(m).length?em(m):{pageX:a.pageX,pageY:a.pageY};l.left-=(c-o)*((g.pageX-u.left-l.left)/o),l.top-=(d-r)*((g.pageY-u.top-l.top)/r)}else It(i)&&j(i.x)&&j(i.y)?(l.left-=(c-o)*((i.x-l.left)/o),l.top-=(d-r)*((i.y-l.top)/r)):(l.left-=(c-o)/2,l.top-=(d-r)/2);l.width=c,l.height=d,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),j(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var i=this.imageData.scaleY;return this.scale(t,j(i)?i:1)},scaleY:function(t){var i=this.imageData.scaleX;return this.scale(j(i)?i:1,t)},scale:function(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),i=Number(i),this.ready&&!this.disabled&&this.options.scalable&&(j(t)&&(a.scaleX=t,n=!0),j(i)&&(a.scaleY=i,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=this.options,a=this.imageData,n=this.canvasData,l=this.cropBoxData,o;if(this.ready&&this.cropped){o={x:l.left-n.left,y:l.top-n.top,width:l.width,height:l.height};var r=a.width/a.naturalWidth;if(oe(o,function(c,d){o[d]=c/r}),t){var s=Math.round(o.y+o.height),p=Math.round(o.x+o.width);o.x=Math.round(o.x),o.y=Math.round(o.y),o.width=p-o.x,o.height=s-o.y}}else o={x:0,y:0,width:0,height:0};return i.rotatable&&(o.rotate=a.rotate||0),i.scalable&&(o.scaleX=a.scaleX||1,o.scaleY=a.scaleY||1),o},setData:function(t){var i=this.options,a=this.imageData,n=this.canvasData,l={};if(this.ready&&!this.disabled&&It(t)){var o=!1;i.rotatable&&j(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,o=!0),i.scalable&&(j(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,o=!0),j(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var r=a.width/a.naturalWidth;j(t.x)&&(l.left=t.x*r+n.left),j(t.y)&&(l.top=t.y*r+n.top),j(t.width)&&(l.width=t.width*r),j(t.height)&&(l.height=t.height*r),this.setCropBoxData(l)}return this},getContainerData:function(){return this.ready?J({},this.containerData):{}},getImageData:function(){return this.sized?J({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,i={};return this.ready&&oe(["left","top","width","height","naturalWidth","naturalHeight"],function(a){i[a]=t[a]}),i},setCanvasData:function(t){var i=this.canvasData,a=i.aspectRatio;return this.ready&&!this.disabled&&It(t)&&(j(t.left)&&(i.left=t.left),j(t.top)&&(i.top=t.top),j(t.width)?(i.width=t.width,i.height=t.width/a):j(t.height)&&(i.height=t.height,i.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,i;return this.ready&&this.cropped&&(i={left:t.left,top:t.top,width:t.width,height:t.height}),i||{}},setCropBoxData:function(t){var i=this.cropBoxData,a=this.options.aspectRatio,n,l;return this.ready&&this.cropped&&!this.disabled&&It(t)&&(j(t.left)&&(i.left=t.left),j(t.top)&&(i.top=t.top),j(t.width)&&t.width!==i.width&&(n=!0,i.width=t.width),j(t.height)&&t.height!==i.height&&(l=!0,i.height=t.height),a&&(n?i.height=i.width/a:l&&(i.width=i.height*a)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var i=this.canvasData,a=im(this.image,this.imageData,i,t);if(!this.cropped)return a;var n=this.getData(t.rounded),l=n.x,o=n.y,r=n.width,s=n.height,p=a.width/Math.floor(i.naturalWidth);p!==1&&(l*=p,o*=p,r*=p,s*=p);var c=r/s,d=Ye({aspectRatio:c,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),m=Ye({aspectRatio:c,width:t.minWidth||0,height:t.minHeight||0},"cover"),u=Ye({aspectRatio:c,width:t.width||(p!==1?a.width:r),height:t.height||(p!==1?a.height:s)}),g=u.width,f=u.height;g=Math.min(d.width,Math.max(m.width,g)),f=Math.min(d.height,Math.max(m.height,f));var h=document.createElement("canvas"),I=h.getContext("2d");h.width=xt(g),h.height=xt(f),I.fillStyle=t.fillColor||"transparent",I.fillRect(0,0,g,f);var b=t.imageSmoothingEnabled,E=b===void 0?!0:b,v=t.imageSmoothingQuality;I.imageSmoothingEnabled=E,v&&(I.imageSmoothingQuality=v);var y=a.width,T=a.height,_=l,x=o,R,P,z,A,k,w;_<=-r||_>y?(_=0,R=0,z=0,k=0):_<=0?(z=-_,_=0,R=Math.min(y,r+_),k=R):_<=y&&(z=0,R=Math.min(r,y-_),k=R),R<=0||x<=-s||x>T?(x=0,P=0,A=0,w=0):x<=0?(A=-x,x=0,P=Math.min(T,s+x),w=P):x<=T&&(A=0,P=Math.min(s,T-x),w=P);var O=[_,x,R,P];if(k>0&&w>0){var S=g/r;O.push(z*S,A*S,k*S,w*S)}return I.drawImage.apply(I,[a].concat(Rl(O.map(function(L){return Math.floor(xt(L))})))),h},setAspectRatio:function(t){var i=this.options;return!this.disabled&&!la(t)&&(i.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var i=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var l=t===Ia,o=i.movable&&t===Ll;t=l||o?t:Ml,i.dragMode=t,Wt(a,Ut,t),vt(a,ca,l),vt(a,da,o),i.cropBoxMovable||(Wt(n,Ut,t),vt(n,ca,l),vt(n,da,o))}return this}},fm=De.Cropper,xa=(function(){function e(t){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Lp(this,e),!t||!Up.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=J({},El,It(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return Mp(e,[{key:"init",value:function(){var i=this.element,a=i.tagName.toLowerCase(),n;if(!i[Q]){if(i[Q]=this,a==="img"){if(this.isImg=!0,n=i.getAttribute("src")||"",this.originalUrl=n,!n)return;n=i.src}else a==="canvas"&&window.HTMLCanvasElement&&(n=i.toDataURL());this.load(n)}}},{key:"load",value:function(i){var a=this;if(i){this.url=i,this.imageData={};var n=this.element,l=this.options;if(!l.rotatable&&!l.scalable&&(l.checkOrientation=!1),!l.checkOrientation||!window.ArrayBuffer){this.clone();return}if(Vp.test(i)){Gp.test(i)?this.read(lm(i)):this.clone();return}var o=new XMLHttpRequest,r=this.clone.bind(this);this.reloading=!0,this.xhr=o,o.onabort=r,o.onerror=r,o.ontimeout=r,o.onprogress=function(){o.getResponseHeader("content-type")!==bl&&o.abort()},o.onload=function(){a.read(o.response)},o.onloadend=function(){a.reloading=!1,a.xhr=null},l.checkCrossOrigin&&Il(i)&&n.crossOrigin&&(i=vl(i)),o.open("GET",i,!0),o.responseType="arraybuffer",o.withCredentials=n.crossOrigin==="use-credentials",o.send()}}},{key:"read",value:function(i){var a=this.options,n=this.imageData,l=rm(i),o=0,r=1,s=1;if(l>1){this.url=om(i,bl);var p=sm(l);o=p.rotate,r=p.scaleX,s=p.scaleY}a.rotatable&&(n.rotate=o),a.scalable&&(n.scaleX=r,n.scaleY=s),this.clone()}},{key:"clone",value:function(){var i=this.element,a=this.url,n=i.crossOrigin,l=a;this.options.checkCrossOrigin&&Il(a)&&(n||(n="anonymous"),l=vl(a)),this.crossOrigin=n,this.crossOriginUrl=l;var o=document.createElement("img");n&&(o.crossOrigin=n),o.src=l||a,o.alt=i.alt||"The image to crop",this.image=o,o.onload=this.start.bind(this),o.onerror=this.stop.bind(this),pe(o,cl),i.parentNode.insertBefore(o,i.nextSibling)}},{key:"start",value:function(){var i=this,a=this.image;a.onload=null,a.onerror=null,this.sizing=!0;var n=De.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(De.navigator.userAgent),l=function(p,c){J(i.imageData,{naturalWidth:p,naturalHeight:c,aspectRatio:p/c}),i.initialImageData=J({},i.imageData),i.sizing=!1,i.sized=!0,i.build()};if(a.naturalWidth&&!n){l(a.naturalWidth,a.naturalHeight);return}var o=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=o,o.onload=function(){l(o.width,o.height),n||r.removeChild(o)},o.src=a.src,n||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(o))}},{key:"stop",value:function(){var i=this.image;i.onload=null,i.onerror=null,i.parentNode.removeChild(i),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var i=this.element,a=this.options,n=this.image,l=i.parentNode,o=document.createElement("div");o.innerHTML=Wp;var r=o.querySelector(".".concat(Q,"-container")),s=r.querySelector(".".concat(Q,"-canvas")),p=r.querySelector(".".concat(Q,"-drag-box")),c=r.querySelector(".".concat(Q,"-crop-box")),d=c.querySelector(".".concat(Q,"-face"));this.container=l,this.cropper=r,this.canvas=s,this.dragBox=p,this.cropBox=c,this.viewBox=r.querySelector(".".concat(Q,"-view-box")),this.face=d,s.appendChild(n),pe(i,Ee),l.insertBefore(r,i.nextSibling),Oe(n,cl),this.initPreview(),this.bind(),a.initialAspectRatio=Math.max(0,a.initialAspectRatio)||NaN,a.aspectRatio=Math.max(0,a.aspectRatio)||NaN,a.viewMode=Math.max(0,Math.min(3,Math.round(a.viewMode)))||0,pe(c,Ee),a.guides||pe(c.getElementsByClassName("".concat(Q,"-dashed")),Ee),a.center||pe(c.getElementsByClassName("".concat(Q,"-center")),Ee),a.background&&pe(r,"".concat(Q,"-bg")),a.highlight||pe(d,Dp),a.cropBoxMovable&&(pe(d,da),Wt(d,Ut,Ta)),a.cropBoxResizable||(pe(c.getElementsByClassName("".concat(Q,"-line")),Ee),pe(c.getElementsByClassName("".concat(Q,"-point")),Ee)),this.render(),this.ready=!0,this.setDragMode(a.dragMode),a.autoCrop&&this.crop(),this.setData(a.data),be(a.ready)&&Se(i,gl,a.ready,{once:!0}),yt(i,gl)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var i=this.cropper.parentNode;i&&i.removeChild(this.cropper),Oe(this.element,Ee)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=fm,e}},{key:"setDefaults",value:function(i){J(El,It(i)&&i)}}])})();J(xa.prototype,cm,dm,pm,mm,um,gm);var Bl={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autodesk.fbx":["fbx"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dcmp+xml":["dcmp"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.slides":["ggs"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.drawing":["gdraw"],"application/vnd.google-apps.form":["gform"],"application/vnd.google-apps.jam":["gjam"],"application/vnd.google-apps.map":["gmap"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.script":["gscript"],"application/vnd.google-apps.site":["gsite"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.gov.sk.xmldatacontainer+xml":["xdcf"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-visio.viewer":["vdx"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.nato.bindingdataobject+xml":["bdo"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.procrate.brushset":["brushset"],"application/vnd.procreate.brush":["brush"],"application/vnd.procreate.dream":["drm"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw","vsdx","vtx"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blender":["blend"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-compressed":["*rar"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-ipynb+json":["ipynb"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zip-compressed":["*zip"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.blockfact.facti":["facti"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-adobe-dng":["dng"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.bary":["bary"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["*mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(Bl);var kl=Bl;var Nl={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(Nl);var Vl=Nl;var _e=function(e,t,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(e):a?a.value:t.get(e)},Rt,Ht,ot,ya=class{constructor(...t){Rt.set(this,new Map),Ht.set(this,new Map),ot.set(this,new Map);for(let i of t)this.define(i)}define(t,i=!1){for(let[a,n]of Object.entries(t)){a=a.toLowerCase(),n=n.map(r=>r.toLowerCase()),_e(this,ot,"f").has(a)||_e(this,ot,"f").set(a,new Set);let l=_e(this,ot,"f").get(a),o=!0;for(let r of n){let s=r.startsWith("*");if(r=s?r.slice(1):r,l?.add(r),o&&_e(this,Ht,"f").set(a,r),o=!1,s)continue;let p=_e(this,Rt,"f").get(r);if(p&&p!=a&&!i)throw new Error(`"${a} -> ${r}" conflicts with "${p} -> ${r}". Pass \`force=true\` to override this definition.`);_e(this,Rt,"f").set(r,a)}}return this}getType(t){if(typeof t!="string")return null;let i=t.replace(/^.*[/\\]/s,"").toLowerCase(),a=i.replace(/^.*\./s,"").toLowerCase(),n=i.length{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let t of _e(this,ot,"f").values())Object.freeze(t);return this}_getTestState(){return{types:_e(this,Rt,"f"),extensions:_e(this,Ht,"f")}}};Rt=new WeakMap,Ht=new WeakMap,ot=new WeakMap;var Ra=ya;var Gl=new Ra(Vl,kl)._freeze();var Ul=({addFilter:e,utils:t})=>{let{Type:i,replaceInString:a,toNaturalFileSize:n}=t;return e("ALLOW_HOPPER_ITEM",(l,{query:o})=>{if(!o("GET_ALLOW_FILE_SIZE_VALIDATION"))return!0;let r=o("GET_MAX_FILE_SIZE");if(r!==null&&l.size>r)return!1;let s=o("GET_MIN_FILE_SIZE");return!(s!==null&&l.sizenew Promise((r,s)=>{if(!o("GET_ALLOW_FILE_SIZE_VALIDATION"))return r(l);let p=o("GET_FILE_VALIDATE_SIZE_FILTER");if(p&&!p(l))return r(l);let c=o("GET_MAX_FILE_SIZE");if(c!==null&&l.size>c){s({status:{main:o("GET_LABEL_MAX_FILE_SIZE_EXCEEDED"),sub:a(o("GET_LABEL_MAX_FILE_SIZE"),{filesize:n(c,".",o("GET_FILE_SIZE_BASE"),o("GET_FILE_SIZE_LABELS",o))})}});return}let d=o("GET_MIN_FILE_SIZE");if(d!==null&&l.sizeg+f.fileSize,0)>m){s({status:{main:o("GET_LABEL_MAX_TOTAL_FILE_SIZE_EXCEEDED"),sub:a(o("GET_LABEL_MAX_TOTAL_FILE_SIZE"),{filesize:n(m,".",o("GET_FILE_SIZE_BASE"),o("GET_FILE_SIZE_LABELS",o))})}});return}r(l)})),{options:{allowFileSizeValidation:[!0,i.BOOLEAN],maxFileSize:[null,i.INT],minFileSize:[null,i.INT],maxTotalFileSize:[null,i.INT],fileValidateSizeFilter:[null,i.FUNCTION],labelMinFileSizeExceeded:["File is too small",i.STRING],labelMinFileSize:["Minimum file size is {filesize}",i.STRING],labelMaxFileSizeExceeded:["File is too large",i.STRING],labelMaxFileSize:["Maximum file size is {filesize}",i.STRING],labelMaxTotalFileSizeExceeded:["Maximum total size exceeded",i.STRING],labelMaxTotalFileSize:["Maximum total file size is {filesize}",i.STRING]}}},hm=typeof window<"u"&&typeof window.document<"u";hm&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Ul}));var Wl=Ul;var Hl=({addFilter:e,utils:t})=>{let{Type:i,isString:a,replaceInString:n,guesstimateMimeType:l,getExtensionFromFilename:o,getFilenameFromURL:r}=t,s=(u,g)=>{let f=(/^[^/]+/.exec(u)||[]).pop(),h=g.slice(0,-2);return f===h},p=(u,g)=>u.some(f=>/\*$/.test(f)?s(g,f):f===g),c=u=>{let g="";if(a(u)){let f=r(u),h=o(f);h&&(g=l(h))}else g=u.type;return g},d=(u,g,f)=>{if(g.length===0)return!0;let h=c(u);return f?new Promise((I,b)=>{f(u,h).then(E=>{p(g,E)?I():b()}).catch(b)}):p(g,h)},m=u=>g=>u[g]===null?!1:u[g]||g;return e("SET_ATTRIBUTE_TO_OPTION_MAP",u=>Object.assign(u,{accept:"acceptedFileTypes"})),e("ALLOW_HOPPER_ITEM",(u,{query:g})=>g("GET_ALLOW_FILE_TYPE_VALIDATION")?d(u,g("GET_ACCEPTED_FILE_TYPES")):!0),e("LOAD_FILE",(u,{query:g})=>new Promise((f,h)=>{if(!g("GET_ALLOW_FILE_TYPE_VALIDATION")){f(u);return}let I=g("GET_ACCEPTED_FILE_TYPES"),b=g("GET_FILE_VALIDATE_TYPE_DETECT_TYPE"),E=d(u,I,b),v=()=>{let y=I.map(m(g("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES_MAP"))).filter(_=>_!==!1),T=y.filter((_,x)=>y.indexOf(_)===x);h({status:{main:g("GET_LABEL_FILE_TYPE_NOT_ALLOWED"),sub:n(g("GET_FILE_VALIDATE_TYPE_LABEL_EXPECTED_TYPES"),{allTypes:T.join(", "),allButLastType:T.slice(0,-1).join(", "),lastType:T[T.length-1]})}})};if(typeof E=="boolean")return E?f(u):v();E.then(()=>{f(u)}).catch(v)})),{options:{allowFileTypeValidation:[!0,i.BOOLEAN],acceptedFileTypes:[[],i.ARRAY],labelFileTypeNotAllowed:["File is of invalid type",i.STRING],fileValidateTypeLabelExpectedTypes:["Expects {allButLastType} or {lastType}",i.STRING],fileValidateTypeLabelExpectedTypesMap:[{},i.OBJECT],fileValidateTypeDetectType:[null,i.FUNCTION]}}},bm=typeof window<"u"&&typeof window.document<"u";bm&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Hl}));var jl=Hl;var Yl=e=>/^image/.test(e.type),ql=({addFilter:e,utils:t})=>{let{Type:i,isFile:a,getNumericAspectRatioFromString:n}=t,l=(p,c)=>!(!Yl(p.file)||!c("GET_ALLOW_IMAGE_CROP")),o=p=>typeof p=="object",r=p=>typeof p=="number",s=(p,c)=>p.setMetadata("crop",Object.assign({},p.getMetadata("crop"),c));return e("DID_CREATE_ITEM",(p,{query:c})=>{p.extend("setImageCrop",d=>{if(!(!l(p,c)||!o(center)))return p.setMetadata("crop",d),d}),p.extend("setImageCropCenter",d=>{if(!(!l(p,c)||!o(d)))return s(p,{center:d})}),p.extend("setImageCropZoom",d=>{if(!(!l(p,c)||!r(d)))return s(p,{zoom:Math.max(1,d)})}),p.extend("setImageCropRotation",d=>{if(!(!l(p,c)||!r(d)))return s(p,{rotation:d})}),p.extend("setImageCropFlip",d=>{if(!(!l(p,c)||!o(d)))return s(p,{flip:d})}),p.extend("setImageCropAspectRatio",d=>{if(!l(p,c)||typeof d>"u")return;let m=p.getMetadata("crop"),u=n(d),g={center:{x:.5,y:.5},flip:m?Object.assign({},m.flip):{horizontal:!1,vertical:!1},rotation:0,zoom:1,aspectRatio:u};return p.setMetadata("crop",g),g})}),e("DID_LOAD_ITEM",(p,{query:c})=>new Promise((d,m)=>{let u=p.file;if(!a(u)||!Yl(u)||!c("GET_ALLOW_IMAGE_CROP")||p.getMetadata("crop"))return d(p);let f=c("GET_IMAGE_CROP_ASPECT_RATIO");p.setMetadata("crop",{center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},rotation:0,zoom:1,aspectRatio:f?n(f):null}),d(p)})),{options:{allowImageCrop:[!0,i.BOOLEAN],imageCropAspectRatio:[null,i.STRING]}}},Em=typeof window<"u"&&typeof window.document<"u";Em&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:ql}));var $l=ql;var Sa=e=>/^image/.test(e.type),Xl=e=>{let{addFilter:t,utils:i,views:a}=e,{Type:n,createRoute:l,createItemAPI:o=c=>c}=i,{fileActionButton:r}=a;t("SHOULD_REMOVE_ON_REVERT",(c,{item:d,query:m})=>new Promise(u=>{let{file:g}=d,f=m("GET_ALLOW_IMAGE_EDIT")&&m("GET_IMAGE_EDIT_ALLOW_EDIT")&&Sa(g);u(!f)})),t("DID_LOAD_ITEM",(c,{query:d,dispatch:m})=>new Promise((u,g)=>{if(c.origin>1){u(c);return}let{file:f}=c;if(!d("GET_ALLOW_IMAGE_EDIT")||!d("GET_IMAGE_EDIT_INSTANT_EDIT")){u(c);return}if(!Sa(f)){u(c);return}let h=(b,E,v)=>y=>{s.shift(),y?E(b):v(b),m("KICK"),I()},I=()=>{if(!s.length)return;let{item:b,resolve:E,reject:v}=s[0];m("EDIT_ITEM",{id:b.id,handleEditorResponse:h(b,E,v)})};p({item:c,resolve:u,reject:g}),s.length===1&&I()})),t("DID_CREATE_ITEM",(c,{query:d,dispatch:m})=>{c.extend("edit",()=>{m("EDIT_ITEM",{id:c.id})})});let s=[],p=c=>(s.push(c),c);return t("CREATE_VIEW",c=>{let{is:d,view:m,query:u}=c;if(!u("GET_ALLOW_IMAGE_EDIT"))return;let g=u("GET_ALLOW_IMAGE_PREVIEW");if(!(d("file-info")&&!g||d("file")&&g))return;let h=u("GET_IMAGE_EDIT_EDITOR");if(!h)return;h.filepondCallbackBridge||(h.outputData=!0,h.outputFile=!1,h.filepondCallbackBridge={onconfirm:h.onconfirm||(()=>{}),oncancel:h.oncancel||(()=>{})});let I=({root:v,props:y,action:T})=>{let{id:_}=y,{handleEditorResponse:x}=T;h.cropAspectRatio=v.query("GET_IMAGE_CROP_ASPECT_RATIO")||h.cropAspectRatio,h.outputCanvasBackgroundColor=v.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR")||h.outputCanvasBackgroundColor;let R=v.query("GET_ITEM",_);if(!R)return;let P=R.file,z=R.getMetadata("crop"),A={center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},zoom:1,rotation:0,aspectRatio:null},k=R.getMetadata("resize"),w=R.getMetadata("filter")||null,O=R.getMetadata("filters")||null,S=R.getMetadata("colors")||null,L=R.getMetadata("markup")||null,C={crop:z||A,size:k?{upscale:k.upscale,mode:k.mode,width:k.size.width,height:k.size.height}:null,filter:O?O.id||O.matrix:v.query("GET_ALLOW_IMAGE_FILTER")&&v.query("GET_IMAGE_FILTER_COLOR_MATRIX")&&!S?w:null,color:S,markup:L};h.onconfirm=({data:D})=>{let{crop:U,size:B,filter:$,color:X,colorMatrix:K,markup:ce}=D,V={};if(U&&(V.crop=U),B){let H=(R.getMetadata("resize")||{}).size,Y={width:B.width,height:B.height};!(Y.width&&Y.height)&&H&&(Y.width=H.width,Y.height=H.height),(Y.width||Y.height)&&(V.resize={upscale:B.upscale,mode:B.mode,size:Y})}ce&&(V.markup=ce),V.colors=X,V.filters=$,V.filter=K,R.setMetadata(V),h.filepondCallbackBridge.onconfirm(D,o(R)),x&&(h.onclose=()=>{x(!0),h.onclose=null})},h.oncancel=()=>{h.filepondCallbackBridge.oncancel(o(R)),x&&(h.onclose=()=>{x(!1),h.onclose=null})},h.open(P,C)},b=({root:v,props:y})=>{if(!u("GET_IMAGE_EDIT_ALLOW_EDIT"))return;let{id:T}=y,_=u("GET_ITEM",T);if(!_)return;let x=_.file;if(Sa(x))if(v.ref.handleEdit=R=>{R.stopPropagation(),v.dispatch("EDIT_ITEM",{id:T})},g){let R=m.createChildView(r,{label:"edit",icon:u("GET_IMAGE_EDIT_ICON_EDIT"),opacity:0});R.element.classList.add("filepond--action-edit-item"),R.element.dataset.align=u("GET_STYLE_IMAGE_EDIT_BUTTON_EDIT_ITEM_POSITION"),R.on("click",v.ref.handleEdit),v.ref.buttonEditItem=m.appendChildView(R)}else{let R=m.element.querySelector(".filepond--file-info-main"),P=document.createElement("button");P.className="filepond--action-edit-item-alt",P.innerHTML=u("GET_IMAGE_EDIT_ICON_EDIT")+"edit",P.addEventListener("click",v.ref.handleEdit),R.appendChild(P),v.ref.editButton=P}};m.registerDestroyer(({root:v})=>{v.ref.buttonEditItem&&v.ref.buttonEditItem.off("click",v.ref.handleEdit),v.ref.editButton&&v.ref.editButton.removeEventListener("click",v.ref.handleEdit)});let E={EDIT_ITEM:I,DID_LOAD_ITEM:b};if(g){let v=({root:y})=>{y.ref.buttonEditItem&&(y.ref.buttonEditItem.opacity=1)};E.DID_IMAGE_PREVIEW_SHOW=v}m.registerWriter(l(E))}),{options:{allowImageEdit:[!0,n.BOOLEAN],styleImageEditButtonEditItemPosition:["bottom center",n.STRING],imageEditInstantEdit:[!1,n.BOOLEAN],imageEditAllowEdit:[!0,n.BOOLEAN],imageEditIconEdit:['',n.STRING],imageEditEditor:[null,n.OBJECT]}}},Tm=typeof window<"u"&&typeof window.document<"u";Tm&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Xl}));var Kl=Xl;var Im=e=>/^image\/jpeg/.test(e.type),rt={JPEG:65496,APP1:65505,EXIF:1165519206,TIFF:18761,Orientation:274,Unknown:65280},st=(e,t,i=!1)=>e.getUint16(t,i),Zl=(e,t,i=!1)=>e.getUint32(t,i),vm=e=>new Promise((t,i)=>{let a=new FileReader;a.onload=function(n){let l=new DataView(n.target.result);if(st(l,0)!==rt.JPEG){t(-1);return}let o=l.byteLength,r=2;for(;rxm,Rm="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=",Ql,Ii=ym()?new Image:{};Ii.onload=()=>Ql=Ii.naturalWidth>Ii.naturalHeight;Ii.src=Rm;var Sm=()=>Ql,Jl=({addFilter:e,utils:t})=>{let{Type:i,isFile:a}=t;return e("DID_LOAD_ITEM",(n,{query:l})=>new Promise((o,r)=>{let s=n.file;if(!a(s)||!Im(s)||!l("GET_ALLOW_IMAGE_EXIF_ORIENTATION")||!Sm())return o(n);vm(s).then(p=>{n.setMetadata("exif",{orientation:p}),o(n)})})),{options:{allowImageExifOrientation:[!0,i.BOOLEAN]}}},_m=typeof window<"u"&&typeof window.document<"u";_m&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Jl}));var eo=Jl;var wm=e=>/^image/.test(e.type),to=(e,t)=>Yt(e.x*t,e.y*t),io=(e,t)=>Yt(e.x+t.x,e.y+t.y),Lm=e=>{let t=Math.sqrt(e.x*e.x+e.y*e.y);return t===0?{x:0,y:0}:Yt(e.x/t,e.y/t)},vi=(e,t,i)=>{let a=Math.cos(t),n=Math.sin(t),l=Yt(e.x-i.x,e.y-i.y);return Yt(i.x+a*l.x-n*l.y,i.y+n*l.x+a*l.y)},Yt=(e=0,t=0)=>({x:e,y:t}),Te=(e,t,i=1,a)=>{if(typeof e=="string")return parseFloat(e)*i;if(typeof e=="number")return e*(a?t[a]:Math.min(t.width,t.height))},Mm=(e,t,i)=>{let a=e.borderStyle||e.lineStyle||"solid",n=e.backgroundColor||e.fontColor||"transparent",l=e.borderColor||e.lineColor||"transparent",o=Te(e.borderWidth||e.lineWidth,t,i),r=e.lineCap||"round",s=e.lineJoin||"round",p=typeof a=="string"?"":a.map(d=>Te(d,t,i)).join(","),c=e.opacity||1;return{"stroke-linecap":r,"stroke-linejoin":s,"stroke-width":o||0,"stroke-dasharray":p,stroke:l,fill:n,opacity:c}},we=e=>e!=null,Am=(e,t,i=1)=>{let a=Te(e.x,t,i,"width")||Te(e.left,t,i,"width"),n=Te(e.y,t,i,"height")||Te(e.top,t,i,"height"),l=Te(e.width,t,i,"width"),o=Te(e.height,t,i,"height"),r=Te(e.right,t,i,"width"),s=Te(e.bottom,t,i,"height");return we(n)||(we(o)&&we(s)?n=t.height-o-s:n=s),we(a)||(we(l)&&we(r)?a=t.width-l-r:a=r),we(l)||(we(a)&&we(r)?l=t.width-a-r:l=0),we(o)||(we(n)&&we(s)?o=t.height-n-s:o=0),{x:a||0,y:n||0,width:l||0,height:o||0}},zm=e=>e.map((t,i)=>`${i===0?"M":"L"} ${t.x} ${t.y}`).join(" "),Be=(e,t)=>Object.keys(t).forEach(i=>e.setAttribute(i,t[i])),Pm="http://www.w3.org/2000/svg",St=(e,t)=>{let i=document.createElementNS(Pm,e);return t&&Be(i,t),i},Fm=e=>Be(e,{...e.rect,...e.styles}),Om=e=>{let t=e.rect.x+e.rect.width*.5,i=e.rect.y+e.rect.height*.5,a=e.rect.width*.5,n=e.rect.height*.5;return Be(e,{cx:t,cy:i,rx:a,ry:n,...e.styles})},Dm={contain:"xMidYMid meet",cover:"xMidYMid slice"},Cm=(e,t)=>{Be(e,{...e.rect,...e.styles,preserveAspectRatio:Dm[t.fit]||"none"})},Bm={left:"start",center:"middle",right:"end"},km=(e,t,i,a)=>{let n=Te(t.fontSize,i,a),l=t.fontFamily||"sans-serif",o=t.fontWeight||"normal",r=Bm[t.textAlign]||"start";Be(e,{...e.rect,...e.styles,"stroke-width":0,"font-weight":o,"font-size":n,"font-family":l,"text-anchor":r}),e.text!==t.text&&(e.text=t.text,e.textContent=t.text.length?t.text:" ")},Nm=(e,t,i,a)=>{Be(e,{...e.rect,...e.styles,fill:"none"});let n=e.childNodes[0],l=e.childNodes[1],o=e.childNodes[2],r=e.rect,s={x:e.rect.x+e.rect.width,y:e.rect.y+e.rect.height};if(Be(n,{x1:r.x,y1:r.y,x2:s.x,y2:s.y}),!t.lineDecoration)return;l.style.display="none",o.style.display="none";let p=Lm({x:s.x-r.x,y:s.y-r.y}),c=Te(.05,i,a);if(t.lineDecoration.indexOf("arrow-begin")!==-1){let d=to(p,c),m=io(r,d),u=vi(r,2,m),g=vi(r,-2,m);Be(l,{style:"display:block;",d:`M${u.x},${u.y} L${r.x},${r.y} L${g.x},${g.y}`})}if(t.lineDecoration.indexOf("arrow-end")!==-1){let d=to(p,-c),m=io(s,d),u=vi(s,2,m),g=vi(s,-2,m);Be(o,{style:"display:block;",d:`M${u.x},${u.y} L${s.x},${s.y} L${g.x},${g.y}`})}},Vm=(e,t,i,a)=>{Be(e,{...e.styles,fill:"none",d:zm(t.points.map(n=>({x:Te(n.x,i,a,"width"),y:Te(n.y,i,a,"height")})))})},xi=e=>t=>St(e,{id:t.id}),Gm=e=>{let t=St("image",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0"});return t.onload=()=>{t.setAttribute("opacity",e.opacity||1)},t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e.src),t},Um=e=>{let t=St("g",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round"}),i=St("line");t.appendChild(i);let a=St("path");t.appendChild(a);let n=St("path");return t.appendChild(n),t},Wm={image:Gm,rect:xi("rect"),ellipse:xi("ellipse"),text:xi("text"),path:xi("path"),line:Um},Hm={rect:Fm,ellipse:Om,image:Cm,text:km,path:Vm,line:Nm},jm=(e,t)=>Wm[e](t),Ym=(e,t,i,a,n)=>{t!=="path"&&(e.rect=Am(i,a,n)),e.styles=Mm(i,a,n),Hm[t](e,i,a,n)},qm=["x","y","left","top","right","bottom","width","height"],$m=e=>typeof e=="string"&&/%/.test(e)?parseFloat(e)/100:e,Xm=e=>{let[t,i]=e,a=i.points?{}:qm.reduce((n,l)=>(n[l]=$m(i[l]),n),{});return[t,{zIndex:0,...i,...a}]},Km=(e,t)=>e[1].zIndex>t[1].zIndex?1:e[1].zIndexe.utils.createView({name:"image-preview-markup",tag:"svg",ignoreRect:!0,mixins:{apis:["width","height","crop","markup","resize","dirty"]},write:({root:t,props:i})=>{if(!i.dirty)return;let{crop:a,resize:n,markup:l}=i,o=i.width,r=i.height,s=a.width,p=a.height;if(n){let{size:u}=n,g=u&&u.width,f=u&&u.height,h=n.mode,I=n.upscale;g&&!f&&(f=g),f&&!g&&(g=f);let b=s{let[g,f]=u,h=jm(g,f);Ym(h,g,f,c,d),t.element.appendChild(h)})}}),jt=(e,t)=>({x:e,y:t}),Qm=(e,t)=>e.x*t.x+e.y*t.y,ao=(e,t)=>jt(e.x-t.x,e.y-t.y),Jm=(e,t)=>Qm(ao(e,t),ao(e,t)),no=(e,t)=>Math.sqrt(Jm(e,t)),lo=(e,t)=>{let i=e,a=1.5707963267948966,n=t,l=1.5707963267948966-t,o=Math.sin(a),r=Math.sin(n),s=Math.sin(l),p=Math.cos(l),c=i/o,d=c*r,m=c*s;return jt(p*d,p*m)},eu=(e,t)=>{let i=e.width,a=e.height,n=lo(i,t),l=lo(a,t),o=jt(e.x+Math.abs(n.x),e.y-Math.abs(n.y)),r=jt(e.x+e.width+Math.abs(l.y),e.y+Math.abs(l.x)),s=jt(e.x-Math.abs(l.y),e.y+e.height-Math.abs(l.x));return{width:no(o,r),height:no(o,s)}},tu=(e,t,i=1)=>{let a=e.height/e.width,n=1,l=t,o=1,r=a;r>l&&(r=l,o=r/a);let s=Math.max(n/o,l/r),p=e.width/(i*s*o),c=p*t;return{width:p,height:c}},ro=(e,t,i,a)=>{let n=a.x>.5?1-a.x:a.x,l=a.y>.5?1-a.y:a.y,o=n*2*e.width,r=l*2*e.height,s=eu(t,i);return Math.max(s.width/o,s.height/r)},so=(e,t)=>{let i=e.width,a=i*t;a>e.height&&(a=e.height,i=a/t);let n=(e.width-i)*.5,l=(e.height-a)*.5;return{x:n,y:l,width:i,height:a}},iu=(e,t={})=>{let{zoom:i,rotation:a,center:n,aspectRatio:l}=t;l||(l=e.height/e.width);let o=tu(e,l,i),r={x:o.width*.5,y:o.height*.5},s={x:0,y:0,width:o.width,height:o.height,center:r},p=typeof t.scaleToFit>"u"||t.scaleToFit,c=ro(e,so(s,l),a,p?n:{x:.5,y:.5}),d=i*c;return{widthFloat:o.width/d,heightFloat:o.height/d,width:Math.round(o.width/d),height:Math.round(o.height/d)}},Ce={type:"spring",stiffness:.5,damping:.45,mass:10},au=e=>e.utils.createView({name:"image-bitmap",ignoreRect:!0,mixins:{styles:["scaleX","scaleY"]},create:({root:t,props:i})=>{t.appendChild(i.image)}}),nu=e=>e.utils.createView({name:"image-canvas-wrapper",tag:"div",ignoreRect:!0,mixins:{apis:["crop","width","height"],styles:["originX","originY","translateX","translateY","scaleX","scaleY","rotateZ"],animations:{originX:Ce,originY:Ce,scaleX:Ce,scaleY:Ce,translateX:Ce,translateY:Ce,rotateZ:Ce}},create:({root:t,props:i})=>{i.width=i.image.width,i.height=i.image.height,t.ref.bitmap=t.appendChildView(t.createChildView(au(e),{image:i.image}))},write:({root:t,props:i})=>{let{flip:a}=i.crop,{bitmap:n}=t.ref;n.scaleX=a.horizontal?-1:1,n.scaleY=a.vertical?-1:1}}),lu=e=>e.utils.createView({name:"image-clip",tag:"div",ignoreRect:!0,mixins:{apis:["crop","markup","resize","width","height","dirty","background"],styles:["width","height","opacity"],animations:{opacity:{type:"tween",duration:250}}},didWriteView:function({root:t,props:i}){i.background&&(t.element.style.backgroundColor=i.background)},create:({root:t,props:i})=>{t.ref.image=t.appendChildView(t.createChildView(nu(e),Object.assign({},i))),t.ref.createMarkup=()=>{t.ref.markup||(t.ref.markup=t.appendChildView(t.createChildView(Zm(e),Object.assign({},i))))},t.ref.destroyMarkup=()=>{t.ref.markup&&(t.removeChildView(t.ref.markup),t.ref.markup=null)};let a=t.query("GET_IMAGE_PREVIEW_TRANSPARENCY_INDICATOR");a!==null&&(a==="grid"?t.element.dataset.transparencyIndicator=a:t.element.dataset.transparencyIndicator="color")},write:({root:t,props:i,shouldOptimize:a})=>{let{crop:n,markup:l,resize:o,dirty:r,width:s,height:p}=i;t.ref.image.crop=n;let c={x:0,y:0,width:s,height:p,center:{x:s*.5,y:p*.5}},d={width:t.ref.image.width,height:t.ref.image.height},m={x:n.center.x*d.width,y:n.center.y*d.height},u={x:c.center.x-d.width*n.center.x,y:c.center.y-d.height*n.center.y},g=Math.PI*2+n.rotation%(Math.PI*2),f=n.aspectRatio||d.height/d.width,h=typeof n.scaleToFit>"u"||n.scaleToFit,I=ro(d,so(c,f),g,h?n.center:{x:.5,y:.5}),b=n.zoom*I;l&&l.length?(t.ref.createMarkup(),t.ref.markup.width=s,t.ref.markup.height=p,t.ref.markup.resize=o,t.ref.markup.dirty=r,t.ref.markup.markup=l,t.ref.markup.crop=iu(d,n)):t.ref.markup&&t.ref.destroyMarkup();let E=t.ref.image;if(a){E.originX=null,E.originY=null,E.translateX=null,E.translateY=null,E.rotateZ=null,E.scaleX=null,E.scaleY=null;return}E.originX=m.x,E.originY=m.y,E.translateX=u.x,E.translateY=u.y,E.rotateZ=g,E.scaleX=b,E.scaleY=b}}),ou=e=>e.utils.createView({name:"image-preview",tag:"div",ignoreRect:!0,mixins:{apis:["image","crop","markup","resize","dirty","background"],styles:["translateY","scaleX","scaleY","opacity"],animations:{scaleX:Ce,scaleY:Ce,translateY:Ce,opacity:{type:"tween",duration:400}}},create:({root:t,props:i})=>{t.ref.clip=t.appendChildView(t.createChildView(lu(e),{id:i.id,image:i.image,crop:i.crop,markup:i.markup,resize:i.resize,dirty:i.dirty,background:i.background}))},write:({root:t,props:i,shouldOptimize:a})=>{let{clip:n}=t.ref,{image:l,crop:o,markup:r,resize:s,dirty:p}=i;if(n.crop=o,n.markup=r,n.resize=s,n.dirty=p,n.opacity=a?0:1,a||t.rect.element.hidden)return;let c=l.height/l.width,d=o.aspectRatio||c,m=t.rect.inner.width,u=t.rect.inner.height,g=t.query("GET_IMAGE_PREVIEW_HEIGHT"),f=t.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"),h=t.query("GET_IMAGE_PREVIEW_MAX_HEIGHT"),I=t.query("GET_PANEL_ASPECT_RATIO"),b=t.query("GET_ALLOW_MULTIPLE");I&&!b&&(g=m*I,d=I);let E=g!==null?g:Math.max(f,Math.min(m*d,h)),v=E/d;v>m&&(v=m,E=v*d),E>u&&(E=u,v=u/d),n.width=v,n.height=E}}),ru=` @@ -18,44 +18,44 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho -`,jr=0,Lh=e=>e.utils.createView({name:"image-preview-overlay",tag:"div",ignoreRect:!0,create:({root:t,props:i})=>{let a=Ah;if(document.querySelector("base")){let n=new URL(window.location.href.replace(window.location.hash,"")).href;a=a.replace(/url\(\#/g,"url("+n+"#")}jr++,t.element.classList.add(`filepond--image-preview-overlay-${i.status}`),t.element.innerHTML=a.replace(/__UID__/g,jr)},mixins:{styles:["opacity"],animations:{opacity:{type:"spring",mass:25}}}}),Mh=function(){self.onmessage=e=>{createImageBitmap(e.data.message.file).then(t=>{self.postMessage({id:e.data.id,message:t},[t])})}},Oh=function(){self.onmessage=e=>{let t=e.data.message.imageData,i=e.data.message.colorMatrix,a=t.data,n=a.length,r=i[0],o=i[1],l=i[2],s=i[3],u=i[4],c=i[5],d=i[6],h=i[7],m=i[8],p=i[9],f=i[10],g=i[11],b=i[12],E=i[13],I=i[14],_=i[15],y=i[16],T=i[17],v=i[18],R=i[19],S=0,P=0,x=0,O=0,z=0;for(;S{let i=new Image;i.onload=()=>{let a=i.naturalWidth,n=i.naturalHeight;i=null,t(a,n)},i.src=e},Ph={1:()=>[1,0,0,1,0,0],2:e=>[-1,0,0,1,e,0],3:(e,t)=>[-1,0,0,-1,e,t],4:(e,t)=>[1,0,0,-1,0,t],5:()=>[0,1,1,0,0,0],6:(e,t)=>[0,1,-1,0,t,0],7:(e,t)=>[0,-1,-1,0,t,e],8:e=>[0,-1,1,0,0,e]},Dh=(e,t,i,a)=>{a!==-1&&e.transform.apply(e,Ph[a](t,i))},Fh=(e,t,i,a)=>{t=Math.round(t),i=Math.round(i);let n=document.createElement("canvas");n.width=t,n.height=i;let r=n.getContext("2d");return a>=5&&a<=8&&([t,i]=[i,t]),Dh(r,t,i,a),r.drawImage(e,0,0,t,i),n},Zr=e=>/^image/.test(e.type)&&!/svg/.test(e.type),Ch=10,zh=10,Nh=e=>{let t=Math.min(Ch/e.width,zh/e.height),i=document.createElement("canvas"),a=i.getContext("2d"),n=i.width=Math.ceil(e.width*t),r=i.height=Math.ceil(e.height*t);a.drawImage(e,0,0,n,r);let o=null;try{o=a.getImageData(0,0,n,r).data}catch{return null}let l=o.length,s=0,u=0,c=0,d=0;for(;dMath.floor(Math.sqrt(e/(t/4))),Bh=(e,t)=>(t=t||document.createElement("canvas"),t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0),t),Vh=e=>{let t;try{t=new ImageData(e.width,e.height)}catch{t=document.createElement("canvas").getContext("2d").createImageData(e.width,e.height)}return t.data.set(new Uint8ClampedArray(e.data)),t},Gh=e=>new Promise((t,i)=>{let a=new Image;a.crossOrigin="Anonymous",a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),Uh=e=>{let t=Lh(e),i=vh(e),{createWorker:a}=e.utils,n=(E,I,_)=>new Promise(y=>{E.ref.imageData||(E.ref.imageData=_.getContext("2d").getImageData(0,0,_.width,_.height));let T=Vh(E.ref.imageData);if(!I||I.length!==20)return _.getContext("2d").putImageData(T,0,0),y();let v=a(Oh);v.post({imageData:T,colorMatrix:I},R=>{_.getContext("2d").putImageData(R,0,0),v.terminate(),y()},[T.data.buffer])}),r=(E,I)=>{E.removeChildView(I),I.image.width=1,I.image.height=1,I._destroy()},o=({root:E})=>{let I=E.ref.images.shift();return I.opacity=0,I.translateY=-15,E.ref.imageViewBin.push(I),I},l=({root:E,props:I,image:_})=>{let y=I.id,T=E.query("GET_ITEM",{id:y});if(!T)return;let v=T.getMetadata("crop")||{center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},zoom:1,rotation:0,aspectRatio:null},R=E.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR"),S,P,x=!1;E.query("GET_IMAGE_PREVIEW_MARKUP_SHOW")&&(S=T.getMetadata("markup")||[],P=T.getMetadata("resize"),x=!0);let O=E.appendChildView(E.createChildView(i,{id:y,image:_,crop:v,resize:P,markup:S,dirty:x,background:R,opacity:0,scaleX:1.15,scaleY:1.15,translateY:15}),E.childViews.length);E.ref.images.push(O),O.opacity=1,O.scaleX=1,O.scaleY=1,O.translateY=0,setTimeout(()=>{E.dispatch("DID_IMAGE_PREVIEW_SHOW",{id:y})},250)},s=({root:E,props:I})=>{let _=E.query("GET_ITEM",{id:I.id});if(!_)return;let y=E.ref.images[E.ref.images.length-1];y.crop=_.getMetadata("crop"),y.background=E.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR"),E.query("GET_IMAGE_PREVIEW_MARKUP_SHOW")&&(y.dirty=!0,y.resize=_.getMetadata("resize"),y.markup=_.getMetadata("markup"))},u=({root:E,props:I,action:_})=>{if(!/crop|filter|markup|resize/.test(_.change.key)||!E.ref.images.length)return;let y=E.query("GET_ITEM",{id:I.id});if(y){if(/filter/.test(_.change.key)){let T=E.ref.images[E.ref.images.length-1];n(E,_.change.value,T.image);return}if(/crop|markup|resize/.test(_.change.key)){let T=y.getMetadata("crop"),v=E.ref.images[E.ref.images.length-1];if(T&&T.aspectRatio&&v.crop&&v.crop.aspectRatio&&Math.abs(T.aspectRatio-v.crop.aspectRatio)>1e-5){let R=o({root:E});l({root:E,props:I,image:Bh(R.image)})}else s({root:E,props:I})}}},c=E=>{let _=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./),y=_?parseInt(_[1]):null;return y!==null&&y<=58?!1:"createImageBitmap"in window&&Zr(E)},d=({root:E,props:I})=>{let{id:_}=I,y=E.query("GET_ITEM",_);if(!y)return;let T=URL.createObjectURL(y.file);xh(T,(v,R)=>{E.dispatch("DID_IMAGE_PREVIEW_CALCULATE_SIZE",{id:_,width:v,height:R})})},h=({root:E,props:I})=>{let{id:_}=I,y=E.query("GET_ITEM",_);if(!y)return;let T=URL.createObjectURL(y.file),v=()=>{Gh(T).then(R)},R=S=>{URL.revokeObjectURL(T);let x=(y.getMetadata("exif")||{}).orientation||-1,{width:O,height:z}=S;if(!O||!z)return;x>=5&&x<=8&&([O,z]=[z,O]);let A=Math.max(1,window.devicePixelRatio*.75),w=E.query("GET_IMAGE_PREVIEW_ZOOM_FACTOR")*A,L=z/O,C=E.rect.element.width,D=E.rect.element.height,V=C,B=V*L;L>1?(V=Math.min(O,C*w),B=V*L):(B=Math.min(z,D*w),V=B/L);let j=Fh(S,V,B,x),q=()=>{let ue=E.query("GET_IMAGE_PREVIEW_CALCULATE_AVERAGE_IMAGE_COLOR")?Nh(data):null;y.setMetadata("color",ue,!0),"close"in S&&S.close(),E.ref.overlayShadow.opacity=1,l({root:E,props:I,image:j})},X=y.getMetadata("filter");X?n(E,X,j).then(q):q()};if(c(y.file)){let S=a(Mh);S.post({file:y.file},P=>{if(S.terminate(),!P){v();return}R(P)})}else v()},m=({root:E})=>{let I=E.ref.images[E.ref.images.length-1];I.translateY=0,I.scaleX=1,I.scaleY=1,I.opacity=1},p=({root:E})=>{E.ref.overlayShadow.opacity=1,E.ref.overlayError.opacity=0,E.ref.overlaySuccess.opacity=0},f=({root:E})=>{E.ref.overlayShadow.opacity=.25,E.ref.overlayError.opacity=1},g=({root:E})=>{E.ref.overlayShadow.opacity=.25,E.ref.overlaySuccess.opacity=1},b=({root:E})=>{E.ref.images=[],E.ref.imageData=null,E.ref.imageViewBin=[],E.ref.overlayShadow=E.appendChildView(E.createChildView(t,{opacity:0,status:"idle"})),E.ref.overlaySuccess=E.appendChildView(E.createChildView(t,{opacity:0,status:"success"})),E.ref.overlayError=E.appendChildView(E.createChildView(t,{opacity:0,status:"failure"}))};return e.utils.createView({name:"image-preview-wrapper",create:b,styles:["height"],apis:["height"],destroy:({root:E})=>{E.ref.images.forEach(I=>{I.image.width=1,I.image.height=1})},didWriteView:({root:E})=>{E.ref.images.forEach(I=>{I.dirty=!1})},write:e.utils.createRoute({DID_IMAGE_PREVIEW_DRAW:m,DID_IMAGE_PREVIEW_CONTAINER_CREATE:d,DID_FINISH_CALCULATE_PREVIEWSIZE:h,DID_UPDATE_ITEM_METADATA:u,DID_THROW_ITEM_LOAD_ERROR:f,DID_THROW_ITEM_PROCESSING_ERROR:f,DID_THROW_ITEM_INVALID:f,DID_COMPLETE_ITEM_PROCESSING:g,DID_START_ITEM_PROCESSING:p,DID_REVERT_ITEM_PROCESSING:p},({root:E})=>{let I=E.ref.imageViewBin.filter(_=>_.opacity===0);E.ref.imageViewBin=E.ref.imageViewBin.filter(_=>_.opacity>0),I.forEach(_=>r(E,_)),I.length=0})})},Kr=e=>{let{addFilter:t,utils:i}=e,{Type:a,createRoute:n,isFile:r}=i,o=Uh(e);return t("CREATE_VIEW",l=>{let{is:s,view:u,query:c}=l;if(!s("file")||!c("GET_ALLOW_IMAGE_PREVIEW"))return;let d=({root:g,props:b})=>{let{id:E}=b,I=c("GET_ITEM",E);if(!I||!r(I.file)||I.archived)return;let _=I.file;if(!qu(_)||!c("GET_IMAGE_PREVIEW_FILTER_ITEM")(I))return;let y="createImageBitmap"in(window||{}),T=c("GET_IMAGE_PREVIEW_MAX_FILE_SIZE");if(!y&&T&&_.size>T)return;g.ref.imagePreview=u.appendChildView(u.createChildView(o,{id:E}));let v=g.query("GET_IMAGE_PREVIEW_HEIGHT");v&&g.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:I.id,height:v});let R=!y&&_.size>c("GET_IMAGE_PREVIEW_MAX_INSTANT_PREVIEW_FILE_SIZE");g.dispatch("DID_IMAGE_PREVIEW_CONTAINER_CREATE",{id:E},R)},h=(g,b)=>{if(!g.ref.imagePreview)return;let{id:E}=b,I=g.query("GET_ITEM",{id:E});if(!I)return;let _=g.query("GET_PANEL_ASPECT_RATIO"),y=g.query("GET_ITEM_PANEL_ASPECT_RATIO"),T=g.query("GET_IMAGE_PREVIEW_HEIGHT");if(_||y||T)return;let{imageWidth:v,imageHeight:R}=g.ref;if(!v||!R)return;let S=g.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"),P=g.query("GET_IMAGE_PREVIEW_MAX_HEIGHT"),O=(I.getMetadata("exif")||{}).orientation||-1;if(O>=5&&O<=8&&([v,R]=[R,v]),!Zr(I.file)||g.query("GET_IMAGE_PREVIEW_UPSCALE")){let C=2048/v;v*=C,R*=C}let z=R/v,A=(I.getMetadata("crop")||{}).aspectRatio||z,F=Math.max(S,Math.min(R,P)),w=g.rect.element.width,L=Math.min(w*A,F);g.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:I.id,height:L})},m=({root:g})=>{g.ref.shouldRescale=!0},p=({root:g,action:b})=>{b.change.key==="crop"&&(g.ref.shouldRescale=!0)},f=({root:g,action:b})=>{g.ref.imageWidth=b.width,g.ref.imageHeight=b.height,g.ref.shouldRescale=!0,g.ref.shouldDrawPreview=!0,g.dispatch("KICK")};u.registerWriter(n({DID_RESIZE_ROOT:m,DID_STOP_RESIZE:m,DID_LOAD_ITEM:d,DID_IMAGE_PREVIEW_CALCULATE_SIZE:f,DID_UPDATE_ITEM_METADATA:p},({root:g,props:b})=>{g.ref.imagePreview&&(g.rect.element.hidden||(g.ref.shouldRescale&&(h(g,b),g.ref.shouldRescale=!1),g.ref.shouldDrawPreview&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{g.dispatch("DID_FINISH_CALCULATE_PREVIEWSIZE",{id:b.id})})}),g.ref.shouldDrawPreview=!1)))}))}),{options:{allowImagePreview:[!0,a.BOOLEAN],imagePreviewFilterItem:[()=>!0,a.FUNCTION],imagePreviewHeight:[null,a.INT],imagePreviewMinHeight:[44,a.INT],imagePreviewMaxHeight:[256,a.INT],imagePreviewMaxFileSize:[null,a.INT],imagePreviewZoomFactor:[2,a.INT],imagePreviewUpscale:[!1,a.BOOLEAN],imagePreviewMaxInstantPreviewFileSize:[1e6,a.INT],imagePreviewTransparencyIndicator:[null,a.STRING],imagePreviewCalculateAverageImageColor:[!1,a.BOOLEAN],imagePreviewMarkupShow:[!0,a.BOOLEAN],imagePreviewMarkupFilter:[()=>!0,a.FUNCTION]}}},kh=typeof window<"u"&&typeof window.document<"u";kh&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Kr}));var Jr=Kr;var Hh=e=>/^image/.test(e.type),Wh=(e,t)=>{let i=new Image;i.onload=()=>{let a=i.naturalWidth,n=i.naturalHeight;i=null,t({width:a,height:n})},i.onerror=()=>t(null),i.src=e},eo=({addFilter:e,utils:t})=>{let{Type:i}=t;return e("DID_LOAD_ITEM",(a,{query:n})=>new Promise((r,o)=>{let l=a.file;if(!Hh(l)||!n("GET_ALLOW_IMAGE_RESIZE"))return r(a);let s=n("GET_IMAGE_RESIZE_MODE"),u=n("GET_IMAGE_RESIZE_TARGET_WIDTH"),c=n("GET_IMAGE_RESIZE_TARGET_HEIGHT"),d=n("GET_IMAGE_RESIZE_UPSCALE");if(u===null&&c===null)return r(a);let h=u===null?c:u,m=c===null?h:c,p=URL.createObjectURL(l);Wh(p,f=>{if(URL.revokeObjectURL(p),!f)return r(a);let{width:g,height:b}=f,E=(a.getMetadata("exif")||{}).orientation||-1;if(E>=5&&E<=8&&([g,b]=[b,g]),g===h&&b===m)return r(a);if(!d){if(s==="cover"){if(g<=h||b<=m)return r(a)}else if(g<=h&&b<=h)return r(a)}a.setMetadata("resize",{mode:s,upscale:d,size:{width:h,height:m}}),r(a)})})),{options:{allowImageResize:[!0,i.BOOLEAN],imageResizeMode:["cover",i.STRING],imageResizeUpscale:[!0,i.BOOLEAN],imageResizeTargetWidth:[null,i.INT],imageResizeTargetHeight:[null,i.INT]}}},Yh=typeof window<"u"&&typeof window.document<"u";Yh&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:eo}));var to=eo;var $h=e=>/^image/.test(e.type),qh=e=>e.substr(0,e.lastIndexOf("."))||e,jh={jpeg:"jpg","svg+xml":"svg"},Xh=(e,t)=>{let i=qh(e),a=t.split("/")[1],n=jh[a]||a;return`${i}.${n}`},Qh=e=>/jpeg|png|svg\+xml/.test(e)?e:"image/jpeg",Zh=e=>/^image/.test(e.type),Kh={1:()=>[1,0,0,1,0,0],2:e=>[-1,0,0,1,e,0],3:(e,t)=>[-1,0,0,-1,e,t],4:(e,t)=>[1,0,0,-1,0,t],5:()=>[0,1,1,0,0,0],6:(e,t)=>[0,1,-1,0,t,0],7:(e,t)=>[0,-1,-1,0,t,e],8:e=>[0,-1,1,0,0,e]},Jh=(e,t,i)=>(i===-1&&(i=1),Kh[i](e,t)),kt=(e,t)=>({x:e,y:t}),em=(e,t)=>e.x*t.x+e.y*t.y,io=(e,t)=>kt(e.x-t.x,e.y-t.y),tm=(e,t)=>em(io(e,t),io(e,t)),ao=(e,t)=>Math.sqrt(tm(e,t)),no=(e,t)=>{let i=e,a=1.5707963267948966,n=t,r=1.5707963267948966-t,o=Math.sin(a),l=Math.sin(n),s=Math.sin(r),u=Math.cos(r),c=i/o,d=c*l,h=c*s;return kt(u*d,u*h)},im=(e,t)=>{let i=e.width,a=e.height,n=no(i,t),r=no(a,t),o=kt(e.x+Math.abs(n.x),e.y-Math.abs(n.y)),l=kt(e.x+e.width+Math.abs(r.y),e.y+Math.abs(r.x)),s=kt(e.x-Math.abs(r.y),e.y+e.height-Math.abs(r.x));return{width:ao(o,l),height:ao(o,s)}},lo=(e,t,i=0,a={x:.5,y:.5})=>{let n=a.x>.5?1-a.x:a.x,r=a.y>.5?1-a.y:a.y,o=n*2*e.width,l=r*2*e.height,s=im(t,i);return Math.max(s.width/o,s.height/l)},so=(e,t)=>{let i=e.width,a=i*t;a>e.height&&(a=e.height,i=a/t);let n=(e.width-i)*.5,r=(e.height-a)*.5;return{x:n,y:r,width:i,height:a}},ro=(e,t,i=1)=>{let a=e.height/e.width,n=1,r=t,o=1,l=a;l>r&&(l=r,o=l/a);let s=Math.max(n/o,r/l),u=e.width/(i*s*o),c=u*t;return{width:u,height:c}},co=e=>{e.width=1,e.height=1,e.getContext("2d").clearRect(0,0,1,1)},oo=e=>e&&(e.horizontal||e.vertical),am=(e,t,i)=>{if(t<=1&&!oo(i))return e.width=e.naturalWidth,e.height=e.naturalHeight,e;let a=document.createElement("canvas"),n=e.naturalWidth,r=e.naturalHeight,o=t>=5&&t<=8;o?(a.width=r,a.height=n):(a.width=n,a.height=r);let l=a.getContext("2d");if(t&&l.transform.apply(l,Jh(n,r,t)),oo(i)){let s=[1,0,0,1,0,0];(!o&&i.horizontal||o&i.vertical)&&(s[0]=-1,s[4]=n),(!o&&i.vertical||o&&i.horizontal)&&(s[3]=-1,s[5]=r),l.transform(...s)}return l.drawImage(e,0,0,n,r),a},nm=(e,t,i={},a={})=>{let{canvasMemoryLimit:n,background:r=null}=a,o=i.zoom||1,l=am(e,t,i.flip),s={width:l.width,height:l.height},u=i.aspectRatio||s.height/s.width,c=ro(s,u,o);if(n){let I=c.width*c.height;if(I>n){let _=Math.sqrt(n)/Math.sqrt(I);s.width=Math.floor(s.width*_),s.height=Math.floor(s.height*_),c=ro(s,u,o)}}let d=document.createElement("canvas"),h={x:c.width*.5,y:c.height*.5},m={x:0,y:0,width:c.width,height:c.height,center:h},p=typeof i.scaleToFit>"u"||i.scaleToFit,f=o*lo(s,so(m,u),i.rotation,p?i.center:{x:.5,y:.5});d.width=Math.round(c.width/f),d.height=Math.round(c.height/f),h.x/=f,h.y/=f;let g={x:h.x-s.width*(i.center?i.center.x:.5),y:h.y-s.height*(i.center?i.center.y:.5)},b=d.getContext("2d");r&&(b.fillStyle=r,b.fillRect(0,0,d.width,d.height)),b.translate(h.x,h.y),b.rotate(i.rotation||0),b.drawImage(l,g.x-h.x,g.y-h.y,s.width,s.height);let E=b.getImageData(0,0,d.width,d.height);return co(d),E},rm=(()=>typeof window<"u"&&typeof window.document<"u")();rm&&(HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,i){var a=this.toDataURL(t,i).split(",")[1];setTimeout(function(){for(var n=atob(a),r=n.length,o=new Uint8Array(r),l=0;lnew Promise(a=>{let n=i?i(e):e;Promise.resolve(n).then(r=>{r.toBlob(a,t.type,t.quality)})}),Ii=(e,t)=>Ht(e.x*t,e.y*t),bi=(e,t)=>Ht(e.x+t.x,e.y+t.y),uo=e=>{let t=Math.sqrt(e.x*e.x+e.y*e.y);return t===0?{x:0,y:0}:Ht(e.x/t,e.y/t)},Ye=(e,t,i)=>{let a=Math.cos(t),n=Math.sin(t),r=Ht(e.x-i.x,e.y-i.y);return Ht(i.x+a*r.x-n*r.y,i.y+n*r.x+a*r.y)},Ht=(e=0,t=0)=>({x:e,y:t}),he=(e,t,i=1,a)=>{if(typeof e=="string")return parseFloat(e)*i;if(typeof e=="number")return e*(a?t[a]:Math.min(t.width,t.height))},ot=(e,t,i)=>{let a=e.borderStyle||e.lineStyle||"solid",n=e.backgroundColor||e.fontColor||"transparent",r=e.borderColor||e.lineColor||"transparent",o=he(e.borderWidth||e.lineWidth,t,i),l=e.lineCap||"round",s=e.lineJoin||"round",u=typeof a=="string"?"":a.map(d=>he(d,t,i)).join(","),c=e.opacity||1;return{"stroke-linecap":l,"stroke-linejoin":s,"stroke-width":o||0,"stroke-dasharray":u,stroke:r,fill:n,opacity:c}},Ae=e=>e!=null,Rt=(e,t,i=1)=>{let a=he(e.x,t,i,"width")||he(e.left,t,i,"width"),n=he(e.y,t,i,"height")||he(e.top,t,i,"height"),r=he(e.width,t,i,"width"),o=he(e.height,t,i,"height"),l=he(e.right,t,i,"width"),s=he(e.bottom,t,i,"height");return Ae(n)||(Ae(o)&&Ae(s)?n=t.height-o-s:n=s),Ae(a)||(Ae(r)&&Ae(l)?a=t.width-r-l:a=l),Ae(r)||(Ae(a)&&Ae(l)?r=t.width-a-l:r=0),Ae(o)||(Ae(n)&&Ae(s)?o=t.height-n-s:o=0),{x:a||0,y:n||0,width:r||0,height:o||0}},lm=e=>e.map((t,i)=>`${i===0?"M":"L"} ${t.x} ${t.y}`).join(" "),ze=(e,t)=>Object.keys(t).forEach(i=>e.setAttribute(i,t[i])),sm="http://www.w3.org/2000/svg",_t=(e,t)=>{let i=document.createElementNS(sm,e);return t&&ze(i,t),i},cm=e=>ze(e,{...e.rect,...e.styles}),dm=e=>{let t=e.rect.x+e.rect.width*.5,i=e.rect.y+e.rect.height*.5,a=e.rect.width*.5,n=e.rect.height*.5;return ze(e,{cx:t,cy:i,rx:a,ry:n,...e.styles})},um={contain:"xMidYMid meet",cover:"xMidYMid slice"},hm=(e,t)=>{ze(e,{...e.rect,...e.styles,preserveAspectRatio:um[t.fit]||"none"})},mm={left:"start",center:"middle",right:"end"},pm=(e,t,i,a)=>{let n=he(t.fontSize,i,a),r=t.fontFamily||"sans-serif",o=t.fontWeight||"normal",l=mm[t.textAlign]||"start";ze(e,{...e.rect,...e.styles,"stroke-width":0,"font-weight":o,"font-size":n,"font-family":r,"text-anchor":l}),e.text!==t.text&&(e.text=t.text,e.textContent=t.text.length?t.text:" ")},fm=(e,t,i,a)=>{ze(e,{...e.rect,...e.styles,fill:"none"});let n=e.childNodes[0],r=e.childNodes[1],o=e.childNodes[2],l=e.rect,s={x:e.rect.x+e.rect.width,y:e.rect.y+e.rect.height};if(ze(n,{x1:l.x,y1:l.y,x2:s.x,y2:s.y}),!t.lineDecoration)return;r.style.display="none",o.style.display="none";let u=uo({x:s.x-l.x,y:s.y-l.y}),c=he(.05,i,a);if(t.lineDecoration.indexOf("arrow-begin")!==-1){let d=Ii(u,c),h=bi(l,d),m=Ye(l,2,h),p=Ye(l,-2,h);ze(r,{style:"display:block;",d:`M${m.x},${m.y} L${l.x},${l.y} L${p.x},${p.y}`})}if(t.lineDecoration.indexOf("arrow-end")!==-1){let d=Ii(u,-c),h=bi(s,d),m=Ye(s,2,h),p=Ye(s,-2,h);ze(o,{style:"display:block;",d:`M${m.x},${m.y} L${s.x},${s.y} L${p.x},${p.y}`})}},gm=(e,t,i,a)=>{ze(e,{...e.styles,fill:"none",d:lm(t.points.map(n=>({x:he(n.x,i,a,"width"),y:he(n.y,i,a,"height")})))})},Ti=e=>t=>_t(e,{id:t.id}),Em=e=>{let t=_t("image",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0"});return t.onload=()=>{t.setAttribute("opacity",e.opacity||1)},t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e.src),t},Tm=e=>{let t=_t("g",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round"}),i=_t("line");t.appendChild(i);let a=_t("path");t.appendChild(a);let n=_t("path");return t.appendChild(n),t},Im={image:Em,rect:Ti("rect"),ellipse:Ti("ellipse"),text:Ti("text"),path:Ti("path"),line:Tm},bm={rect:cm,ellipse:dm,image:hm,text:pm,path:gm,line:fm},_m=(e,t)=>Im[e](t),Rm=(e,t,i,a,n)=>{t!=="path"&&(e.rect=Rt(i,a,n)),e.styles=ot(i,a,n),bm[t](e,i,a,n)},ho=(e,t)=>e[1].zIndex>t[1].zIndex?1:e[1].zIndexnew Promise(n=>{let{background:r=null}=a,o=new FileReader;o.onloadend=()=>{let l=o.result,s=document.createElement("div");s.style.cssText="position:absolute;pointer-events:none;width:0;height:0;visibility:hidden;",s.innerHTML=l;let u=s.querySelector("svg");document.body.appendChild(s);let c=u.getBBox();s.parentNode.removeChild(s);let d=s.querySelector("title"),h=u.getAttribute("viewBox")||"",m=u.getAttribute("width")||"",p=u.getAttribute("height")||"",f=parseFloat(m)||null,g=parseFloat(p)||null,b=(m.match(/[a-z]+/)||[])[0]||"",E=(p.match(/[a-z]+/)||[])[0]||"",I=h.split(" ").map(parseFloat),_=I.length?{x:I[0],y:I[1],width:I[2],height:I[3]}:c,y=f??_.width,T=g??_.height;u.style.overflow="visible",u.setAttribute("width",y),u.setAttribute("height",T);let v="";if(i&&i.length){let X={width:y,height:T};v=i.sort(ho).reduce((ue,U)=>{let W=_m(U[0],U[1]);return Rm(W,U[0],U[1],X),W.removeAttribute("id"),W.getAttribute("opacity")===1&&W.removeAttribute("opacity"),ue+` -`+W.outerHTML+` -`},""),v=` +`,oo=0,su=e=>e.utils.createView({name:"image-preview-overlay",tag:"div",ignoreRect:!0,create:({root:t,props:i})=>{let a=ru;if(document.querySelector("base")){let n=new URL(window.location.href.replace(window.location.hash,"")).href;a=a.replace(/url\(\#/g,"url("+n+"#")}oo++,t.element.classList.add(`filepond--image-preview-overlay-${i.status}`),t.element.innerHTML=a.replace(/__UID__/g,oo)},mixins:{styles:["opacity"],animations:{opacity:{type:"spring",mass:25}}}}),cu=function(){self.onmessage=e=>{createImageBitmap(e.data.message.file).then(t=>{self.postMessage({id:e.data.id,message:t},[t])})}},du=function(){self.onmessage=e=>{let t=e.data.message.imageData,i=e.data.message.colorMatrix,a=t.data,n=a.length,l=i[0],o=i[1],r=i[2],s=i[3],p=i[4],c=i[5],d=i[6],m=i[7],u=i[8],g=i[9],f=i[10],h=i[11],I=i[12],b=i[13],E=i[14],v=i[15],y=i[16],T=i[17],_=i[18],x=i[19],R=0,P=0,z=0,A=0,k=0;for(;R{let i=new Image;i.onload=()=>{let a=i.naturalWidth,n=i.naturalHeight;i=null,t(a,n)},i.src=e},mu={1:()=>[1,0,0,1,0,0],2:e=>[-1,0,0,1,e,0],3:(e,t)=>[-1,0,0,-1,e,t],4:(e,t)=>[1,0,0,-1,0,t],5:()=>[0,1,1,0,0,0],6:(e,t)=>[0,1,-1,0,t,0],7:(e,t)=>[0,-1,-1,0,t,e],8:e=>[0,-1,1,0,0,e]},uu=(e,t,i,a)=>{a!==-1&&e.transform.apply(e,mu[a](t,i))},gu=(e,t,i,a)=>{t=Math.round(t),i=Math.round(i);let n=document.createElement("canvas");n.width=t,n.height=i;let l=n.getContext("2d");return a>=5&&a<=8&&([t,i]=[i,t]),uu(l,t,i,a),l.drawImage(e,0,0,t,i),n},co=e=>/^image/.test(e.type)&&!/svg/.test(e.type),fu=10,hu=10,bu=e=>{let t=Math.min(fu/e.width,hu/e.height),i=document.createElement("canvas"),a=i.getContext("2d"),n=i.width=Math.ceil(e.width*t),l=i.height=Math.ceil(e.height*t);a.drawImage(e,0,0,n,l);let o=null;try{o=a.getImageData(0,0,n,l).data}catch{return null}let r=o.length,s=0,p=0,c=0,d=0;for(;dMath.floor(Math.sqrt(e/(t/4))),Eu=(e,t)=>(t=t||document.createElement("canvas"),t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0),t),Tu=e=>{let t;try{t=new ImageData(e.width,e.height)}catch{t=document.createElement("canvas").getContext("2d").createImageData(e.width,e.height)}return t.data.set(new Uint8ClampedArray(e.data)),t},Iu=e=>new Promise((t,i)=>{let a=new Image;a.crossOrigin="Anonymous",a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),vu=e=>{let t=su(e),i=ou(e),{createWorker:a}=e.utils,n=(b,E,v)=>new Promise(y=>{b.ref.imageData||(b.ref.imageData=v.getContext("2d").getImageData(0,0,v.width,v.height));let T=Tu(b.ref.imageData);if(!E||E.length!==20)return v.getContext("2d").putImageData(T,0,0),y();let _=a(du);_.post({imageData:T,colorMatrix:E},x=>{v.getContext("2d").putImageData(x,0,0),_.terminate(),y()},[T.data.buffer])}),l=(b,E)=>{b.removeChildView(E),E.image.width=1,E.image.height=1,E._destroy()},o=({root:b})=>{let E=b.ref.images.shift();return E.opacity=0,E.translateY=-15,b.ref.imageViewBin.push(E),E},r=({root:b,props:E,image:v})=>{let y=E.id,T=b.query("GET_ITEM",{id:y});if(!T)return;let _=T.getMetadata("crop")||{center:{x:.5,y:.5},flip:{horizontal:!1,vertical:!1},zoom:1,rotation:0,aspectRatio:null},x=b.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR"),R,P,z=!1;b.query("GET_IMAGE_PREVIEW_MARKUP_SHOW")&&(R=T.getMetadata("markup")||[],P=T.getMetadata("resize"),z=!0);let A=b.appendChildView(b.createChildView(i,{id:y,image:v,crop:_,resize:P,markup:R,dirty:z,background:x,opacity:0,scaleX:1.15,scaleY:1.15,translateY:15}),b.childViews.length);b.ref.images.push(A),A.opacity=1,A.scaleX=1,A.scaleY=1,A.translateY=0,setTimeout(()=>{b.dispatch("DID_IMAGE_PREVIEW_SHOW",{id:y})},250)},s=({root:b,props:E})=>{let v=b.query("GET_ITEM",{id:E.id});if(!v)return;let y=b.ref.images[b.ref.images.length-1];y.crop=v.getMetadata("crop"),y.background=b.query("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR"),b.query("GET_IMAGE_PREVIEW_MARKUP_SHOW")&&(y.dirty=!0,y.resize=v.getMetadata("resize"),y.markup=v.getMetadata("markup"))},p=({root:b,props:E,action:v})=>{if(!/crop|filter|markup|resize/.test(v.change.key)||!b.ref.images.length)return;let y=b.query("GET_ITEM",{id:E.id});if(y){if(/filter/.test(v.change.key)){let T=b.ref.images[b.ref.images.length-1];n(b,v.change.value,T.image);return}if(/crop|markup|resize/.test(v.change.key)){let T=y.getMetadata("crop"),_=b.ref.images[b.ref.images.length-1];if(T&&T.aspectRatio&&_.crop&&_.crop.aspectRatio&&Math.abs(T.aspectRatio-_.crop.aspectRatio)>1e-5){let x=o({root:b});r({root:b,props:E,image:Eu(x.image)})}else s({root:b,props:E})}}},c=b=>{let v=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./),y=v?parseInt(v[1]):null;return y!==null&&y<=58?!1:"createImageBitmap"in window&&co(b)},d=({root:b,props:E})=>{let{id:v}=E,y=b.query("GET_ITEM",v);if(!y)return;let T=URL.createObjectURL(y.file);pu(T,(_,x)=>{b.dispatch("DID_IMAGE_PREVIEW_CALCULATE_SIZE",{id:v,width:_,height:x})})},m=({root:b,props:E})=>{let{id:v}=E,y=b.query("GET_ITEM",v);if(!y)return;let T=URL.createObjectURL(y.file),_=()=>{Iu(T).then(x)},x=R=>{URL.revokeObjectURL(T);let z=(y.getMetadata("exif")||{}).orientation||-1,{width:A,height:k}=R;if(!A||!k)return;z>=5&&z<=8&&([A,k]=[k,A]);let w=Math.max(1,window.devicePixelRatio*.75),S=b.query("GET_IMAGE_PREVIEW_ZOOM_FACTOR")*w,L=k/A,C=b.rect.element.width,D=b.rect.element.height,U=C,B=U*L;L>1?(U=Math.min(A,C*S),B=U*L):(B=Math.min(k,D*S),U=B/L);let $=gu(R,U,B,z),X=()=>{let ce=b.query("GET_IMAGE_PREVIEW_CALCULATE_AVERAGE_IMAGE_COLOR")?bu(data):null;y.setMetadata("color",ce,!0),"close"in R&&R.close(),b.ref.overlayShadow.opacity=1,r({root:b,props:E,image:$})},K=y.getMetadata("filter");K?n(b,K,$).then(X):X()};if(c(y.file)){let R=a(cu);R.post({file:y.file},P=>{if(R.terminate(),!P){_();return}x(P)})}else _()},u=({root:b})=>{let E=b.ref.images[b.ref.images.length-1];E.translateY=0,E.scaleX=1,E.scaleY=1,E.opacity=1},g=({root:b})=>{b.ref.overlayShadow.opacity=1,b.ref.overlayError.opacity=0,b.ref.overlaySuccess.opacity=0},f=({root:b})=>{b.ref.overlayShadow.opacity=.25,b.ref.overlayError.opacity=1},h=({root:b})=>{b.ref.overlayShadow.opacity=.25,b.ref.overlaySuccess.opacity=1},I=({root:b})=>{b.ref.images=[],b.ref.imageData=null,b.ref.imageViewBin=[],b.ref.overlayShadow=b.appendChildView(b.createChildView(t,{opacity:0,status:"idle"})),b.ref.overlaySuccess=b.appendChildView(b.createChildView(t,{opacity:0,status:"success"})),b.ref.overlayError=b.appendChildView(b.createChildView(t,{opacity:0,status:"failure"}))};return e.utils.createView({name:"image-preview-wrapper",create:I,styles:["height"],apis:["height"],destroy:({root:b})=>{b.ref.images.forEach(E=>{E.image.width=1,E.image.height=1})},didWriteView:({root:b})=>{b.ref.images.forEach(E=>{E.dirty=!1})},write:e.utils.createRoute({DID_IMAGE_PREVIEW_DRAW:u,DID_IMAGE_PREVIEW_CONTAINER_CREATE:d,DID_FINISH_CALCULATE_PREVIEWSIZE:m,DID_UPDATE_ITEM_METADATA:p,DID_THROW_ITEM_LOAD_ERROR:f,DID_THROW_ITEM_PROCESSING_ERROR:f,DID_THROW_ITEM_INVALID:f,DID_COMPLETE_ITEM_PROCESSING:h,DID_START_ITEM_PROCESSING:g,DID_REVERT_ITEM_PROCESSING:g},({root:b})=>{let E=b.ref.imageViewBin.filter(v=>v.opacity===0);b.ref.imageViewBin=b.ref.imageViewBin.filter(v=>v.opacity>0),E.forEach(v=>l(b,v)),E.length=0})})},po=e=>{let{addFilter:t,utils:i}=e,{Type:a,createRoute:n,isFile:l}=i,o=vu(e);return t("CREATE_VIEW",r=>{let{is:s,view:p,query:c}=r;if(!s("file")||!c("GET_ALLOW_IMAGE_PREVIEW"))return;let d=({root:h,props:I})=>{let{id:b}=I,E=c("GET_ITEM",b);if(!E||!l(E.file)||E.archived)return;let v=E.file;if(!wm(v)||!c("GET_IMAGE_PREVIEW_FILTER_ITEM")(E))return;let y="createImageBitmap"in(window||{}),T=c("GET_IMAGE_PREVIEW_MAX_FILE_SIZE");if(!y&&T&&v.size>T)return;h.ref.imagePreview=p.appendChildView(p.createChildView(o,{id:b}));let _=h.query("GET_IMAGE_PREVIEW_HEIGHT");_&&h.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:E.id,height:_});let x=!y&&v.size>c("GET_IMAGE_PREVIEW_MAX_INSTANT_PREVIEW_FILE_SIZE");h.dispatch("DID_IMAGE_PREVIEW_CONTAINER_CREATE",{id:b},x)},m=(h,I)=>{if(!h.ref.imagePreview)return;let{id:b}=I,E=h.query("GET_ITEM",{id:b});if(!E)return;let v=h.query("GET_PANEL_ASPECT_RATIO"),y=h.query("GET_ITEM_PANEL_ASPECT_RATIO"),T=h.query("GET_IMAGE_PREVIEW_HEIGHT");if(v||y||T)return;let{imageWidth:_,imageHeight:x}=h.ref;if(!_||!x)return;let R=h.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"),P=h.query("GET_IMAGE_PREVIEW_MAX_HEIGHT"),A=(E.getMetadata("exif")||{}).orientation||-1;if(A>=5&&A<=8&&([_,x]=[x,_]),!co(E.file)||h.query("GET_IMAGE_PREVIEW_UPSCALE")){let C=2048/_;_*=C,x*=C}let k=x/_,w=(E.getMetadata("crop")||{}).aspectRatio||k,O=Math.max(R,Math.min(x,P)),S=h.rect.element.width,L=Math.min(S*w,O);h.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:E.id,height:L})},u=({root:h})=>{h.ref.shouldRescale=!0},g=({root:h,action:I})=>{I.change.key==="crop"&&(h.ref.shouldRescale=!0)},f=({root:h,action:I})=>{h.ref.imageWidth=I.width,h.ref.imageHeight=I.height,h.ref.shouldRescale=!0,h.ref.shouldDrawPreview=!0,h.dispatch("KICK")};p.registerWriter(n({DID_RESIZE_ROOT:u,DID_STOP_RESIZE:u,DID_LOAD_ITEM:d,DID_IMAGE_PREVIEW_CALCULATE_SIZE:f,DID_UPDATE_ITEM_METADATA:g},({root:h,props:I})=>{h.ref.imagePreview&&(h.rect.element.hidden||(h.ref.shouldRescale&&(m(h,I),h.ref.shouldRescale=!1),h.ref.shouldDrawPreview&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{h.dispatch("DID_FINISH_CALCULATE_PREVIEWSIZE",{id:I.id})})}),h.ref.shouldDrawPreview=!1)))}))}),{options:{allowImagePreview:[!0,a.BOOLEAN],imagePreviewFilterItem:[()=>!0,a.FUNCTION],imagePreviewHeight:[null,a.INT],imagePreviewMinHeight:[44,a.INT],imagePreviewMaxHeight:[256,a.INT],imagePreviewMaxFileSize:[null,a.INT],imagePreviewZoomFactor:[2,a.INT],imagePreviewUpscale:[!1,a.BOOLEAN],imagePreviewMaxInstantPreviewFileSize:[1e6,a.INT],imagePreviewTransparencyIndicator:[null,a.STRING],imagePreviewCalculateAverageImageColor:[!1,a.BOOLEAN],imagePreviewMarkupShow:[!0,a.BOOLEAN],imagePreviewMarkupFilter:[()=>!0,a.FUNCTION]}}},xu=typeof window<"u"&&typeof window.document<"u";xu&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:po}));var mo=po;var yu=e=>/^image/.test(e.type),Ru=(e,t)=>{let i=new Image;i.onload=()=>{let a=i.naturalWidth,n=i.naturalHeight;i=null,t({width:a,height:n})},i.onerror=()=>t(null),i.src=e},uo=({addFilter:e,utils:t})=>{let{Type:i}=t;return e("DID_LOAD_ITEM",(a,{query:n})=>new Promise((l,o)=>{let r=a.file;if(!yu(r)||!n("GET_ALLOW_IMAGE_RESIZE"))return l(a);let s=n("GET_IMAGE_RESIZE_MODE"),p=n("GET_IMAGE_RESIZE_TARGET_WIDTH"),c=n("GET_IMAGE_RESIZE_TARGET_HEIGHT"),d=n("GET_IMAGE_RESIZE_UPSCALE");if(p===null&&c===null)return l(a);let m=p===null?c:p,u=c===null?m:c,g=URL.createObjectURL(r);Ru(g,f=>{if(URL.revokeObjectURL(g),!f)return l(a);let{width:h,height:I}=f,b=(a.getMetadata("exif")||{}).orientation||-1;if(b>=5&&b<=8&&([h,I]=[I,h]),h===m&&I===u)return l(a);if(!d){if(s==="cover"){if(h<=m||I<=u)return l(a)}else if(h<=m&&I<=m)return l(a)}a.setMetadata("resize",{mode:s,upscale:d,size:{width:m,height:u}}),l(a)})})),{options:{allowImageResize:[!0,i.BOOLEAN],imageResizeMode:["cover",i.STRING],imageResizeUpscale:[!0,i.BOOLEAN],imageResizeTargetWidth:[null,i.INT],imageResizeTargetHeight:[null,i.INT]}}},Su=typeof window<"u"&&typeof window.document<"u";Su&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:uo}));var go=uo;var _u=e=>/^image/.test(e.type),wu=e=>e.substr(0,e.lastIndexOf("."))||e,Lu={jpeg:"jpg","svg+xml":"svg"},Mu=(e,t)=>{let i=wu(e),a=t.split("/")[1],n=Lu[a]||a;return`${i}.${n}`},Au=e=>/jpeg|png|svg\+xml/.test(e)?e:"image/jpeg",zu=e=>/^image/.test(e.type),Pu={1:()=>[1,0,0,1,0,0],2:e=>[-1,0,0,1,e,0],3:(e,t)=>[-1,0,0,-1,e,t],4:(e,t)=>[1,0,0,-1,0,t],5:()=>[0,1,1,0,0,0],6:(e,t)=>[0,1,-1,0,t,0],7:(e,t)=>[0,-1,-1,0,t,e],8:e=>[0,-1,1,0,0,e]},Fu=(e,t,i)=>(i===-1&&(i=1),Pu[i](e,t)),qt=(e,t)=>({x:e,y:t}),Ou=(e,t)=>e.x*t.x+e.y*t.y,fo=(e,t)=>qt(e.x-t.x,e.y-t.y),Du=(e,t)=>Ou(fo(e,t),fo(e,t)),ho=(e,t)=>Math.sqrt(Du(e,t)),bo=(e,t)=>{let i=e,a=1.5707963267948966,n=t,l=1.5707963267948966-t,o=Math.sin(a),r=Math.sin(n),s=Math.sin(l),p=Math.cos(l),c=i/o,d=c*r,m=c*s;return qt(p*d,p*m)},Cu=(e,t)=>{let i=e.width,a=e.height,n=bo(i,t),l=bo(a,t),o=qt(e.x+Math.abs(n.x),e.y-Math.abs(n.y)),r=qt(e.x+e.width+Math.abs(l.y),e.y+Math.abs(l.x)),s=qt(e.x-Math.abs(l.y),e.y+e.height-Math.abs(l.x));return{width:ho(o,r),height:ho(o,s)}},Io=(e,t,i=0,a={x:.5,y:.5})=>{let n=a.x>.5?1-a.x:a.x,l=a.y>.5?1-a.y:a.y,o=n*2*e.width,r=l*2*e.height,s=Cu(t,i);return Math.max(s.width/o,s.height/r)},vo=(e,t)=>{let i=e.width,a=i*t;a>e.height&&(a=e.height,i=a/t);let n=(e.width-i)*.5,l=(e.height-a)*.5;return{x:n,y:l,width:i,height:a}},Eo=(e,t,i=1)=>{let a=e.height/e.width,n=1,l=t,o=1,r=a;r>l&&(r=l,o=r/a);let s=Math.max(n/o,l/r),p=e.width/(i*s*o),c=p*t;return{width:p,height:c}},xo=e=>{e.width=1,e.height=1,e.getContext("2d").clearRect(0,0,1,1)},To=e=>e&&(e.horizontal||e.vertical),Bu=(e,t,i)=>{if(t<=1&&!To(i))return e.width=e.naturalWidth,e.height=e.naturalHeight,e;let a=document.createElement("canvas"),n=e.naturalWidth,l=e.naturalHeight,o=t>=5&&t<=8;o?(a.width=l,a.height=n):(a.width=n,a.height=l);let r=a.getContext("2d");if(t&&r.transform.apply(r,Fu(n,l,t)),To(i)){let s=[1,0,0,1,0,0];(!o&&i.horizontal||o&i.vertical)&&(s[0]=-1,s[4]=n),(!o&&i.vertical||o&&i.horizontal)&&(s[3]=-1,s[5]=l),r.transform(...s)}return r.drawImage(e,0,0,n,l),a},ku=(e,t,i={},a={})=>{let{canvasMemoryLimit:n,background:l=null}=a,o=i.zoom||1,r=Bu(e,t,i.flip),s={width:r.width,height:r.height},p=i.aspectRatio||s.height/s.width,c=Eo(s,p,o);if(n){let E=c.width*c.height;if(E>n){let v=Math.sqrt(n)/Math.sqrt(E);s.width=Math.floor(s.width*v),s.height=Math.floor(s.height*v),c=Eo(s,p,o)}}let d=document.createElement("canvas"),m={x:c.width*.5,y:c.height*.5},u={x:0,y:0,width:c.width,height:c.height,center:m},g=typeof i.scaleToFit>"u"||i.scaleToFit,f=o*Io(s,vo(u,p),i.rotation,g?i.center:{x:.5,y:.5});d.width=Math.round(c.width/f),d.height=Math.round(c.height/f),m.x/=f,m.y/=f;let h={x:m.x-s.width*(i.center?i.center.x:.5),y:m.y-s.height*(i.center?i.center.y:.5)},I=d.getContext("2d");l&&(I.fillStyle=l,I.fillRect(0,0,d.width,d.height)),I.translate(m.x,m.y),I.rotate(i.rotation||0),I.drawImage(r,h.x-m.x,h.y-m.y,s.width,s.height);let b=I.getImageData(0,0,d.width,d.height);return xo(d),b},Nu=typeof window<"u"&&typeof window.document<"u";Nu&&(HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,i){var a=this.toDataURL(t,i).split(",")[1];setTimeout(function(){for(var n=atob(a),l=n.length,o=new Uint8Array(l),r=0;rnew Promise(a=>{let n=i?i(e):e;Promise.resolve(n).then(l=>{l.toBlob(a,t.type,t.quality)})}),Ri=(e,t)=>$t(e.x*t,e.y*t),Si=(e,t)=>$t(e.x+t.x,e.y+t.y),yo=e=>{let t=Math.sqrt(e.x*e.x+e.y*e.y);return t===0?{x:0,y:0}:$t(e.x/t,e.y/t)},qe=(e,t,i)=>{let a=Math.cos(t),n=Math.sin(t),l=$t(e.x-i.x,e.y-i.y);return $t(i.x+a*l.x-n*l.y,i.y+n*l.x+a*l.y)},$t=(e=0,t=0)=>({x:e,y:t}),me=(e,t,i=1,a)=>{if(typeof e=="string")return parseFloat(e)*i;if(typeof e=="number")return e*(a?t[a]:Math.min(t.width,t.height))},ct=(e,t,i)=>{let a=e.borderStyle||e.lineStyle||"solid",n=e.backgroundColor||e.fontColor||"transparent",l=e.borderColor||e.lineColor||"transparent",o=me(e.borderWidth||e.lineWidth,t,i),r=e.lineCap||"round",s=e.lineJoin||"round",p=typeof a=="string"?"":a.map(d=>me(d,t,i)).join(","),c=e.opacity||1;return{"stroke-linecap":r,"stroke-linejoin":s,"stroke-width":o||0,"stroke-dasharray":p,stroke:l,fill:n,opacity:c}},Le=e=>e!=null,wt=(e,t,i=1)=>{let a=me(e.x,t,i,"width")||me(e.left,t,i,"width"),n=me(e.y,t,i,"height")||me(e.top,t,i,"height"),l=me(e.width,t,i,"width"),o=me(e.height,t,i,"height"),r=me(e.right,t,i,"width"),s=me(e.bottom,t,i,"height");return Le(n)||(Le(o)&&Le(s)?n=t.height-o-s:n=s),Le(a)||(Le(l)&&Le(r)?a=t.width-l-r:a=r),Le(l)||(Le(a)&&Le(r)?l=t.width-a-r:l=0),Le(o)||(Le(n)&&Le(s)?o=t.height-n-s:o=0),{x:a||0,y:n||0,width:l||0,height:o||0}},Gu=e=>e.map((t,i)=>`${i===0?"M":"L"} ${t.x} ${t.y}`).join(" "),ke=(e,t)=>Object.keys(t).forEach(i=>e.setAttribute(i,t[i])),Uu="http://www.w3.org/2000/svg",_t=(e,t)=>{let i=document.createElementNS(Uu,e);return t&&ke(i,t),i},Wu=e=>ke(e,{...e.rect,...e.styles}),Hu=e=>{let t=e.rect.x+e.rect.width*.5,i=e.rect.y+e.rect.height*.5,a=e.rect.width*.5,n=e.rect.height*.5;return ke(e,{cx:t,cy:i,rx:a,ry:n,...e.styles})},ju={contain:"xMidYMid meet",cover:"xMidYMid slice"},Yu=(e,t)=>{ke(e,{...e.rect,...e.styles,preserveAspectRatio:ju[t.fit]||"none"})},qu={left:"start",center:"middle",right:"end"},$u=(e,t,i,a)=>{let n=me(t.fontSize,i,a),l=t.fontFamily||"sans-serif",o=t.fontWeight||"normal",r=qu[t.textAlign]||"start";ke(e,{...e.rect,...e.styles,"stroke-width":0,"font-weight":o,"font-size":n,"font-family":l,"text-anchor":r}),e.text!==t.text&&(e.text=t.text,e.textContent=t.text.length?t.text:" ")},Xu=(e,t,i,a)=>{ke(e,{...e.rect,...e.styles,fill:"none"});let n=e.childNodes[0],l=e.childNodes[1],o=e.childNodes[2],r=e.rect,s={x:e.rect.x+e.rect.width,y:e.rect.y+e.rect.height};if(ke(n,{x1:r.x,y1:r.y,x2:s.x,y2:s.y}),!t.lineDecoration)return;l.style.display="none",o.style.display="none";let p=yo({x:s.x-r.x,y:s.y-r.y}),c=me(.05,i,a);if(t.lineDecoration.indexOf("arrow-begin")!==-1){let d=Ri(p,c),m=Si(r,d),u=qe(r,2,m),g=qe(r,-2,m);ke(l,{style:"display:block;",d:`M${u.x},${u.y} L${r.x},${r.y} L${g.x},${g.y}`})}if(t.lineDecoration.indexOf("arrow-end")!==-1){let d=Ri(p,-c),m=Si(s,d),u=qe(s,2,m),g=qe(s,-2,m);ke(o,{style:"display:block;",d:`M${u.x},${u.y} L${s.x},${s.y} L${g.x},${g.y}`})}},Ku=(e,t,i,a)=>{ke(e,{...e.styles,fill:"none",d:Gu(t.points.map(n=>({x:me(n.x,i,a,"width"),y:me(n.y,i,a,"height")})))})},yi=e=>t=>_t(e,{id:t.id}),Zu=e=>{let t=_t("image",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0"});return t.onload=()=>{t.setAttribute("opacity",e.opacity||1)},t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e.src),t},Qu=e=>{let t=_t("g",{id:e.id,"stroke-linecap":"round","stroke-linejoin":"round"}),i=_t("line");t.appendChild(i);let a=_t("path");t.appendChild(a);let n=_t("path");return t.appendChild(n),t},Ju={image:Zu,rect:yi("rect"),ellipse:yi("ellipse"),text:yi("text"),path:yi("path"),line:Qu},eg={rect:Wu,ellipse:Hu,image:Yu,text:$u,path:Ku,line:Xu},tg=(e,t)=>Ju[e](t),ig=(e,t,i,a,n)=>{t!=="path"&&(e.rect=wt(i,a,n)),e.styles=ct(i,a,n),eg[t](e,i,a,n)},Ro=(e,t)=>e[1].zIndex>t[1].zIndex?1:e[1].zIndexnew Promise(n=>{let{background:l=null}=a,o=new FileReader;o.onloadend=()=>{let r=o.result,s=document.createElement("div");s.style.cssText="position:absolute;pointer-events:none;width:0;height:0;visibility:hidden;",s.innerHTML=r;let p=s.querySelector("svg");document.body.appendChild(s);let c=p.getBBox();s.parentNode.removeChild(s);let d=s.querySelector("title"),m=p.getAttribute("viewBox")||"",u=p.getAttribute("width")||"",g=p.getAttribute("height")||"",f=parseFloat(u)||null,h=parseFloat(g)||null,I=(u.match(/[a-z]+/)||[])[0]||"",b=(g.match(/[a-z]+/)||[])[0]||"",E=m.split(" ").map(parseFloat),v=E.length?{x:E[0],y:E[1],width:E[2],height:E[3]}:c,y=f??v.width,T=h??v.height;p.style.overflow="visible",p.setAttribute("width",y),p.setAttribute("height",T);let _="";if(i&&i.length){let K={width:y,height:T};_=i.sort(Ro).reduce((ce,V)=>{let H=tg(V[0],V[1]);return ig(H,V[0],V[1],K),H.removeAttribute("id"),H.getAttribute("opacity")===1&&H.removeAttribute("opacity"),ce+` +`+H.outerHTML+` +`},""),_=` -${v.replace(/ /g," ")} +${_.replace(/ /g," ")} -`}let R=t.aspectRatio||T/y,S=y,P=S*R,x=typeof t.scaleToFit>"u"||t.scaleToFit,O=t.center?t.center.x:.5,z=t.center?t.center.y:.5,A=lo({width:y,height:T},so({width:S,height:P},R),t.rotation,x?{x:O,y:z}:{x:.5,y:.5}),F=t.zoom*A,w=t.rotation*(180/Math.PI),L={x:S*.5,y:P*.5},C={x:L.x-y*O,y:L.y-T*z},D=[`rotate(${w} ${L.x} ${L.y})`,`translate(${L.x} ${L.y})`,`scale(${F})`,`translate(${-L.x} ${-L.y})`,`translate(${C.x} ${C.y})`],V=t.flip&&t.flip.horizontal,B=t.flip&&t.flip.vertical,j=[`scale(${V?-1:1} ${B?-1:1})`,`translate(${V?-y:0} ${B?-T:0})`],q=` -"u"||t.scaleToFit,A=t.center?t.center.x:.5,k=t.center?t.center.y:.5,w=Io({width:y,height:T},vo({width:R,height:P},x),t.rotation,z?{x:A,y:k}:{x:.5,y:.5}),O=t.zoom*w,S=t.rotation*(180/Math.PI),L={x:R*.5,y:P*.5},C={x:L.x-y*A,y:L.y-T*k},D=[`rotate(${S} ${L.x} ${L.y})`,`translate(${L.x} ${L.y})`,`scale(${O})`,`translate(${-L.x} ${-L.y})`,`translate(${C.x} ${C.y})`],U=t.flip&&t.flip.horizontal,B=t.flip&&t.flip.vertical,$=[`scale(${U?-1:1} ${B?-1:1})`,`translate(${U?-y:0} ${B?-T:0})`],X=` + ${d?d.textContent:""} - -${u.outerHTML}${v} + +${p.outerHTML}${_} -`;n(q)},o.readAsText(e)}),Sm=e=>{let t;try{t=new ImageData(e.width,e.height)}catch{t=document.createElement("canvas").getContext("2d").createImageData(e.width,e.height)}return t.data.set(e.data),t},wm=()=>{let e={resize:c,filter:u},t=(d,h)=>(d.forEach(m=>{h=e[m.type](h,m.data)}),h),i=(d,h)=>{let m=d.transforms,p=null;if(m.forEach(f=>{f.type==="filter"&&(p=f)}),p){let f=null;m.forEach(g=>{g.type==="resize"&&(f=g)}),f&&(f.data.matrix=p.data,m=m.filter(g=>g.type!=="filter"))}h(t(m,d.imageData))};self.onmessage=d=>{i(d.data.message,h=>{self.postMessage({id:d.data.id,message:h},[h.data.buffer])})};let a=1,n=1,r=1;function o(d,h,m){let p=h[d]/255,f=h[d+1]/255,g=h[d+2]/255,b=h[d+3]/255,E=p*m[0]+f*m[1]+g*m[2]+b*m[3]+m[4],I=p*m[5]+f*m[6]+g*m[7]+b*m[8]+m[9],_=p*m[10]+f*m[11]+g*m[12]+b*m[13]+m[14],y=p*m[15]+f*m[16]+g*m[17]+b*m[18]+m[19],T=Math.max(0,E*y)+a*(1-y),v=Math.max(0,I*y)+n*(1-y),R=Math.max(0,_*y)+r*(1-y);h[d]=Math.max(0,Math.min(1,T))*255,h[d+1]=Math.max(0,Math.min(1,v))*255,h[d+2]=Math.max(0,Math.min(1,R))*255}let l=self.JSON.stringify([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]);function s(d){return self.JSON.stringify(d||[])===l}function u(d,h){if(!h||s(h))return d;let m=d.data,p=m.length,f=h[0],g=h[1],b=h[2],E=h[3],I=h[4],_=h[5],y=h[6],T=h[7],v=h[8],R=h[9],S=h[10],P=h[11],x=h[12],O=h[13],z=h[14],A=h[15],F=h[16],w=h[17],L=h[18],C=h[19],D=0,V=0,B=0,j=0,q=0,X=0,ue=0,U=0,W=0,$=0,le=0,J=0;for(;D1&&p===!1)return u(d,b);f=d.width*A,g=d.height*A}let E=d.width,I=d.height,_=Math.round(f),y=Math.round(g),T=d.data,v=new Uint8ClampedArray(_*y*4),R=E/_,S=I/y,P=Math.ceil(R*.5),x=Math.ceil(S*.5);for(let O=0;O=-1&&le<=1&&(F=2*le*le*le-3*le*le+1,F>0)){$=4*(W+q*E);let J=T[$+3];B+=F*J,L+=F,J<255&&(F=F*J/250),C+=F*T[$],D+=F*T[$+1],V+=F*T[$+2],w+=F}}}v[A]=C/w,v[A+1]=D/w,v[A+2]=V/w,v[A+3]=B/L,b&&o(A,v,b)}return{data:v,width:_,height:y}}},vm=(e,t)=>{if(e.getUint32(t+4,!1)!==1165519206)return;t+=4;let i=e.getUint16(t+=6,!1)===18761;t+=e.getUint32(t+4,i);let a=e.getUint16(t,i);t+=2;for(let n=0;n{let t=new DataView(e);if(t.getUint16(0)!==65496)return null;let i=2,a,n,r=!1;for(;i=65504&&a<=65519||a===65534)||(r||(r=vm(t,i,n)),i+n>t.byteLength)));)i+=n;return e.slice(0,i)},Lm=e=>new Promise(t=>{let i=new FileReader;i.onload=()=>t(Am(i.result)||null),i.readAsArrayBuffer(e.slice(0,256*1024))}),Mm=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,Om=(e,t)=>{let i=Mm();if(i){let a=new i;return a.append(e),a.getBlob(t)}return new Blob([e],{type:t})},xm=()=>Math.random().toString(36).substr(2,9),Pm=e=>{let t=new Blob(["(",e.toString(),")()"],{type:"application/javascript"}),i=URL.createObjectURL(t),a=new Worker(i),n=[];return{transfer:()=>{},post:(r,o,l)=>{let s=xm();n[s]=o,a.onmessage=u=>{let c=n[u.data.id];c&&(c(u.data.message),delete n[u.data.id])},a.postMessage({id:s,message:r},l)},terminate:()=>{a.terminate(),URL.revokeObjectURL(i)}}},Dm=e=>new Promise((t,i)=>{let a=new Image;a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),Fm=e=>e.reduce((t,i)=>t.then(a=>i().then(Array.prototype.concat.bind(a))),Promise.resolve([])),Cm=(e,t)=>new Promise(i=>{let a={width:e.width,height:e.height},n=e.getContext("2d"),r=t.sort(ho).map(o=>()=>new Promise(l=>{km[o[0]](n,a,o[1],l)&&l()}));Fm(r).then(()=>i(e))}),yt=(e,t)=>{e.beginPath(),e.lineCap=t["stroke-linecap"],e.lineJoin=t["stroke-linejoin"],e.lineWidth=t["stroke-width"],t["stroke-dasharray"].length&&e.setLineDash(t["stroke-dasharray"].split(",")),e.fillStyle=t.fill,e.strokeStyle=t.stroke,e.globalAlpha=t.opacity||1},St=e=>{e.fill(),e.stroke(),e.globalAlpha=1},zm=(e,t,i)=>{let a=Rt(i,t),n=ot(i,t);return yt(e,n),e.rect(a.x,a.y,a.width,a.height),St(e,n),!0},Nm=(e,t,i)=>{let a=Rt(i,t),n=ot(i,t);yt(e,n);let r=a.x,o=a.y,l=a.width,s=a.height,u=.5522848,c=l/2*u,d=s/2*u,h=r+l,m=o+s,p=r+l/2,f=o+s/2;return e.moveTo(r,f),e.bezierCurveTo(r,f-d,p-c,o,p,o),e.bezierCurveTo(p+c,o,h,f-d,h,f),e.bezierCurveTo(h,f+d,p+c,m,p,m),e.bezierCurveTo(p-c,m,r,f+d,r,f),St(e,n),!0},Bm=(e,t,i,a)=>{let n=Rt(i,t),r=ot(i,t);yt(e,r);let o=new Image;new URL(i.src,window.location.href).origin!==window.location.origin&&(o.crossOrigin=""),o.onload=()=>{if(i.fit==="cover"){let s=n.width/n.height,u=s>1?o.width:o.height*s,c=s>1?o.width/s:o.height,d=o.width*.5-u*.5,h=o.height*.5-c*.5;e.drawImage(o,d,h,u,c,n.x,n.y,n.width,n.height)}else if(i.fit==="contain"){let s=Math.min(n.width/o.width,n.height/o.height),u=s*o.width,c=s*o.height,d=n.x+n.width*.5-u*.5,h=n.y+n.height*.5-c*.5;e.drawImage(o,0,0,o.width,o.height,d,h,u,c)}else e.drawImage(o,0,0,o.width,o.height,n.x,n.y,n.width,n.height);St(e,r),a()},o.src=i.src},Vm=(e,t,i)=>{let a=Rt(i,t),n=ot(i,t);yt(e,n);let r=he(i.fontSize,t),o=i.fontFamily||"sans-serif",l=i.fontWeight||"normal",s=i.textAlign||"left";return e.font=`${l} ${r}px ${o}`,e.textAlign=s,e.fillText(i.text,a.x,a.y),St(e,n),!0},Gm=(e,t,i)=>{let a=ot(i,t);yt(e,a),e.beginPath();let n=i.points.map(o=>({x:he(o.x,t,1,"width"),y:he(o.y,t,1,"height")}));e.moveTo(n[0].x,n[0].y);let r=n.length;for(let o=1;o{let a=Rt(i,t),n=ot(i,t);yt(e,n),e.beginPath();let r={x:a.x,y:a.y},o={x:a.x+a.width,y:a.y+a.height};e.moveTo(r.x,r.y),e.lineTo(o.x,o.y);let l=uo({x:o.x-r.x,y:o.y-r.y}),s=.04*Math.min(t.width,t.height);if(i.lineDecoration.indexOf("arrow-begin")!==-1){let u=Ii(l,s),c=bi(r,u),d=Ye(r,2,c),h=Ye(r,-2,c);e.moveTo(d.x,d.y),e.lineTo(r.x,r.y),e.lineTo(h.x,h.y)}if(i.lineDecoration.indexOf("arrow-end")!==-1){let u=Ii(l,-s),c=bi(o,u),d=Ye(o,2,c),h=Ye(o,-2,c);e.moveTo(d.x,d.y),e.lineTo(o.x,o.y),e.lineTo(h.x,h.y)}return St(e,n),!0},km={rect:zm,ellipse:Nm,image:Bm,text:Vm,line:Um,path:Gm},Hm=e=>{let t=document.createElement("canvas");return t.width=e.width,t.height=e.height,t.getContext("2d").putImageData(e,0,0),t},Wm=(e,t,i={})=>new Promise((a,n)=>{if(!e||!Zh(e))return n({status:"not an image file",file:e});let{stripImageHead:r,beforeCreateBlob:o,afterCreateBlob:l,canvasMemoryLimit:s}=i,{crop:u,size:c,filter:d,markup:h,output:m}=t,p=t.image&&t.image.orientation?Math.max(1,Math.min(8,t.image.orientation)):null,f=m&&m.quality,g=f===null?null:f/100,b=m&&m.type||null,E=m&&m.background||null,I=[];c&&(typeof c.width=="number"||typeof c.height=="number")&&I.push({type:"resize",data:c}),d&&d.length===20&&I.push({type:"filter",data:d});let _=v=>{let R=l?l(v):v;Promise.resolve(R).then(a)},y=(v,R)=>{let S=Hm(v),P=h.length?Cm(S,h):S;Promise.resolve(P).then(x=>{om(x,R,o).then(O=>{if(co(x),r)return _(O);Lm(e).then(z=>{z!==null&&(O=new Blob([z,O.slice(20)],{type:O.type})),_(O)})}).catch(n)})};if(/svg/.test(e.type)&&b===null)return ym(e,u,h,{background:E}).then(v=>{a(Om(v,"image/svg+xml"))});let T=URL.createObjectURL(e);Dm(T).then(v=>{URL.revokeObjectURL(T);let R=nm(v,p,u,{canvasMemoryLimit:s,background:E}),S={quality:g,type:b||e.type};if(!I.length)return y(R,S);let P=Pm(wm);P.post({transforms:I,imageData:R},x=>{y(Sm(x),S),P.terminate()},[R.data.buffer])}).catch(n)}),Ym=["x","y","left","top","right","bottom","width","height"],$m=e=>typeof e=="string"&&/%/.test(e)?parseFloat(e)/100:e,qm=e=>{let[t,i]=e,a=i.points?{}:Ym.reduce((n,r)=>(n[r]=$m(i[r]),n),{});return[t,{zIndex:0,...i,...a}]},jm=e=>new Promise((t,i)=>{let a=new Image;a.src=URL.createObjectURL(e);let n=()=>{let o=a.naturalWidth,l=a.naturalHeight;o&&l&&(URL.revokeObjectURL(a.src),clearInterval(r),t({width:o,height:l}))};a.onerror=o=>{URL.revokeObjectURL(a.src),clearInterval(r),i(o)};let r=setInterval(n,1);n()});typeof window<"u"&&typeof window.document<"u"&&(HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,i){let a=this;setTimeout(()=>{let n=a.toDataURL(t,i).split(",")[1],r=atob(n),o=r.length,l=new Uint8Array(o);for(;o--;)l[o]=r.charCodeAt(o);e(new Blob([l],{type:t||"image/png"}))})}}));var _a=typeof window<"u"&&typeof window.document<"u",Xm=_a&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,mo=({addFilter:e,utils:t})=>{let{Type:i,forin:a,getFileFromBlob:n,isFile:r}=t,o=["crop","resize","filter","markup","output"],l=c=>(d,h,m)=>d(h,c?c(m):m),s=c=>c.aspectRatio===null&&c.rotation===0&&c.zoom===1&&c.center&&c.center.x===.5&&c.center.y===.5&&c.flip&&c.flip.horizontal===!1&&c.flip.vertical===!1;e("SHOULD_PREPARE_OUTPUT",(c,{query:d})=>new Promise(h=>{h(!d("IS_ASYNC"))}));let u=(c,d,h)=>new Promise(m=>{if(!c("GET_ALLOW_IMAGE_TRANSFORM")||h.archived||!r(d)||!$h(d))return m(!1);jm(d).then(()=>{let p=c("GET_IMAGE_TRANSFORM_IMAGE_FILTER");if(p){let f=p(d);if(f==null)return handleRevert(!0);if(typeof f=="boolean")return m(f);if(typeof f.then=="function")return f.then(m)}m(!0)}).catch(p=>{m(!1)})});return e("DID_CREATE_ITEM",(c,{query:d,dispatch:h})=>{d("GET_ALLOW_IMAGE_TRANSFORM")&&c.extend("requestPrepare",()=>new Promise((m,p)=>{h("REQUEST_PREPARE_OUTPUT",{query:c.id,item:c,success:m,failure:p},!0)}))}),e("PREPARE_OUTPUT",(c,{query:d,item:h})=>new Promise(m=>{u(d,c,h).then(p=>{if(!p)return m(c);let f=[];d("GET_IMAGE_TRANSFORM_VARIANTS_INCLUDE_ORIGINAL")&&f.push(()=>new Promise(R=>{R({name:d("GET_IMAGE_TRANSFORM_VARIANTS_ORIGINAL_NAME"),file:c})})),d("GET_IMAGE_TRANSFORM_VARIANTS_INCLUDE_DEFAULT")&&f.push((R,S,P)=>new Promise(x=>{R(S,P).then(O=>x({name:d("GET_IMAGE_TRANSFORM_VARIANTS_DEFAULT_NAME"),file:O}))}));let g=d("GET_IMAGE_TRANSFORM_VARIANTS")||{};a(g,(R,S)=>{let P=l(S);f.push((x,O,z)=>new Promise(A=>{P(x,O,z).then(F=>A({name:R,file:F}))}))});let b=d("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY"),E=d("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY_MODE"),I=b===null?null:b/100,_=d("GET_IMAGE_TRANSFORM_OUTPUT_MIME_TYPE"),y=d("GET_IMAGE_TRANSFORM_CLIENT_TRANSFORMS")||o;h.setMetadata("output",{type:_,quality:I,client:y},!0);let T=(R,S)=>new Promise((P,x)=>{let O={...S};Object.keys(O).filter(B=>B!=="exif").forEach(B=>{y.indexOf(B)===-1&&delete O[B]});let{resize:z,exif:A,output:F,crop:w,filter:L,markup:C}=O,D={image:{orientation:A?A.orientation:null},output:F&&(F.type||typeof F.quality=="number"||F.background)?{type:F.type,quality:typeof F.quality=="number"?F.quality*100:null,background:F.background||d("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR")||null}:void 0,size:z&&(z.size.width||z.size.height)?{mode:z.mode,upscale:z.upscale,...z.size}:void 0,crop:w&&!s(w)?{...w}:void 0,markup:C&&C.length?C.map(qm):[],filter:L};if(D.output){let B=F.type?F.type!==R.type:!1,j=/\/jpe?g$/.test(R.type),q=F.quality!==null?j&&E==="always":!1;if(!!!(D.size||D.crop||D.filter||B||q))return P(R)}let V={beforeCreateBlob:d("GET_IMAGE_TRANSFORM_BEFORE_CREATE_BLOB"),afterCreateBlob:d("GET_IMAGE_TRANSFORM_AFTER_CREATE_BLOB"),canvasMemoryLimit:d("GET_IMAGE_TRANSFORM_CANVAS_MEMORY_LIMIT"),stripImageHead:d("GET_IMAGE_TRANSFORM_OUTPUT_STRIP_IMAGE_HEAD")};Wm(R,D,V).then(B=>{let j=n(B,Xh(R.name,Qh(B.type)));P(j)}).catch(x)}),v=f.map(R=>R(T,c,h.getMetadata()));Promise.all(v).then(R=>{m(R.length===1&&R[0].name===null?R[0].file:R)})})})),{options:{allowImageTransform:[!0,i.BOOLEAN],imageTransformImageFilter:[null,i.FUNCTION],imageTransformOutputMimeType:[null,i.STRING],imageTransformOutputQuality:[null,i.INT],imageTransformOutputStripImageHead:[!0,i.BOOLEAN],imageTransformClientTransforms:[null,i.ARRAY],imageTransformOutputQualityMode:["always",i.STRING],imageTransformVariants:[null,i.OBJECT],imageTransformVariantsIncludeDefault:[!0,i.BOOLEAN],imageTransformVariantsDefaultName:[null,i.STRING],imageTransformVariantsIncludeOriginal:[!1,i.BOOLEAN],imageTransformVariantsOriginalName:["original_",i.STRING],imageTransformBeforeCreateBlob:[null,i.FUNCTION],imageTransformAfterCreateBlob:[null,i.FUNCTION],imageTransformCanvasMemoryLimit:[_a&&Xm?4096*4096:null,i.INT],imageTransformCanvasBackgroundColor:[null,i.STRING]}}};_a&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:mo}));var po=mo;var Ra=e=>/^video/.test(e.type),Wt=e=>/^audio/.test(e.type),ya=class{constructor(t,i){this.mediaEl=t,this.audioElems=i,this.onplayhead=!1,this.duration=0,this.timelineWidth=this.audioElems.timeline.offsetWidth-this.audioElems.playhead.offsetWidth,this.moveplayheadFn=this.moveplayhead.bind(this),this.registerListeners()}registerListeners(){this.mediaEl.addEventListener("timeupdate",this.timeUpdate.bind(this),!1),this.mediaEl.addEventListener("canplaythrough",()=>this.duration=this.mediaEl.duration,!1),this.audioElems.timeline.addEventListener("click",this.timelineClicked.bind(this),!1),this.audioElems.button.addEventListener("click",this.play.bind(this)),this.audioElems.playhead.addEventListener("mousedown",this.mouseDown.bind(this),!1),window.addEventListener("mouseup",this.mouseUp.bind(this),!1)}play(){this.mediaEl.paused?this.mediaEl.play():this.mediaEl.pause(),this.audioElems.button.classList.toggle("play"),this.audioElems.button.classList.toggle("pause")}timeUpdate(){let t=this.mediaEl.currentTime/this.duration*100;this.audioElems.playhead.style.marginLeft=t+"%",this.mediaEl.currentTime===this.duration&&(this.audioElems.button.classList.toggle("play"),this.audioElems.button.classList.toggle("pause"))}moveplayhead(t){let i=t.clientX-this.getPosition(this.audioElems.timeline);i>=0&&i<=this.timelineWidth&&(this.audioElems.playhead.style.marginLeft=i+"px"),i<0&&(this.audioElems.playhead.style.marginLeft="0px"),i>this.timelineWidth&&(this.audioElems.playhead.style.marginLeft=this.timelineWidth-4+"px")}timelineClicked(t){this.moveplayhead(t),this.mediaEl.currentTime=this.duration*this.clickPercent(t)}mouseDown(){this.onplayhead=!0,window.addEventListener("mousemove",this.moveplayheadFn,!0),this.mediaEl.removeEventListener("timeupdate",this.timeUpdate.bind(this),!1)}mouseUp(t){window.removeEventListener("mousemove",this.moveplayheadFn,!0),this.onplayhead==!0&&(this.moveplayhead(t),this.mediaEl.currentTime=this.duration*this.clickPercent(t),this.mediaEl.addEventListener("timeupdate",this.timeUpdate.bind(this),!1)),this.onplayhead=!1}clickPercent(t){return(t.clientX-this.getPosition(this.audioElems.timeline))/this.timelineWidth}getPosition(t){return t.getBoundingClientRect().left}},Qm=e=>e.utils.createView({name:"media-preview",tag:"div",ignoreRect:!0,create:({root:t,props:i})=>{let{id:a}=i,n=t.query("GET_ITEM",{id:i.id}),r=Wt(n.file)?"audio":"video";if(t.ref.media=document.createElement(r),t.ref.media.setAttribute("controls",!0),t.element.appendChild(t.ref.media),Wt(n.file)){let o=document.createDocumentFragment();t.ref.audio=[],t.ref.audio.container=document.createElement("div"),t.ref.audio.button=document.createElement("span"),t.ref.audio.timeline=document.createElement("div"),t.ref.audio.playhead=document.createElement("div"),t.ref.audio.container.className="audioplayer",t.ref.audio.button.className="playpausebtn play",t.ref.audio.timeline.className="timeline",t.ref.audio.playhead.className="playhead",t.ref.audio.timeline.appendChild(t.ref.audio.playhead),t.ref.audio.container.appendChild(t.ref.audio.button),t.ref.audio.container.appendChild(t.ref.audio.timeline),o.appendChild(t.ref.audio.container),t.element.appendChild(o)}},write:e.utils.createRoute({DID_MEDIA_PREVIEW_LOAD:({root:t,props:i})=>{let{id:a}=i,n=t.query("GET_ITEM",{id:i.id});if(!n)return;let r=window.URL||window.webkitURL,o=new Blob([n.file],{type:n.file.type});t.ref.media.type=n.file.type,t.ref.media.src=n.file.mock&&n.file.url||r.createObjectURL(o),Wt(n.file)&&new ya(t.ref.media,t.ref.audio),t.ref.media.addEventListener("loadeddata",()=>{let l=75;if(Ra(n.file)){let s=t.ref.media.offsetWidth,u=t.ref.media.videoWidth/s;l=t.ref.media.videoHeight/u}t.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:i.id,height:l})},!1)}})}),Zm=e=>{let t=({root:a,props:n})=>{let{id:r}=n;a.query("GET_ITEM",r)&&a.dispatch("DID_MEDIA_PREVIEW_LOAD",{id:r})},i=({root:a,props:n})=>{let r=Qm(e);a.ref.media=a.appendChildView(a.createChildView(r,{id:n.id}))};return e.utils.createView({name:"media-preview-wrapper",create:i,write:e.utils.createRoute({DID_MEDIA_PREVIEW_CONTAINER_CREATE:t})})},Sa=e=>{let{addFilter:t,utils:i}=e,{Type:a,createRoute:n}=i,r=Zm(e);return t("CREATE_VIEW",o=>{let{is:l,view:s,query:u}=o;if(!l("file"))return;let c=({root:d,props:h})=>{let{id:m}=h,p=u("GET_ITEM",m),f=u("GET_ALLOW_VIDEO_PREVIEW"),g=u("GET_ALLOW_AUDIO_PREVIEW");!p||p.archived||(!Ra(p.file)||!f)&&(!Wt(p.file)||!g)||(d.ref.mediaPreview=s.appendChildView(s.createChildView(r,{id:m})),d.dispatch("DID_MEDIA_PREVIEW_CONTAINER_CREATE",{id:m}))};s.registerWriter(n({DID_LOAD_ITEM:c},({root:d,props:h})=>{let{id:m}=h,p=u("GET_ITEM",m),f=d.query("GET_ALLOW_VIDEO_PREVIEW"),g=d.query("GET_ALLOW_AUDIO_PREVIEW");!p||(!Ra(p.file)||!f)&&(!Wt(p.file)||!g)||d.rect.element.hidden}))}),{options:{allowVideoPreview:[!0,a.BOOLEAN],allowAudioPreview:[!0,a.BOOLEAN]}}},Km=typeof window<"u"&&typeof window.document<"u";Km&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Sa}));var fo={labelIdle:'\u0627\u0633\u062D\u0628 \u0648 \u0627\u062F\u0631\u062C \u0645\u0644\u0641\u0627\u062A\u0643 \u0623\u0648 \u062A\u0635\u0641\u062D ',labelInvalidField:"\u0627\u0644\u062D\u0642\u0644 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0645\u0644\u0641\u0627\u062A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629",labelFileWaitingForSize:"\u0628\u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062D\u062C\u0645",labelFileSizeNotAvailable:"\u0627\u0644\u062D\u062C\u0645 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D",labelFileLoading:"\u0628\u0627\u0644\u0625\u0646\u062A\u0638\u0627\u0631",labelFileLoadError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",labelFileProcessing:"\u064A\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingComplete:"\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingAborted:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingRevertError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062A\u0631\u0627\u062C\u0639",labelFileRemoveError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062D\u0630\u0641",labelTapToCancel:"\u0627\u0646\u0642\u0631 \u0644\u0644\u0625\u0644\u063A\u0627\u0621",labelTapToRetry:"\u0627\u0646\u0642\u0631 \u0644\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629",labelTapToUndo:"\u0627\u0646\u0642\u0631 \u0644\u0644\u062A\u0631\u0627\u062C\u0639",labelButtonRemoveItem:"\u0645\u0633\u062D",labelButtonAbortItemLoad:"\u0625\u0644\u063A\u0627\u0621",labelButtonRetryItemLoad:"\u0625\u0639\u0627\u062F\u0629",labelButtonAbortItemProcessing:"\u0625\u0644\u063A\u0627\u0621",labelButtonUndoItemProcessing:"\u062A\u0631\u0627\u062C\u0639",labelButtonRetryItemProcessing:"\u0625\u0639\u0627\u062F\u0629",labelButtonProcessItem:"\u0631\u0641\u0639",labelMaxFileSizeExceeded:"\u0627\u0644\u0645\u0644\u0641 \u0643\u0628\u064A\u0631 \u062C\u062F\u0627",labelMaxFileSize:"\u062D\u062C\u0645 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0623\u0642\u0635\u0649: {filesize}",labelMaxTotalFileSizeExceeded:"\u062A\u0645 \u062A\u062C\u0627\u0648\u0632 \u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u0644\u062D\u062C\u0645 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",labelMaxTotalFileSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u062D\u062C\u0645 \u0627\u0644\u0645\u0644\u0641: {filesize}",labelFileTypeNotAllowed:"\u0645\u0644\u0641 \u0645\u0646 \u0646\u0648\u0639 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",fileValidateTypeLabelExpectedTypes:"\u062A\u062A\u0648\u0642\u0639 {allButLastType} \u0645\u0646 {lastType}",imageValidateSizeLabelFormatError:"\u0646\u0648\u0639 \u0627\u0644\u0635\u0648\u0631\u0629 \u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645",imageValidateSizeLabelImageSizeTooSmall:"\u0627\u0644\u0635\u0648\u0631\u0629 \u0635\u063A\u064A\u0631 \u062C\u062F\u0627",imageValidateSizeLabelImageSizeTooBig:"\u0627\u0644\u0635\u0648\u0631\u0629 \u0643\u0628\u064A\u0631\u0629 \u062C\u062F\u0627",imageValidateSizeLabelExpectedMinSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649 \u0644\u0644\u0623\u0628\u0639\u0627\u062F \u0647\u0648: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u0644\u0623\u0628\u0639\u0627\u062F \u0647\u0648: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0627\u0644\u062F\u0642\u0629 \u0636\u0639\u064A\u0641\u0629 \u062C\u062F\u0627",imageValidateSizeLabelImageResolutionTooHigh:"\u0627\u0644\u062F\u0642\u0629 \u0645\u0631\u062A\u0641\u0639\u0629 \u062C\u062F\u0627",imageValidateSizeLabelExpectedMinResolution:"\u0623\u0642\u0644 \u062F\u0642\u0629: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0623\u0642\u0635\u0649 \u062F\u0642\u0629: {maxResolution}"};var go={labelIdle:'Arrossega i deixa els teus fitxers o Navega ',labelInvalidField:"El camp cont\xE9 fitxers inv\xE0lids",labelFileWaitingForSize:"Esperant mida",labelFileSizeNotAvailable:"Mida no disponible",labelFileLoading:"Carregant",labelFileLoadError:"Error durant la c\xE0rrega",labelFileProcessing:"Pujant",labelFileProcessingComplete:"Pujada completada",labelFileProcessingAborted:"Pujada cancel\xB7lada",labelFileProcessingError:"Error durant la pujada",labelFileProcessingRevertError:"Error durant la reversi\xF3",labelFileRemoveError:"Error durant l'eliminaci\xF3",labelTapToCancel:"toca per cancel\xB7lar",labelTapToRetry:"toca per reintentar",labelTapToUndo:"toca per desfer",labelButtonRemoveItem:"Eliminar",labelButtonAbortItemLoad:"Cancel\xB7lar",labelButtonRetryItemLoad:"Reintentar",labelButtonAbortItemProcessing:"Cancel\xB7lar",labelButtonUndoItemProcessing:"Desfer",labelButtonRetryItemProcessing:"Reintentar",labelButtonProcessItem:"Pujar",labelMaxFileSizeExceeded:"El fitxer \xE9s massa gran",labelMaxFileSize:"La mida m\xE0xima del fitxer \xE9s {filesize}",labelMaxTotalFileSizeExceeded:"Mida m\xE0xima total excedida",labelMaxTotalFileSize:"La mida m\xE0xima total del fitxer \xE9s {filesize}",labelFileTypeNotAllowed:"Fitxer de tipus inv\xE0lid",fileValidateTypeLabelExpectedTypes:"Espera {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipus d'imatge no suportada",imageValidateSizeLabelImageSizeTooSmall:"La imatge \xE9s massa petita",imageValidateSizeLabelImageSizeTooBig:"La imatge \xE9s massa gran",imageValidateSizeLabelExpectedMinSize:"La mida m\xEDnima \xE9s {minWidth} x {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La mida m\xE0xima \xE9s {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La resoluci\xF3 \xE9s massa baixa",imageValidateSizeLabelImageResolutionTooHigh:"La resoluci\xF3 \xE9s massa alta",imageValidateSizeLabelExpectedMinResolution:"La resoluci\xF3 m\xEDnima \xE9s {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La resoluci\xF3 m\xE0xima \xE9s {maxResolution}"};var Eo={labelIdle:'P\u0159et\xE1hn\u011Bte soubor sem (drag&drop) nebo Vyhledat ',labelInvalidField:"Pole obsahuje chybn\xE9 soubory",labelFileWaitingForSize:"Zji\u0161\u0165uje se velikost",labelFileSizeNotAvailable:"Velikost nen\xED zn\xE1m\xE1",labelFileLoading:"P\u0159en\xE1\u0161\xED se",labelFileLoadError:"Chyba p\u0159i p\u0159enosu",labelFileProcessing:"Prob\xEDh\xE1 upload",labelFileProcessingComplete:"Upload dokon\u010Den",labelFileProcessingAborted:"Upload stornov\xE1n",labelFileProcessingError:"Chyba p\u0159i uploadu",labelFileProcessingRevertError:"Chyba p\u0159i obnov\u011B",labelFileRemoveError:"Chyba p\u0159i odstran\u011Bn\xED",labelTapToCancel:"klepn\u011Bte pro storno",labelTapToRetry:"klepn\u011Bte pro opakov\xE1n\xED",labelTapToUndo:"klepn\u011Bte pro vr\xE1cen\xED",labelButtonRemoveItem:"Odstranit",labelButtonAbortItemLoad:"Storno",labelButtonRetryItemLoad:"Opakovat",labelButtonAbortItemProcessing:"Zp\u011Bt",labelButtonUndoItemProcessing:"Vr\xE1tit",labelButtonRetryItemProcessing:"Opakovat",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Soubor je p\u0159\xEDli\u0161 velk\xFD",labelMaxFileSize:"Nejv\u011Bt\u0161\xED velikost souboru je {filesize}",labelMaxTotalFileSizeExceeded:"P\u0159ekro\u010Dena maxim\xE1ln\xED celkov\xE1 velikost souboru",labelMaxTotalFileSize:"Maxim\xE1ln\xED celkov\xE1 velikost souboru je {filesize}",labelFileTypeNotAllowed:"Soubor je nespr\xE1vn\xE9ho typu",fileValidateTypeLabelExpectedTypes:"O\u010Dek\xE1v\xE1 se {allButLastType} nebo {lastType}",imageValidateSizeLabelFormatError:"Obr\xE1zek tohoto typu nen\xED podporov\xE1n",imageValidateSizeLabelImageSizeTooSmall:"Obr\xE1zek je p\u0159\xEDli\u0161 mal\xFD",imageValidateSizeLabelImageSizeTooBig:"Obr\xE1zek je p\u0159\xEDli\u0161 velk\xFD",imageValidateSizeLabelExpectedMinSize:"Minim\xE1ln\xED rozm\u011Br je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maxim\xE1ln\xED rozm\u011Br je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozli\u0161en\xED je p\u0159\xEDli\u0161 mal\xE9",imageValidateSizeLabelImageResolutionTooHigh:"Rozli\u0161en\xED je p\u0159\xEDli\u0161 velk\xE9",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1ln\xED rozli\u0161en\xED je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1ln\xED rozli\u0161en\xED je {maxResolution}"};var To={labelIdle:'Tr\xE6k & slip filer eller Gennemse ',labelInvalidField:"Felt indeholder ugyldige filer",labelFileWaitingForSize:"Venter p\xE5 st\xF8rrelse",labelFileSizeNotAvailable:"St\xF8rrelse ikke tilg\xE6ngelig",labelFileLoading:"Loader",labelFileLoadError:"Load fejlede",labelFileProcessing:"Uploader",labelFileProcessingComplete:"Upload f\xE6rdig",labelFileProcessingAborted:"Upload annulleret",labelFileProcessingError:"Upload fejlede",labelFileProcessingRevertError:"Fortryd fejlede",labelFileRemoveError:"Fjern fejlede",labelTapToCancel:"tryk for at annullere",labelTapToRetry:"tryk for at pr\xF8ve igen",labelTapToUndo:"tryk for at fortryde",labelButtonRemoveItem:"Fjern",labelButtonAbortItemLoad:"Annuller",labelButtonRetryItemLoad:"Fors\xF8g igen",labelButtonAbortItemProcessing:"Annuller",labelButtonUndoItemProcessing:"Fortryd",labelButtonRetryItemProcessing:"Pr\xF8v igen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Filen er for stor",labelMaxFileSize:"Maksimal filst\xF8rrelse er {filesize}",labelMaxTotalFileSizeExceeded:"Maksimal totalst\xF8rrelse overskredet",labelMaxTotalFileSize:"Maksimal total filst\xF8rrelse er {filesize}",labelFileTypeNotAllowed:"Ugyldig filtype",fileValidateTypeLabelExpectedTypes:"Forventer {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Ugyldigt format",imageValidateSizeLabelImageSizeTooSmall:"Billedet er for lille",imageValidateSizeLabelImageSizeTooBig:"Billedet er for stort",imageValidateSizeLabelExpectedMinSize:"Minimum st\xF8rrelse er {minBredde} \xD7 {minH\xF8jde}",imageValidateSizeLabelExpectedMaxSize:"Maksimal st\xF8rrelse er {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"For lav opl\xF8sning",imageValidateSizeLabelImageResolutionTooHigh:"For h\xF8j opl\xF8sning",imageValidateSizeLabelExpectedMinResolution:"Minimum opl\xF8sning er {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimal opl\xF8sning er {maxResolution}"};var Io={labelIdle:'Dateien ablegen oder ausw\xE4hlen ',labelInvalidField:"Feld beinhaltet ung\xFCltige Dateien",labelFileWaitingForSize:"Dateigr\xF6\xDFe berechnen",labelFileSizeNotAvailable:"Dateigr\xF6\xDFe nicht verf\xFCgbar",labelFileLoading:"Laden",labelFileLoadError:"Fehler beim Laden",labelFileProcessing:"Upload l\xE4uft",labelFileProcessingComplete:"Upload abgeschlossen",labelFileProcessingAborted:"Upload abgebrochen",labelFileProcessingError:"Fehler beim Upload",labelFileProcessingRevertError:"Fehler beim Wiederherstellen",labelFileRemoveError:"Fehler beim L\xF6schen",labelTapToCancel:"abbrechen",labelTapToRetry:"erneut versuchen",labelTapToUndo:"r\xFCckg\xE4ngig",labelButtonRemoveItem:"Entfernen",labelButtonAbortItemLoad:"Verwerfen",labelButtonRetryItemLoad:"Erneut versuchen",labelButtonAbortItemProcessing:"Abbrechen",labelButtonUndoItemProcessing:"R\xFCckg\xE4ngig",labelButtonRetryItemProcessing:"Erneut versuchen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Datei ist zu gro\xDF",labelMaxFileSize:"Maximale Dateigr\xF6\xDFe: {filesize}",labelMaxTotalFileSizeExceeded:"Maximale gesamte Dateigr\xF6\xDFe \xFCberschritten",labelMaxTotalFileSize:"Maximale gesamte Dateigr\xF6\xDFe: {filesize}",labelFileTypeNotAllowed:"Dateityp ung\xFCltig",fileValidateTypeLabelExpectedTypes:"Erwartet {allButLastType} oder {lastType}",imageValidateSizeLabelFormatError:"Bildtyp nicht unterst\xFCtzt",imageValidateSizeLabelImageSizeTooSmall:"Bild ist zu klein",imageValidateSizeLabelImageSizeTooBig:"Bild ist zu gro\xDF",imageValidateSizeLabelExpectedMinSize:"Mindestgr\xF6\xDFe: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximale Gr\xF6\xDFe: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Aufl\xF6sung ist zu niedrig",imageValidateSizeLabelImageResolutionTooHigh:"Aufl\xF6sung ist zu hoch",imageValidateSizeLabelExpectedMinResolution:"Mindestaufl\xF6sung: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximale Aufl\xF6sung: {maxResolution}"};var bo={labelIdle:'Drag & Drop your files or Browse ',labelInvalidField:"Field contains invalid files",labelFileWaitingForSize:"Waiting for size",labelFileSizeNotAvailable:"Size not available",labelFileLoading:"Loading",labelFileLoadError:"Error during load",labelFileProcessing:"Uploading",labelFileProcessingComplete:"Upload complete",labelFileProcessingAborted:"Upload cancelled",labelFileProcessingError:"Error during upload",labelFileProcessingRevertError:"Error during revert",labelFileRemoveError:"Error during remove",labelTapToCancel:"tap to cancel",labelTapToRetry:"tap to retry",labelTapToUndo:"tap to undo",labelButtonRemoveItem:"Remove",labelButtonAbortItemLoad:"Abort",labelButtonRetryItemLoad:"Retry",labelButtonAbortItemProcessing:"Cancel",labelButtonUndoItemProcessing:"Undo",labelButtonRetryItemProcessing:"Retry",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"File is too large",labelMaxFileSize:"Maximum file size is {filesize}",labelMaxTotalFileSizeExceeded:"Maximum total size exceeded",labelMaxTotalFileSize:"Maximum total file size is {filesize}",labelFileTypeNotAllowed:"File of invalid type",fileValidateTypeLabelExpectedTypes:"Expects {allButLastType} or {lastType}",imageValidateSizeLabelFormatError:"Image type not supported",imageValidateSizeLabelImageSizeTooSmall:"Image is too small",imageValidateSizeLabelImageSizeTooBig:"Image is too big",imageValidateSizeLabelExpectedMinSize:"Minimum size is {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum size is {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolution is too low",imageValidateSizeLabelImageResolutionTooHigh:"Resolution is too high",imageValidateSizeLabelExpectedMinResolution:"Minimum resolution is {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum resolution is {maxResolution}"};var _o={labelIdle:'Arrastra y suelta tus archivos o Examina ',labelInvalidField:"El campo contiene archivos inv\xE1lidos",labelFileWaitingForSize:"Esperando tama\xF1o",labelFileSizeNotAvailable:"Tama\xF1o no disponible",labelFileLoading:"Cargando",labelFileLoadError:"Error durante la carga",labelFileProcessing:"Subiendo",labelFileProcessingComplete:"Subida completa",labelFileProcessingAborted:"Subida cancelada",labelFileProcessingError:"Error durante la subida",labelFileProcessingRevertError:"Error durante la reversi\xF3n",labelFileRemoveError:"Error durante la eliminaci\xF3n",labelTapToCancel:"toca para cancelar",labelTapToRetry:"tocar para reintentar",labelTapToUndo:"tocar para deshacer",labelButtonRemoveItem:"Eliminar",labelButtonAbortItemLoad:"Cancelar",labelButtonRetryItemLoad:"Reintentar",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Deshacer",labelButtonRetryItemProcessing:"Reintentar",labelButtonProcessItem:"Subir",labelMaxFileSizeExceeded:"El archivo es demasiado grande",labelMaxFileSize:"El tama\xF1o m\xE1ximo del archivo es {filesize}",labelMaxTotalFileSizeExceeded:"Tama\xF1o total m\xE1ximo excedido",labelMaxTotalFileSize:"El tama\xF1o total m\xE1ximo del archivo es {filesize}",labelFileTypeNotAllowed:"Archivo de tipo inv\xE1lido",fileValidateTypeLabelExpectedTypes:"Espera {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagen no soportada",imageValidateSizeLabelImageSizeTooSmall:"La imagen es demasiado peque\xF1a",imageValidateSizeLabelImageSizeTooBig:"La imagen es demasiado grande",imageValidateSizeLabelExpectedMinSize:"El tama\xF1o m\xEDnimo es {minWidth} x {minHeight}",imageValidateSizeLabelExpectedMaxSize:"El tama\xF1o m\xE1ximo es {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La resoluci\xF3n es demasiado baja",imageValidateSizeLabelImageResolutionTooHigh:"La resoluci\xF3n es demasiado alta",imageValidateSizeLabelExpectedMinResolution:"La resoluci\xF3n m\xEDnima es {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La resoluci\xF3n m\xE1xima es {maxResolution}"};var Ro={labelIdle:'\u0641\u0627\u06CC\u0644 \u0631\u0627 \u0627\u06CC\u0646\u062C\u0627 \u0628\u06A9\u0634\u06CC\u062F \u0648 \u0631\u0647\u0627 \u06A9\u0646\u06CC\u062F\u060C \u06CC\u0627 \u062C\u0633\u062A\u062C\u0648 \u06A9\u0646\u06CC\u062F ',labelInvalidField:"\u0641\u06CC\u0644\u062F \u062F\u0627\u0631\u0627\u06CC \u0641\u0627\u06CC\u0644 \u0647\u0627\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A",labelFileWaitingForSize:"Waiting for size",labelFileSizeNotAvailable:"\u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A",labelFileLoading:"\u062F\u0631\u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileLoadError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u0627\u062C\u0631\u0627",labelFileProcessing:"\u062F\u0631\u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileProcessingComplete:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u06A9\u0627\u0645\u0644 \u0634\u062F",labelFileProcessingAborted:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0644\u063A\u0648 \u0634\u062F",labelFileProcessingError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileProcessingRevertError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u0630\u0641",labelFileRemoveError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u0630\u0641",labelTapToCancel:"\u0628\u0631\u0627\u06CC \u0644\u063A\u0648 \u0636\u0631\u0628\u0647 \u0628\u0632\u0646\u06CC\u062F",labelTapToRetry:"\u0628\u0631\u0627\u06CC \u062A\u06A9\u0631\u0627\u0631 \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F",labelTapToUndo:"\u0628\u0631\u0627\u06CC \u0628\u0631\u06AF\u0634\u062A \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F",labelButtonRemoveItem:"\u062D\u0630\u0641",labelButtonAbortItemLoad:"\u0644\u063A\u0648",labelButtonRetryItemLoad:"\u062A\u06A9\u0631\u0627\u0631",labelButtonAbortItemProcessing:"\u0644\u063A\u0648",labelButtonUndoItemProcessing:"\u0628\u0631\u06AF\u0634\u062A",labelButtonRetryItemProcessing:"\u062A\u06A9\u0631\u0627\u0631",labelButtonProcessItem:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelMaxFileSizeExceeded:"\u0641\u0627\u06CC\u0644 \u0628\u0633\u06CC\u0627\u0631 \u062D\u062C\u06CC\u0645 \u0627\u0633\u062A",labelMaxFileSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0645\u062C\u0627\u0632 \u0641\u0627\u06CC\u0644 {filesize} \u0627\u0633\u062A",labelMaxTotalFileSizeExceeded:"\u0627\u0632 \u062D\u062F\u0627\u06A9\u062B\u0631 \u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 \u0628\u06CC\u0634\u062A\u0631 \u0634\u062F",labelMaxTotalFileSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 {filesize} \u0627\u0633\u062A",labelFileTypeNotAllowed:"\u0646\u0648\u0639 \u0641\u0627\u06CC\u0644 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A",fileValidateTypeLabelExpectedTypes:"\u062F\u0631 \u0627\u0646\u062A\u0638\u0627\u0631 {allButLastType} \u06CC\u0627 {lastType}",imageValidateSizeLabelFormatError:"\u0641\u0631\u0645\u062A \u062A\u0635\u0648\u06CC\u0631 \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC \u0634\u0648\u062F",imageValidateSizeLabelImageSizeTooSmall:"\u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u06A9\u0648\u0686\u06A9 \u0627\u0633\u062A",imageValidateSizeLabelImageSizeTooBig:"\u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u0628\u0632\u0631\u06AF \u0627\u0633\u062A",imageValidateSizeLabelExpectedMinSize:"\u062D\u062F\u0627\u0642\u0644 \u0627\u0646\u062F\u0627\u0632\u0647 {minWidth} \xD7 {minHeight} \u0627\u0633\u062A",imageValidateSizeLabelExpectedMaxSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0627\u0646\u062F\u0627\u0632\u0647 {maxWidth} \xD7 {maxHeight} \u0627\u0633\u062A",imageValidateSizeLabelImageResolutionTooLow:"\u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u06A9\u0645 \u0627\u0633\u062A",imageValidateSizeLabelImageResolutionTooHigh:"\u0648\u0636\u0648\u0639 \u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F \u0627\u0633\u062A",imageValidateSizeLabelExpectedMinResolution:"\u062D\u062F\u0627\u0642\u0644 \u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 {minResolution} \u0627\u0633\u062A",imageValidateSizeLabelExpectedMaxResolution:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 {maxResolution} \u0627\u0633\u062A"};var yo={labelIdle:'Ved\xE4 ja pudota tiedostoja tai Selaa ',labelInvalidField:"Kent\xE4ss\xE4 on virheellisi\xE4 tiedostoja",labelFileWaitingForSize:"Odotetaan kokoa",labelFileSizeNotAvailable:"Kokoa ei saatavilla",labelFileLoading:"Ladataan",labelFileLoadError:"Virhe latauksessa",labelFileProcessing:"L\xE4hetet\xE4\xE4n",labelFileProcessingComplete:"L\xE4hetys valmis",labelFileProcessingAborted:"L\xE4hetys peruttu",labelFileProcessingError:"Virhe l\xE4hetyksess\xE4",labelFileProcessingRevertError:"Virhe palautuksessa",labelFileRemoveError:"Virhe poistamisessa",labelTapToCancel:"peruuta napauttamalla",labelTapToRetry:"yrit\xE4 uudelleen napauttamalla",labelTapToUndo:"kumoa napauttamalla",labelButtonRemoveItem:"Poista",labelButtonAbortItemLoad:"Keskeyt\xE4",labelButtonRetryItemLoad:"Yrit\xE4 uudelleen",labelButtonAbortItemProcessing:"Peruuta",labelButtonUndoItemProcessing:"Kumoa",labelButtonRetryItemProcessing:"Yrit\xE4 uudelleen",labelButtonProcessItem:"L\xE4het\xE4",labelMaxFileSizeExceeded:"Tiedoston koko on liian suuri",labelMaxFileSize:"Tiedoston maksimikoko on {filesize}",labelMaxTotalFileSizeExceeded:"Tiedostojen yhdistetty maksimikoko ylitetty",labelMaxTotalFileSize:"Tiedostojen yhdistetty maksimikoko on {filesize}",labelFileTypeNotAllowed:"Tiedostotyyppi\xE4 ei sallita",fileValidateTypeLabelExpectedTypes:"Sallitaan {allButLastType} tai {lastType}",imageValidateSizeLabelFormatError:"Kuvatyyppi\xE4 ei tueta",imageValidateSizeLabelImageSizeTooSmall:"Kuva on liian pieni",imageValidateSizeLabelImageSizeTooBig:"Kuva on liian suuri",imageValidateSizeLabelExpectedMinSize:"Minimikoko on {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimikoko on {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resoluutio on liian pieni",imageValidateSizeLabelImageResolutionTooHigh:"Resoluutio on liian suuri",imageValidateSizeLabelExpectedMinResolution:"Minimiresoluutio on {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimiresoluutio on {maxResolution}"};var So={labelIdle:'Faites glisser vos fichiers ou Parcourir ',labelInvalidField:"Le champ contient des fichiers invalides",labelFileWaitingForSize:"En attente de taille",labelFileSizeNotAvailable:"Taille non disponible",labelFileLoading:"Chargement",labelFileLoadError:"Erreur durant le chargement",labelFileProcessing:"Traitement",labelFileProcessingComplete:"Traitement effectu\xE9",labelFileProcessingAborted:"Traitement interrompu",labelFileProcessingError:"Erreur durant le traitement",labelFileProcessingRevertError:"Erreur durant la restauration",labelFileRemoveError:"Erreur durant la suppression",labelTapToCancel:"appuyer pour annuler",labelTapToRetry:"appuyer pour r\xE9essayer",labelTapToUndo:"appuyer pour revenir en arri\xE8re",labelButtonRemoveItem:"Retirer",labelButtonAbortItemLoad:"Annuler",labelButtonRetryItemLoad:"Recommencer",labelButtonAbortItemProcessing:"Annuler",labelButtonUndoItemProcessing:"Revenir en arri\xE8re",labelButtonRetryItemProcessing:"Recommencer",labelButtonProcessItem:"Transf\xE9rer",labelMaxFileSizeExceeded:"Le fichier est trop volumineux",labelMaxFileSize:"La taille maximale de fichier est {filesize}",labelMaxTotalFileSizeExceeded:"Taille totale maximale d\xE9pass\xE9e",labelMaxTotalFileSize:"La taille totale maximale des fichiers est {filesize}",labelFileTypeNotAllowed:"Fichier non valide",fileValidateTypeLabelExpectedTypes:"Attendu {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Type d'image non pris en charge",imageValidateSizeLabelImageSizeTooSmall:"L'image est trop petite",imageValidateSizeLabelImageSizeTooBig:"L'image est trop grande",imageValidateSizeLabelExpectedMinSize:"La taille minimale est {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La taille maximale est {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La r\xE9solution est trop faible",imageValidateSizeLabelImageResolutionTooHigh:"La r\xE9solution est trop \xE9lev\xE9e",imageValidateSizeLabelExpectedMinResolution:"La r\xE9solution minimale est {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La r\xE9solution maximale est {maxResolution}"};var wo={labelIdle:'Mozgasd ide a f\xE1jlt a felt\xF6lt\xE9shez, vagy tall\xF3z\xE1s ',labelInvalidField:"A mez\u0151 \xE9rv\xE9nytelen f\xE1jlokat tartalmaz",labelFileWaitingForSize:"F\xE1ljm\xE9ret kisz\xE1mol\xE1sa",labelFileSizeNotAvailable:"A f\xE1jlm\xE9ret nem el\xE9rhet\u0151",labelFileLoading:"T\xF6lt\xE9s",labelFileLoadError:"Hiba a bet\xF6lt\xE9s sor\xE1n",labelFileProcessing:"Felt\xF6lt\xE9s",labelFileProcessingComplete:"Sikeres felt\xF6lt\xE9s",labelFileProcessingAborted:"A felt\xF6lt\xE9s megszak\xEDtva",labelFileProcessingError:"Hiba t\xF6rt\xE9nt a felt\xF6lt\xE9s sor\xE1n",labelFileProcessingRevertError:"Hiba a vissza\xE1ll\xEDt\xE1s sor\xE1n",labelFileRemoveError:"Hiba t\xF6rt\xE9nt az elt\xE1vol\xEDt\xE1s sor\xE1n",labelTapToCancel:"koppints a t\xF6rl\xE9shez",labelTapToRetry:"koppints az \xFAjrakezd\xE9shez",labelTapToUndo:"koppints a visszavon\xE1shoz",labelButtonRemoveItem:"Elt\xE1vol\xEDt\xE1s",labelButtonAbortItemLoad:"Megszak\xEDt\xE1s",labelButtonRetryItemLoad:"\xDAjrapr\xF3b\xE1lkoz\xE1s",labelButtonAbortItemProcessing:"Megszak\xEDt\xE1s",labelButtonUndoItemProcessing:"Visszavon\xE1s",labelButtonRetryItemProcessing:"\xDAjrapr\xF3b\xE1lkoz\xE1s",labelButtonProcessItem:"Felt\xF6lt\xE9s",labelMaxFileSizeExceeded:"A f\xE1jl t\xFAll\xE9pte a maxim\xE1lis m\xE9retet",labelMaxFileSize:"Maxim\xE1lis f\xE1jlm\xE9ret: {filesize}",labelMaxTotalFileSizeExceeded:"T\xFAll\xE9pte a maxim\xE1lis teljes m\xE9retet",labelMaxTotalFileSize:"A maxim\xE1is teljes f\xE1jlm\xE9ret: {filesize}",labelFileTypeNotAllowed:"\xC9rv\xE9nytelen t\xEDpus\xFA f\xE1jl",fileValidateTypeLabelExpectedTypes:"Enged\xE9lyezett t\xEDpusok {allButLastType} vagy {lastType}",imageValidateSizeLabelFormatError:"A k\xE9pt\xEDpus nem t\xE1mogatott",imageValidateSizeLabelImageSizeTooSmall:"A k\xE9p t\xFAl kicsi",imageValidateSizeLabelImageSizeTooBig:"A k\xE9p t\xFAl nagy",imageValidateSizeLabelExpectedMinSize:"Minimum m\xE9ret: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum m\xE9ret: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"A felbont\xE1s t\xFAl alacsony",imageValidateSizeLabelImageResolutionTooHigh:"A felbont\xE1s t\xFAl magas",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1is felbont\xE1s: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1lis felbont\xE1s: {maxResolution}"};var vo={labelIdle:'Seret & Jatuhkan berkas Anda atau Jelajahi',labelInvalidField:"Isian berisi berkas yang tidak valid",labelFileWaitingForSize:"Menunggu ukuran berkas",labelFileSizeNotAvailable:"Ukuran berkas tidak tersedia",labelFileLoading:"Memuat",labelFileLoadError:"Kesalahan saat memuat",labelFileProcessing:"Mengunggah",labelFileProcessingComplete:"Pengunggahan selesai",labelFileProcessingAborted:"Pengunggahan dibatalkan",labelFileProcessingError:"Kesalahan saat pengunggahan",labelFileProcessingRevertError:"Kesalahan saat pemulihan",labelFileRemoveError:"Kesalahan saat penghapusan",labelTapToCancel:"ketuk untuk membatalkan",labelTapToRetry:"ketuk untuk mencoba lagi",labelTapToUndo:"ketuk untuk mengurungkan",labelButtonRemoveItem:"Hapus",labelButtonAbortItemLoad:"Batalkan",labelButtonRetryItemLoad:"Coba Kembali",labelButtonAbortItemProcessing:"Batalkan",labelButtonUndoItemProcessing:"Urungkan",labelButtonRetryItemProcessing:"Coba Kembali",labelButtonProcessItem:"Unggah",labelMaxFileSizeExceeded:"Berkas terlalu besar",labelMaxFileSize:"Ukuran berkas maksimum adalah {filesize}",labelMaxTotalFileSizeExceeded:"Jumlah berkas maksimum terlampaui",labelMaxTotalFileSize:"Jumlah berkas maksimum adalah {filesize}",labelFileTypeNotAllowed:"Jenis berkas tidak valid",fileValidateTypeLabelExpectedTypes:"Mengharapkan {allButLastType} atau {lastType}",imageValidateSizeLabelFormatError:"Jenis citra tidak didukung",imageValidateSizeLabelImageSizeTooSmall:"Citra terlalu kecil",imageValidateSizeLabelImageSizeTooBig:"Citra terlalu besar",imageValidateSizeLabelExpectedMinSize:"Ukuran minimum adalah {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Ukuran maksimum adalah {minWidth} \xD7 {minHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolusi terlalu rendah",imageValidateSizeLabelImageResolutionTooHigh:"Resolusi terlalu tinggi",imageValidateSizeLabelExpectedMinResolution:"Resolusi minimum adalah {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Resolusi maksimum adalah {maxResolution}"};var Ao={labelIdle:'Trascina e rilascia i tuoi file oppure Carica ',labelInvalidField:"Il campo contiene dei file non validi",labelFileWaitingForSize:"Aspettando le dimensioni",labelFileSizeNotAvailable:"Dimensioni non disponibili",labelFileLoading:"Caricamento",labelFileLoadError:"Errore durante il caricamento",labelFileProcessing:"Caricamento",labelFileProcessingComplete:"Caricamento completato",labelFileProcessingAborted:"Caricamento cancellato",labelFileProcessingError:"Errore durante il caricamento",labelFileProcessingRevertError:"Errore durante il ripristino",labelFileRemoveError:"Errore durante l'eliminazione",labelTapToCancel:"tocca per cancellare",labelTapToRetry:"tocca per riprovare",labelTapToUndo:"tocca per ripristinare",labelButtonRemoveItem:"Elimina",labelButtonAbortItemLoad:"Cancella",labelButtonRetryItemLoad:"Ritenta",labelButtonAbortItemProcessing:"Camcella",labelButtonUndoItemProcessing:"Indietro",labelButtonRetryItemProcessing:"Ritenta",labelButtonProcessItem:"Carica",labelMaxFileSizeExceeded:"Il peso del file \xE8 eccessivo",labelMaxFileSize:"Il peso massimo del file \xE8 {filesize}",labelMaxTotalFileSizeExceeded:"Dimensione totale massima superata",labelMaxTotalFileSize:"La dimensione massima totale del file \xE8 {filesize}",labelFileTypeNotAllowed:"File non supportato",fileValidateTypeLabelExpectedTypes:"Aspetta {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipo di immagine non compatibile",imageValidateSizeLabelImageSizeTooSmall:"L'immagine \xE8 troppo piccola",imageValidateSizeLabelImageSizeTooBig:"L'immagine \xE8 troppo grande",imageValidateSizeLabelExpectedMinSize:"La dimensione minima \xE8 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La dimensione massima \xE8 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La risoluzione \xE8 troppo bassa",imageValidateSizeLabelImageResolutionTooHigh:"La risoluzione \xE8 troppo alta",imageValidateSizeLabelExpectedMinResolution:"La risoluzione minima \xE8 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La risoluzione massima \xE8 {maxResolution}"};var Lo={labelIdle:'Drag & Drop je bestanden of Bladeren ',labelInvalidField:"Veld bevat ongeldige bestanden",labelFileWaitingForSize:"Wachten op grootte",labelFileSizeNotAvailable:"Grootte niet beschikbaar",labelFileLoading:"Laden",labelFileLoadError:"Fout tijdens laden",labelFileProcessing:"Uploaden",labelFileProcessingComplete:"Upload afgerond",labelFileProcessingAborted:"Upload geannuleerd",labelFileProcessingError:"Fout tijdens upload",labelFileProcessingRevertError:"Fout bij herstellen",labelFileRemoveError:"Fout bij verwijderen",labelTapToCancel:"tik om te annuleren",labelTapToRetry:"tik om opnieuw te proberen",labelTapToUndo:"tik om ongedaan te maken",labelButtonRemoveItem:"Verwijderen",labelButtonAbortItemLoad:"Afbreken",labelButtonRetryItemLoad:"Opnieuw proberen",labelButtonAbortItemProcessing:"Annuleren",labelButtonUndoItemProcessing:"Ongedaan maken",labelButtonRetryItemProcessing:"Opnieuw proberen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Bestand is te groot",labelMaxFileSize:"Maximale bestandsgrootte is {filesize}",labelMaxTotalFileSizeExceeded:"Maximale totale grootte overschreden",labelMaxTotalFileSize:"Maximale totale bestandsgrootte is {filesize}",labelFileTypeNotAllowed:"Ongeldig bestandstype",fileValidateTypeLabelExpectedTypes:"Verwacht {allButLastType} of {lastType}",imageValidateSizeLabelFormatError:"Afbeeldingstype niet ondersteund",imageValidateSizeLabelImageSizeTooSmall:"Afbeelding is te klein",imageValidateSizeLabelImageSizeTooBig:"Afbeelding is te groot",imageValidateSizeLabelExpectedMinSize:"Minimale afmeting is {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximale afmeting is {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolutie is te laag",imageValidateSizeLabelImageResolutionTooHigh:"Resolution is too high",imageValidateSizeLabelExpectedMinResolution:"Minimale resolutie is {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximale resolutie is {maxResolution}"};var Mo={labelIdle:'Dra og slipp filene dine, eller Bla gjennom... ',labelInvalidField:"Feltet inneholder ugyldige filer",labelFileWaitingForSize:"Venter p\xE5 st\xF8rrelse",labelFileSizeNotAvailable:"St\xF8rrelse ikke tilgjengelig",labelFileLoading:"Laster",labelFileLoadError:"Feil under lasting",labelFileProcessing:"Laster opp",labelFileProcessingComplete:"Opplasting ferdig",labelFileProcessingAborted:"Opplasting avbrutt",labelFileProcessingError:"Feil under opplasting",labelFileProcessingRevertError:"Feil under reversering",labelFileRemoveError:"Feil under flytting",labelTapToCancel:"klikk for \xE5 avbryte",labelTapToRetry:"klikk for \xE5 pr\xF8ve p\xE5 nytt",labelTapToUndo:"klikk for \xE5 angre",labelButtonRemoveItem:"Fjern",labelButtonAbortItemLoad:"Avbryt",labelButtonRetryItemLoad:"Pr\xF8v p\xE5 nytt",labelButtonAbortItemProcessing:"Avbryt",labelButtonUndoItemProcessing:"Angre",labelButtonRetryItemProcessing:"Pr\xF8v p\xE5 nytt",labelButtonProcessItem:"Last opp",labelMaxFileSizeExceeded:"Filen er for stor",labelMaxFileSize:"Maksimal filst\xF8rrelse er {filesize}",labelMaxTotalFileSizeExceeded:"Maksimal total st\xF8rrelse oversteget",labelMaxTotalFileSize:"Maksimal total st\xF8rrelse er {filesize}",labelFileTypeNotAllowed:"Ugyldig filtype",fileValidateTypeLabelExpectedTypes:"Forventer {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Bildeformat ikke st\xF8ttet",imageValidateSizeLabelImageSizeTooSmall:"Bildet er for lite",imageValidateSizeLabelImageSizeTooBig:"Bildet er for stort",imageValidateSizeLabelExpectedMinSize:"Minimumsst\xF8rrelse er {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimumsst\xF8rrelse er {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Oppl\xF8sningen er for lav",imageValidateSizeLabelImageResolutionTooHigh:"Oppl\xF8sningen er for h\xF8y",imageValidateSizeLabelExpectedMinResolution:"Minimum oppl\xF8sning er {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimal oppl\xF8sning er {maxResolution}"};var Oo={labelIdle:'Przeci\u0105gnij i upu\u015B\u0107 lub wybierz pliki',labelInvalidField:"Nieprawid\u0142owe pliki",labelFileWaitingForSize:"Pobieranie rozmiaru",labelFileSizeNotAvailable:"Nieznany rozmiar",labelFileLoading:"Wczytywanie",labelFileLoadError:"B\u0142\u0105d wczytywania",labelFileProcessing:"Przesy\u0142anie",labelFileProcessingComplete:"Przes\u0142ano",labelFileProcessingAborted:"Przerwano",labelFileProcessingError:"Przesy\u0142anie nie powiod\u0142o si\u0119",labelFileProcessingRevertError:"Co\u015B posz\u0142o nie tak",labelFileRemoveError:"Nieudane usuni\u0119cie",labelTapToCancel:"Anuluj",labelTapToRetry:"Pon\xF3w",labelTapToUndo:"Cofnij",labelButtonRemoveItem:"Usu\u0144",labelButtonAbortItemLoad:"Przerwij",labelButtonRetryItemLoad:"Pon\xF3w",labelButtonAbortItemProcessing:"Anuluj",labelButtonUndoItemProcessing:"Cofnij",labelButtonRetryItemProcessing:"Pon\xF3w",labelButtonProcessItem:"Prze\u015Blij",labelMaxFileSizeExceeded:"Plik jest zbyt du\u017Cy",labelMaxFileSize:"Dopuszczalna wielko\u015B\u0107 pliku to {filesize}",labelMaxTotalFileSizeExceeded:"Przekroczono \u0142\u0105czny rozmiar plik\xF3w",labelMaxTotalFileSize:"\u0141\u0105czny rozmiar plik\xF3w nie mo\u017Ce przekroczy\u0107 {filesize}",labelFileTypeNotAllowed:"Niedozwolony rodzaj pliku",fileValidateTypeLabelExpectedTypes:"Oczekiwano {allButLastType} lub {lastType}",imageValidateSizeLabelFormatError:"Nieobs\u0142ugiwany format obrazu",imageValidateSizeLabelImageSizeTooSmall:"Obraz jest zbyt ma\u0142y",imageValidateSizeLabelImageSizeTooBig:"Obraz jest zbyt du\u017Cy",imageValidateSizeLabelExpectedMinSize:"Minimalne wymiary obrazu to {minWidth}\xD7{minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksymalna wymiary obrazu to {maxWidth}\xD7{maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozdzielczo\u015B\u0107 jest zbyt niska",imageValidateSizeLabelImageResolutionTooHigh:"Rozdzielczo\u015B\u0107 jest zbyt wysoka",imageValidateSizeLabelExpectedMinResolution:"Minimalna rozdzielczo\u015B\u0107 to {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksymalna rozdzielczo\u015B\u0107 to {maxResolution}"};var _i={labelIdle:'Arraste e solte os arquivos ou Clique aqui ',labelInvalidField:"Arquivos inv\xE1lidos",labelFileWaitingForSize:"Calculando o tamanho do arquivo",labelFileSizeNotAvailable:"Tamanho do arquivo indispon\xEDvel",labelFileLoading:"Carregando",labelFileLoadError:"Erro durante o carregamento",labelFileProcessing:"Enviando",labelFileProcessingComplete:"Envio finalizado",labelFileProcessingAborted:"Envio cancelado",labelFileProcessingError:"Erro durante o envio",labelFileProcessingRevertError:"Erro ao reverter o envio",labelFileRemoveError:"Erro ao remover o arquivo",labelTapToCancel:"clique para cancelar",labelTapToRetry:"clique para reenviar",labelTapToUndo:"clique para desfazer",labelButtonRemoveItem:"Remover",labelButtonAbortItemLoad:"Abortar",labelButtonRetryItemLoad:"Reenviar",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Desfazer",labelButtonRetryItemProcessing:"Reenviar",labelButtonProcessItem:"Enviar",labelMaxFileSizeExceeded:"Arquivo \xE9 muito grande",labelMaxFileSize:"O tamanho m\xE1ximo permitido: {filesize}",labelMaxTotalFileSizeExceeded:"Tamanho total dos arquivos excedido",labelMaxTotalFileSize:"Tamanho total permitido: {filesize}",labelFileTypeNotAllowed:"Tipo de arquivo inv\xE1lido",fileValidateTypeLabelExpectedTypes:"Tipos de arquivo suportados s\xE3o {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagem inv\xE1lida",imageValidateSizeLabelImageSizeTooSmall:"Imagem muito pequena",imageValidateSizeLabelImageSizeTooBig:"Imagem muito grande",imageValidateSizeLabelExpectedMinSize:"Tamanho m\xEDnimo permitida: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Tamanho m\xE1ximo permitido: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolu\xE7\xE3o muito baixa",imageValidateSizeLabelImageResolutionTooHigh:"Resolu\xE7\xE3o muito alta",imageValidateSizeLabelExpectedMinResolution:"Resolu\xE7\xE3o m\xEDnima permitida: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Resolu\xE7\xE3o m\xE1xima permitida: {maxResolution}"};var xo={labelIdle:'Trage \u0219i plaseaz\u0103 fi\u0219iere sau Caut\u0103-le ',labelInvalidField:"C\xE2mpul con\u021Bine fi\u0219iere care nu sunt valide",labelFileWaitingForSize:"\xCEn a\u0219teptarea dimensiunii",labelFileSizeNotAvailable:"Dimensiunea nu este diponibil\u0103",labelFileLoading:"Se \xEEncarc\u0103",labelFileLoadError:"Eroare la \xEEnc\u0103rcare",labelFileProcessing:"Se \xEEncarc\u0103",labelFileProcessingComplete:"\xCEnc\u0103rcare finalizat\u0103",labelFileProcessingAborted:"\xCEnc\u0103rcare anulat\u0103",labelFileProcessingError:"Eroare la \xEEnc\u0103rcare",labelFileProcessingRevertError:"Eroare la anulare",labelFileRemoveError:"Eroare la \u015Ftergere",labelTapToCancel:"apas\u0103 pentru a anula",labelTapToRetry:"apas\u0103 pentru a re\xEEncerca",labelTapToUndo:"apas\u0103 pentru a anula",labelButtonRemoveItem:"\u015Eterge",labelButtonAbortItemLoad:"Anuleaz\u0103",labelButtonRetryItemLoad:"Re\xEEncearc\u0103",labelButtonAbortItemProcessing:"Anuleaz\u0103",labelButtonUndoItemProcessing:"Anuleaz\u0103",labelButtonRetryItemProcessing:"Re\xEEncearc\u0103",labelButtonProcessItem:"\xCEncarc\u0103",labelMaxFileSizeExceeded:"Fi\u0219ierul este prea mare",labelMaxFileSize:"Dimensiunea maxim\u0103 a unui fi\u0219ier este de {filesize}",labelMaxTotalFileSizeExceeded:"Dimensiunea total\u0103 maxim\u0103 a fost dep\u0103\u0219it\u0103",labelMaxTotalFileSize:"Dimensiunea total\u0103 maxim\u0103 a fi\u0219ierelor este de {filesize}",labelFileTypeNotAllowed:"Tipul fi\u0219ierului nu este valid",fileValidateTypeLabelExpectedTypes:"Se a\u0219teapt\u0103 {allButLastType} sau {lastType}",imageValidateSizeLabelFormatError:"Formatul imaginii nu este acceptat",imageValidateSizeLabelImageSizeTooSmall:"Imaginea este prea mic\u0103",imageValidateSizeLabelImageSizeTooBig:"Imaginea este prea mare",imageValidateSizeLabelExpectedMinSize:"M\u0103rimea minim\u0103 este de {maxWidth} x {maxHeight}",imageValidateSizeLabelExpectedMaxSize:"M\u0103rimea maxim\u0103 este de {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezolu\u021Bia este prea mic\u0103",imageValidateSizeLabelImageResolutionTooHigh:"Rezolu\u021Bia este prea mare",imageValidateSizeLabelExpectedMinResolution:"Rezolu\u021Bia minim\u0103 este de {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Rezolu\u021Bia maxim\u0103 este de {maxResolution}"};var Po={labelIdle:'\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0438\u043B\u0438 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 ',labelInvalidField:"\u041F\u043E\u043B\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0444\u0430\u0439\u043B\u044B",labelFileWaitingForSize:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440",labelFileSizeNotAvailable:"\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",labelFileLoading:"\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435",labelFileLoadError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0438",labelFileProcessing:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",labelFileProcessingComplete:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430",labelFileProcessingAborted:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430",labelFileProcessingError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0435",labelFileProcessingRevertError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0435",labelFileRemoveError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438",labelTapToCancel:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B",labelTapToRetry:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelTapToUndo:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",labelButtonRemoveItem:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",labelButtonAbortItemLoad:"\u041F\u0440\u0435\u043A\u0440\u0430\u0449\u0435\u043D\u043E",labelButtonRetryItemLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelButtonAbortItemProcessing:"\u041E\u0442\u043C\u0435\u043D\u0430",labelButtonUndoItemProcessing:"\u041E\u0442\u043C\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",labelButtonRetryItemProcessing:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelButtonProcessItem:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",labelMaxFileSizeExceeded:"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439",labelMaxFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: {filesize}",labelMaxTotalFileSizeExceeded:"\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440",labelMaxTotalFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: {filesize}",labelFileTypeNotAllowed:"\u0424\u0430\u0439\u043B \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430",fileValidateTypeLabelExpectedTypes:"\u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F {allButLastType} \u0438\u043B\u0438 {lastType}",imageValidateSizeLabelFormatError:"\u0422\u0438\u043F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",imageValidateSizeLabelImageSizeTooSmall:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435",imageValidateSizeLabelImageSizeTooBig:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435",imageValidateSizeLabelExpectedMinSize:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043D\u0438\u0437\u043A\u043E\u0435",imageValidateSizeLabelImageResolutionTooHigh:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0432\u044B\u0441\u043E\u043A\u043E\u0435",imageValidateSizeLabelExpectedMinResolution:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435: {maxResolution}"};var Do={labelIdle:'Drag och sl\xE4pp dina filer eller Bl\xE4ddra ',labelInvalidField:"F\xE4ltet inneh\xE5ller felaktiga filer",labelFileWaitingForSize:"V\xE4ntar p\xE5 storlek",labelFileSizeNotAvailable:"Storleken finns inte tillg\xE4nglig",labelFileLoading:"Laddar",labelFileLoadError:"Fel under laddning",labelFileProcessing:"Laddar upp",labelFileProcessingComplete:"Uppladdning klar",labelFileProcessingAborted:"Uppladdning avbruten",labelFileProcessingError:"Fel under uppladdning",labelFileProcessingRevertError:"Fel under \xE5terst\xE4llning",labelFileRemoveError:"Fel under borttagning",labelTapToCancel:"tryck f\xF6r att avbryta",labelTapToRetry:"tryck f\xF6r att f\xF6rs\xF6ka igen",labelTapToUndo:"tryck f\xF6r att \xE5ngra",labelButtonRemoveItem:"Tabort",labelButtonAbortItemLoad:"Avbryt",labelButtonRetryItemLoad:"F\xF6rs\xF6k igen",labelButtonAbortItemProcessing:"Avbryt",labelButtonUndoItemProcessing:"\xC5ngra",labelButtonRetryItemProcessing:"F\xF6rs\xF6k igen",labelButtonProcessItem:"Ladda upp",labelMaxFileSizeExceeded:"Filen \xE4r f\xF6r stor",labelMaxFileSize:"St\xF6rsta till\xE5tna filstorlek \xE4r {filesize}",labelMaxTotalFileSizeExceeded:"Maximal uppladdningsstorlek uppn\xE5d",labelMaxTotalFileSize:"Maximal uppladdningsstorlek \xE4r {filesize}",labelFileTypeNotAllowed:"Felaktig filtyp",fileValidateTypeLabelExpectedTypes:"Godk\xE4nda filtyper {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Bildtypen saknar st\xF6d",imageValidateSizeLabelImageSizeTooSmall:"Bilden \xE4r f\xF6r liten",imageValidateSizeLabelImageSizeTooBig:"Bilden \xE4r f\xF6r stor",imageValidateSizeLabelExpectedMinSize:"Minimal storlek \xE4r {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximal storlek \xE4r {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Uppl\xF6sningen \xE4r f\xF6r l\xE5g",imageValidateSizeLabelImageResolutionTooHigh:"Uppl\xF6sningen \xE4r f\xF6r h\xF6g",imageValidateSizeLabelExpectedMinResolution:"Minsta till\xE5tna uppl\xF6sning \xE4r {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"H\xF6gsta till\xE5tna uppl\xF6sning \xE4r {maxResolution}"};var Fo={labelIdle:'Dosyan\u0131z\u0131 S\xFCr\xFCkleyin & B\u0131rak\u0131n ya da Se\xE7in ',labelInvalidField:"Alan ge\xE7ersiz dosyalar i\xE7eriyor",labelFileWaitingForSize:"Boyut hesaplan\u0131yor",labelFileSizeNotAvailable:"Boyut mevcut de\u011Fil",labelFileLoading:"Y\xFCkleniyor",labelFileLoadError:"Y\xFCkleme s\u0131ras\u0131nda hata olu\u015Ftu",labelFileProcessing:"Y\xFCkleniyor",labelFileProcessingComplete:"Y\xFCkleme tamamland\u0131",labelFileProcessingAborted:"Y\xFCkleme iptal edildi",labelFileProcessingError:"Y\xFCklerken hata olu\u015Ftu",labelFileProcessingRevertError:"Geri \xE7ekerken hata olu\u015Ftu",labelFileRemoveError:"Kald\u0131r\u0131rken hata olu\u015Ftu",labelTapToCancel:"\u0130ptal etmek i\xE7in t\u0131klay\u0131n",labelTapToRetry:"Tekrar denemek i\xE7in t\u0131klay\u0131n",labelTapToUndo:"Geri almak i\xE7in t\u0131klay\u0131n",labelButtonRemoveItem:"Kald\u0131r",labelButtonAbortItemLoad:"\u0130ptal Et",labelButtonRetryItemLoad:"Tekrar dene",labelButtonAbortItemProcessing:"\u0130ptal et",labelButtonUndoItemProcessing:"Geri Al",labelButtonRetryItemProcessing:"Tekrar dene",labelButtonProcessItem:"Y\xFCkle",labelMaxFileSizeExceeded:"Dosya \xE7ok b\xFCy\xFCk",labelMaxFileSize:"En fazla dosya boyutu: {filesize}",labelMaxTotalFileSizeExceeded:"Maximum boyut a\u015F\u0131ld\u0131",labelMaxTotalFileSize:"Maximum dosya boyutu :{filesize}",labelFileTypeNotAllowed:"Ge\xE7ersiz dosya tipi",fileValidateTypeLabelExpectedTypes:"\u015Eu {allButLastType} ya da \u015Fu dosya olmas\u0131 gerekir: {lastType}",imageValidateSizeLabelFormatError:"Resim tipi desteklenmiyor",imageValidateSizeLabelImageSizeTooSmall:"Resim \xE7ok k\xFC\xE7\xFCk",imageValidateSizeLabelImageSizeTooBig:"Resim \xE7ok b\xFCy\xFCk",imageValidateSizeLabelExpectedMinSize:"Minimum boyut {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum boyut {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\xC7\xF6z\xFCn\xFCrl\xFCk \xE7ok d\xFC\u015F\xFCk",imageValidateSizeLabelImageResolutionTooHigh:"\xC7\xF6z\xFCn\xFCrl\xFCk \xE7ok y\xFCksek",imageValidateSizeLabelExpectedMinResolution:"Minimum \xE7\xF6z\xFCn\xFCrl\xFCk {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum \xE7\xF6z\xFCn\xFCrl\xFCk {maxResolution}"};var Co={labelIdle:'\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B\u0438 \u0430\u0431\u043E \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C ',labelInvalidField:"\u041F\u043E\u043B\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u0456 \u0444\u0430\u0439\u043B\u0438",labelFileWaitingForSize:"\u0412\u043A\u0430\u0436\u0456\u0442\u044C \u0440\u043E\u0437\u043C\u0456\u0440",labelFileSizeNotAvailable:"\u0420\u043E\u0437\u043C\u0456\u0440 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0438\u0439",labelFileLoading:"\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F",labelFileLoadError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u0456",labelFileProcessing:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",labelFileProcessingComplete:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",labelFileProcessingAborted:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0441\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u043E",labelFileProcessingError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u0456",labelFileProcessingRevertError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0432\u0456\u0434\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0456",labelFileRemoveError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u0456",labelTapToCancel:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelTapToRetry:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelTapToUndo:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0434\u0456\u044E",labelButtonRemoveItem:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",labelButtonAbortItemLoad:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelButtonRetryItemLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelButtonAbortItemProcessing:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelButtonUndoItemProcessing:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0434\u0456\u044E",labelButtonRetryItemProcessing:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelButtonProcessItem:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",labelMaxFileSizeExceeded:"\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439",labelMaxFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0444\u0430\u0439\u043B\u0443: {filesize}",labelMaxTotalFileSizeExceeded:"\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440",labelMaxTotalFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {filesize}",labelFileTypeNotAllowed:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0443 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",fileValidateTypeLabelExpectedTypes:"\u041E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F {allButLastType} \u0430\u0431\u043E {lastType}",imageValidateSizeLabelFormatError:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",imageValidateSizeLabelImageSizeTooSmall:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0435",imageValidateSizeLabelImageSizeTooBig:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435",imageValidateSizeLabelExpectedMinSize:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0456",imageValidateSizeLabelImageResolutionTooHigh:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0456",imageValidateSizeLabelExpectedMinResolution:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438: {maxResolution}"};var zo={labelIdle:'K\xE9o th\u1EA3 t\u1EC7p c\u1EE7a b\u1EA1n ho\u1EB7c T\xECm ki\u1EBFm ',labelInvalidField:"Tr\u01B0\u1EDDng ch\u1EE9a c\xE1c t\u1EC7p kh\xF4ng h\u1EE3p l\u1EC7",labelFileWaitingForSize:"\u0110ang ch\u1EDD k\xEDch th\u01B0\u1EDBc",labelFileSizeNotAvailable:"K\xEDch th\u01B0\u1EDBc kh\xF4ng c\xF3 s\u1EB5n",labelFileLoading:"\u0110ang t\u1EA3i",labelFileLoadError:"L\u1ED7i khi t\u1EA3i",labelFileProcessing:"\u0110ang t\u1EA3i l\xEAn",labelFileProcessingComplete:"T\u1EA3i l\xEAn th\xE0nh c\xF4ng",labelFileProcessingAborted:"\u0110\xE3 hu\u1EF7 t\u1EA3i l\xEAn",labelFileProcessingError:"L\u1ED7i khi t\u1EA3i l\xEAn",labelFileProcessingRevertError:"L\u1ED7i khi ho\xE0n nguy\xEAn",labelFileRemoveError:"L\u1ED7i khi x\xF3a",labelTapToCancel:"nh\u1EA5n \u0111\u1EC3 h\u1EE7y",labelTapToRetry:"nh\u1EA5n \u0111\u1EC3 th\u1EED l\u1EA1i",labelTapToUndo:"nh\u1EA5n \u0111\u1EC3 ho\xE0n t\xE1c",labelButtonRemoveItem:"Xo\xE1",labelButtonAbortItemLoad:"Hu\u1EF7 b\u1ECF",labelButtonRetryItemLoad:"Th\u1EED l\u1EA1i",labelButtonAbortItemProcessing:"H\u1EE7y b\u1ECF",labelButtonUndoItemProcessing:"Ho\xE0n t\xE1c",labelButtonRetryItemProcessing:"Th\u1EED l\u1EA1i",labelButtonProcessItem:"T\u1EA3i l\xEAn",labelMaxFileSizeExceeded:"T\u1EADp tin qu\xE1 l\u1EDBn",labelMaxFileSize:"K\xEDch th\u01B0\u1EDBc t\u1EC7p t\u1ED1i \u0111a l\xE0 {filesize}",labelMaxTotalFileSizeExceeded:"\u0110\xE3 v\u01B0\u1EE3t qu\xE1 t\u1ED5ng k\xEDch th\u01B0\u1EDBc t\u1ED1i \u0111a",labelMaxTotalFileSize:"T\u1ED5ng k\xEDch th\u01B0\u1EDBc t\u1EC7p t\u1ED1i \u0111a l\xE0 {filesize}",labelFileTypeNotAllowed:"T\u1EC7p thu\u1ED9c lo\u1EA1i kh\xF4ng h\u1EE3p l\u1EC7",fileValidateTypeLabelExpectedTypes:"Ki\u1EC3u t\u1EC7p h\u1EE3p l\u1EC7 l\xE0 {allButLastType} ho\u1EB7c {lastType}",imageValidateSizeLabelFormatError:"Lo\u1EA1i h\xECnh \u1EA3nh kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",imageValidateSizeLabelImageSizeTooSmall:"H\xECnh \u1EA3nh qu\xE1 nh\u1ECF",imageValidateSizeLabelImageSizeTooBig:"H\xECnh \u1EA3nh qu\xE1 l\u1EDBn",imageValidateSizeLabelExpectedMinSize:"K\xEDch th\u01B0\u1EDBc t\u1ED1i thi\u1EC3u l\xE0 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"K\xEDch th\u01B0\u1EDBc t\u1ED1i \u0111a l\xE0 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0110\u1ED9 ph\xE2n gi\u1EA3i qu\xE1 th\u1EA5p",imageValidateSizeLabelImageResolutionTooHigh:"\u0110\u1ED9 ph\xE2n gi\u1EA3i qu\xE1 cao",imageValidateSizeLabelExpectedMinResolution:"\u0110\u1ED9 ph\xE2n gi\u1EA3i t\u1ED1i thi\u1EC3u l\xE0 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0110\u1ED9 ph\xE2n gi\u1EA3i t\u1ED1i \u0111a l\xE0 {maxResolution}"};var No={labelIdle:'\u62D6\u653E\u6587\u4EF6\uFF0C\u6216\u8005 \u6D4F\u89C8 ',labelInvalidField:"\u5B57\u6BB5\u5305\u542B\u65E0\u6548\u6587\u4EF6",labelFileWaitingForSize:"\u8BA1\u7B97\u6587\u4EF6\u5927\u5C0F",labelFileSizeNotAvailable:"\u6587\u4EF6\u5927\u5C0F\u4E0D\u53EF\u7528",labelFileLoading:"\u52A0\u8F7D",labelFileLoadError:"\u52A0\u8F7D\u9519\u8BEF",labelFileProcessing:"\u4E0A\u4F20",labelFileProcessingComplete:"\u5DF2\u4E0A\u4F20",labelFileProcessingAborted:"\u4E0A\u4F20\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u4F20\u51FA\u9519",labelFileProcessingRevertError:"\u8FD8\u539F\u51FA\u9519",labelFileRemoveError:"\u5220\u9664\u51FA\u9519",labelTapToCancel:"\u70B9\u51FB\u53D6\u6D88",labelTapToRetry:"\u70B9\u51FB\u91CD\u8BD5",labelTapToUndo:"\u70B9\u51FB\u64A4\u6D88",labelButtonRemoveItem:"\u5220\u9664",labelButtonAbortItemLoad:"\u4E2D\u6B62",labelButtonRetryItemLoad:"\u91CD\u8BD5",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u64A4\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8BD5",labelButtonProcessItem:"\u4E0A\u4F20",labelMaxFileSizeExceeded:"\u6587\u4EF6\u592A\u5927",labelMaxFileSize:"\u6700\u5927\u503C: {filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u8FC7\u6700\u5927\u6587\u4EF6\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u6587\u4EF6\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u6587\u4EF6\u7C7B\u578B\u65E0\u6548",fileValidateTypeLabelExpectedTypes:"\u5E94\u4E3A {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u56FE\u50CF\u7C7B\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u56FE\u50CF\u592A\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u56FE\u50CF\u592A\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u503C: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u503C: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u5206\u8FA8\u7387\u592A\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u5206\u8FA8\u7387\u592A\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u5C0F\u5206\u8FA8\u7387\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u5927\u5206\u8FA8\u7387\uFF1A{maxResolution}"};var Bo={labelIdle:'\u62D6\u653E\u6A94\u6848\uFF0C\u6216\u8005 \u700F\u89BD ',labelInvalidField:"\u4E0D\u652F\u63F4\u6B64\u6A94\u6848",labelFileWaitingForSize:"\u6B63\u5728\u8A08\u7B97\u6A94\u6848\u5927\u5C0F",labelFileSizeNotAvailable:"\u6A94\u6848\u5927\u5C0F\u4E0D\u7B26",labelFileLoading:"\u8B80\u53D6\u4E2D",labelFileLoadError:"\u8B80\u53D6\u932F\u8AA4",labelFileProcessing:"\u4E0A\u50B3",labelFileProcessingComplete:"\u5DF2\u4E0A\u50B3",labelFileProcessingAborted:"\u4E0A\u50B3\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u50B3\u767C\u751F\u932F\u8AA4",labelFileProcessingRevertError:"\u9084\u539F\u932F\u8AA4",labelFileRemoveError:"\u522A\u9664\u932F\u8AA4",labelTapToCancel:"\u9EDE\u64CA\u53D6\u6D88",labelTapToRetry:"\u9EDE\u64CA\u91CD\u8A66",labelTapToUndo:"\u9EDE\u64CA\u9084\u539F",labelButtonRemoveItem:"\u522A\u9664",labelButtonAbortItemLoad:"\u505C\u6B62",labelButtonRetryItemLoad:"\u91CD\u8A66",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u53D6\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8A66",labelButtonProcessItem:"\u4E0A\u50B3",labelMaxFileSizeExceeded:"\u6A94\u6848\u904E\u5927",labelMaxFileSize:"\u6700\u5927\u503C\uFF1A{filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u904E\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u4E0D\u652F\u63F4\u6B64\u985E\u578B\u6A94\u6848",fileValidateTypeLabelExpectedTypes:"\u61C9\u70BA {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u6B64\u985E\u5716\u7247\u985E\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u5716\u7247\u904E\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u5716\u7247\u904E\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u5C3A\u5BF8\uFF1A{minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u5C3A\u5BF8\uFF1A{maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u89E3\u6790\u5EA6\u904E\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u89E3\u6790\u5EA6\u904E\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u4F4E\u89E3\u6790\u5EA6\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u9AD8\u89E3\u6790\u5EA6\uFF1A{maxResolution}"};_e(xr);_e(Dr);_e(zr);_e(Br);_e(kr);_e(Jr);_e(to);_e(po);_e(Sa);window.FilePond=ea;function Jm({acceptedFileTypes:e,imageEditorEmptyFillColor:t,imageEditorMode:i,imageEditorViewportHeight:a,imageEditorViewportWidth:n,deleteUploadedFileUsing:r,isDeletable:o,isDisabled:l,getUploadedFilesUsing:s,imageCropAspectRatio:u,imagePreviewHeight:c,imageResizeMode:d,imageResizeTargetHeight:h,imageResizeTargetWidth:m,imageResizeUpscale:p,isAvatar:f,hasImageEditor:g,hasCircleCropper:b,canEditSvgs:E,isSvgEditingConfirmed:I,confirmSvgEditingMessage:_,disabledSvgEditingMessage:y,isDownloadable:T,isMultiple:v,isOpenable:R,isPreviewable:S,isReorderable:P,itemPanelAspectRatio:x,loadingIndicatorPosition:O,locale:z,maxFiles:A,maxSize:F,minSize:w,panelAspectRatio:L,panelLayout:C,placeholder:D,removeUploadedFileButtonPosition:V,removeUploadedFileUsing:B,reorderUploadedFilesUsing:j,shouldAppendFiles:q,shouldOrientImageFromExif:X,shouldTransformImage:ue,state:U,uploadButtonPosition:W,uploadingMessage:$,uploadProgressIndicatorPosition:le,uploadUsing:J}){return{fileKeyIndex:{},pond:null,shouldUpdateState:!0,state:U,lastState:null,uploadedFileIndex:{},isEditorOpen:!1,editingFile:{},currentRatio:"",editor:{},init:async function(){Ot(Vo[z]??Vo.en),this.pond=dt(this.$refs.input,{acceptedFileTypes:e,allowImageExifOrientation:X,allowPaste:!1,allowRemove:o,allowReorder:P,allowImagePreview:S,allowVideoPreview:S,allowAudioPreview:S,allowImageTransform:ue,credits:!1,files:await this.getFiles(),imageCropAspectRatio:u,imagePreviewHeight:c,imageResizeTargetHeight:h,imageResizeTargetWidth:m,imageResizeMode:d,imageResizeUpscale:p,itemInsertLocation:q?"after":"before",...D&&{labelIdle:D},maxFiles:A,maxFileSize:F,minFileSize:w,styleButtonProcessItemPosition:W,styleButtonRemoveItemPosition:V,styleItemPanelAspectRatio:x,styleLoadIndicatorPosition:O,stylePanelAspectRatio:L,stylePanelLayout:C,styleProgressIndicatorPosition:le,server:{load:async(N,H)=>{let ee=await(await fetch(N,{cache:"no-store"})).blob();H(ee)},process:(N,H,Q,ee,wt,Ve)=>{this.shouldUpdateState=!1;let Yt=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,$t=>($t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>$t/4).toString(16));J(Yt,H,$t=>{this.shouldUpdateState=!0,ee($t)},wt,Ve)},remove:async(N,H)=>{let Q=this.uploadedFileIndex[N]??null;Q&&(await r(Q),H())},revert:async(N,H)=>{await B(N),H()}},allowImageEdit:g,imageEditEditor:{open:N=>this.loadEditor(N),onconfirm:()=>{},oncancel:()=>this.closeEditor(),onclose:()=>this.closeEditor()}}),this.$watch("state",async()=>{if(this.pond&&this.shouldUpdateState&&this.state!==void 0){if(this.state!==null&&Object.values(this.state).filter(N=>N.startsWith("livewire-file:")).length){this.lastState=null;return}JSON.stringify(this.state)!==this.lastState&&(this.lastState=JSON.stringify(this.state),this.pond.files=await this.getFiles())}}),this.pond.on("reorderfiles",async N=>{let H=N.map(Q=>Q.source instanceof File?Q.serverId:this.uploadedFileIndex[Q.source]??null).filter(Q=>Q);await j(q?H:H.reverse())}),this.pond.on("initfile",async N=>{T&&(f||this.insertDownloadLink(N))}),this.pond.on("initfile",async N=>{R&&(f||this.insertOpenLink(N))}),this.pond.on("addfilestart",async N=>{N.status===pt.PROCESSING_QUEUED&&this.dispatchFormEvent("form-processing-started",{message:$})});let G=async()=>{this.pond.getFiles().filter(N=>N.status===pt.PROCESSING||N.status===pt.PROCESSING_QUEUED).length||this.dispatchFormEvent("form-processing-finished")};this.pond.on("processfile",G),this.pond.on("processfileabort",G),this.pond.on("processfilerevert",G)},destroy:function(){this.destroyEditor(),ut(this.$refs.input),this.pond=null},dispatchFormEvent:function(G,N={}){this.$el.closest("form")?.dispatchEvent(new CustomEvent(G,{composed:!0,cancelable:!0,detail:N}))},getUploadedFiles:async function(){let G=await s();this.fileKeyIndex=G??{},this.uploadedFileIndex=Object.entries(this.fileKeyIndex).filter(([N,H])=>H?.url).reduce((N,[H,Q])=>(N[Q.url]=H,N),{})},getFiles:async function(){await this.getUploadedFiles();let G=[];for(let N of Object.values(this.fileKeyIndex))N&&G.push({source:N.url,options:{type:"local",...!N.type||S&&(/^audio/.test(N.type)||/^image/.test(N.type)||/^video/.test(N.type))?{}:{file:{name:N.name,size:N.size,type:N.type}}}});return q?G:G.reverse()},insertDownloadLink:function(G){if(G.origin!==Pt.LOCAL)return;let N=this.getDownloadLink(G);N&&document.getElementById(`filepond--item-${G.id}`).querySelector(".filepond--file-info-main").prepend(N)},insertOpenLink:function(G){if(G.origin!==Pt.LOCAL)return;let N=this.getOpenLink(G);N&&document.getElementById(`filepond--item-${G.id}`).querySelector(".filepond--file-info-main").prepend(N)},getDownloadLink:function(G){let N=G.source;if(!N)return;let H=document.createElement("a");return H.className="filepond--download-icon",H.href=N,H.download=G.file.name,H},getOpenLink:function(G){let N=G.source;if(!N)return;let H=document.createElement("a");return H.className="filepond--open-icon",H.href=N,H.target="_blank",H},initEditor:function(){l||g&&(this.editor=new Ta(this.$refs.editor,{aspectRatio:n/a,autoCropArea:1,center:!0,crop:G=>{this.$refs.xPositionInput.value=Math.round(G.detail.x),this.$refs.yPositionInput.value=Math.round(G.detail.y),this.$refs.heightInput.value=Math.round(G.detail.height),this.$refs.widthInput.value=Math.round(G.detail.width),this.$refs.rotationInput.value=G.detail.rotate},cropBoxResizable:!0,guides:!0,highlight:!0,responsive:!0,toggleDragModeOnDblclick:!0,viewMode:i,wheelZoomRatio:.02}))},closeEditor:function(){this.editingFile={},this.isEditorOpen=!1,this.destroyEditor()},fixImageDimensions:function(G,N){if(G.type!=="image/svg+xml")return N(G);let H=new FileReader;H.onload=Q=>{let ee=new DOMParser().parseFromString(Q.target.result,"image/svg+xml")?.querySelector("svg");if(!ee)return N(G);let wt=["viewBox","ViewBox","viewbox"].find(Yt=>ee.hasAttribute(Yt));if(!wt)return N(G);let Ve=ee.getAttribute(wt).split(" ");return!Ve||Ve.length!==4?N(G):(ee.setAttribute("width",parseFloat(Ve[2])+"pt"),ee.setAttribute("height",parseFloat(Ve[3])+"pt"),N(new File([new Blob([new XMLSerializer().serializeToString(ee)],{type:"image/svg+xml"})],G.name,{type:"image/svg+xml",_relativePath:""})))},H.readAsText(G)},loadEditor:function(G){if(l||!g||!G)return;let N=G.type==="image/svg+xml";if(!E&&N){alert(y);return}I&&N&&!confirm(_)||this.fixImageDimensions(G,H=>{this.editingFile=H,this.initEditor();let Q=new FileReader;Q.onload=ee=>{this.isEditorOpen=!0,setTimeout(()=>this.editor.replace(ee.target.result),200)},Q.readAsDataURL(G)})},getRoundedCanvas:function(G){let N=G.width,H=G.height,Q=document.createElement("canvas");Q.width=N,Q.height=H;let ee=Q.getContext("2d");return ee.imageSmoothingEnabled=!0,ee.drawImage(G,0,0,N,H),ee.globalCompositeOperation="destination-in",ee.beginPath(),ee.ellipse(N/2,H/2,N/2,H/2,0,0,2*Math.PI),ee.fill(),Q},saveEditor:function(){if(l||!g)return;let G=this.editor.getCroppedCanvas({fillColor:t??"transparent",height:h,imageSmoothingEnabled:!0,imageSmoothingQuality:"high",width:m});b&&(G=this.getRoundedCanvas(G)),G.toBlob(N=>{v&&this.pond.removeFile(this.pond.getFiles().find(H=>H.filename===this.editingFile.name)?.id,{revert:!0}),this.$nextTick(()=>{this.shouldUpdateState=!1;let H=this.editingFile.name.slice(0,this.editingFile.name.lastIndexOf(".")),Q=this.editingFile.name.split(".").pop();Q==="svg"&&(Q="png");let ee=/-v(\d+)/;ee.test(H)?H=H.replace(ee,(wt,Ve)=>`-v${Number(Ve)+1}`):H+="-v1",this.pond.addFile(new File([N],`${H}.${Q}`,{type:this.editingFile.type==="image/svg+xml"||b?"image/png":this.editingFile.type,lastModified:new Date().getTime()})).then(()=>{this.closeEditor()}).catch(()=>{this.closeEditor()})})},b?"image/png":this.editingFile.type)},destroyEditor:function(){this.editor&&typeof this.editor.destroy=="function"&&this.editor.destroy(),this.editor=null}}}var Vo={ar:fo,ca:go,cs:Eo,da:To,de:Io,en:bo,es:_o,fa:Ro,fi:yo,fr:So,hu:wo,id:vo,it:Ao,nl:Lo,no:Mo,pl:Oo,pt_BR:_i,pt_PT:_i,ro:xo,ru:Po,sv:Do,tr:Fo,uk:Co,vi:zo,zh_CN:No,zh_TW:Bo};export{Jm as default}; +`;n(X)},o.readAsText(e)}),ng=e=>{let t;try{t=new ImageData(e.width,e.height)}catch{t=document.createElement("canvas").getContext("2d").createImageData(e.width,e.height)}return t.data.set(e.data),t},lg=()=>{let e={resize:c,filter:p},t=(d,m)=>(d.forEach(u=>{m=e[u.type](m,u.data)}),m),i=(d,m)=>{let u=d.transforms,g=null;if(u.forEach(f=>{f.type==="filter"&&(g=f)}),g){let f=null;u.forEach(h=>{h.type==="resize"&&(f=h)}),f&&(f.data.matrix=g.data,u=u.filter(h=>h.type!=="filter"))}m(t(u,d.imageData))};self.onmessage=d=>{i(d.data.message,m=>{self.postMessage({id:d.data.id,message:m},[m.data.buffer])})};let a=1,n=1,l=1;function o(d,m,u){let g=m[d]/255,f=m[d+1]/255,h=m[d+2]/255,I=m[d+3]/255,b=g*u[0]+f*u[1]+h*u[2]+I*u[3]+u[4],E=g*u[5]+f*u[6]+h*u[7]+I*u[8]+u[9],v=g*u[10]+f*u[11]+h*u[12]+I*u[13]+u[14],y=g*u[15]+f*u[16]+h*u[17]+I*u[18]+u[19],T=Math.max(0,b*y)+a*(1-y),_=Math.max(0,E*y)+n*(1-y),x=Math.max(0,v*y)+l*(1-y);m[d]=Math.max(0,Math.min(1,T))*255,m[d+1]=Math.max(0,Math.min(1,_))*255,m[d+2]=Math.max(0,Math.min(1,x))*255}let r=self.JSON.stringify([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]);function s(d){return self.JSON.stringify(d||[])===r}function p(d,m){if(!m||s(m))return d;let u=d.data,g=u.length,f=m[0],h=m[1],I=m[2],b=m[3],E=m[4],v=m[5],y=m[6],T=m[7],_=m[8],x=m[9],R=m[10],P=m[11],z=m[12],A=m[13],k=m[14],w=m[15],O=m[16],S=m[17],L=m[18],C=m[19],D=0,U=0,B=0,$=0,X=0,K=0,ce=0,V=0,H=0,Y=0,ie=0,ee=0;for(;D1&&g===!1)return p(d,I);f=d.width*w,h=d.height*w}let b=d.width,E=d.height,v=Math.round(f),y=Math.round(h),T=d.data,_=new Uint8ClampedArray(v*y*4),x=b/v,R=E/y,P=Math.ceil(x*.5),z=Math.ceil(R*.5);for(let A=0;A=-1&&ie<=1&&(O=2*ie*ie*ie-3*ie*ie+1,O>0)){Y=4*(H+X*b);let ee=T[Y+3];B+=O*ee,L+=O,ee<255&&(O=O*ee/250),C+=O*T[Y],D+=O*T[Y+1],U+=O*T[Y+2],S+=O}}}_[w]=C/S,_[w+1]=D/S,_[w+2]=U/S,_[w+3]=B/L,I&&o(w,_,I)}return{data:_,width:v,height:y}}},og=(e,t)=>{if(e.getUint32(t+4,!1)!==1165519206)return;t+=4;let i=e.getUint16(t+=6,!1)===18761;t+=e.getUint32(t+4,i);let a=e.getUint16(t,i);t+=2;for(let n=0;n{let t=new DataView(e);if(t.getUint16(0)!==65496)return null;let i=2,a,n,l=!1;for(;i=65504&&a<=65519||a===65534)||(l||(l=og(t,i,n)),i+n>t.byteLength)));)i+=n;return e.slice(0,i)},sg=e=>new Promise(t=>{let i=new FileReader;i.onload=()=>t(rg(i.result)||null),i.readAsArrayBuffer(e.slice(0,256*1024))}),cg=()=>window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,dg=(e,t)=>{let i=cg();if(i){let a=new i;return a.append(e),a.getBlob(t)}return new Blob([e],{type:t})},pg=()=>Math.random().toString(36).substr(2,9),mg=e=>{let t=new Blob(["(",e.toString(),")()"],{type:"application/javascript"}),i=URL.createObjectURL(t),a=new Worker(i),n=[];return{transfer:()=>{},post:(l,o,r)=>{let s=pg();n[s]=o,a.onmessage=p=>{let c=n[p.data.id];c&&(c(p.data.message),delete n[p.data.id])},a.postMessage({id:s,message:l},r)},terminate:()=>{a.terminate(),URL.revokeObjectURL(i)}}},ug=e=>new Promise((t,i)=>{let a=new Image;a.onload=()=>{t(a)},a.onerror=n=>{i(n)},a.src=e}),gg=e=>e.reduce((t,i)=>t.then(a=>i().then(Array.prototype.concat.bind(a))),Promise.resolve([])),fg=(e,t)=>new Promise(i=>{let a={width:e.width,height:e.height},n=e.getContext("2d"),l=t.sort(Ro).map(o=>()=>new Promise(r=>{xg[o[0]](n,a,o[1],r)&&r()}));gg(l).then(()=>i(e))}),Lt=(e,t)=>{e.beginPath(),e.lineCap=t["stroke-linecap"],e.lineJoin=t["stroke-linejoin"],e.lineWidth=t["stroke-width"],t["stroke-dasharray"].length&&e.setLineDash(t["stroke-dasharray"].split(",")),e.fillStyle=t.fill,e.strokeStyle=t.stroke,e.globalAlpha=t.opacity||1},Mt=e=>{e.fill(),e.stroke(),e.globalAlpha=1},hg=(e,t,i)=>{let a=wt(i,t),n=ct(i,t);return Lt(e,n),e.rect(a.x,a.y,a.width,a.height),Mt(e,n),!0},bg=(e,t,i)=>{let a=wt(i,t),n=ct(i,t);Lt(e,n);let l=a.x,o=a.y,r=a.width,s=a.height,p=.5522848,c=r/2*p,d=s/2*p,m=l+r,u=o+s,g=l+r/2,f=o+s/2;return e.moveTo(l,f),e.bezierCurveTo(l,f-d,g-c,o,g,o),e.bezierCurveTo(g+c,o,m,f-d,m,f),e.bezierCurveTo(m,f+d,g+c,u,g,u),e.bezierCurveTo(g-c,u,l,f+d,l,f),Mt(e,n),!0},Eg=(e,t,i,a)=>{let n=wt(i,t),l=ct(i,t);Lt(e,l);let o=new Image;new URL(i.src,window.location.href).origin!==window.location.origin&&(o.crossOrigin=""),o.onload=()=>{if(i.fit==="cover"){let s=n.width/n.height,p=s>1?o.width:o.height*s,c=s>1?o.width/s:o.height,d=o.width*.5-p*.5,m=o.height*.5-c*.5;e.drawImage(o,d,m,p,c,n.x,n.y,n.width,n.height)}else if(i.fit==="contain"){let s=Math.min(n.width/o.width,n.height/o.height),p=s*o.width,c=s*o.height,d=n.x+n.width*.5-p*.5,m=n.y+n.height*.5-c*.5;e.drawImage(o,0,0,o.width,o.height,d,m,p,c)}else e.drawImage(o,0,0,o.width,o.height,n.x,n.y,n.width,n.height);Mt(e,l),a()},o.src=i.src},Tg=(e,t,i)=>{let a=wt(i,t),n=ct(i,t);Lt(e,n);let l=me(i.fontSize,t),o=i.fontFamily||"sans-serif",r=i.fontWeight||"normal",s=i.textAlign||"left";return e.font=`${r} ${l}px ${o}`,e.textAlign=s,e.fillText(i.text,a.x,a.y),Mt(e,n),!0},Ig=(e,t,i)=>{let a=ct(i,t);Lt(e,a),e.beginPath();let n=i.points.map(o=>({x:me(o.x,t,1,"width"),y:me(o.y,t,1,"height")}));e.moveTo(n[0].x,n[0].y);let l=n.length;for(let o=1;o{let a=wt(i,t),n=ct(i,t);Lt(e,n),e.beginPath();let l={x:a.x,y:a.y},o={x:a.x+a.width,y:a.y+a.height};e.moveTo(l.x,l.y),e.lineTo(o.x,o.y);let r=yo({x:o.x-l.x,y:o.y-l.y}),s=.04*Math.min(t.width,t.height);if(i.lineDecoration.indexOf("arrow-begin")!==-1){let p=Ri(r,s),c=Si(l,p),d=qe(l,2,c),m=qe(l,-2,c);e.moveTo(d.x,d.y),e.lineTo(l.x,l.y),e.lineTo(m.x,m.y)}if(i.lineDecoration.indexOf("arrow-end")!==-1){let p=Ri(r,-s),c=Si(o,p),d=qe(o,2,c),m=qe(o,-2,c);e.moveTo(d.x,d.y),e.lineTo(o.x,o.y),e.lineTo(m.x,m.y)}return Mt(e,n),!0},xg={rect:hg,ellipse:bg,image:Eg,text:Tg,line:vg,path:Ig},yg=e=>{let t=document.createElement("canvas");return t.width=e.width,t.height=e.height,t.getContext("2d").putImageData(e,0,0),t},Rg=(e,t,i={})=>new Promise((a,n)=>{if(!e||!zu(e))return n({status:"not an image file",file:e});let{stripImageHead:l,beforeCreateBlob:o,afterCreateBlob:r,canvasMemoryLimit:s}=i,{crop:p,size:c,filter:d,markup:m,output:u}=t,g=t.image&&t.image.orientation?Math.max(1,Math.min(8,t.image.orientation)):null,f=u&&u.quality,h=f===null?null:f/100,I=u&&u.type||null,b=u&&u.background||null,E=[];c&&(typeof c.width=="number"||typeof c.height=="number")&&E.push({type:"resize",data:c}),d&&d.length===20&&E.push({type:"filter",data:d});let v=_=>{let x=r?r(_):_;Promise.resolve(x).then(a)},y=(_,x)=>{let R=yg(_),P=m.length?fg(R,m):R;Promise.resolve(P).then(z=>{Vu(z,x,o).then(A=>{if(xo(z),l)return v(A);sg(e).then(k=>{k!==null&&(A=new Blob([k,A.slice(20)],{type:A.type})),v(A)})}).catch(n)})};if(/svg/.test(e.type)&&I===null)return ag(e,p,m,{background:b}).then(_=>{a(dg(_,"image/svg+xml"))});let T=URL.createObjectURL(e);ug(T).then(_=>{URL.revokeObjectURL(T);let x=ku(_,g,p,{canvasMemoryLimit:s,background:b}),R={quality:h,type:I||e.type};if(!E.length)return y(x,R);let P=mg(lg);P.post({transforms:E,imageData:x},z=>{y(ng(z),R),P.terminate()},[x.data.buffer])}).catch(n)}),Sg=["x","y","left","top","right","bottom","width","height"],_g=e=>typeof e=="string"&&/%/.test(e)?parseFloat(e)/100:e,wg=e=>{let[t,i]=e,a=i.points?{}:Sg.reduce((n,l)=>(n[l]=_g(i[l]),n),{});return[t,{zIndex:0,...i,...a}]},Lg=e=>new Promise((t,i)=>{let a=new Image;a.src=URL.createObjectURL(e);let n=()=>{let o=a.naturalWidth,r=a.naturalHeight;o&&r&&(URL.revokeObjectURL(a.src),clearInterval(l),t({width:o,height:r}))};a.onerror=o=>{URL.revokeObjectURL(a.src),clearInterval(l),i(o)};let l=setInterval(n,1);n()});typeof window<"u"&&typeof window.document<"u"&&(HTMLCanvasElement.prototype.toBlob||Object.defineProperty(HTMLCanvasElement.prototype,"toBlob",{value:function(e,t,i){let a=this;setTimeout(()=>{let n=a.toDataURL(t,i).split(",")[1],l=atob(n),o=l.length,r=new Uint8Array(o);for(;o--;)r[o]=l.charCodeAt(o);e(new Blob([r],{type:t||"image/png"}))})}}));var wa=typeof window<"u"&&typeof window.document<"u",Mg=wa&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,So=({addFilter:e,utils:t})=>{let{Type:i,forin:a,getFileFromBlob:n,isFile:l}=t,o=["crop","resize","filter","markup","output"],r=c=>(d,m,u)=>d(m,c?c(u):u),s=c=>c.aspectRatio===null&&c.rotation===0&&c.zoom===1&&c.center&&c.center.x===.5&&c.center.y===.5&&c.flip&&c.flip.horizontal===!1&&c.flip.vertical===!1;e("SHOULD_PREPARE_OUTPUT",(c,{query:d})=>new Promise(m=>{m(!d("IS_ASYNC"))}));let p=(c,d,m)=>new Promise(u=>{if(!c("GET_ALLOW_IMAGE_TRANSFORM")||m.archived||!l(d)||!_u(d))return u(!1);Lg(d).then(()=>{let g=c("GET_IMAGE_TRANSFORM_IMAGE_FILTER");if(g){let f=g(d);if(f==null)return handleRevert(!0);if(typeof f=="boolean")return u(f);if(typeof f.then=="function")return f.then(u)}u(!0)}).catch(g=>{u(!1)})});return e("DID_CREATE_ITEM",(c,{query:d,dispatch:m})=>{d("GET_ALLOW_IMAGE_TRANSFORM")&&c.extend("requestPrepare",()=>new Promise((u,g)=>{m("REQUEST_PREPARE_OUTPUT",{query:c.id,item:c,success:u,failure:g},!0)}))}),e("PREPARE_OUTPUT",(c,{query:d,item:m})=>new Promise(u=>{p(d,c,m).then(g=>{if(!g)return u(c);let f=[];d("GET_IMAGE_TRANSFORM_VARIANTS_INCLUDE_ORIGINAL")&&f.push(()=>new Promise(x=>{x({name:d("GET_IMAGE_TRANSFORM_VARIANTS_ORIGINAL_NAME"),file:c})})),d("GET_IMAGE_TRANSFORM_VARIANTS_INCLUDE_DEFAULT")&&f.push((x,R,P)=>new Promise(z=>{x(R,P).then(A=>z({name:d("GET_IMAGE_TRANSFORM_VARIANTS_DEFAULT_NAME"),file:A}))}));let h=d("GET_IMAGE_TRANSFORM_VARIANTS")||{};a(h,(x,R)=>{let P=r(R);f.push((z,A,k)=>new Promise(w=>{P(z,A,k).then(O=>w({name:x,file:O}))}))});let I=d("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY"),b=d("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY_MODE"),E=I===null?null:I/100,v=d("GET_IMAGE_TRANSFORM_OUTPUT_MIME_TYPE"),y=d("GET_IMAGE_TRANSFORM_CLIENT_TRANSFORMS")||o;m.setMetadata("output",{type:v,quality:E,client:y},!0);let T=(x,R)=>new Promise((P,z)=>{let A={...R};Object.keys(A).filter(B=>B!=="exif").forEach(B=>{y.indexOf(B)===-1&&delete A[B]});let{resize:k,exif:w,output:O,crop:S,filter:L,markup:C}=A,D={image:{orientation:w?w.orientation:null},output:O&&(O.type||typeof O.quality=="number"||O.background)?{type:O.type,quality:typeof O.quality=="number"?O.quality*100:null,background:O.background||d("GET_IMAGE_TRANSFORM_CANVAS_BACKGROUND_COLOR")||null}:void 0,size:k&&(k.size.width||k.size.height)?{mode:k.mode,upscale:k.upscale,...k.size}:void 0,crop:S&&!s(S)?{...S}:void 0,markup:C&&C.length?C.map(wg):[],filter:L};if(D.output){let B=O.type?O.type!==x.type:!1,$=/\/jpe?g$/.test(x.type),X=O.quality!==null?$&&b==="always":!1;if(!!!(D.size||D.crop||D.filter||B||X))return P(x)}let U={beforeCreateBlob:d("GET_IMAGE_TRANSFORM_BEFORE_CREATE_BLOB"),afterCreateBlob:d("GET_IMAGE_TRANSFORM_AFTER_CREATE_BLOB"),canvasMemoryLimit:d("GET_IMAGE_TRANSFORM_CANVAS_MEMORY_LIMIT"),stripImageHead:d("GET_IMAGE_TRANSFORM_OUTPUT_STRIP_IMAGE_HEAD")};Rg(x,D,U).then(B=>{let $=n(B,Mu(x.name,Au(B.type)));P($)}).catch(z)}),_=f.map(x=>x(T,c,m.getMetadata()));Promise.all(_).then(x=>{u(x.length===1&&x[0].name===null?x[0].file:x)})})})),{options:{allowImageTransform:[!0,i.BOOLEAN],imageTransformImageFilter:[null,i.FUNCTION],imageTransformOutputMimeType:[null,i.STRING],imageTransformOutputQuality:[null,i.INT],imageTransformOutputStripImageHead:[!0,i.BOOLEAN],imageTransformClientTransforms:[null,i.ARRAY],imageTransformOutputQualityMode:["always",i.STRING],imageTransformVariants:[null,i.OBJECT],imageTransformVariantsIncludeDefault:[!0,i.BOOLEAN],imageTransformVariantsDefaultName:[null,i.STRING],imageTransformVariantsIncludeOriginal:[!1,i.BOOLEAN],imageTransformVariantsOriginalName:["original_",i.STRING],imageTransformBeforeCreateBlob:[null,i.FUNCTION],imageTransformAfterCreateBlob:[null,i.FUNCTION],imageTransformCanvasMemoryLimit:[wa&&Mg?4096*4096:null,i.INT],imageTransformCanvasBackgroundColor:[null,i.STRING]}}};wa&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:So}));var _o=So;var La=e=>/^video/.test(e.type),Xt=e=>/^audio/.test(e.type),Ma=class{constructor(t,i){this.mediaEl=t,this.audioElems=i,this.onplayhead=!1,this.duration=0,this.timelineWidth=this.audioElems.timeline.offsetWidth-this.audioElems.playhead.offsetWidth,this.moveplayheadFn=this.moveplayhead.bind(this),this.registerListeners()}registerListeners(){this.mediaEl.addEventListener("timeupdate",this.timeUpdate.bind(this),!1),this.mediaEl.addEventListener("canplaythrough",()=>this.duration=this.mediaEl.duration,!1),this.audioElems.timeline.addEventListener("click",this.timelineClicked.bind(this),!1),this.audioElems.button.addEventListener("click",this.play.bind(this)),this.audioElems.playhead.addEventListener("mousedown",this.mouseDown.bind(this),!1),window.addEventListener("mouseup",this.mouseUp.bind(this),!1)}play(){this.mediaEl.paused?this.mediaEl.play():this.mediaEl.pause(),this.audioElems.button.classList.toggle("play"),this.audioElems.button.classList.toggle("pause")}timeUpdate(){let t=this.mediaEl.currentTime/this.duration*100;this.audioElems.playhead.style.marginLeft=t+"%",this.mediaEl.currentTime===this.duration&&(this.audioElems.button.classList.toggle("play"),this.audioElems.button.classList.toggle("pause"))}moveplayhead(t){let i=t.clientX-this.getPosition(this.audioElems.timeline);i>=0&&i<=this.timelineWidth&&(this.audioElems.playhead.style.marginLeft=i+"px"),i<0&&(this.audioElems.playhead.style.marginLeft="0px"),i>this.timelineWidth&&(this.audioElems.playhead.style.marginLeft=this.timelineWidth-4+"px")}timelineClicked(t){this.moveplayhead(t),this.mediaEl.currentTime=this.duration*this.clickPercent(t)}mouseDown(){this.onplayhead=!0,window.addEventListener("mousemove",this.moveplayheadFn,!0),this.mediaEl.removeEventListener("timeupdate",this.timeUpdate.bind(this),!1)}mouseUp(t){window.removeEventListener("mousemove",this.moveplayheadFn,!0),this.onplayhead==!0&&(this.moveplayhead(t),this.mediaEl.currentTime=this.duration*this.clickPercent(t),this.mediaEl.addEventListener("timeupdate",this.timeUpdate.bind(this),!1)),this.onplayhead=!1}clickPercent(t){return(t.clientX-this.getPosition(this.audioElems.timeline))/this.timelineWidth}getPosition(t){return t.getBoundingClientRect().left}},Ag=e=>e.utils.createView({name:"media-preview",tag:"div",ignoreRect:!0,create:({root:t,props:i})=>{let{id:a}=i,n=t.query("GET_ITEM",{id:i.id}),l=Xt(n.file)?"audio":"video";if(t.ref.media=document.createElement(l),t.ref.media.setAttribute("controls",!0),t.element.appendChild(t.ref.media),Xt(n.file)){let o=document.createDocumentFragment();t.ref.audio=[],t.ref.audio.container=document.createElement("div"),t.ref.audio.button=document.createElement("span"),t.ref.audio.timeline=document.createElement("div"),t.ref.audio.playhead=document.createElement("div"),t.ref.audio.container.className="audioplayer",t.ref.audio.button.className="playpausebtn play",t.ref.audio.timeline.className="timeline",t.ref.audio.playhead.className="playhead",t.ref.audio.timeline.appendChild(t.ref.audio.playhead),t.ref.audio.container.appendChild(t.ref.audio.button),t.ref.audio.container.appendChild(t.ref.audio.timeline),o.appendChild(t.ref.audio.container),t.element.appendChild(o)}},write:e.utils.createRoute({DID_MEDIA_PREVIEW_LOAD:({root:t,props:i})=>{let{id:a}=i,n=t.query("GET_ITEM",{id:i.id});if(!n)return;let l=window.URL||window.webkitURL,o=new Blob([n.file],{type:n.file.type});t.ref.media.type=n.file.type,t.ref.media.src=n.file.mock&&n.file.url||l.createObjectURL(o),Xt(n.file)&&new Ma(t.ref.media,t.ref.audio),t.ref.media.addEventListener("loadeddata",()=>{let r=75;if(La(n.file)){let s=t.ref.media.offsetWidth,p=t.ref.media.videoWidth/s;r=t.ref.media.videoHeight/p}t.dispatch("DID_UPDATE_PANEL_HEIGHT",{id:i.id,height:r})},!1)}})}),zg=e=>{let t=({root:a,props:n})=>{let{id:l}=n;a.query("GET_ITEM",l)&&a.dispatch("DID_MEDIA_PREVIEW_LOAD",{id:l})},i=({root:a,props:n})=>{let l=Ag(e);a.ref.media=a.appendChildView(a.createChildView(l,{id:n.id}))};return e.utils.createView({name:"media-preview-wrapper",create:i,write:e.utils.createRoute({DID_MEDIA_PREVIEW_CONTAINER_CREATE:t})})},Aa=e=>{let{addFilter:t,utils:i}=e,{Type:a,createRoute:n}=i,l=zg(e);return t("CREATE_VIEW",o=>{let{is:r,view:s,query:p}=o;if(!r("file"))return;let c=({root:d,props:m})=>{let{id:u}=m,g=p("GET_ITEM",u),f=p("GET_ALLOW_VIDEO_PREVIEW"),h=p("GET_ALLOW_AUDIO_PREVIEW");!g||g.archived||(!La(g.file)||!f)&&(!Xt(g.file)||!h)||(d.ref.mediaPreview=s.appendChildView(s.createChildView(l,{id:u})),d.dispatch("DID_MEDIA_PREVIEW_CONTAINER_CREATE",{id:u}))};s.registerWriter(n({DID_LOAD_ITEM:c},({root:d,props:m})=>{let{id:u}=m,g=p("GET_ITEM",u),f=d.query("GET_ALLOW_VIDEO_PREVIEW"),h=d.query("GET_ALLOW_AUDIO_PREVIEW");!g||(!La(g.file)||!f)&&(!Xt(g.file)||!h)||d.rect.element.hidden}))}),{options:{allowVideoPreview:[!0,a.BOOLEAN],allowAudioPreview:[!0,a.BOOLEAN]}}},Pg=typeof window<"u"&&typeof window.document<"u";Pg&&document.dispatchEvent(new CustomEvent("FilePond:pluginloaded",{detail:Aa}));var wo={labelIdle:'\u134B\u12ED\u120E\u127D \u1235\u1260\u12CD \u12A5\u12DA\u1205 \u130B\u122D \u12ED\u120D\u1240\u1241\u1275 \u12C8\u12ED\u121D \u134B\u12ED\u1209\u1295 \u12ED\u121D\u1228\u1321 ',labelInvalidField:"\u1218\u1235\u12A9 \u120D\u12AD \u12EB\u120D\u1206\u1291 \u134B\u12ED\u120E\u127D\u1295 \u12ED\u12DF\u120D",labelFileWaitingForSize:"\u12E8\u134B\u12ED\u1209\u1295 \u1218\u1320\u1295 \u1260\u1218\u1320\u1263\u1260\u1245 \u120B\u12ED",labelFileSizeNotAvailable:"\u12E8\u134B\u12ED\u1209\u1295 \u1218\u1320\u1295 \u120A\u1308\u129D \u12A0\u120D\u127B\u1208\u121D",labelFileLoading:"\u1260\u121B\u1295\u1260\u1265 \u120B\u12ED",labelFileLoadError:"\u1260\u121B\u1295\u1260\u1265 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelFileProcessing:"\u134B\u12ED\u1209\u1295 \u1260\u1218\u132B\u1295 \u120B\u12ED",labelFileProcessingComplete:"\u134B\u12ED\u1209\u1295 \u1218\u132B\u1295 \u1270\u1320\u1293\u1245\u124B\u120D",labelFileProcessingAborted:"\u134B\u12ED\u1209\u1295 \u1218\u132B\u1295 \u1270\u124B\u122D\u1327\u120D",labelFileProcessingError:"\u134B\u12ED\u1209\u1295 \u1260\u1218\u132B\u1295 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelFileProcessingRevertError:"\u1348\u12ED\u1209\u1295 \u1260\u1218\u1240\u120D\u1260\u1235 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelFileRemoveError:"\u1260\u121B\u1325\u134B\u1275 \u120B\u12ED \u127D\u130D\u122D \u1270\u1348\u1325\u122F\u120D",labelTapToCancel:"\u1208\u121B\u124B\u1228\u1325 \u1290\u12AB \u12EB\u12F5\u122D\u1309",labelTapToRetry:"\u12F0\u130D\u121E \u1208\u1218\u121E\u12A8\u122D \u1290\u12AB \u12EB\u12F5\u122D\u1309",labelTapToUndo:"\u12C8\u12F0\u1290\u1260\u1228\u1260\u1275 \u1208\u1218\u1218\u1208\u1235 \u1290\u12AB \u12EB\u12F5\u122D\u1309",labelButtonRemoveItem:"\u120B\u1325\u134B",labelButtonAbortItemLoad:"\u120B\u124B\u122D\u1325",labelButtonRetryItemLoad:"\u12F0\u130D\u121C \u120D\u121E\u12AD\u122D",labelButtonAbortItemProcessing:"\u12ED\u1245\u122D",labelButtonUndoItemProcessing:"\u12C8\u12F0\u1290\u1260\u1228\u1260\u1275 \u120D\u1218\u120D\u1235",labelButtonRetryItemProcessing:"\u12F0\u130D\u121C \u120D\u121E\u12AD\u122D",labelButtonProcessItem:"\u120D\u132B\u1295",labelMaxFileSizeExceeded:"\u134B\u12ED\u1209 \u1270\u120D\u124B\u120D",labelMaxFileSize:"\u12E8\u134B\u12ED\u120D \u1218\u1320\u1295 \u12A8 {filesize} \u1218\u1265\u1208\u1325 \u12A0\u12ED\u1348\u1240\u12F5\u121D",labelMaxTotalFileSizeExceeded:"\u12E8\u121A\u1348\u1240\u12F0\u12CD\u1295 \u1320\u1245\u120B\u120B \u12E8\u134B\u12ED\u120D \u1218\u1320\u1295 \u12A0\u120D\u1348\u12CB\u120D",labelMaxTotalFileSize:"\u1320\u1245\u120B\u120B \u12E8\u134B\u12ED\u120D \u1218\u1320\u1295 \u12A8 {filesize} \u1218\u1265\u1208\u1325 \u12A0\u12ED\u1348\u1240\u12F5\u121D",labelFileTypeNotAllowed:"\u12E8\u1270\u1233\u1233\u1270 \u12E8\u134B\u12ED\u120D \u12A0\u12ED\u1290\u1275 \u1290\u12CD",fileValidateTypeLabelExpectedTypes:"\u12E8\u134B\u12ED\u120D \u12A0\u12ED\u1290\u1271 \u1218\u1206\u1295 \u12E8\u121A\u1308\u1263\u12CD {allButLastType} \u12A5\u1293 {lastType} \u1290\u12CD",imageValidateSizeLabelFormatError:"\u12E8\u121D\u1235\u120D \u12A0\u12ED\u1290\u1271 \u1208\u1218\u132B\u1295 \u12A0\u12ED\u1206\u1295\u121D",imageValidateSizeLabelImageSizeTooSmall:"\u121D\u1235\u1209 \u1260\u1323\u121D \u12A0\u1295\u1237\u120D",imageValidateSizeLabelImageSizeTooBig:"\u121D\u1235\u1209 \u1260\u1323\u121D \u1270\u120D\u124B\u120D",imageValidateSizeLabelExpectedMinSize:"\u12DD\u1245\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u120D\u12AC\u1275 {minWidth} \xD7 {minHeight} \u1290\u12CD",imageValidateSizeLabelExpectedMaxSize:"\u12A8\u134D\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u120D\u12AC\u1275 {maxWidth} \xD7 {maxHeight} \u1290\u12CD",imageValidateSizeLabelImageResolutionTooLow:"\u12E8\u121D\u1235\u1209 \u1325\u122B\u1275 \u1260\u1323\u121D \u12DD\u1245\u1270\u129B \u1290\u12CD",imageValidateSizeLabelImageResolutionTooHigh:"\u12E8\u121D\u1235\u1209 \u1325\u122B\u1275 \u1260\u1323\u121D \u12A8\u134D\u1270\u129B \u1290\u12CD",imageValidateSizeLabelExpectedMinResolution:"\u12DD\u1245\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u1325\u122B\u1275 {minResolution} \u1290\u12CD",imageValidateSizeLabelExpectedMaxResolution:"\u12A8\u134D\u1270\u129B\u12CD \u12E8\u121D\u1235\u120D \u1325\u122B\u1275 {maxResolution} \u1290\u12CD"};var Lo={labelIdle:'\u0627\u0633\u062D\u0628 \u0648 \u0627\u062F\u0631\u062C \u0645\u0644\u0641\u0627\u062A\u0643 \u0623\u0648 \u062A\u0635\u0641\u062D ',labelInvalidField:"\u0627\u0644\u062D\u0642\u0644 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0645\u0644\u0641\u0627\u062A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629",labelFileWaitingForSize:"\u0628\u0627\u0646\u062A\u0638\u0627\u0631 \u0627\u0644\u062D\u062C\u0645",labelFileSizeNotAvailable:"\u0627\u0644\u062D\u062C\u0645 \u063A\u064A\u0631 \u0645\u062A\u0627\u062D",labelFileLoading:"\u0628\u0627\u0644\u0625\u0646\u062A\u0638\u0627\u0631",labelFileLoadError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",labelFileProcessing:"\u064A\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingComplete:"\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingAborted:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u0631\u0641\u0639",labelFileProcessingRevertError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062A\u0631\u0627\u062C\u0639",labelFileRemoveError:"\u062D\u062F\u062B \u062E\u0637\u0623 \u0623\u062B\u0646\u0627\u0621 \u0627\u0644\u062D\u0630\u0641",labelTapToCancel:"\u0627\u0646\u0642\u0631 \u0644\u0644\u0625\u0644\u063A\u0627\u0621",labelTapToRetry:"\u0627\u0646\u0642\u0631 \u0644\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629",labelTapToUndo:"\u0627\u0646\u0642\u0631 \u0644\u0644\u062A\u0631\u0627\u062C\u0639",labelButtonRemoveItem:"\u0645\u0633\u062D",labelButtonAbortItemLoad:"\u0625\u0644\u063A\u0627\u0621",labelButtonRetryItemLoad:"\u0625\u0639\u0627\u062F\u0629",labelButtonAbortItemProcessing:"\u0625\u0644\u063A\u0627\u0621",labelButtonUndoItemProcessing:"\u062A\u0631\u0627\u062C\u0639",labelButtonRetryItemProcessing:"\u0625\u0639\u0627\u062F\u0629",labelButtonProcessItem:"\u0631\u0641\u0639",labelMaxFileSizeExceeded:"\u0627\u0644\u0645\u0644\u0641 \u0643\u0628\u064A\u0631 \u062C\u062F\u0627",labelMaxFileSize:"\u062D\u062C\u0645 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0623\u0642\u0635\u0649: {filesize}",labelMaxTotalFileSizeExceeded:"\u062A\u0645 \u062A\u062C\u0627\u0648\u0632 \u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u0644\u062D\u062C\u0645 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",labelMaxTotalFileSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u062D\u062C\u0645 \u0627\u0644\u0645\u0644\u0641: {filesize}",labelFileTypeNotAllowed:"\u0645\u0644\u0641 \u0645\u0646 \u0646\u0648\u0639 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",fileValidateTypeLabelExpectedTypes:"\u062A\u062A\u0648\u0642\u0639 {allButLastType} \u0645\u0646 {lastType}",imageValidateSizeLabelFormatError:"\u0646\u0648\u0639 \u0627\u0644\u0635\u0648\u0631\u0629 \u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645",imageValidateSizeLabelImageSizeTooSmall:"\u0627\u0644\u0635\u0648\u0631\u0629 \u0635\u063A\u064A\u0631 \u062C\u062F\u0627",imageValidateSizeLabelImageSizeTooBig:"\u0627\u0644\u0635\u0648\u0631\u0629 \u0643\u0628\u064A\u0631\u0629 \u062C\u062F\u0627",imageValidateSizeLabelExpectedMinSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649 \u0644\u0644\u0623\u0628\u0639\u0627\u062F \u0647\u0648: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649 \u0644\u0644\u0623\u0628\u0639\u0627\u062F \u0647\u0648: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0627\u0644\u062F\u0642\u0629 \u0636\u0639\u064A\u0641\u0629 \u062C\u062F\u0627",imageValidateSizeLabelImageResolutionTooHigh:"\u0627\u0644\u062F\u0642\u0629 \u0645\u0631\u062A\u0641\u0639\u0629 \u062C\u062F\u0627",imageValidateSizeLabelExpectedMinResolution:"\u0623\u0642\u0644 \u062F\u0642\u0629: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0623\u0642\u0635\u0649 \u062F\u0642\u0629: {maxResolution}"};var Mo={labelIdle:'Fayl\u0131n\u0131z\u0131 S\xFCr\xFC\u015Fd\xFCr\xFCn & Burax\u0131n ya da Se\xE7in ',labelInvalidField:"Sah\u0259d\u0259 etibars\u0131z fayllar var",labelFileWaitingForSize:"\xD6l\xE7\xFC hesablan\u0131r",labelFileSizeNotAvailable:"\xD6l\xE7\xFC m\xF6vcud deyil",labelFileLoading:"Y\xFCkl\u0259nir",labelFileLoadError:"Y\xFCkl\u0259m\u0259 \u0259snas\u0131nda x\u0259ta ba\u015F verdi",labelFileProcessing:"Y\xFCkl\u0259nir",labelFileProcessingComplete:"Y\xFCkl\u0259m\u0259 tamamland\u0131",labelFileProcessingAborted:"Y\xFCkl\u0259m\u0259 l\u0259\u011Fv edildi",labelFileProcessingError:"Y\xFCk\u0259y\u0259rk\u0259n x\u0259ta ba\u015F verdi",labelFileProcessingRevertError:"Geri \xE7\u0259k\u0259rk\u0259n x\u0259ta ba\u015F verdi",labelFileRemoveError:"\xC7\u0131xarark\u0259n x\u0259ta ba\u015F verdi",labelTapToCancel:"\u0130mtina etm\u0259k \xFC\xE7\xFCn klikl\u0259yin",labelTapToRetry:"T\u0259krar yoxlamaq \xFC\xE7\xFCn klikl\u0259yin",labelTapToUndo:"Geri almaq \xFC\xE7\xFCn klikl\u0259yin",labelButtonRemoveItem:"\xC7\u0131xar",labelButtonAbortItemLoad:"\u0130mtina Et",labelButtonRetryItemLoad:"T\u0259krar yoxla",labelButtonAbortItemProcessing:"\u0130mtina et",labelButtonUndoItemProcessing:"Geri Al",labelButtonRetryItemProcessing:"T\u0259krar yoxla",labelButtonProcessItem:"Y\xFCkl\u0259",labelMaxFileSizeExceeded:"Fayl \xE7ox b\xF6y\xFCkd\xFCr",labelMaxFileSize:"\u018Fn b\xF6y\xFCk fayl \xF6l\xE7\xFCs\xFC: {filesize}",labelMaxTotalFileSizeExceeded:"Maksimum \xF6l\xE7\xFC ke\xE7ildi",labelMaxTotalFileSize:"Maksimum fayl \xF6l\xE7\xFCs\xFC :{filesize}",labelFileTypeNotAllowed:"Etibars\u0131z fayl tipi",fileValidateTypeLabelExpectedTypes:"Bu {allButLastType} ya da bu fayl olmas\u0131 laz\u0131md\u0131r: {lastType}",imageValidateSizeLabelFormatError:"\u015E\u0259kil tipi d\u0259st\u0259kl\u0259nmir",imageValidateSizeLabelImageSizeTooSmall:"\u015E\u0259kil \xE7ox ki\xE7ik",imageValidateSizeLabelImageSizeTooBig:"\u015E\u0259kil \xE7ox b\xF6y\xFCk",imageValidateSizeLabelExpectedMinSize:"Minimum \xF6l\xE7\xFC {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimum \xF6l\xE7\xFC {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"G\xF6r\xFCnt\xFC imkan\u0131 \xE7ox a\u015Fa\u011F\u0131",imageValidateSizeLabelImageResolutionTooHigh:"G\xF6r\xFCnt\xFC imkan\u0131 \xE7ox y\xFCks\u0259k",imageValidateSizeLabelExpectedMinResolution:"Minimum g\xF6r\xFCnt\xFC imkan\u0131 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum g\xF6r\xFCnt\xFC imkan\u0131 {maxResolution}"};var Ao={labelIdle:'Arrossega i deixa anar els teus fitxers o Navega ',labelInvalidField:"El camp cont\xE9 fitxers inv\xE0lids",labelFileWaitingForSize:"Esperant mida",labelFileSizeNotAvailable:"Mida no disponible",labelFileLoading:"Carregant",labelFileLoadError:"Error durant la c\xE0rrega",labelFileProcessing:"Pujant",labelFileProcessingComplete:"Pujada completada",labelFileProcessingAborted:"Pujada cancel\xB7lada",labelFileProcessingError:"Error durant la pujada",labelFileProcessingRevertError:"Error durant la reversi\xF3",labelFileRemoveError:"Error durant l'eliminaci\xF3",labelTapToCancel:"toca per cancel\xB7lar",labelTapToRetry:"toca per reintentar",labelTapToUndo:"toca per desfer",labelButtonRemoveItem:"Eliminar",labelButtonAbortItemLoad:"Cancel\xB7lar",labelButtonRetryItemLoad:"Reintentar",labelButtonAbortItemProcessing:"Cancel\xB7lar",labelButtonUndoItemProcessing:"Desfer",labelButtonRetryItemProcessing:"Reintentar",labelButtonProcessItem:"Pujar",labelMaxFileSizeExceeded:"El fitxer \xE9s massa gran",labelMaxFileSize:"La mida m\xE0xima del fitxer \xE9s {filesize}",labelMaxTotalFileSizeExceeded:"Mida m\xE0xima total excedida",labelMaxTotalFileSize:"La mida m\xE0xima total del fitxer \xE9s {filesize}",labelFileTypeNotAllowed:"Fitxer de tipus inv\xE0lid",fileValidateTypeLabelExpectedTypes:"Espera {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipus d'imatge no suportada",imageValidateSizeLabelImageSizeTooSmall:"La imatge \xE9s massa petita",imageValidateSizeLabelImageSizeTooBig:"La imatge \xE9s massa gran",imageValidateSizeLabelExpectedMinSize:"La mida m\xEDnima \xE9s {minWidth} x {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La mida m\xE0xima \xE9s {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La resoluci\xF3 \xE9s massa baixa",imageValidateSizeLabelImageResolutionTooHigh:"La resoluci\xF3 \xE9s massa alta",imageValidateSizeLabelExpectedMinResolution:"La resoluci\xF3 m\xEDnima \xE9s {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La resoluci\xF3 m\xE0xima \xE9s {maxResolution}"};var zo={labelIdle:'\u067E\u06D5\u0695\u06AF\u06D5\u06A9\u0627\u0646 \u0641\u0695\u06CE \u0628\u062F\u06D5 \u0626\u06CE\u0631\u06D5 \u0628\u06C6 \u0628\u0627\u0631\u06A9\u0631\u062F\u0646 \u06CC\u0627\u0646 \u0647\u06D5\u06B5\u0628\u0698\u06CE\u0631\u06D5 ',labelInvalidField:"\u067E\u06D5\u0695\u06AF\u06D5\u06CC \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06CC \u062A\u06CE\u062F\u0627\u06CC\u06D5",labelFileWaitingForSize:"\u0686\u0627\u0648\u06D5\u0695\u0648\u0627\u0646\u06CC\u06CC \u0642\u06D5\u0628\u0627\u0631\u06D5",labelFileSizeNotAvailable:"\u0642\u06D5\u0628\u0627\u0631\u06D5 \u0628\u06D5\u0631\u062F\u06D5\u0633\u062A \u0646\u06CC\u06D5",labelFileLoading:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelFileLoadError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5\u0645\u0627\u0648\u06D5\u06CC \u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelFileProcessing:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelFileProcessingComplete:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646 \u062A\u06D5\u0648\u0627\u0648 \u0628\u0648\u0648",labelFileProcessingAborted:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646 \u0647\u06D5\u06B5\u0648\u06D5\u0634\u0627\u06CC\u06D5\u0648\u06D5",labelFileProcessingError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5\u06A9\u0627\u062A\u06CC \u0628\u0627\u0631\u06A9\u0631\u062F\u0646\u062F\u0627",labelFileProcessingRevertError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5 \u06A9\u0627\u062A\u06CC \u06AF\u06D5\u0695\u0627\u0646\u06D5\u0648\u06D5",labelFileRemoveError:"\u0647\u06D5\u06B5\u06D5 \u0644\u06D5 \u06A9\u0627\u062A\u06CC \u0633\u0695\u06CC\u0646\u06D5\u0648\u06D5",labelTapToCancel:"\u0628\u06C6 \u0647\u06D5\u06B5\u0648\u06D5\u0634\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5 Tab \u062F\u0627\u0628\u06AF\u0631\u06D5",labelTapToRetry:"tap \u062F\u0627\u0628\u06AF\u0631\u06D5 \u0628\u06C6 \u062F\u0648\u0648\u0628\u0627\u0631\u06D5\u06A9\u0631\u062F\u0646\u06D5\u0648\u06D5",labelTapToUndo:"tap \u062F\u0627\u0628\u06AF\u0631\u06D5 \u0628\u06C6 \u06AF\u06D5\u0695\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5",labelButtonRemoveItem:"\u0633\u0695\u06CC\u0646\u06D5\u0648\u06D5",labelButtonAbortItemLoad:"\u0647\u06D5\u06B5\u0648\u06D5\u0634\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5",labelButtonRetryItemLoad:"\u0647\u06D5\u0648\u06B5\u062F\u0627\u0646\u06D5\u0648\u06D5",labelButtonAbortItemProcessing:"\u067E\u06D5\u0634\u06CC\u0645\u0627\u0646\u0628\u0648\u0648\u0646\u06D5\u0648\u06D5",labelButtonUndoItemProcessing:"\u06AF\u06D5\u0695\u0627\u0646\u062F\u0646\u06D5\u0648\u06D5",labelButtonRetryItemProcessing:"\u0647\u06D5\u0648\u06B5\u062F\u0627\u0646\u06D5\u0648\u06D5",labelButtonProcessItem:"\u0628\u0627\u0631\u06A9\u0631\u062F\u0646",labelMaxFileSizeExceeded:"\u067E\u06D5\u0695\u06AF\u06D5 \u0632\u06C6\u0631 \u06AF\u06D5\u0648\u0631\u06D5\u06CC\u06D5",labelMaxFileSize:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5 {filesize}",labelMaxTotalFileSizeExceeded:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5\u06CC \u06A9\u06C6\u06CC \u06AF\u0634\u062A\u06CC \u062A\u06CE\u067E\u06D5\u0695\u06CE\u0646\u062F\u0631\u0627",labelMaxTotalFileSize:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5\u06CC \u06A9\u06C6\u06CC \u067E\u06D5\u0695\u06AF\u06D5 {filesize}",labelFileTypeNotAllowed:"\u062C\u06C6\u0631\u06CC \u067E\u06D5\u0695\u06AF\u06D5\u06A9\u06D5 \u0646\u0627\u062F\u0631\u0648\u0633\u062A\u06D5",fileValidateTypeLabelExpectedTypes:"\u062C\u06AF\u06D5 \u0644\u06D5 {allButLastType} \u06CC\u0627\u0646 {lastType}",imageValidateSizeLabelFormatError:"\u062C\u06C6\u0631\u06CC \u0648\u06CE\u0646\u06D5 \u067E\u0627\u06B5\u067E\u0634\u062A\u06CC\u06CC \u0646\u06D5\u06A9\u0631\u0627\u0648\u06D5",imageValidateSizeLabelImageSizeTooSmall:"\u0648\u06CE\u0646\u06D5\u06A9\u06D5 \u0632\u06C6\u0631 \u0628\u0686\u0648\u0648\u06A9\u06D5",imageValidateSizeLabelImageSizeTooBig:"\u0648\u06CE\u0646\u06D5\u06A9\u06D5 \u0632\u06C6\u0631 \u06AF\u06D5\u0648\u0631\u06D5\u06CC\u06D5",imageValidateSizeLabelExpectedMinSize:"\u06A9\u06D5\u0645\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0642\u06D5\u0628\u0627\u0631\u06D5 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0648\u0631\u062F\u0628\u06CC\u0646\u06CC\u06CC\u06D5\u06A9\u06D5\u06CC \u0632\u06C6\u0631 \u06A9\u06D5\u0645\u06D5",imageValidateSizeLabelImageResolutionTooHigh:"\u0648\u0631\u062F\u0628\u06CC\u0646\u06CC\u06CC\u06D5\u06A9\u06D5\u06CC \u0632\u06C6\u0631 \u0628\u06D5\u0631\u0632\u06D5",imageValidateSizeLabelExpectedMinResolution:"\u06A9\u06D5\u0645\u062A\u0631\u06CC\u0646 \u0648\u0631\u062F\u0628\u06CC\u0646\u06CC\u06CC {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0632\u06C6\u0631\u062A\u0631\u06CC\u0646 \u0648\u0631\u062F\u0628\u06CC\u0646\u06CC {maxResolution}"};var Po={labelIdle:'P\u0159et\xE1hn\u011Bte soubor sem (drag&drop) nebo Vyhledat ',labelInvalidField:"Pole obsahuje chybn\xE9 soubory",labelFileWaitingForSize:"Zji\u0161\u0165uje se velikost",labelFileSizeNotAvailable:"Velikost nen\xED zn\xE1m\xE1",labelFileLoading:"P\u0159en\xE1\u0161\xED se",labelFileLoadError:"Chyba p\u0159i p\u0159enosu",labelFileProcessing:"Prob\xEDh\xE1 upload",labelFileProcessingComplete:"Upload dokon\u010Den",labelFileProcessingAborted:"Upload stornov\xE1n",labelFileProcessingError:"Chyba p\u0159i uploadu",labelFileProcessingRevertError:"Chyba p\u0159i obnov\u011B",labelFileRemoveError:"Chyba p\u0159i odstran\u011Bn\xED",labelTapToCancel:"klepn\u011Bte pro storno",labelTapToRetry:"klepn\u011Bte pro opakov\xE1n\xED",labelTapToUndo:"klepn\u011Bte pro vr\xE1cen\xED",labelButtonRemoveItem:"Odstranit",labelButtonAbortItemLoad:"Storno",labelButtonRetryItemLoad:"Opakovat",labelButtonAbortItemProcessing:"Zp\u011Bt",labelButtonUndoItemProcessing:"Vr\xE1tit",labelButtonRetryItemProcessing:"Opakovat",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Soubor je p\u0159\xEDli\u0161 velk\xFD",labelMaxFileSize:"Nejv\u011Bt\u0161\xED velikost souboru je {filesize}",labelMaxTotalFileSizeExceeded:"P\u0159ekro\u010Dena maxim\xE1ln\xED celkov\xE1 velikost souboru",labelMaxTotalFileSize:"Maxim\xE1ln\xED celkov\xE1 velikost souboru je {filesize}",labelFileTypeNotAllowed:"Soubor je nespr\xE1vn\xE9ho typu",fileValidateTypeLabelExpectedTypes:"O\u010Dek\xE1v\xE1 se {allButLastType} nebo {lastType}",imageValidateSizeLabelFormatError:"Obr\xE1zek tohoto typu nen\xED podporov\xE1n",imageValidateSizeLabelImageSizeTooSmall:"Obr\xE1zek je p\u0159\xEDli\u0161 mal\xFD",imageValidateSizeLabelImageSizeTooBig:"Obr\xE1zek je p\u0159\xEDli\u0161 velk\xFD",imageValidateSizeLabelExpectedMinSize:"Minim\xE1ln\xED rozm\u011Br je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maxim\xE1ln\xED rozm\u011Br je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozli\u0161en\xED je p\u0159\xEDli\u0161 mal\xE9",imageValidateSizeLabelImageResolutionTooHigh:"Rozli\u0161en\xED je p\u0159\xEDli\u0161 velk\xE9",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1ln\xED rozli\u0161en\xED je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1ln\xED rozli\u0161en\xED je {maxResolution}"};var Fo={labelIdle:'Tr\xE6k & slip filer eller Gennemse ',labelInvalidField:"Felt indeholder ugyldige filer",labelFileWaitingForSize:"Venter p\xE5 st\xF8rrelse",labelFileSizeNotAvailable:"St\xF8rrelse ikke tilg\xE6ngelig",labelFileLoading:"Loader",labelFileLoadError:"Load fejlede",labelFileProcessing:"Uploader",labelFileProcessingComplete:"Upload f\xE6rdig",labelFileProcessingAborted:"Upload annulleret",labelFileProcessingError:"Upload fejlede",labelFileProcessingRevertError:"Fortryd fejlede",labelFileRemoveError:"Fjern fejlede",labelTapToCancel:"tryk for at annullere",labelTapToRetry:"tryk for at pr\xF8ve igen",labelTapToUndo:"tryk for at fortryde",labelButtonRemoveItem:"Fjern",labelButtonAbortItemLoad:"Annuller",labelButtonRetryItemLoad:"Fors\xF8g igen",labelButtonAbortItemProcessing:"Annuller",labelButtonUndoItemProcessing:"Fortryd",labelButtonRetryItemProcessing:"Pr\xF8v igen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Filen er for stor",labelMaxFileSize:"Maksimal filst\xF8rrelse er {filesize}",labelMaxTotalFileSizeExceeded:"Maksimal totalst\xF8rrelse overskredet",labelMaxTotalFileSize:"Maksimal total filst\xF8rrelse er {filesize}",labelFileTypeNotAllowed:"Ugyldig filtype",fileValidateTypeLabelExpectedTypes:"Forventer {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Ugyldigt format",imageValidateSizeLabelImageSizeTooSmall:"Billedet er for lille",imageValidateSizeLabelImageSizeTooBig:"Billedet er for stort",imageValidateSizeLabelExpectedMinSize:"Minimum st\xF8rrelse er {minBredde} \xD7 {minH\xF8jde}",imageValidateSizeLabelExpectedMaxSize:"Maksimal st\xF8rrelse er {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"For lav opl\xF8sning",imageValidateSizeLabelImageResolutionTooHigh:"For h\xF8j opl\xF8sning",imageValidateSizeLabelExpectedMinResolution:"Minimum opl\xF8sning er {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimal opl\xF8sning er {maxResolution}"};var Oo={labelIdle:'Dateien ablegen oder ausw\xE4hlen ',labelInvalidField:"Feld beinhaltet ung\xFCltige Dateien",labelFileWaitingForSize:"Dateigr\xF6\xDFe berechnen",labelFileSizeNotAvailable:"Dateigr\xF6\xDFe nicht verf\xFCgbar",labelFileLoading:"Laden",labelFileLoadError:"Fehler beim Laden",labelFileProcessing:"Upload l\xE4uft",labelFileProcessingComplete:"Upload abgeschlossen",labelFileProcessingAborted:"Upload abgebrochen",labelFileProcessingError:"Fehler beim Upload",labelFileProcessingRevertError:"Fehler beim Wiederherstellen",labelFileRemoveError:"Fehler beim L\xF6schen",labelTapToCancel:"abbrechen",labelTapToRetry:"erneut versuchen",labelTapToUndo:"r\xFCckg\xE4ngig",labelButtonRemoveItem:"Entfernen",labelButtonAbortItemLoad:"Verwerfen",labelButtonRetryItemLoad:"Erneut versuchen",labelButtonAbortItemProcessing:"Abbrechen",labelButtonUndoItemProcessing:"R\xFCckg\xE4ngig",labelButtonRetryItemProcessing:"Erneut versuchen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Datei ist zu gro\xDF",labelMaxFileSize:"Maximale Dateigr\xF6\xDFe: {filesize}",labelMaxTotalFileSizeExceeded:"Maximale gesamte Dateigr\xF6\xDFe \xFCberschritten",labelMaxTotalFileSize:"Maximale gesamte Dateigr\xF6\xDFe: {filesize}",labelFileTypeNotAllowed:"Dateityp ung\xFCltig",fileValidateTypeLabelExpectedTypes:"Erwartet {allButLastType} oder {lastType}",imageValidateSizeLabelFormatError:"Bildtyp nicht unterst\xFCtzt",imageValidateSizeLabelImageSizeTooSmall:"Bild ist zu klein",imageValidateSizeLabelImageSizeTooBig:"Bild ist zu gro\xDF",imageValidateSizeLabelExpectedMinSize:"Mindestgr\xF6\xDFe: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximale Gr\xF6\xDFe: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Aufl\xF6sung ist zu niedrig",imageValidateSizeLabelImageResolutionTooHigh:"Aufl\xF6sung ist zu hoch",imageValidateSizeLabelExpectedMinResolution:"Mindestaufl\xF6sung: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximale Aufl\xF6sung: {maxResolution}"};var Do={labelIdle:'\u03A3\u03CD\u03C1\u03B5\u03C4\u03B5 \u03C4\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03C3\u03B1\u03C2 \u03C3\u03C4\u03BF \u03C0\u03BB\u03B1\u03AF\u03C3\u03B9\u03BF \u03AE \u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 ',labelInvalidField:"\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 \u03BC\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1",labelFileWaitingForSize:"\u03A3\u03B5 \u03B1\u03BD\u03B1\u03BC\u03BF\u03BD\u03AE \u03B3\u03B9\u03B1 \u03C4\u03BF \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2",labelFileSizeNotAvailable:"\u039C\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03BC\u03B7 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF",labelFileLoading:"\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03C3\u03B5 \u03B5\u03BE\u03AD\u03BB\u03B9\u03BE\u03B7",labelFileLoadError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7 \u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7",labelFileProcessing:"\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1",labelFileProcessingComplete:"\u0397 \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03BF\u03BB\u03BF\u03BA\u03BB\u03B7\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5",labelFileProcessingAborted:"\u0397 \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03B1\u03BA\u03C5\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5",labelFileProcessingError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1",labelFileProcessingRevertError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03B5\u03C0\u03B1\u03BD\u03B1\u03C6\u03BF\u03C1\u03AC",labelFileRemoveError:"\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03BA\u03B1\u03C4\u03AC \u03C4\u03B7\u03BD \u03B4\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE",labelTapToCancel:"\u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03B1\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",labelTapToRetry:"\u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03B5\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",labelTapToUndo:"\u03C0\u03B1\u03C4\u03AE\u03C3\u03C4\u03B5 \u03B3\u03B9\u03B1 \u03B1\u03BD\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",labelButtonRemoveItem:"\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",labelButtonAbortItemLoad:"\u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",labelButtonRetryItemLoad:"\u0395\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",labelButtonAbortItemProcessing:"\u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",labelButtonUndoItemProcessing:"\u0391\u03BD\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",labelButtonRetryItemProcessing:"\u0395\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7",labelButtonProcessItem:"\u039C\u03B5\u03C4\u03B1\u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7",labelMaxFileSizeExceeded:"\u03A4\u03BF \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF",labelMaxFileSize:"\u03A4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 \u03B5\u03AF\u03BD\u03B1\u03B9 {filesize}",labelMaxTotalFileSizeExceeded:"\u03A5\u03C0\u03AD\u03C1\u03B2\u03B1\u03C3\u03B7 \u03C4\u03BF\u03C5 \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF\u03C5 \u03C3\u03C5\u03BD\u03BF\u03BB\u03B9\u03BA\u03BF\u03CD \u03BC\u03B5\u03B3\u03AD\u03B8\u03BF\u03C5\u03C2",labelMaxTotalFileSize:"\u03A4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u03C3\u03C5\u03BD\u03BF\u03BB\u03B9\u03BA\u03CC \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03C9\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 {filesize}",labelFileTypeNotAllowed:"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03C4\u03CD\u03C0\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5",fileValidateTypeLabelExpectedTypes:"\u03A4\u03B1 \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03AC \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 {allButLastType} \u03AE {lastType}",imageValidateSizeLabelFormatError:"\u039F \u03C4\u03CD\u03C0\u03BF\u03C2 \u03C4\u03B7\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2 \u03B4\u03B5\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03C4\u03B1\u03B9",imageValidateSizeLabelImageSizeTooSmall:"\u0397 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03AE",imageValidateSizeLabelImageSizeTooBig:"\u0397 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03B7",imageValidateSizeLabelExpectedMinSize:"\u03A4\u03BF \u03B5\u03BB\u03AC\u03C7\u03B9\u03C3\u03C4\u03BF \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03CC \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u03A4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03CC \u03BC\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0397 \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03C7\u03B1\u03BC\u03B7\u03BB\u03AE",imageValidateSizeLabelImageResolutionTooHigh:"\u0397 \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03C5\u03C8\u03B7\u03BB\u03AE",imageValidateSizeLabelExpectedMinResolution:"\u0397 \u03B5\u03BB\u03AC\u03C7\u03B9\u03C3\u03C4\u03B7 \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03AE \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03B5\u03AF\u03BD\u03B1\u03B9 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0397 \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03B7 \u03B1\u03C0\u03BF\u03B4\u03B5\u03BA\u03C4\u03AE \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7 \u03B5\u03AF\u03BD\u03B1\u03B9 {maxResolution}"};var Co={labelIdle:'Drag & Drop your files or Browse ',labelInvalidField:"Field contains invalid files",labelFileWaitingForSize:"Waiting for size",labelFileSizeNotAvailable:"Size not available",labelFileLoading:"Loading",labelFileLoadError:"Error during load",labelFileProcessing:"Uploading",labelFileProcessingComplete:"Upload complete",labelFileProcessingAborted:"Upload cancelled",labelFileProcessingError:"Error during upload",labelFileProcessingRevertError:"Error during revert",labelFileRemoveError:"Error during remove",labelTapToCancel:"tap to cancel",labelTapToRetry:"tap to retry",labelTapToUndo:"tap to undo",labelButtonRemoveItem:"Remove",labelButtonAbortItemLoad:"Abort",labelButtonRetryItemLoad:"Retry",labelButtonAbortItemProcessing:"Cancel",labelButtonUndoItemProcessing:"Undo",labelButtonRetryItemProcessing:"Retry",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"File is too large",labelMaxFileSize:"Maximum file size is {filesize}",labelMaxTotalFileSizeExceeded:"Maximum total size exceeded",labelMaxTotalFileSize:"Maximum total file size is {filesize}",labelFileTypeNotAllowed:"File of invalid type",fileValidateTypeLabelExpectedTypes:"Expects {allButLastType} or {lastType}",imageValidateSizeLabelFormatError:"Image type not supported",imageValidateSizeLabelImageSizeTooSmall:"Image is too small",imageValidateSizeLabelImageSizeTooBig:"Image is too big",imageValidateSizeLabelExpectedMinSize:"Minimum size is {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum size is {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolution is too low",imageValidateSizeLabelImageResolutionTooHigh:"Resolution is too high",imageValidateSizeLabelExpectedMinResolution:"Minimum resolution is {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum resolution is {maxResolution}"};var Bo={labelIdle:'Arrastra y suelta tus archivos o Examina ',labelInvalidField:"El campo contiene archivos inv\xE1lidos",labelFileWaitingForSize:"Esperando tama\xF1o",labelFileSizeNotAvailable:"Tama\xF1o no disponible",labelFileLoading:"Cargando",labelFileLoadError:"Error durante la carga",labelFileProcessing:"Subiendo",labelFileProcessingComplete:"Subida completa",labelFileProcessingAborted:"Subida cancelada",labelFileProcessingError:"Error durante la subida",labelFileProcessingRevertError:"Error durante la reversi\xF3n",labelFileRemoveError:"Error durante la eliminaci\xF3n",labelTapToCancel:"toca para cancelar",labelTapToRetry:"tocar para reintentar",labelTapToUndo:"tocar para deshacer",labelButtonRemoveItem:"Eliminar",labelButtonAbortItemLoad:"Cancelar",labelButtonRetryItemLoad:"Reintentar",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Deshacer",labelButtonRetryItemProcessing:"Reintentar",labelButtonProcessItem:"Subir",labelMaxFileSizeExceeded:"El archivo es demasiado grande",labelMaxFileSize:"El tama\xF1o m\xE1ximo del archivo es {filesize}",labelMaxTotalFileSizeExceeded:"Tama\xF1o total m\xE1ximo excedido",labelMaxTotalFileSize:"El tama\xF1o total m\xE1ximo del archivo es {filesize}",labelFileTypeNotAllowed:"Archivo de tipo inv\xE1lido",fileValidateTypeLabelExpectedTypes:"Espera {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagen no soportada",imageValidateSizeLabelImageSizeTooSmall:"La imagen es demasiado peque\xF1a",imageValidateSizeLabelImageSizeTooBig:"La imagen es demasiado grande",imageValidateSizeLabelExpectedMinSize:"El tama\xF1o m\xEDnimo es {minWidth} x {minHeight}",imageValidateSizeLabelExpectedMaxSize:"El tama\xF1o m\xE1ximo es {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La resoluci\xF3n es demasiado baja",imageValidateSizeLabelImageResolutionTooHigh:"La resoluci\xF3n es demasiado alta",imageValidateSizeLabelExpectedMinResolution:"La resoluci\xF3n m\xEDnima es {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La resoluci\xF3n m\xE1xima es {maxResolution}"};var ko={labelIdle:'\u0641\u0627\u06CC\u0644 \u0631\u0627 \u0627\u06CC\u0646\u062C\u0627 \u0628\u06A9\u0634\u06CC\u062F \u0648 \u0631\u0647\u0627 \u06A9\u0646\u06CC\u062F\u060C \u06CC\u0627 \u062C\u0633\u062A\u062C\u0648 \u06A9\u0646\u06CC\u062F ',labelInvalidField:"\u0641\u06CC\u0644\u062F \u062F\u0627\u0631\u0627\u06CC \u0641\u0627\u06CC\u0644 \u0647\u0627\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A",labelFileWaitingForSize:"Waiting for size",labelFileSizeNotAvailable:"\u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 \u0645\u062C\u0627\u0632 \u0646\u06CC\u0633\u062A",labelFileLoading:"\u062F\u0631\u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileLoadError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u0627\u062C\u0631\u0627",labelFileProcessing:"\u062F\u0631\u062D\u0627\u0644 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileProcessingComplete:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u06A9\u0627\u0645\u0644 \u0634\u062F",labelFileProcessingAborted:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0644\u063A\u0648 \u0634\u062F",labelFileProcessingError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelFileProcessingRevertError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u0630\u0641",labelFileRemoveError:"\u062E\u0637\u0627 \u062F\u0631 \u0632\u0645\u0627\u0646 \u062D\u0630\u0641",labelTapToCancel:"\u0628\u0631\u0627\u06CC \u0644\u063A\u0648 \u0636\u0631\u0628\u0647 \u0628\u0632\u0646\u06CC\u062F",labelTapToRetry:"\u0628\u0631\u0627\u06CC \u062A\u06A9\u0631\u0627\u0631 \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F",labelTapToUndo:"\u0628\u0631\u0627\u06CC \u0628\u0631\u06AF\u0634\u062A \u06A9\u0644\u06CC\u06A9 \u06A9\u0646\u06CC\u062F",labelButtonRemoveItem:"\u062D\u0630\u0641",labelButtonAbortItemLoad:"\u0644\u063A\u0648",labelButtonRetryItemLoad:"\u062A\u06A9\u0631\u0627\u0631",labelButtonAbortItemProcessing:"\u0644\u063A\u0648",labelButtonUndoItemProcessing:"\u0628\u0631\u06AF\u0634\u062A",labelButtonRetryItemProcessing:"\u062A\u06A9\u0631\u0627\u0631",labelButtonProcessItem:"\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC",labelMaxFileSizeExceeded:"\u0641\u0627\u06CC\u0644 \u0628\u0633\u06CC\u0627\u0631 \u062D\u062C\u06CC\u0645 \u0627\u0633\u062A",labelMaxFileSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0645\u062C\u0627\u0632 \u0641\u0627\u06CC\u0644 {filesize} \u0627\u0633\u062A",labelMaxTotalFileSizeExceeded:"\u0627\u0632 \u062D\u062F\u0627\u06A9\u062B\u0631 \u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 \u0628\u06CC\u0634\u062A\u0631 \u0634\u062F",labelMaxTotalFileSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u062D\u062C\u0645 \u0641\u0627\u06CC\u0644 {filesize} \u0627\u0633\u062A",labelFileTypeNotAllowed:"\u0646\u0648\u0639 \u0641\u0627\u06CC\u0644 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u0627\u0633\u062A",fileValidateTypeLabelExpectedTypes:"\u062F\u0631 \u0627\u0646\u062A\u0638\u0627\u0631 {allButLastType} \u06CC\u0627 {lastType}",imageValidateSizeLabelFormatError:"\u0641\u0631\u0645\u062A \u062A\u0635\u0648\u06CC\u0631 \u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0646\u0645\u06CC \u0634\u0648\u062F",imageValidateSizeLabelImageSizeTooSmall:"\u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u06A9\u0648\u0686\u06A9 \u0627\u0633\u062A",imageValidateSizeLabelImageSizeTooBig:"\u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u0628\u0632\u0631\u06AF \u0627\u0633\u062A",imageValidateSizeLabelExpectedMinSize:"\u062D\u062F\u0627\u0642\u0644 \u0627\u0646\u062F\u0627\u0632\u0647 {minWidth} \xD7 {minHeight} \u0627\u0633\u062A",imageValidateSizeLabelExpectedMaxSize:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0627\u0646\u062F\u0627\u0632\u0647 {maxWidth} \xD7 {maxHeight} \u0627\u0633\u062A",imageValidateSizeLabelImageResolutionTooLow:"\u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u06A9\u0645 \u0627\u0633\u062A",imageValidateSizeLabelImageResolutionTooHigh:"\u0648\u0636\u0648\u0639 \u062A\u0635\u0648\u06CC\u0631 \u0628\u0633\u06CC\u0627\u0631 \u0632\u06CC\u0627\u062F \u0627\u0633\u062A",imageValidateSizeLabelExpectedMinResolution:"\u062D\u062F\u0627\u0642\u0644 \u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 {minResolution} \u0627\u0633\u062A",imageValidateSizeLabelExpectedMaxResolution:"\u062D\u062F\u0627\u06A9\u062B\u0631 \u0648\u0636\u0648\u062D \u062A\u0635\u0648\u06CC\u0631 {maxResolution} \u0627\u0633\u062A"};var No={labelIdle:'Ved\xE4 ja pudota tiedostoja tai Selaa ',labelInvalidField:"Kent\xE4ss\xE4 on virheellisi\xE4 tiedostoja",labelFileWaitingForSize:"Odotetaan kokoa",labelFileSizeNotAvailable:"Kokoa ei saatavilla",labelFileLoading:"Ladataan",labelFileLoadError:"Virhe latauksessa",labelFileProcessing:"L\xE4hetet\xE4\xE4n",labelFileProcessingComplete:"L\xE4hetys valmis",labelFileProcessingAborted:"L\xE4hetys peruttu",labelFileProcessingError:"Virhe l\xE4hetyksess\xE4",labelFileProcessingRevertError:"Virhe palautuksessa",labelFileRemoveError:"Virhe poistamisessa",labelTapToCancel:"peruuta napauttamalla",labelTapToRetry:"yrit\xE4 uudelleen napauttamalla",labelTapToUndo:"kumoa napauttamalla",labelButtonRemoveItem:"Poista",labelButtonAbortItemLoad:"Keskeyt\xE4",labelButtonRetryItemLoad:"Yrit\xE4 uudelleen",labelButtonAbortItemProcessing:"Peruuta",labelButtonUndoItemProcessing:"Kumoa",labelButtonRetryItemProcessing:"Yrit\xE4 uudelleen",labelButtonProcessItem:"L\xE4het\xE4",labelMaxFileSizeExceeded:"Tiedoston koko on liian suuri",labelMaxFileSize:"Tiedoston maksimikoko on {filesize}",labelMaxTotalFileSizeExceeded:"Tiedostojen yhdistetty maksimikoko ylitetty",labelMaxTotalFileSize:"Tiedostojen yhdistetty maksimikoko on {filesize}",labelFileTypeNotAllowed:"Tiedostotyyppi\xE4 ei sallita",fileValidateTypeLabelExpectedTypes:"Sallitaan {allButLastType} tai {lastType}",imageValidateSizeLabelFormatError:"Kuvatyyppi\xE4 ei tueta",imageValidateSizeLabelImageSizeTooSmall:"Kuva on liian pieni",imageValidateSizeLabelImageSizeTooBig:"Kuva on liian suuri",imageValidateSizeLabelExpectedMinSize:"Minimikoko on {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimikoko on {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resoluutio on liian pieni",imageValidateSizeLabelImageResolutionTooHigh:"Resoluutio on liian suuri",imageValidateSizeLabelExpectedMinResolution:"Minimiresoluutio on {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimiresoluutio on {maxResolution}"};var Vo={labelIdle:'Faites glisser vos fichiers ou Parcourir ',labelInvalidField:"Le champ contient des fichiers invalides",labelFileWaitingForSize:"En attente de taille",labelFileSizeNotAvailable:"Taille non disponible",labelFileLoading:"Chargement",labelFileLoadError:"Erreur durant le chargement",labelFileProcessing:"Traitement",labelFileProcessingComplete:"Traitement effectu\xE9",labelFileProcessingAborted:"Traitement interrompu",labelFileProcessingError:"Erreur durant le traitement",labelFileProcessingRevertError:"Erreur durant la restauration",labelFileRemoveError:"Erreur durant la suppression",labelTapToCancel:"appuyer pour annuler",labelTapToRetry:"appuyer pour r\xE9essayer",labelTapToUndo:"appuyer pour revenir en arri\xE8re",labelButtonRemoveItem:"Retirer",labelButtonAbortItemLoad:"Annuler",labelButtonRetryItemLoad:"Recommencer",labelButtonAbortItemProcessing:"Annuler",labelButtonUndoItemProcessing:"Revenir en arri\xE8re",labelButtonRetryItemProcessing:"Recommencer",labelButtonProcessItem:"Transf\xE9rer",labelMaxFileSizeExceeded:"Le fichier est trop volumineux",labelMaxFileSize:"La taille maximale de fichier est {filesize}",labelMaxTotalFileSizeExceeded:"Taille totale maximale d\xE9pass\xE9e",labelMaxTotalFileSize:"La taille totale maximale des fichiers est {filesize}",labelFileTypeNotAllowed:"Fichier non valide",fileValidateTypeLabelExpectedTypes:"Attendu {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Type d'image non pris en charge",imageValidateSizeLabelImageSizeTooSmall:"L'image est trop petite",imageValidateSizeLabelImageSizeTooBig:"L'image est trop grande",imageValidateSizeLabelExpectedMinSize:"La taille minimale est {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La taille maximale est {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La r\xE9solution est trop faible",imageValidateSizeLabelImageResolutionTooHigh:"La r\xE9solution est trop \xE9lev\xE9e",imageValidateSizeLabelExpectedMinResolution:"La r\xE9solution minimale est {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La r\xE9solution maximale est {maxResolution}"};var Go={labelIdle:'\u05D2\u05E8\u05D5\u05E8 \u05D5\u05E9\u05D7\u05E8\u05E8 \u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05DB\u05D0\u05DF \u05D0\u05D5 \u05DC\u05D7\u05E5 \u05DB\u05D0\u05DF \u05DC\u05D1\u05D7\u05D9\u05E8\u05D4 ',labelInvalidField:"\u05E7\u05D5\u05D1\u05E5 \u05DC\u05D0 \u05D7\u05D5\u05E7\u05D9",labelFileWaitingForSize:"\u05DE\u05D7\u05E9\u05D1 \u05D0\u05EA \u05D2\u05D5\u05D3\u05DC \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileSizeNotAvailable:"\u05DC\u05D0 \u05E0\u05D9\u05EA\u05DF \u05DC\u05E7\u05D1\u05D5\u05E2 \u05D0\u05EA \u05D2\u05D5\u05D3\u05DC \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileLoading:"\u05D8\u05D5\u05E2\u05DF...",labelFileLoadError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05D8\u05E2\u05D9\u05E0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileProcessing:"\u05DE\u05E2\u05DC\u05D4 \u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileProcessingComplete:"\u05D4\u05E2\u05DC\u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D4\u05E1\u05EA\u05D9\u05D9\u05DE\u05D4",labelFileProcessingAborted:"\u05D4\u05E2\u05DC\u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D1\u05D5\u05D8\u05DC\u05D4",labelFileProcessingError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05D4\u05E2\u05DC\u05D0\u05EA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileProcessingRevertError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05E9\u05D7\u05D6\u05D5\u05E8 \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD",labelFileRemoveError:"\u05E9\u05D2\u05D9\u05D0\u05D4 \u05D0\u05E8\u05E2\u05D4 \u05D1\u05E2\u05EA \u05D4\u05E1\u05E8\u05EA \u05D4\u05E7\u05D5\u05D1\u05E5",labelTapToCancel:"\u05D4\u05E7\u05DC\u05E7 \u05DC\u05D1\u05D9\u05D8\u05D5\u05DC",labelTapToRetry:"\u05D4\u05E7\u05DC\u05E7 \u05DC\u05E0\u05E1\u05D5\u05EA \u05E9\u05E0\u05D9\u05EA",labelTapToUndo:"\u05D4\u05E7\u05DC\u05E7 \u05DC\u05E9\u05D7\u05D6\u05E8",labelButtonRemoveItem:"\u05D4\u05E1\u05E8",labelButtonAbortItemLoad:"\u05D1\u05D8\u05DC",labelButtonRetryItemLoad:"\u05D8\u05E2\u05DF \u05E9\u05E0\u05D9\u05EA",labelButtonAbortItemProcessing:"\u05D1\u05D8\u05DC",labelButtonUndoItemProcessing:"\u05E9\u05D7\u05D6\u05E8",labelButtonRetryItemProcessing:"\u05E0\u05E1\u05D4 \u05E9\u05E0\u05D9\u05EA",labelButtonProcessItem:"\u05D4\u05E2\u05DC\u05D4 \u05E7\u05D5\u05D1\u05E5",labelMaxFileSizeExceeded:"\u05D4\u05E7\u05D5\u05D1\u05E5 \u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9",labelMaxFileSize:"\u05D2\u05D5\u05D3\u05DC \u05D4\u05DE\u05D9\u05E8\u05D1\u05D9 \u05D4\u05DE\u05D5\u05EA\u05E8 \u05D4\u05D5\u05D0: {filesize}",labelMaxTotalFileSizeExceeded:"\u05D2\u05D5\u05D3\u05DC \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D7\u05D5\u05E8\u05D2 \u05DE\u05D4\u05DB\u05DE\u05D5\u05EA \u05D4\u05DE\u05D5\u05EA\u05E8\u05EA",labelMaxTotalFileSize:"\u05D4\u05D2\u05D5\u05D3\u05DC \u05D4\u05DE\u05D9\u05E8\u05D1\u05D9 \u05E9\u05DC \u05E1\u05DA \u05D4\u05E7\u05D1\u05E6\u05D9\u05DD: {filesize}",labelFileTypeNotAllowed:"\u05E7\u05D5\u05D1\u05E5 \u05DE\u05E1\u05D5\u05D2 \u05D6\u05D4 \u05D0\u05D9\u05E0\u05D5 \u05DE\u05D5\u05EA\u05E8",fileValidateTypeLabelExpectedTypes:"\u05D4\u05E7\u05D1\u05E6\u05D9\u05DD \u05D4\u05DE\u05D5\u05EA\u05E8\u05D9\u05DD \u05D4\u05DD {allButLastType} \u05D0\u05D5 {lastType}",imageValidateSizeLabelFormatError:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D1\u05E4\u05D5\u05E8\u05DE\u05D8 \u05D6\u05D4 \u05D0\u05D9\u05E0\u05D4 \u05E0\u05EA\u05DE\u05DB\u05EA",imageValidateSizeLabelImageSizeTooSmall:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05E7\u05D8\u05E0\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelImageSizeTooBig:"\u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05D2\u05D3\u05D5\u05DC\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelExpectedMinSize:"\u05D4\u05D2\u05D5\u05D3\u05DC \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA \u05DC\u05E4\u05D7\u05D5\u05EA: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u05D4\u05D2\u05D5\u05D3\u05DC \u05D4\u05DE\u05E8\u05D1\u05D9 \u05D4\u05DE\u05D5\u05EA\u05E8: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05E9\u05DC \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05E0\u05DE\u05D5\u05DB\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelImageResolutionTooHigh:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05E9\u05DC \u05EA\u05DE\u05D5\u05E0\u05D4 \u05D6\u05D5 \u05D2\u05D1\u05D5\u05D4\u05D4 \u05DE\u05D3\u05D9",imageValidateSizeLabelExpectedMinResolution:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DC\u05E4\u05D7\u05D5\u05EA: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u05D4\u05E8\u05D6\u05D5\u05DC\u05D5\u05E6\u05D9\u05D4 \u05D4\u05DE\u05D9\u05E8\u05D1\u05D9\u05EA \u05D4\u05DE\u05D5\u05EA\u05E8\u05EA \u05D4\u05D9\u05D0: {maxResolution}"};var Uo={labelIdle:'Ovdje "ispusti" datoteku ili Pretra\u017Ei ',labelInvalidField:"Polje sadr\u017Ei neispravne datoteke",labelFileWaitingForSize:"\u010Cekanje na veli\u010Dinu datoteke",labelFileSizeNotAvailable:"Veli\u010Dina datoteke nije dostupna",labelFileLoading:"U\u010Ditavanje",labelFileLoadError:"Gre\u0161ka tijekom u\u010Ditavanja",labelFileProcessing:"Prijenos",labelFileProcessingComplete:"Prijenos zavr\u0161en",labelFileProcessingAborted:"Prijenos otkazan",labelFileProcessingError:"Gre\u0161ka tijekom prijenosa",labelFileProcessingRevertError:"Gre\u0161ka tijekom vra\u0107anja",labelFileRemoveError:"Gre\u0161ka tijekom uklananja datoteke",labelTapToCancel:"Dodirni za prekid",labelTapToRetry:"Dodirni za ponovno",labelTapToUndo:"Dodirni za vra\u0107anje",labelButtonRemoveItem:"Ukloni",labelButtonAbortItemLoad:"Odbaci",labelButtonRetryItemLoad:"Ponovi",labelButtonAbortItemProcessing:"Prekini",labelButtonUndoItemProcessing:"Vrati",labelButtonRetryItemProcessing:"Ponovi",labelButtonProcessItem:"Prijenos",labelMaxFileSizeExceeded:"Datoteka je prevelika",labelMaxFileSize:"Maksimalna veli\u010Dina datoteke je {filesize}",labelMaxTotalFileSizeExceeded:"Maksimalna ukupna veli\u010Dina datoteke prekora\u010Dena",labelMaxTotalFileSize:"Maksimalna ukupna veli\u010Dina datoteke je {filesize}",labelFileTypeNotAllowed:"Tip datoteke nije podr\u017Ean",fileValidateTypeLabelExpectedTypes:"O\u010Dekivan {allButLastType} ili {lastType}",imageValidateSizeLabelFormatError:"Tip slike nije podr\u017Ean",imageValidateSizeLabelImageSizeTooSmall:"Slika je premala",imageValidateSizeLabelImageSizeTooBig:"Slika je prevelika",imageValidateSizeLabelExpectedMinSize:"Minimalna veli\u010Dina je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimalna veli\u010Dina je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezolucija je preniska",imageValidateSizeLabelImageResolutionTooHigh:"Rezolucija je previsoka",imageValidateSizeLabelExpectedMinResolution:"Minimalna rezolucija je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimalna rezolucija je {maxResolution}"};var Wo={labelIdle:'Mozgasd ide a f\xE1jlt a felt\xF6lt\xE9shez, vagy tall\xF3z\xE1s ',labelInvalidField:"A mez\u0151 \xE9rv\xE9nytelen f\xE1jlokat tartalmaz",labelFileWaitingForSize:"F\xE1ljm\xE9ret kisz\xE1mol\xE1sa",labelFileSizeNotAvailable:"A f\xE1jlm\xE9ret nem el\xE9rhet\u0151",labelFileLoading:"T\xF6lt\xE9s",labelFileLoadError:"Hiba a bet\xF6lt\xE9s sor\xE1n",labelFileProcessing:"Felt\xF6lt\xE9s",labelFileProcessingComplete:"Sikeres felt\xF6lt\xE9s",labelFileProcessingAborted:"A felt\xF6lt\xE9s megszak\xEDtva",labelFileProcessingError:"Hiba t\xF6rt\xE9nt a felt\xF6lt\xE9s sor\xE1n",labelFileProcessingRevertError:"Hiba a vissza\xE1ll\xEDt\xE1s sor\xE1n",labelFileRemoveError:"Hiba t\xF6rt\xE9nt az elt\xE1vol\xEDt\xE1s sor\xE1n",labelTapToCancel:"koppints a t\xF6rl\xE9shez",labelTapToRetry:"koppints az \xFAjrakezd\xE9shez",labelTapToUndo:"koppints a visszavon\xE1shoz",labelButtonRemoveItem:"Elt\xE1vol\xEDt\xE1s",labelButtonAbortItemLoad:"Megszak\xEDt\xE1s",labelButtonRetryItemLoad:"\xDAjrapr\xF3b\xE1lkoz\xE1s",labelButtonAbortItemProcessing:"Megszak\xEDt\xE1s",labelButtonUndoItemProcessing:"Visszavon\xE1s",labelButtonRetryItemProcessing:"\xDAjrapr\xF3b\xE1lkoz\xE1s",labelButtonProcessItem:"Felt\xF6lt\xE9s",labelMaxFileSizeExceeded:"A f\xE1jl t\xFAll\xE9pte a maxim\xE1lis m\xE9retet",labelMaxFileSize:"Maxim\xE1lis f\xE1jlm\xE9ret: {filesize}",labelMaxTotalFileSizeExceeded:"T\xFAll\xE9pte a maxim\xE1lis teljes m\xE9retet",labelMaxTotalFileSize:"A maxim\xE1is teljes f\xE1jlm\xE9ret: {filesize}",labelFileTypeNotAllowed:"\xC9rv\xE9nytelen t\xEDpus\xFA f\xE1jl",fileValidateTypeLabelExpectedTypes:"Enged\xE9lyezett t\xEDpusok {allButLastType} vagy {lastType}",imageValidateSizeLabelFormatError:"A k\xE9pt\xEDpus nem t\xE1mogatott",imageValidateSizeLabelImageSizeTooSmall:"A k\xE9p t\xFAl kicsi",imageValidateSizeLabelImageSizeTooBig:"A k\xE9p t\xFAl nagy",imageValidateSizeLabelExpectedMinSize:"Minimum m\xE9ret: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum m\xE9ret: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"A felbont\xE1s t\xFAl alacsony",imageValidateSizeLabelImageResolutionTooHigh:"A felbont\xE1s t\xFAl magas",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1is felbont\xE1s: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1lis felbont\xE1s: {maxResolution}"};var Ho={labelIdle:'Seret & Jatuhkan berkas Anda atau Jelajahi',labelInvalidField:"Isian berisi berkas yang tidak valid",labelFileWaitingForSize:"Menunggu ukuran berkas",labelFileSizeNotAvailable:"Ukuran berkas tidak tersedia",labelFileLoading:"Memuat",labelFileLoadError:"Kesalahan saat memuat",labelFileProcessing:"Mengunggah",labelFileProcessingComplete:"Pengunggahan selesai",labelFileProcessingAborted:"Pengunggahan dibatalkan",labelFileProcessingError:"Kesalahan saat pengunggahan",labelFileProcessingRevertError:"Kesalahan saat pemulihan",labelFileRemoveError:"Kesalahan saat penghapusan",labelTapToCancel:"ketuk untuk membatalkan",labelTapToRetry:"ketuk untuk mencoba lagi",labelTapToUndo:"ketuk untuk mengurungkan",labelButtonRemoveItem:"Hapus",labelButtonAbortItemLoad:"Batalkan",labelButtonRetryItemLoad:"Coba Kembali",labelButtonAbortItemProcessing:"Batalkan",labelButtonUndoItemProcessing:"Urungkan",labelButtonRetryItemProcessing:"Coba Kembali",labelButtonProcessItem:"Unggah",labelMaxFileSizeExceeded:"Berkas terlalu besar",labelMaxFileSize:"Ukuran berkas maksimum adalah {filesize}",labelMaxTotalFileSizeExceeded:"Jumlah berkas maksimum terlampaui",labelMaxTotalFileSize:"Jumlah berkas maksimum adalah {filesize}",labelFileTypeNotAllowed:"Jenis berkas tidak valid",fileValidateTypeLabelExpectedTypes:"Mengharapkan {allButLastType} atau {lastType}",imageValidateSizeLabelFormatError:"Jenis citra tidak didukung",imageValidateSizeLabelImageSizeTooSmall:"Citra terlalu kecil",imageValidateSizeLabelImageSizeTooBig:"Citra terlalu besar",imageValidateSizeLabelExpectedMinSize:"Ukuran minimum adalah {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Ukuran maksimum adalah {minWidth} \xD7 {minHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolusi terlalu rendah",imageValidateSizeLabelImageResolutionTooHigh:"Resolusi terlalu tinggi",imageValidateSizeLabelExpectedMinResolution:"Resolusi minimum adalah {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Resolusi maksimum adalah {maxResolution}"};var jo={labelIdle:'Trascina e rilascia i tuoi file oppure Sfoglia ',labelInvalidField:"Il campo contiene dei file non validi",labelFileWaitingForSize:"In attesa della dimensione",labelFileSizeNotAvailable:"Dimensione non disponibile",labelFileLoading:"Caricamento",labelFileLoadError:"Errore durante il caricamento",labelFileProcessing:"Caricamento",labelFileProcessingComplete:"Caricamento completato",labelFileProcessingAborted:"Caricamento cancellato",labelFileProcessingError:"Errore durante il caricamento",labelFileProcessingRevertError:"Errore durante il ripristino",labelFileRemoveError:"Errore durante l'eliminazione",labelTapToCancel:"tocca per cancellare",labelTapToRetry:"tocca per riprovare",labelTapToUndo:"tocca per ripristinare",labelButtonRemoveItem:"Elimina",labelButtonAbortItemLoad:"Cancella",labelButtonRetryItemLoad:"Ritenta",labelButtonAbortItemProcessing:"Cancella",labelButtonUndoItemProcessing:"Indietro",labelButtonRetryItemProcessing:"Ritenta",labelButtonProcessItem:"Carica",labelMaxFileSizeExceeded:"La dimensione del file \xE8 eccessiva",labelMaxFileSize:"La dimensione massima del file \xE8 {filesize}",labelMaxTotalFileSizeExceeded:"Dimensione totale massima superata",labelMaxTotalFileSize:"La dimensione massima totale dei file \xE8 {filesize}",labelFileTypeNotAllowed:"File non supportato",fileValidateTypeLabelExpectedTypes:"Aspetta {allButLastType} o {lastType}",imageValidateSizeLabelFormatError:"Tipo di immagine non supportata",imageValidateSizeLabelImageSizeTooSmall:"L'immagine \xE8 troppo piccola",imageValidateSizeLabelImageSizeTooBig:"L'immagine \xE8 troppo grande",imageValidateSizeLabelExpectedMinSize:"La dimensione minima \xE8 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"La dimensione massima \xE8 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"La risoluzione \xE8 troppo bassa",imageValidateSizeLabelImageResolutionTooHigh:"La risoluzione \xE8 troppo alta",imageValidateSizeLabelExpectedMinResolution:"La risoluzione minima \xE8 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"La risoluzione massima \xE8 {maxResolution}"};var Yo={labelIdle:'\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30E9\u30C3\u30B0&\u30C9\u30ED\u30C3\u30D7\u53C8\u306F\u30D5\u30A1\u30A4\u30EB\u9078\u629E',labelInvalidField:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3067\u304D\u306A\u3044\u30D5\u30A1\u30A4\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059",labelFileWaitingForSize:"\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u3092\u5F85\u3063\u3066\u3044\u307E\u3059",labelFileSizeNotAvailable:"\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u307F\u3064\u304B\u308A\u307E\u305B\u3093",labelFileLoading:"\u8AAD\u8FBC\u4E2D...",labelFileLoadError:"\u8AAD\u8FBC\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelFileProcessing:"\u8AAD\u8FBC\u4E2D...",labelFileProcessingComplete:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u5B8C\u4E86",labelFileProcessingAborted:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F",labelFileProcessingError:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelFileProcessingRevertError:"\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelFileRemoveError:"\u524A\u9664\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F",labelTapToCancel:"\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30AD\u30E3\u30F3\u30BB\u30EB",labelTapToRetry:"\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u4E0B\u3055\u3044",labelTapToUndo:"\u5143\u306B\u623B\u3059\u306B\u306F\u30BF\u30C3\u30D7\u3057\u307E\u3059",labelButtonRemoveItem:"\u524A\u9664",labelButtonAbortItemLoad:"\u4E2D\u65AD",labelButtonRetryItemLoad:"\u3082\u3046\u4E00\u5EA6\u5B9F\u884C",labelButtonAbortItemProcessing:"\u30AD\u30E3\u30F3\u30BB\u30EB",labelButtonUndoItemProcessing:"\u5143\u306B\u623B\u3059",labelButtonRetryItemProcessing:"\u3082\u3046\u4E00\u5EA6\u5B9F\u884C",labelButtonProcessItem:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",labelMaxFileSizeExceeded:"\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u304D\u3059\u304E\u307E\u3059",labelMaxFileSize:"\u6700\u5927\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u306F {filesize} \u3067\u3059",labelMaxTotalFileSizeExceeded:"\u6700\u5927\u5408\u8A08\u30B5\u30A4\u30BA\u3092\u8D85\u3048\u307E\u3057\u305F",labelMaxTotalFileSize:"\u6700\u5927\u5408\u8A08\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u306F {filesize} \u3067\u3059",labelFileTypeNotAllowed:"\u7121\u52B9\u306A\u30D5\u30A1\u30A4\u30EB\u3067\u3059",fileValidateTypeLabelExpectedTypes:"\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u308B\u30D5\u30A1\u30A4\u30EB\u306F {allButLastType} \u53C8\u306F {lastType} \u3067\u3059",imageValidateSizeLabelFormatError:"\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u753B\u50CF\u3067\u3059",imageValidateSizeLabelImageSizeTooSmall:"\u753B\u50CF\u304C\u5C0F\u3055\u3059\u304E\u307E\u3059",imageValidateSizeLabelImageSizeTooBig:"\u753B\u50CF\u304C\u5927\u304D\u3059\u304E\u307E\u3059",imageValidateSizeLabelExpectedMinSize:"\u753B\u50CF\u306E\u6700\u5C0F\u30B5\u30A4\u30BA\u306F{minWidth}\xD7{minHeight}\u3067\u3059",imageValidateSizeLabelExpectedMaxSize:"\u753B\u50CF\u306E\u6700\u5927\u30B5\u30A4\u30BA\u306F{maxWidth} \xD7 {maxHeight}\u3067\u3059",imageValidateSizeLabelImageResolutionTooLow:"\u753B\u50CF\u306E\u89E3\u50CF\u5EA6\u304C\u4F4E\u3059\u304E\u307E\u3059",imageValidateSizeLabelImageResolutionTooHigh:"\u753B\u50CF\u306E\u89E3\u50CF\u5EA6\u304C\u9AD8\u3059\u304E\u307E\u3059",imageValidateSizeLabelExpectedMinResolution:"\u753B\u50CF\u306E\u6700\u5C0F\u89E3\u50CF\u5EA6\u306F{minResolution}\u3067\u3059",imageValidateSizeLabelExpectedMaxResolution:"\u753B\u50CF\u306E\u6700\u5927\u89E3\u50CF\u5EA6\u306F{maxResolution}\u3067\u3059"};var qo={labelIdle:'\u1791\u17B6\u1789&\u178A\u17B6\u1780\u17CB\u17A0\u17D2\u179C\u17B6\u179B\u17CB\u17AF\u1780\u179F\u17B6\u179A\u179A\u1794\u179F\u17CB\u17A2\u17D2\u1793\u1780 \u17AC \u179F\u17D2\u179C\u17C2\u1784\u179A\u1780 ',labelInvalidField:"\u1785\u1793\u17D2\u179B\u17C4\u17C7\u1798\u17B6\u1793\u17AF\u1780\u179F\u17B6\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C",labelFileWaitingForSize:"\u1780\u17C6\u1796\u17BB\u1784\u179A\u1784\u17CB\u1785\u17B6\u17C6\u1791\u17C6\u17A0\u17C6",labelFileSizeNotAvailable:"\u1791\u17C6\u17A0\u17C6\u1798\u17B7\u1793\u17A2\u17B6\u1785\u1794\u17D2\u179A\u17BE\u1794\u17B6\u1793",labelFileLoading:"\u1780\u17C6\u1796\u17BB\u1784\u178A\u17C6\u178E\u17BE\u179A\u1780\u17B6\u179A",labelFileLoadError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u178A\u17C6\u178E\u17BE\u179A\u1780\u17B6\u179A",labelFileProcessing:"\u1780\u17C6\u1796\u17BB\u1784\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784",labelFileProcessingComplete:"\u1780\u17B6\u179A\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784\u1796\u17C1\u1789\u179B\u17C1\u1789",labelFileProcessingAborted:"\u1780\u17B6\u179A\u1794\u1784\u17D2\u17A0\u17C4\u17C7\u178F\u17D2\u179A\u17BC\u179C\u1794\u17B6\u1793\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelFileProcessingError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u1780\u17C6\u1796\u17BB\u1784\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784",labelFileProcessingRevertError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u178F\u17D2\u179A\u17A1\u1794\u17CB",labelFileRemoveError:"\u1798\u17B6\u1793\u1794\u1789\u17D2\u17A0\u17B6\u1780\u17C6\u17A1\u17BB\u1784\u1796\u17C1\u179B\u178A\u1780\u1785\u17C1\u1789",labelTapToCancel:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelTapToRetry:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",labelTapToUndo:"\u1785\u17BB\u1785\u178A\u17BE\u1798\u17D2\u1794\u17B8\u1798\u17B7\u1793\u1792\u17D2\u179C\u17BE\u179C\u17B7\u1789",labelButtonRemoveItem:"\u1799\u1780\u1785\u17C1\u1789",labelButtonAbortItemLoad:"\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelButtonRetryItemLoad:"\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",labelButtonAbortItemProcessing:"\u1794\u17C4\u17C7\u1794\u1784\u17CB",labelButtonUndoItemProcessing:"\u1798\u17B7\u1793\u1792\u17D2\u179C\u17BE\u179C\u17B7\u1789",labelButtonRetryItemProcessing:"\u1796\u17D2\u1799\u17B6\u1799\u17B6\u1798\u1798\u17D2\u178F\u1784\u1791\u17C0\u178F",labelButtonProcessItem:"\u1795\u17D2\u1791\u17BB\u1780\u17A1\u17BE\u1784",labelMaxFileSizeExceeded:"\u17AF\u1780\u179F\u17B6\u179A\u1792\u17C6\u1796\u17C1\u1780",labelMaxFileSize:"\u1791\u17C6\u17A0\u17C6\u17AF\u1780\u179F\u17B6\u179A\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {filesize}",labelMaxTotalFileSizeExceeded:"\u179B\u17BE\u179F\u1791\u17C6\u17A0\u17C6\u179F\u179A\u17BB\u1794\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6",labelMaxTotalFileSize:"\u1791\u17C6\u17A0\u17C6\u17AF\u1780\u179F\u17B6\u179A\u179F\u179A\u17BB\u1794\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {filesize}",labelFileTypeNotAllowed:"\u1794\u17D2\u179A\u1797\u17C1\u1791\u17AF\u1780\u179F\u17B6\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C",fileValidateTypeLabelExpectedTypes:"\u179A\u17C6\u1796\u17B9\u1784\u1790\u17B6 {allButLastType} \u17AC {lastType}",imageValidateSizeLabelFormatError:"\u1794\u17D2\u179A\u1797\u17C1\u1791\u179A\u17BC\u1794\u1797\u17B6\u1796\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C",imageValidateSizeLabelImageSizeTooSmall:"\u179A\u17BC\u1794\u1797\u17B6\u1796\u178F\u17BC\u1785\u1796\u17C1\u1780",imageValidateSizeLabelImageSizeTooBig:"\u179A\u17BC\u1794\u1797\u17B6\u1796\u1792\u17C6\u1796\u17C1\u1780",imageValidateSizeLabelExpectedMinSize:"\u1791\u17C6\u17A0\u17C6\u17A2\u1794\u17D2\u1794\u1794\u179A\u1798\u17B6\u1782\u17BA {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u1791\u17C6\u17A0\u17C6\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u1791\u17B6\u1794\u1796\u17C1\u1780",imageValidateSizeLabelImageResolutionTooHigh:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u1781\u17D2\u1796\u179F\u17CB\u1796\u17C1\u1780",imageValidateSizeLabelExpectedMinResolution:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u17A2\u1794\u17D2\u1794\u1794\u179A\u1798\u17B6\u1782\u17BA {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u1782\u17BB\u178E\u1797\u17B6\u1796\u1794\u1784\u17D2\u17A0\u17B6\u1789\u17A2\u178F\u17B7\u1794\u179A\u1798\u17B6\u1782\u17BA {maxResolution}"};var $o={labelIdle:'\uD30C\uC77C\uC744 \uB4DC\uB798\uADF8 \uD558\uAC70\uB098 \uCC3E\uC544\uBCF4\uAE30 ',labelInvalidField:"\uD544\uB4DC\uC5D0 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD30C\uC77C\uC774 \uC788\uC2B5\uB2C8\uB2E4.",labelFileWaitingForSize:"\uC6A9\uB7C9 \uD655\uC778\uC911",labelFileSizeNotAvailable:"\uC0AC\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC6A9\uB7C9",labelFileLoading:"\uBD88\uB7EC\uC624\uB294 \uC911",labelFileLoadError:"\uD30C\uC77C \uBD88\uB7EC\uC624\uAE30 \uC2E4\uD328",labelFileProcessing:"\uC5C5\uB85C\uB4DC \uC911",labelFileProcessingComplete:"\uC5C5\uB85C\uB4DC \uC131\uACF5",labelFileProcessingAborted:"\uC5C5\uB85C\uB4DC \uCDE8\uC18C\uB428",labelFileProcessingError:"\uD30C\uC77C \uC5C5\uB85C\uB4DC \uC2E4\uD328",labelFileProcessingRevertError:"\uB418\uB3CC\uB9AC\uAE30 \uC2E4\uD328",labelFileRemoveError:"\uC81C\uAC70 \uC2E4\uD328",labelTapToCancel:"\uD0ED\uD558\uC5EC \uCDE8\uC18C",labelTapToRetry:"\uD0ED\uD558\uC5EC \uC7AC\uC2DC\uC791",labelTapToUndo:"\uD0ED\uD558\uC5EC \uC2E4\uD589 \uCDE8\uC18C",labelButtonRemoveItem:"\uC81C\uAC70",labelButtonAbortItemLoad:"\uC911\uB2E8",labelButtonRetryItemLoad:"\uC7AC\uC2DC\uC791",labelButtonAbortItemProcessing:"\uCDE8\uC18C",labelButtonUndoItemProcessing:"\uC2E4\uD589 \uCDE8\uC18C",labelButtonRetryItemProcessing:"\uC7AC\uC2DC\uC791",labelButtonProcessItem:"\uC5C5\uB85C\uB4DC",labelMaxFileSizeExceeded:"\uD30C\uC77C\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4.",labelMaxFileSize:"\uCD5C\uB300 \uD30C\uC77C \uC6A9\uB7C9\uC740 {filesize} \uC785\uB2C8\uB2E4.",labelMaxTotalFileSizeExceeded:"\uCD5C\uB300 \uC804\uCCB4 \uD30C\uC77C \uC6A9\uB7C9 \uCD08\uACFC\uD558\uC600\uC2B5\uB2C8\uB2E4.",labelMaxTotalFileSize:"\uCD5C\uB300 \uC804\uCCB4 \uD30C\uC77C \uC6A9\uB7C9\uC740 {filesize} \uC785\uB2C8\uB2E4.",labelFileTypeNotAllowed:"\uC798\uBABB\uB41C \uD615\uC2DD\uC758 \uD30C\uC77C",fileValidateTypeLabelExpectedTypes:"{allButLastType} \uB610\uB294 {lastType}",imageValidateSizeLabelFormatError:"\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC774\uBBF8\uC9C0 \uC720\uD615",imageValidateSizeLabelImageSizeTooSmall:"\uC774\uBBF8\uC9C0\uAC00 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4.",imageValidateSizeLabelImageSizeTooBig:"\uC774\uBBF8\uC9C0\uAC00 \uB108\uBB34 \uD07D\uB2C8\uB2E4.",imageValidateSizeLabelExpectedMinSize:"\uC774\uBBF8\uC9C0 \uCD5C\uC18C \uD06C\uAE30\uB294 {minWidth} \xD7 {minHeight} \uC785\uB2C8\uB2E4",imageValidateSizeLabelExpectedMaxSize:"\uC774\uBBF8\uC9C0 \uCD5C\uB300 \uD06C\uAE30\uB294 {maxWidth} \xD7 {maxHeight} \uC785\uB2C8\uB2E4",imageValidateSizeLabelImageResolutionTooLow:"\uD574\uC0C1\uB3C4\uAC00 \uB108\uBB34 \uB0AE\uC2B5\uB2C8\uB2E4.",imageValidateSizeLabelImageResolutionTooHigh:"\uD574\uC0C1\uB3C4\uAC00 \uB108\uBB34 \uB192\uC2B5\uB2C8\uB2E4.",imageValidateSizeLabelExpectedMinResolution:"\uCD5C\uC18C \uD574\uC0C1\uB3C4\uB294 {minResolution} \uC785\uB2C8\uB2E4.",imageValidateSizeLabelExpectedMaxResolution:"\uCD5C\uB300 \uD574\uC0C1\uB3C4\uB294 {maxResolution} \uC785\uB2C8\uB2E4."};var Xo={labelIdle:'\u012Ed\u0117kite failus \u010Dia arba Ie\u0161kokite ',labelInvalidField:"Laukelis talpina netinkamus failus",labelFileWaitingForSize:"Laukiama dyd\u017Eio",labelFileSizeNotAvailable:"Dydis ne\u017Einomas",labelFileLoading:"Kraunama",labelFileLoadError:"Klaida \u012Fkeliant",labelFileProcessing:"\u012Ekeliama",labelFileProcessingComplete:"\u012Ek\u0117limas s\u0117kmingas",labelFileProcessingAborted:"\u012Ek\u0117limas at\u0161auktas",labelFileProcessingError:"\u012Ekeliant \u012Fvyko klaida",labelFileProcessingRevertError:"At\u0161aukiant \u012Fvyko klaida",labelFileRemoveError:"I\u0161trinant \u012Fvyko klaida",labelTapToCancel:"Palieskite nor\u0117dami at\u0161aukti",labelTapToRetry:"Palieskite nor\u0117dami pakartoti",labelTapToUndo:"Palieskite nor\u0117dami at\u0161aukti",labelButtonRemoveItem:"I\u0161trinti",labelButtonAbortItemLoad:"Sustabdyti",labelButtonRetryItemLoad:"Pakartoti",labelButtonAbortItemProcessing:"At\u0161aukti",labelButtonUndoItemProcessing:"At\u0161aukti",labelButtonRetryItemProcessing:"Pakartoti",labelButtonProcessItem:"\u012Ekelti",labelMaxFileSizeExceeded:"Failas per didelis",labelMaxFileSize:"Maksimalus failo dydis yra {filesize}",labelMaxTotalFileSizeExceeded:"Vir\u0161ijote maksimal\u0173 leistin\u0105 dyd\u012F",labelMaxTotalFileSize:"Maksimalus leistinas dydis yra {filesize}",labelFileTypeNotAllowed:"Netinkamas failas",fileValidateTypeLabelExpectedTypes:"Tikisi {allButLastType} arba {lastType}",imageValidateSizeLabelFormatError:"Nuotraukos formatas nepalaikomas",imageValidateSizeLabelImageSizeTooSmall:"Nuotrauka per ma\u017Ea",imageValidateSizeLabelImageSizeTooBig:"Nuotrauka per didel\u0117",imageValidateSizeLabelExpectedMinSize:"Minimalus dydis yra {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimalus dydis yra {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezoliucija per ma\u017Ea",imageValidateSizeLabelImageResolutionTooHigh:"Rezoliucija per didel\u0117",imageValidateSizeLabelExpectedMinResolution:"Minimali rezoliucija yra {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimali rezoliucija yra {maxResolution}"};var Ko={labelIdle:'I file hn\xFBkl\xFBt rawh, emaw Zawnna ',labelInvalidField:"Hemi hian files diklo a kengtel",labelFileWaitingForSize:"A lenzawng a ngh\xE2k mek",labelFileSizeNotAvailable:"A lenzawng a awmlo",labelFileLoading:"Loading",labelFileLoadError:"Load laiin dik lo a awm",labelFileProcessing:"Uploading",labelFileProcessingComplete:"Upload a zo",labelFileProcessingAborted:"Upload s\xFBt a ni",labelFileProcessingError:"Upload laiin dik lo a awm",labelFileProcessingRevertError:"Dahk\xEEr laiin dik lo a awm",labelFileRemoveError:"Paih laiin dik lo a awm",labelTapToCancel:"S\xFBt turin hmet rawh",labelTapToRetry:"Tinawn turin hmet rawh",labelTapToUndo:"Tilet turin hmet rawh",labelButtonRemoveItem:"Paihna",labelButtonAbortItemLoad:"Tihtlawlhna",labelButtonRetryItemLoad:"Tihnawnna",labelButtonAbortItemProcessing:"S\xFBtna",labelButtonUndoItemProcessing:"Tihletna",labelButtonRetryItemProcessing:"Tihnawnna",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"File a lian lutuk",labelMaxFileSize:"File lenzawng tam ber chu {filesize} ani",labelMaxTotalFileSizeExceeded:"A lenzawng belh kh\xE2wm tam ber a p\xEAl",labelMaxTotalFileSize:"File lenzawng belh kh\xE2wm tam ber chu {filesize} a ni",labelFileTypeNotAllowed:"File type dik lo a ni",fileValidateTypeLabelExpectedTypes:"{allButLastType} emaw {lastType} emaw beisei a ni",imageValidateSizeLabelFormatError:"Thlal\xE2k type a thl\xE2wplo",imageValidateSizeLabelImageSizeTooSmall:"Thlal\xE2k hi a t\xEA lutuk",imageValidateSizeLabelImageSizeTooBig:"Thlal\xE2k hi a lian lutuk",imageValidateSizeLabelExpectedMinSize:"A lenzawng tl\xEAm ber chu {minWidth} x {minHeight} a ni",imageValidateSizeLabelExpectedMaxSize:"A lenzawng tam ber chu {maxWidth} x {maxHeight} a ni",imageValidateSizeLabelImageResolutionTooLow:"Resolution a hniam lutuk",imageValidateSizeLabelImageResolutionTooHigh:"Resolution a s\xE2ng lutuk",imageValidateSizeLabelExpectedMinResolution:"Resolution hniam ber chu {minResolution} a ni",imageValidateSizeLabelExpectedMaxResolution:"Resolution s\xE2ng ber chu {maxResolution} a ni"};var Zo={labelIdle:'Ievelciet savus failus vai p\u0101rl\u016Bkojiet \u0161eit ',labelInvalidField:"Lauks satur neder\u012Bgus failus",labelFileWaitingForSize:"Gaid\u0101m faila izm\u0113ru",labelFileSizeNotAvailable:"Izm\u0113rs nav pieejams",labelFileLoading:"Notiek iel\u0101de",labelFileLoadError:"Notika k\u013C\u016Bda iel\u0101des laik\u0101",labelFileProcessing:"Notiek aug\u0161upiel\u0101de",labelFileProcessingComplete:"Aug\u0161upiel\u0101de pabeigta",labelFileProcessingAborted:"Aug\u0161upiel\u0101de atcelta",labelFileProcessingError:"Notika k\u013C\u016Bda aug\u0161upiel\u0101des laik\u0101",labelFileProcessingRevertError:"Notika k\u013C\u016Bda atgrie\u0161anas laik\u0101",labelFileRemoveError:"Notika k\u013C\u016Bda dz\u0113\u0161anas laik\u0101",labelTapToCancel:"pieskarieties, lai atceltu",labelTapToRetry:"pieskarieties, lai m\u0113\u0123in\u0101tu v\u0113lreiz",labelTapToUndo:"pieskarieties, lai atsauktu",labelButtonRemoveItem:"Dz\u0113st",labelButtonAbortItemLoad:"P\u0101rtraukt",labelButtonRetryItemLoad:"M\u0113\u0123in\u0101t v\u0113lreiz",labelButtonAbortItemProcessing:"P\u0101rtraucam",labelButtonUndoItemProcessing:"Atsaucam",labelButtonRetryItemProcessing:"M\u0113\u0123in\u0101m v\u0113lreiz",labelButtonProcessItem:"Aug\u0161upiel\u0101d\u0113t",labelMaxFileSizeExceeded:"Fails ir p\u0101r\u0101k liels",labelMaxFileSize:"Maksim\u0101lais faila izm\u0113rs ir {filesize}",labelMaxTotalFileSizeExceeded:"P\u0101rsniegts maksim\u0101lais kop\u0113jais failu izm\u0113rs",labelMaxTotalFileSize:"Maksim\u0101lais kop\u0113jais failu izm\u0113rs ir {filesize}",labelFileTypeNotAllowed:"Neder\u012Bgs faila tips",fileValidateTypeLabelExpectedTypes:"Sagaid\u0101m {allButLastType} vai {lastType}",imageValidateSizeLabelFormatError:"Neatbilsto\u0161s att\u0113la tips",imageValidateSizeLabelImageSizeTooSmall:"Att\u0113ls ir p\u0101r\u0101k mazs",imageValidateSizeLabelImageSizeTooBig:"Att\u0113ls ir p\u0101r\u0101k liels",imageValidateSizeLabelExpectedMinSize:"Minim\u0101lais izm\u0113rs ir {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksim\u0101lais izm\u0113rs ir {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Iz\u0161\u0137irtsp\u0113ja ir p\u0101r\u0101k zema",imageValidateSizeLabelImageResolutionTooHigh:"Iz\u0161\u0137irtsp\u0113ja ir p\u0101r\u0101k augsta",imageValidateSizeLabelExpectedMinResolution:"Minim\u0101l\u0101 iz\u0161\u0137irtsp\u0113ja ir {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksim\u0101l\u0101 iz\u0161\u0137irtsp\u0113ja ir {maxResolution}"};var Qo={labelIdle:'Dra og slipp filene dine, eller Bla gjennom... ',labelInvalidField:"Feltet inneholder ugyldige filer",labelFileWaitingForSize:"Venter p\xE5 st\xF8rrelse",labelFileSizeNotAvailable:"St\xF8rrelse ikke tilgjengelig",labelFileLoading:"Laster",labelFileLoadError:"Feil under lasting",labelFileProcessing:"Laster opp",labelFileProcessingComplete:"Opplasting ferdig",labelFileProcessingAborted:"Opplasting avbrutt",labelFileProcessingError:"Feil under opplasting",labelFileProcessingRevertError:"Feil under reversering",labelFileRemoveError:"Feil under flytting",labelTapToCancel:"klikk for \xE5 avbryte",labelTapToRetry:"klikk for \xE5 pr\xF8ve p\xE5 nytt",labelTapToUndo:"klikk for \xE5 angre",labelButtonRemoveItem:"Fjern",labelButtonAbortItemLoad:"Avbryt",labelButtonRetryItemLoad:"Pr\xF8v p\xE5 nytt",labelButtonAbortItemProcessing:"Avbryt",labelButtonUndoItemProcessing:"Angre",labelButtonRetryItemProcessing:"Pr\xF8v p\xE5 nytt",labelButtonProcessItem:"Last opp",labelMaxFileSizeExceeded:"Filen er for stor",labelMaxFileSize:"Maksimal filst\xF8rrelse er {filesize}",labelMaxTotalFileSizeExceeded:"Maksimal total st\xF8rrelse oversteget",labelMaxTotalFileSize:"Maksimal total st\xF8rrelse er {filesize}",labelFileTypeNotAllowed:"Ugyldig filtype",fileValidateTypeLabelExpectedTypes:"Forventer {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Bildeformat ikke st\xF8ttet",imageValidateSizeLabelImageSizeTooSmall:"Bildet er for lite",imageValidateSizeLabelImageSizeTooBig:"Bildet er for stort",imageValidateSizeLabelExpectedMinSize:"Minimumsst\xF8rrelse er {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksimumsst\xF8rrelse er {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Oppl\xF8sningen er for lav",imageValidateSizeLabelImageResolutionTooHigh:"Oppl\xF8sningen er for h\xF8y",imageValidateSizeLabelExpectedMinResolution:"Minimum oppl\xF8sning er {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksimal oppl\xF8sning er {maxResolution}"};var Jo={labelIdle:'Drag & Drop je bestanden of Bladeren ',labelInvalidField:"Veld bevat ongeldige bestanden",labelFileWaitingForSize:"Wachten op grootte",labelFileSizeNotAvailable:"Grootte niet beschikbaar",labelFileLoading:"Laden",labelFileLoadError:"Fout tijdens laden",labelFileProcessing:"Uploaden",labelFileProcessingComplete:"Upload afgerond",labelFileProcessingAborted:"Upload geannuleerd",labelFileProcessingError:"Fout tijdens upload",labelFileProcessingRevertError:"Fout bij herstellen",labelFileRemoveError:"Fout bij verwijderen",labelTapToCancel:"tik om te annuleren",labelTapToRetry:"tik om opnieuw te proberen",labelTapToUndo:"tik om ongedaan te maken",labelButtonRemoveItem:"Verwijderen",labelButtonAbortItemLoad:"Afbreken",labelButtonRetryItemLoad:"Opnieuw proberen",labelButtonAbortItemProcessing:"Annuleren",labelButtonUndoItemProcessing:"Ongedaan maken",labelButtonRetryItemProcessing:"Opnieuw proberen",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"Bestand is te groot",labelMaxFileSize:"Maximale bestandsgrootte is {filesize}",labelMaxTotalFileSizeExceeded:"Maximale totale grootte overschreden",labelMaxTotalFileSize:"Maximale totale bestandsgrootte is {filesize}",labelFileTypeNotAllowed:"Ongeldig bestandstype",fileValidateTypeLabelExpectedTypes:"Verwacht {allButLastType} of {lastType}",imageValidateSizeLabelFormatError:"Afbeeldingstype niet ondersteund",imageValidateSizeLabelImageSizeTooSmall:"Afbeelding is te klein",imageValidateSizeLabelImageSizeTooBig:"Afbeelding is te groot",imageValidateSizeLabelExpectedMinSize:"Minimale afmeting is {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximale afmeting is {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolutie is te laag",imageValidateSizeLabelImageResolutionTooHigh:"Resolution is too high",imageValidateSizeLabelExpectedMinResolution:"Minimale resolutie is {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximale resolutie is {maxResolution}"};var er={labelIdle:'Przeci\u0105gnij i upu\u015B\u0107 lub wybierz pliki',labelInvalidField:"Nieprawid\u0142owe pliki",labelFileWaitingForSize:"Pobieranie rozmiaru",labelFileSizeNotAvailable:"Nieznany rozmiar",labelFileLoading:"Wczytywanie",labelFileLoadError:"B\u0142\u0105d wczytywania",labelFileProcessing:"Przesy\u0142anie",labelFileProcessingComplete:"Przes\u0142ano",labelFileProcessingAborted:"Przerwano",labelFileProcessingError:"Przesy\u0142anie nie powiod\u0142o si\u0119",labelFileProcessingRevertError:"Co\u015B posz\u0142o nie tak",labelFileRemoveError:"Nieudane usuni\u0119cie",labelTapToCancel:"Anuluj",labelTapToRetry:"Pon\xF3w",labelTapToUndo:"Cofnij",labelButtonRemoveItem:"Usu\u0144",labelButtonAbortItemLoad:"Przerwij",labelButtonRetryItemLoad:"Pon\xF3w",labelButtonAbortItemProcessing:"Anuluj",labelButtonUndoItemProcessing:"Cofnij",labelButtonRetryItemProcessing:"Pon\xF3w",labelButtonProcessItem:"Prze\u015Blij",labelMaxFileSizeExceeded:"Plik jest zbyt du\u017Cy",labelMaxFileSize:"Dopuszczalna wielko\u015B\u0107 pliku to {filesize}",labelMaxTotalFileSizeExceeded:"Przekroczono \u0142\u0105czny rozmiar plik\xF3w",labelMaxTotalFileSize:"\u0141\u0105czny rozmiar plik\xF3w nie mo\u017Ce przekroczy\u0107 {filesize}",labelFileTypeNotAllowed:"Niedozwolony rodzaj pliku",fileValidateTypeLabelExpectedTypes:"Oczekiwano {allButLastType} lub {lastType}",imageValidateSizeLabelFormatError:"Nieobs\u0142ugiwany format obrazu",imageValidateSizeLabelImageSizeTooSmall:"Obraz jest zbyt ma\u0142y",imageValidateSizeLabelImageSizeTooBig:"Obraz jest zbyt du\u017Cy",imageValidateSizeLabelExpectedMinSize:"Minimalne wymiary obrazu to {minWidth}\xD7{minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maksymalna wymiary obrazu to {maxWidth}\xD7{maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozdzielczo\u015B\u0107 jest zbyt niska",imageValidateSizeLabelImageResolutionTooHigh:"Rozdzielczo\u015B\u0107 jest zbyt wysoka",imageValidateSizeLabelExpectedMinResolution:"Minimalna rozdzielczo\u015B\u0107 to {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maksymalna rozdzielczo\u015B\u0107 to {maxResolution}"};var tr={labelIdle:'Arraste & Largue os ficheiros ou Seleccione ',labelInvalidField:"O campo cont\xE9m ficheiros inv\xE1lidos",labelFileWaitingForSize:"A aguardar tamanho",labelFileSizeNotAvailable:"Tamanho n\xE3o dispon\xEDvel",labelFileLoading:"A carregar",labelFileLoadError:"Erro ao carregar",labelFileProcessing:"A carregar",labelFileProcessingComplete:"Carregamento completo",labelFileProcessingAborted:"Carregamento cancelado",labelFileProcessingError:"Erro ao carregar",labelFileProcessingRevertError:"Erro ao reverter",labelFileRemoveError:"Erro ao remover",labelTapToCancel:"carregue para cancelar",labelTapToRetry:"carregue para tentar novamente",labelTapToUndo:"carregue para desfazer",labelButtonRemoveItem:"Remover",labelButtonAbortItemLoad:"Abortar",labelButtonRetryItemLoad:"Tentar novamente",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Desfazer",labelButtonRetryItemProcessing:"Tentar novamente",labelButtonProcessItem:"Carregar",labelMaxFileSizeExceeded:"Ficheiro demasiado grande",labelMaxFileSize:"O tamanho m\xE1ximo do ficheiro \xE9 de {filesize}",labelMaxTotalFileSizeExceeded:"Tamanho m\xE1ximo total excedido",labelMaxTotalFileSize:"O tamanho m\xE1ximo total do ficheiro \xE9 de {filesize}",labelFileTypeNotAllowed:"Tipo de ficheiro inv\xE1lido",fileValidateTypeLabelExpectedTypes:"\xC9 esperado {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagem n\xE3o suportada",imageValidateSizeLabelImageSizeTooSmall:"A imagem \xE9 demasiado pequena",imageValidateSizeLabelImageSizeTooBig:"A imagem \xE9 demasiado grande",imageValidateSizeLabelExpectedMinSize:"O tamanho m\xEDnimo \xE9 de {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"O tamanho m\xE1ximo \xE9 de {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"A resolu\xE7\xE3o \xE9 demasiado baixa",imageValidateSizeLabelImageResolutionTooHigh:"A resolu\xE7\xE3o \xE9 demasiado grande",imageValidateSizeLabelExpectedMinResolution:"A resolu\xE7\xE3o m\xEDnima \xE9 de {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"A resolu\xE7\xE3o m\xE1xima \xE9 de {maxResolution}"};var ir={labelIdle:'Arraste e solte os arquivos ou Clique aqui ',labelInvalidField:"Arquivos inv\xE1lidos",labelFileWaitingForSize:"Calculando o tamanho do arquivo",labelFileSizeNotAvailable:"Tamanho do arquivo indispon\xEDvel",labelFileLoading:"Carregando",labelFileLoadError:"Erro durante o carregamento",labelFileProcessing:"Enviando",labelFileProcessingComplete:"Envio finalizado",labelFileProcessingAborted:"Envio cancelado",labelFileProcessingError:"Erro durante o envio",labelFileProcessingRevertError:"Erro ao reverter o envio",labelFileRemoveError:"Erro ao remover o arquivo",labelTapToCancel:"clique para cancelar",labelTapToRetry:"clique para reenviar",labelTapToUndo:"clique para desfazer",labelButtonRemoveItem:"Remover",labelButtonAbortItemLoad:"Abortar",labelButtonRetryItemLoad:"Reenviar",labelButtonAbortItemProcessing:"Cancelar",labelButtonUndoItemProcessing:"Desfazer",labelButtonRetryItemProcessing:"Reenviar",labelButtonProcessItem:"Enviar",labelMaxFileSizeExceeded:"Arquivo \xE9 muito grande",labelMaxFileSize:"O tamanho m\xE1ximo permitido: {filesize}",labelMaxTotalFileSizeExceeded:"Tamanho total dos arquivos excedido",labelMaxTotalFileSize:"Tamanho total permitido: {filesize}",labelFileTypeNotAllowed:"Tipo de arquivo inv\xE1lido",fileValidateTypeLabelExpectedTypes:"Tipos de arquivo suportados s\xE3o {allButLastType} ou {lastType}",imageValidateSizeLabelFormatError:"Tipo de imagem inv\xE1lida",imageValidateSizeLabelImageSizeTooSmall:"Imagem muito pequena",imageValidateSizeLabelImageSizeTooBig:"Imagem muito grande",imageValidateSizeLabelExpectedMinSize:"Tamanho m\xEDnimo permitida: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Tamanho m\xE1ximo permitido: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Resolu\xE7\xE3o muito baixa",imageValidateSizeLabelImageResolutionTooHigh:"Resolu\xE7\xE3o muito alta",imageValidateSizeLabelExpectedMinResolution:"Resolu\xE7\xE3o m\xEDnima permitida: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Resolu\xE7\xE3o m\xE1xima permitida: {maxResolution}"};var ar={labelIdle:'Trage \u0219i plaseaz\u0103 fi\u0219iere sau Caut\u0103-le ',labelInvalidField:"C\xE2mpul con\u021Bine fi\u0219iere care nu sunt valide",labelFileWaitingForSize:"\xCEn a\u0219teptarea dimensiunii",labelFileSizeNotAvailable:"Dimensiunea nu este diponibil\u0103",labelFileLoading:"Se \xEEncarc\u0103",labelFileLoadError:"Eroare la \xEEnc\u0103rcare",labelFileProcessing:"Se \xEEncarc\u0103",labelFileProcessingComplete:"\xCEnc\u0103rcare finalizat\u0103",labelFileProcessingAborted:"\xCEnc\u0103rcare anulat\u0103",labelFileProcessingError:"Eroare la \xEEnc\u0103rcare",labelFileProcessingRevertError:"Eroare la anulare",labelFileRemoveError:"Eroare la \u015Ftergere",labelTapToCancel:"apas\u0103 pentru a anula",labelTapToRetry:"apas\u0103 pentru a re\xEEncerca",labelTapToUndo:"apas\u0103 pentru a anula",labelButtonRemoveItem:"\u015Eterge",labelButtonAbortItemLoad:"Anuleaz\u0103",labelButtonRetryItemLoad:"Re\xEEncearc\u0103",labelButtonAbortItemProcessing:"Anuleaz\u0103",labelButtonUndoItemProcessing:"Anuleaz\u0103",labelButtonRetryItemProcessing:"Re\xEEncearc\u0103",labelButtonProcessItem:"\xCEncarc\u0103",labelMaxFileSizeExceeded:"Fi\u0219ierul este prea mare",labelMaxFileSize:"Dimensiunea maxim\u0103 a unui fi\u0219ier este de {filesize}",labelMaxTotalFileSizeExceeded:"Dimensiunea total\u0103 maxim\u0103 a fost dep\u0103\u0219it\u0103",labelMaxTotalFileSize:"Dimensiunea total\u0103 maxim\u0103 a fi\u0219ierelor este de {filesize}",labelFileTypeNotAllowed:"Tipul fi\u0219ierului nu este valid",fileValidateTypeLabelExpectedTypes:"Se a\u0219teapt\u0103 {allButLastType} sau {lastType}",imageValidateSizeLabelFormatError:"Formatul imaginii nu este acceptat",imageValidateSizeLabelImageSizeTooSmall:"Imaginea este prea mic\u0103",imageValidateSizeLabelImageSizeTooBig:"Imaginea este prea mare",imageValidateSizeLabelExpectedMinSize:"M\u0103rimea minim\u0103 este de {maxWidth} x {maxHeight}",imageValidateSizeLabelExpectedMaxSize:"M\u0103rimea maxim\u0103 este de {maxWidth} x {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rezolu\u021Bia este prea mic\u0103",imageValidateSizeLabelImageResolutionTooHigh:"Rezolu\u021Bia este prea mare",imageValidateSizeLabelExpectedMinResolution:"Rezolu\u021Bia minim\u0103 este de {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Rezolu\u021Bia maxim\u0103 este de {maxResolution}"};var nr={labelIdle:'\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0438\u043B\u0438 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 ',labelInvalidField:"\u041F\u043E\u043B\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442 \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u044B\u0435 \u0444\u0430\u0439\u043B\u044B",labelFileWaitingForSize:"\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0437\u043C\u0435\u0440",labelFileSizeNotAvailable:"\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",labelFileLoading:"\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435",labelFileLoadError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u0438",labelFileProcessing:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",labelFileProcessingComplete:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430",labelFileProcessingAborted:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u0442\u043C\u0435\u043D\u0435\u043D\u0430",labelFileProcessingError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0435",labelFileProcessingRevertError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0432\u043E\u0437\u0432\u0440\u0430\u0442\u0435",labelFileRemoveError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438",labelTapToCancel:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B",labelTapToRetry:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelTapToUndo:"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u0434\u043B\u044F \u043E\u0442\u043C\u0435\u043D\u044B \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",labelButtonRemoveItem:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",labelButtonAbortItemLoad:"\u041F\u0440\u0435\u043A\u0440\u0430\u0449\u0435\u043D\u043E",labelButtonRetryItemLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelButtonAbortItemProcessing:"\u041E\u0442\u043C\u0435\u043D\u0430",labelButtonUndoItemProcessing:"\u041E\u0442\u043C\u0435\u043D\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F",labelButtonRetryItemProcessing:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443",labelButtonProcessItem:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430",labelMaxFileSizeExceeded:"\u0424\u0430\u0439\u043B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0439",labelMaxFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: {filesize}",labelMaxTotalFileSizeExceeded:"\u041F\u0440\u0435\u0432\u044B\u0448\u0435\u043D \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440",labelMaxTotalFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430: {filesize}",labelFileTypeNotAllowed:"\u0424\u0430\u0439\u043B \u043D\u0435\u0432\u0435\u0440\u043D\u043E\u0433\u043E \u0442\u0438\u043F\u0430",fileValidateTypeLabelExpectedTypes:"\u041E\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044F {allButLastType} \u0438\u043B\u0438 {lastType}",imageValidateSizeLabelFormatError:"\u0422\u0438\u043F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F",imageValidateSizeLabelImageSizeTooSmall:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435",imageValidateSizeLabelImageSizeTooBig:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435",imageValidateSizeLabelExpectedMinSize:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u043C\u0435\u0440: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043D\u0438\u0437\u043A\u043E\u0435",imageValidateSizeLabelImageResolutionTooHigh:"\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0432\u044B\u0441\u043E\u043A\u043E\u0435",imageValidateSizeLabelExpectedMinResolution:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043D\u0438\u0435: {maxResolution}"};var lr={labelIdle:'Natiahn\xFA\u0165 s\xFAbor (drag&drop) alebo Vyh\u013Eada\u0165 ',labelInvalidField:"Pole obsahuje chybn\xE9 s\xFAbory",labelFileWaitingForSize:"Zis\u0165uje sa ve\u013Ekos\u0165",labelFileSizeNotAvailable:"Nezn\xE1ma ve\u013Ekos\u0165",labelFileLoading:"Pren\xE1\u0161a sa",labelFileLoadError:"Chyba pri prenose",labelFileProcessing:"Prebieha upload",labelFileProcessingComplete:"Upload dokon\u010Den\xFD",labelFileProcessingAborted:"Upload stornovan\xFD",labelFileProcessingError:"Chyba pri uploade",labelFileProcessingRevertError:"Chyba pri obnove",labelFileRemoveError:"Chyba pri odstr\xE1nen\xED",labelTapToCancel:"Kliknite pre storno",labelTapToRetry:"Kliknite pre opakovanie",labelTapToUndo:"Kliknite pre vr\xE1tenie",labelButtonRemoveItem:"Odstr\xE1ni\u0165",labelButtonAbortItemLoad:"Storno",labelButtonRetryItemLoad:"Opakova\u0165",labelButtonAbortItemProcessing:"Sp\xE4\u0165",labelButtonUndoItemProcessing:"Vr\xE1ti\u0165",labelButtonRetryItemProcessing:"Opakova\u0165",labelButtonProcessItem:"Upload",labelMaxFileSizeExceeded:"S\xFAbor je pr\xEDli\u0161 ve\u013Ek\xFD",labelMaxFileSize:"Najv\xE4\u010D\u0161ia ve\u013Ekos\u0165 s\xFAboru je {filesize}",labelMaxTotalFileSizeExceeded:"Prekro\u010Den\xE1 maxim\xE1lna celkov\xE1 ve\u013Ekos\u0165 s\xFAboru",labelMaxTotalFileSize:"Maxim\xE1lna celkov\xE1 ve\u013Ekos\u0165 s\xFAboru je {filesize}",labelFileTypeNotAllowed:"S\xFAbor je nespr\xE1vneho typu",fileValidateTypeLabelExpectedTypes:"O\u010Dak\xE1va sa {allButLastType} alebo {lastType}",imageValidateSizeLabelFormatError:"Obr\xE1zok tohto typu nie je podporovan\xFD",imageValidateSizeLabelImageSizeTooSmall:"Obr\xE1zok je pr\xEDli\u0161 mal\xFD",imageValidateSizeLabelImageSizeTooBig:"Obr\xE1zok je pr\xEDli\u0161 ve\u013Ek\xFD",imageValidateSizeLabelExpectedMinSize:"Minim\xE1lny rozmer je {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maxim\xE1lny rozmer je {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Rozl\xED\u0161enie je pr\xEDli\u0161 mal\xE9",imageValidateSizeLabelImageResolutionTooHigh:"Rozli\u0161enie je pr\xEDli\u0161 ve\u013Ek\xE9",imageValidateSizeLabelExpectedMinResolution:"Minim\xE1lne rozl\xED\u0161enie je {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maxim\xE1lne rozl\xED\u0161enie je {maxResolution}"};var or={labelIdle:'Drag och sl\xE4pp dina filer eller Bl\xE4ddra ',labelInvalidField:"F\xE4ltet inneh\xE5ller felaktiga filer",labelFileWaitingForSize:"V\xE4ntar p\xE5 storlek",labelFileSizeNotAvailable:"Storleken finns inte tillg\xE4nglig",labelFileLoading:"Laddar",labelFileLoadError:"Fel under laddning",labelFileProcessing:"Laddar upp",labelFileProcessingComplete:"Uppladdning klar",labelFileProcessingAborted:"Uppladdning avbruten",labelFileProcessingError:"Fel under uppladdning",labelFileProcessingRevertError:"Fel under \xE5terst\xE4llning",labelFileRemoveError:"Fel under borttagning",labelTapToCancel:"tryck f\xF6r att avbryta",labelTapToRetry:"tryck f\xF6r att f\xF6rs\xF6ka igen",labelTapToUndo:"tryck f\xF6r att \xE5ngra",labelButtonRemoveItem:"Tabort",labelButtonAbortItemLoad:"Avbryt",labelButtonRetryItemLoad:"F\xF6rs\xF6k igen",labelButtonAbortItemProcessing:"Avbryt",labelButtonUndoItemProcessing:"\xC5ngra",labelButtonRetryItemProcessing:"F\xF6rs\xF6k igen",labelButtonProcessItem:"Ladda upp",labelMaxFileSizeExceeded:"Filen \xE4r f\xF6r stor",labelMaxFileSize:"St\xF6rsta till\xE5tna filstorlek \xE4r {filesize}",labelMaxTotalFileSizeExceeded:"Maximal uppladdningsstorlek uppn\xE5d",labelMaxTotalFileSize:"Maximal uppladdningsstorlek \xE4r {filesize}",labelFileTypeNotAllowed:"Felaktig filtyp",fileValidateTypeLabelExpectedTypes:"Godk\xE4nda filtyper {allButLastType} eller {lastType}",imageValidateSizeLabelFormatError:"Bildtypen saknar st\xF6d",imageValidateSizeLabelImageSizeTooSmall:"Bilden \xE4r f\xF6r liten",imageValidateSizeLabelImageSizeTooBig:"Bilden \xE4r f\xF6r stor",imageValidateSizeLabelExpectedMinSize:"Minimal storlek \xE4r {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximal storlek \xE4r {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"Uppl\xF6sningen \xE4r f\xF6r l\xE5g",imageValidateSizeLabelImageResolutionTooHigh:"Uppl\xF6sningen \xE4r f\xF6r h\xF6g",imageValidateSizeLabelExpectedMinResolution:"Minsta till\xE5tna uppl\xF6sning \xE4r {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"H\xF6gsta till\xE5tna uppl\xF6sning \xE4r {maxResolution}"};var rr={labelIdle:'Dosyan\u0131z\u0131 S\xFCr\xFCkleyin & B\u0131rak\u0131n ya da Se\xE7in ',labelInvalidField:"Alan ge\xE7ersiz dosyalar i\xE7eriyor",labelFileWaitingForSize:"Boyut hesaplan\u0131yor",labelFileSizeNotAvailable:"Boyut mevcut de\u011Fil",labelFileLoading:"Y\xFCkleniyor",labelFileLoadError:"Y\xFCkleme s\u0131ras\u0131nda hata olu\u015Ftu",labelFileProcessing:"Y\xFCkleniyor",labelFileProcessingComplete:"Y\xFCkleme tamamland\u0131",labelFileProcessingAborted:"Y\xFCkleme iptal edildi",labelFileProcessingError:"Y\xFCklerken hata olu\u015Ftu",labelFileProcessingRevertError:"Geri \xE7ekerken hata olu\u015Ftu",labelFileRemoveError:"Kald\u0131r\u0131rken hata olu\u015Ftu",labelTapToCancel:"\u0130ptal etmek i\xE7in t\u0131klay\u0131n",labelTapToRetry:"Tekrar denemek i\xE7in t\u0131klay\u0131n",labelTapToUndo:"Geri almak i\xE7in t\u0131klay\u0131n",labelButtonRemoveItem:"Kald\u0131r",labelButtonAbortItemLoad:"\u0130ptal Et",labelButtonRetryItemLoad:"Tekrar dene",labelButtonAbortItemProcessing:"\u0130ptal et",labelButtonUndoItemProcessing:"Geri Al",labelButtonRetryItemProcessing:"Tekrar dene",labelButtonProcessItem:"Y\xFCkle",labelMaxFileSizeExceeded:"Dosya \xE7ok b\xFCy\xFCk",labelMaxFileSize:"En fazla dosya boyutu: {filesize}",labelMaxTotalFileSizeExceeded:"Maximum boyut a\u015F\u0131ld\u0131",labelMaxTotalFileSize:"Maximum dosya boyutu :{filesize}",labelFileTypeNotAllowed:"Ge\xE7ersiz dosya tipi",fileValidateTypeLabelExpectedTypes:"\u015Eu {allButLastType} ya da \u015Fu dosya olmas\u0131 gerekir: {lastType}",imageValidateSizeLabelFormatError:"Resim tipi desteklenmiyor",imageValidateSizeLabelImageSizeTooSmall:"Resim \xE7ok k\xFC\xE7\xFCk",imageValidateSizeLabelImageSizeTooBig:"Resim \xE7ok b\xFCy\xFCk",imageValidateSizeLabelExpectedMinSize:"Minimum boyut {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"Maximum boyut {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\xC7\xF6z\xFCn\xFCrl\xFCk \xE7ok d\xFC\u015F\xFCk",imageValidateSizeLabelImageResolutionTooHigh:"\xC7\xF6z\xFCn\xFCrl\xFCk \xE7ok y\xFCksek",imageValidateSizeLabelExpectedMinResolution:"Minimum \xE7\xF6z\xFCn\xFCrl\xFCk {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"Maximum \xE7\xF6z\xFCn\xFCrl\xFCk {maxResolution}"};var sr={labelIdle:'\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B\u0438 \u0430\u0431\u043E \u0432\u0438\u0431\u0435\u0440\u0456\u0442\u044C ',labelInvalidField:"\u041F\u043E\u043B\u0435 \u043C\u0456\u0441\u0442\u0438\u0442\u044C \u043D\u0435\u0434\u043E\u043F\u0443\u0441\u0442\u0438\u043C\u0456 \u0444\u0430\u0439\u043B\u0438",labelFileWaitingForSize:"\u0412\u043A\u0430\u0436\u0456\u0442\u044C \u0440\u043E\u0437\u043C\u0456\u0440",labelFileSizeNotAvailable:"\u0420\u043E\u0437\u043C\u0456\u0440 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0438\u0439",labelFileLoading:"\u041E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u044F",labelFileLoadError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u043E\u0447\u0456\u043A\u0443\u0432\u0430\u043D\u043D\u0456",labelFileProcessing:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",labelFileProcessingComplete:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",labelFileProcessingAborted:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F \u0441\u043A\u0430\u0441\u043E\u0432\u0430\u043D\u043E",labelFileProcessingError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u0456",labelFileProcessingRevertError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0432\u0456\u0434\u043D\u043E\u0432\u043B\u0435\u043D\u043D\u0456",labelFileRemoveError:"\u041F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0440\u0438 \u0432\u0438\u0434\u0430\u043B\u0435\u043D\u043D\u0456",labelTapToCancel:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelTapToRetry:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelTapToUndo:"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u0432\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0434\u0456\u044E",labelButtonRemoveItem:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",labelButtonAbortItemLoad:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelButtonRetryItemLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelButtonAbortItemProcessing:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438",labelButtonUndoItemProcessing:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0434\u0456\u044E",labelButtonRetryItemProcessing:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438 \u0441\u043F\u0440\u043E\u0431\u0443",labelButtonProcessItem:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F",labelMaxFileSizeExceeded:"\u0424\u0430\u0439\u043B \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0438\u0439",labelMaxFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440 \u0444\u0430\u0439\u043B\u0443: {filesize}",labelMaxTotalFileSizeExceeded:"\u041F\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043D\u043E \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440",labelMaxTotalFileSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0437\u0430\u0433\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {filesize}",labelFileTypeNotAllowed:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0444\u0430\u0439\u043B\u0443 \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",fileValidateTypeLabelExpectedTypes:"\u041E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F {allButLastType} \u0430\u0431\u043E {lastType}",imageValidateSizeLabelFormatError:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454\u0442\u044C\u0441\u044F",imageValidateSizeLabelImageSizeTooSmall:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0435",imageValidateSizeLabelImageSizeTooBig:"\u0417\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435",imageValidateSizeLabelExpectedMinSize:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u043C\u0456\u0440: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u0456",imageValidateSizeLabelImageResolutionTooHigh:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F \u0437\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0456",imageValidateSizeLabelExpectedMinResolution:"\u041C\u0456\u043D\u0456\u043C\u0430\u043B\u044C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438: {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0456 \u0440\u043E\u0437\u043C\u0456\u0440\u0438: {maxResolution}"};var cr={labelIdle:'K\xE9o th\u1EA3 t\u1EC7p c\u1EE7a b\u1EA1n ho\u1EB7c T\xECm ki\u1EBFm ',labelInvalidField:"Tr\u01B0\u1EDDng ch\u1EE9a c\xE1c t\u1EC7p kh\xF4ng h\u1EE3p l\u1EC7",labelFileWaitingForSize:"\u0110ang ch\u1EDD k\xEDch th\u01B0\u1EDBc",labelFileSizeNotAvailable:"K\xEDch th\u01B0\u1EDBc kh\xF4ng c\xF3 s\u1EB5n",labelFileLoading:"\u0110ang t\u1EA3i",labelFileLoadError:"L\u1ED7i khi t\u1EA3i",labelFileProcessing:"\u0110ang t\u1EA3i l\xEAn",labelFileProcessingComplete:"T\u1EA3i l\xEAn th\xE0nh c\xF4ng",labelFileProcessingAborted:"\u0110\xE3 hu\u1EF7 t\u1EA3i l\xEAn",labelFileProcessingError:"L\u1ED7i khi t\u1EA3i l\xEAn",labelFileProcessingRevertError:"L\u1ED7i khi ho\xE0n nguy\xEAn",labelFileRemoveError:"L\u1ED7i khi x\xF3a",labelTapToCancel:"nh\u1EA5n \u0111\u1EC3 h\u1EE7y",labelTapToRetry:"nh\u1EA5n \u0111\u1EC3 th\u1EED l\u1EA1i",labelTapToUndo:"nh\u1EA5n \u0111\u1EC3 ho\xE0n t\xE1c",labelButtonRemoveItem:"Xo\xE1",labelButtonAbortItemLoad:"Hu\u1EF7 b\u1ECF",labelButtonRetryItemLoad:"Th\u1EED l\u1EA1i",labelButtonAbortItemProcessing:"H\u1EE7y b\u1ECF",labelButtonUndoItemProcessing:"Ho\xE0n t\xE1c",labelButtonRetryItemProcessing:"Th\u1EED l\u1EA1i",labelButtonProcessItem:"T\u1EA3i l\xEAn",labelMaxFileSizeExceeded:"T\u1EADp tin qu\xE1 l\u1EDBn",labelMaxFileSize:"K\xEDch th\u01B0\u1EDBc t\u1EC7p t\u1ED1i \u0111a l\xE0 {filesize}",labelMaxTotalFileSizeExceeded:"\u0110\xE3 v\u01B0\u1EE3t qu\xE1 t\u1ED5ng k\xEDch th\u01B0\u1EDBc t\u1ED1i \u0111a",labelMaxTotalFileSize:"T\u1ED5ng k\xEDch th\u01B0\u1EDBc t\u1EC7p t\u1ED1i \u0111a l\xE0 {filesize}",labelFileTypeNotAllowed:"T\u1EC7p thu\u1ED9c lo\u1EA1i kh\xF4ng h\u1EE3p l\u1EC7",fileValidateTypeLabelExpectedTypes:"Ki\u1EC3u t\u1EC7p h\u1EE3p l\u1EC7 l\xE0 {allButLastType} ho\u1EB7c {lastType}",imageValidateSizeLabelFormatError:"Lo\u1EA1i h\xECnh \u1EA3nh kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",imageValidateSizeLabelImageSizeTooSmall:"H\xECnh \u1EA3nh qu\xE1 nh\u1ECF",imageValidateSizeLabelImageSizeTooBig:"H\xECnh \u1EA3nh qu\xE1 l\u1EDBn",imageValidateSizeLabelExpectedMinSize:"K\xEDch th\u01B0\u1EDBc t\u1ED1i thi\u1EC3u l\xE0 {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"K\xEDch th\u01B0\u1EDBc t\u1ED1i \u0111a l\xE0 {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u0110\u1ED9 ph\xE2n gi\u1EA3i qu\xE1 th\u1EA5p",imageValidateSizeLabelImageResolutionTooHigh:"\u0110\u1ED9 ph\xE2n gi\u1EA3i qu\xE1 cao",imageValidateSizeLabelExpectedMinResolution:"\u0110\u1ED9 ph\xE2n gi\u1EA3i t\u1ED1i thi\u1EC3u l\xE0 {minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u0110\u1ED9 ph\xE2n gi\u1EA3i t\u1ED1i \u0111a l\xE0 {maxResolution}"};var dr={labelIdle:'\u62D6\u653E\u6587\u4EF6\uFF0C\u6216\u8005 \u6D4F\u89C8 ',labelInvalidField:"\u5B57\u6BB5\u5305\u542B\u65E0\u6548\u6587\u4EF6",labelFileWaitingForSize:"\u8BA1\u7B97\u6587\u4EF6\u5927\u5C0F",labelFileSizeNotAvailable:"\u6587\u4EF6\u5927\u5C0F\u4E0D\u53EF\u7528",labelFileLoading:"\u52A0\u8F7D",labelFileLoadError:"\u52A0\u8F7D\u9519\u8BEF",labelFileProcessing:"\u4E0A\u4F20",labelFileProcessingComplete:"\u5DF2\u4E0A\u4F20",labelFileProcessingAborted:"\u4E0A\u4F20\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u4F20\u51FA\u9519",labelFileProcessingRevertError:"\u8FD8\u539F\u51FA\u9519",labelFileRemoveError:"\u5220\u9664\u51FA\u9519",labelTapToCancel:"\u70B9\u51FB\u53D6\u6D88",labelTapToRetry:"\u70B9\u51FB\u91CD\u8BD5",labelTapToUndo:"\u70B9\u51FB\u64A4\u6D88",labelButtonRemoveItem:"\u5220\u9664",labelButtonAbortItemLoad:"\u4E2D\u6B62",labelButtonRetryItemLoad:"\u91CD\u8BD5",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u64A4\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8BD5",labelButtonProcessItem:"\u4E0A\u4F20",labelMaxFileSizeExceeded:"\u6587\u4EF6\u592A\u5927",labelMaxFileSize:"\u6700\u5927\u503C: {filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u8FC7\u6700\u5927\u6587\u4EF6\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u6587\u4EF6\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u6587\u4EF6\u7C7B\u578B\u65E0\u6548",fileValidateTypeLabelExpectedTypes:"\u5E94\u4E3A {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u56FE\u50CF\u7C7B\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u56FE\u50CF\u592A\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u56FE\u50CF\u592A\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u503C: {minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u503C: {maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u5206\u8FA8\u7387\u592A\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u5206\u8FA8\u7387\u592A\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u5C0F\u5206\u8FA8\u7387\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u5927\u5206\u8FA8\u7387\uFF1A{maxResolution}"};var pr={labelIdle:'\u62D6\u653E\u6A94\u6848\uFF0C\u6216\u8005 \u700F\u89BD ',labelInvalidField:"\u4E0D\u652F\u63F4\u6B64\u6A94\u6848",labelFileWaitingForSize:"\u6B63\u5728\u8A08\u7B97\u6A94\u6848\u5927\u5C0F",labelFileSizeNotAvailable:"\u6A94\u6848\u5927\u5C0F\u4E0D\u7B26",labelFileLoading:"\u8B80\u53D6\u4E2D",labelFileLoadError:"\u8B80\u53D6\u932F\u8AA4",labelFileProcessing:"\u4E0A\u50B3",labelFileProcessingComplete:"\u5DF2\u4E0A\u50B3",labelFileProcessingAborted:"\u4E0A\u50B3\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u50B3\u767C\u751F\u932F\u8AA4",labelFileProcessingRevertError:"\u9084\u539F\u932F\u8AA4",labelFileRemoveError:"\u522A\u9664\u932F\u8AA4",labelTapToCancel:"\u9EDE\u64CA\u53D6\u6D88",labelTapToRetry:"\u9EDE\u64CA\u91CD\u8A66",labelTapToUndo:"\u9EDE\u64CA\u9084\u539F",labelButtonRemoveItem:"\u522A\u9664",labelButtonAbortItemLoad:"\u505C\u6B62",labelButtonRetryItemLoad:"\u91CD\u8A66",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u53D6\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8A66",labelButtonProcessItem:"\u4E0A\u50B3",labelMaxFileSizeExceeded:"\u6A94\u6848\u904E\u5927",labelMaxFileSize:"\u6700\u5927\u503C\uFF1A{filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u904E\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u4E0D\u652F\u63F4\u6B64\u985E\u578B\u6A94\u6848",fileValidateTypeLabelExpectedTypes:"\u61C9\u70BA {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u6B64\u985E\u5716\u7247\u985E\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u5716\u7247\u904E\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u5716\u7247\u904E\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u5C3A\u5BF8\uFF1A{minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u5C3A\u5BF8\uFF1A{maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u89E3\u6790\u5EA6\u904E\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u89E3\u6790\u5EA6\u904E\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u4F4E\u89E3\u6790\u5EA6\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u9AD8\u89E3\u6790\u5EA6\uFF1A{maxResolution}"};var mr={labelIdle:'\u62D6\u653E\u6A94\u6848\uFF0C\u6216\u8005 \u700F\u89BD ',labelInvalidField:"\u4E0D\u652F\u63F4\u6B64\u6A94\u6848",labelFileWaitingForSize:"\u6B63\u5728\u8A08\u7B97\u6A94\u6848\u5927\u5C0F",labelFileSizeNotAvailable:"\u6A94\u6848\u5927\u5C0F\u4E0D\u7B26",labelFileLoading:"\u8B80\u53D6\u4E2D",labelFileLoadError:"\u8B80\u53D6\u932F\u8AA4",labelFileProcessing:"\u4E0A\u50B3",labelFileProcessingComplete:"\u5DF2\u4E0A\u50B3",labelFileProcessingAborted:"\u4E0A\u50B3\u5DF2\u53D6\u6D88",labelFileProcessingError:"\u4E0A\u50B3\u767C\u751F\u932F\u8AA4",labelFileProcessingRevertError:"\u9084\u539F\u932F\u8AA4",labelFileRemoveError:"\u522A\u9664\u932F\u8AA4",labelTapToCancel:"\u9EDE\u64CA\u53D6\u6D88",labelTapToRetry:"\u9EDE\u64CA\u91CD\u8A66",labelTapToUndo:"\u9EDE\u64CA\u9084\u539F",labelButtonRemoveItem:"\u522A\u9664",labelButtonAbortItemLoad:"\u505C\u6B62",labelButtonRetryItemLoad:"\u91CD\u8A66",labelButtonAbortItemProcessing:"\u53D6\u6D88",labelButtonUndoItemProcessing:"\u53D6\u6D88",labelButtonRetryItemProcessing:"\u91CD\u8A66",labelButtonProcessItem:"\u4E0A\u50B3",labelMaxFileSizeExceeded:"\u6A94\u6848\u904E\u5927",labelMaxFileSize:"\u6700\u5927\u503C\uFF1A{filesize}",labelMaxTotalFileSizeExceeded:"\u8D85\u904E\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F",labelMaxTotalFileSize:"\u6700\u5927\u53EF\u4E0A\u50B3\u5927\u5C0F\uFF1A{filesize}",labelFileTypeNotAllowed:"\u4E0D\u652F\u63F4\u6B64\u985E\u578B\u6A94\u6848",fileValidateTypeLabelExpectedTypes:"\u61C9\u70BA {allButLastType} \u6216 {lastType}",imageValidateSizeLabelFormatError:"\u4E0D\u652F\u6301\u6B64\u985E\u5716\u7247\u985E\u578B",imageValidateSizeLabelImageSizeTooSmall:"\u5716\u7247\u904E\u5C0F",imageValidateSizeLabelImageSizeTooBig:"\u5716\u7247\u904E\u5927",imageValidateSizeLabelExpectedMinSize:"\u6700\u5C0F\u5C3A\u5BF8\uFF1A{minWidth} \xD7 {minHeight}",imageValidateSizeLabelExpectedMaxSize:"\u6700\u5927\u5C3A\u5BF8\uFF1A{maxWidth} \xD7 {maxHeight}",imageValidateSizeLabelImageResolutionTooLow:"\u89E3\u6790\u5EA6\u904E\u4F4E",imageValidateSizeLabelImageResolutionTooHigh:"\u89E3\u6790\u5EA6\u904E\u9AD8",imageValidateSizeLabelExpectedMinResolution:"\u6700\u4F4E\u89E3\u6790\u5EA6\uFF1A{minResolution}",imageValidateSizeLabelExpectedMaxResolution:"\u6700\u9AD8\u89E3\u6790\u5EA6\uFF1A{maxResolution}"};ve(Wl);ve(jl);ve($l);ve(Kl);ve(eo);ve(mo);ve(go);ve(_o);ve(Aa);window.FilePond=na;function Fg({acceptedFileTypes:e,automaticallyCropImagesAspectRatio:t,automaticallyOpenImageEditorForAspectRatio:i,automaticallyResizeImagesHeight:a,automaticallyResizeImagesMode:n,automaticallyResizeImagesWidth:l,cancelUploadUsing:o,canEditSvgs:r,confirmSvgEditingMessage:s,deleteUploadedFileUsing:p,disabledSvgEditingMessage:c,getUploadedFilesUsing:d,hasCircleCropper:m,hasImageEditor:u,imageEditorEmptyFillColor:g,imageEditorMode:f,imageEditorViewportHeight:h,imageEditorViewportWidth:I,imagePreviewHeight:b,isAvatar:E,isDeletable:v,isDisabled:y,isDownloadable:T,isImageEditorExplicitlyEnabled:_,isMultiple:x,isOpenable:R,isPasteable:P,isPreviewable:z,isReorderable:A,isSvgEditingConfirmed:k,itemPanelAspectRatio:w,loadingIndicatorPosition:O,locale:S,maxFiles:L,maxFilesValidationMessage:C,maxParallelUploads:D,maxSize:U,mimeTypeMap:B,minSize:$,panelAspectRatio:X,panelLayout:K,placeholder:ce,removeUploadedFileButtonPosition:V,removeUploadedFileUsing:H,reorderUploadedFilesUsing:Y,shouldAppendFiles:ie,shouldAutomaticallyUpscaleImagesWhenResizing:ee,shouldOrientImageFromExif:dt,shouldTransformImage:gr,state:fr,uploadButtonPosition:hr,uploadingMessage:br,uploadProgressIndicatorPosition:Er,uploadUsing:Tr}){return{fileKeyIndex:{},pond:null,shouldUpdateState:!0,state:fr,lastState:null,error:null,uploadedFileIndex:{},isEditorOpen:!1,isEditorOpenedForAspectRatio:!1,editingFile:{},currentRatio:"",editor:{},visibilityObserver:null,async init(){if(this.pond)return;if(this.$el.offsetParent===null){this.visibilityObserver?.disconnect(),this.visibilityObserver=new ResizeObserver(()=>{this.$el.offsetWidth>0&&(this.visibilityObserver.disconnect(),this.init())}),this.visibilityObserver.observe(this.$el);return}Ot(ur[S]??ur.en),this.pond=gt(this.$refs.input,{acceptedFileTypes:e,allowImageExifOrientation:dt,allowPaste:P,allowRemove:v,allowReorder:A,allowImagePreview:z,allowVideoPreview:z,allowAudioPreview:z,allowImageTransform:gr,credits:!1,files:await this.getFiles(),imageCropAspectRatio:t,imagePreviewHeight:b,imageResizeTargetHeight:a,imageResizeTargetWidth:l,imageResizeMode:n,imageResizeUpscale:ee,imageTransformOutputStripImageHead:!1,itemInsertLocation:ie?"after":"before",...ce&&{labelIdle:ce},maxFiles:L,fileAttachmentsMaxFileSize:U,minFileSize:$,...D&&{maxParallelUploads:D},styleButtonProcessItemPosition:hr,styleButtonRemoveItemPosition:V,styleItemPanelAspectRatio:w,styleLoadIndicatorPosition:O,stylePanelAspectRatio:X,stylePanelLayout:K,styleProgressIndicatorPosition:Er,server:{load:async(F,G)=>{let Z=await(await fetch(F,{cache:"no-store"})).blob();G(Z)},process:(F,G,q,Z,Ge,Me,Kt)=>{this.shouldUpdateState=!1;let za=("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,Zt=>(Zt^crypto.getRandomValues(new Uint8Array(1))[0]&15>>Zt/4).toString(16));return Tr(za,G,Zt=>{this.shouldUpdateState=!0,Z(Zt)},Ge,Me),{abort:()=>{o(za),Kt()}}},remove:async(F,G)=>{let q=this.uploadedFileIndex[F]??null;q&&(await p(q),G())},revert:async(F,G)=>{await H(F),G()}},allowImageEdit:_,imageEditEditor:{open:F=>this.loadEditor(F),onconfirm:()=>{},oncancel:()=>this.closeEditor(),onclose:()=>this.closeEditor()},fileValidateTypeDetectType:(F,G)=>new Promise((q,Z)=>{let Ge=F.name.split(".").pop().toLowerCase(),Me=B[Ge]||G||Gl.getType(Ge);Me?q(Me):Z()})}),this.$watch("state",async()=>{if(this.pond&&this.shouldUpdateState&&this.state!==void 0){if(this.state!==null&&Object.values(this.state).filter(F=>F.startsWith("livewire-file:")).length){this.lastState=null;return}JSON.stringify(this.state)!==this.lastState&&(this.lastState=JSON.stringify(this.state),this.pond.files=await this.getFiles())}}),this.pond.on("reorderfiles",async F=>{let G=F.map(q=>q.source instanceof File?q.serverId:this.uploadedFileIndex[q.source]??null).filter(q=>q);await Y(ie?G:G.reverse())}),this.pond.on("initfile",async F=>{T&&(E||this.insertDownloadLink(F))}),this.pond.on("initfile",async F=>{R&&(E||this.insertOpenLink(F))}),this.pond.on("addfilestart",async F=>{this.error=null,F.status===Et.PROCESSING_QUEUED&&this.dispatchFormEvent("form-processing-started",{message:br})});let N=async()=>{this.pond.getFiles().filter(F=>F.status===Et.PROCESSING||F.status===Et.PROCESSING_QUEUED).length||this.dispatchFormEvent("form-processing-finished")};this.pond.on("processfile",N),this.pond.on("processfileabort",N),this.pond.on("processfilerevert",N),this.pond.on("removefile",N),this.pond.on("warning",F=>{F.body==="Max files"&&(this.error=C)}),K==="compact circle"&&this.pond.on("error",F=>{this.error=`${F.main}: ${F.sub}`.replace("Expects or","Expects")}),this.pond.on("removefile",()=>this.error=null),i&&this.pond.on("addfile",(F,G)=>{F||G.file instanceof File&&G.file.type.startsWith("image/")&&this.checkImageAspectRatio(G.file)})},destroy(){this.visibilityObserver?.disconnect(),this.destroyEditor(),this.pond&&(ft(this.$refs.input),this.pond=null)},dispatchFormEvent(N,F={}){this.$el.closest("form")?.dispatchEvent(new CustomEvent(N,{composed:!0,cancelable:!0,detail:F}))},async getUploadedFiles(){let N=await d();this.fileKeyIndex=N??{},this.uploadedFileIndex=Object.entries(this.fileKeyIndex).filter(([F,G])=>G?.url).reduce((F,[G,q])=>(F[q.url]=G,F),{})},async getFiles(){await this.getUploadedFiles();let N=[];for(let F of Object.values(this.fileKeyIndex))F&&N.push({source:F.url,options:{type:"local",...!F.type||z&&(/^audio/.test(F.type)||/^image/.test(F.type)||/^video/.test(F.type))?{}:{file:{name:F.name,size:F.size,type:F.type}}}});return ie?N:N.reverse()},insertDownloadLink(N){if(N.origin!==Ct.LOCAL)return;let F=this.getDownloadLink(N);F&&document.getElementById(`filepond--item-${N.id}`).querySelector(".filepond--file-info-main").prepend(F)},insertOpenLink(N){if(N.origin!==Ct.LOCAL)return;let F=this.getOpenLink(N);F&&document.getElementById(`filepond--item-${N.id}`).querySelector(".filepond--file-info-main").prepend(F)},getDownloadLink(N){let F=N.source;if(!F)return;let G=document.createElement("a");return G.className="filepond--download-icon",G.href=F,G.download=N.file.name,G},getOpenLink(N){let F=N.source;if(!F)return;let G=document.createElement("a");return G.className="filepond--open-icon",G.href=F,G.target="_blank",G},initEditor(){if(y||!u)return;let N={aspectRatio:i??I/h,autoCropArea:1,center:!0,cropBoxResizable:!0,guides:!0,highlight:!0,responsive:!0,toggleDragModeOnDblclick:!0,viewMode:f,wheelZoomRatio:.02};_&&(N.crop=F=>{this.$refs.xPositionInput.value=Math.round(F.detail.x),this.$refs.yPositionInput.value=Math.round(F.detail.y),this.$refs.heightInput.value=Math.round(F.detail.height),this.$refs.widthInput.value=Math.round(F.detail.width),this.$refs.rotationInput.value=F.detail.rotate}),this.editor=new xa(this.$refs.editor,N)},closeEditor(){if(this.isEditorOpenedForAspectRatio){let N=this.pond.getFiles().find(F=>F.filename===this.editingFile.name);N&&this.pond.removeFile(N.id,{revert:!0}),this.isEditorOpenedForAspectRatio=!1}this.editingFile={},this.isEditorOpen=!1,this.destroyEditor()},fixImageDimensions(N,F){if(N.type!=="image/svg+xml")return F(N);let G=new FileReader;G.onload=q=>{let Z=new DOMParser().parseFromString(q.target.result,"image/svg+xml")?.querySelector("svg");if(!Z)return F(N);let Ge=["viewBox","ViewBox","viewbox"].find(Kt=>Z.hasAttribute(Kt));if(!Ge)return F(N);let Me=Z.getAttribute(Ge).split(" ");return!Me||Me.length!==4?F(N):(Z.setAttribute("width",parseFloat(Me[2])+"pt"),Z.setAttribute("height",parseFloat(Me[3])+"pt"),F(new File([new Blob([new XMLSerializer().serializeToString(Z)],{type:"image/svg+xml"})],N.name,{type:"image/svg+xml",_relativePath:""})))},G.readAsText(N)},loadEditor(N){if(y||!u||!N)return;let F=N.type==="image/svg+xml";if(!r&&F){alert(c);return}k&&F&&!confirm(s)||this.fixImageDimensions(N,G=>{this.editingFile=G,this.initEditor();let q=new FileReader;q.onload=Z=>{this.isEditorOpen=!0,setTimeout(()=>this.editor.replace(Z.target.result),200)},q.readAsDataURL(N)})},getRoundedCanvas(N){let F=N.width,G=N.height,q=document.createElement("canvas");q.width=F,q.height=G;let Z=q.getContext("2d");return Z.imageSmoothingEnabled=!0,Z.drawImage(N,0,0,F,G),Z.globalCompositeOperation="destination-in",Z.beginPath(),Z.ellipse(F/2,G/2,F/2,G/2,0,0,2*Math.PI),Z.fill(),q},saveEditor(){if(y||!u)return;this.isEditorOpenedForAspectRatio=!1;let N=this.editor.getCroppedCanvas({fillColor:g??"transparent",height:a,imageSmoothingEnabled:!0,imageSmoothingQuality:"high",width:l});m&&(N=this.getRoundedCanvas(N)),N.toBlob(F=>{this.pond.removeFile(this.pond.getFiles().find(G=>G.filename===this.editingFile.name)?.id,{revert:!0}),this.$nextTick(()=>{this.shouldUpdateState=!1;let G=this.editingFile.name.slice(0,this.editingFile.name.lastIndexOf(".")),q=this.editingFile.name.split(".").pop();q==="svg"&&(q="png");let Z=/-v(\d+)/;Z.test(G)?G=G.replace(Z,(Ge,Me)=>`-v${Number(Me)+1}`):G+="-v1",this.pond.addFile(new File([F],`${G}.${q}`,{type:this.editingFile.type==="image/svg+xml"||m?"image/png":this.editingFile.type,lastModified:new Date().getTime()})).then(()=>{this.closeEditor()}).catch(()=>{this.closeEditor()})})},m?"image/png":this.editingFile.type)},destroyEditor(){this.editor&&typeof this.editor.destroy=="function"&&this.editor.destroy(),this.editor=null},checkImageAspectRatio(N){if(!i)return;let F=new Image,G=URL.createObjectURL(N);F.onload=()=>{URL.revokeObjectURL(G);let q=F.width/F.height;Math.abs(q-i)>.01&&(this.isEditorOpenedForAspectRatio=!0,this.loadEditor(N))},F.onerror=()=>{URL.revokeObjectURL(G)},F.src=G}}}var ur={am:wo,ar:Lo,az:Mo,ca:Ao,ckb:zo,cs:Po,da:Fo,de:Oo,el:Do,en:Co,es:Bo,fa:ko,fi:No,fr:Vo,he:Go,hr:Uo,hu:Wo,id:Ho,it:jo,ja:Yo,km:qo,ko:$o,lt:Xo,lus:Ko,lv:Zo,nb:Qo,nl:Jo,pl:er,pt:tr,pt_BR:ir,ro:ar,ru:nr,sk:lr,sv:or,tr:rr,uk:sr,vi:cr,zh_CN:dr,zh_HK:pr,zh_TW:mr};export{Fg as default}; /*! Bundled license information: filepond/dist/filepond.esm.js: (*! - * FilePond 4.31.1 + * FilePond 4.32.10 * Licensed under MIT, https://opensource.org/licenses/MIT/ * Please visit https://pqina.nl/filepond/ for details. *) cropperjs/dist/cropper.esm.js: (*! - * Cropper.js v1.6.1 + * Cropper.js v1.6.2 * https://fengyuanchen.github.io/cropperjs * * Copyright 2015-present Chen Fengyuan * Released under the MIT license * - * Date: 2023-09-17T03:44:19.860Z + * Date: 2024-04-21T07:43:05.335Z *) filepond-plugin-file-validate-size/dist/filepond-plugin-file-validate-size.esm.js: diff --git a/public/js/filament/forms/components/key-value.js b/public/js/filament/forms/components/key-value.js index 3450bdffe..c608e2e3d 100644 --- a/public/js/filament/forms/components/key-value.js +++ b/public/js/filament/forms/components/key-value.js @@ -1 +1 @@ -function r({state:i}){return{state:i,rows:[],shouldUpdateRows:!0,init:function(){this.updateRows(),this.rows.length<=0?this.rows.push({key:"",value:""}):this.updateState(),this.$watch("state",(t,e)=>{let s=o=>o===null?0:Array.isArray(o)?o.length:typeof o!="object"?0:Object.keys(o).length;s(t)===0&&s(e)===0||this.updateRows()})},addRow:function(){this.rows.push({key:"",value:""}),this.updateState()},deleteRow:function(t){this.rows.splice(t,1),this.rows.length<=0&&this.addRow(),this.updateState()},reorderRows:function(t){let e=Alpine.raw(this.rows),s=e.splice(t.oldIndex,1)[0];e.splice(t.newIndex,0,s),this.rows=e,this.updateState()},updateRows:function(){if(!this.shouldUpdateRows){this.shouldUpdateRows=!0;return}let t=[];for(let[e,s]of Object.entries(this.state??{}))t.push({key:e,value:s});this.rows=t},updateState:function(){let t={};this.rows.forEach(e=>{e.key===""||e.key===null||(t[e.key]=e.value)}),this.shouldUpdateRows=!1,this.state=t}}}export{r as default}; +function h({state:r}){return{state:r,rows:[],init(){this.updateRows(),this.rows.length<=0?this.rows.push({key:"",value:""}):this.updateState(),this.$watch("state",(e,t)=>{let s=i=>i===null?0:Array.isArray(i)?i.length:typeof i!="object"?0:Object.keys(i).length;s(e)===0&&s(t)===0||this.updateRows()})},addRow(){this.rows.push({key:"",value:""}),this.updateState()},deleteRow(e){this.rows.splice(e,1),this.rows.length<=0&&this.addRow(),this.updateState()},reorderRows(e){let t=Alpine.raw(this.rows);this.rows=[];let s=t.splice(e.oldIndex,1)[0];t.splice(e.newIndex,0,s),this.$nextTick(()=>{this.rows=t,this.updateState()})},updateRows(){let t=Alpine.raw(this.state).map(({key:s,value:i})=>({key:s,value:i}));this.rows.forEach(s=>{(s.key===""||s.key===null)&&t.push({key:"",value:s.value})}),this.rows=t},updateState(){let e=[];this.rows.forEach(t=>{t.key===""||t.key===null||e.push({key:t.key,value:t.value})}),JSON.stringify(this.state)!==JSON.stringify(e)&&(this.state=e)}}}export{h as default}; diff --git a/public/js/filament/forms/components/markdown-editor.js b/public/js/filament/forms/components/markdown-editor.js index 02b7779fe..0ae0a7596 100644 --- a/public/js/filament/forms/components/markdown-editor.js +++ b/public/js/filament/forms/components/markdown-editor.js @@ -1,43 +1,43 @@ -var ss=Object.defineProperty;var Sd=Object.getOwnPropertyDescriptor;var Td=Object.getOwnPropertyNames;var Ld=Object.prototype.hasOwnProperty;var Cd=(o,h)=>()=>(o&&(h=o(o=0)),h);var Ke=(o,h)=>()=>(h||o((h={exports:{}}).exports,h),h.exports);var Ed=(o,h,v,C)=>{if(h&&typeof h=="object"||typeof h=="function")for(let b of Td(h))!Ld.call(o,b)&&b!==v&&ss(o,b,{get:()=>h[b],enumerable:!(C=Sd(h,b))||C.enumerable});return o};var zd=o=>Ed(ss({},"__esModule",{value:!0}),o);var We=Ke((Yo,Qo)=>{(function(o,h){typeof Yo=="object"&&typeof Qo<"u"?Qo.exports=h():typeof define=="function"&&define.amd?define(h):(o=o||self,o.CodeMirror=h())})(Yo,function(){"use strict";var o=navigator.userAgent,h=navigator.platform,v=/gecko\/\d/i.test(o),C=/MSIE \d/.test(o),b=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(o),S=/Edge\/(\d+)/.exec(o),s=C||b||S,p=s&&(C?document.documentMode||6:+(S||b)[1]),g=!S&&/WebKit\//.test(o),L=g&&/Qt\/\d+\.\d+/.test(o),x=!S&&/Chrome\/(\d+)/.exec(o),c=x&&+x[1],d=/Opera\//.test(o),w=/Apple Computer/.test(navigator.vendor),E=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(o),z=/PhantomJS/.test(o),y=w&&(/Mobile\/\w+/.test(o)||navigator.maxTouchPoints>2),R=/Android/.test(o),M=y||R||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(o),H=y||/Mac/.test(h),Z=/\bCrOS\b/.test(o),ee=/win/i.test(h),re=d&&o.match(/Version\/(\d*\.\d*)/);re&&(re=Number(re[1])),re&&re>=15&&(d=!1,g=!0);var N=H&&(L||d&&(re==null||re<12.11)),F=v||s&&p>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var Q=function(e,t){var n=e.className,r=D(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function j(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function V(e,t){return j(e).appendChild(t)}function _(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),typeof t=="string")i.appendChild(document.createTextNode(t));else if(t)for(var a=0;a=t)return l+(t-a);l+=u-a,l+=n-l%n,a=u+1}}var qe=function(){this.id=null,this.f=null,this.time=0,this.handler=Ee(this.onTimeout,this)};qe.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},qe.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n=t)return r+Math.min(l,t-i);if(i+=a-r,i+=n-i%n,r=a+1,i>=t)return r}}var U=[""];function G(e){for(;U.length<=e;)U.push(ce(U)+" ");return U[e]}function ce(e){return e[e.length-1]}function Be(e,t){for(var n=[],r=0;r"\x80"&&(e.toUpperCase()!=e.toLowerCase()||Ue.test(e))}function Me(e,t){return t?t.source.indexOf("\\w")>-1&&we(e)?!0:t.test(e):we(e)}function Le(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var $=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function W(e){return e.charCodeAt(0)>=768&&$.test(e)}function se(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,a=r<0?Math.ceil(i):Math.floor(i);if(a==t)return e(a)?t:n;e(a)?n=a:t=a+r}}function nt(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,a=0;at||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),l.level==1?"rtl":"ltr",a),i=!0)}i||r(t,n,"ltr")}var dt=null;function Pt(e,t,n){var r;dt=null;for(var i=0;it)return i;a.to==t&&(a.from!=a.to&&n=="before"?r=i:dt=i),a.from==t&&(a.from!=a.to&&n!="before"?r=i:dt=i)}return r??dt}var It=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(m){return m<=247?e.charAt(m):1424<=m&&m<=1524?"R":1536<=m&&m<=1785?t.charAt(m-1536):1774<=m&&m<=2220?"r":8192<=m&&m<=8203?"w":m==8204?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,a=/[LRr]/,l=/[Lb1n]/,u=/[1n]/;function f(m,A,P){this.level=m,this.from=A,this.to=P}return function(m,A){var P=A=="ltr"?"L":"R";if(m.length==0||A=="ltr"&&!r.test(m))return!1;for(var J=m.length,Y=[],ie=0;ie-1&&(r[t]=i.slice(0,a).concat(i.slice(a+1)))}}}function it(e,t){var n=nr(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function Wt(e){e.prototype.on=function(t,n){Fe(this,t,n)},e.prototype.off=function(t,n){_t(this,t,n)}}function kt(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Hr(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ct(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}function dr(e){kt(e),Hr(e)}function yn(e){return e.target||e.srcElement}function Ut(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),H&&e.ctrlKey&&t==1&&(t=3),t}var eo=function(){if(s&&p<9)return!1;var e=_("div");return"draggable"in e||"dragDrop"in e}(),Br;function ei(e){if(Br==null){var t=_("span","\u200B");V(e,_("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(Br=t.offsetWidth<=1&&t.offsetHeight>2&&!(s&&p<8))}var n=Br?_("span","\u200B"):_("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}var xn;function pr(e){if(xn!=null)return xn;var t=V(e,document.createTextNode("A\u062EA")),n=X(t,0,1).getBoundingClientRect(),r=X(t,1,2).getBoundingClientRect();return j(e),!n||n.left==n.right?!1:xn=r.right-n.right<3}var Bt=` +var ss=Object.defineProperty;var Sd=Object.getOwnPropertyDescriptor;var Td=Object.getOwnPropertyNames;var Ld=Object.prototype.hasOwnProperty;var Cd=(o,p)=>()=>(o&&(p=o(o=0)),p);var Ke=(o,p)=>()=>(p||o((p={exports:{}}).exports,p),p.exports);var Ed=(o,p,v,C)=>{if(p&&typeof p=="object"||typeof p=="function")for(let b of Td(p))!Ld.call(o,b)&&b!==v&&ss(o,b,{get:()=>p[b],enumerable:!(C=Sd(p,b))||C.enumerable});return o};var zd=o=>Ed(ss({},"__esModule",{value:!0}),o);var We=Ke((Yo,Qo)=>{(function(o,p){typeof Yo=="object"&&typeof Qo<"u"?Qo.exports=p():typeof define=="function"&&define.amd?define(p):(o=o||self,o.CodeMirror=p())})(Yo,(function(){"use strict";var o=navigator.userAgent,p=navigator.platform,v=/gecko\/\d/i.test(o),C=/MSIE \d/.test(o),b=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(o),S=/Edge\/(\d+)/.exec(o),s=C||b||S,h=s&&(C?document.documentMode||6:+(S||b)[1]),g=!S&&/WebKit\//.test(o),T=g&&/Qt\/\d+\.\d+/.test(o),w=!S&&/Chrome\/(\d+)/.exec(o),c=w&&+w[1],d=/Opera\//.test(o),k=/Apple Computer/.test(navigator.vendor),z=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(o),M=/PhantomJS/.test(o),_=k&&(/Mobile\/\w+/.test(o)||navigator.maxTouchPoints>2),W=/Android/.test(o),E=_||W||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(o),O=_||/Mac/.test(p),G=/\bCrOS\b/.test(o),J=/win/i.test(p),re=d&&o.match(/Version\/(\d*\.\d*)/);re&&(re=Number(re[1])),re&&re>=15&&(d=!1,g=!0);var q=O&&(T||d&&(re==null||re<12.11)),I=v||s&&h>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var Q=function(e,t){var n=e.className,r=D(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function j(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function V(e,t){return j(e).appendChild(t)}function y(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),typeof t=="string")i.appendChild(document.createTextNode(t));else if(t)for(var a=0;a=t)return l+(t-a);l+=u-a,l+=n-l%n,a=u+1}}var qe=function(){this.id=null,this.f=null,this.time=0,this.handler=Ee(this.onTimeout,this)};qe.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},qe.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n=t)return r+Math.min(l,t-i);if(i+=a-r,i+=n-i%n,r=a+1,i>=t)return r}}var U=[""];function Z(e){for(;U.length<=e;)U.push(ce(U)+" ");return U[e]}function ce(e){return e[e.length-1]}function He(e,t){for(var n=[],r=0;r"\x80"&&(e.toUpperCase()!=e.toLowerCase()||Ue.test(e))}function Me(e,t){return t?t.source.indexOf("\\w")>-1&&we(e)?!0:t.test(e):we(e)}function Le(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var $=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function H(e){return e.charCodeAt(0)>=768&&$.test(e)}function se(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,a=r<0?Math.ceil(i):Math.floor(i);if(a==t)return e(a)?t:n;e(a)?n=a:t=a+r}}function nt(e,t,n,r){if(!e)return r(t,n,"ltr",0);for(var i=!1,a=0;at||t==n&&l.to==t)&&(r(Math.max(l.from,t),Math.min(l.to,n),l.level==1?"rtl":"ltr",a),i=!0)}i||r(t,n,"ltr")}var dt=null;function Pt(e,t,n){var r;dt=null;for(var i=0;it)return i;a.to==t&&(a.from!=a.to&&n=="before"?r=i:dt=i),a.from==t&&(a.from!=a.to&&n!="before"?r=i:dt=i)}return r??dt}var Ft=(function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(m){return m<=247?e.charAt(m):1424<=m&&m<=1524?"R":1536<=m&&m<=1785?t.charAt(m-1536):1774<=m&&m<=2220?"r":8192<=m&&m<=8203?"w":m==8204?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,a=/[LRr]/,l=/[Lb1n]/,u=/[1n]/;function f(m,A,B){this.level=m,this.from=A,this.to=B}return function(m,A){var B=A=="ltr"?"L":"R";if(m.length==0||A=="ltr"&&!r.test(m))return!1;for(var ee=m.length,Y=[],ie=0;ie-1&&(r[t]=i.slice(0,a).concat(i.slice(a+1)))}}}function it(e,t){var n=nr(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function Wt(e){e.prototype.on=function(t,n){Ie(this,t,n)},e.prototype.off=function(t,n){_t(this,t,n)}}function kt(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Rr(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ct(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==!1}function dr(e){kt(e),Rr(e)}function yn(e){return e.target||e.srcElement}function Ut(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),O&&e.ctrlKey&&t==1&&(t=3),t}var eo=(function(){if(s&&h<9)return!1;var e=y("div");return"draggable"in e||"dragDrop"in e})(),Hr;function ei(e){if(Hr==null){var t=y("span","\u200B");V(e,y("span",[t,document.createTextNode("x")])),e.firstChild.offsetHeight!=0&&(Hr=t.offsetWidth<=1&&t.offsetHeight>2&&!(s&&h<8))}var n=Hr?y("span","\u200B"):y("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}var xn;function pr(e){if(xn!=null)return xn;var t=V(e,document.createTextNode("A\u062EA")),n=X(t,0,1).getBoundingClientRect(),r=X(t,1,2).getBoundingClientRect();return j(e),!n||n.left==n.right?!1:xn=r.right-n.right<3}var Ht=` b`.split(/\n/).length!=3?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(` -`,t);i==-1&&(i=e.length);var a=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),l=a.indexOf("\r");l!=-1?(n.push(a.slice(0,l)),t+=l+1):(n.push(a),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},hr=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},ti=function(){var e=_("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")}(),$t=null;function to(e){if($t!=null)return $t;var t=V(e,_("span","x")),n=t.getBoundingClientRect(),r=X(t,0,1).getBoundingClientRect();return $t=Math.abs(n.left-r.left)>1}var Wr={},Kt={};function Gt(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Wr[e]=t}function Cr(e,t){Kt[e]=t}function Ur(e){if(typeof e=="string"&&Kt.hasOwnProperty(e))e=Kt[e];else if(e&&typeof e.name=="string"&&Kt.hasOwnProperty(e.name)){var t=Kt[e.name];typeof t=="string"&&(t={name:t}),e=oe(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ur("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ur("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}function $r(e,t){t=Ur(t);var n=Wr[t.name];if(!n)return $r(e,"text/plain");var r=n(e,t);if(gr.hasOwnProperty(t.name)){var i=gr[t.name];for(var a in i)i.hasOwnProperty(a)&&(r.hasOwnProperty(a)&&(r["_"+a]=r[a]),r[a]=i[a])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var gr={};function Kr(e,t){var n=gr.hasOwnProperty(e)?gr[e]:gr[e]={};ge(t,n)}function Vt(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function _n(e,t){for(var n;e.innerMode&&(n=e.innerMode(t),!(!n||n.mode==e));)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Gr(e,t,n){return e.startState?e.startState(t,n):!0}var at=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};at.prototype.eol=function(){return this.pos>=this.string.length},at.prototype.sol=function(){return this.pos==this.lineStart},at.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},at.prototype.next=function(){if(this.post},at.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},at.prototype.skipToEnd=function(){this.pos=this.string.length},at.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},at.prototype.backUp=function(e){this.pos-=e},at.prototype.column=function(){return this.lastColumnPos0?null:(a&&t!==!1&&(this.pos+=a[0].length),a)}},at.prototype.current=function(){return this.string.slice(this.start,this.pos)},at.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},at.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},at.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function Ae(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],a=i.chunkSize();if(t=e.first&&tn?ne(n,Ae(e,n).text.length):Sc(t,Ae(e,t.line).text.length)}function Sc(e,t){var n=e.ch;return n==null||n>t?ne(e.line,t):n<0?ne(e.line,0):e}function ca(e,t){for(var n=[],r=0;rthis.maxLookAhead&&(this.maxLookAhead=e),t},Jt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Jt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Jt.fromSaved=function(e,t,n){return t instanceof ri?new Jt(e,Vt(e.mode,t.state),n,t.lookAhead):new Jt(e,Vt(e.mode,t),n)},Jt.prototype.save=function(e){var t=e!==!1?Vt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ri(t,this.maxLookAhead):t};function fa(e,t,n,r){var i=[e.state.modeGen],a={};va(e,t.text,e.doc.mode,n,function(m,A){return i.push(m,A)},a,r);for(var l=n.state,u=function(m){n.baseTokens=i;var A=e.state.overlays[m],P=1,J=0;n.state=!0,va(e,t.text,A.mode,n,function(Y,ie){for(var ue=P;JY&&i.splice(P,1,Y,i[P+1],me),P+=2,J=Math.min(Y,me)}if(ie)if(A.opaque)i.splice(ue,P-ue,Y,"overlay "+ie),P=ue+2;else for(;uee.options.maxHighlightLength&&Vt(e.doc.mode,r.state),a=fa(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=a.styles,a.classes?t.styleClasses=a.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function wn(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new Jt(r,!0,t);var a=Tc(e,t,n),l=a>r.first&&Ae(r,a-1).stateAfter,u=l?Jt.fromSaved(r,l,a):new Jt(r,Gr(r.mode),a);return r.iter(a,t,function(f){ro(e,f.text,u);var m=u.line;f.stateAfter=m==t-1||m%5==0||m>=i.viewFrom&&mt.start)return a}throw new Error("Mode "+e.name+" failed to advance stream.")}var ha=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function ga(e,t,n,r){var i=e.doc,a=i.mode,l;t=Re(i,t);var u=Ae(i,t.line),f=wn(e,t.line,n),m=new at(u.text,e.options.tabSize,f),A;for(r&&(A=[]);(r||m.pose.options.maxHighlightLength?(u=!1,l&&ro(e,t,r,A.pos),A.pos=t.length,P=null):P=ma(no(n,A,r.state,J),a),J){var Y=J[0].name;Y&&(P="m-"+(P?Y+" "+P:Y))}if(!u||m!=P){for(;fl;--u){if(u<=a.first)return a.first;var f=Ae(a,u-1),m=f.stateAfter;if(m&&(!n||u+(m instanceof ri?m.lookAhead:0)<=a.modeFrontier))return u;var A=Oe(f.text,null,e.options.tabSize);(i==null||r>A)&&(i=u-1,r=A)}return i}function Lc(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ae(e,r).stateAfter;if(i&&(!(i instanceof ri)||r+i.lookAhead=t:a.to>t);(r||(r=[])).push(new ni(l,a.from,f?null:a.to))}}return r}function Dc(e,t,n){var r;if(e)for(var i=0;i=t:a.to>t);if(u||a.from==t&&l.type=="bookmark"&&(!n||a.marker.insertLeft)){var f=a.from==null||(l.inclusiveLeft?a.from<=t:a.from0&&u)for(var Ce=0;Ce0)){var A=[f,1],P=ye(m.from,u.from),J=ye(m.to,u.to);(P<0||!l.inclusiveLeft&&!P)&&A.push({from:m.from,to:u.from}),(J>0||!l.inclusiveRight&&!J)&&A.push({from:u.to,to:m.to}),i.splice.apply(i,A),f+=A.length-3}}return i}function xa(e){var t=e.markedSpans;if(t){for(var n=0;nt)&&(!r||oo(r,a.marker)<0)&&(r=a.marker)}return r}function Sa(e,t,n,r,i){var a=Ae(e,t),l=or&&a.markedSpans;if(l)for(var u=0;u=0&&P<=0||A<=0&&P>=0)&&(A<=0&&(f.marker.inclusiveRight&&i.inclusiveLeft?ye(m.to,n)>=0:ye(m.to,n)>0)||A>=0&&(f.marker.inclusiveRight&&i.inclusiveLeft?ye(m.from,r)<=0:ye(m.from,r)<0)))return!0}}}function Zt(e){for(var t;t=wa(e);)e=t.find(-1,!0).line;return e}function Fc(e){for(var t;t=ai(e);)e=t.find(1,!0).line;return e}function Nc(e){for(var t,n;t=ai(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function ao(e,t){var n=Ae(e,t),r=Zt(n);return n==r?t:k(r)}function Ta(e,t){if(t>e.lastLine())return t;var n=Ae(e,t),r;if(!mr(e,n))return t;for(;r=ai(n);)n=r.find(1,!0).line;return k(n)+1}function mr(e,t){var n=or&&t.markedSpans;if(n){for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=i,t.maxLine=r)})}var Xr=function(e,t,n){this.text=e,_a(this,t),this.height=n?n(this):1};Xr.prototype.lineNo=function(){return k(this)},Wt(Xr);function Oc(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),xa(e),_a(e,n);var i=r?r(e):1;i!=e.height&&jt(e,i)}function Pc(e){e.parent=null,xa(e)}var jc={},Rc={};function La(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Rc:jc;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Ca(e,t){var n=K("span",null,null,g?"padding-right: .1px":null),r={pre:K("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var a=i?t.rest[i-1]:t.line,l=void 0;r.pos=0,r.addToken=Bc,pr(e.display.measure)&&(l=Pe(a,e.doc.direction))&&(r.addToken=Uc(r.addToken,l)),r.map=[];var u=t!=e.display.externalMeasured&&k(a);$c(a,r,da(e,a,u)),a.styleClasses&&(a.styleClasses.bgClass&&(r.bgClass=xe(a.styleClasses.bgClass,r.bgClass||"")),a.styleClasses.textClass&&(r.textClass=xe(a.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(ei(e.display.measure))),i==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(g){var f=r.content.lastChild;(/\bcm-tab\b/.test(f.className)||f.querySelector&&f.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return it(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=xe(r.pre.className,r.textClass||"")),r}function Hc(e){var t=_("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Bc(e,t,n,r,i,a,l){if(t){var u=e.splitSpaces?Wc(t,e.trailingSpace):t,f=e.cm.state.specialChars,m=!1,A;if(!f.test(t))e.col+=t.length,A=document.createTextNode(u),e.map.push(e.pos,e.pos+t.length,A),s&&p<9&&(m=!0),e.pos+=t.length;else{A=document.createDocumentFragment();for(var P=0;;){f.lastIndex=P;var J=f.exec(t),Y=J?J.index-P:t.length-P;if(Y){var ie=document.createTextNode(u.slice(P,P+Y));s&&p<9?A.appendChild(_("span",[ie])):A.appendChild(ie),e.map.push(e.pos,e.pos+Y,ie),e.col+=Y,e.pos+=Y}if(!J)break;P+=Y+1;var ue=void 0;if(J[0]==" "){var me=e.cm.options.tabSize,ve=me-e.col%me;ue=A.appendChild(_("span",G(ve),"cm-tab")),ue.setAttribute("role","presentation"),ue.setAttribute("cm-text"," "),e.col+=ve}else J[0]=="\r"||J[0]==` -`?(ue=A.appendChild(_("span",J[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),ue.setAttribute("cm-text",J[0]),e.col+=1):(ue=e.cm.options.specialCharPlaceholder(J[0]),ue.setAttribute("cm-text",J[0]),s&&p<9?A.appendChild(_("span",[ue])):A.appendChild(ue),e.col+=1);e.map.push(e.pos,e.pos+1,ue),e.pos++}}if(e.trailingSpace=u.charCodeAt(t.length-1)==32,n||r||i||m||a||l){var _e=n||"";r&&(_e+=r),i&&(_e+=i);var be=_("span",[A],_e,a);if(l)for(var Ce in l)l.hasOwnProperty(Ce)&&Ce!="style"&&Ce!="class"&&be.setAttribute(Ce,l[Ce]);return e.content.appendChild(be)}e.content.appendChild(A)}}function Wc(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;im&&P.from<=m));J++);if(P.to>=A)return e(n,r,i,a,l,u,f);e(n,r.slice(0,P.to-m),i,a,null,u,f),a=null,r=r.slice(P.to-m),m=P.to}}}function Ea(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function $c(e,t,n){var r=e.markedSpans,i=e.text,a=0;if(!r){for(var l=1;lf||$e.collapsed&&Ie.to==f&&Ie.from==f)){if(Ie.to!=null&&Ie.to!=f&&Y>Ie.to&&(Y=Ie.to,ue=""),$e.className&&(ie+=" "+$e.className),$e.css&&(J=(J?J+";":"")+$e.css),$e.startStyle&&Ie.from==f&&(me+=" "+$e.startStyle),$e.endStyle&&Ie.to==Y&&(Ce||(Ce=[])).push($e.endStyle,Ie.to),$e.title&&((_e||(_e={})).title=$e.title),$e.attributes)for(var Ve in $e.attributes)(_e||(_e={}))[Ve]=$e.attributes[Ve];$e.collapsed&&(!ve||oo(ve.marker,$e)<0)&&(ve=Ie)}else Ie.from>f&&Y>Ie.from&&(Y=Ie.from)}if(Ce)for(var vt=0;vt=u)break;for(var Ot=Math.min(u,Y);;){if(A){var At=f+A.length;if(!ve){var ut=At>Ot?A.slice(0,Ot-f):A;t.addToken(t,ut,P?P+ie:ie,me,f+ut.length==Y?ue:"",J,_e)}if(At>=Ot){A=A.slice(Ot-f),f=Ot;break}f=At,me=""}A=i.slice(a,a=n[m++]),P=La(n[m++],t.cm.options)}}}function za(e,t,n){this.line=t,this.rest=Nc(t),this.size=this.rest?k(ce(this.rest))-n+1:1,this.node=this.text=null,this.hidden=mr(e,t)}function si(e,t,n){for(var r=[],i,a=t;a2&&a.push((f.bottom+m.top)/2-n.top)}}a.push(n.bottom-n.top)}}function Na(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;rn)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function rf(e,t){t=Zt(t);var n=k(t),r=e.display.externalMeasured=new za(e.doc,t,n);r.lineN=n;var i=r.built=Ca(e,r);return r.text=i.pre,V(e.display.lineMeasure,i.pre),r}function Oa(e,t,n,r){return tr(e,Qr(e,t),n,r)}function po(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&tt)&&(a=f-u,i=a-1,t>=f&&(l="right")),i!=null){if(r=e[m+2],u==f&&n==(r.insertLeft?"left":"right")&&(l=n),n=="left"&&i==0)for(;m&&e[m-2]==e[m-3]&&e[m-1].insertLeft;)r=e[(m-=3)+2],l="left";if(n=="right"&&i==f-u)for(;m=0&&(n=e[i]).left==n.right;i--);return n}function of(e,t,n,r){var i=ja(t.map,n,r),a=i.node,l=i.start,u=i.end,f=i.collapse,m;if(a.nodeType==3){for(var A=0;A<4;A++){for(;l&&W(t.line.text.charAt(i.coverStart+l));)--l;for(;i.coverStart+u0&&(f=r="right");var P;e.options.lineWrapping&&(P=a.getClientRects()).length>1?m=P[r=="right"?P.length-1:0]:m=a.getBoundingClientRect()}if(s&&p<9&&!l&&(!m||!m.left&&!m.right)){var J=a.parentNode.getClientRects()[0];J?m={left:J.left,right:J.left+Jr(e.display),top:J.top,bottom:J.bottom}:m=Pa}for(var Y=m.top-t.rect.top,ie=m.bottom-t.rect.top,ue=(Y+ie)/2,me=t.view.measure.heights,ve=0;ve=r.text.length?(f=r.text.length,m="before"):f<=0&&(f=0,m="after"),!u)return l(m=="before"?f-1:f,m=="before");function A(ie,ue,me){var ve=u[ue],_e=ve.level==1;return l(me?ie-1:ie,_e!=me)}var P=Pt(u,f,m),J=dt,Y=A(f,P,m=="before");return J!=null&&(Y.other=A(f,J,m!="before")),Y}function $a(e,t){var n=0;t=Re(e.doc,t),e.options.lineWrapping||(n=Jr(e.display)*t.ch);var r=Ae(e.doc,t.line),i=ar(r)+ui(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function go(e,t,n,r,i){var a=ne(e,t,n);return a.xRel=i,r&&(a.outside=r),a}function mo(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,n<0)return go(r.first,0,null,-1,-1);var i=O(r,n),a=r.first+r.size-1;if(i>a)return go(r.first+r.size-1,Ae(r,a).text.length,null,1,1);t<0&&(t=0);for(var l=Ae(r,i);;){var u=lf(e,l,i,t,n),f=Ic(l,u.ch+(u.xRel>0||u.outside>0?1:0));if(!f)return u;var m=f.find(1);if(m.line==i)return m;l=Ae(r,i=m.line)}}function Ka(e,t,n,r){r-=ho(t);var i=t.text.length,a=De(function(l){return tr(e,n,l-1).bottom<=r},i,0);return i=De(function(l){return tr(e,n,l).top>r},a,i),{begin:a,end:i}}function Ga(e,t,n,r){n||(n=Qr(e,t));var i=ci(e,t,tr(e,n,r),"line").top;return Ka(e,t,n,i)}function vo(e,t,n,r){return e.bottom<=n?!1:e.top>n?!0:(r?e.left:e.right)>t}function lf(e,t,n,r,i){i-=ar(t);var a=Qr(e,t),l=ho(t),u=0,f=t.text.length,m=!0,A=Pe(t,e.doc.direction);if(A){var P=(e.options.lineWrapping?uf:sf)(e,t,n,a,A,r,i);m=P.level!=1,u=m?P.from:P.to-1,f=m?P.to:P.from-1}var J=null,Y=null,ie=De(function(Ne){var Ie=tr(e,a,Ne);return Ie.top+=l,Ie.bottom+=l,vo(Ie,r,i,!1)?(Ie.top<=i&&Ie.left<=r&&(J=Ne,Y=Ie),!0):!1},u,f),ue,me,ve=!1;if(Y){var _e=r-Y.left=Ce.bottom?1:0}return ie=se(t.text,ie,1),go(n,ie,me,ve,r-ue)}function sf(e,t,n,r,i,a,l){var u=De(function(P){var J=i[P],Y=J.level!=1;return vo(Xt(e,ne(n,Y?J.to:J.from,Y?"before":"after"),"line",t,r),a,l,!0)},0,i.length-1),f=i[u];if(u>0){var m=f.level!=1,A=Xt(e,ne(n,m?f.from:f.to,m?"after":"before"),"line",t,r);vo(A,a,l,!0)&&A.top>l&&(f=i[u-1])}return f}function uf(e,t,n,r,i,a,l){var u=Ka(e,t,r,l),f=u.begin,m=u.end;/\s/.test(t.text.charAt(m-1))&&m--;for(var A=null,P=null,J=0;J=m||Y.to<=f)){var ie=Y.level!=1,ue=tr(e,r,ie?Math.min(m,Y.to)-1:Math.max(f,Y.from)).right,me=ueme)&&(A=Y,P=me)}}return A||(A=i[i.length-1]),A.fromm&&(A={from:A.from,to:m,level:A.level}),A}var zr;function Vr(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(zr==null){zr=_("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)zr.appendChild(document.createTextNode("x")),zr.appendChild(_("br"));zr.appendChild(document.createTextNode("x"))}V(e.measure,zr);var n=zr.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),j(e.measure),n||1}function Jr(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=_("span","xxxxxxxxxx"),n=_("pre",[t],"CodeMirror-line-like");V(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function bo(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,a=t.gutters.firstChild,l=0;a;a=a.nextSibling,++l){var u=e.display.gutterSpecs[l].className;n[u]=a.offsetLeft+a.clientLeft+i,r[u]=a.clientWidth}return{fixedPos:yo(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function yo(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Za(e){var t=Vr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/Jr(e.display)-3);return function(i){if(mr(e.doc,i))return 0;var a=0;if(i.widgets)for(var l=0;l0&&(m=Ae(e.doc,f.line).text).length==f.ch){var A=Oe(m,m.length,e.options.tabSize)-m.length;f=ne(f.line,Math.max(0,Math.round((a-Fa(e.display).left)/Jr(e.display))-A))}return f}function Ar(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)or&&ao(e.doc,t)i.viewFrom?br(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)br(e);else if(t<=i.viewFrom){var a=di(e,n,n+r,1);a?(i.view=i.view.slice(a.index),i.viewFrom=a.lineN,i.viewTo+=r):br(e)}else if(n>=i.viewTo){var l=di(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):br(e)}else{var u=di(e,t,t,-1),f=di(e,n,n+r,1);u&&f?(i.view=i.view.slice(0,u.index).concat(si(e,u.lineN,f.lineN)).concat(i.view.slice(f.index)),i.viewTo+=r):br(e)}var m=i.externalMeasured;m&&(n=i.lineN&&t=r.viewTo)){var a=r.view[Ar(e,t)];if(a.node!=null){var l=a.changes||(a.changes=[]);Se(l,n)==-1&&l.push(n)}}}function br(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function di(e,t,n,r){var i=Ar(e,t),a,l=e.display.view;if(!or||n==e.doc.first+e.doc.size)return{index:i,lineN:n};for(var u=e.display.viewFrom,f=0;f0){if(i==l.length-1)return null;a=u+l[i].size-t,i++}else a=u-t;t+=a,n+=a}for(;ao(e.doc,n)!=n;){if(i==(r<0?0:l.length-1))return null;n+=r*l[i-(r<0?1:0)].size,i+=r}return{index:i,lineN:n}}function cf(e,t,n){var r=e.display,i=r.view;i.length==0||t>=r.viewTo||n<=r.viewFrom?(r.view=si(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=si(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Ar(e,n)))),r.viewTo=n}function Xa(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||f.to().line0?l:e.defaultCharWidth())+"px"}if(r.other){var u=n.appendChild(_("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));u.style.display="",u.style.left=r.other.left+"px",u.style.top=r.other.top+"px",u.style.height=(r.other.bottom-r.other.top)*.85+"px"}}function pi(e,t){return e.top-t.top||e.left-t.left}function ff(e,t,n){var r=e.display,i=e.doc,a=document.createDocumentFragment(),l=Fa(e.display),u=l.left,f=Math.max(r.sizerWidth,Er(e)-r.sizer.offsetLeft)-l.right,m=i.direction=="ltr";function A(be,Ce,Ne,Ie){Ce<0&&(Ce=0),Ce=Math.round(Ce),Ie=Math.round(Ie),a.appendChild(_("div",null,"CodeMirror-selected","position: absolute; left: "+be+`px; +`,t);i==-1&&(i=e.length);var a=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),l=a.indexOf("\r");l!=-1?(n.push(a.slice(0,l)),t+=l+1):(n.push(a),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},hr=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch{return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch{}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},ti=(function(){var e=y("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),typeof e.oncopy=="function")})(),$t=null;function to(e){if($t!=null)return $t;var t=V(e,y("span","x")),n=t.getBoundingClientRect(),r=X(t,0,1).getBoundingClientRect();return $t=Math.abs(n.left-r.left)>1}var Wr={},Kt={};function Gt(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Wr[e]=t}function Cr(e,t){Kt[e]=t}function Ur(e){if(typeof e=="string"&&Kt.hasOwnProperty(e))e=Kt[e];else if(e&&typeof e.name=="string"&&Kt.hasOwnProperty(e.name)){var t=Kt[e.name];typeof t=="string"&&(t={name:t}),e=oe(t,e),e.name=t.name}else{if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ur("application/xml");if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ur("application/json")}return typeof e=="string"?{name:e}:e||{name:"null"}}function $r(e,t){t=Ur(t);var n=Wr[t.name];if(!n)return $r(e,"text/plain");var r=n(e,t);if(gr.hasOwnProperty(t.name)){var i=gr[t.name];for(var a in i)i.hasOwnProperty(a)&&(r.hasOwnProperty(a)&&(r["_"+a]=r[a]),r[a]=i[a])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)r[l]=t.modeProps[l];return r}var gr={};function Kr(e,t){var n=gr.hasOwnProperty(e)?gr[e]:gr[e]={};ge(t,n)}function Vt(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function _n(e,t){for(var n;e.innerMode&&(n=e.innerMode(t),!(!n||n.mode==e));)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Gr(e,t,n){return e.startState?e.startState(t,n):!0}var at=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};at.prototype.eol=function(){return this.pos>=this.string.length},at.prototype.sol=function(){return this.pos==this.lineStart},at.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},at.prototype.next=function(){if(this.post},at.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},at.prototype.skipToEnd=function(){this.pos=this.string.length},at.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},at.prototype.backUp=function(e){this.pos-=e},at.prototype.column=function(){return this.lastColumnPos0?null:(a&&t!==!1&&(this.pos+=a[0].length),a)}},at.prototype.current=function(){return this.string.slice(this.start,this.pos)},at.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},at.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},at.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};function Ae(e,t){if(t-=e.first,t<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],a=i.chunkSize();if(t=e.first&&tn?ne(n,Ae(e,n).text.length):Sc(t,Ae(e,t.line).text.length)}function Sc(e,t){var n=e.ch;return n==null||n>t?ne(e.line,t):n<0?ne(e.line,0):e}function ca(e,t){for(var n=[],r=0;rthis.maxLookAhead&&(this.maxLookAhead=e),t},Jt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},Jt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Jt.fromSaved=function(e,t,n){return t instanceof ri?new Jt(e,Vt(e.mode,t.state),n,t.lookAhead):new Jt(e,Vt(e.mode,t),n)},Jt.prototype.save=function(e){var t=e!==!1?Vt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ri(t,this.maxLookAhead):t};function fa(e,t,n,r){var i=[e.state.modeGen],a={};va(e,t.text,e.doc.mode,n,function(m,A){return i.push(m,A)},a,r);for(var l=n.state,u=function(m){n.baseTokens=i;var A=e.state.overlays[m],B=1,ee=0;n.state=!0,va(e,t.text,A.mode,n,function(Y,ie){for(var ue=B;eeY&&i.splice(B,1,Y,i[B+1],me),B+=2,ee=Math.min(Y,me)}if(ie)if(A.opaque)i.splice(ue,B-ue,Y,"overlay "+ie),B=ue+2;else for(;uee.options.maxHighlightLength&&Vt(e.doc.mode,r.state),a=fa(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=a.styles,a.classes?t.styleClasses=a.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function wn(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new Jt(r,!0,t);var a=Tc(e,t,n),l=a>r.first&&Ae(r,a-1).stateAfter,u=l?Jt.fromSaved(r,l,a):new Jt(r,Gr(r.mode),a);return r.iter(a,t,function(f){ro(e,f.text,u);var m=u.line;f.stateAfter=m==t-1||m%5==0||m>=i.viewFrom&&mt.start)return a}throw new Error("Mode "+e.name+" failed to advance stream.")}var ha=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function ga(e,t,n,r){var i=e.doc,a=i.mode,l;t=je(i,t);var u=Ae(i,t.line),f=wn(e,t.line,n),m=new at(u.text,e.options.tabSize,f),A;for(r&&(A=[]);(r||m.pose.options.maxHighlightLength?(u=!1,l&&ro(e,t,r,A.pos),A.pos=t.length,B=null):B=ma(no(n,A,r.state,ee),a),ee){var Y=ee[0].name;Y&&(B="m-"+(B?Y+" "+B:Y))}if(!u||m!=B){for(;fl;--u){if(u<=a.first)return a.first;var f=Ae(a,u-1),m=f.stateAfter;if(m&&(!n||u+(m instanceof ri?m.lookAhead:0)<=a.modeFrontier))return u;var A=Oe(f.text,null,e.options.tabSize);(i==null||r>A)&&(i=u-1,r=A)}return i}function Lc(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ae(e,r).stateAfter;if(i&&(!(i instanceof ri)||r+i.lookAhead=t:a.to>t);(r||(r=[])).push(new ni(l,a.from,f?null:a.to))}}return r}function Dc(e,t,n){var r;if(e)for(var i=0;i=t:a.to>t);if(u||a.from==t&&l.type=="bookmark"&&(!n||a.marker.insertLeft)){var f=a.from==null||(l.inclusiveLeft?a.from<=t:a.from0&&u)for(var Ce=0;Ce0)){var A=[f,1],B=ye(m.from,u.from),ee=ye(m.to,u.to);(B<0||!l.inclusiveLeft&&!B)&&A.push({from:m.from,to:u.from}),(ee>0||!l.inclusiveRight&&!ee)&&A.push({from:u.to,to:m.to}),i.splice.apply(i,A),f+=A.length-3}}return i}function xa(e){var t=e.markedSpans;if(t){for(var n=0;nt)&&(!r||oo(r,a.marker)<0)&&(r=a.marker)}return r}function Sa(e,t,n,r,i){var a=Ae(e,t),l=or&&a.markedSpans;if(l)for(var u=0;u=0&&B<=0||A<=0&&B>=0)&&(A<=0&&(f.marker.inclusiveRight&&i.inclusiveLeft?ye(m.to,n)>=0:ye(m.to,n)>0)||A>=0&&(f.marker.inclusiveRight&&i.inclusiveLeft?ye(m.from,r)<=0:ye(m.from,r)<0)))return!0}}}function Zt(e){for(var t;t=wa(e);)e=t.find(-1,!0).line;return e}function Ic(e){for(var t;t=ai(e);)e=t.find(1,!0).line;return e}function Nc(e){for(var t,n;t=ai(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}function ao(e,t){var n=Ae(e,t),r=Zt(n);return n==r?t:x(r)}function Ta(e,t){if(t>e.lastLine())return t;var n=Ae(e,t),r;if(!mr(e,n))return t;for(;r=ai(n);)n=r.find(1,!0).line;return x(n)+1}function mr(e,t){var n=or&&t.markedSpans;if(n){for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=i,t.maxLine=r)})}var Xr=function(e,t,n){this.text=e,_a(this,t),this.height=n?n(this):1};Xr.prototype.lineNo=function(){return x(this)},Wt(Xr);function Oc(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),e.order!=null&&(e.order=null),xa(e),_a(e,n);var i=r?r(e):1;i!=e.height&&Bt(e,i)}function Pc(e){e.parent=null,xa(e)}var Bc={},jc={};function La(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?jc:Bc;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Ca(e,t){var n=K("span",null,null,g?"padding-right: .1px":null),r={pre:K("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var a=i?t.rest[i-1]:t.line,l=void 0;r.pos=0,r.addToken=Hc,pr(e.display.measure)&&(l=Pe(a,e.doc.direction))&&(r.addToken=Uc(r.addToken,l)),r.map=[];var u=t!=e.display.externalMeasured&&x(a);$c(a,r,da(e,a,u)),a.styleClasses&&(a.styleClasses.bgClass&&(r.bgClass=xe(a.styleClasses.bgClass,r.bgClass||"")),a.styleClasses.textClass&&(r.textClass=xe(a.styleClasses.textClass,r.textClass||""))),r.map.length==0&&r.map.push(0,0,r.content.appendChild(ei(e.display.measure))),i==0?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(g){var f=r.content.lastChild;(/\bcm-tab\b/.test(f.className)||f.querySelector&&f.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return it(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=xe(r.pre.className,r.textClass||"")),r}function Rc(e){var t=y("span","\u2022","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Hc(e,t,n,r,i,a,l){if(t){var u=e.splitSpaces?Wc(t,e.trailingSpace):t,f=e.cm.state.specialChars,m=!1,A;if(!f.test(t))e.col+=t.length,A=document.createTextNode(u),e.map.push(e.pos,e.pos+t.length,A),s&&h<9&&(m=!0),e.pos+=t.length;else{A=document.createDocumentFragment();for(var B=0;;){f.lastIndex=B;var ee=f.exec(t),Y=ee?ee.index-B:t.length-B;if(Y){var ie=document.createTextNode(u.slice(B,B+Y));s&&h<9?A.appendChild(y("span",[ie])):A.appendChild(ie),e.map.push(e.pos,e.pos+Y,ie),e.col+=Y,e.pos+=Y}if(!ee)break;B+=Y+1;var ue=void 0;if(ee[0]==" "){var me=e.cm.options.tabSize,ve=me-e.col%me;ue=A.appendChild(y("span",Z(ve),"cm-tab")),ue.setAttribute("role","presentation"),ue.setAttribute("cm-text"," "),e.col+=ve}else ee[0]=="\r"||ee[0]==` +`?(ue=A.appendChild(y("span",ee[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),ue.setAttribute("cm-text",ee[0]),e.col+=1):(ue=e.cm.options.specialCharPlaceholder(ee[0]),ue.setAttribute("cm-text",ee[0]),s&&h<9?A.appendChild(y("span",[ue])):A.appendChild(ue),e.col+=1);e.map.push(e.pos,e.pos+1,ue),e.pos++}}if(e.trailingSpace=u.charCodeAt(t.length-1)==32,n||r||i||m||a||l){var _e=n||"";r&&(_e+=r),i&&(_e+=i);var be=y("span",[A],_e,a);if(l)for(var Ce in l)l.hasOwnProperty(Ce)&&Ce!="style"&&Ce!="class"&&be.setAttribute(Ce,l[Ce]);return e.content.appendChild(be)}e.content.appendChild(A)}}function Wc(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;im&&B.from<=m));ee++);if(B.to>=A)return e(n,r,i,a,l,u,f);e(n,r.slice(0,B.to-m),i,a,null,u,f),a=null,r=r.slice(B.to-m),m=B.to}}}function Ea(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function $c(e,t,n){var r=e.markedSpans,i=e.text,a=0;if(!r){for(var l=1;lf||$e.collapsed&&Fe.to==f&&Fe.from==f)){if(Fe.to!=null&&Fe.to!=f&&Y>Fe.to&&(Y=Fe.to,ue=""),$e.className&&(ie+=" "+$e.className),$e.css&&(ee=(ee?ee+";":"")+$e.css),$e.startStyle&&Fe.from==f&&(me+=" "+$e.startStyle),$e.endStyle&&Fe.to==Y&&(Ce||(Ce=[])).push($e.endStyle,Fe.to),$e.title&&((_e||(_e={})).title=$e.title),$e.attributes)for(var Ve in $e.attributes)(_e||(_e={}))[Ve]=$e.attributes[Ve];$e.collapsed&&(!ve||oo(ve.marker,$e)<0)&&(ve=Fe)}else Fe.from>f&&Y>Fe.from&&(Y=Fe.from)}if(Ce)for(var vt=0;vt=u)break;for(var Ot=Math.min(u,Y);;){if(A){var At=f+A.length;if(!ve){var ut=At>Ot?A.slice(0,Ot-f):A;t.addToken(t,ut,B?B+ie:ie,me,f+ut.length==Y?ue:"",ee,_e)}if(At>=Ot){A=A.slice(Ot-f),f=Ot;break}f=At,me=""}A=i.slice(a,a=n[m++]),B=La(n[m++],t.cm.options)}}}function za(e,t,n){this.line=t,this.rest=Nc(t),this.size=this.rest?x(ce(this.rest))-n+1:1,this.node=this.text=null,this.hidden=mr(e,t)}function si(e,t,n){for(var r=[],i,a=t;a2&&a.push((f.bottom+m.top)/2-n.top)}}a.push(n.bottom-n.top)}}function Na(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var r=0;rn)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function rf(e,t){t=Zt(t);var n=x(t),r=e.display.externalMeasured=new za(e.doc,t,n);r.lineN=n;var i=r.built=Ca(e,r);return r.text=i.pre,V(e.display.lineMeasure,i.pre),r}function Oa(e,t,n,r){return tr(e,Qr(e,t),n,r)}function po(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&tt)&&(a=f-u,i=a-1,t>=f&&(l="right")),i!=null){if(r=e[m+2],u==f&&n==(r.insertLeft?"left":"right")&&(l=n),n=="left"&&i==0)for(;m&&e[m-2]==e[m-3]&&e[m-1].insertLeft;)r=e[(m-=3)+2],l="left";if(n=="right"&&i==f-u)for(;m=0&&(n=e[i]).left==n.right;i--);return n}function of(e,t,n,r){var i=Ba(t.map,n,r),a=i.node,l=i.start,u=i.end,f=i.collapse,m;if(a.nodeType==3){for(var A=0;A<4;A++){for(;l&&H(t.line.text.charAt(i.coverStart+l));)--l;for(;i.coverStart+u0&&(f=r="right");var B;e.options.lineWrapping&&(B=a.getClientRects()).length>1?m=B[r=="right"?B.length-1:0]:m=a.getBoundingClientRect()}if(s&&h<9&&!l&&(!m||!m.left&&!m.right)){var ee=a.parentNode.getClientRects()[0];ee?m={left:ee.left,right:ee.left+Jr(e.display),top:ee.top,bottom:ee.bottom}:m=Pa}for(var Y=m.top-t.rect.top,ie=m.bottom-t.rect.top,ue=(Y+ie)/2,me=t.view.measure.heights,ve=0;ve=r.text.length?(f=r.text.length,m="before"):f<=0&&(f=0,m="after"),!u)return l(m=="before"?f-1:f,m=="before");function A(ie,ue,me){var ve=u[ue],_e=ve.level==1;return l(me?ie-1:ie,_e!=me)}var B=Pt(u,f,m),ee=dt,Y=A(f,B,m=="before");return ee!=null&&(Y.other=A(f,ee,m!="before")),Y}function $a(e,t){var n=0;t=je(e.doc,t),e.options.lineWrapping||(n=Jr(e.display)*t.ch);var r=Ae(e.doc,t.line),i=ar(r)+ui(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function go(e,t,n,r,i){var a=ne(e,t,n);return a.xRel=i,r&&(a.outside=r),a}function mo(e,t,n){var r=e.doc;if(n+=e.display.viewOffset,n<0)return go(r.first,0,null,-1,-1);var i=P(r,n),a=r.first+r.size-1;if(i>a)return go(r.first+r.size-1,Ae(r,a).text.length,null,1,1);t<0&&(t=0);for(var l=Ae(r,i);;){var u=lf(e,l,i,t,n),f=Fc(l,u.ch+(u.xRel>0||u.outside>0?1:0));if(!f)return u;var m=f.find(1);if(m.line==i)return m;l=Ae(r,i=m.line)}}function Ka(e,t,n,r){r-=ho(t);var i=t.text.length,a=De(function(l){return tr(e,n,l-1).bottom<=r},i,0);return i=De(function(l){return tr(e,n,l).top>r},a,i),{begin:a,end:i}}function Ga(e,t,n,r){n||(n=Qr(e,t));var i=ci(e,t,tr(e,n,r),"line").top;return Ka(e,t,n,i)}function vo(e,t,n,r){return e.bottom<=n?!1:e.top>n?!0:(r?e.left:e.right)>t}function lf(e,t,n,r,i){i-=ar(t);var a=Qr(e,t),l=ho(t),u=0,f=t.text.length,m=!0,A=Pe(t,e.doc.direction);if(A){var B=(e.options.lineWrapping?uf:sf)(e,t,n,a,A,r,i);m=B.level!=1,u=m?B.from:B.to-1,f=m?B.to:B.from-1}var ee=null,Y=null,ie=De(function(Ne){var Fe=tr(e,a,Ne);return Fe.top+=l,Fe.bottom+=l,vo(Fe,r,i,!1)?(Fe.top<=i&&Fe.left<=r&&(ee=Ne,Y=Fe),!0):!1},u,f),ue,me,ve=!1;if(Y){var _e=r-Y.left=Ce.bottom?1:0}return ie=se(t.text,ie,1),go(n,ie,me,ve,r-ue)}function sf(e,t,n,r,i,a,l){var u=De(function(B){var ee=i[B],Y=ee.level!=1;return vo(Xt(e,ne(n,Y?ee.to:ee.from,Y?"before":"after"),"line",t,r),a,l,!0)},0,i.length-1),f=i[u];if(u>0){var m=f.level!=1,A=Xt(e,ne(n,m?f.from:f.to,m?"after":"before"),"line",t,r);vo(A,a,l,!0)&&A.top>l&&(f=i[u-1])}return f}function uf(e,t,n,r,i,a,l){var u=Ka(e,t,r,l),f=u.begin,m=u.end;/\s/.test(t.text.charAt(m-1))&&m--;for(var A=null,B=null,ee=0;ee=m||Y.to<=f)){var ie=Y.level!=1,ue=tr(e,r,ie?Math.min(m,Y.to)-1:Math.max(f,Y.from)).right,me=ueme)&&(A=Y,B=me)}}return A||(A=i[i.length-1]),A.fromm&&(A={from:A.from,to:m,level:A.level}),A}var zr;function Vr(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(zr==null){zr=y("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)zr.appendChild(document.createTextNode("x")),zr.appendChild(y("br"));zr.appendChild(document.createTextNode("x"))}V(e.measure,zr);var n=zr.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),j(e.measure),n||1}function Jr(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=y("span","xxxxxxxxxx"),n=y("pre",[t],"CodeMirror-line-like");V(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function bo(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,a=t.gutters.firstChild,l=0;a;a=a.nextSibling,++l){var u=e.display.gutterSpecs[l].className;n[u]=a.offsetLeft+a.clientLeft+i,r[u]=a.clientWidth}return{fixedPos:yo(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function yo(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function Za(e){var t=Vr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/Jr(e.display)-3);return function(i){if(mr(e.doc,i))return 0;var a=0;if(i.widgets)for(var l=0;l0&&(m=Ae(e.doc,f.line).text).length==f.ch){var A=Oe(m,m.length,e.options.tabSize)-m.length;f=ne(f.line,Math.max(0,Math.round((a-Ia(e.display).left)/Jr(e.display))-A))}return f}function Ar(e,t){if(t>=e.display.viewTo||(t-=e.display.viewFrom,t<0))return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)or&&ao(e.doc,t)i.viewFrom?br(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)br(e);else if(t<=i.viewFrom){var a=di(e,n,n+r,1);a?(i.view=i.view.slice(a.index),i.viewFrom=a.lineN,i.viewTo+=r):br(e)}else if(n>=i.viewTo){var l=di(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):br(e)}else{var u=di(e,t,t,-1),f=di(e,n,n+r,1);u&&f?(i.view=i.view.slice(0,u.index).concat(si(e,u.lineN,f.lineN)).concat(i.view.slice(f.index)),i.viewTo+=r):br(e)}var m=i.externalMeasured;m&&(n=i.lineN&&t=r.viewTo)){var a=r.view[Ar(e,t)];if(a.node!=null){var l=a.changes||(a.changes=[]);Se(l,n)==-1&&l.push(n)}}}function br(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function di(e,t,n,r){var i=Ar(e,t),a,l=e.display.view;if(!or||n==e.doc.first+e.doc.size)return{index:i,lineN:n};for(var u=e.display.viewFrom,f=0;f0){if(i==l.length-1)return null;a=u+l[i].size-t,i++}else a=u-t;t+=a,n+=a}for(;ao(e.doc,n)!=n;){if(i==(r<0?0:l.length-1))return null;n+=r*l[i-(r<0?1:0)].size,i+=r}return{index:i,lineN:n}}function cf(e,t,n){var r=e.display,i=r.view;i.length==0||t>=r.viewTo||n<=r.viewFrom?(r.view=si(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=si(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Ar(e,n)))),r.viewTo=n}function Xa(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||f.to().line0?l:e.defaultCharWidth())+"px"}if(r.other){var u=n.appendChild(y("div","\xA0","CodeMirror-cursor CodeMirror-secondarycursor"));u.style.display="",u.style.left=r.other.left+"px",u.style.top=r.other.top+"px",u.style.height=(r.other.bottom-r.other.top)*.85+"px"}}function pi(e,t){return e.top-t.top||e.left-t.left}function ff(e,t,n){var r=e.display,i=e.doc,a=document.createDocumentFragment(),l=Ia(e.display),u=l.left,f=Math.max(r.sizerWidth,Er(e)-r.sizer.offsetLeft)-l.right,m=i.direction=="ltr";function A(be,Ce,Ne,Fe){Ce<0&&(Ce=0),Ce=Math.round(Ce),Fe=Math.round(Fe),a.appendChild(y("div",null,"CodeMirror-selected","position: absolute; left: "+be+`px; top: `+Ce+"px; width: "+(Ne??f-be)+`px; - height: `+(Ie-Ce)+"px"))}function P(be,Ce,Ne){var Ie=Ae(i,be),$e=Ie.text.length,Ve,vt;function rt(ut,Dt){return fi(e,ne(be,ut),"div",Ie,Dt)}function Ot(ut,Dt,yt){var ft=Ga(e,Ie,null,ut),ct=Dt=="ltr"==(yt=="after")?"left":"right",lt=yt=="after"?ft.begin:ft.end-(/\s/.test(Ie.text.charAt(ft.end-1))?2:1);return rt(lt,ct)[ct]}var At=Pe(Ie,i.direction);return nt(At,Ce||0,Ne??$e,function(ut,Dt,yt,ft){var ct=yt=="ltr",lt=rt(ut,ct?"left":"right"),qt=rt(Dt-1,ct?"right":"left"),pn=Ce==null&&ut==0,Sr=Ne==null&&Dt==$e,St=ft==0,rr=!At||ft==At.length-1;if(qt.top-lt.top<=3){var bt=(m?pn:Sr)&&St,Zo=(m?Sr:pn)&&rr,cr=bt?u:(ct?lt:qt).left,Nr=Zo?f:(ct?qt:lt).right;A(cr,lt.top,Nr-cr,lt.bottom)}else{var Or,Lt,hn,Xo;ct?(Or=m&&pn&&St?u:lt.left,Lt=m?f:Ot(ut,yt,"before"),hn=m?u:Ot(Dt,yt,"after"),Xo=m&&Sr&&rr?f:qt.right):(Or=m?Ot(ut,yt,"before"):u,Lt=!m&&pn&&St?f:lt.right,hn=!m&&Sr&&rr?u:qt.left,Xo=m?Ot(Dt,yt,"after"):f),A(Or,lt.top,Lt-Or,lt.bottom),lt.bottom0?t.blinker=setInterval(function(){e.hasFocus()||en(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Qa(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||So(e))}function wo(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&en(e))},100)}function So(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(it(e,"focus",e,t),e.state.focused=!0,le(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),g&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),ko(e))}function en(e,t){e.state.delayingBlurEvent||(e.state.focused&&(it(e,"blur",e,t),e.state.focused=!1,Q(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function hi(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,a=0,l=0;l.005||Y<-.005)&&(ie.display.sizerWidth){var ue=Math.ceil(A/Jr(e.display));ue>e.display.maxLineLength&&(e.display.maxLineLength=ue,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(a)>2&&(t.scroller.scrollTop+=a)}function Va(e){if(e.widgets)for(var t=0;t=l&&(a=O(t,ar(Ae(t,f))-e.wrapper.clientHeight),l=f)}return{from:a,to:Math.max(l,a+1)}}function df(e,t){if(!ot(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null,a=n.wrapper.ownerDocument;if(t.top+r.top<0?i=!0:t.bottom+r.top>(a.defaultView.innerHeight||a.documentElement.clientHeight)&&(i=!1),i!=null&&!z){var l=_("div","\u200B",null,`position: absolute; + height: `+(Fe-Ce)+"px"))}function B(be,Ce,Ne){var Fe=Ae(i,be),$e=Fe.text.length,Ve,vt;function rt(ut,Dt){return fi(e,ne(be,ut),"div",Fe,Dt)}function Ot(ut,Dt,yt){var ft=Ga(e,Fe,null,ut),ct=Dt=="ltr"==(yt=="after")?"left":"right",lt=yt=="after"?ft.begin:ft.end-(/\s/.test(Fe.text.charAt(ft.end-1))?2:1);return rt(lt,ct)[ct]}var At=Pe(Fe,i.direction);return nt(At,Ce||0,Ne??$e,function(ut,Dt,yt,ft){var ct=yt=="ltr",lt=rt(ut,ct?"left":"right"),qt=rt(Dt-1,ct?"right":"left"),pn=Ce==null&&ut==0,Sr=Ne==null&&Dt==$e,St=ft==0,rr=!At||ft==At.length-1;if(qt.top-lt.top<=3){var bt=(m?pn:Sr)&&St,Zo=(m?Sr:pn)&&rr,cr=bt?u:(ct?lt:qt).left,Nr=Zo?f:(ct?qt:lt).right;A(cr,lt.top,Nr-cr,lt.bottom)}else{var Or,Lt,hn,Xo;ct?(Or=m&&pn&&St?u:lt.left,Lt=m?f:Ot(ut,yt,"before"),hn=m?u:Ot(Dt,yt,"after"),Xo=m&&Sr&&rr?f:qt.right):(Or=m?Ot(ut,yt,"before"):u,Lt=!m&&pn&&St?f:lt.right,hn=!m&&Sr&&rr?u:qt.left,Xo=m?Ot(Dt,yt,"after"):f),A(Or,lt.top,Lt-Or,lt.bottom),lt.bottom0?t.blinker=setInterval(function(){e.hasFocus()||en(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Qa(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||So(e))}function wo(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&en(e))},100)}function So(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),e.options.readOnly!="nocursor"&&(e.state.focused||(it(e,"focus",e,t),e.state.focused=!0,le(e.display.wrapper,"CodeMirror-focused"),!e.curOp&&e.display.selForContextMenu!=e.doc.sel&&(e.display.input.reset(),g&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),ko(e))}function en(e,t){e.state.delayingBlurEvent||(e.state.focused&&(it(e,"blur",e,t),e.state.focused=!1,Q(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function hi(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,a=0,l=0;l.005||Y<-.005)&&(ie.display.sizerWidth){var ue=Math.ceil(A/Jr(e.display));ue>e.display.maxLineLength&&(e.display.maxLineLength=ue,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(a)>2&&(t.scroller.scrollTop+=a)}function Va(e){if(e.widgets)for(var t=0;t=l&&(a=P(t,ar(Ae(t,f))-e.wrapper.clientHeight),l=f)}return{from:a,to:Math.max(l,a+1)}}function df(e,t){if(!ot(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null,a=n.wrapper.ownerDocument;if(t.top+r.top<0?i=!0:t.bottom+r.top>(a.defaultView.innerHeight||a.documentElement.clientHeight)&&(i=!1),i!=null&&!M){var l=y("div","\u200B",null,`position: absolute; top: `+(t.top-n.viewOffset-ui(e.display))+`px; height: `+(t.bottom-t.top+er(e)+n.barHeight)+`px; - left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(i),e.display.lineSpace.removeChild(l)}}}function pf(e,t,n,r){r==null&&(r=0);var i;!e.options.lineWrapping&&t==n&&(n=t.sticky=="before"?ne(t.line,t.ch+1,"before"):t,t=t.ch?ne(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var a=0;a<5;a++){var l=!1,u=Xt(e,t),f=!n||n==t?u:Xt(e,n);i={left:Math.min(u.left,f.left),top:Math.min(u.top,f.top)-r,right:Math.max(u.left,f.left),bottom:Math.max(u.bottom,f.bottom)+r};var m=To(e,i),A=e.doc.scrollTop,P=e.doc.scrollLeft;if(m.scrollTop!=null&&(An(e,m.scrollTop),Math.abs(e.doc.scrollTop-A)>1&&(l=!0)),m.scrollLeft!=null&&(Dr(e,m.scrollLeft),Math.abs(e.doc.scrollLeft-P)>1&&(l=!0)),!l)break}return i}function hf(e,t){var n=To(e,t);n.scrollTop!=null&&An(e,n.scrollTop),n.scrollLeft!=null&&Dr(e,n.scrollLeft)}function To(e,t){var n=e.display,r=Vr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:n.scroller.scrollTop,a=fo(e),l={};t.bottom-t.top>a&&(t.bottom=t.top+a);var u=e.doc.height+co(n),f=t.topu-r;if(t.topi+a){var A=Math.min(t.top,(m?u:t.bottom)-a);A!=i&&(l.scrollTop=A)}var P=e.options.fixedGutter?0:n.gutters.offsetWidth,J=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:n.scroller.scrollLeft-P,Y=Er(e)-n.gutters.offsetWidth,ie=t.right-t.left>Y;return ie&&(t.right=t.left+Y),t.left<10?l.scrollLeft=0:t.leftY+J-3&&(l.scrollLeft=t.right+(ie?0:10)-Y),l}function Lo(e,t){t!=null&&(mi(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}function tn(e){mi(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Mn(e,t,n){(t!=null||n!=null)&&mi(e),t!=null&&(e.curOp.scrollLeft=t),n!=null&&(e.curOp.scrollTop=n)}function gf(e,t){mi(e),e.curOp.scrollToPos=t}function mi(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=$a(e,t.from),r=$a(e,t.to);Ja(e,n,r,t.margin)}}function Ja(e,t,n,r){var i=To(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Mn(e,i.scrollLeft,i.scrollTop)}function An(e,t){Math.abs(e.doc.scrollTop-t)<2||(v||Eo(e,{top:t}),el(e,t,!0),v&&Eo(e),In(e,100))}function el(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Dr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,ol(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Dn(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+co(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+er(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qr=function(e,t,n){this.cm=n;var r=this.vert=_("div",[_("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=_("div",[_("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),Fe(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Fe(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,s&&p<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var a=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+a)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},qr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qr.prototype.zeroWidthHack=function(){var e=H&&!E?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new qe,this.disableVert=new qe},qr.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="";function r(){var i=e.getBoundingClientRect(),a=n=="vert"?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);a!=e?e.style.visibility="hidden":t.set(1e3,r)}t.set(1e3,r)},qr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var qn=function(){};qn.prototype.update=function(){return{bottom:0,right:0}},qn.prototype.setScrollLeft=function(){},qn.prototype.setScrollTop=function(){},qn.prototype.clear=function(){};function rn(e,t){t||(t=Dn(e));var n=e.display.barWidth,r=e.display.barHeight;tl(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&hi(e),tl(e,Dn(e)),n=e.display.barWidth,r=e.display.barHeight}function tl(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}var rl={native:qr,null:qn};function nl(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&Q(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new rl[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Fe(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){n=="horizontal"?Dr(e,t):An(e,t)},e),e.display.scrollbars.addClass&&le(e.display.wrapper,e.display.scrollbars.addClass)}var mf=0;function Ir(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++mf,markArrays:null},Kc(e.curOp)}function Fr(e){var t=e.curOp;t&&Zc(t,function(n){for(var r=0;r=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new vi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function yf(e){e.updatedDisplay=e.mustUpdate&&Co(e.cm,e.update)}function xf(e){var t=e.cm,n=t.display;e.updatedDisplay&&hi(t),e.barMeasure=Dn(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Oa(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+er(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Er(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function _f(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft=e.display.viewTo)){var n=+new Date+e.options.workTime,r=wn(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(a){if(r.line>=e.display.viewFrom){var l=a.styles,u=a.text.length>e.options.maxHighlightLength?Vt(t.mode,r.state):null,f=fa(e,a,r,!0);u&&(r.state=u),a.styles=f.styles;var m=a.styleClasses,A=f.classes;A?a.styleClasses=A:m&&(a.styleClasses=null);for(var P=!l||l.length!=a.styles.length||m!=A&&(!m||!A||m.bgClass!=A.bgClass||m.textClass!=A.textClass),J=0;!P&&Jn)return In(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Nt(e,function(){for(var a=0;a=n.viewFrom&&t.visible.to<=n.viewTo&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&Xa(e)==0)return!1;al(e)&&(br(e),t.dims=bo(e));var i=r.first+r.size,a=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroml&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),or&&(a=ao(e.doc,a),l=Ta(e.doc,l));var u=a!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;cf(e,a,l),n.viewOffset=ar(Ae(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var f=Xa(e);if(!u&&f==0&&!t.force&&n.renderedView==n.view&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo))return!1;var m=Tf(e);return f>4&&(n.lineDiv.style.display="none"),Cf(e,n.updateLineNumbers,t.dims),f>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Lf(m),j(n.cursorDiv),j(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,u&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,In(e,400)),n.updateLineNumbers=null,!0}function il(e,t){for(var n=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==Er(e)){if(n&&n.top!=null&&(n={top:Math.min(e.doc.height+co(e.display)-fo(e),n.top)}),t.visible=gi(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=gi(e.display,e.doc,n));if(!Co(e,t))break;hi(e);var i=Dn(e);zn(e),rn(e,i),Mo(e,i),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Eo(e,t){var n=new vi(e,t);if(Co(e,n)){hi(e),il(e,n);var r=Dn(e);zn(e),rn(e,r),Mo(e,r),n.finish()}}function Cf(e,t,n){var r=e.display,i=e.options.lineNumbers,a=r.lineDiv,l=a.firstChild;function u(ie){var ue=ie.nextSibling;return g&&H&&e.display.currentWheelTarget==ie?ie.style.display="none":ie.parentNode.removeChild(ie),ue}for(var f=r.view,m=r.viewFrom,A=0;A-1&&(Y=!1),Ma(e,P,m,n)),Y&&(j(P.lineNumber),P.lineNumber.appendChild(document.createTextNode(he(e.options,m)))),l=P.node.nextSibling}m+=P.size}for(;l;)l=u(l)}function zo(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",ht(e,"gutterChanged",e)}function Mo(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+er(e)+"px"}function ol(e){var t=e.display,n=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=yo(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,a=r+"px",l=0;l=105&&(i.wrapper.style.clipPath="inset(0px)"),i.wrapper.setAttribute("translate","no"),s&&p<8&&(i.gutters.style.zIndex=-1,i.scroller.style.paddingRight=0),!g&&!(v&&M)&&(i.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(i.wrapper):e(i.wrapper)),i.viewFrom=i.viewTo=t.first,i.reportedViewFrom=i.reportedViewTo=t.first,i.view=[],i.renderedView=null,i.externalMeasured=null,i.viewOffset=0,i.lastWrapHeight=i.lastWrapWidth=0,i.updateLineNumbers=null,i.nativeBarWidth=i.barHeight=i.barWidth=0,i.scrollbarsClipped=!1,i.lineNumWidth=i.lineNumInnerWidth=i.lineNumChars=null,i.alignWidgets=!1,i.cachedCharWidth=i.cachedTextHeight=i.cachedPaddingH=null,i.maxLine=null,i.maxLineLength=0,i.maxLineChanged=!1,i.wheelDX=i.wheelDY=i.wheelStartX=i.wheelStartY=null,i.shift=!1,i.selForContextMenu=null,i.activeTouch=null,i.gutterSpecs=Ao(r.gutters,r.lineNumbers),ll(i),n.init(i)}var bi=0,sr=null;s?sr=-.53:v?sr=15:x?sr=-.7:w&&(sr=-1/3);function sl(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return t==null&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),n==null&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:n==null&&(n=e.wheelDelta),{x:t,y:n}}function zf(e){var t=sl(e);return t.x*=sr,t.y*=sr,t}function ul(e,t){x&&c==102&&(e.display.chromeScrollHack==null?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""},100));var n=sl(t),r=n.x,i=n.y,a=sr;t.deltaMode===0&&(r=t.deltaX,i=t.deltaY,a=1);var l=e.display,u=l.scroller,f=u.scrollWidth>u.clientWidth,m=u.scrollHeight>u.clientHeight;if(r&&f||i&&m){if(i&&H&&g){e:for(var A=t.target,P=l.view;A!=u;A=A.parentNode)for(var J=0;J=0&&ye(e,r.to())<=0)return n}return-1};var Ye=function(e,t){this.anchor=e,this.head=t};Ye.prototype.from=function(){return Zr(this.anchor,this.head)},Ye.prototype.to=function(){return Et(this.anchor,this.head)},Ye.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Yt(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(J,Y){return ye(J.from(),Y.from())}),n=Se(t,i);for(var a=1;a0:f>=0){var m=Zr(u.from(),l.from()),A=Et(u.to(),l.to()),P=u.empty()?l.from()==l.head:u.from()==u.head;a<=n&&--n,t.splice(--a,2,new Ye(P?A:m,P?m:A))}}return new Rt(t,n)}function yr(e,t){return new Rt([new Ye(e,t||e)],0)}function xr(e){return e.text?ne(e.from.line+e.text.length-1,ce(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}function cl(e,t){if(ye(e,t.from)<0)return e;if(ye(e,t.to)<=0)return xr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=xr(t).ch-t.to.ch),ne(n,r)}function Do(e,t){for(var n=[],r=0;r1&&e.remove(u.line+1,ie-1),e.insert(u.line+1,ve)}ht(e,"change",e,t)}function _r(e,t,n){function r(i,a,l){if(i.linked)for(var u=0;u1&&!e.done[e.done.length-2].ranges)return e.done.pop(),ce(e.done)}function ml(e,t,n,r){var i=e.history;i.undone.length=0;var a=+new Date,l,u;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&i.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(l=Df(i,i.lastOp==r)))u=ce(l.changes),ye(t.from,t.to)==0&&ye(t.from,u.to)==0?u.to=xr(t):l.changes.push(Fo(e,t));else{var f=ce(i.done);for((!f||!f.ranges)&&xi(e.sel,i.done),l={changes:[Fo(e,t)],generation:i.generation},i.done.push(l);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,u||it(e,"historyAdded")}function qf(e,t,n,r){var i=t.charAt(0);return i=="*"||i=="+"&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function If(e,t,n,r){var i=e.history,a=r&&r.origin;n==i.lastSelOp||a&&i.lastSelOrigin==a&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==a||qf(e,a,ce(i.done),t))?i.done[i.done.length-1]=t:xi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=a,i.lastSelOp=n,r&&r.clearRedo!==!1&&gl(i.undone)}function xi(e,t){var n=ce(t);n&&n.ranges&&n.equals(e)||t.push(e)}function vl(e,t,n,r){var i=t["spans_"+e.id],a=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(l){l.markedSpans&&((i||(i=t["spans_"+e.id]={}))[a]=l.markedSpans),++a})}function Ff(e){if(!e)return null;for(var t,n=0;n-1&&(ce(u)[P]=m[P],delete m[P])}}return r}function No(e,t,n,r){if(r){var i=e.anchor;if(n){var a=ye(t,i)<0;a!=ye(n,i)<0?(i=t,t=n):a!=ye(t,n)<0&&(t=n)}return new Ye(i,t)}else return new Ye(n||t,t)}function _i(e,t,n,r,i){i==null&&(i=e.cm&&(e.cm.display.shift||e.extend)),wt(e,new Rt([No(e.sel.primary(),t,n,i)],0),r)}function yl(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),a=0;a=t.ch:u.to>t.ch))){if(i&&(it(f,"beforeCursorEnter"),f.explicitlyCleared))if(a.markedSpans){--l;continue}else break;if(!f.atomic)continue;if(n){var P=f.find(r<0?1:-1),J=void 0;if((r<0?A:m)&&(P=Tl(e,P,-r,P&&P.line==t.line?a:null)),P&&P.line==t.line&&(J=ye(P,n))&&(r<0?J<0:J>0))return on(e,P,t,r,i)}var Y=f.find(r<0?-1:1);return(r<0?m:A)&&(Y=Tl(e,Y,r,Y.line==t.line?a:null)),Y?on(e,Y,t,r,i):null}}return t}function wi(e,t,n,r,i){var a=r||1,l=on(e,t,n,a,i)||!i&&on(e,t,n,a,!0)||on(e,t,n,-a,i)||!i&&on(e,t,n,-a,!0);return l||(e.cantEdit=!0,ne(e.first,0))}function Tl(e,t,n,r){return n<0&&t.ch==0?t.line>e.first?Re(e,ne(t.line-1)):null:n>0&&t.ch==(r||Ae(e,t.line)).text.length?t.line=0;--i)El(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else El(e,t)}}function El(e,t){if(!(t.text.length==1&&t.text[0]==""&&ye(t.from,t.to)==0)){var n=Do(e,t);ml(e,t,n,e.cm?e.cm.curOp.id:NaN),On(e,t,n,io(e,t));var r=[];_r(e,function(i,a){!a&&Se(r,i.history)==-1&&(Dl(i.history,t),r.push(i.history)),On(i,t,null,io(i,t))})}}function Si(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!n)){for(var i=e.history,a,l=e.sel,u=t=="undo"?i.done:i.undone,f=t=="undo"?i.undone:i.done,m=0;m=0;--Y){var ie=J(Y);if(ie)return ie.v}}}}function zl(e,t){if(t!=0&&(e.first+=t,e.sel=new Rt(Be(e.sel.ranges,function(i){return new Ye(ne(i.anchor.line+t,i.anchor.ch),ne(i.head.line+t,i.head.ch))}),e.sel.primIndex),e.cm)){zt(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.linea&&(t={from:t.from,to:ne(a,Ae(e,a).text.length),text:[t.text[0]],origin:t.origin}),t.removed=ir(e,t.from,t.to),n||(n=Do(e,t)),e.cm?Pf(e.cm,t,r):Io(e,t,r),ki(e,n,ke),e.cantEdit&&wi(e,ne(e.firstLine(),0))&&(e.cantEdit=!1)}}function Pf(e,t,n){var r=e.doc,i=e.display,a=t.from,l=t.to,u=!1,f=a.line;e.options.lineWrapping||(f=k(Zt(Ae(r,a.line))),r.iter(f,l.line+1,function(Y){if(Y==i.maxLine)return u=!0,!0})),r.sel.contains(t.from,t.to)>-1&&Ht(e),Io(r,t,n,Za(e)),e.options.lineWrapping||(r.iter(f,a.line+t.text.length,function(Y){var ie=li(Y);ie>i.maxLineLength&&(i.maxLine=Y,i.maxLineLength=ie,i.maxLineChanged=!0,u=!1)}),u&&(e.curOp.updateMaxLine=!0)),Lc(r,a.line),In(e,400);var m=t.text.length-(l.line-a.line)-1;t.full?zt(e):a.line==l.line&&t.text.length==1&&!dl(e.doc,t)?vr(e,a.line,"text"):zt(e,a.line,l.line+1,m);var A=Ft(e,"changes"),P=Ft(e,"change");if(P||A){var J={from:a,to:l,text:t.text,removed:t.removed,origin:t.origin};P&&ht(e,"change",e,J),A&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(J)}e.display.selForContextMenu=null}function ln(e,t,n,r,i){var a;r||(r=n),ye(r,n)<0&&(a=[r,n],n=a[0],r=a[1]),typeof t=="string"&&(t=e.splitLines(t)),an(e,{from:n,to:r,text:t,origin:i})}function Ml(e,t,n,r){n1||!(this.children[0]instanceof jn))){var u=[];this.collapse(u),this.children=[new jn(u)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var l=i.lines.length%25+25,u=l;u10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;re.display.maxLineLength&&(e.display.maxLine=m,e.display.maxLineLength=A,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&zt(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&wl(e.doc)),e&&ht(e,"markerCleared",e,this,r,i),t&&Fr(e),this.parent&&this.parent.clear()}},kr.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var n,r,i=0;i0||l==0&&a.clearWhenEmpty!==!1)return a;if(a.replacedWith&&(a.collapsed=!0,a.widgetNode=K("span",[a.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||a.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(a.widgetNode.insertLeft=!0)),a.collapsed){if(Sa(e,t.line,t,n,a)||t.line!=n.line&&Sa(e,n.line,t,n,a))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ec()}a.addToHistory&&ml(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var u=t.line,f=e.cm,m;if(e.iter(u,n.line+1,function(P){f&&a.collapsed&&!f.options.lineWrapping&&Zt(P)==f.display.maxLine&&(m=!0),a.collapsed&&u!=t.line&&jt(P,0),Mc(P,new ni(a,u==t.line?t.ch:null,u==n.line?n.ch:null),e.cm&&e.cm.curOp),++u}),a.collapsed&&e.iter(t.line,n.line+1,function(P){mr(e,P)&&jt(P,0)}),a.clearOnEnter&&Fe(a,"beforeCursorEnter",function(){return a.clear()}),a.readOnly&&(Cc(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),a.collapsed&&(a.id=++Il,a.atomic=!0),f){if(m&&(f.curOp.updateMaxLine=!0),a.collapsed)zt(f,t.line,n.line+1);else if(a.className||a.startStyle||a.endStyle||a.css||a.attributes||a.title)for(var A=t.line;A<=n.line;A++)vr(f,A,"text");a.atomic&&wl(f.doc),ht(f,"markerAdded",f,a)}return a}var Bn=function(e,t){this.markers=e,this.primary=t;for(var n=0;n=0;f--)an(this,r[f]);u?_l(this,u):this.cm&&tn(this.cm)}),undo:mt(function(){Si(this,"undo")}),redo:mt(function(){Si(this,"redo")}),undoSelection:mt(function(){Si(this,"undo",!0)}),redoSelection:mt(function(){Si(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=Re(this,e),t=Re(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(a){var l=a.markedSpans;if(l)for(var u=0;u=f.to||f.from==null&&i!=e.line||f.from!=null&&i==t.line&&f.from>=t.ch)&&(!n||n(f.marker))&&r.push(f.marker.parent||f.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=a,++n}),Re(this,ne(n,t))},indexFromPos:function(e){e=Re(this,e);var t=e.ch;if(e.linet&&(t=e.from),e.to!=null&&e.to-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var A=e.dataTransfer.getData("Text");if(A){var P;if(t.state.draggingText&&!t.state.draggingText.copy&&(P=t.listSelections()),ki(t.doc,yr(n,n)),P)for(var J=0;J=0;u--)ln(e.doc,"",r[u].from,r[u].to,"+delete");tn(e)})}function Po(e,t,n){var r=se(e.text,t+n,n);return r<0||r>e.text.length?null:r}function jo(e,t,n){var r=Po(e,t.ch,n);return r==null?null:new ne(t.line,r,n<0?"after":"before")}function Ro(e,t,n,r,i){if(e){t.doc.direction=="rtl"&&(i=-i);var a=Pe(n,t.doc.direction);if(a){var l=i<0?ce(a):a[0],u=i<0==(l.level==1),f=u?"after":"before",m;if(l.level>0||t.doc.direction=="rtl"){var A=Qr(t,n);m=i<0?n.text.length-1:0;var P=tr(t,A,m).top;m=De(function(J){return tr(t,A,J).top==P},i<0==(l.level==1)?l.from:l.to-1,m),f=="before"&&(m=Po(n,m,1))}else m=i<0?l.to:l.from;return new ne(r,m,f)}}return new ne(r,i<0?n.text.length:0,i<0?"before":"after")}function Vf(e,t,n,r){var i=Pe(t,e.doc.direction);if(!i)return jo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var a=Pt(i,n.ch,n.sticky),l=i[a];if(e.doc.direction=="ltr"&&l.level%2==0&&(r>0?l.to>n.ch:l.from=l.from&&J>=A.begin)){var Y=P?"before":"after";return new ne(n.line,J,Y)}}var ie=function(ve,_e,be){for(var Ce=function(Ve,vt){return vt?new ne(n.line,u(Ve,1),"before"):new ne(n.line,Ve,"after")};ve>=0&&ve0==(Ne.level!=1),$e=Ie?be.begin:u(be.end,-1);if(Ne.from<=$e&&$e0?A.end:u(A.begin,-1);return me!=null&&!(r>0&&me==t.text.length)&&(ue=ie(r>0?0:i.length-1,r,m(me)),ue)?ue:null}var $n={selectAll:Ll,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),ke)},killLine:function(e){return cn(e,function(t){if(t.empty()){var n=Ae(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new ne(i.line,i.ch+1),e.replaceRange(a.charAt(i.ch-1)+a.charAt(i.ch-2),ne(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=Ae(e.doc,i.line-1).text;l&&(i=new ne(i.line,1),e.replaceRange(a.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),ne(i.line-1,l.length-1),i,"+transpose"))}}n.push(new Ye(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return Nt(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;re&&ye(t,this.pos)==0&&n==this.button};var Gn,Zn;function od(e,t){var n=+new Date;return Zn&&Zn.compare(n,e,t)?(Gn=Zn=null,"triple"):Gn&&Gn.compare(n,e,t)?(Zn=new Bo(n,e,t),Gn=null,"double"):(Gn=new Bo(n,e,t),Zn=null,"single")}function Yl(e){var t=this,n=t.display;if(!(ot(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.input.ensurePolled(),n.shift=e.shiftKey,lr(n,e)){g||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));return}if(!Wo(t,e)){var r=Mr(t,e),i=Ut(e),a=r?od(r,i):"single";pe(t).focus(),i==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&ad(t,i,r,a,e))&&(i==1?r?sd(t,r,a,e):yn(e)==n.scroller&&kt(e):i==2?(r&&_i(t.doc,r),setTimeout(function(){return n.input.focus()},20)):i==3&&(F?t.display.input.onContextMenu(e):wo(t)))}}}function ad(e,t,n,r,i){var a="Click";return r=="double"?a="Double"+a:r=="triple"&&(a="Triple"+a),a=(t==1?"Left":t==2?"Middle":"Right")+a,Kn(e,Hl(a,i),i,function(l){if(typeof l=="string"&&(l=$n[l]),!l)return!1;var u=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),u=l(e,n)!=Ze}finally{e.state.suppressEdits=!1}return u})}function ld(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(i.unit==null){var a=Z?n.shiftKey&&n.metaKey:n.altKey;i.unit=a?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(i.extend==null||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),i.addNew==null&&(i.addNew=H?n.metaKey:n.ctrlKey),i.moveOnDrag==null&&(i.moveOnDrag=!(H?n.altKey:n.ctrlKey)),i}function sd(e,t,n,r){s?setTimeout(Ee(Qa,e),0):e.curOp.focus=B(de(e));var i=ld(e,n,r),a=e.doc.sel,l;e.options.dragDrop&&eo&&!e.isReadOnly()&&n=="single"&&(l=a.contains(t))>-1&&(ye((l=a.ranges[l]).from(),t)<0||t.xRel>0)&&(ye(l.to(),t)>0||t.xRel<0)?ud(e,r,t,i):cd(e,r,t,i)}function ud(e,t,n,r){var i=e.display,a=!1,l=gt(e,function(m){g&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:wo(e)),_t(i.wrapper.ownerDocument,"mouseup",l),_t(i.wrapper.ownerDocument,"mousemove",u),_t(i.scroller,"dragstart",f),_t(i.scroller,"drop",l),a||(kt(m),r.addNew||_i(e.doc,n,null,null,r.extend),g&&!w||s&&p==9?setTimeout(function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()},20):i.input.focus())}),u=function(m){a=a||Math.abs(t.clientX-m.clientX)+Math.abs(t.clientY-m.clientY)>=10},f=function(){return a=!0};g&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,Fe(i.wrapper.ownerDocument,"mouseup",l),Fe(i.wrapper.ownerDocument,"mousemove",u),Fe(i.scroller,"dragstart",f),Fe(i.scroller,"drop",l),e.state.delayingBlurEvent=!0,setTimeout(function(){return i.input.focus()},20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Ql(e,t,n){if(n=="char")return new Ye(t,t);if(n=="word")return e.findWordAt(t);if(n=="line")return new Ye(ne(t.line,0),Re(e.doc,ne(t.line+1,0)));var r=n(e,t);return new Ye(r.from,r.to)}function cd(e,t,n,r){s&&wo(e);var i=e.display,a=e.doc;kt(t);var l,u,f=a.sel,m=f.ranges;if(r.addNew&&!r.extend?(u=a.sel.contains(n),u>-1?l=m[u]:l=new Ye(n,n)):(l=a.sel.primary(),u=a.sel.primIndex),r.unit=="rectangle")r.addNew||(l=new Ye(n,n)),n=Mr(e,t,!0,!0),u=-1;else{var A=Ql(e,n,r.unit);r.extend?l=No(l,A.anchor,A.head,r.extend):l=A}r.addNew?u==-1?(u=m.length,wt(a,Yt(e,m.concat([l]),u),{scroll:!1,origin:"*mouse"})):m.length>1&&m[u].empty()&&r.unit=="char"&&!r.extend?(wt(a,Yt(e,m.slice(0,u).concat(m.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),f=a.sel):Oo(a,u,l,Je):(u=0,wt(a,new Rt([l],0),Je),f=a.sel);var P=n;function J(be){if(ye(P,be)!=0)if(P=be,r.unit=="rectangle"){for(var Ce=[],Ne=e.options.tabSize,Ie=Oe(Ae(a,n.line).text,n.ch,Ne),$e=Oe(Ae(a,be.line).text,be.ch,Ne),Ve=Math.min(Ie,$e),vt=Math.max(Ie,$e),rt=Math.min(n.line,be.line),Ot=Math.min(e.lastLine(),Math.max(n.line,be.line));rt<=Ot;rt++){var At=Ae(a,rt).text,ut=Ge(At,Ve,Ne);Ve==vt?Ce.push(new Ye(ne(rt,ut),ne(rt,ut))):At.length>ut&&Ce.push(new Ye(ne(rt,ut),ne(rt,Ge(At,vt,Ne))))}Ce.length||Ce.push(new Ye(n,n)),wt(a,Yt(e,f.ranges.slice(0,u).concat(Ce),u),{origin:"*mouse",scroll:!1}),e.scrollIntoView(be)}else{var Dt=l,yt=Ql(e,be,r.unit),ft=Dt.anchor,ct;ye(yt.anchor,ft)>0?(ct=yt.head,ft=Zr(Dt.from(),yt.anchor)):(ct=yt.anchor,ft=Et(Dt.to(),yt.head));var lt=f.ranges.slice(0);lt[u]=fd(e,new Ye(Re(a,ft),ct)),wt(a,Yt(e,lt,u),Je)}}var Y=i.wrapper.getBoundingClientRect(),ie=0;function ue(be){var Ce=++ie,Ne=Mr(e,be,!0,r.unit=="rectangle");if(Ne)if(ye(Ne,P)!=0){e.curOp.focus=B(de(e)),J(Ne);var Ie=gi(i,a);(Ne.line>=Ie.to||Ne.lineY.bottom?20:0;$e&&setTimeout(gt(e,function(){ie==Ce&&(i.scroller.scrollTop+=$e,ue(be))}),50)}}function me(be){e.state.selectingText=!1,ie=1/0,be&&(kt(be),i.input.focus()),_t(i.wrapper.ownerDocument,"mousemove",ve),_t(i.wrapper.ownerDocument,"mouseup",_e),a.history.lastSelOrigin=null}var ve=gt(e,function(be){be.buttons===0||!Ut(be)?me(be):ue(be)}),_e=gt(e,me);e.state.selectingText=_e,Fe(i.wrapper.ownerDocument,"mousemove",ve),Fe(i.wrapper.ownerDocument,"mouseup",_e)}function fd(e,t){var n=t.anchor,r=t.head,i=Ae(e.doc,n.line);if(ye(n,r)==0&&n.sticky==r.sticky)return t;var a=Pe(i);if(!a)return t;var l=Pt(a,n.ch,n.sticky),u=a[l];if(u.from!=n.ch&&u.to!=n.ch)return t;var f=l+(u.from==n.ch==(u.level!=1)?0:1);if(f==0||f==a.length)return t;var m;if(r.line!=n.line)m=(r.line-n.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var A=Pt(a,r.ch,r.sticky),P=A-l||(r.ch-n.ch)*(u.level==1?-1:1);A==f-1||A==f?m=P<0:m=P>0}var J=a[f+(m?-1:0)],Y=m==(J.level==1),ie=Y?J.from:J.to,ue=Y?"after":"before";return n.ch==ie&&n.sticky==ue?t:new Ye(new ne(n.line,ie,ue),r)}function Vl(e,t,n,r){var i,a;if(t.touches)i=t.touches[0].clientX,a=t.touches[0].clientY;else try{i=t.clientX,a=t.clientY}catch{return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&kt(t);var l=e.display,u=l.lineDiv.getBoundingClientRect();if(a>u.bottom||!Ft(e,n))return Ct(t);a-=u.top-l.viewOffset;for(var f=0;f=i){var A=O(e.doc,a),P=e.display.gutterSpecs[f];return it(e,n,e,A,P.className,t),Ct(t)}}}function Wo(e,t){return Vl(e,t,"gutterClick",!0)}function Jl(e,t){lr(e.display,t)||dd(e,t)||ot(e,t,"contextmenu")||F||e.display.input.onContextMenu(t)}function dd(e,t){return Ft(e,"gutterContextMenu")?Vl(e,t,"gutterContextMenu",!1):!1}function es(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),En(e)}var fn={toString:function(){return"CodeMirror.Init"}},ts={},Ei={};function pd(e){var t=e.optionHandlers;function n(r,i,a,l){e.defaults[r]=i,a&&(t[r]=l?function(u,f,m){m!=fn&&a(u,f,m)}:a)}e.defineOption=n,e.Init=fn,n("value","",function(r,i){return r.setValue(i)},!0),n("mode",null,function(r,i){r.doc.modeOption=i,qo(r)},!0),n("indentUnit",2,qo,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(r){Nn(r),En(r),zt(r)},!0),n("lineSeparator",null,function(r,i){if(r.doc.lineSep=i,!!i){var a=[],l=r.doc.first;r.doc.iter(function(f){for(var m=0;;){var A=f.text.indexOf(i,m);if(A==-1)break;m=A+i.length,a.push(ne(l,A))}l++});for(var u=a.length-1;u>=0;u--)ln(r.doc,i,a[u],ne(a[u].line,a[u].ch+i.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(r,i,a){r.state.specialChars=new RegExp(i.source+(i.test(" ")?"":"| "),"g"),a!=fn&&r.refresh()}),n("specialCharPlaceholder",Hc,function(r){return r.refresh()},!0),n("electricChars",!0),n("inputStyle",M?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(r,i){return r.getInputField().spellcheck=i},!0),n("autocorrect",!1,function(r,i){return r.getInputField().autocorrect=i},!0),n("autocapitalize",!1,function(r,i){return r.getInputField().autocapitalize=i},!0),n("rtlMoveVisually",!ee),n("wholeLineUpdateBefore",!0),n("theme","default",function(r){es(r),Fn(r)},!0),n("keyMap","default",function(r,i,a){var l=Li(i),u=a!=fn&&Li(a);u&&u.detach&&u.detach(r,l),l.attach&&l.attach(r,u||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,gd,!0),n("gutters",[],function(r,i){r.display.gutterSpecs=Ao(i,r.options.lineNumbers),Fn(r)},!0),n("fixedGutter",!0,function(r,i){r.display.gutters.style.left=i?yo(r.display)+"px":"0",r.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(r){return rn(r)},!0),n("scrollbarStyle","native",function(r){nl(r),rn(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),n("lineNumbers",!1,function(r,i){r.display.gutterSpecs=Ao(r.options.gutters,i),Fn(r)},!0),n("firstLineNumber",1,Fn,!0),n("lineNumberFormatter",function(r){return r},Fn,!0),n("showCursorWhenSelecting",!1,zn,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(r,i){i=="nocursor"&&(en(r),r.display.input.blur()),r.display.input.readOnlyChanged(i)}),n("screenReaderLabel",null,function(r,i){i=i===""?null:i,r.display.input.screenReaderLabelChanged(i)}),n("disableInput",!1,function(r,i){i||r.display.input.reset()},!0),n("dragDrop",!0,hd),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,zn,!0),n("singleCursorHeightPerLine",!0,zn,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Nn,!0),n("addModeClass",!1,Nn,!0),n("pollInterval",100),n("undoDepth",200,function(r,i){return r.doc.history.undoDepth=i}),n("historyEventDelay",1250),n("viewportMargin",10,function(r){return r.refresh()},!0),n("maxHighlightLength",1e4,Nn,!0),n("moveInputWithCursor",!0,function(r,i){i||r.display.input.resetPosition()}),n("tabindex",null,function(r,i){return r.display.input.getField().tabIndex=i||""}),n("autofocus",null),n("direction","ltr",function(r,i){return r.doc.setDirection(i)},!0),n("phrases",null)}function hd(e,t,n){var r=n&&n!=fn;if(!t!=!r){var i=e.display.dragFunctions,a=t?Fe:_t;a(e.display.scroller,"dragstart",i.start),a(e.display.scroller,"dragenter",i.enter),a(e.display.scroller,"dragover",i.over),a(e.display.scroller,"dragleave",i.leave),a(e.display.scroller,"drop",i.drop)}}function gd(e){e.options.lineWrapping?(le(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Q(e.display.wrapper,"CodeMirror-wrap"),so(e)),xo(e),zt(e),En(e),setTimeout(function(){return rn(e)},100)}function tt(e,t){var n=this;if(!(this instanceof tt))return new tt(e,t);this.options=t=t?ge(t):{},ge(ts,t,!1);var r=t.value;typeof r=="string"?r=new Mt(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new tt.inputStyles[t.inputStyle](this),a=this.display=new Ef(e,r,i,t);a.wrapper.CodeMirror=this,es(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),nl(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new qe,keySeq:null,specialChars:null},t.autofocus&&!M&&a.input.focus(),s&&p<11&&setTimeout(function(){return n.display.input.reset(!0)},20),md(this),Gf(),Ir(this),this.curOp.forceUpdate=!0,pl(this,r),t.autofocus&&!M||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&So(n)},20):en(this);for(var l in Ei)Ei.hasOwnProperty(l)&&Ei[l](this,t[l],fn);al(this),t.finishInit&&t.finishInit(this);for(var u=0;u20*20}Fe(t.scroller,"touchstart",function(f){if(!ot(e,f)&&!a(f)&&!Wo(e,f)){t.input.ensurePolled(),clearTimeout(n);var m=+new Date;t.activeTouch={start:m,moved:!1,prev:m-r.end<=300?r:null},f.touches.length==1&&(t.activeTouch.left=f.touches[0].pageX,t.activeTouch.top=f.touches[0].pageY)}}),Fe(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),Fe(t.scroller,"touchend",function(f){var m=t.activeTouch;if(m&&!lr(t,f)&&m.left!=null&&!m.moved&&new Date-m.start<300){var A=e.coordsChar(t.activeTouch,"page"),P;!m.prev||l(m,m.prev)?P=new Ye(A,A):!m.prev.prev||l(m,m.prev.prev)?P=e.findWordAt(A):P=new Ye(ne(A.line,0),Re(e.doc,ne(A.line+1,0))),e.setSelection(P.anchor,P.head),e.focus(),kt(f)}i()}),Fe(t.scroller,"touchcancel",i),Fe(t.scroller,"scroll",function(){t.scroller.clientHeight&&(An(e,t.scroller.scrollTop),Dr(e,t.scroller.scrollLeft,!0),it(e,"scroll",e))}),Fe(t.scroller,"mousewheel",function(f){return ul(e,f)}),Fe(t.scroller,"DOMMouseScroll",function(f){return ul(e,f)}),Fe(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(f){ot(e,f)||dr(f)},over:function(f){ot(e,f)||(Kf(e,f),dr(f))},start:function(f){return $f(e,f)},drop:gt(e,Uf),leave:function(f){ot(e,f)||Ol(e)}};var u=t.input.getField();Fe(u,"keyup",function(f){return Zl.call(e,f)}),Fe(u,"keydown",gt(e,Gl)),Fe(u,"keypress",gt(e,Xl)),Fe(u,"focus",function(f){return So(e,f)}),Fe(u,"blur",function(f){return en(e,f)})}var Uo=[];tt.defineInitHook=function(e){return Uo.push(e)};function Xn(e,t,n,r){var i=e.doc,a;n==null&&(n="add"),n=="smart"&&(i.mode.indent?a=wn(e,t).state:n="prev");var l=e.options.tabSize,u=Ae(i,t),f=Oe(u.text,null,l);u.stateAfter&&(u.stateAfter=null);var m=u.text.match(/^\s*/)[0],A;if(!r&&!/\S/.test(u.text))A=0,n="not";else if(n=="smart"&&(A=i.mode.indent(a,u.text.slice(m.length),u.text),A==Ze||A>150)){if(!r)return;n="prev"}n=="prev"?t>i.first?A=Oe(Ae(i,t-1).text,null,l):A=0:n=="add"?A=f+e.options.indentUnit:n=="subtract"?A=f-e.options.indentUnit:typeof n=="number"&&(A=f+n),A=Math.max(0,A);var P="",J=0;if(e.options.indentWithTabs)for(var Y=Math.floor(A/l);Y;--Y)J+=l,P+=" ";if(Jl,f=Bt(t),m=null;if(u&&r.ranges.length>1)if(Qt&&Qt.text.join(` -`)==t){if(r.ranges.length%Qt.text.length==0){m=[];for(var A=0;A=0;J--){var Y=r.ranges[J],ie=Y.from(),ue=Y.to();Y.empty()&&(n&&n>0?ie=ne(ie.line,ie.ch-n):e.state.overwrite&&!u?ue=ne(ue.line,Math.min(Ae(a,ue.line).text.length,ue.ch+ce(f).length)):u&&Qt&&Qt.lineWise&&Qt.text.join(` + left: `+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(i),e.display.lineSpace.removeChild(l)}}}function pf(e,t,n,r){r==null&&(r=0);var i;!e.options.lineWrapping&&t==n&&(n=t.sticky=="before"?ne(t.line,t.ch+1,"before"):t,t=t.ch?ne(t.line,t.sticky=="before"?t.ch-1:t.ch,"after"):t);for(var a=0;a<5;a++){var l=!1,u=Xt(e,t),f=!n||n==t?u:Xt(e,n);i={left:Math.min(u.left,f.left),top:Math.min(u.top,f.top)-r,right:Math.max(u.left,f.left),bottom:Math.max(u.bottom,f.bottom)+r};var m=To(e,i),A=e.doc.scrollTop,B=e.doc.scrollLeft;if(m.scrollTop!=null&&(An(e,m.scrollTop),Math.abs(e.doc.scrollTop-A)>1&&(l=!0)),m.scrollLeft!=null&&(Dr(e,m.scrollLeft),Math.abs(e.doc.scrollLeft-B)>1&&(l=!0)),!l)break}return i}function hf(e,t){var n=To(e,t);n.scrollTop!=null&&An(e,n.scrollTop),n.scrollLeft!=null&&Dr(e,n.scrollLeft)}function To(e,t){var n=e.display,r=Vr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&e.curOp.scrollTop!=null?e.curOp.scrollTop:n.scroller.scrollTop,a=fo(e),l={};t.bottom-t.top>a&&(t.bottom=t.top+a);var u=e.doc.height+co(n),f=t.topu-r;if(t.topi+a){var A=Math.min(t.top,(m?u:t.bottom)-a);A!=i&&(l.scrollTop=A)}var B=e.options.fixedGutter?0:n.gutters.offsetWidth,ee=e.curOp&&e.curOp.scrollLeft!=null?e.curOp.scrollLeft:n.scroller.scrollLeft-B,Y=Er(e)-n.gutters.offsetWidth,ie=t.right-t.left>Y;return ie&&(t.right=t.left+Y),t.left<10?l.scrollLeft=0:t.leftY+ee-3&&(l.scrollLeft=t.right+(ie?0:10)-Y),l}function Lo(e,t){t!=null&&(mi(e),e.curOp.scrollTop=(e.curOp.scrollTop==null?e.doc.scrollTop:e.curOp.scrollTop)+t)}function tn(e){mi(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Mn(e,t,n){(t!=null||n!=null)&&mi(e),t!=null&&(e.curOp.scrollLeft=t),n!=null&&(e.curOp.scrollTop=n)}function gf(e,t){mi(e),e.curOp.scrollToPos=t}function mi(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=$a(e,t.from),r=$a(e,t.to);Ja(e,n,r,t.margin)}}function Ja(e,t,n,r){var i=To(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Mn(e,i.scrollLeft,i.scrollTop)}function An(e,t){Math.abs(e.doc.scrollTop-t)<2||(v||Eo(e,{top:t}),el(e,t,!0),v&&Eo(e),Fn(e,100))}function el(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),!(e.display.scroller.scrollTop==t&&!n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Dr(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),!((n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r)&&(e.doc.scrollLeft=t,ol(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Dn(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+co(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+er(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qr=function(e,t,n){this.cm=n;var r=this.vert=y("div",[y("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=y("div",[y("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),Ie(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),Ie(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,s&&h<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var a=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+a)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(r==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},qr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qr.prototype.zeroWidthHack=function(){var e=O&&!z?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new qe,this.disableVert=new qe},qr.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="";function r(){var i=e.getBoundingClientRect(),a=n=="vert"?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);a!=e?e.style.visibility="hidden":t.set(1e3,r)}t.set(1e3,r)},qr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var qn=function(){};qn.prototype.update=function(){return{bottom:0,right:0}},qn.prototype.setScrollLeft=function(){},qn.prototype.setScrollTop=function(){},qn.prototype.clear=function(){};function rn(e,t){t||(t=Dn(e));var n=e.display.barWidth,r=e.display.barHeight;tl(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&hi(e),tl(e,Dn(e)),n=e.display.barWidth,r=e.display.barHeight}function tl(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}var rl={native:qr,null:qn};function nl(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&Q(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new rl[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),Ie(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){n=="horizontal"?Dr(e,t):An(e,t)},e),e.display.scrollbars.addClass&&le(e.display.wrapper,e.display.scrollbars.addClass)}var mf=0;function Fr(e){e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++mf,markArrays:null},Kc(e.curOp)}function Ir(e){var t=e.curOp;t&&Zc(t,function(n){for(var r=0;r=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new vi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function yf(e){e.updatedDisplay=e.mustUpdate&&Co(e.cm,e.update)}function xf(e){var t=e.cm,n=t.display;e.updatedDisplay&&hi(t),e.barMeasure=Dn(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Oa(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+er(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Er(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function _f(e){var t=e.cm;e.adjustWidthTo!=null&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft=e.display.viewTo)){var n=+new Date+e.options.workTime,r=wn(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(a){if(r.line>=e.display.viewFrom){var l=a.styles,u=a.text.length>e.options.maxHighlightLength?Vt(t.mode,r.state):null,f=fa(e,a,r,!0);u&&(r.state=u),a.styles=f.styles;var m=a.styleClasses,A=f.classes;A?a.styleClasses=A:m&&(a.styleClasses=null);for(var B=!l||l.length!=a.styles.length||m!=A&&(!m||!A||m.bgClass!=A.bgClass||m.textClass!=A.textClass),ee=0;!B&&een)return Fn(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Nt(e,function(){for(var a=0;a=n.viewFrom&&t.visible.to<=n.viewTo&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&Xa(e)==0)return!1;al(e)&&(br(e),t.dims=bo(e));var i=r.first+r.size,a=Math.max(t.visible.from-e.options.viewportMargin,r.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroml&&n.viewTo-l<20&&(l=Math.min(i,n.viewTo)),or&&(a=ao(e.doc,a),l=Ta(e.doc,l));var u=a!=n.viewFrom||l!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;cf(e,a,l),n.viewOffset=ar(Ae(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var f=Xa(e);if(!u&&f==0&&!t.force&&n.renderedView==n.view&&(n.updateLineNumbers==null||n.updateLineNumbers>=n.viewTo))return!1;var m=Tf(e);return f>4&&(n.lineDiv.style.display="none"),Cf(e,n.updateLineNumbers,t.dims),f>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Lf(m),j(n.cursorDiv),j(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,u&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,Fn(e,400)),n.updateLineNumbers=null,!0}function il(e,t){for(var n=t.viewport,r=!0;;r=!1){if(!r||!e.options.lineWrapping||t.oldDisplayWidth==Er(e)){if(n&&n.top!=null&&(n={top:Math.min(e.doc.height+co(e.display)-fo(e),n.top)}),t.visible=gi(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break}else r&&(t.visible=gi(e.display,e.doc,n));if(!Co(e,t))break;hi(e);var i=Dn(e);zn(e),rn(e,i),Mo(e,i),t.force=!1}t.signal(e,"update",e),(e.display.viewFrom!=e.display.reportedViewFrom||e.display.viewTo!=e.display.reportedViewTo)&&(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function Eo(e,t){var n=new vi(e,t);if(Co(e,n)){hi(e),il(e,n);var r=Dn(e);zn(e),rn(e,r),Mo(e,r),n.finish()}}function Cf(e,t,n){var r=e.display,i=e.options.lineNumbers,a=r.lineDiv,l=a.firstChild;function u(ie){var ue=ie.nextSibling;return g&&O&&e.display.currentWheelTarget==ie?ie.style.display="none":ie.parentNode.removeChild(ie),ue}for(var f=r.view,m=r.viewFrom,A=0;A-1&&(Y=!1),Ma(e,B,m,n)),Y&&(j(B.lineNumber),B.lineNumber.appendChild(document.createTextNode(he(e.options,m)))),l=B.node.nextSibling}m+=B.size}for(;l;)l=u(l)}function zo(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",ht(e,"gutterChanged",e)}function Mo(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+er(e)+"px"}function ol(e){var t=e.display,n=t.view;if(!(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))){for(var r=yo(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,a=r+"px",l=0;lu.clientWidth,m=u.scrollHeight>u.clientHeight;if(r&&f||i&&m){if(i&&O&&g){e:for(var A=t.target,B=l.view;A!=u;A=A.parentNode)for(var ee=0;ee=0&&ye(e,r.to())<=0)return n}return-1};var Ye=function(e,t){this.anchor=e,this.head=t};Ye.prototype.from=function(){return Zr(this.anchor,this.head)},Ye.prototype.to=function(){return Et(this.anchor,this.head)},Ye.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Yt(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(ee,Y){return ye(ee.from(),Y.from())}),n=Se(t,i);for(var a=1;a0:f>=0){var m=Zr(u.from(),l.from()),A=Et(u.to(),l.to()),B=u.empty()?l.from()==l.head:u.from()==u.head;a<=n&&--n,t.splice(--a,2,new Ye(B?A:m,B?m:A))}}return new jt(t,n)}function yr(e,t){return new jt([new Ye(e,t||e)],0)}function xr(e){return e.text?ne(e.from.line+e.text.length-1,ce(e.text).length+(e.text.length==1?e.from.ch:0)):e.to}function cl(e,t){if(ye(e,t.from)<0)return e;if(ye(e,t.to)<=0)return xr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=xr(t).ch-t.to.ch),ne(n,r)}function Do(e,t){for(var n=[],r=0;r1&&e.remove(u.line+1,ie-1),e.insert(u.line+1,ve)}ht(e,"change",e,t)}function _r(e,t,n){function r(i,a,l){if(i.linked)for(var u=0;u1&&!e.done[e.done.length-2].ranges)return e.done.pop(),ce(e.done)}function ml(e,t,n,r){var i=e.history;i.undone.length=0;var a=+new Date,l,u;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&i.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||t.origin.charAt(0)=="*"))&&(l=Df(i,i.lastOp==r)))u=ce(l.changes),ye(t.from,t.to)==0&&ye(t.from,u.to)==0?u.to=xr(t):l.changes.push(Io(e,t));else{var f=ce(i.done);for((!f||!f.ranges)&&xi(e.sel,i.done),l={changes:[Io(e,t)],generation:i.generation},i.done.push(l);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=a,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,u||it(e,"historyAdded")}function qf(e,t,n,r){var i=t.charAt(0);return i=="*"||i=="+"&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}function Ff(e,t,n,r){var i=e.history,a=r&&r.origin;n==i.lastSelOp||a&&i.lastSelOrigin==a&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==a||qf(e,a,ce(i.done),t))?i.done[i.done.length-1]=t:xi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=a,i.lastSelOp=n,r&&r.clearRedo!==!1&&gl(i.undone)}function xi(e,t){var n=ce(t);n&&n.ranges&&n.equals(e)||t.push(e)}function vl(e,t,n,r){var i=t["spans_"+e.id],a=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(l){l.markedSpans&&((i||(i=t["spans_"+e.id]={}))[a]=l.markedSpans),++a})}function If(e){if(!e)return null;for(var t,n=0;n-1&&(ce(u)[B]=m[B],delete m[B])}}return r}function No(e,t,n,r){if(r){var i=e.anchor;if(n){var a=ye(t,i)<0;a!=ye(n,i)<0?(i=t,t=n):a!=ye(t,n)<0&&(t=n)}return new Ye(i,t)}else return new Ye(n||t,t)}function _i(e,t,n,r,i){i==null&&(i=e.cm&&(e.cm.display.shift||e.extend)),wt(e,new jt([No(e.sel.primary(),t,n,i)],0),r)}function yl(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),a=0;a=t.ch:u.to>t.ch))){if(i&&(it(f,"beforeCursorEnter"),f.explicitlyCleared))if(a.markedSpans){--l;continue}else break;if(!f.atomic)continue;if(n){var B=f.find(r<0?1:-1),ee=void 0;if((r<0?A:m)&&(B=Tl(e,B,-r,B&&B.line==t.line?a:null)),B&&B.line==t.line&&(ee=ye(B,n))&&(r<0?ee<0:ee>0))return on(e,B,t,r,i)}var Y=f.find(r<0?-1:1);return(r<0?m:A)&&(Y=Tl(e,Y,r,Y.line==t.line?a:null)),Y?on(e,Y,t,r,i):null}}return t}function wi(e,t,n,r,i){var a=r||1,l=on(e,t,n,a,i)||!i&&on(e,t,n,a,!0)||on(e,t,n,-a,i)||!i&&on(e,t,n,-a,!0);return l||(e.cantEdit=!0,ne(e.first,0))}function Tl(e,t,n,r){return n<0&&t.ch==0?t.line>e.first?je(e,ne(t.line-1)):null:n>0&&t.ch==(r||Ae(e,t.line)).text.length?t.line=0;--i)El(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else El(e,t)}}function El(e,t){if(!(t.text.length==1&&t.text[0]==""&&ye(t.from,t.to)==0)){var n=Do(e,t);ml(e,t,n,e.cm?e.cm.curOp.id:NaN),On(e,t,n,io(e,t));var r=[];_r(e,function(i,a){!a&&Se(r,i.history)==-1&&(Dl(i.history,t),r.push(i.history)),On(i,t,null,io(i,t))})}}function Si(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!(r&&!n)){for(var i=e.history,a,l=e.sel,u=t=="undo"?i.done:i.undone,f=t=="undo"?i.undone:i.done,m=0;m=0;--Y){var ie=ee(Y);if(ie)return ie.v}}}}function zl(e,t){if(t!=0&&(e.first+=t,e.sel=new jt(He(e.sel.ranges,function(i){return new Ye(ne(i.anchor.line+t,i.anchor.ch),ne(i.head.line+t,i.head.ch))}),e.sel.primIndex),e.cm)){zt(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.linea&&(t={from:t.from,to:ne(a,Ae(e,a).text.length),text:[t.text[0]],origin:t.origin}),t.removed=ir(e,t.from,t.to),n||(n=Do(e,t)),e.cm?Pf(e.cm,t,r):Fo(e,t,r),ki(e,n,ke),e.cantEdit&&wi(e,ne(e.firstLine(),0))&&(e.cantEdit=!1)}}function Pf(e,t,n){var r=e.doc,i=e.display,a=t.from,l=t.to,u=!1,f=a.line;e.options.lineWrapping||(f=x(Zt(Ae(r,a.line))),r.iter(f,l.line+1,function(Y){if(Y==i.maxLine)return u=!0,!0})),r.sel.contains(t.from,t.to)>-1&&Rt(e),Fo(r,t,n,Za(e)),e.options.lineWrapping||(r.iter(f,a.line+t.text.length,function(Y){var ie=li(Y);ie>i.maxLineLength&&(i.maxLine=Y,i.maxLineLength=ie,i.maxLineChanged=!0,u=!1)}),u&&(e.curOp.updateMaxLine=!0)),Lc(r,a.line),Fn(e,400);var m=t.text.length-(l.line-a.line)-1;t.full?zt(e):a.line==l.line&&t.text.length==1&&!dl(e.doc,t)?vr(e,a.line,"text"):zt(e,a.line,l.line+1,m);var A=It(e,"changes"),B=It(e,"change");if(B||A){var ee={from:a,to:l,text:t.text,removed:t.removed,origin:t.origin};B&&ht(e,"change",e,ee),A&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(ee)}e.display.selForContextMenu=null}function ln(e,t,n,r,i){var a;r||(r=n),ye(r,n)<0&&(a=[r,n],n=a[0],r=a[1]),typeof t=="string"&&(t=e.splitLines(t)),an(e,{from:n,to:r,text:t,origin:i})}function Ml(e,t,n,r){n1||!(this.children[0]instanceof Bn))){var u=[];this.collapse(u),this.children=[new Bn(u)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var l=i.lines.length%25+25,u=l;u10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;re.display.maxLineLength&&(e.display.maxLine=m,e.display.maxLineLength=A,e.display.maxLineChanged=!0)}r!=null&&e&&this.collapsed&&zt(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&wl(e.doc)),e&&ht(e,"markerCleared",e,this,r,i),t&&Ir(e),this.parent&&this.parent.clear()}},kr.prototype.find=function(e,t){e==null&&this.type=="bookmark"&&(e=1);for(var n,r,i=0;i0||l==0&&a.clearWhenEmpty!==!1)return a;if(a.replacedWith&&(a.collapsed=!0,a.widgetNode=K("span",[a.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||a.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(a.widgetNode.insertLeft=!0)),a.collapsed){if(Sa(e,t.line,t,n,a)||t.line!=n.line&&Sa(e,n.line,t,n,a))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ec()}a.addToHistory&&ml(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var u=t.line,f=e.cm,m;if(e.iter(u,n.line+1,function(B){f&&a.collapsed&&!f.options.lineWrapping&&Zt(B)==f.display.maxLine&&(m=!0),a.collapsed&&u!=t.line&&Bt(B,0),Mc(B,new ni(a,u==t.line?t.ch:null,u==n.line?n.ch:null),e.cm&&e.cm.curOp),++u}),a.collapsed&&e.iter(t.line,n.line+1,function(B){mr(e,B)&&Bt(B,0)}),a.clearOnEnter&&Ie(a,"beforeCursorEnter",function(){return a.clear()}),a.readOnly&&(Cc(),(e.history.done.length||e.history.undone.length)&&e.clearHistory()),a.collapsed&&(a.id=++Fl,a.atomic=!0),f){if(m&&(f.curOp.updateMaxLine=!0),a.collapsed)zt(f,t.line,n.line+1);else if(a.className||a.startStyle||a.endStyle||a.css||a.attributes||a.title)for(var A=t.line;A<=n.line;A++)vr(f,A,"text");a.atomic&&wl(f.doc),ht(f,"markerAdded",f,a)}return a}var Hn=function(e,t){this.markers=e,this.primary=t;for(var n=0;n=0;f--)an(this,r[f]);u?_l(this,u):this.cm&&tn(this.cm)}),undo:mt(function(){Si(this,"undo")}),redo:mt(function(){Si(this,"redo")}),undoSelection:mt(function(){Si(this,"undo",!0)}),redoSelection:mt(function(){Si(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=je(this,e),t=je(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(a){var l=a.markedSpans;if(l)for(var u=0;u=f.to||f.from==null&&i!=e.line||f.from!=null&&i==t.line&&f.from>=t.ch)&&(!n||n(f.marker))&&r.push(f.marker.parent||f.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=a,++n}),je(this,ne(n,t))},indexFromPos:function(e){e=je(this,e);var t=e.ch;if(e.linet&&(t=e.from),e.to!=null&&e.to-1){t.state.draggingText(e),setTimeout(function(){return t.display.input.focus()},20);return}try{var A=e.dataTransfer.getData("Text");if(A){var B;if(t.state.draggingText&&!t.state.draggingText.copy&&(B=t.listSelections()),ki(t.doc,yr(n,n)),B)for(var ee=0;ee=0;u--)ln(e.doc,"",r[u].from,r[u].to,"+delete");tn(e)})}function Po(e,t,n){var r=se(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Bo(e,t,n){var r=Po(e,t.ch,n);return r==null?null:new ne(t.line,r,n<0?"after":"before")}function jo(e,t,n,r,i){if(e){t.doc.direction=="rtl"&&(i=-i);var a=Pe(n,t.doc.direction);if(a){var l=i<0?ce(a):a[0],u=i<0==(l.level==1),f=u?"after":"before",m;if(l.level>0||t.doc.direction=="rtl"){var A=Qr(t,n);m=i<0?n.text.length-1:0;var B=tr(t,A,m).top;m=De(function(ee){return tr(t,A,ee).top==B},i<0==(l.level==1)?l.from:l.to-1,m),f=="before"&&(m=Po(n,m,1))}else m=i<0?l.to:l.from;return new ne(r,m,f)}}return new ne(r,i<0?n.text.length:0,i<0?"before":"after")}function Vf(e,t,n,r){var i=Pe(t,e.doc.direction);if(!i)return Bo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var a=Pt(i,n.ch,n.sticky),l=i[a];if(e.doc.direction=="ltr"&&l.level%2==0&&(r>0?l.to>n.ch:l.from=l.from&&ee>=A.begin)){var Y=B?"before":"after";return new ne(n.line,ee,Y)}}var ie=function(ve,_e,be){for(var Ce=function(Ve,vt){return vt?new ne(n.line,u(Ve,1),"before"):new ne(n.line,Ve,"after")};ve>=0&&ve0==(Ne.level!=1),$e=Fe?be.begin:u(be.end,-1);if(Ne.from<=$e&&$e0?A.end:u(A.begin,-1);return me!=null&&!(r>0&&me==t.text.length)&&(ue=ie(r>0?0:i.length-1,r,m(me)),ue)?ue:null}var $n={selectAll:Ll,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),ke)},killLine:function(e){return cn(e,function(t){if(t.empty()){var n=Ae(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new ne(i.line,i.ch+1),e.replaceRange(a.charAt(i.ch-1)+a.charAt(i.ch-2),ne(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=Ae(e.doc,i.line-1).text;l&&(i=new ne(i.line,1),e.replaceRange(a.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),ne(i.line-1,l.length-1),i,"+transpose"))}}n.push(new Ye(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return Nt(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;re&&ye(t,this.pos)==0&&n==this.button};var Gn,Zn;function od(e,t){var n=+new Date;return Zn&&Zn.compare(n,e,t)?(Gn=Zn=null,"triple"):Gn&&Gn.compare(n,e,t)?(Zn=new Ho(n,e,t),Gn=null,"double"):(Gn=new Ho(n,e,t),Zn=null,"single")}function Yl(e){var t=this,n=t.display;if(!(ot(t,e)||n.activeTouch&&n.input.supportsTouch())){if(n.input.ensurePolled(),n.shift=e.shiftKey,lr(n,e)){g||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));return}if(!Wo(t,e)){var r=Mr(t,e),i=Ut(e),a=r?od(r,i):"single";pe(t).focus(),i==1&&t.state.selectingText&&t.state.selectingText(e),!(r&&ad(t,i,r,a,e))&&(i==1?r?sd(t,r,a,e):yn(e)==n.scroller&&kt(e):i==2?(r&&_i(t.doc,r),setTimeout(function(){return n.input.focus()},20)):i==3&&(I?t.display.input.onContextMenu(e):wo(t)))}}}function ad(e,t,n,r,i){var a="Click";return r=="double"?a="Double"+a:r=="triple"&&(a="Triple"+a),a=(t==1?"Left":t==2?"Middle":"Right")+a,Kn(e,Rl(a,i),i,function(l){if(typeof l=="string"&&(l=$n[l]),!l)return!1;var u=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),u=l(e,n)!=Ze}finally{e.state.suppressEdits=!1}return u})}function ld(e,t,n){var r=e.getOption("configureMouse"),i=r?r(e,t,n):{};if(i.unit==null){var a=G?n.shiftKey&&n.metaKey:n.altKey;i.unit=a?"rectangle":t=="single"?"char":t=="double"?"word":"line"}return(i.extend==null||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),i.addNew==null&&(i.addNew=O?n.metaKey:n.ctrlKey),i.moveOnDrag==null&&(i.moveOnDrag=!(O?n.altKey:n.ctrlKey)),i}function sd(e,t,n,r){s?setTimeout(Ee(Qa,e),0):e.curOp.focus=R(de(e));var i=ld(e,n,r),a=e.doc.sel,l;e.options.dragDrop&&eo&&!e.isReadOnly()&&n=="single"&&(l=a.contains(t))>-1&&(ye((l=a.ranges[l]).from(),t)<0||t.xRel>0)&&(ye(l.to(),t)>0||t.xRel<0)?ud(e,r,t,i):cd(e,r,t,i)}function ud(e,t,n,r){var i=e.display,a=!1,l=gt(e,function(m){g&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:wo(e)),_t(i.wrapper.ownerDocument,"mouseup",l),_t(i.wrapper.ownerDocument,"mousemove",u),_t(i.scroller,"dragstart",f),_t(i.scroller,"drop",l),a||(kt(m),r.addNew||_i(e.doc,n,null,null,r.extend),g&&!k||s&&h==9?setTimeout(function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()},20):i.input.focus())}),u=function(m){a=a||Math.abs(t.clientX-m.clientX)+Math.abs(t.clientY-m.clientY)>=10},f=function(){return a=!0};g&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,Ie(i.wrapper.ownerDocument,"mouseup",l),Ie(i.wrapper.ownerDocument,"mousemove",u),Ie(i.scroller,"dragstart",f),Ie(i.scroller,"drop",l),e.state.delayingBlurEvent=!0,setTimeout(function(){return i.input.focus()},20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Ql(e,t,n){if(n=="char")return new Ye(t,t);if(n=="word")return e.findWordAt(t);if(n=="line")return new Ye(ne(t.line,0),je(e.doc,ne(t.line+1,0)));var r=n(e,t);return new Ye(r.from,r.to)}function cd(e,t,n,r){s&&wo(e);var i=e.display,a=e.doc;kt(t);var l,u,f=a.sel,m=f.ranges;if(r.addNew&&!r.extend?(u=a.sel.contains(n),u>-1?l=m[u]:l=new Ye(n,n)):(l=a.sel.primary(),u=a.sel.primIndex),r.unit=="rectangle")r.addNew||(l=new Ye(n,n)),n=Mr(e,t,!0,!0),u=-1;else{var A=Ql(e,n,r.unit);r.extend?l=No(l,A.anchor,A.head,r.extend):l=A}r.addNew?u==-1?(u=m.length,wt(a,Yt(e,m.concat([l]),u),{scroll:!1,origin:"*mouse"})):m.length>1&&m[u].empty()&&r.unit=="char"&&!r.extend?(wt(a,Yt(e,m.slice(0,u).concat(m.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),f=a.sel):Oo(a,u,l,Je):(u=0,wt(a,new jt([l],0),Je),f=a.sel);var B=n;function ee(be){if(ye(B,be)!=0)if(B=be,r.unit=="rectangle"){for(var Ce=[],Ne=e.options.tabSize,Fe=Oe(Ae(a,n.line).text,n.ch,Ne),$e=Oe(Ae(a,be.line).text,be.ch,Ne),Ve=Math.min(Fe,$e),vt=Math.max(Fe,$e),rt=Math.min(n.line,be.line),Ot=Math.min(e.lastLine(),Math.max(n.line,be.line));rt<=Ot;rt++){var At=Ae(a,rt).text,ut=Ge(At,Ve,Ne);Ve==vt?Ce.push(new Ye(ne(rt,ut),ne(rt,ut))):At.length>ut&&Ce.push(new Ye(ne(rt,ut),ne(rt,Ge(At,vt,Ne))))}Ce.length||Ce.push(new Ye(n,n)),wt(a,Yt(e,f.ranges.slice(0,u).concat(Ce),u),{origin:"*mouse",scroll:!1}),e.scrollIntoView(be)}else{var Dt=l,yt=Ql(e,be,r.unit),ft=Dt.anchor,ct;ye(yt.anchor,ft)>0?(ct=yt.head,ft=Zr(Dt.from(),yt.anchor)):(ct=yt.anchor,ft=Et(Dt.to(),yt.head));var lt=f.ranges.slice(0);lt[u]=fd(e,new Ye(je(a,ft),ct)),wt(a,Yt(e,lt,u),Je)}}var Y=i.wrapper.getBoundingClientRect(),ie=0;function ue(be){var Ce=++ie,Ne=Mr(e,be,!0,r.unit=="rectangle");if(Ne)if(ye(Ne,B)!=0){e.curOp.focus=R(de(e)),ee(Ne);var Fe=gi(i,a);(Ne.line>=Fe.to||Ne.lineY.bottom?20:0;$e&&setTimeout(gt(e,function(){ie==Ce&&(i.scroller.scrollTop+=$e,ue(be))}),50)}}function me(be){e.state.selectingText=!1,ie=1/0,be&&(kt(be),i.input.focus()),_t(i.wrapper.ownerDocument,"mousemove",ve),_t(i.wrapper.ownerDocument,"mouseup",_e),a.history.lastSelOrigin=null}var ve=gt(e,function(be){be.buttons===0||!Ut(be)?me(be):ue(be)}),_e=gt(e,me);e.state.selectingText=_e,Ie(i.wrapper.ownerDocument,"mousemove",ve),Ie(i.wrapper.ownerDocument,"mouseup",_e)}function fd(e,t){var n=t.anchor,r=t.head,i=Ae(e.doc,n.line);if(ye(n,r)==0&&n.sticky==r.sticky)return t;var a=Pe(i);if(!a)return t;var l=Pt(a,n.ch,n.sticky),u=a[l];if(u.from!=n.ch&&u.to!=n.ch)return t;var f=l+(u.from==n.ch==(u.level!=1)?0:1);if(f==0||f==a.length)return t;var m;if(r.line!=n.line)m=(r.line-n.line)*(e.doc.direction=="ltr"?1:-1)>0;else{var A=Pt(a,r.ch,r.sticky),B=A-l||(r.ch-n.ch)*(u.level==1?-1:1);A==f-1||A==f?m=B<0:m=B>0}var ee=a[f+(m?-1:0)],Y=m==(ee.level==1),ie=Y?ee.from:ee.to,ue=Y?"after":"before";return n.ch==ie&&n.sticky==ue?t:new Ye(new ne(n.line,ie,ue),r)}function Vl(e,t,n,r){var i,a;if(t.touches)i=t.touches[0].clientX,a=t.touches[0].clientY;else try{i=t.clientX,a=t.clientY}catch{return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&kt(t);var l=e.display,u=l.lineDiv.getBoundingClientRect();if(a>u.bottom||!It(e,n))return Ct(t);a-=u.top-l.viewOffset;for(var f=0;f=i){var A=P(e.doc,a),B=e.display.gutterSpecs[f];return it(e,n,e,A,B.className,t),Ct(t)}}}function Wo(e,t){return Vl(e,t,"gutterClick",!0)}function Jl(e,t){lr(e.display,t)||dd(e,t)||ot(e,t,"contextmenu")||I||e.display.input.onContextMenu(t)}function dd(e,t){return It(e,"gutterContextMenu")?Vl(e,t,"gutterContextMenu",!1):!1}function es(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),En(e)}var fn={toString:function(){return"CodeMirror.Init"}},ts={},Ei={};function pd(e){var t=e.optionHandlers;function n(r,i,a,l){e.defaults[r]=i,a&&(t[r]=l?function(u,f,m){m!=fn&&a(u,f,m)}:a)}e.defineOption=n,e.Init=fn,n("value","",function(r,i){return r.setValue(i)},!0),n("mode",null,function(r,i){r.doc.modeOption=i,qo(r)},!0),n("indentUnit",2,qo,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(r){Nn(r),En(r),zt(r)},!0),n("lineSeparator",null,function(r,i){if(r.doc.lineSep=i,!!i){var a=[],l=r.doc.first;r.doc.iter(function(f){for(var m=0;;){var A=f.text.indexOf(i,m);if(A==-1)break;m=A+i.length,a.push(ne(l,A))}l++});for(var u=a.length-1;u>=0;u--)ln(r.doc,i,a[u],ne(a[u].line,a[u].ch+i.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(r,i,a){r.state.specialChars=new RegExp(i.source+(i.test(" ")?"":"| "),"g"),a!=fn&&r.refresh()}),n("specialCharPlaceholder",Rc,function(r){return r.refresh()},!0),n("electricChars",!0),n("inputStyle",E?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(r,i){return r.getInputField().spellcheck=i},!0),n("autocorrect",!1,function(r,i){return r.getInputField().autocorrect=i},!0),n("autocapitalize",!1,function(r,i){return r.getInputField().autocapitalize=i},!0),n("rtlMoveVisually",!J),n("wholeLineUpdateBefore",!0),n("theme","default",function(r){es(r),In(r)},!0),n("keyMap","default",function(r,i,a){var l=Li(i),u=a!=fn&&Li(a);u&&u.detach&&u.detach(r,l),l.attach&&l.attach(r,u||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,gd,!0),n("gutters",[],function(r,i){r.display.gutterSpecs=Ao(i,r.options.lineNumbers),In(r)},!0),n("fixedGutter",!0,function(r,i){r.display.gutters.style.left=i?yo(r.display)+"px":"0",r.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(r){return rn(r)},!0),n("scrollbarStyle","native",function(r){nl(r),rn(r),r.display.scrollbars.setScrollTop(r.doc.scrollTop),r.display.scrollbars.setScrollLeft(r.doc.scrollLeft)},!0),n("lineNumbers",!1,function(r,i){r.display.gutterSpecs=Ao(r.options.gutters,i),In(r)},!0),n("firstLineNumber",1,In,!0),n("lineNumberFormatter",function(r){return r},In,!0),n("showCursorWhenSelecting",!1,zn,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(r,i){i=="nocursor"&&(en(r),r.display.input.blur()),r.display.input.readOnlyChanged(i)}),n("screenReaderLabel",null,function(r,i){i=i===""?null:i,r.display.input.screenReaderLabelChanged(i)}),n("disableInput",!1,function(r,i){i||r.display.input.reset()},!0),n("dragDrop",!0,hd),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,zn,!0),n("singleCursorHeightPerLine",!0,zn,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Nn,!0),n("addModeClass",!1,Nn,!0),n("pollInterval",100),n("undoDepth",200,function(r,i){return r.doc.history.undoDepth=i}),n("historyEventDelay",1250),n("viewportMargin",10,function(r){return r.refresh()},!0),n("maxHighlightLength",1e4,Nn,!0),n("moveInputWithCursor",!0,function(r,i){i||r.display.input.resetPosition()}),n("tabindex",null,function(r,i){return r.display.input.getField().tabIndex=i||""}),n("autofocus",null),n("direction","ltr",function(r,i){return r.doc.setDirection(i)},!0),n("phrases",null)}function hd(e,t,n){var r=n&&n!=fn;if(!t!=!r){var i=e.display.dragFunctions,a=t?Ie:_t;a(e.display.scroller,"dragstart",i.start),a(e.display.scroller,"dragenter",i.enter),a(e.display.scroller,"dragover",i.over),a(e.display.scroller,"dragleave",i.leave),a(e.display.scroller,"drop",i.drop)}}function gd(e){e.options.lineWrapping?(le(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(Q(e.display.wrapper,"CodeMirror-wrap"),so(e)),xo(e),zt(e),En(e),setTimeout(function(){return rn(e)},100)}function tt(e,t){var n=this;if(!(this instanceof tt))return new tt(e,t);this.options=t=t?ge(t):{},ge(ts,t,!1);var r=t.value;typeof r=="string"?r=new Mt(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new tt.inputStyles[t.inputStyle](this),a=this.display=new Ef(e,r,i,t);a.wrapper.CodeMirror=this,es(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),nl(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new qe,keySeq:null,specialChars:null},t.autofocus&&!E&&a.input.focus(),s&&h<11&&setTimeout(function(){return n.display.input.reset(!0)},20),md(this),Gf(),Fr(this),this.curOp.forceUpdate=!0,pl(this,r),t.autofocus&&!E||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&So(n)},20):en(this);for(var l in Ei)Ei.hasOwnProperty(l)&&Ei[l](this,t[l],fn);al(this),t.finishInit&&t.finishInit(this);for(var u=0;u400}Ie(t.scroller,"touchstart",function(f){if(!ot(e,f)&&!a(f)&&!Wo(e,f)){t.input.ensurePolled(),clearTimeout(n);var m=+new Date;t.activeTouch={start:m,moved:!1,prev:m-r.end<=300?r:null},f.touches.length==1&&(t.activeTouch.left=f.touches[0].pageX,t.activeTouch.top=f.touches[0].pageY)}}),Ie(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),Ie(t.scroller,"touchend",function(f){var m=t.activeTouch;if(m&&!lr(t,f)&&m.left!=null&&!m.moved&&new Date-m.start<300){var A=e.coordsChar(t.activeTouch,"page"),B;!m.prev||l(m,m.prev)?B=new Ye(A,A):!m.prev.prev||l(m,m.prev.prev)?B=e.findWordAt(A):B=new Ye(ne(A.line,0),je(e.doc,ne(A.line+1,0))),e.setSelection(B.anchor,B.head),e.focus(),kt(f)}i()}),Ie(t.scroller,"touchcancel",i),Ie(t.scroller,"scroll",function(){t.scroller.clientHeight&&(An(e,t.scroller.scrollTop),Dr(e,t.scroller.scrollLeft,!0),it(e,"scroll",e))}),Ie(t.scroller,"mousewheel",function(f){return ul(e,f)}),Ie(t.scroller,"DOMMouseScroll",function(f){return ul(e,f)}),Ie(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(f){ot(e,f)||dr(f)},over:function(f){ot(e,f)||(Kf(e,f),dr(f))},start:function(f){return $f(e,f)},drop:gt(e,Uf),leave:function(f){ot(e,f)||Ol(e)}};var u=t.input.getField();Ie(u,"keyup",function(f){return Zl.call(e,f)}),Ie(u,"keydown",gt(e,Gl)),Ie(u,"keypress",gt(e,Xl)),Ie(u,"focus",function(f){return So(e,f)}),Ie(u,"blur",function(f){return en(e,f)})}var Uo=[];tt.defineInitHook=function(e){return Uo.push(e)};function Xn(e,t,n,r){var i=e.doc,a;n==null&&(n="add"),n=="smart"&&(i.mode.indent?a=wn(e,t).state:n="prev");var l=e.options.tabSize,u=Ae(i,t),f=Oe(u.text,null,l);u.stateAfter&&(u.stateAfter=null);var m=u.text.match(/^\s*/)[0],A;if(!r&&!/\S/.test(u.text))A=0,n="not";else if(n=="smart"&&(A=i.mode.indent(a,u.text.slice(m.length),u.text),A==Ze||A>150)){if(!r)return;n="prev"}n=="prev"?t>i.first?A=Oe(Ae(i,t-1).text,null,l):A=0:n=="add"?A=f+e.options.indentUnit:n=="subtract"?A=f-e.options.indentUnit:typeof n=="number"&&(A=f+n),A=Math.max(0,A);var B="",ee=0;if(e.options.indentWithTabs)for(var Y=Math.floor(A/l);Y;--Y)ee+=l,B+=" ";if(eel,f=Ht(t),m=null;if(u&&r.ranges.length>1)if(Qt&&Qt.text.join(` +`)==t){if(r.ranges.length%Qt.text.length==0){m=[];for(var A=0;A=0;ee--){var Y=r.ranges[ee],ie=Y.from(),ue=Y.to();Y.empty()&&(n&&n>0?ie=ne(ie.line,ie.ch-n):e.state.overwrite&&!u?ue=ne(ue.line,Math.min(Ae(a,ue.line).text.length,ue.ch+ce(f).length)):u&&Qt&&Qt.lineWise&&Qt.text.join(` `)==f.join(` -`)&&(ie=ue=ne(ie.line,0)));var me={from:ie,to:ue,text:m?m[J%m.length]:f,origin:i||(u?"paste":e.state.cutIncoming>l?"cut":"+input")};an(e.doc,me),ht(e,"inputRead",e,me)}t&&!u&&ns(e,t),tn(e),e.curOp.updateInput<2&&(e.curOp.updateInput=P),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function rs(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&t.hasFocus()&&Nt(t,function(){return $o(t,n,0,null,"paste")}),!0}function ns(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var a=e.getModeAt(i.head),l=!1;if(a.electricChars){for(var u=0;u-1){l=Xn(e,i.head.line,"smart");break}}else a.electricInput&&a.electricInput.test(Ae(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=Xn(e,i.head.line,"smart"));l&&ht(e,"electricInput",e,i.head.line)}}}function is(e){for(var t=[],n=[],r=0;ra&&(Xn(this,u.head.line,r,!0),a=u.head.line,l==this.doc.sel.primIndex&&tn(this));else{var f=u.from(),m=u.to(),A=Math.max(a,f.line);a=Math.min(this.lastLine(),m.line-(m.ch?0:1))+1;for(var P=A;P0&&Oo(this.doc,l,new Ye(f,J[l].to()),ke)}}}),getTokenAt:function(r,i){return ga(this,r,i)},getLineTokens:function(r,i){return ga(this,ne(r),i,!0)},getTokenTypeAt:function(r){r=Re(this.doc,r);var i=da(this,Ae(this.doc,r.line)),a=0,l=(i.length-1)/2,u=r.ch,f;if(u==0)f=i[2];else for(;;){var m=a+l>>1;if((m?i[m*2-1]:0)>=u)l=m;else if(i[m*2+1]f&&(r=f,l=!0),u=Ae(this.doc,r)}else u=r;return ci(this,u,{top:0,left:0},i||"page",a||l).top+(l?this.doc.height-ar(u):0)},defaultTextHeight:function(){return Vr(this.display)},defaultCharWidth:function(){return Jr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,i,a,l,u){var f=this.display;r=Xt(this,Re(this.doc,r));var m=r.bottom,A=r.left;if(i.style.position="absolute",i.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(i),f.sizer.appendChild(i),l=="over")m=r.top;else if(l=="above"||l=="near"){var P=Math.max(f.wrapper.clientHeight,this.doc.height),J=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);(l=="above"||r.bottom+i.offsetHeight>P)&&r.top>i.offsetHeight?m=r.top-i.offsetHeight:r.bottom+i.offsetHeight<=P&&(m=r.bottom),A+i.offsetWidth>J&&(A=J-i.offsetWidth)}i.style.top=m+"px",i.style.left=i.style.right="",u=="right"?(A=f.sizer.clientWidth-i.offsetWidth,i.style.right="0px"):(u=="left"?A=0:u=="middle"&&(A=(f.sizer.clientWidth-i.offsetWidth)/2),i.style.left=A+"px"),a&&hf(this,{left:A,top:m,right:A+i.offsetWidth,bottom:m+i.offsetHeight})},triggerOnKeyDown:Tt(Gl),triggerOnKeyPress:Tt(Xl),triggerOnKeyUp:Zl,triggerOnMouseDown:Tt(Yl),execCommand:function(r){if($n.hasOwnProperty(r))return $n[r].call(null,this)},triggerElectric:Tt(function(r){ns(this,r)}),findPosH:function(r,i,a,l){var u=1;i<0&&(u=-1,i=-i);for(var f=Re(this.doc,r),m=0;m0&&A(a.charAt(l-1));)--l;for(;u.5||this.options.lineWrapping)&&xo(this),it(this,"refresh",this)}),swapDoc:Tt(function(r){var i=this.doc;return i.cm=null,this.state.selectingText&&this.state.selectingText(),pl(this,r),En(this),this.display.input.reset(),Mn(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,ht(this,"swapDoc",this,i),i}),phrase:function(r){var i=this.options.phrases;return i&&Object.prototype.hasOwnProperty.call(i,r)?i[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Wt(e),e.registerHelper=function(r,i,a){n.hasOwnProperty(r)||(n[r]=e[r]={_global:[]}),n[r][i]=a},e.registerGlobalHelper=function(r,i,a,l){e.registerHelper(r,i,l),n[r]._global.push({pred:a,val:l})}}function Go(e,t,n,r,i){var a=t,l=n,u=Ae(e,t.line),f=i&&e.direction=="rtl"?-n:n;function m(){var _e=t.line+f;return _e=e.first+e.size?!1:(t=new ne(_e,t.ch,t.sticky),u=Ae(e,_e))}function A(_e){var be;if(r=="codepoint"){var Ce=u.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(Ce))be=null;else{var Ne=n>0?Ce>=55296&&Ce<56320:Ce>=56320&&Ce<57343;be=new ne(t.line,Math.max(0,Math.min(u.text.length,t.ch+n*(Ne?2:1))),-n)}}else i?be=Vf(e.cm,u,t,n):be=jo(u,t,n);if(be==null)if(!_e&&m())t=Ro(i,e.cm,u,t.line,f);else return!1;else t=be;return!0}if(r=="char"||r=="codepoint")A();else if(r=="column")A(!0);else if(r=="word"||r=="group")for(var P=null,J=r=="group",Y=e.cm&&e.cm.getHelper(t,"wordChars"),ie=!0;!(n<0&&!A(!ie));ie=!1){var ue=u.text.charAt(t.ch)||` -`,me=Me(ue,Y)?"w":J&&ue==` -`?"n":!J||/\s/.test(ue)?null:"p";if(J&&!ie&&!me&&(me="s"),P&&P!=me){n<0&&(n=1,A(),t.sticky="after");break}if(me&&(P=me),n>0&&!A(!ie))break}var ve=wi(e,t,a,l,!0);return Xe(a,ve)&&(ve.hitSide=!0),ve}function as(e,t,n,r){var i=e.doc,a=t.left,l;if(r=="page"){var u=Math.min(e.display.wrapper.clientHeight,pe(e).innerHeight||i(e).documentElement.clientHeight),f=Math.max(u-.5*Vr(e.display),3);l=(n>0?t.bottom:t.top)+n*f}else r=="line"&&(l=n>0?t.bottom+3:t.top-3);for(var m;m=mo(e,a,l),!!m.outside;){if(n<0?l<=0:l>=i.height){m.hitSide=!0;break}l+=n*5}return m}var Qe=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new qe,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Qe.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;i.contentEditable=!0,Ko(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function a(u){for(var f=u.target;f;f=f.parentNode){if(f==i)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(f.className))break}return!1}Fe(i,"paste",function(u){!a(u)||ot(r,u)||rs(u,r)||p<=11&&setTimeout(gt(r,function(){return t.updateFromDOM()}),20)}),Fe(i,"compositionstart",function(u){t.composing={data:u.data,done:!1}}),Fe(i,"compositionupdate",function(u){t.composing||(t.composing={data:u.data,done:!1})}),Fe(i,"compositionend",function(u){t.composing&&(u.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),Fe(i,"touchstart",function(){return n.forceCompositionEnd()}),Fe(i,"input",function(){t.composing||t.readFromDOMSoon()});function l(u){if(!(!a(u)||ot(r,u))){if(r.somethingSelected())zi({lineWise:!1,text:r.getSelections()}),u.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var f=is(r);zi({lineWise:!0,text:f.text}),u.type=="cut"&&r.operation(function(){r.setSelections(f.ranges,0,ke),r.replaceSelection("",null,"cut")})}else return;if(u.clipboardData){u.clipboardData.clearData();var m=Qt.text.join(` -`);if(u.clipboardData.setData("Text",m),u.clipboardData.getData("Text")==m){u.preventDefault();return}}var A=os(),P=A.firstChild;Ko(P),r.display.lineSpace.insertBefore(A,r.display.lineSpace.firstChild),P.value=Qt.text.join(` -`);var J=B(ze(i));q(P),setTimeout(function(){r.display.lineSpace.removeChild(A),J.focus(),J==i&&n.showPrimarySelection()},50)}}Fe(i,"copy",l),Fe(i,"cut",l)},Qe.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Qe.prototype.prepareSelection=function(){var e=Ya(this.cm,!1);return e.focus=B(ze(this.div))==this.div,e},Qe.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Qe.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Qe.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line=t.display.viewFrom&&ls(t,r)||{node:u[0].measure.map[2],offset:0},m=i.linee.firstLine()&&(r=ne(r.line-1,Ae(e.doc,r.line-1).length)),i.ch==Ae(e.doc,i.line).text.length&&i.linet.viewTo-1)return!1;var a,l,u;r.line==t.viewFrom||(a=Ar(e,r.line))==0?(l=k(t.view[0].line),u=t.view[0].node):(l=k(t.view[a].line),u=t.view[a-1].node.nextSibling);var f=Ar(e,i.line),m,A;if(f==t.view.length-1?(m=t.viewTo-1,A=t.lineDiv.lastChild):(m=k(t.view[f+1].line)-1,A=t.view[f+1].node.previousSibling),!u)return!1;for(var P=e.doc.splitLines(yd(e,u,A,l,m)),J=ir(e.doc,ne(l,0),ne(m,Ae(e.doc,m).text.length));P.length>1&&J.length>1;)if(ce(P)==ce(J))P.pop(),J.pop(),m--;else if(P[0]==J[0])P.shift(),J.shift(),l++;else break;for(var Y=0,ie=0,ue=P[0],me=J[0],ve=Math.min(ue.length,me.length);Yr.ch&&_e.charCodeAt(_e.length-ie-1)==be.charCodeAt(be.length-ie-1);)Y--,ie++;P[P.length-1]=_e.slice(0,_e.length-ie).replace(/^\u200b+/,""),P[0]=P[0].slice(Y).replace(/\u200b+$/,"");var Ne=ne(l,Y),Ie=ne(m,J.length?ce(J).length-ie:0);if(P.length>1||P[0]||ye(Ne,Ie))return ln(e.doc,P,Ne,Ie,"+input"),!0},Qe.prototype.ensurePolled=function(){this.forceCompositionEnd()},Qe.prototype.reset=function(){this.forceCompositionEnd()},Qe.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Qe.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},Qe.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&Nt(this.cm,function(){return zt(e.cm)})},Qe.prototype.setUneditable=function(e){e.contentEditable="false"},Qe.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||gt(this.cm,$o)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},Qe.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},Qe.prototype.onContextMenu=function(){},Qe.prototype.resetPosition=function(){},Qe.prototype.needsContentAttribute=!0;function ls(e,t){var n=po(e,t.line);if(!n||n.hidden)return null;var r=Ae(e.doc,t.line),i=Na(n,r,t.line),a=Pe(r,e.doc.direction),l="left";if(a){var u=Pt(a,t.ch);l=u%2?"right":"left"}var f=ja(i.map,t.ch,l);return f.offset=f.collapse=="right"?f.end:f.start,f}function bd(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function dn(e,t){return t&&(e.bad=!0),e}function yd(e,t,n,r,i){var a="",l=!1,u=e.doc.lineSeparator(),f=!1;function m(Y){return function(ie){return ie.id==Y}}function A(){l&&(a+=u,f&&(a+=u),l=f=!1)}function P(Y){Y&&(A(),a+=Y)}function J(Y){if(Y.nodeType==1){var ie=Y.getAttribute("cm-text");if(ie){P(ie);return}var ue=Y.getAttribute("cm-marker"),me;if(ue){var ve=e.findMarks(ne(r,0),ne(i+1,0),m(+ue));ve.length&&(me=ve[0].find(0))&&P(ir(e.doc,me.from,me.to).join(u));return}if(Y.getAttribute("contenteditable")=="false")return;var _e=/^(pre|div|p|li|table|br)$/i.test(Y.nodeName);if(!/^br$/i.test(Y.nodeName)&&Y.textContent.length==0)return;_e&&A();for(var be=0;be=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),Fe(i,"paste",function(l){ot(r,l)||rs(l,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())});function a(l){if(!ot(r,l)){if(r.somethingSelected())zi({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var u=is(r);zi({lineWise:!0,text:u.text}),l.type=="cut"?r.setSelections(u.ranges,null,ke):(n.prevInput="",i.value=u.text.join(` -`),q(i))}else return;l.type=="cut"&&(r.state.cutIncoming=+new Date)}}Fe(i,"cut",a),Fe(i,"copy",a),Fe(e.scroller,"paste",function(l){if(!(lr(e,l)||ot(r,l))){if(!i.dispatchEvent){r.state.pasteIncoming=+new Date,n.focus();return}var u=new Event("paste");u.clipboardData=l.clipboardData,i.dispatchEvent(u)}}),Fe(e.lineSpace,"selectstart",function(l){lr(e,l)||kt(l)}),Fe(i,"compositionstart",function(){var l=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:l,range:r.markText(l,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Fe(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},st.prototype.createField=function(e){this.wrapper=os(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;Ko(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},st.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},st.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=Ya(e);if(e.options.moveInputWithCursor){var i=Xt(e,n.sel.primary().head,"div"),a=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-a.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-a.left))}return r},st.prototype.showSelection=function(e){var t=this.cm,n=t.display;V(n.cursorDiv,e.cursors),V(n.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},st.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&q(this.textarea),s&&p>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",s&&p>=9&&(this.hasSelection=null));this.resetting=!1}},st.prototype.getField=function(){return this.textarea},st.prototype.supportsTouch=function(){return!1},st.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!M||B(ze(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},st.prototype.blur=function(){this.textarea.blur()},st.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},st.prototype.receivedFocus=function(){this.slowPoll()},st.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},st.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function n(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,n)):(t.pollingFast=!1,t.slowPoll())}t.polling.set(20,n)},st.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||hr(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(s&&p>=9&&this.hasSelection===i||H&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var a=i.charCodeAt(0);if(a==8203&&!r&&(r="\u200B"),a==8666)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(r.length,i.length);l1e3||i.indexOf(` -`)>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},st.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},st.prototype.onKeyPress=function(){s&&p>=9&&(this.hasSelection=null),this.fastPoll()},st.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var a=Mr(n,e),l=r.scroller.scrollTop;if(!a||d)return;var u=n.options.resetSelectionOnContextMenu;u&&n.doc.sel.contains(a)==-1&>(n,wt)(n.doc,yr(a),ke);var f=i.style.cssText,m=t.wrapper.style.cssText,A=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText=`position: absolute; width: 30px; height: 30px; +`)&&(ie=ue=ne(ie.line,0)));var me={from:ie,to:ue,text:m?m[ee%m.length]:f,origin:i||(u?"paste":e.state.cutIncoming>l?"cut":"+input")};an(e.doc,me),ht(e,"inputRead",e,me)}t&&!u&&ns(e,t),tn(e),e.curOp.updateInput<2&&(e.curOp.updateInput=B),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function rs(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),!t.isReadOnly()&&!t.options.disableInput&&t.hasFocus()&&Nt(t,function(){return $o(t,n,0,null,"paste")}),!0}function ns(e,t){if(!(!e.options.electricChars||!e.options.smartIndent))for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var a=e.getModeAt(i.head),l=!1;if(a.electricChars){for(var u=0;u-1){l=Xn(e,i.head.line,"smart");break}}else a.electricInput&&a.electricInput.test(Ae(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=Xn(e,i.head.line,"smart"));l&&ht(e,"electricInput",e,i.head.line)}}}function is(e){for(var t=[],n=[],r=0;ra&&(Xn(this,u.head.line,r,!0),a=u.head.line,l==this.doc.sel.primIndex&&tn(this));else{var f=u.from(),m=u.to(),A=Math.max(a,f.line);a=Math.min(this.lastLine(),m.line-(m.ch?0:1))+1;for(var B=A;B0&&Oo(this.doc,l,new Ye(f,ee[l].to()),ke)}}}),getTokenAt:function(r,i){return ga(this,r,i)},getLineTokens:function(r,i){return ga(this,ne(r),i,!0)},getTokenTypeAt:function(r){r=je(this.doc,r);var i=da(this,Ae(this.doc,r.line)),a=0,l=(i.length-1)/2,u=r.ch,f;if(u==0)f=i[2];else for(;;){var m=a+l>>1;if((m?i[m*2-1]:0)>=u)l=m;else if(i[m*2+1]f&&(r=f,l=!0),u=Ae(this.doc,r)}else u=r;return ci(this,u,{top:0,left:0},i||"page",a||l).top+(l?this.doc.height-ar(u):0)},defaultTextHeight:function(){return Vr(this.display)},defaultCharWidth:function(){return Jr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(r,i,a,l,u){var f=this.display;r=Xt(this,je(this.doc,r));var m=r.bottom,A=r.left;if(i.style.position="absolute",i.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(i),f.sizer.appendChild(i),l=="over")m=r.top;else if(l=="above"||l=="near"){var B=Math.max(f.wrapper.clientHeight,this.doc.height),ee=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);(l=="above"||r.bottom+i.offsetHeight>B)&&r.top>i.offsetHeight?m=r.top-i.offsetHeight:r.bottom+i.offsetHeight<=B&&(m=r.bottom),A+i.offsetWidth>ee&&(A=ee-i.offsetWidth)}i.style.top=m+"px",i.style.left=i.style.right="",u=="right"?(A=f.sizer.clientWidth-i.offsetWidth,i.style.right="0px"):(u=="left"?A=0:u=="middle"&&(A=(f.sizer.clientWidth-i.offsetWidth)/2),i.style.left=A+"px"),a&&hf(this,{left:A,top:m,right:A+i.offsetWidth,bottom:m+i.offsetHeight})},triggerOnKeyDown:Tt(Gl),triggerOnKeyPress:Tt(Xl),triggerOnKeyUp:Zl,triggerOnMouseDown:Tt(Yl),execCommand:function(r){if($n.hasOwnProperty(r))return $n[r].call(null,this)},triggerElectric:Tt(function(r){ns(this,r)}),findPosH:function(r,i,a,l){var u=1;i<0&&(u=-1,i=-i);for(var f=je(this.doc,r),m=0;m0&&A(a.charAt(l-1));)--l;for(;u.5||this.options.lineWrapping)&&xo(this),it(this,"refresh",this)}),swapDoc:Tt(function(r){var i=this.doc;return i.cm=null,this.state.selectingText&&this.state.selectingText(),pl(this,r),En(this),this.display.input.reset(),Mn(this,r.scrollLeft,r.scrollTop),this.curOp.forceScroll=!0,ht(this,"swapDoc",this,i),i}),phrase:function(r){var i=this.options.phrases;return i&&Object.prototype.hasOwnProperty.call(i,r)?i[r]:r},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Wt(e),e.registerHelper=function(r,i,a){n.hasOwnProperty(r)||(n[r]=e[r]={_global:[]}),n[r][i]=a},e.registerGlobalHelper=function(r,i,a,l){e.registerHelper(r,i,l),n[r]._global.push({pred:a,val:l})}}function Go(e,t,n,r,i){var a=t,l=n,u=Ae(e,t.line),f=i&&e.direction=="rtl"?-n:n;function m(){var _e=t.line+f;return _e=e.first+e.size?!1:(t=new ne(_e,t.ch,t.sticky),u=Ae(e,_e))}function A(_e){var be;if(r=="codepoint"){var Ce=u.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(Ce))be=null;else{var Ne=n>0?Ce>=55296&&Ce<56320:Ce>=56320&&Ce<57343;be=new ne(t.line,Math.max(0,Math.min(u.text.length,t.ch+n*(Ne?2:1))),-n)}}else i?be=Vf(e.cm,u,t,n):be=Bo(u,t,n);if(be==null)if(!_e&&m())t=jo(i,e.cm,u,t.line,f);else return!1;else t=be;return!0}if(r=="char"||r=="codepoint")A();else if(r=="column")A(!0);else if(r=="word"||r=="group")for(var B=null,ee=r=="group",Y=e.cm&&e.cm.getHelper(t,"wordChars"),ie=!0;!(n<0&&!A(!ie));ie=!1){var ue=u.text.charAt(t.ch)||` +`,me=Me(ue,Y)?"w":ee&&ue==` +`?"n":!ee||/\s/.test(ue)?null:"p";if(ee&&!ie&&!me&&(me="s"),B&&B!=me){n<0&&(n=1,A(),t.sticky="after");break}if(me&&(B=me),n>0&&!A(!ie))break}var ve=wi(e,t,a,l,!0);return Xe(a,ve)&&(ve.hitSide=!0),ve}function as(e,t,n,r){var i=e.doc,a=t.left,l;if(r=="page"){var u=Math.min(e.display.wrapper.clientHeight,pe(e).innerHeight||i(e).documentElement.clientHeight),f=Math.max(u-.5*Vr(e.display),3);l=(n>0?t.bottom:t.top)+n*f}else r=="line"&&(l=n>0?t.bottom+3:t.top-3);for(var m;m=mo(e,a,l),!!m.outside;){if(n<0?l<=0:l>=i.height){m.hitSide=!0;break}l+=n*5}return m}var Qe=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new qe,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};Qe.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;i.contentEditable=!0,Ko(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize);function a(u){for(var f=u.target;f;f=f.parentNode){if(f==i)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(f.className))break}return!1}Ie(i,"paste",function(u){!a(u)||ot(r,u)||rs(u,r)||h<=11&&setTimeout(gt(r,function(){return t.updateFromDOM()}),20)}),Ie(i,"compositionstart",function(u){t.composing={data:u.data,done:!1}}),Ie(i,"compositionupdate",function(u){t.composing||(t.composing={data:u.data,done:!1})}),Ie(i,"compositionend",function(u){t.composing&&(u.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),Ie(i,"touchstart",function(){return n.forceCompositionEnd()}),Ie(i,"input",function(){t.composing||t.readFromDOMSoon()});function l(u){if(!(!a(u)||ot(r,u))){if(r.somethingSelected())zi({lineWise:!1,text:r.getSelections()}),u.type=="cut"&&r.replaceSelection("",null,"cut");else if(r.options.lineWiseCopyCut){var f=is(r);zi({lineWise:!0,text:f.text}),u.type=="cut"&&r.operation(function(){r.setSelections(f.ranges,0,ke),r.replaceSelection("",null,"cut")})}else return;if(u.clipboardData){u.clipboardData.clearData();var m=Qt.text.join(` +`);if(u.clipboardData.setData("Text",m),u.clipboardData.getData("Text")==m){u.preventDefault();return}}var A=os(),B=A.firstChild;Ko(B),r.display.lineSpace.insertBefore(A,r.display.lineSpace.firstChild),B.value=Qt.text.join(` +`);var ee=R(ze(i));F(B),setTimeout(function(){r.display.lineSpace.removeChild(A),ee.focus(),ee==i&&n.showPrimarySelection()},50)}}Ie(i,"copy",l),Ie(i,"cut",l)},Qe.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Qe.prototype.prepareSelection=function(){var e=Ya(this.cm,!1);return e.focus=R(ze(this.div))==this.div,e},Qe.prototype.showSelection=function(e,t){!e||!this.cm.display.view.length||((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Qe.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Qe.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,n=t.doc.sel.primary(),r=n.from(),i=n.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||i.line=t.display.viewFrom&&ls(t,r)||{node:u[0].measure.map[2],offset:0},m=i.linee.firstLine()&&(r=ne(r.line-1,Ae(e.doc,r.line-1).length)),i.ch==Ae(e.doc,i.line).text.length&&i.linet.viewTo-1)return!1;var a,l,u;r.line==t.viewFrom||(a=Ar(e,r.line))==0?(l=x(t.view[0].line),u=t.view[0].node):(l=x(t.view[a].line),u=t.view[a-1].node.nextSibling);var f=Ar(e,i.line),m,A;if(f==t.view.length-1?(m=t.viewTo-1,A=t.lineDiv.lastChild):(m=x(t.view[f+1].line)-1,A=t.view[f+1].node.previousSibling),!u)return!1;for(var B=e.doc.splitLines(yd(e,u,A,l,m)),ee=ir(e.doc,ne(l,0),ne(m,Ae(e.doc,m).text.length));B.length>1&&ee.length>1;)if(ce(B)==ce(ee))B.pop(),ee.pop(),m--;else if(B[0]==ee[0])B.shift(),ee.shift(),l++;else break;for(var Y=0,ie=0,ue=B[0],me=ee[0],ve=Math.min(ue.length,me.length);Yr.ch&&_e.charCodeAt(_e.length-ie-1)==be.charCodeAt(be.length-ie-1);)Y--,ie++;B[B.length-1]=_e.slice(0,_e.length-ie).replace(/^\u200b+/,""),B[0]=B[0].slice(Y).replace(/\u200b+$/,"");var Ne=ne(l,Y),Fe=ne(m,ee.length?ce(ee).length-ie:0);if(B.length>1||B[0]||ye(Ne,Fe))return ln(e.doc,B,Ne,Fe,"+input"),!0},Qe.prototype.ensurePolled=function(){this.forceCompositionEnd()},Qe.prototype.reset=function(){this.forceCompositionEnd()},Qe.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Qe.prototype.readFromDOMSoon=function(){var e=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing)if(e.composing.done)e.composing=null;else return;e.updateFromDOM()},80))},Qe.prototype.updateFromDOM=function(){var e=this;(this.cm.isReadOnly()||!this.pollContent())&&Nt(this.cm,function(){return zt(e.cm)})},Qe.prototype.setUneditable=function(e){e.contentEditable="false"},Qe.prototype.onKeyPress=function(e){e.charCode==0||this.composing||(e.preventDefault(),this.cm.isReadOnly()||gt(this.cm,$o)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0))},Qe.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(e!="nocursor")},Qe.prototype.onContextMenu=function(){},Qe.prototype.resetPosition=function(){},Qe.prototype.needsContentAttribute=!0;function ls(e,t){var n=po(e,t.line);if(!n||n.hidden)return null;var r=Ae(e.doc,t.line),i=Na(n,r,t.line),a=Pe(r,e.doc.direction),l="left";if(a){var u=Pt(a,t.ch);l=u%2?"right":"left"}var f=Ba(i.map,t.ch,l);return f.offset=f.collapse=="right"?f.end:f.start,f}function bd(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}function dn(e,t){return t&&(e.bad=!0),e}function yd(e,t,n,r,i){var a="",l=!1,u=e.doc.lineSeparator(),f=!1;function m(Y){return function(ie){return ie.id==Y}}function A(){l&&(a+=u,f&&(a+=u),l=f=!1)}function B(Y){Y&&(A(),a+=Y)}function ee(Y){if(Y.nodeType==1){var ie=Y.getAttribute("cm-text");if(ie){B(ie);return}var ue=Y.getAttribute("cm-marker"),me;if(ue){var ve=e.findMarks(ne(r,0),ne(i+1,0),m(+ue));ve.length&&(me=ve[0].find(0))&&B(ir(e.doc,me.from,me.to).join(u));return}if(Y.getAttribute("contenteditable")=="false")return;var _e=/^(pre|div|p|li|table|br)$/i.test(Y.nodeName);if(!/^br$/i.test(Y.nodeName)&&Y.textContent.length==0)return;_e&&A();for(var be=0;be=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),Ie(i,"paste",function(l){ot(r,l)||rs(l,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())});function a(l){if(!ot(r,l)){if(r.somethingSelected())zi({lineWise:!1,text:r.getSelections()});else if(r.options.lineWiseCopyCut){var u=is(r);zi({lineWise:!0,text:u.text}),l.type=="cut"?r.setSelections(u.ranges,null,ke):(n.prevInput="",i.value=u.text.join(` +`),F(i))}else return;l.type=="cut"&&(r.state.cutIncoming=+new Date)}}Ie(i,"cut",a),Ie(i,"copy",a),Ie(e.scroller,"paste",function(l){if(!(lr(e,l)||ot(r,l))){if(!i.dispatchEvent){r.state.pasteIncoming=+new Date,n.focus();return}var u=new Event("paste");u.clipboardData=l.clipboardData,i.dispatchEvent(u)}}),Ie(e.lineSpace,"selectstart",function(l){lr(e,l)||kt(l)}),Ie(i,"compositionstart",function(){var l=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:l,range:r.markText(l,r.getCursor("to"),{className:"CodeMirror-composing"})}}),Ie(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},st.prototype.createField=function(e){this.wrapper=os(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;Ko(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},st.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},st.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=Ya(e);if(e.options.moveInputWithCursor){var i=Xt(e,n.sel.primary().head,"div"),a=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-a.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-a.left))}return r},st.prototype.showSelection=function(e){var t=this.cm,n=t.display;V(n.cursorDiv,e.cursors),V(n.selectionDiv,e.selection),e.teTop!=null&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},st.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&F(this.textarea),s&&h>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",s&&h>=9&&(this.hasSelection=null));this.resetting=!1}},st.prototype.getField=function(){return this.textarea},st.prototype.supportsTouch=function(){return!1},st.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!E||R(ze(this.textarea))!=this.textarea))try{this.textarea.focus()}catch{}},st.prototype.blur=function(){this.textarea.blur()},st.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},st.prototype.receivedFocus=function(){this.slowPoll()},st.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},st.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0;function n(){var r=t.poll();!r&&!e?(e=!0,t.polling.set(60,n)):(t.pollingFast=!1,t.slowPoll())}t.polling.set(20,n)},st.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||hr(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(s&&h>=9&&this.hasSelection===i||O&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var a=i.charCodeAt(0);if(a==8203&&!r&&(r="\u200B"),a==8666)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(r.length,i.length);l1e3||i.indexOf(` +`)>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},st.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},st.prototype.onKeyPress=function(){s&&h>=9&&(this.hasSelection=null),this.fastPoll()},st.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var a=Mr(n,e),l=r.scroller.scrollTop;if(!a||d)return;var u=n.options.resetSelectionOnContextMenu;u&&n.doc.sel.contains(a)==-1&>(n,wt)(n.doc,yr(a),ke);var f=i.style.cssText,m=t.wrapper.style.cssText,A=t.wrapper.offsetParent.getBoundingClientRect();t.wrapper.style.cssText="position: static",i.style.cssText=`position: absolute; width: 30px; height: 30px; top: `+(e.clientY-A.top-5)+"px; left: "+(e.clientX-A.left-5)+`px; z-index: 1000; background: `+(s?"rgba(255, 255, 255, .05)":"transparent")+`; - outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var P;g&&(P=i.ownerDocument.defaultView.scrollY),r.input.focus(),g&&i.ownerDocument.defaultView.scrollTo(null,P),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=Y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll);function J(){if(i.selectionStart!=null){var ue=n.somethingSelected(),me="\u200B"+(ue?i.value:"");i.value="\u21DA",i.value=me,t.prevInput=ue?"":"\u200B",i.selectionStart=1,i.selectionEnd=me.length,r.selForContextMenu=n.doc.sel}}function Y(){if(t.contextMenuPending==Y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,i.style.cssText=f,s&&p<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),i.selectionStart!=null)){(!s||s&&p<9)&&J();var ue=0,me=function(){r.selForContextMenu==n.doc.sel&&i.selectionStart==0&&i.selectionEnd>0&&t.prevInput=="\u200B"?gt(n,Ll)(n):ue++<10?r.detectingSelectAll=setTimeout(me,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(me,200)}}if(s&&p>=9&&J(),F){dr(e);var ie=function(){_t(window,"mouseup",ie),setTimeout(Y,20)};Fe(window,"mouseup",ie)}else setTimeout(Y,50)},st.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},st.prototype.setUneditable=function(){},st.prototype.needsContentAttribute=!1;function _d(e,t){if(t=t?ge(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var n=B(ze(e));t.autofocus=n==e||e.getAttribute("autofocus")!=null&&n==document.body}function r(){e.value=u.getValue()}var i;if(e.form&&(Fe(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var a=e.form;i=a.submit;try{var l=a.submit=function(){r(),a.submit=i,a.submit(),a.submit=l}}catch{}}t.finishInit=function(f){f.save=r,f.getTextArea=function(){return e},f.toTextArea=function(){f.toTextArea=isNaN,r(),e.parentNode.removeChild(f.getWrapperElement()),e.style.display="",e.form&&(_t(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=i))}},e.style.display="none";var u=tt(function(f){return e.parentNode.insertBefore(f,e.nextSibling)},t);return u}function kd(e){e.off=_t,e.on=Fe,e.wheelEventPixels=zf,e.Doc=Mt,e.splitLines=Bt,e.countColumn=Oe,e.findColumn=Ge,e.isWordChar=we,e.Pass=Ze,e.signal=it,e.Line=Xr,e.changeEnd=xr,e.scrollbarModel=rl,e.Pos=ne,e.cmpPos=ye,e.modes=Wr,e.mimeModes=Kt,e.resolveMode=Ur,e.getMode=$r,e.modeExtensions=gr,e.extendMode=Kr,e.copyState=Vt,e.startState=Gr,e.innerMode=_n,e.commands=$n,e.keyMap=ur,e.keyName=Bl,e.isModifierKey=Rl,e.lookupKey=un,e.normalizeKeyMap=Qf,e.StringStream=at,e.SharedTextMarker=Bn,e.TextMarker=kr,e.LineWidget=Hn,e.e_preventDefault=kt,e.e_stopPropagation=Hr,e.e_stop=dr,e.addClass=le,e.contains=I,e.rmClass=Q,e.keyNames=wr}pd(tt),vd(tt);var wd="iter insert remove copy getEditor constructor".split(" ");for(var Ai in Mt.prototype)Mt.prototype.hasOwnProperty(Ai)&&Se(wd,Ai)<0&&(tt.prototype[Ai]=function(e){return function(){return e.apply(this.doc,arguments)}}(Mt.prototype[Ai]));return Wt(Mt),tt.inputStyles={textarea:st,contenteditable:Qe},tt.defineMode=function(e){!tt.defaults.mode&&e!="null"&&(tt.defaults.mode=e),Gt.apply(this,arguments)},tt.defineMIME=Cr,tt.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),tt.defineMIME("text/plain","null"),tt.defineExtension=function(e,t){tt.prototype[e]=t},tt.defineDocExtension=function(e,t){Mt.prototype[e]=t},tt.fromTextArea=_d,kd(tt),tt.version="5.65.16",tt})});var Yn=Ke((us,cs)=>{(function(o){typeof us=="object"&&typeof cs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.overlayMode=function(h,v,C){return{startState:function(){return{base:o.startState(h),overlay:o.startState(v),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(b){return{base:o.copyState(h,b.base),overlay:o.copyState(v,b.overlay),basePos:b.basePos,baseCur:null,overlayPos:b.overlayPos,overlayCur:null}},token:function(b,S){return(b!=S.streamSeen||Math.min(S.basePos,S.overlayPos){(function(o){typeof fs=="object"&&typeof ds=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var h=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,v=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,C=/[*+-]\s/;o.commands.newlineAndIndentContinueMarkdownList=function(S){if(S.getOption("disableInput"))return o.Pass;for(var s=S.listSelections(),p=[],g=0;g\s*$/.test(E),M=!/>\s*$/.test(E);(R||M)&&S.replaceRange("",{line:L.line,ch:0},{line:L.line,ch:L.ch+1}),p[g]=` -`}else{var H=z[1],Z=z[5],ee=!(C.test(z[2])||z[2].indexOf(">")>=0),re=ee?parseInt(z[3],10)+1+z[4]:z[2].replace("x"," ");p[g]=` -`+H+re+Z,ee&&b(S,L)}}S.replaceSelections(p)};function b(S,s){var p=s.line,g=0,L=0,x=h.exec(S.getLine(p)),c=x[1];do{g+=1;var d=p+g,w=S.getLine(d),E=h.exec(w);if(E){var z=E[1],y=parseInt(x[3],10)+g-L,R=parseInt(E[3],10),M=R;if(c===z&&!isNaN(R))y===R&&(M=R+1),y>R&&(M=y+1),S.replaceRange(w.replace(h,z+M+E[4]+E[5]),{line:d,ch:0},{line:d,ch:w.length});else{if(c.length>z.length||c.length{(function(o){typeof hs=="object"&&typeof gs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){o.defineOption("placeholder","",function(p,g,L){var x=L&&L!=o.Init;if(g&&!x)p.on("blur",b),p.on("change",S),p.on("swapDoc",S),o.on(p.getInputField(),"compositionupdate",p.state.placeholderCompose=function(){C(p)}),S(p);else if(!g&&x){p.off("blur",b),p.off("change",S),p.off("swapDoc",S),o.off(p.getInputField(),"compositionupdate",p.state.placeholderCompose),h(p);var c=p.getWrapperElement();c.className=c.className.replace(" CodeMirror-empty","")}g&&!p.hasFocus()&&b(p)});function h(p){p.state.placeholder&&(p.state.placeholder.parentNode.removeChild(p.state.placeholder),p.state.placeholder=null)}function v(p){h(p);var g=p.state.placeholder=document.createElement("pre");g.style.cssText="height: 0; overflow: visible",g.style.direction=p.getOption("direction"),g.className="CodeMirror-placeholder CodeMirror-line-like";var L=p.getOption("placeholder");typeof L=="string"&&(L=document.createTextNode(L)),g.appendChild(L),p.display.lineSpace.insertBefore(g,p.display.lineSpace.firstChild)}function C(p){setTimeout(function(){var g=!1;if(p.lineCount()==1){var L=p.getInputField();g=L.nodeName=="TEXTAREA"?!p.getLine(0).length:!/[^\u200b]/.test(L.querySelector(".CodeMirror-line").textContent)}g?v(p):h(p)},20)}function b(p){s(p)&&v(p)}function S(p){var g=p.getWrapperElement(),L=s(p);g.className=g.className.replace(" CodeMirror-empty","")+(L?" CodeMirror-empty":""),L?v(p):h(p)}function s(p){return p.lineCount()===1&&p.getLine(0)===""}})});var ys=Ke((vs,bs)=>{(function(o){typeof vs=="object"&&typeof bs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineOption("styleSelectedText",!1,function(x,c,d){var w=d&&d!=o.Init;c&&!w?(x.state.markedSelection=[],x.state.markedSelectionStyle=typeof c=="string"?c:"CodeMirror-selectedtext",g(x),x.on("cursorActivity",h),x.on("change",v)):!c&&w&&(x.off("cursorActivity",h),x.off("change",v),p(x),x.state.markedSelection=x.state.markedSelectionStyle=null)});function h(x){x.state.markedSelection&&x.operation(function(){L(x)})}function v(x){x.state.markedSelection&&x.state.markedSelection.length&&x.operation(function(){p(x)})}var C=8,b=o.Pos,S=o.cmpPos;function s(x,c,d,w){if(S(c,d)!=0)for(var E=x.state.markedSelection,z=x.state.markedSelectionStyle,y=c.line;;){var R=y==c.line?c:b(y,0),M=y+C,H=M>=d.line,Z=H?d:b(M,0),ee=x.markText(R,Z,{className:z});if(w==null?E.push(ee):E.splice(w++,0,ee),H)break;y=M}}function p(x){for(var c=x.state.markedSelection,d=0;d1)return g(x);var c=x.getCursor("start"),d=x.getCursor("end"),w=x.state.markedSelection;if(!w.length)return s(x,c,d);var E=w[0].find(),z=w[w.length-1].find();if(!E||!z||d.line-c.line<=C||S(c,z.to)>=0||S(d,E.from)<=0)return g(x);for(;S(c,E.from)>0;)w.shift().clear(),E=w[0].find();for(S(c,E.from)<0&&(E.to.line-c.line0&&(d.line-z.from.line{(function(o){typeof xs=="object"&&typeof _s=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var h=o.Pos;function v(y){var R=y.flags;return R??(y.ignoreCase?"i":"")+(y.global?"g":"")+(y.multiline?"m":"")}function C(y,R){for(var M=v(y),H=M,Z=0;Zre);N++){var F=y.getLine(ee++);H=H==null?F:H+` -`+F}Z=Z*2,R.lastIndex=M.ch;var D=R.exec(H);if(D){var Q=H.slice(0,D.index).split(` + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var B;g&&(B=i.ownerDocument.defaultView.scrollY),r.input.focus(),g&&i.ownerDocument.defaultView.scrollTo(null,B),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=Y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll);function ee(){if(i.selectionStart!=null){var ue=n.somethingSelected(),me="\u200B"+(ue?i.value:"");i.value="\u21DA",i.value=me,t.prevInput=ue?"":"\u200B",i.selectionStart=1,i.selectionEnd=me.length,r.selForContextMenu=n.doc.sel}}function Y(){if(t.contextMenuPending==Y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,i.style.cssText=f,s&&h<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),i.selectionStart!=null)){(!s||s&&h<9)&&ee();var ue=0,me=function(){r.selForContextMenu==n.doc.sel&&i.selectionStart==0&&i.selectionEnd>0&&t.prevInput=="\u200B"?gt(n,Ll)(n):ue++<10?r.detectingSelectAll=setTimeout(me,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(me,200)}}if(s&&h>=9&&ee(),I){dr(e);var ie=function(){_t(window,"mouseup",ie),setTimeout(Y,20)};Ie(window,"mouseup",ie)}else setTimeout(Y,50)},st.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},st.prototype.setUneditable=function(){},st.prototype.needsContentAttribute=!1;function _d(e,t){if(t=t?ge(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var n=R(ze(e));t.autofocus=n==e||e.getAttribute("autofocus")!=null&&n==document.body}function r(){e.value=u.getValue()}var i;if(e.form&&(Ie(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var a=e.form;i=a.submit;try{var l=a.submit=function(){r(),a.submit=i,a.submit(),a.submit=l}}catch{}}t.finishInit=function(f){f.save=r,f.getTextArea=function(){return e},f.toTextArea=function(){f.toTextArea=isNaN,r(),e.parentNode.removeChild(f.getWrapperElement()),e.style.display="",e.form&&(_t(e.form,"submit",r),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=i))}},e.style.display="none";var u=tt(function(f){return e.parentNode.insertBefore(f,e.nextSibling)},t);return u}function kd(e){e.off=_t,e.on=Ie,e.wheelEventPixels=zf,e.Doc=Mt,e.splitLines=Ht,e.countColumn=Oe,e.findColumn=Ge,e.isWordChar=we,e.Pass=Ze,e.signal=it,e.Line=Xr,e.changeEnd=xr,e.scrollbarModel=rl,e.Pos=ne,e.cmpPos=ye,e.modes=Wr,e.mimeModes=Kt,e.resolveMode=Ur,e.getMode=$r,e.modeExtensions=gr,e.extendMode=Kr,e.copyState=Vt,e.startState=Gr,e.innerMode=_n,e.commands=$n,e.keyMap=ur,e.keyName=Hl,e.isModifierKey=jl,e.lookupKey=un,e.normalizeKeyMap=Qf,e.StringStream=at,e.SharedTextMarker=Hn,e.TextMarker=kr,e.LineWidget=Rn,e.e_preventDefault=kt,e.e_stopPropagation=Rr,e.e_stop=dr,e.addClass=le,e.contains=N,e.rmClass=Q,e.keyNames=wr}pd(tt),vd(tt);var wd="iter insert remove copy getEditor constructor".split(" ");for(var Ai in Mt.prototype)Mt.prototype.hasOwnProperty(Ai)&&Se(wd,Ai)<0&&(tt.prototype[Ai]=(function(e){return function(){return e.apply(this.doc,arguments)}})(Mt.prototype[Ai]));return Wt(Mt),tt.inputStyles={textarea:st,contenteditable:Qe},tt.defineMode=function(e){!tt.defaults.mode&&e!="null"&&(tt.defaults.mode=e),Gt.apply(this,arguments)},tt.defineMIME=Cr,tt.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),tt.defineMIME("text/plain","null"),tt.defineExtension=function(e,t){tt.prototype[e]=t},tt.defineDocExtension=function(e,t){Mt.prototype[e]=t},tt.fromTextArea=_d,kd(tt),tt.version="5.65.20",tt}))});var Yn=Ke((us,cs)=>{(function(o){typeof us=="object"&&typeof cs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.overlayMode=function(p,v,C){return{startState:function(){return{base:o.startState(p),overlay:o.startState(v),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(b){return{base:o.copyState(p,b.base),overlay:o.copyState(v,b.overlay),basePos:b.basePos,baseCur:null,overlayPos:b.overlayPos,overlayCur:null}},token:function(b,S){return(b!=S.streamSeen||Math.min(S.basePos,S.overlayPos){(function(o){typeof fs=="object"&&typeof ds=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var p=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,v=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,C=/[*+-]\s/;o.commands.newlineAndIndentContinueMarkdownList=function(S){if(S.getOption("disableInput"))return o.Pass;for(var s=S.listSelections(),h=[],g=0;g\s*$/.test(z),E=!/>\s*$/.test(z);(W||E)&&S.replaceRange("",{line:T.line,ch:0},{line:T.line,ch:T.ch+1}),h[g]=` +`}else{var O=M[1],G=M[5],J=!(C.test(M[2])||M[2].indexOf(">")>=0),re=J?parseInt(M[3],10)+1+M[4]:M[2].replace("x"," ");h[g]=` +`+O+re+G,J&&b(S,T)}}S.replaceSelections(h)};function b(S,s){var h=s.line,g=0,T=0,w=p.exec(S.getLine(h)),c=w[1];do{g+=1;var d=h+g,k=S.getLine(d),z=p.exec(k);if(z){var M=z[1],_=parseInt(w[3],10)+g-T,W=parseInt(z[3],10),E=W;if(c===M&&!isNaN(W))_===W&&(E=W+1),_>W&&(E=_+1),S.replaceRange(k.replace(p,M+E+z[4]+z[5]),{line:d,ch:0},{line:d,ch:k.length});else{if(c.length>M.length||c.length{(function(o){typeof hs=="object"&&typeof gs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){o.defineOption("placeholder","",function(h,g,T){var w=T&&T!=o.Init;if(g&&!w)h.on("blur",b),h.on("change",S),h.on("swapDoc",S),o.on(h.getInputField(),"compositionupdate",h.state.placeholderCompose=function(){C(h)}),S(h);else if(!g&&w){h.off("blur",b),h.off("change",S),h.off("swapDoc",S),o.off(h.getInputField(),"compositionupdate",h.state.placeholderCompose),p(h);var c=h.getWrapperElement();c.className=c.className.replace(" CodeMirror-empty","")}g&&!h.hasFocus()&&b(h)});function p(h){h.state.placeholder&&(h.state.placeholder.parentNode.removeChild(h.state.placeholder),h.state.placeholder=null)}function v(h){p(h);var g=h.state.placeholder=document.createElement("pre");g.style.cssText="height: 0; overflow: visible",g.style.direction=h.getOption("direction"),g.className="CodeMirror-placeholder CodeMirror-line-like";var T=h.getOption("placeholder");typeof T=="string"&&(T=document.createTextNode(T)),g.appendChild(T),h.display.lineSpace.insertBefore(g,h.display.lineSpace.firstChild)}function C(h){setTimeout(function(){var g=!1;if(h.lineCount()==1){var T=h.getInputField();g=T.nodeName=="TEXTAREA"?!h.getLine(0).length:!/[^\u200b]/.test(T.querySelector(".CodeMirror-line").textContent)}g?v(h):p(h)},20)}function b(h){s(h)&&v(h)}function S(h){var g=h.getWrapperElement(),T=s(h);g.className=g.className.replace(" CodeMirror-empty","")+(T?" CodeMirror-empty":""),T?v(h):p(h)}function s(h){return h.lineCount()===1&&h.getLine(0)===""}})});var ys=Ke((vs,bs)=>{(function(o){typeof vs=="object"&&typeof bs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineOption("styleSelectedText",!1,function(w,c,d){var k=d&&d!=o.Init;c&&!k?(w.state.markedSelection=[],w.state.markedSelectionStyle=typeof c=="string"?c:"CodeMirror-selectedtext",g(w),w.on("cursorActivity",p),w.on("change",v)):!c&&k&&(w.off("cursorActivity",p),w.off("change",v),h(w),w.state.markedSelection=w.state.markedSelectionStyle=null)});function p(w){w.state.markedSelection&&w.operation(function(){T(w)})}function v(w){w.state.markedSelection&&w.state.markedSelection.length&&w.operation(function(){h(w)})}var C=8,b=o.Pos,S=o.cmpPos;function s(w,c,d,k){if(S(c,d)!=0)for(var z=w.state.markedSelection,M=w.state.markedSelectionStyle,_=c.line;;){var W=_==c.line?c:b(_,0),E=_+C,O=E>=d.line,G=O?d:b(E,0),J=w.markText(W,G,{className:M});if(k==null?z.push(J):z.splice(k++,0,J),O)break;_=E}}function h(w){for(var c=w.state.markedSelection,d=0;d1)return g(w);var c=w.getCursor("start"),d=w.getCursor("end"),k=w.state.markedSelection;if(!k.length)return s(w,c,d);var z=k[0].find(),M=k[k.length-1].find();if(!z||!M||d.line-c.line<=C||S(c,M.to)>=0||S(d,z.from)<=0)return g(w);for(;S(c,z.from)>0;)k.shift().clear(),z=k[0].find();for(S(c,z.from)<0&&(z.to.line-c.line0&&(d.line-M.from.line{(function(o){typeof xs=="object"&&typeof _s=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var p=o.Pos;function v(_){var W=_.flags;return W??(_.ignoreCase?"i":"")+(_.global?"g":"")+(_.multiline?"m":"")}function C(_,W){for(var E=v(_),O=E,G=0;Gre);q++){var I=_.getLine(J++);O=O==null?I:O+` +`+I}G=G*2,W.lastIndex=E.ch;var D=W.exec(O);if(D){var Q=O.slice(0,D.index).split(` `),j=D[0].split(` -`),V=M.line+Q.length-1,_=Q[Q.length-1].length;return{from:h(V,_),to:h(V+j.length-1,j.length==1?_+j[0].length:j[j.length-1].length),match:D}}}}function p(y,R,M){for(var H,Z=0;Z<=y.length;){R.lastIndex=Z;var ee=R.exec(y);if(!ee)break;var re=ee.index+ee[0].length;if(re>y.length-M)break;(!H||re>H.index+H[0].length)&&(H=ee),Z=ee.index+1}return H}function g(y,R,M){R=C(R,"g");for(var H=M.line,Z=M.ch,ee=y.firstLine();H>=ee;H--,Z=-1){var re=y.getLine(H),N=p(re,R,Z<0?0:re.length-Z);if(N)return{from:h(H,N.index),to:h(H,N.index+N[0].length),match:N}}}function L(y,R,M){if(!b(R))return g(y,R,M);R=C(R,"gm");for(var H,Z=1,ee=y.getLine(M.line).length-M.ch,re=M.line,N=y.firstLine();re>=N;){for(var F=0;F=N;F++){var D=y.getLine(re--);H=H==null?D:D+` -`+H}Z*=2;var Q=p(H,R,ee);if(Q){var j=H.slice(0,Q.index).split(` +`),V=E.line+Q.length-1,y=Q[Q.length-1].length;return{from:p(V,y),to:p(V+j.length-1,j.length==1?y+j[0].length:j[j.length-1].length),match:D}}}}function h(_,W,E){for(var O,G=0;G<=_.length;){W.lastIndex=G;var J=W.exec(_);if(!J)break;var re=J.index+J[0].length;if(re>_.length-E)break;(!O||re>O.index+O[0].length)&&(O=J),G=J.index+1}return O}function g(_,W,E){W=C(W,"g");for(var O=E.line,G=E.ch,J=_.firstLine();O>=J;O--,G=-1){var re=_.getLine(O),q=h(re,W,G<0?0:re.length-G);if(q)return{from:p(O,q.index),to:p(O,q.index+q[0].length),match:q}}}function T(_,W,E){if(!b(W))return g(_,W,E);W=C(W,"gm");for(var O,G=1,J=_.getLine(E.line).length-E.ch,re=E.line,q=_.firstLine();re>=q;){for(var I=0;I=q;I++){var D=_.getLine(re--);O=O==null?D:D+` +`+O}G*=2;var Q=h(O,W,J);if(Q){var j=O.slice(0,Q.index).split(` `),V=Q[0].split(` -`),_=re+j.length,K=j[j.length-1].length;return{from:h(_,K),to:h(_+V.length-1,V.length==1?K+V[0].length:V[V.length-1].length),match:Q}}}}var x,c;String.prototype.normalize?(x=function(y){return y.normalize("NFD").toLowerCase()},c=function(y){return y.normalize("NFD")}):(x=function(y){return y.toLowerCase()},c=function(y){return y});function d(y,R,M,H){if(y.length==R.length)return M;for(var Z=0,ee=M+Math.max(0,y.length-R.length);;){if(Z==ee)return Z;var re=Z+ee>>1,N=H(y.slice(0,re)).length;if(N==M)return re;N>M?ee=re:Z=re+1}}function w(y,R,M,H){if(!R.length)return null;var Z=H?x:c,ee=Z(R).split(/\r|\n\r?/);e:for(var re=M.line,N=M.ch,F=y.lastLine()+1-ee.length;re<=F;re++,N=0){var D=y.getLine(re).slice(N),Q=Z(D);if(ee.length==1){var j=Q.indexOf(ee[0]);if(j==-1)continue e;var M=d(D,Q,j,Z)+N;return{from:h(re,d(D,Q,j,Z)+N),to:h(re,d(D,Q,j+ee[0].length,Z)+N)}}else{var V=Q.length-ee[0].length;if(Q.slice(V)!=ee[0])continue e;for(var _=1;_=F;re--,N=-1){var D=y.getLine(re);N>-1&&(D=D.slice(0,N));var Q=Z(D);if(ee.length==1){var j=Q.lastIndexOf(ee[0]);if(j==-1)continue e;return{from:h(re,d(D,Q,j,Z)),to:h(re,d(D,Q,j+ee[0].length,Z))}}else{var V=ee[ee.length-1];if(Q.slice(0,V.length)!=V)continue e;for(var _=1,M=re-ee.length+1;_(this.doc.getLine(R.line)||"").length&&(R.ch=0,R.line++)),o.cmpPos(R,this.doc.clipPos(R))!=0))return this.atOccurrence=!1;var M=this.matches(y,R);if(this.afterEmptyMatch=M&&o.cmpPos(M.from,M.to)==0,M)return this.pos=M,this.atOccurrence=!0,this.pos.match||!0;var H=h(y?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:H,to:H},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(y,R){if(this.atOccurrence){var M=o.splitLines(y);this.doc.replaceRange(M,this.pos.from,this.pos.to,R),this.pos.to=h(this.pos.from.line+M.length-1,M[M.length-1].length+(M.length==1?this.pos.from.ch:0))}}},o.defineExtension("getSearchCursor",function(y,R,M){return new z(this.doc,y,R,M)}),o.defineDocExtension("getSearchCursor",function(y,R,M){return new z(this,y,R,M)}),o.defineExtension("selectMatches",function(y,R){for(var M=[],H=this.getSearchCursor(y,this.getCursor("from"),R);H.findNext()&&!(o.cmpPos(H.to(),this.getCursor("to"))>0);)M.push({anchor:H.from(),head:H.to()});M.length&&this.setSelections(M,0)})})});var Vo=Ke((ws,Ss)=>{(function(o){typeof ws=="object"&&typeof Ss=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function h(I,B,le,xe,q,T){this.indented=I,this.column=B,this.type=le,this.info=xe,this.align=q,this.prev=T}function v(I,B,le,xe){var q=I.indented;return I.context&&I.context.type=="statement"&&le!="statement"&&(q=I.context.indented),I.context=new h(q,B,le,xe,null,I.context)}function C(I){var B=I.context.type;return(B==")"||B=="]"||B=="}")&&(I.indented=I.context.indented),I.context=I.context.prev}function b(I,B,le){if(B.prevToken=="variable"||B.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(I.string.slice(0,le))||B.typeAtEndOfLine&&I.column()==I.indentation())return!0}function S(I){for(;;){if(!I||I.type=="top")return!0;if(I.type=="}"&&I.prev.info!="namespace")return!1;I=I.prev}}o.defineMode("clike",function(I,B){var le=I.indentUnit,xe=B.statementIndentUnit||le,q=B.dontAlignCalls,T=B.keywords||{},de=B.types||{},ze=B.builtin||{},pe=B.blockKeywords||{},Ee=B.defKeywords||{},ge=B.atoms||{},Oe=B.hooks||{},qe=B.multiLineStrings,Se=B.indentStatements!==!1,je=B.indentSwitch!==!1,Ze=B.namespaceSeparator,ke=B.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Je=B.numberStart||/[\d\.]/,He=B.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,Ge=B.isOperatorChar||/[+\-*&%=<>!?|\/]/,U=B.isIdentifierChar||/[\w\$_\xa1-\uffff]/,G=B.isReservedIdentifier||!1,ce,Be;function te(we,Me){var Le=we.next();if(Oe[Le]){var $=Oe[Le](we,Me);if($!==!1)return $}if(Le=='"'||Le=="'")return Me.tokenize=fe(Le),Me.tokenize(we,Me);if(Je.test(Le)){if(we.backUp(1),we.match(He))return"number";we.next()}if(ke.test(Le))return ce=Le,null;if(Le=="/"){if(we.eat("*"))return Me.tokenize=oe,oe(we,Me);if(we.eat("/"))return we.skipToEnd(),"comment"}if(Ge.test(Le)){for(;!we.match(/^\/[\/*]/,!1)&&we.eat(Ge););return"operator"}if(we.eatWhile(U),Ze)for(;we.match(Ze);)we.eatWhile(U);var W=we.current();return p(T,W)?(p(pe,W)&&(ce="newstatement"),p(Ee,W)&&(Be=!0),"keyword"):p(de,W)?"type":p(ze,W)||G&&G(W)?(p(pe,W)&&(ce="newstatement"),"builtin"):p(ge,W)?"atom":"variable"}function fe(we){return function(Me,Le){for(var $=!1,W,se=!1;(W=Me.next())!=null;){if(W==we&&!$){se=!0;break}$=!$&&W=="\\"}return(se||!($||qe))&&(Le.tokenize=null),"string"}}function oe(we,Me){for(var Le=!1,$;$=we.next();){if($=="/"&&Le){Me.tokenize=null;break}Le=$=="*"}return"comment"}function Ue(we,Me){B.typeFirstDefinitions&&we.eol()&&S(Me.context)&&(Me.typeAtEndOfLine=b(we,Me,we.pos))}return{startState:function(we){return{tokenize:null,context:new h((we||0)-le,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(we,Me){var Le=Me.context;if(we.sol()&&(Le.align==null&&(Le.align=!1),Me.indented=we.indentation(),Me.startOfLine=!0),we.eatSpace())return Ue(we,Me),null;ce=Be=null;var $=(Me.tokenize||te)(we,Me);if($=="comment"||$=="meta")return $;if(Le.align==null&&(Le.align=!0),ce==";"||ce==":"||ce==","&&we.match(/^\s*(?:\/\/.*)?$/,!1))for(;Me.context.type=="statement";)C(Me);else if(ce=="{")v(Me,we.column(),"}");else if(ce=="[")v(Me,we.column(),"]");else if(ce=="(")v(Me,we.column(),")");else if(ce=="}"){for(;Le.type=="statement";)Le=C(Me);for(Le.type=="}"&&(Le=C(Me));Le.type=="statement";)Le=C(Me)}else ce==Le.type?C(Me):Se&&((Le.type=="}"||Le.type=="top")&&ce!=";"||Le.type=="statement"&&ce=="newstatement")&&v(Me,we.column(),"statement",we.current());if($=="variable"&&(Me.prevToken=="def"||B.typeFirstDefinitions&&b(we,Me,we.start)&&S(Me.context)&&we.match(/^\s*\(/,!1))&&($="def"),Oe.token){var W=Oe.token(we,Me,$);W!==void 0&&($=W)}return $=="def"&&B.styleDefs===!1&&($="variable"),Me.startOfLine=!1,Me.prevToken=Be?"def":$||ce,Ue(we,Me),$},indent:function(we,Me){if(we.tokenize!=te&&we.tokenize!=null||we.typeAtEndOfLine&&S(we.context))return o.Pass;var Le=we.context,$=Me&&Me.charAt(0),W=$==Le.type;if(Le.type=="statement"&&$=="}"&&(Le=Le.prev),B.dontIndentStatements)for(;Le.type=="statement"&&B.dontIndentStatements.test(Le.info);)Le=Le.prev;if(Oe.indent){var se=Oe.indent(we,Le,Me,le);if(typeof se=="number")return se}var De=Le.prev&&Le.prev.info=="switch";if(B.allmanIndentation&&/[{(]/.test($)){for(;Le.type!="top"&&Le.type!="}";)Le=Le.prev;return Le.indented}return Le.type=="statement"?Le.indented+($=="{"?0:xe):Le.align&&(!q||Le.type!=")")?Le.column+(W?0:1):Le.type==")"&&!W?Le.indented+xe:Le.indented+(W?0:le)+(!W&&De&&!/^(?:case|default)\b/.test(Me)?le:0)},electricInput:je?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function s(I){for(var B={},le=I.split(" "),xe=0;xe!?|\/#:@]/,hooks:{"@":function(I){return I.eatWhile(/[\w\$_]/),"meta"},'"':function(I,B){return I.match('""')?(B.tokenize=j,B.tokenize(I,B)):!1},"'":function(I){return I.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(I.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(I,B){var le=B.context;return le.type=="}"&&le.align&&I.eat(">")?(B.context=new h(le.indented,le.column,le.type,le.info,null,le.prev),"operator"):!1},"/":function(I,B){return I.eat("*")?(B.tokenize=V(1),B.tokenize(I,B)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function _(I){return function(B,le){for(var xe=!1,q,T=!1;!B.eol();){if(!I&&!xe&&B.match('"')){T=!0;break}if(I&&B.match('"""')){T=!0;break}q=B.next(),!xe&&q=="$"&&B.match("{")&&B.skipTo("}"),xe=!xe&&q=="\\"&&!I}return(T||!I)&&(le.tokenize=null),"string"}}Q("text/x-kotlin",{name:"clike",keywords:s("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:s("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:s("catch class do else finally for if where try while enum"),defKeywords:s("class val var object interface fun"),atoms:s("true false null this"),hooks:{"@":function(I){return I.eatWhile(/[\w\$_]/),"meta"},"*":function(I,B){return B.prevToken=="."?"variable":"operator"},'"':function(I,B){return B.tokenize=_(I.match('""')),B.tokenize(I,B)},"/":function(I,B){return I.eat("*")?(B.tokenize=V(1),B.tokenize(I,B)):!1},indent:function(I,B,le,xe){var q=le&&le.charAt(0);if((I.prevToken=="}"||I.prevToken==")")&&le=="")return I.indented;if(I.prevToken=="operator"&&le!="}"&&I.context.type!="}"||I.prevToken=="variable"&&q=="."||(I.prevToken=="}"||I.prevToken==")")&&q==".")return xe*2+B.indented;if(B.align&&B.type=="}")return B.indented+(I.context.type==(le||"").charAt(0)?0:xe)}},modeProps:{closeBrackets:{triples:'"'}}}),Q(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:s("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:s("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:s("for while do if else struct"),builtin:s("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:s("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":M},modeProps:{fold:["brace","include"]}}),Q("text/x-nesc",{name:"clike",keywords:s(g+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:E,blockKeywords:s(y),atoms:s("null true false"),hooks:{"#":M},modeProps:{fold:["brace","include"]}}),Q("text/x-objectivec",{name:"clike",keywords:s(g+" "+x),types:z,builtin:s(c),blockKeywords:s(y+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:s(R+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Z,hooks:{"#":M,"*":H},modeProps:{fold:["brace","include"]}}),Q("text/x-objectivec++",{name:"clike",keywords:s(g+" "+x+" "+L),types:z,builtin:s(c),blockKeywords:s(y+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:s(R+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Z,hooks:{"#":M,"*":H,u:re,U:re,L:re,R:re,0:ee,1:ee,2:ee,3:ee,4:ee,5:ee,6:ee,7:ee,8:ee,9:ee,token:function(I,B,le){if(le=="variable"&&I.peek()=="("&&(B.prevToken==";"||B.prevToken==null||B.prevToken=="}")&&N(I.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Q("text/x-squirrel",{name:"clike",keywords:s("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:E,blockKeywords:s("case catch class else for foreach if switch try while"),defKeywords:s("function local class"),typeFirstDefinitions:!0,atoms:s("true false null"),hooks:{"#":M},modeProps:{fold:["brace","include"]}});var K=null;function X(I){return function(B,le){for(var xe=!1,q,T=!1;!B.eol();){if(!xe&&B.match('"')&&(I=="single"||B.match('""'))){T=!0;break}if(!xe&&B.match("``")){K=X(I),T=!0;break}q=B.next(),xe=I=="single"&&!xe&&q=="\\"}return T&&(le.tokenize=null),"string"}}Q("text/x-ceylon",{name:"clike",keywords:s("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(I){var B=I.charAt(0);return B===B.toUpperCase()&&B!==B.toLowerCase()},blockKeywords:s("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:s("class dynamic function interface module object package value"),builtin:s("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:s("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(I){return I.eatWhile(/[\w\$_]/),"meta"},'"':function(I,B){return B.tokenize=X(I.match('""')?"triple":"single"),B.tokenize(I,B)},"`":function(I,B){return!K||!I.match("`")?!1:(B.tokenize=K,K=null,B.tokenize(I,B))},"'":function(I){return I.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(I,B,le){if((le=="variable"||le=="type")&&B.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})});var Cs=Ke((Ts,Ls)=>{(function(o){typeof Ts=="object"&&typeof Ls=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("cmake",function(){var h=/({)?[a-zA-Z0-9_]+(})?/;function v(b,S){for(var s,p,g=!1;!b.eol()&&(s=b.next())!=S.pending;){if(s==="$"&&p!="\\"&&S.pending=='"'){g=!0;break}p=s}return g&&b.backUp(1),s==S.pending?S.continueString=!1:S.continueString=!0,"string"}function C(b,S){var s=b.next();return s==="$"?b.match(h)?"variable-2":"variable":S.continueString?(b.backUp(1),v(b,S)):b.match(/(\s+)?\w+\(/)||b.match(/(\s+)?\w+\ \(/)?(b.backUp(1),"def"):s=="#"?(b.skipToEnd(),"comment"):s=="'"||s=='"'?(S.pending=s,v(b,S)):s=="("||s==")"?"bracket":s.match(/[0-9]/)?"number":(b.eatWhile(/[\w-]/),null)}return{startState:function(){var b={};return b.inDefinition=!1,b.inInclude=!1,b.continueString=!1,b.pending=!1,b},token:function(b,S){return b.eatSpace()?null:C(b,S)}}}),o.defineMIME("text/x-cmake","cmake")})});var gn=Ke((Es,zs)=>{(function(o){typeof Es=="object"&&typeof zs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("css",function(F,D){var Q=D.inline;D.propertyKeywords||(D=o.resolveMode("text/css"));var j=F.indentUnit,V=D.tokenHooks,_=D.documentTypes||{},K=D.mediaTypes||{},X=D.mediaFeatures||{},I=D.mediaValueKeywords||{},B=D.propertyKeywords||{},le=D.nonStandardPropertyKeywords||{},xe=D.fontProperties||{},q=D.counterDescriptors||{},T=D.colorKeywords||{},de=D.valueKeywords||{},ze=D.allowNested,pe=D.lineComment,Ee=D.supportsAtComponent===!0,ge=F.highlightNonStandardPropertyKeywords!==!1,Oe,qe;function Se(te,fe){return Oe=fe,te}function je(te,fe){var oe=te.next();if(V[oe]){var Ue=V[oe](te,fe);if(Ue!==!1)return Ue}if(oe=="@")return te.eatWhile(/[\w\\\-]/),Se("def",te.current());if(oe=="="||(oe=="~"||oe=="|")&&te.eat("="))return Se(null,"compare");if(oe=='"'||oe=="'")return fe.tokenize=Ze(oe),fe.tokenize(te,fe);if(oe=="#")return te.eatWhile(/[\w\\\-]/),Se("atom","hash");if(oe=="!")return te.match(/^\s*\w*/),Se("keyword","important");if(/\d/.test(oe)||oe=="."&&te.eat(/\d/))return te.eatWhile(/[\w.%]/),Se("number","unit");if(oe==="-"){if(/[\d.]/.test(te.peek()))return te.eatWhile(/[\w.%]/),Se("number","unit");if(te.match(/^-[\w\\\-]*/))return te.eatWhile(/[\w\\\-]/),te.match(/^\s*:/,!1)?Se("variable-2","variable-definition"):Se("variable-2","variable");if(te.match(/^\w+-/))return Se("meta","meta")}else return/[,+>*\/]/.test(oe)?Se(null,"select-op"):oe=="."&&te.match(/^-?[_a-z][_a-z0-9-]*/i)?Se("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(oe)?Se(null,oe):te.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(te.current())&&(fe.tokenize=ke),Se("variable callee","variable")):/[\w\\\-]/.test(oe)?(te.eatWhile(/[\w\\\-]/),Se("property","word")):Se(null,null)}function Ze(te){return function(fe,oe){for(var Ue=!1,we;(we=fe.next())!=null;){if(we==te&&!Ue){te==")"&&fe.backUp(1);break}Ue=!Ue&&we=="\\"}return(we==te||!Ue&&te!=")")&&(oe.tokenize=null),Se("string","string")}}function ke(te,fe){return te.next(),te.match(/^\s*[\"\')]/,!1)?fe.tokenize=null:fe.tokenize=Ze(")"),Se(null,"(")}function Je(te,fe,oe){this.type=te,this.indent=fe,this.prev=oe}function He(te,fe,oe,Ue){return te.context=new Je(oe,fe.indentation()+(Ue===!1?0:j),te.context),oe}function Ge(te){return te.context.prev&&(te.context=te.context.prev),te.context.type}function U(te,fe,oe){return Be[oe.context.type](te,fe,oe)}function G(te,fe,oe,Ue){for(var we=Ue||1;we>0;we--)oe.context=oe.context.prev;return U(te,fe,oe)}function ce(te){var fe=te.current().toLowerCase();de.hasOwnProperty(fe)?qe="atom":T.hasOwnProperty(fe)?qe="keyword":qe="variable"}var Be={};return Be.top=function(te,fe,oe){if(te=="{")return He(oe,fe,"block");if(te=="}"&&oe.context.prev)return Ge(oe);if(Ee&&/@component/i.test(te))return He(oe,fe,"atComponentBlock");if(/^@(-moz-)?document$/i.test(te))return He(oe,fe,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(te))return He(oe,fe,"atBlock");if(/^@(font-face|counter-style)/i.test(te))return oe.stateArg=te,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(te))return"keyframes";if(te&&te.charAt(0)=="@")return He(oe,fe,"at");if(te=="hash")qe="builtin";else if(te=="word")qe="tag";else{if(te=="variable-definition")return"maybeprop";if(te=="interpolation")return He(oe,fe,"interpolation");if(te==":")return"pseudo";if(ze&&te=="(")return He(oe,fe,"parens")}return oe.context.type},Be.block=function(te,fe,oe){if(te=="word"){var Ue=fe.current().toLowerCase();return B.hasOwnProperty(Ue)?(qe="property","maybeprop"):le.hasOwnProperty(Ue)?(qe=ge?"string-2":"property","maybeprop"):ze?(qe=fe.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(qe+=" error","maybeprop")}else return te=="meta"?"block":!ze&&(te=="hash"||te=="qualifier")?(qe="error","block"):Be.top(te,fe,oe)},Be.maybeprop=function(te,fe,oe){return te==":"?He(oe,fe,"prop"):U(te,fe,oe)},Be.prop=function(te,fe,oe){if(te==";")return Ge(oe);if(te=="{"&&ze)return He(oe,fe,"propBlock");if(te=="}"||te=="{")return G(te,fe,oe);if(te=="(")return He(oe,fe,"parens");if(te=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(fe.current()))qe+=" error";else if(te=="word")ce(fe);else if(te=="interpolation")return He(oe,fe,"interpolation");return"prop"},Be.propBlock=function(te,fe,oe){return te=="}"?Ge(oe):te=="word"?(qe="property","maybeprop"):oe.context.type},Be.parens=function(te,fe,oe){return te=="{"||te=="}"?G(te,fe,oe):te==")"?Ge(oe):te=="("?He(oe,fe,"parens"):te=="interpolation"?He(oe,fe,"interpolation"):(te=="word"&&ce(fe),"parens")},Be.pseudo=function(te,fe,oe){return te=="meta"?"pseudo":te=="word"?(qe="variable-3",oe.context.type):U(te,fe,oe)},Be.documentTypes=function(te,fe,oe){return te=="word"&&_.hasOwnProperty(fe.current())?(qe="tag",oe.context.type):Be.atBlock(te,fe,oe)},Be.atBlock=function(te,fe,oe){if(te=="(")return He(oe,fe,"atBlock_parens");if(te=="}"||te==";")return G(te,fe,oe);if(te=="{")return Ge(oe)&&He(oe,fe,ze?"block":"top");if(te=="interpolation")return He(oe,fe,"interpolation");if(te=="word"){var Ue=fe.current().toLowerCase();Ue=="only"||Ue=="not"||Ue=="and"||Ue=="or"?qe="keyword":K.hasOwnProperty(Ue)?qe="attribute":X.hasOwnProperty(Ue)?qe="property":I.hasOwnProperty(Ue)?qe="keyword":B.hasOwnProperty(Ue)?qe="property":le.hasOwnProperty(Ue)?qe=ge?"string-2":"property":de.hasOwnProperty(Ue)?qe="atom":T.hasOwnProperty(Ue)?qe="keyword":qe="error"}return oe.context.type},Be.atComponentBlock=function(te,fe,oe){return te=="}"?G(te,fe,oe):te=="{"?Ge(oe)&&He(oe,fe,ze?"block":"top",!1):(te=="word"&&(qe="error"),oe.context.type)},Be.atBlock_parens=function(te,fe,oe){return te==")"?Ge(oe):te=="{"||te=="}"?G(te,fe,oe,2):Be.atBlock(te,fe,oe)},Be.restricted_atBlock_before=function(te,fe,oe){return te=="{"?He(oe,fe,"restricted_atBlock"):te=="word"&&oe.stateArg=="@counter-style"?(qe="variable","restricted_atBlock_before"):U(te,fe,oe)},Be.restricted_atBlock=function(te,fe,oe){return te=="}"?(oe.stateArg=null,Ge(oe)):te=="word"?(oe.stateArg=="@font-face"&&!xe.hasOwnProperty(fe.current().toLowerCase())||oe.stateArg=="@counter-style"&&!q.hasOwnProperty(fe.current().toLowerCase())?qe="error":qe="property","maybeprop"):"restricted_atBlock"},Be.keyframes=function(te,fe,oe){return te=="word"?(qe="variable","keyframes"):te=="{"?He(oe,fe,"top"):U(te,fe,oe)},Be.at=function(te,fe,oe){return te==";"?Ge(oe):te=="{"||te=="}"?G(te,fe,oe):(te=="word"?qe="tag":te=="hash"&&(qe="builtin"),"at")},Be.interpolation=function(te,fe,oe){return te=="}"?Ge(oe):te=="{"||te==";"?G(te,fe,oe):(te=="word"?qe="variable":te!="variable"&&te!="("&&te!=")"&&(qe="error"),"interpolation")},{startState:function(te){return{tokenize:null,state:Q?"block":"top",stateArg:null,context:new Je(Q?"block":"top",te||0,null)}},token:function(te,fe){if(!fe.tokenize&&te.eatSpace())return null;var oe=(fe.tokenize||je)(te,fe);return oe&&typeof oe=="object"&&(Oe=oe[1],oe=oe[0]),qe=oe,Oe!="comment"&&(fe.state=Be[fe.state](Oe,te,fe)),qe},indent:function(te,fe){var oe=te.context,Ue=fe&&fe.charAt(0),we=oe.indent;return oe.type=="prop"&&(Ue=="}"||Ue==")")&&(oe=oe.prev),oe.prev&&(Ue=="}"&&(oe.type=="block"||oe.type=="top"||oe.type=="interpolation"||oe.type=="restricted_atBlock")?(oe=oe.prev,we=oe.indent):(Ue==")"&&(oe.type=="parens"||oe.type=="atBlock_parens")||Ue=="{"&&(oe.type=="at"||oe.type=="atBlock"))&&(we=Math.max(0,oe.indent-j))),we},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:pe,fold:"brace"}});function h(F){for(var D={},Q=0;Q{(function(o){typeof Ms=="object"&&typeof As=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("diff",function(){var h={"+":"positive","-":"negative","@":"meta"};return{token:function(v){var C=v.string.search(/[\t ]+?$/);if(!v.sol()||C===0)return v.skipToEnd(),("error "+(h[v.string.charAt(0)]||"")).replace(/ $/,"");var b=h[v.peek()]||v.skipToEnd();return C===-1?v.skipToEnd():v.pos=C,b}}}),o.defineMIME("text/x-diff","diff")})});var mn=Ke((qs,Is)=>{(function(o){typeof qs=="object"&&typeof Is=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var h={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},v={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};o.defineMode("xml",function(C,b){var S=C.indentUnit,s={},p=b.htmlMode?h:v;for(var g in p)s[g]=p[g];for(var g in b)s[g]=b[g];var L,x;function c(_,K){function X(le){return K.tokenize=le,le(_,K)}var I=_.next();if(I=="<")return _.eat("!")?_.eat("[")?_.match("CDATA[")?X(E("atom","]]>")):null:_.match("--")?X(E("comment","-->")):_.match("DOCTYPE",!0,!0)?(_.eatWhile(/[\w\._\-]/),X(z(1))):null:_.eat("?")?(_.eatWhile(/[\w\._\-]/),K.tokenize=E("meta","?>"),"meta"):(L=_.eat("/")?"closeTag":"openTag",K.tokenize=d,"tag bracket");if(I=="&"){var B;return _.eat("#")?_.eat("x")?B=_.eatWhile(/[a-fA-F\d]/)&&_.eat(";"):B=_.eatWhile(/[\d]/)&&_.eat(";"):B=_.eatWhile(/[\w\.\-:]/)&&_.eat(";"),B?"atom":"error"}else return _.eatWhile(/[^&<]/),null}c.isInText=!0;function d(_,K){var X=_.next();if(X==">"||X=="/"&&_.eat(">"))return K.tokenize=c,L=X==">"?"endTag":"selfcloseTag","tag bracket";if(X=="=")return L="equals",null;if(X=="<"){K.tokenize=c,K.state=Z,K.tagName=K.tagStart=null;var I=K.tokenize(_,K);return I?I+" tag error":"tag error"}else return/[\'\"]/.test(X)?(K.tokenize=w(X),K.stringStartCol=_.column(),K.tokenize(_,K)):(_.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function w(_){var K=function(X,I){for(;!X.eol();)if(X.next()==_){I.tokenize=d;break}return"string"};return K.isInAttribute=!0,K}function E(_,K){return function(X,I){for(;!X.eol();){if(X.match(K)){I.tokenize=c;break}X.next()}return _}}function z(_){return function(K,X){for(var I;(I=K.next())!=null;){if(I=="<")return X.tokenize=z(_+1),X.tokenize(K,X);if(I==">")if(_==1){X.tokenize=c;break}else return X.tokenize=z(_-1),X.tokenize(K,X)}return"meta"}}function y(_){return _&&_.toLowerCase()}function R(_,K,X){this.prev=_.context,this.tagName=K||"",this.indent=_.indented,this.startOfLine=X,(s.doNotIndent.hasOwnProperty(K)||_.context&&_.context.noIndent)&&(this.noIndent=!0)}function M(_){_.context&&(_.context=_.context.prev)}function H(_,K){for(var X;;){if(!_.context||(X=_.context.tagName,!s.contextGrabbers.hasOwnProperty(y(X))||!s.contextGrabbers[y(X)].hasOwnProperty(y(K))))return;M(_)}}function Z(_,K,X){return _=="openTag"?(X.tagStart=K.column(),ee):_=="closeTag"?re:Z}function ee(_,K,X){return _=="word"?(X.tagName=K.current(),x="tag",D):s.allowMissingTagName&&_=="endTag"?(x="tag bracket",D(_,K,X)):(x="error",ee)}function re(_,K,X){if(_=="word"){var I=K.current();return X.context&&X.context.tagName!=I&&s.implicitlyClosed.hasOwnProperty(y(X.context.tagName))&&M(X),X.context&&X.context.tagName==I||s.matchClosing===!1?(x="tag",N):(x="tag error",F)}else return s.allowMissingTagName&&_=="endTag"?(x="tag bracket",N(_,K,X)):(x="error",F)}function N(_,K,X){return _!="endTag"?(x="error",N):(M(X),Z)}function F(_,K,X){return x="error",N(_,K,X)}function D(_,K,X){if(_=="word")return x="attribute",Q;if(_=="endTag"||_=="selfcloseTag"){var I=X.tagName,B=X.tagStart;return X.tagName=X.tagStart=null,_=="selfcloseTag"||s.autoSelfClosers.hasOwnProperty(y(I))?H(X,I):(H(X,I),X.context=new R(X,I,B==X.indented)),Z}return x="error",D}function Q(_,K,X){return _=="equals"?j:(s.allowMissing||(x="error"),D(_,K,X))}function j(_,K,X){return _=="string"?V:_=="word"&&s.allowUnquoted?(x="string",D):(x="error",D(_,K,X))}function V(_,K,X){return _=="string"?V:D(_,K,X)}return{startState:function(_){var K={tokenize:c,state:Z,indented:_||0,tagName:null,tagStart:null,context:null};return _!=null&&(K.baseIndent=_),K},token:function(_,K){if(!K.tagName&&_.sol()&&(K.indented=_.indentation()),_.eatSpace())return null;L=null;var X=K.tokenize(_,K);return(X||L)&&X!="comment"&&(x=null,K.state=K.state(L||X,_,K),x&&(X=x=="error"?X+" error":x)),X},indent:function(_,K,X){var I=_.context;if(_.tokenize.isInAttribute)return _.tagStart==_.indented?_.stringStartCol+1:_.indented+S;if(I&&I.noIndent)return o.Pass;if(_.tokenize!=d&&_.tokenize!=c)return X?X.match(/^(\s*)/)[0].length:0;if(_.tagName)return s.multilineTagIndentPastTag!==!1?_.tagStart+_.tagName.length+2:_.tagStart+S*(s.multilineTagIndentFactor||1);if(s.alignCDATA&&/$/,blockCommentStart:"",configuration:s.htmlMode?"html":"xml",helperType:s.htmlMode?"html":"xml",skipAttribute:function(_){_.state==j&&(_.state=D)},xmlCurrentTag:function(_){return _.tagName?{name:_.tagName,close:_.type=="closeTag"}:null},xmlCurrentContext:function(_){for(var K=[],X=_.context;X;X=X.prev)K.push(X.tagName);return K.reverse()}}}),o.defineMIME("text/xml","xml"),o.defineMIME("application/xml","xml"),o.mimeModes.hasOwnProperty("text/html")||o.defineMIME("text/html",{name:"xml",htmlMode:!0})})});var vn=Ke((Fs,Ns)=>{(function(o){typeof Fs=="object"&&typeof Ns=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("javascript",function(h,v){var C=h.indentUnit,b=v.statementIndent,S=v.jsonld,s=v.json||S,p=v.trackScope!==!1,g=v.typescript,L=v.wordCharacters||/[\w$\xa1-\uffff]/,x=function(){function k(pt){return{type:pt,style:"keyword"}}var O=k("keyword a"),ae=k("keyword b"),he=k("keyword c"),ne=k("keyword d"),ye=k("operator"),Xe={type:"atom",style:"atom"};return{if:k("if"),while:O,with:O,else:ae,do:ae,try:ae,finally:ae,return:ne,break:ne,continue:ne,new:k("new"),delete:he,void:he,throw:he,debugger:k("debugger"),var:k("var"),const:k("var"),let:k("var"),function:k("function"),catch:k("catch"),for:k("for"),switch:k("switch"),case:k("case"),default:k("default"),in:ye,typeof:ye,instanceof:ye,true:Xe,false:Xe,null:Xe,undefined:Xe,NaN:Xe,Infinity:Xe,this:k("this"),class:k("class"),super:k("atom"),yield:he,export:k("export"),import:k("import"),extends:he,await:he}}(),c=/[+\-*&%=<>!?|~^@]/,d=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function w(k){for(var O=!1,ae,he=!1;(ae=k.next())!=null;){if(!O){if(ae=="/"&&!he)return;ae=="["?he=!0:he&&ae=="]"&&(he=!1)}O=!O&&ae=="\\"}}var E,z;function y(k,O,ae){return E=k,z=ae,O}function R(k,O){var ae=k.next();if(ae=='"'||ae=="'")return O.tokenize=M(ae),O.tokenize(k,O);if(ae=="."&&k.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return y("number","number");if(ae=="."&&k.match(".."))return y("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(ae))return y(ae);if(ae=="="&&k.eat(">"))return y("=>","operator");if(ae=="0"&&k.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return y("number","number");if(/\d/.test(ae))return k.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),y("number","number");if(ae=="/")return k.eat("*")?(O.tokenize=H,H(k,O)):k.eat("/")?(k.skipToEnd(),y("comment","comment")):jt(k,O,1)?(w(k),k.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),y("regexp","string-2")):(k.eat("="),y("operator","operator",k.current()));if(ae=="`")return O.tokenize=Z,Z(k,O);if(ae=="#"&&k.peek()=="!")return k.skipToEnd(),y("meta","meta");if(ae=="#"&&k.eatWhile(L))return y("variable","property");if(ae=="<"&&k.match("!--")||ae=="-"&&k.match("->")&&!/\S/.test(k.string.slice(0,k.start)))return k.skipToEnd(),y("comment","comment");if(c.test(ae))return(ae!=">"||!O.lexical||O.lexical.type!=">")&&(k.eat("=")?(ae=="!"||ae=="=")&&k.eat("="):/[<>*+\-|&?]/.test(ae)&&(k.eat(ae),ae==">"&&k.eat(ae))),ae=="?"&&k.eat(".")?y("."):y("operator","operator",k.current());if(L.test(ae)){k.eatWhile(L);var he=k.current();if(O.lastType!="."){if(x.propertyIsEnumerable(he)){var ne=x[he];return y(ne.type,ne.style,he)}if(he=="async"&&k.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return y("async","keyword",he)}return y("variable","variable",he)}}function M(k){return function(O,ae){var he=!1,ne;if(S&&O.peek()=="@"&&O.match(d))return ae.tokenize=R,y("jsonld-keyword","meta");for(;(ne=O.next())!=null&&!(ne==k&&!he);)he=!he&&ne=="\\";return he||(ae.tokenize=R),y("string","string")}}function H(k,O){for(var ae=!1,he;he=k.next();){if(he=="/"&&ae){O.tokenize=R;break}ae=he=="*"}return y("comment","comment")}function Z(k,O){for(var ae=!1,he;(he=k.next())!=null;){if(!ae&&(he=="`"||he=="$"&&k.eat("{"))){O.tokenize=R;break}ae=!ae&&he=="\\"}return y("quasi","string-2",k.current())}var ee="([{}])";function re(k,O){O.fatArrowAt&&(O.fatArrowAt=null);var ae=k.string.indexOf("=>",k.start);if(!(ae<0)){if(g){var he=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(k.string.slice(k.start,ae));he&&(ae=he.index)}for(var ne=0,ye=!1,Xe=ae-1;Xe>=0;--Xe){var pt=k.string.charAt(Xe),Et=ee.indexOf(pt);if(Et>=0&&Et<3){if(!ne){++Xe;break}if(--ne==0){pt=="("&&(ye=!0);break}}else if(Et>=3&&Et<6)++ne;else if(L.test(pt))ye=!0;else if(/["'\/`]/.test(pt))for(;;--Xe){if(Xe==0)return;var Zr=k.string.charAt(Xe-1);if(Zr==pt&&k.string.charAt(Xe-2)!="\\"){Xe--;break}}else if(ye&&!ne){++Xe;break}}ye&&!ne&&(O.fatArrowAt=Xe)}}var N={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function F(k,O,ae,he,ne,ye){this.indented=k,this.column=O,this.type=ae,this.prev=ne,this.info=ye,he!=null&&(this.align=he)}function D(k,O){if(!p)return!1;for(var ae=k.localVars;ae;ae=ae.next)if(ae.name==O)return!0;for(var he=k.context;he;he=he.prev)for(var ae=he.vars;ae;ae=ae.next)if(ae.name==O)return!0}function Q(k,O,ae,he,ne){var ye=k.cc;for(j.state=k,j.stream=ne,j.marked=null,j.cc=ye,j.style=O,k.lexical.hasOwnProperty("align")||(k.lexical.align=!0);;){var Xe=ye.length?ye.pop():s?Se:Oe;if(Xe(ae,he)){for(;ye.length&&ye[ye.length-1].lex;)ye.pop()();return j.marked?j.marked:ae=="variable"&&D(k,he)?"variable-2":O}}}var j={state:null,column:null,marked:null,cc:null};function V(){for(var k=arguments.length-1;k>=0;k--)j.cc.push(arguments[k])}function _(){return V.apply(null,arguments),!0}function K(k,O){for(var ae=O;ae;ae=ae.next)if(ae.name==k)return!0;return!1}function X(k){var O=j.state;if(j.marked="def",!!p){if(O.context){if(O.lexical.info=="var"&&O.context&&O.context.block){var ae=I(k,O.context);if(ae!=null){O.context=ae;return}}else if(!K(k,O.localVars)){O.localVars=new xe(k,O.localVars);return}}v.globalVars&&!K(k,O.globalVars)&&(O.globalVars=new xe(k,O.globalVars))}}function I(k,O){if(O)if(O.block){var ae=I(k,O.prev);return ae?ae==O.prev?O:new le(ae,O.vars,!0):null}else return K(k,O.vars)?O:new le(O.prev,new xe(k,O.vars),!1);else return null}function B(k){return k=="public"||k=="private"||k=="protected"||k=="abstract"||k=="readonly"}function le(k,O,ae){this.prev=k,this.vars=O,this.block=ae}function xe(k,O){this.name=k,this.next=O}var q=new xe("this",new xe("arguments",null));function T(){j.state.context=new le(j.state.context,j.state.localVars,!1),j.state.localVars=q}function de(){j.state.context=new le(j.state.context,j.state.localVars,!0),j.state.localVars=null}T.lex=de.lex=!0;function ze(){j.state.localVars=j.state.context.vars,j.state.context=j.state.context.prev}ze.lex=!0;function pe(k,O){var ae=function(){var he=j.state,ne=he.indented;if(he.lexical.type=="stat")ne=he.lexical.indented;else for(var ye=he.lexical;ye&&ye.type==")"&&ye.align;ye=ye.prev)ne=ye.indented;he.lexical=new F(ne,j.stream.column(),k,null,he.lexical,O)};return ae.lex=!0,ae}function Ee(){var k=j.state;k.lexical.prev&&(k.lexical.type==")"&&(k.indented=k.lexical.indented),k.lexical=k.lexical.prev)}Ee.lex=!0;function ge(k){function O(ae){return ae==k?_():k==";"||ae=="}"||ae==")"||ae=="]"?V():_(O)}return O}function Oe(k,O){return k=="var"?_(pe("vardef",O),Hr,ge(";"),Ee):k=="keyword a"?_(pe("form"),Ze,Oe,Ee):k=="keyword b"?_(pe("form"),Oe,Ee):k=="keyword d"?j.stream.match(/^\s*$/,!1)?_():_(pe("stat"),Je,ge(";"),Ee):k=="debugger"?_(ge(";")):k=="{"?_(pe("}"),de,De,Ee,ze):k==";"?_():k=="if"?(j.state.lexical.info=="else"&&j.state.cc[j.state.cc.length-1]==Ee&&j.state.cc.pop()(),_(pe("form"),Ze,Oe,Ee,Br)):k=="function"?_(Bt):k=="for"?_(pe("form"),de,ei,Oe,ze,Ee):k=="class"||g&&O=="interface"?(j.marked="keyword",_(pe("form",k=="class"?k:O),Wr,Ee)):k=="variable"?g&&O=="declare"?(j.marked="keyword",_(Oe)):g&&(O=="module"||O=="enum"||O=="type")&&j.stream.match(/^\s*\w/,!1)?(j.marked="keyword",O=="enum"?_(Ae):O=="type"?_(ti,ge("operator"),Pe,ge(";")):_(pe("form"),Ct,ge("{"),pe("}"),De,Ee,Ee)):g&&O=="namespace"?(j.marked="keyword",_(pe("form"),Se,Oe,Ee)):g&&O=="abstract"?(j.marked="keyword",_(Oe)):_(pe("stat"),Ue):k=="switch"?_(pe("form"),Ze,ge("{"),pe("}","switch"),de,De,Ee,Ee,ze):k=="case"?_(Se,ge(":")):k=="default"?_(ge(":")):k=="catch"?_(pe("form"),T,qe,Oe,Ee,ze):k=="export"?_(pe("stat"),Ur,Ee):k=="import"?_(pe("stat"),gr,Ee):k=="async"?_(Oe):O=="@"?_(Se,Oe):V(pe("stat"),Se,ge(";"),Ee)}function qe(k){if(k=="(")return _($t,ge(")"))}function Se(k,O){return ke(k,O,!1)}function je(k,O){return ke(k,O,!0)}function Ze(k){return k!="("?V():_(pe(")"),Je,ge(")"),Ee)}function ke(k,O,ae){if(j.state.fatArrowAt==j.stream.start){var he=ae?Be:ce;if(k=="(")return _(T,pe(")"),W($t,")"),Ee,ge("=>"),he,ze);if(k=="variable")return V(T,Ct,ge("=>"),he,ze)}var ne=ae?Ge:He;return N.hasOwnProperty(k)?_(ne):k=="function"?_(Bt,ne):k=="class"||g&&O=="interface"?(j.marked="keyword",_(pe("form"),to,Ee)):k=="keyword c"||k=="async"?_(ae?je:Se):k=="("?_(pe(")"),Je,ge(")"),Ee,ne):k=="operator"||k=="spread"?_(ae?je:Se):k=="["?_(pe("]"),at,Ee,ne):k=="{"?se(Me,"}",null,ne):k=="quasi"?V(U,ne):k=="new"?_(te(ae)):_()}function Je(k){return k.match(/[;\}\)\],]/)?V():V(Se)}function He(k,O){return k==","?_(Je):Ge(k,O,!1)}function Ge(k,O,ae){var he=ae==!1?He:Ge,ne=ae==!1?Se:je;if(k=="=>")return _(T,ae?Be:ce,ze);if(k=="operator")return/\+\+|--/.test(O)||g&&O=="!"?_(he):g&&O=="<"&&j.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?_(pe(">"),W(Pe,">"),Ee,he):O=="?"?_(Se,ge(":"),ne):_(ne);if(k=="quasi")return V(U,he);if(k!=";"){if(k=="(")return se(je,")","call",he);if(k==".")return _(we,he);if(k=="[")return _(pe("]"),Je,ge("]"),Ee,he);if(g&&O=="as")return j.marked="keyword",_(Pe,he);if(k=="regexp")return j.state.lastType=j.marked="operator",j.stream.backUp(j.stream.pos-j.stream.start-1),_(ne)}}function U(k,O){return k!="quasi"?V():O.slice(O.length-2)!="${"?_(U):_(Je,G)}function G(k){if(k=="}")return j.marked="string-2",j.state.tokenize=Z,_(U)}function ce(k){return re(j.stream,j.state),V(k=="{"?Oe:Se)}function Be(k){return re(j.stream,j.state),V(k=="{"?Oe:je)}function te(k){return function(O){return O=="."?_(k?oe:fe):O=="variable"&&g?_(Ft,k?Ge:He):V(k?je:Se)}}function fe(k,O){if(O=="target")return j.marked="keyword",_(He)}function oe(k,O){if(O=="target")return j.marked="keyword",_(Ge)}function Ue(k){return k==":"?_(Ee,Oe):V(He,ge(";"),Ee)}function we(k){if(k=="variable")return j.marked="property",_()}function Me(k,O){if(k=="async")return j.marked="property",_(Me);if(k=="variable"||j.style=="keyword"){if(j.marked="property",O=="get"||O=="set")return _(Le);var ae;return g&&j.state.fatArrowAt==j.stream.start&&(ae=j.stream.match(/^\s*:\s*/,!1))&&(j.state.fatArrowAt=j.stream.pos+ae[0].length),_($)}else{if(k=="number"||k=="string")return j.marked=S?"property":j.style+" property",_($);if(k=="jsonld-keyword")return _($);if(g&&B(O))return j.marked="keyword",_(Me);if(k=="[")return _(Se,nt,ge("]"),$);if(k=="spread")return _(je,$);if(O=="*")return j.marked="keyword",_(Me);if(k==":")return V($)}}function Le(k){return k!="variable"?V($):(j.marked="property",_(Bt))}function $(k){if(k==":")return _(je);if(k=="(")return V(Bt)}function W(k,O,ae){function he(ne,ye){if(ae?ae.indexOf(ne)>-1:ne==","){var Xe=j.state.lexical;return Xe.info=="call"&&(Xe.pos=(Xe.pos||0)+1),_(function(pt,Et){return pt==O||Et==O?V():V(k)},he)}return ne==O||ye==O?_():ae&&ae.indexOf(";")>-1?V(k):_(ge(O))}return function(ne,ye){return ne==O||ye==O?_():V(k,he)}}function se(k,O,ae){for(var he=3;he"),Pe);if(k=="quasi")return V(_t,Ht)}function xt(k){if(k=="=>")return _(Pe)}function Fe(k){return k.match(/[\}\)\]]/)?_():k==","||k==";"?_(Fe):V(nr,Fe)}function nr(k,O){if(k=="variable"||j.style=="keyword")return j.marked="property",_(nr);if(O=="?"||k=="number"||k=="string")return _(nr);if(k==":")return _(Pe);if(k=="[")return _(ge("variable"),dt,ge("]"),nr);if(k=="(")return V(hr,nr);if(!k.match(/[;\}\)\],]/))return _()}function _t(k,O){return k!="quasi"?V():O.slice(O.length-2)!="${"?_(_t):_(Pe,it)}function it(k){if(k=="}")return j.marked="string-2",j.state.tokenize=Z,_(_t)}function ot(k,O){return k=="variable"&&j.stream.match(/^\s*[?:]/,!1)||O=="?"?_(ot):k==":"?_(Pe):k=="spread"?_(ot):V(Pe)}function Ht(k,O){if(O=="<")return _(pe(">"),W(Pe,">"),Ee,Ht);if(O=="|"||k=="."||O=="&")return _(Pe);if(k=="[")return _(Pe,ge("]"),Ht);if(O=="extends"||O=="implements")return j.marked="keyword",_(Pe);if(O=="?")return _(Pe,ge(":"),Pe)}function Ft(k,O){if(O=="<")return _(pe(">"),W(Pe,">"),Ee,Ht)}function Wt(){return V(Pe,kt)}function kt(k,O){if(O=="=")return _(Pe)}function Hr(k,O){return O=="enum"?(j.marked="keyword",_(Ae)):V(Ct,nt,Ut,eo)}function Ct(k,O){if(g&&B(O))return j.marked="keyword",_(Ct);if(k=="variable")return X(O),_();if(k=="spread")return _(Ct);if(k=="[")return se(yn,"]");if(k=="{")return se(dr,"}")}function dr(k,O){return k=="variable"&&!j.stream.match(/^\s*:/,!1)?(X(O),_(Ut)):(k=="variable"&&(j.marked="property"),k=="spread"?_(Ct):k=="}"?V():k=="["?_(Se,ge("]"),ge(":"),dr):_(ge(":"),Ct,Ut))}function yn(){return V(Ct,Ut)}function Ut(k,O){if(O=="=")return _(je)}function eo(k){if(k==",")return _(Hr)}function Br(k,O){if(k=="keyword b"&&O=="else")return _(pe("form","else"),Oe,Ee)}function ei(k,O){if(O=="await")return _(ei);if(k=="(")return _(pe(")"),xn,Ee)}function xn(k){return k=="var"?_(Hr,pr):k=="variable"?_(pr):V(pr)}function pr(k,O){return k==")"?_():k==";"?_(pr):O=="in"||O=="of"?(j.marked="keyword",_(Se,pr)):V(Se,pr)}function Bt(k,O){if(O=="*")return j.marked="keyword",_(Bt);if(k=="variable")return X(O),_(Bt);if(k=="(")return _(T,pe(")"),W($t,")"),Ee,Pt,Oe,ze);if(g&&O=="<")return _(pe(">"),W(Wt,">"),Ee,Bt)}function hr(k,O){if(O=="*")return j.marked="keyword",_(hr);if(k=="variable")return X(O),_(hr);if(k=="(")return _(T,pe(")"),W($t,")"),Ee,Pt,ze);if(g&&O=="<")return _(pe(">"),W(Wt,">"),Ee,hr)}function ti(k,O){if(k=="keyword"||k=="variable")return j.marked="type",_(ti);if(O=="<")return _(pe(">"),W(Wt,">"),Ee)}function $t(k,O){return O=="@"&&_(Se,$t),k=="spread"?_($t):g&&B(O)?(j.marked="keyword",_($t)):g&&k=="this"?_(nt,Ut):V(Ct,nt,Ut)}function to(k,O){return k=="variable"?Wr(k,O):Kt(k,O)}function Wr(k,O){if(k=="variable")return X(O),_(Kt)}function Kt(k,O){if(O=="<")return _(pe(">"),W(Wt,">"),Ee,Kt);if(O=="extends"||O=="implements"||g&&k==",")return O=="implements"&&(j.marked="keyword"),_(g?Pe:Se,Kt);if(k=="{")return _(pe("}"),Gt,Ee)}function Gt(k,O){if(k=="async"||k=="variable"&&(O=="static"||O=="get"||O=="set"||g&&B(O))&&j.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return j.marked="keyword",_(Gt);if(k=="variable"||j.style=="keyword")return j.marked="property",_(Cr,Gt);if(k=="number"||k=="string")return _(Cr,Gt);if(k=="[")return _(Se,nt,ge("]"),Cr,Gt);if(O=="*")return j.marked="keyword",_(Gt);if(g&&k=="(")return V(hr,Gt);if(k==";"||k==",")return _(Gt);if(k=="}")return _();if(O=="@")return _(Se,Gt)}function Cr(k,O){if(O=="!"||O=="?")return _(Cr);if(k==":")return _(Pe,Ut);if(O=="=")return _(je);var ae=j.state.lexical.prev,he=ae&&ae.info=="interface";return V(he?hr:Bt)}function Ur(k,O){return O=="*"?(j.marked="keyword",_(Gr,ge(";"))):O=="default"?(j.marked="keyword",_(Se,ge(";"))):k=="{"?_(W($r,"}"),Gr,ge(";")):V(Oe)}function $r(k,O){if(O=="as")return j.marked="keyword",_(ge("variable"));if(k=="variable")return V(je,$r)}function gr(k){return k=="string"?_():k=="("?V(Se):k=="."?V(He):V(Kr,Vt,Gr)}function Kr(k,O){return k=="{"?se(Kr,"}"):(k=="variable"&&X(O),O=="*"&&(j.marked="keyword"),_(_n))}function Vt(k){if(k==",")return _(Kr,Vt)}function _n(k,O){if(O=="as")return j.marked="keyword",_(Kr)}function Gr(k,O){if(O=="from")return j.marked="keyword",_(Se)}function at(k){return k=="]"?_():V(W(je,"]"))}function Ae(){return V(pe("form"),Ct,ge("{"),pe("}"),W(ir,"}"),Ee,Ee)}function ir(){return V(Ct,Ut)}function kn(k,O){return k.lastType=="operator"||k.lastType==","||c.test(O.charAt(0))||/[,.]/.test(O.charAt(0))}function jt(k,O,ae){return O.tokenize==R&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(O.lastType)||O.lastType=="quasi"&&/\{\s*$/.test(k.string.slice(0,k.pos-(ae||0)))}return{startState:function(k){var O={tokenize:R,lastType:"sof",cc:[],lexical:new F((k||0)-C,0,"block",!1),localVars:v.localVars,context:v.localVars&&new le(null,null,!1),indented:k||0};return v.globalVars&&typeof v.globalVars=="object"&&(O.globalVars=v.globalVars),O},token:function(k,O){if(k.sol()&&(O.lexical.hasOwnProperty("align")||(O.lexical.align=!1),O.indented=k.indentation(),re(k,O)),O.tokenize!=H&&k.eatSpace())return null;var ae=O.tokenize(k,O);return E=="comment"?ae:(O.lastType=E=="operator"&&(z=="++"||z=="--")?"incdec":E,Q(O,ae,E,z,k))},indent:function(k,O){if(k.tokenize==H||k.tokenize==Z)return o.Pass;if(k.tokenize!=R)return 0;var ae=O&&O.charAt(0),he=k.lexical,ne;if(!/^\s*else\b/.test(O))for(var ye=k.cc.length-1;ye>=0;--ye){var Xe=k.cc[ye];if(Xe==Ee)he=he.prev;else if(Xe!=Br&&Xe!=ze)break}for(;(he.type=="stat"||he.type=="form")&&(ae=="}"||(ne=k.cc[k.cc.length-1])&&(ne==He||ne==Ge)&&!/^[,\.=+\-*:?[\(]/.test(O));)he=he.prev;b&&he.type==")"&&he.prev.type=="stat"&&(he=he.prev);var pt=he.type,Et=ae==pt;return pt=="vardef"?he.indented+(k.lastType=="operator"||k.lastType==","?he.info.length+1:0):pt=="form"&&ae=="{"?he.indented:pt=="form"?he.indented+C:pt=="stat"?he.indented+(kn(k,O)?b||C:0):he.info=="switch"&&!Et&&v.doubleIndentSwitch!=!1?he.indented+(/^(?:case|default)\b/.test(O)?C:2*C):he.align?he.column+(Et?0:1):he.indented+(Et?0:C)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:s?null:"/*",blockCommentEnd:s?null:"*/",blockCommentContinue:s?null:" * ",lineComment:s?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:s?"json":"javascript",jsonldMode:S,jsonMode:s,expressionAllowed:jt,skipExpression:function(k){Q(k,"atom","atom","true",new o.StringStream("",2,null))}}}),o.registerHelper("wordChars","javascript",/[\w$]/),o.defineMIME("text/javascript","javascript"),o.defineMIME("text/ecmascript","javascript"),o.defineMIME("application/javascript","javascript"),o.defineMIME("application/x-javascript","javascript"),o.defineMIME("application/ecmascript","javascript"),o.defineMIME("application/json",{name:"javascript",json:!0}),o.defineMIME("application/x-json",{name:"javascript",json:!0}),o.defineMIME("application/manifest+json",{name:"javascript",json:!0}),o.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),o.defineMIME("text/typescript",{name:"javascript",typescript:!0}),o.defineMIME("application/typescript",{name:"javascript",typescript:!0})})});var Qn=Ke((Os,Ps)=>{(function(o){typeof Os=="object"&&typeof Ps=="object"?o(We(),mn(),vn(),gn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],o):o(CodeMirror)})(function(o){"use strict";var h={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};function v(L,x,c){var d=L.current(),w=d.search(x);return w>-1?L.backUp(d.length-w):d.match(/<\/?$/)&&(L.backUp(d.length),L.match(x,!1)||L.match(d)),c}var C={};function b(L){var x=C[L];return x||(C[L]=new RegExp("\\s+"+L+`\\s*=\\s*('|")?([^'"]+)('|")?\\s*`))}function S(L,x){var c=L.match(b(x));return c?/^\s*(.*?)\s*$/.exec(c[2])[1]:""}function s(L,x){return new RegExp((x?"^":"")+"","i")}function p(L,x){for(var c in L)for(var d=x[c]||(x[c]=[]),w=L[c],E=w.length-1;E>=0;E--)d.unshift(w[E])}function g(L,x){for(var c=0;c=0;z--)d.script.unshift(["type",E[z].matches,E[z].mode]);function y(R,M){var H=c.token(R,M.htmlState),Z=/\btag\b/.test(H),ee;if(Z&&!/[<>\s\/]/.test(R.current())&&(ee=M.htmlState.tagName&&M.htmlState.tagName.toLowerCase())&&d.hasOwnProperty(ee))M.inTag=ee+" ";else if(M.inTag&&Z&&/>$/.test(R.current())){var re=/^([\S]+) (.*)/.exec(M.inTag);M.inTag=null;var N=R.current()==">"&&g(d[re[1]],re[2]),F=o.getMode(L,N),D=s(re[1],!0),Q=s(re[1],!1);M.token=function(j,V){return j.match(D,!1)?(V.token=y,V.localState=V.localMode=null,null):v(j,Q,V.localMode.token(j,V.localState))},M.localMode=F,M.localState=o.startState(F,c.indent(M.htmlState,"",""))}else M.inTag&&(M.inTag+=R.current(),R.eol()&&(M.inTag+=" "));return H}return{startState:function(){var R=o.startState(c);return{token:y,inTag:null,localMode:null,localState:null,htmlState:R}},copyState:function(R){var M;return R.localState&&(M=o.copyState(R.localMode,R.localState)),{token:R.token,inTag:R.inTag,localMode:R.localMode,localState:M,htmlState:o.copyState(c,R.htmlState)}},token:function(R,M){return M.token(R,M)},indent:function(R,M,H){return!R.localMode||/^\s*<\//.test(M)?c.indent(R.htmlState,M,H):R.localMode.indent?R.localMode.indent(R.localState,M,H):o.Pass},innerMode:function(R){return{state:R.localState||R.htmlState,mode:R.localMode||c}}}},"xml","javascript","css"),o.defineMIME("text/html","htmlmixed")})});var Hs=Ke((js,Rs)=>{(function(o){typeof js=="object"&&typeof Rs=="object"?o(We(),Qn(),Yn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../../addon/mode/overlay"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("django:inner",function(){var h=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],v=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],C=["==","!=","<",">","<=",">="],b=["in","not","or","and"];h=new RegExp("^\\b("+h.join("|")+")\\b"),v=new RegExp("^\\b("+v.join("|")+")\\b"),C=new RegExp("^\\b("+C.join("|")+")\\b"),b=new RegExp("^\\b("+b.join("|")+")\\b");function S(c,d){if(c.match("{{"))return d.tokenize=p,"tag";if(c.match("{%"))return d.tokenize=g,"tag";if(c.match("{#"))return d.tokenize=L,"comment";for(;c.next()!=null&&!c.match(/\{[{%#]/,!1););return null}function s(c,d){return function(w,E){if(!E.escapeNext&&w.eat(c))E.tokenize=d;else{E.escapeNext&&(E.escapeNext=!1);var z=w.next();z=="\\"&&(E.escapeNext=!0)}return"string"}}function p(c,d){if(d.waitDot){if(d.waitDot=!1,c.peek()!=".")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("."))return d.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(d.waitPipe){if(d.waitPipe=!1,c.peek()!="|")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("|"))return d.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return d.waitProperty&&(d.waitProperty=!1,c.match(/\b(\w+)\b/))?(d.waitDot=!0,d.waitPipe=!0,"property"):d.waitFilter&&(d.waitFilter=!1,c.match(v))?"variable-2":c.eatSpace()?(d.waitProperty=!1,"null"):c.match(/\b\d+(\.\d+)?\b/)?"number":c.match("'")?(d.tokenize=s("'",d.tokenize),"string"):c.match('"')?(d.tokenize=s('"',d.tokenize),"string"):c.match(/\b(\w+)\b/)&&!d.foundVariable?(d.waitDot=!0,d.waitPipe=!0,"variable"):c.match("}}")?(d.waitProperty=null,d.waitFilter=null,d.waitDot=null,d.waitPipe=null,d.tokenize=S,"tag"):(c.next(),"null")}function g(c,d){if(d.waitDot){if(d.waitDot=!1,c.peek()!=".")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("."))return d.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(d.waitPipe){if(d.waitPipe=!1,c.peek()!="|")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("|"))return d.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(d.waitProperty&&(d.waitProperty=!1,c.match(/\b(\w+)\b/)))return d.waitDot=!0,d.waitPipe=!0,"property";if(d.waitFilter&&(d.waitFilter=!1,c.match(v)))return"variable-2";if(c.eatSpace())return d.waitProperty=!1,"null";if(c.match(/\b\d+(\.\d+)?\b/))return"number";if(c.match("'"))return d.tokenize=s("'",d.tokenize),"string";if(c.match('"'))return d.tokenize=s('"',d.tokenize),"string";if(c.match(C))return"operator";if(c.match(b))return"keyword";var w=c.match(h);return w?(w[0]=="comment"&&(d.blockCommentTag=!0),"keyword"):c.match(/\b(\w+)\b/)?(d.waitDot=!0,d.waitPipe=!0,"variable"):c.match("%}")?(d.waitProperty=null,d.waitFilter=null,d.waitDot=null,d.waitPipe=null,d.blockCommentTag?(d.blockCommentTag=!1,d.tokenize=x):d.tokenize=S,"tag"):(c.next(),"null")}function L(c,d){return c.match(/^.*?#\}/)?d.tokenize=S:c.skipToEnd(),"comment"}function x(c,d){return c.match(/\{%\s*endcomment\s*%\}/,!1)?(d.tokenize=g,c.match("{%"),"tag"):(c.next(),"comment")}return{startState:function(){return{tokenize:S}},token:function(c,d){return d.tokenize(c,d)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),o.defineMode("django",function(h){var v=o.getMode(h,"text/html"),C=o.getMode(h,"django:inner");return o.overlayMode(v,C)}),o.defineMIME("text/x-django","django")})});var Di=Ke((Bs,Ws)=>{(function(o){typeof Bs=="object"&&typeof Ws=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode=function(x,c){o.defineMode(x,function(d){return o.simpleMode(d,c)})},o.simpleMode=function(x,c){h(c,"start");var d={},w=c.meta||{},E=!1;for(var z in c)if(z!=w&&c.hasOwnProperty(z))for(var y=d[z]=[],R=c[z],M=0;M2&&H.token&&typeof H.token!="string"){for(var re=2;re-1)return o.Pass;var z=d.indent.length-1,y=x[d.state];e:for(;;){for(var R=0;R{(function(o){typeof Us=="object"&&typeof $s=="object"?o(We(),Di()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],o):o(CodeMirror)})(function(o){"use strict";var h="from",v=new RegExp("^(\\s*)\\b("+h+")\\b","i"),C=["run","cmd","entrypoint","shell"],b=new RegExp("^(\\s*)("+C.join("|")+")(\\s+\\[)","i"),S="expose",s=new RegExp("^(\\s*)("+S+")(\\s+)","i"),p=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],g=[h,S].concat(C).concat(p),L="("+g.join("|")+")",x=new RegExp("^(\\s*)"+L+"(\\s*)(#.*)?$","i"),c=new RegExp("^(\\s*)"+L+"(\\s+)","i");o.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:v,token:[null,"keyword"],sol:!0,next:"from"},{regex:x,token:[null,"keyword",null,"error"],sol:!0},{regex:b,token:[null,"keyword",null],sol:!0,next:"array"},{regex:s,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:c,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),o.defineMIME("text/x-dockerfile","dockerfile")})});var Xs=Ke((Gs,Zs)=>{(function(o){typeof Gs=="object"&&typeof Zs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var h=0;h-1&&C.substring(s+1,C.length);if(p)return o.findModeByExtension(p)},o.findModeByName=function(C){C=C.toLowerCase();for(var b=0;b{(function(o){typeof Ys=="object"&&typeof Qs=="object"?o(We(),mn(),Xs()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("markdown",function(h,v){var C=o.getMode(h,"text/html"),b=C.name=="null";function S(q){if(o.findModeByName){var T=o.findModeByName(q);T&&(q=T.mime||T.mimes[0])}var de=o.getMode(h,q);return de.name=="null"?null:de}v.highlightFormatting===void 0&&(v.highlightFormatting=!1),v.maxBlockquoteDepth===void 0&&(v.maxBlockquoteDepth=0),v.taskLists===void 0&&(v.taskLists=!1),v.strikethrough===void 0&&(v.strikethrough=!1),v.emoji===void 0&&(v.emoji=!1),v.fencedCodeBlockHighlighting===void 0&&(v.fencedCodeBlockHighlighting=!0),v.fencedCodeBlockDefaultMode===void 0&&(v.fencedCodeBlockDefaultMode="text/plain"),v.xml===void 0&&(v.xml=!0),v.tokenTypeOverrides===void 0&&(v.tokenTypeOverrides={});var s={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var p in s)s.hasOwnProperty(p)&&v.tokenTypeOverrides[p]&&(s[p]=v.tokenTypeOverrides[p]);var g=/^([*\-_])(?:\s*\1){2,}\s*$/,L=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,x=/^\[(x| )\](?=\s)/i,c=v.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,d=/^ {0,3}(?:\={1,}|-{2,})\s*$/,w=/^[^#!\[\]*_\\<>` "'(~:]+/,E=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,z=/^\s*\[[^\]]+?\]:.*$/,y=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,R=" ";function M(q,T,de){return T.f=T.inline=de,de(q,T)}function H(q,T,de){return T.f=T.block=de,de(q,T)}function Z(q){return!q||!/\S/.test(q.string)}function ee(q){if(q.linkTitle=!1,q.linkHref=!1,q.linkText=!1,q.em=!1,q.strong=!1,q.strikethrough=!1,q.quote=0,q.indentedCode=!1,q.f==N){var T=b;if(!T){var de=o.innerMode(C,q.htmlState);T=de.mode.name=="xml"&&de.state.tagStart===null&&!de.state.context&&de.state.tokenize.isInText}T&&(q.f=j,q.block=re,q.htmlState=null)}return q.trailingSpace=0,q.trailingSpaceNewLine=!1,q.prevLine=q.thisLine,q.thisLine={stream:null},null}function re(q,T){var de=q.column()===T.indentation,ze=Z(T.prevLine.stream),pe=T.indentedCode,Ee=T.prevLine.hr,ge=T.list!==!1,Oe=(T.listStack[T.listStack.length-1]||0)+3;T.indentedCode=!1;var qe=T.indentation;if(T.indentationDiff===null&&(T.indentationDiff=T.indentation,ge)){for(T.list=null;qe=4&&(pe||T.prevLine.fencedCodeEnd||T.prevLine.header||ze))return q.skipToEnd(),T.indentedCode=!0,s.code;if(q.eatSpace())return null;if(de&&T.indentation<=Oe&&(Ze=q.match(c))&&Ze[1].length<=6)return T.quote=0,T.header=Ze[1].length,T.thisLine.header=!0,v.highlightFormatting&&(T.formatting="header"),T.f=T.inline,D(T);if(T.indentation<=Oe&&q.eat(">"))return T.quote=de?1:T.quote+1,v.highlightFormatting&&(T.formatting="quote"),q.eatSpace(),D(T);if(!je&&!T.setext&&de&&T.indentation<=Oe&&(Ze=q.match(L))){var ke=Ze[1]?"ol":"ul";return T.indentation=qe+q.current().length,T.list=!0,T.quote=0,T.listStack.push(T.indentation),T.em=!1,T.strong=!1,T.code=!1,T.strikethrough=!1,v.taskLists&&q.match(x,!1)&&(T.taskList=!0),T.f=T.inline,v.highlightFormatting&&(T.formatting=["list","list-"+ke]),D(T)}else{if(de&&T.indentation<=Oe&&(Ze=q.match(E,!0)))return T.quote=0,T.fencedEndRE=new RegExp(Ze[1]+"+ *$"),T.localMode=v.fencedCodeBlockHighlighting&&S(Ze[2]||v.fencedCodeBlockDefaultMode),T.localMode&&(T.localState=o.startState(T.localMode)),T.f=T.block=F,v.highlightFormatting&&(T.formatting="code-block"),T.code=-1,D(T);if(T.setext||(!Se||!ge)&&!T.quote&&T.list===!1&&!T.code&&!je&&!z.test(q.string)&&(Ze=q.lookAhead(1))&&(Ze=Ze.match(d)))return T.setext?(T.header=T.setext,T.setext=0,q.skipToEnd(),v.highlightFormatting&&(T.formatting="header")):(T.header=Ze[0].charAt(0)=="="?1:2,T.setext=T.header),T.thisLine.header=!0,T.f=T.inline,D(T);if(je)return q.skipToEnd(),T.hr=!0,T.thisLine.hr=!0,s.hr;if(q.peek()==="[")return M(q,T,I)}return M(q,T,T.inline)}function N(q,T){var de=C.token(q,T.htmlState);if(!b){var ze=o.innerMode(C,T.htmlState);(ze.mode.name=="xml"&&ze.state.tagStart===null&&!ze.state.context&&ze.state.tokenize.isInText||T.md_inside&&q.current().indexOf(">")>-1)&&(T.f=j,T.block=re,T.htmlState=null)}return de}function F(q,T){var de=T.listStack[T.listStack.length-1]||0,ze=T.indentation=q.quote?T.push(s.formatting+"-"+q.formatting[de]+"-"+q.quote):T.push("error"))}if(q.taskOpen)return T.push("meta"),T.length?T.join(" "):null;if(q.taskClosed)return T.push("property"),T.length?T.join(" "):null;if(q.linkHref?T.push(s.linkHref,"url"):(q.strong&&T.push(s.strong),q.em&&T.push(s.em),q.strikethrough&&T.push(s.strikethrough),q.emoji&&T.push(s.emoji),q.linkText&&T.push(s.linkText),q.code&&T.push(s.code),q.image&&T.push(s.image),q.imageAltText&&T.push(s.imageAltText,"link"),q.imageMarker&&T.push(s.imageMarker)),q.header&&T.push(s.header,s.header+"-"+q.header),q.quote&&(T.push(s.quote),!v.maxBlockquoteDepth||v.maxBlockquoteDepth>=q.quote?T.push(s.quote+"-"+q.quote):T.push(s.quote+"-"+v.maxBlockquoteDepth)),q.list!==!1){var ze=(q.listStack.length-1)%3;ze?ze===1?T.push(s.list2):T.push(s.list3):T.push(s.list1)}return q.trailingSpaceNewLine?T.push("trailing-space-new-line"):q.trailingSpace&&T.push("trailing-space-"+(q.trailingSpace%2?"a":"b")),T.length?T.join(" "):null}function Q(q,T){if(q.match(w,!0))return D(T)}function j(q,T){var de=T.text(q,T);if(typeof de<"u")return de;if(T.list)return T.list=null,D(T);if(T.taskList){var ze=q.match(x,!0)[1]===" ";return ze?T.taskOpen=!0:T.taskClosed=!0,v.highlightFormatting&&(T.formatting="task"),T.taskList=!1,D(T)}if(T.taskOpen=!1,T.taskClosed=!1,T.header&&q.match(/^#+$/,!0))return v.highlightFormatting&&(T.formatting="header"),D(T);var pe=q.next();if(T.linkTitle){T.linkTitle=!1;var Ee=pe;pe==="("&&(Ee=")"),Ee=(Ee+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var ge="^\\s*(?:[^"+Ee+"\\\\]+|\\\\\\\\|\\\\.)"+Ee;if(q.match(new RegExp(ge),!0))return s.linkHref}if(pe==="`"){var Oe=T.formatting;v.highlightFormatting&&(T.formatting="code"),q.eatWhile("`");var qe=q.current().length;if(T.code==0&&(!T.quote||qe==1))return T.code=qe,D(T);if(qe==T.code){var Se=D(T);return T.code=0,Se}else return T.formatting=Oe,D(T)}else if(T.code)return D(T);if(pe==="\\"&&(q.next(),v.highlightFormatting)){var je=D(T),Ze=s.formatting+"-escape";return je?je+" "+Ze:Ze}if(pe==="!"&&q.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return T.imageMarker=!0,T.image=!0,v.highlightFormatting&&(T.formatting="image"),D(T);if(pe==="["&&T.imageMarker&&q.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return T.imageMarker=!1,T.imageAltText=!0,v.highlightFormatting&&(T.formatting="image"),D(T);if(pe==="]"&&T.imageAltText){v.highlightFormatting&&(T.formatting="image");var je=D(T);return T.imageAltText=!1,T.image=!1,T.inline=T.f=_,je}if(pe==="["&&!T.image)return T.linkText&&q.match(/^.*?\]/)||(T.linkText=!0,v.highlightFormatting&&(T.formatting="link")),D(T);if(pe==="]"&&T.linkText){v.highlightFormatting&&(T.formatting="link");var je=D(T);return T.linkText=!1,T.inline=T.f=q.match(/\(.*?\)| ?\[.*?\]/,!1)?_:j,je}if(pe==="<"&&q.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){T.f=T.inline=V,v.highlightFormatting&&(T.formatting="link");var je=D(T);return je?je+=" ":je="",je+s.linkInline}if(pe==="<"&&q.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){T.f=T.inline=V,v.highlightFormatting&&(T.formatting="link");var je=D(T);return je?je+=" ":je="",je+s.linkEmail}if(v.xml&&pe==="<"&&q.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var ke=q.string.indexOf(">",q.pos);if(ke!=-1){var Je=q.string.substring(q.start,ke);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Je)&&(T.md_inside=!0)}return q.backUp(1),T.htmlState=o.startState(C),H(q,T,N)}if(v.xml&&pe==="<"&&q.match(/^\/\w*?>/))return T.md_inside=!1,"tag";if(pe==="*"||pe==="_"){for(var He=1,Ge=q.pos==1?" ":q.string.charAt(q.pos-2);He<3&&q.eat(pe);)He++;var U=q.peek()||" ",G=!/\s/.test(U)&&(!y.test(U)||/\s/.test(Ge)||y.test(Ge)),ce=!/\s/.test(Ge)&&(!y.test(Ge)||/\s/.test(U)||y.test(U)),Be=null,te=null;if(He%2&&(!T.em&&G&&(pe==="*"||!ce||y.test(Ge))?Be=!0:T.em==pe&&ce&&(pe==="*"||!G||y.test(U))&&(Be=!1)),He>1&&(!T.strong&&G&&(pe==="*"||!ce||y.test(Ge))?te=!0:T.strong==pe&&ce&&(pe==="*"||!G||y.test(U))&&(te=!1)),te!=null||Be!=null){v.highlightFormatting&&(T.formatting=Be==null?"strong":te==null?"em":"strong em"),Be===!0&&(T.em=pe),te===!0&&(T.strong=pe);var Se=D(T);return Be===!1&&(T.em=!1),te===!1&&(T.strong=!1),Se}}else if(pe===" "&&(q.eat("*")||q.eat("_"))){if(q.peek()===" ")return D(T);q.backUp(1)}if(v.strikethrough){if(pe==="~"&&q.eatWhile(pe)){if(T.strikethrough){v.highlightFormatting&&(T.formatting="strikethrough");var Se=D(T);return T.strikethrough=!1,Se}else if(q.match(/^[^\s]/,!1))return T.strikethrough=!0,v.highlightFormatting&&(T.formatting="strikethrough"),D(T)}else if(pe===" "&&q.match("~~",!0)){if(q.peek()===" ")return D(T);q.backUp(2)}}if(v.emoji&&pe===":"&&q.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){T.emoji=!0,v.highlightFormatting&&(T.formatting="emoji");var fe=D(T);return T.emoji=!1,fe}return pe===" "&&(q.match(/^ +$/,!1)?T.trailingSpace++:T.trailingSpace&&(T.trailingSpaceNewLine=!0)),D(T)}function V(q,T){var de=q.next();if(de===">"){T.f=T.inline=j,v.highlightFormatting&&(T.formatting="link");var ze=D(T);return ze?ze+=" ":ze="",ze+s.linkInline}return q.match(/^[^>]+/,!0),s.linkInline}function _(q,T){if(q.eatSpace())return null;var de=q.next();return de==="("||de==="["?(T.f=T.inline=X(de==="("?")":"]"),v.highlightFormatting&&(T.formatting="link-string"),T.linkHref=!0,D(T)):"error"}var K={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function X(q){return function(T,de){var ze=T.next();if(ze===q){de.f=de.inline=j,v.highlightFormatting&&(de.formatting="link-string");var pe=D(de);return de.linkHref=!1,pe}return T.match(K[q]),de.linkHref=!0,D(de)}}function I(q,T){return q.match(/^([^\]\\]|\\.)*\]:/,!1)?(T.f=B,q.next(),v.highlightFormatting&&(T.formatting="link"),T.linkText=!0,D(T)):M(q,T,j)}function B(q,T){if(q.match("]:",!0)){T.f=T.inline=le,v.highlightFormatting&&(T.formatting="link");var de=D(T);return T.linkText=!1,de}return q.match(/^([^\]\\]|\\.)+/,!0),s.linkText}function le(q,T){return q.eatSpace()?null:(q.match(/^[^\s]+/,!0),q.peek()===void 0?T.linkTitle=!0:q.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),T.f=T.inline=j,s.linkHref+" url")}var xe={startState:function(){return{f:re,prevLine:{stream:null},thisLine:{stream:null},block:re,htmlState:null,indentation:0,inline:j,text:Q,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(q){return{f:q.f,prevLine:q.prevLine,thisLine:q.thisLine,block:q.block,htmlState:q.htmlState&&o.copyState(C,q.htmlState),indentation:q.indentation,localMode:q.localMode,localState:q.localMode?o.copyState(q.localMode,q.localState):null,inline:q.inline,text:q.text,formatting:!1,linkText:q.linkText,linkTitle:q.linkTitle,linkHref:q.linkHref,code:q.code,em:q.em,strong:q.strong,strikethrough:q.strikethrough,emoji:q.emoji,header:q.header,setext:q.setext,hr:q.hr,taskList:q.taskList,list:q.list,listStack:q.listStack.slice(0),quote:q.quote,indentedCode:q.indentedCode,trailingSpace:q.trailingSpace,trailingSpaceNewLine:q.trailingSpaceNewLine,md_inside:q.md_inside,fencedEndRE:q.fencedEndRE}},token:function(q,T){if(T.formatting=!1,q!=T.thisLine.stream){if(T.header=0,T.hr=!1,q.match(/^\s*$/,!0))return ee(T),null;if(T.prevLine=T.thisLine,T.thisLine={stream:q},T.taskList=!1,T.trailingSpace=0,T.trailingSpaceNewLine=!1,!T.localState&&(T.f=T.block,T.f!=N)){var de=q.match(/^\s*/,!0)[0].replace(/\t/g,R).length;if(T.indentation=de,T.indentationDiff=null,de>0)return null}}return T.f(q,T)},innerMode:function(q){return q.block==N?{state:q.htmlState,mode:C}:q.localState?{state:q.localState,mode:q.localMode}:{state:q,mode:xe}},indent:function(q,T,de){return q.block==N&&C.indent?C.indent(q.htmlState,T,de):q.localState&&q.localMode.indent?q.localMode.indent(q.localState,T,de):o.Pass},blankLine:ee,getType:D,blockCommentStart:"",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return xe},"xml"),o.defineMIME("text/markdown","markdown"),o.defineMIME("text/x-markdown","markdown")})});var eu=Ke((Vs,Js)=>{(function(o){typeof Vs=="object"&&typeof Js=="object"?o(We(),Jo(),Yn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../markdown/markdown","../../addon/mode/overlay"],o):o(CodeMirror)})(function(o){"use strict";var h=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;o.defineMode("gfm",function(v,C){var b=0;function S(L){return L.code=!1,null}var s={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(L){return{code:L.code,codeBlock:L.codeBlock,ateSpace:L.ateSpace}},token:function(L,x){if(x.combineTokens=null,x.codeBlock)return L.match(/^```+/)?(x.codeBlock=!1,null):(L.skipToEnd(),null);if(L.sol()&&(x.code=!1),L.sol()&&L.match(/^```+/))return L.skipToEnd(),x.codeBlock=!0,null;if(L.peek()==="`"){L.next();var c=L.pos;L.eatWhile("`");var d=1+L.pos-c;return x.code?d===b&&(x.code=!1):(b=d,x.code=!0),null}else if(x.code)return L.next(),null;if(L.eatSpace())return x.ateSpace=!0,null;if((L.sol()||x.ateSpace)&&(x.ateSpace=!1,C.gitHubSpice!==!1)){if(L.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return x.combineTokens=!0,"link";if(L.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return x.combineTokens=!0,"link"}return L.match(h)&&L.string.slice(L.start-2,L.start)!="]("&&(L.start==0||/\W/.test(L.string.charAt(L.start-1)))?(x.combineTokens=!0,"link"):(L.next(),null)},blankLine:S},p={taskLists:!0,strikethrough:!0,emoji:!0};for(var g in C)p[g]=C[g];return p.name="markdown",o.overlayMode(o.getMode(v,p),s)},"markdown"),o.defineMIME("text/x-gfm","gfm")})});var nu=Ke((tu,ru)=>{(function(o){typeof tu=="object"&&typeof ru=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("go",function(h){var v=h.indentUnit,C={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},b={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},S=/[+\-*&^%:=<>!|\/]/,s;function p(w,E){var z=w.next();if(z=='"'||z=="'"||z=="`")return E.tokenize=g(z),E.tokenize(w,E);if(/[\d\.]/.test(z))return z=="."?w.match(/^[0-9_]+([eE][\-+]?[0-9_]+)?/):z=="0"?w.match(/^[xX][0-9a-fA-F_]+/)||w.match(/^[0-7_]+/):w.match(/^[0-9_]*\.?[0-9_]*([eE][\-+]?[0-9_]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(z))return s=z,null;if(z=="/"){if(w.eat("*"))return E.tokenize=L,L(w,E);if(w.eat("/"))return w.skipToEnd(),"comment"}if(S.test(z))return w.eatWhile(S),"operator";w.eatWhile(/[\w\$_\xa1-\uffff]/);var y=w.current();return C.propertyIsEnumerable(y)?((y=="case"||y=="default")&&(s="case"),"keyword"):b.propertyIsEnumerable(y)?"atom":"variable"}function g(w){return function(E,z){for(var y=!1,R,M=!1;(R=E.next())!=null;){if(R==w&&!y){M=!0;break}y=!y&&w!="`"&&R=="\\"}return(M||!(y||w=="`"))&&(z.tokenize=p),"string"}}function L(w,E){for(var z=!1,y;y=w.next();){if(y=="/"&&z){E.tokenize=p;break}z=y=="*"}return"comment"}function x(w,E,z,y,R){this.indented=w,this.column=E,this.type=z,this.align=y,this.prev=R}function c(w,E,z){return w.context=new x(w.indented,E,z,null,w.context)}function d(w){if(w.context.prev){var E=w.context.type;return(E==")"||E=="]"||E=="}")&&(w.indented=w.context.indented),w.context=w.context.prev}}return{startState:function(w){return{tokenize:null,context:new x((w||0)-v,0,"top",!1),indented:0,startOfLine:!0}},token:function(w,E){var z=E.context;if(w.sol()&&(z.align==null&&(z.align=!1),E.indented=w.indentation(),E.startOfLine=!0,z.type=="case"&&(z.type="}")),w.eatSpace())return null;s=null;var y=(E.tokenize||p)(w,E);return y=="comment"||(z.align==null&&(z.align=!0),s=="{"?c(E,w.column(),"}"):s=="["?c(E,w.column(),"]"):s=="("?c(E,w.column(),")"):s=="case"?z.type="case":(s=="}"&&z.type=="}"||s==z.type)&&d(E),E.startOfLine=!1),y},indent:function(w,E){if(w.tokenize!=p&&w.tokenize!=null)return o.Pass;var z=w.context,y=E&&E.charAt(0);if(z.type=="case"&&/^(?:case|default)\b/.test(E))return w.context.type="}",z.indented;var R=y==z.type;return z.align?z.column+(R?0:1):z.indented+(R?0:v)},electricChars:"{}):",closeBrackets:"()[]{}''\"\"``",fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),o.defineMIME("text/x-go","go")})});var au=Ke((iu,ou)=>{(function(o){typeof iu=="object"&&typeof ou=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("http",function(){function h(L,x){return L.skipToEnd(),x.cur=p,"error"}function v(L,x){return L.match(/^HTTP\/\d\.\d/)?(x.cur=C,"keyword"):L.match(/^[A-Z]+/)&&/[ \t]/.test(L.peek())?(x.cur=S,"keyword"):h(L,x)}function C(L,x){var c=L.match(/^\d+/);if(!c)return h(L,x);x.cur=b;var d=Number(c[0]);return d>=100&&d<200?"positive informational":d>=200&&d<300?"positive success":d>=300&&d<400?"positive redirect":d>=400&&d<500?"negative client-error":d>=500&&d<600?"negative server-error":"error"}function b(L,x){return L.skipToEnd(),x.cur=p,null}function S(L,x){return L.eatWhile(/\S/),x.cur=s,"string-2"}function s(L,x){return L.match(/^HTTP\/\d\.\d$/)?(x.cur=p,"keyword"):h(L,x)}function p(L){return L.sol()&&!L.eat(/[ \t]/)?L.match(/^.*?:/)?"atom":(L.skipToEnd(),"error"):(L.skipToEnd(),"string")}function g(L){return L.skipToEnd(),null}return{token:function(L,x){var c=x.cur;return c!=p&&c!=g&&L.eatSpace()?null:c(L,x)},blankLine:function(L){L.cur=g},startState:function(){return{cur:v}}}}),o.defineMIME("message/http","http")})});var uu=Ke((lu,su)=>{(function(o){typeof lu=="object"&&typeof su=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("jinja2",function(){var h=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","do","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","set","raw","endraw","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","call","endcall","macro","endmacro","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","without","context","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","pluralize","autoescape","endautoescape"],v=/^[+\-*&%=<>!?|~^]/,C=/^[:\[\(\{]/,b=["true","false"],S=/^(\d[+\-\*\/])?\d+(\.\d+)?/;h=new RegExp("(("+h.join(")|(")+"))\\b"),b=new RegExp("(("+b.join(")|(")+"))\\b");function s(p,g){var L=p.peek();if(g.incomment)return p.skipTo("#}")?(p.eatWhile(/\#|}/),g.incomment=!1):p.skipToEnd(),"comment";if(g.intag){if(g.operator){if(g.operator=!1,p.match(b))return"atom";if(p.match(S))return"number"}if(g.sign){if(g.sign=!1,p.match(b))return"atom";if(p.match(S))return"number"}if(g.instring)return L==g.instring&&(g.instring=!1),p.next(),"string";if(L=="'"||L=='"')return g.instring=L,p.next(),"string";if(g.inbraces>0&&L==")")p.next(),g.inbraces--;else if(L=="(")p.next(),g.inbraces++;else if(g.inbrackets>0&&L=="]")p.next(),g.inbrackets--;else if(L=="[")p.next(),g.inbrackets++;else{if(!g.lineTag&&(p.match(g.intag+"}")||p.eat("-")&&p.match(g.intag+"}")))return g.intag=!1,"tag";if(p.match(v))return g.operator=!0,"operator";if(p.match(C))g.sign=!0;else{if(p.column()==1&&g.lineTag&&p.match(h))return"keyword";if(p.eat(" ")||p.sol()){if(p.match(h))return"keyword";if(p.match(b))return"atom";if(p.match(S))return"number";p.sol()&&p.next()}else p.next()}}return"variable"}else if(p.eat("{")){if(p.eat("#"))return g.incomment=!0,p.skipTo("#}")?(p.eatWhile(/\#|}/),g.incomment=!1):p.skipToEnd(),"comment";if(L=p.eat(/\{|%/))return g.intag=L,g.inbraces=0,g.inbrackets=0,L=="{"&&(g.intag="}"),p.eat("-"),"tag"}else if(p.eat("#")){if(p.peek()=="#")return p.skipToEnd(),"comment";if(!p.eol())return g.intag=!0,g.lineTag=!0,g.inbraces=0,g.inbrackets=0,"tag"}p.next()}return{startState:function(){return{tokenize:s,inbrackets:0,inbraces:0}},token:function(p,g){var L=g.tokenize(p,g);return p.eol()&&g.lineTag&&!g.instring&&g.inbraces==0&&g.inbrackets==0&&(g.intag=!1,g.lineTag=!1),L},blockCommentStart:"{#",blockCommentEnd:"#}",lineComment:"##"}}),o.defineMIME("text/jinja2","jinja2")})});var du=Ke((cu,fu)=>{(function(o){typeof cu=="object"&&typeof fu=="object"?o(We(),mn(),vn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript"],o):o(CodeMirror)})(function(o){"use strict";function h(C,b,S,s){this.state=C,this.mode=b,this.depth=S,this.prev=s}function v(C){return new h(o.copyState(C.mode,C.state),C.mode,C.depth,C.prev&&v(C.prev))}o.defineMode("jsx",function(C,b){var S=o.getMode(C,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),s=o.getMode(C,b&&b.base||"javascript");function p(c){var d=c.tagName;c.tagName=null;var w=S.indent(c,"","");return c.tagName=d,w}function g(c,d){return d.context.mode==S?L(c,d,d.context):x(c,d,d.context)}function L(c,d,w){if(w.depth==2)return c.match(/^.*?\*\//)?w.depth=1:c.skipToEnd(),"comment";if(c.peek()=="{"){S.skipAttribute(w.state);var E=p(w.state),z=w.state.context;if(z&&c.match(/^[^>]*>\s*$/,!1)){for(;z.prev&&!z.startOfLine;)z=z.prev;z.startOfLine?E-=C.indentUnit:w.prev.state.lexical&&(E=w.prev.state.lexical.indented)}else w.depth==1&&(E+=C.indentUnit);return d.context=new h(o.startState(s,E),s,0,d.context),null}if(w.depth==1){if(c.peek()=="<")return S.skipAttribute(w.state),d.context=new h(o.startState(S,p(w.state)),S,0,d.context),null;if(c.match("//"))return c.skipToEnd(),"comment";if(c.match("/*"))return w.depth=2,g(c,d)}var y=S.token(c,w.state),R=c.current(),M;return/\btag\b/.test(y)?/>$/.test(R)?w.state.context?w.depth=0:d.context=d.context.prev:/^-1&&c.backUp(R.length-M),y}function x(c,d,w){if(c.peek()=="<"&&!c.match(/^<([^<>]|<[^>]*>)+,\s*>/,!1)&&s.expressionAllowed(c,w.state))return d.context=new h(o.startState(S,s.indent(w.state,"","")),S,0,d.context),s.skipExpression(w.state),null;var E=s.token(c,w.state);if(!E&&w.depth!=null){var z=c.current();z=="{"?w.depth++:z=="}"&&--w.depth==0&&(d.context=d.context.prev)}return E}return{startState:function(){return{context:new h(o.startState(s),s)}},copyState:function(c){return{context:v(c.context)}},token:g,indent:function(c,d,w){return c.context.mode.indent(c.context.state,d,w)},innerMode:function(c){return c.context}}},"xml","javascript"),o.defineMIME("text/jsx","jsx"),o.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})})});var gu=Ke((pu,hu)=>{(function(o){typeof pu=="object"&&typeof hu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("nginx",function(h){function v(w){for(var E={},z=w.split(" "),y=0;y*\/]/.test(y)?g(null,"select-op"):/[;{}:\[\]]/.test(y)?g(null,y):(w.eatWhile(/[\w\\\-]/),g("variable","variable"))}function x(w,E){for(var z=!1,y;(y=w.next())!=null;){if(z&&y=="/"){E.tokenize=L;break}z=y=="*"}return g("comment","comment")}function c(w,E){for(var z=0,y;(y=w.next())!=null;){if(z>=2&&y==">"){E.tokenize=L;break}z=y=="-"?z+1:0}return g("comment","comment")}function d(w){return function(E,z){for(var y=!1,R;(R=E.next())!=null&&!(R==w&&!y);)y=!y&&R=="\\";return y||(z.tokenize=L),g("string","string")}}return{startState:function(w){return{tokenize:L,baseIndent:w||0,stack:[]}},token:function(w,E){if(w.eatSpace())return null;p=null;var z=E.tokenize(w,E),y=E.stack[E.stack.length-1];return p=="hash"&&y=="rule"?z="atom":z=="variable"&&(y=="rule"?z="number":(!y||y=="@media{")&&(z="tag")),y=="rule"&&/^[\{\};]$/.test(p)&&E.stack.pop(),p=="{"?y=="@media"?E.stack[E.stack.length-1]="@media{":E.stack.push("{"):p=="}"?E.stack.pop():p=="@media"?E.stack.push("@media"):y=="{"&&p!="comment"&&E.stack.push("rule"),z},indent:function(w,E){var z=w.stack.length;return/^\}/.test(E)&&(z-=w.stack[w.stack.length-1]=="rule"?2:1),w.baseIndent+z*s},electricChars:"}"}}),o.defineMIME("text/x-nginx-conf","nginx")})});var bu=Ke((mu,vu)=>{(function(o){typeof mu=="object"&&typeof vu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("pascal",function(){function h(L){for(var x={},c=L.split(" "),d=0;d!?|\/]/;function S(L,x){var c=L.next();if(c=="#"&&x.startOfLine)return L.skipToEnd(),"meta";if(c=='"'||c=="'")return x.tokenize=s(c),x.tokenize(L,x);if(c=="("&&L.eat("*"))return x.tokenize=p,p(L,x);if(c=="{")return x.tokenize=g,g(L,x);if(/[\[\]\(\),;\:\.]/.test(c))return null;if(/\d/.test(c))return L.eatWhile(/[\w\.]/),"number";if(c=="/"&&L.eat("/"))return L.skipToEnd(),"comment";if(b.test(c))return L.eatWhile(b),"operator";L.eatWhile(/[\w\$_]/);var d=L.current();return v.propertyIsEnumerable(d)?"keyword":C.propertyIsEnumerable(d)?"atom":"variable"}function s(L){return function(x,c){for(var d=!1,w,E=!1;(w=x.next())!=null;){if(w==L&&!d){E=!0;break}d=!d&&w=="\\"}return(E||!d)&&(c.tokenize=null),"string"}}function p(L,x){for(var c=!1,d;d=L.next();){if(d==")"&&c){x.tokenize=null;break}c=d=="*"}return"comment"}function g(L,x){for(var c;c=L.next();)if(c=="}"){x.tokenize=null;break}return"comment"}return{startState:function(){return{tokenize:null}},token:function(L,x){if(L.eatSpace())return null;var c=(x.tokenize||S)(L,x);return c=="comment"||c=="meta",c},electricChars:"{}"}}),o.defineMIME("text/x-pascal","pascal")})});var _u=Ke((yu,xu)=>{(function(o){typeof yu=="object"&&typeof xu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("perl",function(){var S={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},s="string-2",p=/[goseximacplud]/;function g(c,d,w,E,z){return d.chain=null,d.style=null,d.tail=null,d.tokenize=function(y,R){for(var M=!1,H,Z=0;H=y.next();){if(H===w[Z]&&!M)return w[++Z]!==void 0?(R.chain=w[Z],R.style=E,R.tail=z):z&&y.eatWhile(z),R.tokenize=x,E;M=!M&&H=="\\"}return E},d.tokenize(c,d)}function L(c,d,w){return d.tokenize=function(E,z){return E.string==w&&(z.tokenize=x),E.skipToEnd(),"string"},d.tokenize(c,d)}function x(c,d){if(c.eatSpace())return null;if(d.chain)return g(c,d,d.chain,d.style,d.tail);if(c.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(c.match(/^<<(?=[_a-zA-Z])/))return c.eatWhile(/\w/),L(c,d,c.current().substr(2));if(c.sol()&&c.match(/^\=item(?!\w)/))return L(c,d,"=cut");var w=c.next();if(w=='"'||w=="'"){if(v(c,3)=="<<"+w){var E=c.pos;c.eatWhile(/\w/);var z=c.current().substr(1);if(z&&c.eat(w))return L(c,d,z);c.pos=E}return g(c,d,[w],"string")}if(w=="q"){var y=h(c,-2);if(!(y&&/\w/.test(y))){if(y=h(c,0),y=="x"){if(y=h(c,1),y=="(")return b(c,2),g(c,d,[")"],s,p);if(y=="[")return b(c,2),g(c,d,["]"],s,p);if(y=="{")return b(c,2),g(c,d,["}"],s,p);if(y=="<")return b(c,2),g(c,d,[">"],s,p);if(/[\^'"!~\/]/.test(y))return b(c,1),g(c,d,[c.eat(y)],s,p)}else if(y=="q"){if(y=h(c,1),y=="(")return b(c,2),g(c,d,[")"],"string");if(y=="[")return b(c,2),g(c,d,["]"],"string");if(y=="{")return b(c,2),g(c,d,["}"],"string");if(y=="<")return b(c,2),g(c,d,[">"],"string");if(/[\^'"!~\/]/.test(y))return b(c,1),g(c,d,[c.eat(y)],"string")}else if(y=="w"){if(y=h(c,1),y=="(")return b(c,2),g(c,d,[")"],"bracket");if(y=="[")return b(c,2),g(c,d,["]"],"bracket");if(y=="{")return b(c,2),g(c,d,["}"],"bracket");if(y=="<")return b(c,2),g(c,d,[">"],"bracket");if(/[\^'"!~\/]/.test(y))return b(c,1),g(c,d,[c.eat(y)],"bracket")}else if(y=="r"){if(y=h(c,1),y=="(")return b(c,2),g(c,d,[")"],s,p);if(y=="[")return b(c,2),g(c,d,["]"],s,p);if(y=="{")return b(c,2),g(c,d,["}"],s,p);if(y=="<")return b(c,2),g(c,d,[">"],s,p);if(/[\^'"!~\/]/.test(y))return b(c,1),g(c,d,[c.eat(y)],s,p)}else if(/[\^'"!~\/(\[{<]/.test(y)){if(y=="(")return b(c,1),g(c,d,[")"],"string");if(y=="[")return b(c,1),g(c,d,["]"],"string");if(y=="{")return b(c,1),g(c,d,["}"],"string");if(y=="<")return b(c,1),g(c,d,[">"],"string");if(/[\^'"!~\/]/.test(y))return g(c,d,[c.eat(y)],"string")}}}if(w=="m"){var y=h(c,-2);if(!(y&&/\w/.test(y))&&(y=c.eat(/[(\[{<\^'"!~\/]/),y)){if(/[\^'"!~\/]/.test(y))return g(c,d,[y],s,p);if(y=="(")return g(c,d,[")"],s,p);if(y=="[")return g(c,d,["]"],s,p);if(y=="{")return g(c,d,["}"],s,p);if(y=="<")return g(c,d,[">"],s,p)}}if(w=="s"){var y=/[\/>\]})\w]/.test(h(c,-2));if(!y&&(y=c.eat(/[(\[{<\^'"!~\/]/),y))return y=="["?g(c,d,["]","]"],s,p):y=="{"?g(c,d,["}","}"],s,p):y=="<"?g(c,d,[">",">"],s,p):y=="("?g(c,d,[")",")"],s,p):g(c,d,[y,y],s,p)}if(w=="y"){var y=/[\/>\]})\w]/.test(h(c,-2));if(!y&&(y=c.eat(/[(\[{<\^'"!~\/]/),y))return y=="["?g(c,d,["]","]"],s,p):y=="{"?g(c,d,["}","}"],s,p):y=="<"?g(c,d,[">",">"],s,p):y=="("?g(c,d,[")",")"],s,p):g(c,d,[y,y],s,p)}if(w=="t"){var y=/[\/>\]})\w]/.test(h(c,-2));if(!y&&(y=c.eat("r"),y&&(y=c.eat(/[(\[{<\^'"!~\/]/),y)))return y=="["?g(c,d,["]","]"],s,p):y=="{"?g(c,d,["}","}"],s,p):y=="<"?g(c,d,[">",">"],s,p):y=="("?g(c,d,[")",")"],s,p):g(c,d,[y,y],s,p)}if(w=="`")return g(c,d,[w],"variable-2");if(w=="/")return/~\s*$/.test(v(c))?g(c,d,[w],s,p):"operator";if(w=="$"){var E=c.pos;if(c.eatWhile(/\d/)||c.eat("{")&&c.eatWhile(/\d/)&&c.eat("}"))return"variable-2";c.pos=E}if(/[$@%]/.test(w)){var E=c.pos;if(c.eat("^")&&c.eat(/[A-Z]/)||!/[@$%&]/.test(h(c,-2))&&c.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var y=c.current();if(S[y])return"variable-2"}c.pos=E}if(/[$@%&]/.test(w)&&(c.eatWhile(/[\w$]/)||c.eat("{")&&c.eatWhile(/[\w$]/)&&c.eat("}"))){var y=c.current();return S[y]?"variable-2":"variable"}if(w=="#"&&h(c,-2)!="$")return c.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(w)){var E=c.pos;if(c.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),S[c.current()])return"operator";c.pos=E}if(w=="_"&&c.pos==1){if(C(c,6)=="_END__")return g(c,d,["\0"],"comment");if(C(c,7)=="_DATA__")return g(c,d,["\0"],"variable-2");if(C(c,7)=="_C__")return g(c,d,["\0"],"string")}if(/\w/.test(w)){var E=c.pos;if(h(c,-2)=="{"&&(h(c,0)=="}"||c.eatWhile(/\w/)&&h(c,0)=="}"))return"string";c.pos=E}if(/[A-Z]/.test(w)){var R=h(c,-2),E=c.pos;if(c.eatWhile(/[A-Z_]/),/[\da-z]/.test(h(c,0)))c.pos=E;else{var y=S[c.current()];return y?(y[1]&&(y=y[0]),R!=":"?y==1?"keyword":y==2?"def":y==3?"atom":y==4?"operator":y==5?"variable-2":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(w)){var R=h(c,-2);c.eatWhile(/\w/);var y=S[c.current()];return y?(y[1]&&(y=y[0]),R!=":"?y==1?"keyword":y==2?"def":y==3?"atom":y==4?"operator":y==5?"variable-2":"meta":"meta"):"meta"}return null}return{startState:function(){return{tokenize:x,chain:null,style:null,tail:null}},token:function(c,d){return(d.tokenize||x)(c,d)},lineComment:"#"}}),o.registerHelper("wordChars","perl",/[\w$]/),o.defineMIME("text/x-perl","perl");function h(S,s){return S.string.charAt(S.pos+(s||0))}function v(S,s){if(s){var p=S.pos-s;return S.string.substr(p>=0?p:0,s)}else return S.string.substr(0,S.pos-1)}function C(S,s){var p=S.string.length,g=p-S.pos+1;return S.string.substr(S.pos,s&&s=(g=S.string.length-1)?S.pos=g:S.pos=p}})});var Su=Ke((ku,wu)=>{(function(o){typeof ku=="object"&&typeof wu=="object"?o(We(),Qn(),Vo()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],o):o(CodeMirror)})(function(o){"use strict";function h(L){for(var x={},c=L.split(" "),d=0;d\w/,!1)&&(x.tokenize=v([[["->",null]],[[/[\w]+/,"variable"]]],c,d)),"variable-2";for(var w=!1;!L.eol()&&(w||d===!1||!L.match("{$",!1)&&!L.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!w&&L.match(c)){x.tokenize=null,x.tokStack.pop(),x.tokStack.pop();break}w=L.next()=="\\"&&!w}return"string"}var S="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally readonly match",s="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",p="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage memory_get_peak_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";o.registerHelper("hintWords","php",[S,s,p].join(" ").split(" ")),o.registerHelper("wordChars","php",/[\w$]/);var g={name:"clike",helperType:"php",keywords:h(S),blockKeywords:h("catch do else elseif for foreach if switch try while finally"),defKeywords:h("class enum function interface namespace trait"),atoms:h(s),builtin:h(p),multiLineStrings:!0,hooks:{$:function(L){return L.eatWhile(/[\w\$_]/),"variable-2"},"<":function(L,x){var c;if(c=L.match(/^<<\s*/)){var d=L.eat(/['"]/);L.eatWhile(/[\w\.]/);var w=L.current().slice(c[0].length+(d?2:1));if(d&&L.eat(d),w)return(x.tokStack||(x.tokStack=[])).push(w,0),x.tokenize=C(w,d!="'"),"string"}return!1},"#":function(L){for(;!L.eol()&&!L.match("?>",!1);)L.next();return"comment"},"/":function(L){if(L.eat("/")){for(;!L.eol()&&!L.match("?>",!1);)L.next();return"comment"}return!1},'"':function(L,x){return(x.tokStack||(x.tokStack=[])).push('"',0),x.tokenize=C('"'),"string"},"{":function(L,x){return x.tokStack&&x.tokStack.length&&x.tokStack[x.tokStack.length-1]++,!1},"}":function(L,x){return x.tokStack&&x.tokStack.length>0&&!--x.tokStack[x.tokStack.length-1]&&(x.tokenize=C(x.tokStack[x.tokStack.length-2])),!1}}};o.defineMode("php",function(L,x){var c=o.getMode(L,x&&x.htmlMode||"text/html"),d=o.getMode(L,g);function w(E,z){var y=z.curMode==d;if(E.sol()&&z.pending&&z.pending!='"'&&z.pending!="'"&&(z.pending=null),y)return y&&z.php.tokenize==null&&E.match("?>")?(z.curMode=c,z.curState=z.html,z.php.context.prev||(z.php=null),"meta"):d.token(E,z.curState);if(E.match(/^<\?\w*/))return z.curMode=d,z.php||(z.php=o.startState(d,c.indent(z.html,"",""))),z.curState=z.php,"meta";if(z.pending=='"'||z.pending=="'"){for(;!E.eol()&&E.next()!=z.pending;);var R="string"}else if(z.pending&&E.pos/.test(M)?z.pending=Z[0]:z.pending={end:E.pos,style:R},E.backUp(M.length-H)),R}return{startState:function(){var E=o.startState(c),z=x.startOpen?o.startState(d):null;return{html:E,php:z,curMode:x.startOpen?d:c,curState:x.startOpen?z:E,pending:null}},copyState:function(E){var z=E.html,y=o.copyState(c,z),R=E.php,M=R&&o.copyState(d,R),H;return E.curMode==c?H=y:H=M,{html:y,php:M,curMode:E.curMode,curState:H,pending:E.pending}},token:w,indent:function(E,z,y){return E.curMode!=d&&/^\s*<\//.test(z)||E.curMode==d&&/^\?>/.test(z)?c.indent(E.html,z,y):E.curMode.indent(E.curState,z,y)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(E){return{state:E.curState,mode:E.curMode}}}},"htmlmixed","clike"),o.defineMIME("application/x-httpd-php","php"),o.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),o.defineMIME("text/x-php",g)})});var Cu=Ke((Tu,Lu)=>{(function(o){typeof Tu=="object"&&typeof Lu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function h(s){return new RegExp("^(("+s.join(")|(")+"))\\b","i")}var v=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],C=h(v);o.registerHelper("hintWords","protobuf",v);var b=new RegExp("^[_A-Za-z\xA1-\uFFFF][_A-Za-z0-9\xA1-\uFFFF]*");function S(s){return s.eatSpace()?null:s.match("//")?(s.skipToEnd(),"comment"):s.match(/^[0-9\.+-]/,!1)&&(s.match(/^[+-]?0x[0-9a-fA-F]+/)||s.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)||s.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))?"number":s.match(/^"([^"]|(""))*"/)||s.match(/^'([^']|(''))*'/)?"string":s.match(C)?"keyword":s.match(b)?"variable":(s.next(),null)}o.defineMode("protobuf",function(){return{token:S,fold:"brace"}}),o.defineMIME("text/x-protobuf","protobuf")})});var Mu=Ke((Eu,zu)=>{(function(o){typeof Eu=="object"&&typeof zu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function h(p){return new RegExp("^(("+p.join(")|(")+"))\\b")}var v=h(["and","or","not","is"]),C=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],b=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];o.registerHelper("hintWords","python",C.concat(b).concat(["exec","print"]));function S(p){return p.scopes[p.scopes.length-1]}o.defineMode("python",function(p,g){for(var L="error",x=g.delimiters||g.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,c=[g.singleOperators,g.doubleOperators,g.doubleDelimiters,g.tripleDelimiters,g.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],d=0;dB?D(X):le0&&j(K,X)&&(xe+=" "+L),xe}}return re(K,X)}function re(K,X,I){if(K.eatSpace())return null;if(!I&&K.match(/^#.*/))return"comment";if(K.match(/^[0-9\.]/,!1)){var B=!1;if(K.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(B=!0),K.match(/^[\d_]+\.\d*/)&&(B=!0),K.match(/^\.\d+/)&&(B=!0),B)return K.eat(/J/i),"number";var le=!1;if(K.match(/^0x[0-9a-f_]+/i)&&(le=!0),K.match(/^0b[01_]+/i)&&(le=!0),K.match(/^0o[0-7_]+/i)&&(le=!0),K.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(K.eat(/J/i),le=!0),K.match(/^0(?![\dx])/i)&&(le=!0),le)return K.eat(/L/i),"number"}if(K.match(M)){var xe=K.current().toLowerCase().indexOf("f")!==-1;return xe?(X.tokenize=N(K.current(),X.tokenize),X.tokenize(K,X)):(X.tokenize=F(K.current(),X.tokenize),X.tokenize(K,X))}for(var q=0;q=0;)K=K.substr(1);var I=K.length==1,B="string";function le(q){return function(T,de){var ze=re(T,de,!0);return ze=="punctuation"&&(T.current()=="{"?de.tokenize=le(q+1):T.current()=="}"&&(q>1?de.tokenize=le(q-1):de.tokenize=xe)),ze}}function xe(q,T){for(;!q.eol();)if(q.eatWhile(/[^'"\{\}\\]/),q.eat("\\")){if(q.next(),I&&q.eol())return B}else{if(q.match(K))return T.tokenize=X,B;if(q.match("{{"))return B;if(q.match("{",!1))return T.tokenize=le(0),q.current()?B:T.tokenize(q,T);if(q.match("}}"))return B;if(q.match("}"))return L;q.eat(/['"]/)}if(I){if(g.singleLineStringErrors)return L;T.tokenize=X}return B}return xe.isString=!0,xe}function F(K,X){for(;"rubf".indexOf(K.charAt(0).toLowerCase())>=0;)K=K.substr(1);var I=K.length==1,B="string";function le(xe,q){for(;!xe.eol();)if(xe.eatWhile(/[^'"\\]/),xe.eat("\\")){if(xe.next(),I&&xe.eol())return B}else{if(xe.match(K))return q.tokenize=X,B;xe.eat(/['"]/)}if(I){if(g.singleLineStringErrors)return L;q.tokenize=X}return B}return le.isString=!0,le}function D(K){for(;S(K).type!="py";)K.scopes.pop();K.scopes.push({offset:S(K).offset+p.indentUnit,type:"py",align:null})}function Q(K,X,I){var B=K.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:K.column()+1;X.scopes.push({offset:X.indent+w,type:I,align:B})}function j(K,X){for(var I=K.indentation();X.scopes.length>1&&S(X).offset>I;){if(S(X).type!="py")return!0;X.scopes.pop()}return S(X).offset!=I}function V(K,X){K.sol()&&(X.beginningOfLine=!0,X.dedent=!1);var I=X.tokenize(K,X),B=K.current();if(X.beginningOfLine&&B=="@")return K.match(R,!1)?"meta":y?"operator":L;if(/\S/.test(B)&&(X.beginningOfLine=!1),(I=="variable"||I=="builtin")&&X.lastToken=="meta"&&(I="meta"),(B=="pass"||B=="return")&&(X.dedent=!0),B=="lambda"&&(X.lambda=!0),B==":"&&!X.lambda&&S(X).type=="py"&&K.match(/^\s*(?:#|$)/,!1)&&D(X),B.length==1&&!/string|comment/.test(I)){var le="[({".indexOf(B);if(le!=-1&&Q(K,X,"])}".slice(le,le+1)),le="])}".indexOf(B),le!=-1)if(S(X).type==B)X.indent=X.scopes.pop().offset-w;else return L}return X.dedent&&K.eol()&&S(X).type=="py"&&X.scopes.length>1&&X.scopes.pop(),I}var _={startState:function(K){return{tokenize:ee,scopes:[{offset:K||0,type:"py",align:null}],indent:K||0,lastToken:null,lambda:!1,dedent:0}},token:function(K,X){var I=X.errorToken;I&&(X.errorToken=!1);var B=V(K,X);return B&&B!="comment"&&(X.lastToken=B=="keyword"||B=="punctuation"?K.current():B),B=="punctuation"&&(B=null),K.eol()&&X.lambda&&(X.lambda=!1),I?B+" "+L:B},indent:function(K,X){if(K.tokenize!=ee)return K.tokenize.isString?o.Pass:0;var I=S(K),B=I.type==X.charAt(0)||I.type=="py"&&!K.dedent&&/^(else:|elif |except |finally:)/.test(X);return I.align!=null?I.align-(B?1:0):I.offset-(B?w:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:`'"`},lineComment:"#",fold:"indent"};return _}),o.defineMIME("text/x-python","python");var s=function(p){return p.split(" ")};o.defineMIME("text/x-cython",{name:"python",extra_keywords:s("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})});var qu=Ke((Au,Du)=>{(function(o){typeof Au=="object"&&typeof Du=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function h(g){for(var L={},x=0,c=g.length;x]/)?(M.eat(/[\<\>]/),"atom"):M.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":M.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(M.eatWhile(/[\w$\xa1-\uffff]/),M.eat(/[\?\!\=]/),"atom"):"operator";if(Z=="@"&&M.match(/^@?[a-zA-Z_\xa1-\uffff]/))return M.eat("@"),M.eatWhile(/[\w\xa1-\uffff]/),"variable-2";if(Z=="$")return M.eat(/[a-zA-Z_]/)?M.eatWhile(/[\w]/):M.eat(/\d/)?M.eat(/\d/):M.next(),"variable-3";if(/[a-zA-Z_\xa1-\uffff]/.test(Z))return M.eatWhile(/[\w\xa1-\uffff]/),M.eat(/[\?\!]/),M.eat(":")?"atom":"ident";if(Z=="|"&&(H.varList||H.lastTok=="{"||H.lastTok=="do"))return L="|",null;if(/[\(\)\[\]{}\\;]/.test(Z))return L=Z,null;if(Z=="-"&&M.eat(">"))return"arrow";if(/[=+\-\/*:\.^%<>~|]/.test(Z)){var D=M.eatWhile(/[=+\-\/*:\.^%<>~|]/);return Z=="."&&!D&&(L="."),"operator"}else return null}}}function d(M){for(var H=M.pos,Z=0,ee,re=!1,N=!1;(ee=M.next())!=null;)if(N)N=!1;else{if("[{(".indexOf(ee)>-1)Z++;else if("]})".indexOf(ee)>-1){if(Z--,Z<0)break}else if(ee=="/"&&Z==0){re=!0;break}N=ee=="\\"}return M.backUp(M.pos-H),re}function w(M){return M||(M=1),function(H,Z){if(H.peek()=="}"){if(M==1)return Z.tokenize.pop(),Z.tokenize[Z.tokenize.length-1](H,Z);Z.tokenize[Z.tokenize.length-1]=w(M-1)}else H.peek()=="{"&&(Z.tokenize[Z.tokenize.length-1]=w(M+1));return c(H,Z)}}function E(){var M=!1;return function(H,Z){return M?(Z.tokenize.pop(),Z.tokenize[Z.tokenize.length-1](H,Z)):(M=!0,c(H,Z))}}function z(M,H,Z,ee){return function(re,N){var F=!1,D;for(N.context.type==="read-quoted-paused"&&(N.context=N.context.prev,re.eat("}"));(D=re.next())!=null;){if(D==M&&(ee||!F)){N.tokenize.pop();break}if(Z&&D=="#"&&!F){if(re.eat("{")){M=="}"&&(N.context={prev:N.context,type:"read-quoted-paused"}),N.tokenize.push(w());break}else if(/[@\$]/.test(re.peek())){N.tokenize.push(E());break}}F=!F&&D=="\\"}return H}}function y(M,H){return function(Z,ee){return H&&Z.eatSpace(),Z.match(M)?ee.tokenize.pop():Z.skipToEnd(),"string"}}function R(M,H){return M.sol()&&M.match("=end")&&M.eol()&&H.tokenize.pop(),M.skipToEnd(),"comment"}return{startState:function(){return{tokenize:[c],indented:0,context:{type:"top",indented:-g.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(M,H){L=null,M.sol()&&(H.indented=M.indentation());var Z=H.tokenize[H.tokenize.length-1](M,H),ee,re=L;if(Z=="ident"){var N=M.current();Z=H.lastTok=="."?"property":C.propertyIsEnumerable(M.current())?"keyword":/^[A-Z]/.test(N)?"tag":H.lastTok=="def"||H.lastTok=="class"||H.varList?"def":"variable",Z=="keyword"&&(re=N,b.propertyIsEnumerable(N)?ee="indent":S.propertyIsEnumerable(N)?ee="dedent":((N=="if"||N=="unless")&&M.column()==M.indentation()||N=="do"&&H.context.indented{(function(o){typeof Iu=="object"&&typeof Fu=="object"?o(We(),Di()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode("rust",{start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string-2"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string-2"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type|union)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"variable-3"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"],electricInput:/^\s*\}$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),o.defineMIME("text/x-rustsrc","rust"),o.defineMIME("text/rust","rust")})});var ea=Ke((Ou,Pu)=>{(function(o){typeof Ou=="object"&&typeof Pu=="object"?o(We(),gn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../css/css"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("sass",function(h){var v=o.mimeModes["text/css"],C=v.propertyKeywords||{},b=v.colorKeywords||{},S=v.valueKeywords||{},s=v.fontProperties||{};function p(N){return new RegExp("^"+N.join("|"))}var g=["true","false","null","auto"],L=new RegExp("^"+g.join("|")),x=["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"],c=p(x),d=/^::?[a-zA-Z_][\w\-]*/,w;function E(N){return!N.peek()||N.match(/\s+$/,!1)}function z(N,F){var D=N.peek();return D===")"?(N.next(),F.tokenizer=ee,"operator"):D==="("?(N.next(),N.eatSpace(),"operator"):D==="'"||D==='"'?(F.tokenizer=R(N.next()),"string"):(F.tokenizer=R(")",!1),"string")}function y(N,F){return function(D,Q){return D.sol()&&D.indentation()<=N?(Q.tokenizer=ee,ee(D,Q)):(F&&D.skipTo("*/")?(D.next(),D.next(),Q.tokenizer=ee):D.skipToEnd(),"comment")}}function R(N,F){F==null&&(F=!0);function D(Q,j){var V=Q.next(),_=Q.peek(),K=Q.string.charAt(Q.pos-2),X=V!=="\\"&&_===N||V===N&&K!=="\\";return X?(V!==N&&F&&Q.next(),E(Q)&&(j.cursorHalf=0),j.tokenizer=ee,"string"):V==="#"&&_==="{"?(j.tokenizer=M(D),Q.next(),"operator"):"string"}return D}function M(N){return function(F,D){return F.peek()==="}"?(F.next(),D.tokenizer=N,"operator"):ee(F,D)}}function H(N){if(N.indentCount==0){N.indentCount++;var F=N.scopes[0].offset,D=F+h.indentUnit;N.scopes.unshift({offset:D})}}function Z(N){N.scopes.length!=1&&N.scopes.shift()}function ee(N,F){var D=N.peek();if(N.match("/*"))return F.tokenizer=y(N.indentation(),!0),F.tokenizer(N,F);if(N.match("//"))return F.tokenizer=y(N.indentation(),!1),F.tokenizer(N,F);if(N.match("#{"))return F.tokenizer=M(ee),"operator";if(D==='"'||D==="'")return N.next(),F.tokenizer=R(D),"string";if(F.cursorHalf){if(D==="#"&&(N.next(),N.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/))||N.match(/^-?[0-9\.]+/))return E(N)&&(F.cursorHalf=0),"number";if(N.match(/^(px|em|in)\b/))return E(N)&&(F.cursorHalf=0),"unit";if(N.match(L))return E(N)&&(F.cursorHalf=0),"keyword";if(N.match(/^url/)&&N.peek()==="(")return F.tokenizer=z,E(N)&&(F.cursorHalf=0),"atom";if(D==="$")return N.next(),N.eatWhile(/[\w-]/),E(N)&&(F.cursorHalf=0),"variable-2";if(D==="!")return N.next(),F.cursorHalf=0,N.match(/^[\w]+/)?"keyword":"operator";if(N.match(c))return E(N)&&(F.cursorHalf=0),"operator";if(N.eatWhile(/[\w-]/))return E(N)&&(F.cursorHalf=0),w=N.current().toLowerCase(),S.hasOwnProperty(w)?"atom":b.hasOwnProperty(w)?"keyword":C.hasOwnProperty(w)?(F.prevProp=N.current().toLowerCase(),"property"):"tag";if(E(N))return F.cursorHalf=0,null}else{if(D==="-"&&N.match(/^-\w+-/))return"meta";if(D==="."){if(N.next(),N.match(/^[\w-]+/))return H(F),"qualifier";if(N.peek()==="#")return H(F),"tag"}if(D==="#"){if(N.next(),N.match(/^[\w-]+/))return H(F),"builtin";if(N.peek()==="#")return H(F),"tag"}if(D==="$")return N.next(),N.eatWhile(/[\w-]/),"variable-2";if(N.match(/^-?[0-9\.]+/))return"number";if(N.match(/^(px|em|in)\b/))return"unit";if(N.match(L))return"keyword";if(N.match(/^url/)&&N.peek()==="(")return F.tokenizer=z,"atom";if(D==="="&&N.match(/^=[\w-]+/))return H(F),"meta";if(D==="+"&&N.match(/^\+[\w-]+/))return"variable-3";if(D==="@"&&N.match("@extend")&&(N.match(/\s*[\w]/)||Z(F)),N.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return H(F),"def";if(D==="@")return N.next(),N.eatWhile(/[\w-]/),"def";if(N.eatWhile(/[\w-]/))if(N.match(/ *: *[\w-\+\$#!\("']/,!1)){w=N.current().toLowerCase();var Q=F.prevProp+"-"+w;return C.hasOwnProperty(Q)?"property":C.hasOwnProperty(w)?(F.prevProp=w,"property"):s.hasOwnProperty(w)?"property":"tag"}else return N.match(/ *:/,!1)?(H(F),F.cursorHalf=1,F.prevProp=N.current().toLowerCase(),"property"):(N.match(/ *,/,!1)||H(F),"tag");if(D===":")return N.match(d)?"variable-3":(N.next(),F.cursorHalf=1,"operator")}return N.match(c)?"operator":(N.next(),null)}function re(N,F){N.sol()&&(F.indentCount=0);var D=F.tokenizer(N,F),Q=N.current();if((Q==="@return"||Q==="}")&&Z(F),D!==null){for(var j=N.pos-Q.length,V=j+h.indentUnit*F.indentCount,_=[],K=0;K{(function(o){typeof ju=="object"&&typeof Ru=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("shell",function(){var h={};function v(d,w){for(var E=0;E1&&d.eat("$");var E=d.next();return/['"({]/.test(E)?(w.tokens[0]=p(E,E=="("?"quote":E=="{"?"def":"string"),c(d,w)):(/\d/.test(E)||d.eatWhile(/\w/),w.tokens.shift(),"def")};function x(d){return function(w,E){return w.sol()&&w.string==d&&E.tokens.shift(),w.skipToEnd(),"string-2"}}function c(d,w){return(w.tokens[0]||s)(d,w)}return{startState:function(){return{tokens:[]}},token:function(d,w){return c(d,w)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),o.defineMIME("text/x-sh","shell"),o.defineMIME("application/x-sh","shell")})});var Uu=Ke((Bu,Wu)=>{(function(o){typeof Bu=="object"&&typeof Wu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("sql",function(g,L){var x=L.client||{},c=L.atoms||{false:!0,true:!0,null:!0},d=L.builtin||s(p),w=L.keywords||s(S),E=L.operatorChars||/^[*+\-%<>!=&|~^\/]/,z=L.support||{},y=L.hooks||{},R=L.dateSQL||{date:!0,time:!0,timestamp:!0},M=L.backslashStringEscapes!==!1,H=L.brackets||/^[\{}\(\)\[\]]/,Z=L.punctuation||/^[;.,:]/;function ee(Q,j){var V=Q.next();if(y[V]){var _=y[V](Q,j);if(_!==!1)return _}if(z.hexNumber&&(V=="0"&&Q.match(/^[xX][0-9a-fA-F]+/)||(V=="x"||V=="X")&&Q.match(/^'[0-9a-fA-F]*'/)))return"number";if(z.binaryNumber&&((V=="b"||V=="B")&&Q.match(/^'[01]*'/)||V=="0"&&Q.match(/^b[01]+/)))return"number";if(V.charCodeAt(0)>47&&V.charCodeAt(0)<58)return Q.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),z.decimallessFloat&&Q.match(/^\.(?!\.)/),"number";if(V=="?"&&(Q.eatSpace()||Q.eol()||Q.eat(";")))return"variable-3";if(V=="'"||V=='"'&&z.doubleQuote)return j.tokenize=re(V),j.tokenize(Q,j);if((z.nCharCast&&(V=="n"||V=="N")||z.charsetCast&&V=="_"&&Q.match(/[a-z][a-z0-9]*/i))&&(Q.peek()=="'"||Q.peek()=='"'))return"keyword";if(z.escapeConstant&&(V=="e"||V=="E")&&(Q.peek()=="'"||Q.peek()=='"'&&z.doubleQuote))return j.tokenize=function(X,I){return(I.tokenize=re(X.next(),!0))(X,I)},"keyword";if(z.commentSlashSlash&&V=="/"&&Q.eat("/"))return Q.skipToEnd(),"comment";if(z.commentHash&&V=="#"||V=="-"&&Q.eat("-")&&(!z.commentSpaceRequired||Q.eat(" ")))return Q.skipToEnd(),"comment";if(V=="/"&&Q.eat("*"))return j.tokenize=N(1),j.tokenize(Q,j);if(V=="."){if(z.zerolessFloat&&Q.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(Q.match(/^\.+/))return null;if(Q.match(/^[\w\d_$#]+/))return"variable-2"}else{if(E.test(V))return Q.eatWhile(E),"operator";if(H.test(V))return"bracket";if(Z.test(V))return Q.eatWhile(Z),"punctuation";if(V=="{"&&(Q.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||Q.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";Q.eatWhile(/^[_\w\d]/);var K=Q.current().toLowerCase();return R.hasOwnProperty(K)&&(Q.match(/^( )+'[^']*'/)||Q.match(/^( )+"[^"]*"/))?"number":c.hasOwnProperty(K)?"atom":d.hasOwnProperty(K)?"type":w.hasOwnProperty(K)?"keyword":x.hasOwnProperty(K)?"builtin":null}}function re(Q,j){return function(V,_){for(var K=!1,X;(X=V.next())!=null;){if(X==Q&&!K){_.tokenize=ee;break}K=(M||j)&&!K&&X=="\\"}return"string"}}function N(Q){return function(j,V){var _=j.match(/^.*?(\/\*|\*\/)/);return _?_[1]=="/*"?V.tokenize=N(Q+1):Q>1?V.tokenize=N(Q-1):V.tokenize=ee:j.skipToEnd(),"comment"}}function F(Q,j,V){j.context={prev:j.context,indent:Q.indentation(),col:Q.column(),type:V}}function D(Q){Q.indent=Q.context.indent,Q.context=Q.context.prev}return{startState:function(){return{tokenize:ee,context:null}},token:function(Q,j){if(Q.sol()&&j.context&&j.context.align==null&&(j.context.align=!1),j.tokenize==ee&&Q.eatSpace())return null;var V=j.tokenize(Q,j);if(V=="comment")return V;j.context&&j.context.align==null&&(j.context.align=!0);var _=Q.current();return _=="("?F(Q,j,")"):_=="["?F(Q,j,"]"):j.context&&j.context.type==_&&D(j),V},indent:function(Q,j){var V=Q.context;if(!V)return o.Pass;var _=j.charAt(0)==V.type;return V.align?V.col+(_?0:1):V.indent+(_?0:g.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:z.commentSlashSlash?"//":z.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``",config:L}});function h(g){for(var L;(L=g.next())!=null;)if(L=="`"&&!g.eat("`"))return"variable-2";return g.backUp(g.current().length-1),g.eatWhile(/\w/)?"variable-2":null}function v(g){for(var L;(L=g.next())!=null;)if(L=='"'&&!g.eat('"'))return"variable-2";return g.backUp(g.current().length-1),g.eatWhile(/\w/)?"variable-2":null}function C(g){return g.eat("@")&&(g.match("session."),g.match("local."),g.match("global.")),g.eat("'")?(g.match(/^.*'/),"variable-2"):g.eat('"')?(g.match(/^.*"/),"variable-2"):g.eat("`")?(g.match(/^.*`/),"variable-2"):g.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function b(g){return g.eat("N")?"atom":g.match(/^[a-zA-Z.#!?]/)?"variable-2":null}var S="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function s(g){for(var L={},x=g.split(" "),c=0;c!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:s("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":C}}),o.defineMIME("text/x-mysql",{name:"sql",client:s("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:s(S+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":C,"`":h,"\\":b}}),o.defineMIME("text/x-mariadb",{name:"sql",client:s("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:s(S+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":C,"`":h,"\\":b}}),o.defineMIME("text/x-sqlite",{name:"sql",client:s("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:s(S+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:s("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:s("date time timestamp datetime"),support:s("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":C,":":C,"?":C,$:C,'"':v,"`":h}}),o.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:s("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:s("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:s("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:s("commentSlashSlash decimallessFloat"),hooks:{}}),o.defineMIME("text/x-plsql",{name:"sql",client:s("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:s("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:s("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:s("date time timestamp"),support:s("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),o.defineMIME("text/x-hive",{name:"sql",keywords:s("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:s("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:s("date timestamp"),support:s("doubleQuote binaryNumber hexNumber")}),o.defineMIME("text/x-pgsql",{name:"sql",client:s("source"),keywords:s(S+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:s("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time zone timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:s("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),o.defineMIME("text/x-gql",{name:"sql",keywords:s("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:s("false true"),builtin:s("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),o.defineMIME("text/x-gpsql",{name:"sql",client:s("source"),keywords:s("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:s("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),o.defineMIME("text/x-sparksql",{name:"sql",keywords:s("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:s("abs acos acosh add_months aggregate and any approx_count_distinct approx_percentile array array_contains array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_repeat array_sort array_union arrays_overlap arrays_zip ascii asin asinh assert_true atan atan2 atanh avg base64 between bigint bin binary bit_and bit_count bit_get bit_length bit_or bit_xor bool_and bool_or boolean bround btrim cardinality case cast cbrt ceil ceiling char char_length character_length chr coalesce collect_list collect_set concat concat_ws conv corr cos cosh cot count count_if count_min_sketch covar_pop covar_samp crc32 cume_dist current_catalog current_database current_date current_timestamp current_timezone current_user date date_add date_format date_from_unix_date date_part date_sub date_trunc datediff day dayofmonth dayofweek dayofyear decimal decode degrees delimited dense_rank div double e element_at elt encode every exists exp explode explode_outer expm1 extract factorial filter find_in_set first first_value flatten float floor forall format_number format_string from_csv from_json from_unixtime from_utc_timestamp get_json_object getbit greatest grouping grouping_id hash hex hour hypot if ifnull in initcap inline inline_outer input_file_block_length input_file_block_start input_file_name inputformat instr int isnan isnotnull isnull java_method json_array_length json_object_keys json_tuple kurtosis lag last last_day last_value lcase lead least left length levenshtein like ln locate log log10 log1p log2 lower lpad ltrim make_date make_dt_interval make_interval make_timestamp make_ym_interval map map_concat map_entries map_filter map_from_arrays map_from_entries map_keys map_values map_zip_with max max_by md5 mean min min_by minute mod monotonically_increasing_id month months_between named_struct nanvl negative next_day not now nth_value ntile nullif nvl nvl2 octet_length or outputformat overlay parse_url percent_rank percentile percentile_approx pi pmod posexplode posexplode_outer position positive pow power printf quarter radians raise_error rand randn random rank rcfile reflect regexp regexp_extract regexp_extract_all regexp_like regexp_replace repeat replace reverse right rint rlike round row_number rpad rtrim schema_of_csv schema_of_json second sentences sequence sequencefile serde session_window sha sha1 sha2 shiftleft shiftright shiftrightunsigned shuffle sign signum sin sinh size skewness slice smallint some sort_array soundex space spark_partition_id split sqrt stack std stddev stddev_pop stddev_samp str_to_map string struct substr substring substring_index sum tan tanh textfile timestamp timestamp_micros timestamp_millis timestamp_seconds tinyint to_csv to_date to_json to_timestamp to_unix_timestamp to_utc_timestamp transform transform_keys transform_values translate trim trunc try_add try_divide typeof ucase unbase64 unhex uniontype unix_date unix_micros unix_millis unix_seconds unix_timestamp upper uuid var_pop var_samp variance version weekday weekofyear when width_bucket window xpath xpath_boolean xpath_double xpath_float xpath_int xpath_long xpath_number xpath_short xpath_string xxhash64 year zip_with"),atoms:s("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:s("date time timestamp"),support:s("doubleQuote zerolessFloat")}),o.defineMIME("text/x-esper",{name:"sql",client:s("source"),keywords:s("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:s("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:s("time"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber")}),o.defineMIME("text/x-trino",{name:"sql",keywords:s("abs absent acos add admin after all all_match alter analyze and any any_match approx_distinct approx_most_frequent approx_percentile approx_set arbitrary array_agg array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_sort array_union arrays_overlap as asc asin at at_timezone atan atan2 authorization avg bar bernoulli beta_cdf between bing_tile bing_tile_at bing_tile_coordinates bing_tile_polygon bing_tile_quadkey bing_tile_zoom_level bing_tiles_around bit_count bitwise_and bitwise_and_agg bitwise_left_shift bitwise_not bitwise_or bitwise_or_agg bitwise_right_shift bitwise_right_shift_arithmetic bitwise_xor bool_and bool_or both by call cardinality cascade case cast catalogs cbrt ceil ceiling char2hexint checksum chr classify coalesce codepoint column columns combinations comment commit committed concat concat_ws conditional constraint contains contains_sequence convex_hull_agg copartition corr cos cosh cosine_similarity count count_if covar_pop covar_samp crc32 create cross cube cume_dist current current_catalog current_date current_groups current_path current_role current_schema current_time current_timestamp current_timezone current_user data date_add date_diff date_format date_parse date_trunc day day_of_month day_of_week day_of_year deallocate default define definer degrees delete dense_rank deny desc describe descriptor distinct distributed dow doy drop e element_at else empty empty_approx_set encoding end error escape evaluate_classifier_predictions every except excluding execute exists exp explain extract false features fetch filter final first first_value flatten floor following for format format_datetime format_number from from_base from_base32 from_base64 from_base64url from_big_endian_32 from_big_endian_64 from_encoded_polyline from_geojson_geometry from_hex from_ieee754_32 from_ieee754_64 from_iso8601_date from_iso8601_timestamp from_iso8601_timestamp_nanos from_unixtime from_unixtime_nanos from_utf8 full functions geometric_mean geometry_from_hadoop_shape geometry_invalid_reason geometry_nearest_points geometry_to_bing_tiles geometry_union geometry_union_agg grant granted grants graphviz great_circle_distance greatest group grouping groups hamming_distance hash_counts having histogram hmac_md5 hmac_sha1 hmac_sha256 hmac_sha512 hour human_readable_seconds if ignore in including index infinity initial inner input insert intersect intersection_cardinality into inverse_beta_cdf inverse_normal_cdf invoker io is is_finite is_infinite is_json_scalar is_nan isolation jaccard_index join json_array json_array_contains json_array_get json_array_length json_exists json_extract json_extract_scalar json_format json_object json_parse json_query json_size json_value keep key keys kurtosis lag last last_day_of_month last_value lateral lead leading learn_classifier learn_libsvm_classifier learn_libsvm_regressor learn_regressor least left length level levenshtein_distance like limit line_interpolate_point line_interpolate_points line_locate_point listagg ln local localtime localtimestamp log log10 log2 logical lower lpad ltrim luhn_check make_set_digest map_agg map_concat map_entries map_filter map_from_entries map_keys map_union map_values map_zip_with match match_recognize matched matches materialized max max_by md5 measures merge merge_set_digest millisecond min min_by minute mod month multimap_agg multimap_from_entries murmur3 nan natural next nfc nfd nfkc nfkd ngrams no none none_match normal_cdf normalize not now nth_value ntile null nullif nulls numeric_histogram object objectid_timestamp of offset omit on one only option or order ordinality outer output over overflow parse_data_size parse_datetime parse_duration partition partitions passing past path pattern per percent_rank permute pi position pow power preceding prepare privileges properties prune qdigest_agg quarter quotes radians rand random range rank read recursive reduce reduce_agg refresh regexp_count regexp_extract regexp_extract_all regexp_like regexp_position regexp_replace regexp_split regr_intercept regr_slope regress rename render repeat repeatable replace reset respect restrict returning reverse revoke rgb right role roles rollback rollup round row_number rows rpad rtrim running scalar schema schemas second security seek select sequence serializable session set sets sha1 sha256 sha512 show shuffle sign simplify_geometry sin skewness skip slice some soundex spatial_partitioning spatial_partitions split split_part split_to_map split_to_multimap spooky_hash_v2_32 spooky_hash_v2_64 sqrt st_area st_asbinary st_astext st_boundary st_buffer st_centroid st_contains st_convexhull st_coorddim st_crosses st_difference st_dimension st_disjoint st_distance st_endpoint st_envelope st_envelopeaspts st_equals st_exteriorring st_geometries st_geometryfromtext st_geometryn st_geometrytype st_geomfrombinary st_interiorringn st_interiorrings st_intersection st_intersects st_isclosed st_isempty st_isring st_issimple st_isvalid st_length st_linefromtext st_linestring st_multipoint st_numgeometries st_numinteriorring st_numpoints st_overlaps st_point st_pointn st_points st_polygon st_relate st_startpoint st_symdifference st_touches st_union st_within st_x st_xmax st_xmin st_y st_ymax st_ymin start starts_with stats stddev stddev_pop stddev_samp string strpos subset substr substring sum system table tables tablesample tan tanh tdigest_agg text then ties timestamp_objectid timezone_hour timezone_minute to to_base to_base32 to_base64 to_base64url to_big_endian_32 to_big_endian_64 to_char to_date to_encoded_polyline to_geojson_geometry to_geometry to_hex to_ieee754_32 to_ieee754_64 to_iso8601 to_milliseconds to_spherical_geography to_timestamp to_unixtime to_utf8 trailing transaction transform transform_keys transform_values translate trim trim_array true truncate try try_cast type typeof uescape unbounded uncommitted unconditional union unique unknown unmatched unnest update upper url_decode url_encode url_extract_fragment url_extract_host url_extract_parameter url_extract_path url_extract_port url_extract_protocol url_extract_query use user using utf16 utf32 utf8 validate value value_at_quantile values values_at_quantiles var_pop var_samp variance verbose version view week week_of_year when where width_bucket wilson_interval_lower wilson_interval_upper window with with_timezone within without word_stem work wrapper write xxhash64 year year_of_week yow zip zip_with"),builtin:s("array bigint bingtile boolean char codepoints color date decimal double function geometry hyperloglog int integer interval ipaddress joniregexp json json2016 jsonpath kdbtree likepattern map model objectid p4hyperloglog precision qdigest re2jregexp real regressor row setdigest smallint sphericalgeography tdigest time timestamp tinyint uuid varbinary varchar zone"),atoms:s("false true null unknown"),operatorChars:/^[[\]|<>=!\-+*/%]/,dateSQL:s("date time timestamp zone"),support:s("decimallessFloat zerolessFloat hexNumber")})})});var ta=Ke(($u,Ku)=>{(function(o){typeof $u=="object"&&typeof Ku=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("stylus",function(M){for(var H=M.indentUnit,Z="",ee=y(h),re=/^(a|b|i|s|col|em)$/i,N=y(S),F=y(s),D=y(L),Q=y(g),j=y(v),V=z(v),_=y(b),K=y(C),X=y(p),I=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,B=z(x),le=y(c),xe=new RegExp(/^\-(moz|ms|o|webkit)-/i),q=y(d),T="",de={},ze,pe,Ee,ge;Z.length|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),W.context.line.firstWord=T?T[0].replace(/^\s*/,""):"",W.context.line.indent=$.indentation(),ze=$.peek(),$.match("//"))return $.skipToEnd(),["comment","comment"];if($.match("/*"))return W.tokenize=qe,qe($,W);if(ze=='"'||ze=="'")return $.next(),W.tokenize=Se(ze),W.tokenize($,W);if(ze=="@")return $.next(),$.eatWhile(/[\w\\-]/),["def",$.current()];if(ze=="#"){if($.next(),$.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if($.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return $.match(xe)?["meta","vendor-prefixes"]:$.match(/^-?[0-9]?\.?[0-9]/)?($.eatWhile(/[a-z%]/i),["number","unit"]):ze=="!"?($.next(),[$.match(/^(important|optional)/i)?"keyword":"operator","important"]):ze=="."&&$.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:$.match(V)?($.peek()=="("&&(W.tokenize=je),["property","word"]):$.match(/^[a-z][\w-]*\(/i)?($.backUp(1),["keyword","mixin"]):$.match(/^(\+|-)[a-z][\w-]*\(/i)?($.backUp(1),["keyword","block-mixin"]):$.string.match(/^\s*&/)&&$.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:$.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?($.backUp(1),["variable-3","reference"]):$.match(/^&{1}\s*$/)?["variable-3","reference"]:$.match(B)?["operator","operator"]:$.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?$.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!U($.current())?($.match("."),["variable-2","variable-name"]):["variable-2","word"]:$.match(I)?["operator",$.current()]:/[:;,{}\[\]\(\)]/.test(ze)?($.next(),[null,ze]):($.next(),[null,null])}function qe($,W){for(var se=!1,De;(De=$.next())!=null;){if(se&&De=="/"){W.tokenize=null;break}se=De=="*"}return["comment","comment"]}function Se($){return function(W,se){for(var De=!1,nt;(nt=W.next())!=null;){if(nt==$&&!De){$==")"&&W.backUp(1);break}De=!De&&nt=="\\"}return(nt==$||!De&&$!=")")&&(se.tokenize=null),["string","string"]}}function je($,W){return $.next(),$.match(/\s*[\"\')]/,!1)?W.tokenize=null:W.tokenize=Se(")"),[null,"("]}function Ze($,W,se,De){this.type=$,this.indent=W,this.prev=se,this.line=De||{firstWord:"",indent:0}}function ke($,W,se,De){return De=De>=0?De:H,$.context=new Ze(se,W.indentation()+De,$.context),se}function Je($,W){var se=$.context.indent-H;return W=W||!1,$.context=$.context.prev,W&&($.context.indent=se),$.context.type}function He($,W,se){return de[se.context.type]($,W,se)}function Ge($,W,se,De){for(var nt=De||1;nt>0;nt--)se.context=se.context.prev;return He($,W,se)}function U($){return $.toLowerCase()in ee}function G($){return $=$.toLowerCase(),$ in N||$ in X}function ce($){return $.toLowerCase()in le}function Be($){return $.toLowerCase().match(xe)}function te($){var W=$.toLowerCase(),se="variable-2";return U($)?se="tag":ce($)?se="block-keyword":G($)?se="property":W in D||W in q?se="atom":W=="return"||W in Q?se="keyword":$.match(/^[A-Z]/)&&(se="string"),se}function fe($,W){return Me(W)&&($=="{"||$=="]"||$=="hash"||$=="qualifier")||$=="block-mixin"}function oe($,W){return $=="{"&&W.match(/^\s*\$?[\w-]+/i,!1)}function Ue($,W){return $==":"&&W.match(/^[a-z-]+/,!1)}function we($){return $.sol()||$.string.match(new RegExp("^\\s*"+R($.current())))}function Me($){return $.eol()||$.match(/^\s*$/,!1)}function Le($){var W=/^\s*[-_]*[a-z0-9]+[\w-]*/i,se=typeof $=="string"?$.match(W):$.string.match(W);return se?se[0].replace(/^\s*/,""):""}return de.block=function($,W,se){if($=="comment"&&we(W)||$==","&&Me(W)||$=="mixin")return ke(se,W,"block",0);if(oe($,W))return ke(se,W,"interpolation");if(Me(W)&&$=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(W.string)&&!U(Le(W)))return ke(se,W,"block",0);if(fe($,W))return ke(se,W,"block");if($=="}"&&Me(W))return ke(se,W,"block",0);if($=="variable-name")return W.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||ce(Le(W))?ke(se,W,"variableName"):ke(se,W,"variableName",0);if($=="=")return!Me(W)&&!ce(Le(W))?ke(se,W,"block",0):ke(se,W,"block");if($=="*"&&(Me(W)||W.match(/\s*(,|\.|#|\[|:|{)/,!1)))return ge="tag",ke(se,W,"block");if(Ue($,W))return ke(se,W,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test($))return ke(se,W,Me(W)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test($))return ke(se,W,"keyframes");if(/@extends?/.test($))return ke(se,W,"extend",0);if($&&$.charAt(0)=="@")return W.indentation()>0&&G(W.current().slice(1))?(ge="variable-2","block"):/(@import|@require|@charset)/.test($)?ke(se,W,"block",0):ke(se,W,"block");if($=="reference"&&Me(W))return ke(se,W,"block");if($=="(")return ke(se,W,"parens");if($=="vendor-prefixes")return ke(se,W,"vendorPrefixes");if($=="word"){var De=W.current();if(ge=te(De),ge=="property")return we(W)?ke(se,W,"block",0):(ge="atom","block");if(ge=="tag"){if(/embed|menu|pre|progress|sub|table/.test(De)&&G(Le(W))||W.string.match(new RegExp("\\[\\s*"+De+"|"+De+"\\s*\\]")))return ge="atom","block";if(re.test(De)&&(we(W)&&W.string.match(/=/)||!we(W)&&!W.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!U(Le(W))))return ge="variable-2",ce(Le(W))?"block":ke(se,W,"block",0);if(Me(W))return ke(se,W,"block")}if(ge=="block-keyword")return ge="keyword",W.current(/(if|unless)/)&&!we(W)?"block":ke(se,W,"block");if(De=="return")return ke(se,W,"block",0);if(ge=="variable-2"&&W.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return ke(se,W,"block")}return se.context.type},de.parens=function($,W,se){if($=="(")return ke(se,W,"parens");if($==")")return se.context.prev.type=="parens"?Je(se):W.string.match(/^[a-z][\w-]*\(/i)&&Me(W)||ce(Le(W))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Le(W))||!W.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&U(Le(W))?ke(se,W,"block"):W.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||W.string.match(/^\s*(\(|\)|[0-9])/)||W.string.match(/^\s+[a-z][\w-]*\(/i)||W.string.match(/^\s+[\$-]?[a-z]/i)?ke(se,W,"block",0):Me(W)?ke(se,W,"block"):ke(se,W,"block",0);if($&&$.charAt(0)=="@"&&G(W.current().slice(1))&&(ge="variable-2"),$=="word"){var De=W.current();ge=te(De),ge=="tag"&&re.test(De)&&(ge="variable-2"),(ge=="property"||De=="to")&&(ge="atom")}return $=="variable-name"?ke(se,W,"variableName"):Ue($,W)?ke(se,W,"pseudo"):se.context.type},de.vendorPrefixes=function($,W,se){return $=="word"?(ge="property",ke(se,W,"block",0)):Je(se)},de.pseudo=function($,W,se){return G(Le(W.string))?Ge($,W,se):(W.match(/^[a-z-]+/),ge="variable-3",Me(W)?ke(se,W,"block"):Je(se))},de.atBlock=function($,W,se){if($=="(")return ke(se,W,"atBlock_parens");if(fe($,W))return ke(se,W,"block");if(oe($,W))return ke(se,W,"interpolation");if($=="word"){var De=W.current().toLowerCase();if(/^(only|not|and|or)$/.test(De)?ge="keyword":j.hasOwnProperty(De)?ge="tag":K.hasOwnProperty(De)?ge="attribute":_.hasOwnProperty(De)?ge="property":F.hasOwnProperty(De)?ge="string-2":ge=te(W.current()),ge=="tag"&&Me(W))return ke(se,W,"block")}return $=="operator"&&/^(not|and|or)$/.test(W.current())&&(ge="keyword"),se.context.type},de.atBlock_parens=function($,W,se){if($=="{"||$=="}")return se.context.type;if($==")")return Me(W)?ke(se,W,"block"):ke(se,W,"atBlock");if($=="word"){var De=W.current().toLowerCase();return ge=te(De),/^(max|min)/.test(De)&&(ge="property"),ge=="tag"&&(re.test(De)?ge="variable-2":ge="atom"),se.context.type}return de.atBlock($,W,se)},de.keyframes=function($,W,se){return W.indentation()=="0"&&($=="}"&&we(W)||$=="]"||$=="hash"||$=="qualifier"||U(W.current()))?Ge($,W,se):$=="{"?ke(se,W,"keyframes"):$=="}"?we(W)?Je(se,!0):ke(se,W,"keyframes"):$=="unit"&&/^[0-9]+\%$/.test(W.current())?ke(se,W,"keyframes"):$=="word"&&(ge=te(W.current()),ge=="block-keyword")?(ge="keyword",ke(se,W,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test($)?ke(se,W,Me(W)?"block":"atBlock"):$=="mixin"?ke(se,W,"block",0):se.context.type},de.interpolation=function($,W,se){return $=="{"&&Je(se)&&ke(se,W,"block"),$=="}"?W.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||W.string.match(/^\s*[a-z]/i)&&U(Le(W))?ke(se,W,"block"):!W.string.match(/^(\{|\s*\&)/)||W.match(/\s*[\w-]/,!1)?ke(se,W,"block",0):ke(se,W,"block"):$=="variable-name"?ke(se,W,"variableName",0):($=="word"&&(ge=te(W.current()),ge=="tag"&&(ge="atom")),se.context.type)},de.extend=function($,W,se){return $=="["||$=="="?"extend":$=="]"?Je(se):$=="word"?(ge=te(W.current()),"extend"):Je(se)},de.variableName=function($,W,se){return $=="string"||$=="["||$=="]"||W.current().match(/^(\.|\$)/)?(W.current().match(/^\.[\w-]+/i)&&(ge="variable-2"),"variableName"):Ge($,W,se)},{startState:function($){return{tokenize:null,state:"block",context:new Ze("block",$||0,null)}},token:function($,W){return!W.tokenize&&$.eatSpace()?null:(pe=(W.tokenize||Oe)($,W),pe&&typeof pe=="object"&&(Ee=pe[1],pe=pe[0]),ge=pe,W.state=de[W.state](Ee,$,W),ge)},indent:function($,W,se){var De=$.context,nt=W&&W.charAt(0),dt=De.indent,Pt=Le(W),It=se.match(/^\s*/)[0].replace(/\t/g,Z).length,Pe=$.context.prev?$.context.prev.line.firstWord:"",xt=$.context.prev?$.context.prev.line.indent:It;return De.prev&&(nt=="}"&&(De.type=="block"||De.type=="atBlock"||De.type=="keyframes")||nt==")"&&(De.type=="parens"||De.type=="atBlock_parens")||nt=="{"&&De.type=="at")?dt=De.indent-H:/(\})/.test(nt)||(/@|\$|\d/.test(nt)||/^\{/.test(W)||/^\s*\/(\/|\*)/.test(W)||/^\s*\/\*/.test(Pe)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(W)||/^(\+|-)?[a-z][\w-]*\(/i.test(W)||/^return/.test(W)||ce(Pt)?dt=It:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(nt)||U(Pt)?/\,\s*$/.test(Pe)?dt=xt:/^\s+/.test(se)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Pe)||U(Pe))?dt=It<=xt?xt:xt+H:dt=It:!/,\s*$/.test(se)&&(Be(Pt)||G(Pt))&&(ce(Pe)?dt=It<=xt?xt:xt+H:/^\{/.test(Pe)?dt=It<=xt?It:xt+H:Be(Pe)||G(Pe)?dt=It>=xt?xt:It:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(Pe)||/=\s*$/.test(Pe)||U(Pe)||/^\$[\w-\.\[\]\'\"]/.test(Pe)?dt=xt+H:dt=It)),dt},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var h=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],v=["domain","regexp","url-prefix","url"],C=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],b=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],S=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],s=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],p=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],L=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],x=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],c=["for","if","else","unless","from","to"],d=["null","true","false","href","title","type","not-allowed","readonly","disabled"],w=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],E=h.concat(v,C,b,S,s,g,L,p,x,c,d,w);function z(M){return M=M.sort(function(H,Z){return Z>H}),new RegExp("^(("+M.join(")|(")+"))\\b")}function y(M){for(var H={},Z=0;Z{(function(o){typeof Gu=="object"&&typeof Zu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function h(N){for(var F={},D=0;D~^?!",p=":;,.(){}[]",g=/^\-?0b[01][01_]*/,L=/^\-?0o[0-7][0-7_]*/,x=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,c=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,d=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,w=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,E=/^\#[A-Za-z]+/,z=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function y(N,F,D){if(N.sol()&&(F.indented=N.indentation()),N.eatSpace())return null;var Q=N.peek();if(Q=="/"){if(N.match("//"))return N.skipToEnd(),"comment";if(N.match("/*"))return F.tokenize.push(H),H(N,F)}if(N.match(E))return"builtin";if(N.match(z))return"attribute";if(N.match(g)||N.match(L)||N.match(x)||N.match(c))return"number";if(N.match(w))return"property";if(s.indexOf(Q)>-1)return N.next(),"operator";if(p.indexOf(Q)>-1)return N.next(),N.match(".."),"punctuation";var j;if(j=N.match(/("""|"|')/)){var V=M.bind(null,j[0]);return F.tokenize.push(V),V(N,F)}if(N.match(d)){var _=N.current();return S.hasOwnProperty(_)?"variable-2":b.hasOwnProperty(_)?"atom":v.hasOwnProperty(_)?(C.hasOwnProperty(_)&&(F.prev="define"),"keyword"):D=="define"?"def":"variable"}return N.next(),null}function R(){var N=0;return function(F,D,Q){var j=y(F,D,Q);if(j=="punctuation"){if(F.current()=="(")++N;else if(F.current()==")"){if(N==0)return F.backUp(1),D.tokenize.pop(),D.tokenize[D.tokenize.length-1](F,D);--N}}return j}}function M(N,F,D){for(var Q=N.length==1,j,V=!1;j=F.peek();)if(V){if(F.next(),j=="(")return D.tokenize.push(R()),"string";V=!1}else{if(F.match(N))return D.tokenize.pop(),"string";F.next(),V=j=="\\"}return Q&&D.tokenize.pop(),"string"}function H(N,F){for(var D;D=N.next();)if(D==="/"&&N.eat("*"))F.tokenize.push(H);else if(D==="*"&&N.eat("/")){F.tokenize.pop();break}return"comment"}function Z(N,F,D){this.prev=N,this.align=F,this.indented=D}function ee(N,F){var D=F.match(/^\s*($|\/[\/\*])/,!1)?null:F.column()+1;N.context=new Z(N.context,D,N.indented)}function re(N){N.context&&(N.indented=N.context.indented,N.context=N.context.prev)}o.defineMode("swift",function(N){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(F,D){var Q=D.prev;D.prev=null;var j=D.tokenize[D.tokenize.length-1]||y,V=j(F,D,Q);if(!V||V=="comment"?D.prev=Q:D.prev||(D.prev=V),V=="punctuation"){var _=/[\(\[\{]|([\]\)\}])/.exec(F.current());_&&(_[1]?re:ee)(D,F)}return V},indent:function(F,D){var Q=F.context;if(!Q)return 0;var j=/^[\]\}\)]/.test(D);return Q.align!=null?Q.align-(j?1:0):Q.indented+(j?0:N.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),o.defineMIME("text/x-swift","swift")})});var Vu=Ke((Yu,Qu)=>{(function(o){typeof Yu=="object"&&typeof Qu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("coffeescript",function(h,v){var C="error";function b(F){return new RegExp("^(("+F.join(")|(")+"))\\b")}var S=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,s=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,p=/^[_A-Za-z$][_A-Za-z$0-9]*/,g=/^@[_A-Za-z$][_A-Za-z$0-9]*/,L=b(["and","or","not","is","isnt","in","instanceof","typeof"]),x=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],c=["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"],d=b(x.concat(c));x=b(x);var w=/^('{3}|\"{3}|['\"])/,E=/^(\/{3}|\/)/,z=["Infinity","NaN","undefined","null","true","false","on","off","yes","no"],y=b(z);function R(F,D){if(F.sol()){D.scope.align===null&&(D.scope.align=!1);var Q=D.scope.offset;if(F.eatSpace()){var j=F.indentation();return j>Q&&D.scope.type=="coffee"?"indent":j0&&ee(F,D)}if(F.eatSpace())return null;var V=F.peek();if(F.match("####"))return F.skipToEnd(),"comment";if(F.match("###"))return D.tokenize=H,D.tokenize(F,D);if(V==="#")return F.skipToEnd(),"comment";if(F.match(/^-?[0-9\.]/,!1)){var _=!1;if(F.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(_=!0),F.match(/^-?\d+\.\d*/)&&(_=!0),F.match(/^-?\.\d+/)&&(_=!0),_)return F.peek()=="."&&F.backUp(1),"number";var K=!1;if(F.match(/^-?0x[0-9a-f]+/i)&&(K=!0),F.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(K=!0),F.match(/^-?0(?![\dx])/i)&&(K=!0),K)return"number"}if(F.match(w))return D.tokenize=M(F.current(),!1,"string"),D.tokenize(F,D);if(F.match(E)){if(F.current()!="/"||F.match(/^.*\//,!1))return D.tokenize=M(F.current(),!0,"string-2"),D.tokenize(F,D);F.backUp(1)}return F.match(S)||F.match(L)?"operator":F.match(s)?"punctuation":F.match(y)?"atom":F.match(g)||D.prop&&F.match(p)?"property":F.match(d)?"keyword":F.match(p)?"variable":(F.next(),C)}function M(F,D,Q){return function(j,V){for(;!j.eol();)if(j.eatWhile(/[^'"\/\\]/),j.eat("\\")){if(j.next(),D&&j.eol())return Q}else{if(j.match(F))return V.tokenize=R,Q;j.eat(/['"\/]/)}return D&&(v.singleLineStringErrors?Q=C:V.tokenize=R),Q}}function H(F,D){for(;!F.eol();){if(F.eatWhile(/[^#]/),F.match("###")){D.tokenize=R;break}F.eatWhile("#")}return"comment"}function Z(F,D,Q){Q=Q||"coffee";for(var j=0,V=!1,_=null,K=D.scope;K;K=K.prev)if(K.type==="coffee"||K.type=="}"){j=K.offset+h.indentUnit;break}Q!=="coffee"?(V=null,_=F.column()+F.current().length):D.scope.align&&(D.scope.align=!1),D.scope={offset:j,type:Q,prev:D.scope,align:V,alignOffset:_}}function ee(F,D){if(D.scope.prev)if(D.scope.type==="coffee"){for(var Q=F.indentation(),j=!1,V=D.scope;V;V=V.prev)if(Q===V.offset){j=!0;break}if(!j)return!0;for(;D.scope.prev&&D.scope.offset!==Q;)D.scope=D.scope.prev;return!1}else return D.scope=D.scope.prev,!1}function re(F,D){var Q=D.tokenize(F,D),j=F.current();j==="return"&&(D.dedent=!0),((j==="->"||j==="=>")&&F.eol()||Q==="indent")&&Z(F,D);var V="[({".indexOf(j);if(V!==-1&&Z(F,D,"])}".slice(V,V+1)),x.exec(j)&&Z(F,D),j=="then"&&ee(F,D),Q==="dedent"&&ee(F,D))return C;if(V="])}".indexOf(j),V!==-1){for(;D.scope.type=="coffee"&&D.scope.prev;)D.scope=D.scope.prev;D.scope.type==j&&(D.scope=D.scope.prev)}return D.dedent&&F.eol()&&(D.scope.type=="coffee"&&D.scope.prev&&(D.scope=D.scope.prev),D.dedent=!1),Q}var N={startState:function(F){return{tokenize:R,scope:{offset:F||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(F,D){var Q=D.scope.align===null&&D.scope;Q&&F.sol()&&(Q.align=!1);var j=re(F,D);return j&&j!="comment"&&(Q&&(Q.align=!0),D.prop=j=="punctuation"&&F.current()=="."),j},indent:function(F,D){if(F.tokenize!=R)return 0;var Q=F.scope,j=D&&"])}".indexOf(D.charAt(0))>-1;if(j)for(;Q.type=="coffee"&&Q.prev;)Q=Q.prev;var V=j&&Q.type===D.charAt(0);return Q.align?Q.alignOffset-(V?1:0):(V?Q.prev:Q).offset},lineComment:"#",fold:"indent"};return N}),o.defineMIME("application/vnd.coffeescript","coffeescript"),o.defineMIME("text/x-coffeescript","coffeescript"),o.defineMIME("text/coffeescript","coffeescript")})});var tc=Ke((Ju,ec)=>{(function(o){typeof Ju=="object"&&typeof ec=="object"?o(We(),vn(),gn(),Qn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../javascript/javascript","../css/css","../htmlmixed/htmlmixed"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("pug",function(h){var v="keyword",C="meta",b="builtin",S="qualifier",s={"{":"}","(":")","[":"]"},p=o.getMode(h,"javascript");function g(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=o.startState(p),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}g.prototype.copy=function(){var U=new g;return U.javaScriptLine=this.javaScriptLine,U.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,U.javaScriptArguments=this.javaScriptArguments,U.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,U.isInterpolating=this.isInterpolating,U.interpolationNesting=this.interpolationNesting,U.jsState=o.copyState(p,this.jsState),U.innerMode=this.innerMode,this.innerMode&&this.innerState&&(U.innerState=o.copyState(this.innerMode,this.innerState)),U.restOfLine=this.restOfLine,U.isIncludeFiltered=this.isIncludeFiltered,U.isEach=this.isEach,U.lastTag=this.lastTag,U.scriptType=this.scriptType,U.isAttrs=this.isAttrs,U.attrsNest=this.attrsNest.slice(),U.inAttributeName=this.inAttributeName,U.attributeIsType=this.attributeIsType,U.attrValue=this.attrValue,U.indentOf=this.indentOf,U.indentToken=this.indentToken,U.innerModeForLine=this.innerModeForLine,U};function L(U,G){if(U.sol()&&(G.javaScriptLine=!1,G.javaScriptLineExcludesColon=!1),G.javaScriptLine){if(G.javaScriptLineExcludesColon&&U.peek()===":"){G.javaScriptLine=!1,G.javaScriptLineExcludesColon=!1;return}var ce=p.token(U,G.jsState);return U.eol()&&(G.javaScriptLine=!1),ce||!0}}function x(U,G){if(G.javaScriptArguments){if(G.javaScriptArgumentsDepth===0&&U.peek()!=="("){G.javaScriptArguments=!1;return}if(U.peek()==="("?G.javaScriptArgumentsDepth++:U.peek()===")"&&G.javaScriptArgumentsDepth--,G.javaScriptArgumentsDepth===0){G.javaScriptArguments=!1;return}var ce=p.token(U,G.jsState);return ce||!0}}function c(U){if(U.match(/^yield\b/))return"keyword"}function d(U){if(U.match(/^(?:doctype) *([^\n]+)?/))return C}function w(U,G){if(U.match("#{"))return G.isInterpolating=!0,G.interpolationNesting=0,"punctuation"}function E(U,G){if(G.isInterpolating){if(U.peek()==="}"){if(G.interpolationNesting--,G.interpolationNesting<0)return U.next(),G.isInterpolating=!1,"punctuation"}else U.peek()==="{"&&G.interpolationNesting++;return p.token(U,G.jsState)||!0}}function z(U,G){if(U.match(/^case\b/))return G.javaScriptLine=!0,v}function y(U,G){if(U.match(/^when\b/))return G.javaScriptLine=!0,G.javaScriptLineExcludesColon=!0,v}function R(U){if(U.match(/^default\b/))return v}function M(U,G){if(U.match(/^extends?\b/))return G.restOfLine="string",v}function H(U,G){if(U.match(/^append\b/))return G.restOfLine="variable",v}function Z(U,G){if(U.match(/^prepend\b/))return G.restOfLine="variable",v}function ee(U,G){if(U.match(/^block\b *(?:(prepend|append)\b)?/))return G.restOfLine="variable",v}function re(U,G){if(U.match(/^include\b/))return G.restOfLine="string",v}function N(U,G){if(U.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&U.match("include"))return G.isIncludeFiltered=!0,v}function F(U,G){if(G.isIncludeFiltered){var ce=B(U,G);return G.isIncludeFiltered=!1,G.restOfLine="string",ce}}function D(U,G){if(U.match(/^mixin\b/))return G.javaScriptLine=!0,v}function Q(U,G){if(U.match(/^\+([-\w]+)/))return U.match(/^\( *[-\w]+ *=/,!1)||(G.javaScriptArguments=!0,G.javaScriptArgumentsDepth=0),"variable";if(U.match("+#{",!1))return U.next(),G.mixinCallAfter=!0,w(U,G)}function j(U,G){if(G.mixinCallAfter)return G.mixinCallAfter=!1,U.match(/^\( *[-\w]+ *=/,!1)||(G.javaScriptArguments=!0,G.javaScriptArgumentsDepth=0),!0}function V(U,G){if(U.match(/^(if|unless|else if|else)\b/))return G.javaScriptLine=!0,v}function _(U,G){if(U.match(/^(- *)?(each|for)\b/))return G.isEach=!0,v}function K(U,G){if(G.isEach){if(U.match(/^ in\b/))return G.javaScriptLine=!0,G.isEach=!1,v;if(U.sol()||U.eol())G.isEach=!1;else if(U.next()){for(;!U.match(/^ in\b/,!1)&&U.next(););return"variable"}}}function X(U,G){if(U.match(/^while\b/))return G.javaScriptLine=!0,v}function I(U,G){var ce;if(ce=U.match(/^(\w(?:[-:\w]*\w)?)\/?/))return G.lastTag=ce[1].toLowerCase(),G.lastTag==="script"&&(G.scriptType="application/javascript"),"tag"}function B(U,G){if(U.match(/^:([\w\-]+)/)){var ce;return h&&h.innerModes&&(ce=h.innerModes(U.current().substring(1))),ce||(ce=U.current().substring(1)),typeof ce=="string"&&(ce=o.getMode(h,ce)),je(U,G,ce),"atom"}}function le(U,G){if(U.match(/^(!?=|-)/))return G.javaScriptLine=!0,"punctuation"}function xe(U){if(U.match(/^#([\w-]+)/))return b}function q(U){if(U.match(/^\.([\w-]+)/))return S}function T(U,G){if(U.peek()=="(")return U.next(),G.isAttrs=!0,G.attrsNest=[],G.inAttributeName=!0,G.attrValue="",G.attributeIsType=!1,"punctuation"}function de(U,G){if(G.isAttrs){if(s[U.peek()]&&G.attrsNest.push(s[U.peek()]),G.attrsNest[G.attrsNest.length-1]===U.peek())G.attrsNest.pop();else if(U.eat(")"))return G.isAttrs=!1,"punctuation";if(G.inAttributeName&&U.match(/^[^=,\)!]+/))return(U.peek()==="="||U.peek()==="!")&&(G.inAttributeName=!1,G.jsState=o.startState(p),G.lastTag==="script"&&U.current().trim().toLowerCase()==="type"?G.attributeIsType=!0:G.attributeIsType=!1),"attribute";var ce=p.token(U,G.jsState);if(G.attributeIsType&&ce==="string"&&(G.scriptType=U.current().toString()),G.attrsNest.length===0&&(ce==="string"||ce==="variable"||ce==="keyword"))try{return Function("","var x "+G.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),G.inAttributeName=!0,G.attrValue="",U.backUp(U.current().length),de(U,G)}catch{}return G.attrValue+=U.current(),ce||!0}}function ze(U,G){if(U.match(/^&attributes\b/))return G.javaScriptArguments=!0,G.javaScriptArgumentsDepth=0,"keyword"}function pe(U){if(U.sol()&&U.eatSpace())return"indent"}function Ee(U,G){if(U.match(/^ *\/\/(-)?([^\n]*)/))return G.indentOf=U.indentation(),G.indentToken="comment","comment"}function ge(U){if(U.match(/^: */))return"colon"}function Oe(U,G){if(U.match(/^(?:\| ?| )([^\n]+)/))return"string";if(U.match(/^(<[^\n]*)/,!1))return je(U,G,"htmlmixed"),G.innerModeForLine=!0,Ze(U,G,!0)}function qe(U,G){if(U.eat(".")){var ce=null;return G.lastTag==="script"&&G.scriptType.toLowerCase().indexOf("javascript")!=-1?ce=G.scriptType.toLowerCase().replace(/"|'/g,""):G.lastTag==="style"&&(ce="css"),je(U,G,ce),"dot"}}function Se(U){return U.next(),null}function je(U,G,ce){ce=o.mimeModes[ce]||ce,ce=h.innerModes&&h.innerModes(ce)||ce,ce=o.mimeModes[ce]||ce,ce=o.getMode(h,ce),G.indentOf=U.indentation(),ce&&ce.name!=="null"?G.innerMode=ce:G.indentToken="string"}function Ze(U,G,ce){if(U.indentation()>G.indentOf||G.innerModeForLine&&!U.sol()||ce)return G.innerMode?(G.innerState||(G.innerState=G.innerMode.startState?o.startState(G.innerMode,U.indentation()):{}),U.hideFirstChars(G.indentOf+2,function(){return G.innerMode.token(U,G.innerState)||!0})):(U.skipToEnd(),G.indentToken);U.sol()&&(G.indentOf=1/0,G.indentToken=null,G.innerMode=null,G.innerState=null)}function ke(U,G){if(U.sol()&&(G.restOfLine=""),G.restOfLine){U.skipToEnd();var ce=G.restOfLine;return G.restOfLine="",ce}}function Je(){return new g}function He(U){return U.copy()}function Ge(U,G){var ce=Ze(U,G)||ke(U,G)||E(U,G)||F(U,G)||K(U,G)||de(U,G)||L(U,G)||x(U,G)||j(U,G)||c(U)||d(U)||w(U,G)||z(U,G)||y(U,G)||R(U)||M(U,G)||H(U,G)||Z(U,G)||ee(U,G)||re(U,G)||N(U,G)||D(U,G)||Q(U,G)||V(U,G)||_(U,G)||X(U,G)||I(U,G)||B(U,G)||le(U,G)||xe(U)||q(U)||T(U,G)||ze(U,G)||pe(U)||Oe(U,G)||Ee(U,G)||ge(U)||qe(U,G)||Se(U);return ce===!0?null:ce}return{startState:Je,copyState:He,token:Ge}},"javascript","css","htmlmixed"),o.defineMIME("text/x-pug","pug"),o.defineMIME("text/x-jade","pug")})});var ic=Ke((rc,nc)=>{(function(o){typeof rc=="object"&&typeof nc=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.multiplexingMode=function(h){var v=Array.prototype.slice.call(arguments,1);function C(b,S,s,p){if(typeof S=="string"){var g=b.indexOf(S,s);return p&&g>-1?g+S.length:g}var L=S.exec(s?b.slice(s):b);return L?L.index+s+(p?L[0].length:0):-1}return{startState:function(){return{outer:o.startState(h),innerActive:null,inner:null,startingInner:!1}},copyState:function(b){return{outer:o.copyState(h,b.outer),innerActive:b.innerActive,inner:b.innerActive&&o.copyState(b.innerActive.mode,b.inner),startingInner:b.startingInner}},token:function(b,S){if(S.innerActive){var E=S.innerActive,p=b.string;if(!E.close&&b.sol())return S.innerActive=S.inner=null,this.token(b,S);var x=E.close&&!S.startingInner?C(p,E.close,b.pos,E.parseDelimiters):-1;if(x==b.pos&&!E.parseDelimiters)return b.match(E.close),S.innerActive=S.inner=null,E.delimStyle&&E.delimStyle+" "+E.delimStyle+"-close";x>-1&&(b.string=p.slice(0,x));var z=E.mode.token(b,S.inner);return x>-1?b.string=p:b.pos>b.start&&(S.startingInner=!1),x==b.pos&&E.parseDelimiters&&(S.innerActive=S.inner=null),E.innerStyle&&(z?z=z+" "+E.innerStyle:z=E.innerStyle),z}else{for(var s=1/0,p=b.string,g=0;g{(function(o){typeof oc=="object"&&typeof ac=="object"?o(We(),Di(),ic()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple","../../addon/mode/multiplex"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{\{/,push:"handlebars_raw",token:"tag"},{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars_raw:[{regex:/\}\}\}/,pop:!0,token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),o.defineMode("handlebars",function(h,v){var C=o.getMode(h,"handlebars-tags");return!v||!v.base?C:o.multiplexingMode(o.getMode(h,v.base),{open:"{{",close:/\}\}\}?/,mode:C,parseDelimiters:!0})}),o.defineMIME("text/x-handlebars-template","handlebars")})});var cc=Ke((sc,uc)=>{(function(o){"use strict";typeof sc=="object"&&typeof uc=="object"?o(We(),Yn(),mn(),vn(),Vu(),gn(),ea(),ta(),tc(),lc()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/overlay","../xml/xml","../javascript/javascript","../coffeescript/coffeescript","../css/css","../sass/sass","../stylus/stylus","../pug/pug","../handlebars/handlebars"],o):o(CodeMirror)})(function(o){var h={script:[["lang",/coffee(script)?/,"coffeescript"],["type",/^(?:text|application)\/(?:x-)?coffee(?:script)?$/,"coffeescript"],["lang",/^babel$/,"javascript"],["type",/^text\/babel$/,"javascript"],["type",/^text\/ecmascript-\d+$/,"javascript"]],style:[["lang",/^stylus$/i,"stylus"],["lang",/^sass$/i,"sass"],["lang",/^less$/i,"text/x-less"],["lang",/^scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?styl(us)?$/i,"stylus"],["type",/^text\/sass/i,"sass"],["type",/^(text\/)?(x-)?scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?less$/i,"text/x-less"]],template:[["lang",/^vue-template$/i,"vue"],["lang",/^pug$/i,"pug"],["lang",/^handlebars$/i,"handlebars"],["type",/^(text\/)?(x-)?pug$/i,"pug"],["type",/^text\/x-handlebars-template$/i,"handlebars"],[null,null,"vue-template"]]};o.defineMode("vue-template",function(v,C){var b={token:function(S){if(S.match(/^\{\{.*?\}\}/))return"meta mustache";for(;S.next()&&!S.match("{{",!1););return null}};return o.overlayMode(o.getMode(v,C.backdrop||"text/html"),b)}),o.defineMode("vue",function(v){return o.getMode(v,{name:"htmlmixed",tags:h})},"htmlmixed","xml","javascript","coffeescript","css","sass","stylus","pug","handlebars"),o.defineMIME("script/x-vue","vue"),o.defineMIME("text/x-vue","vue")})});var pc=Ke((fc,dc)=>{(function(o){typeof fc=="object"&&typeof dc=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("yaml",function(){var h=["true","false","on","off","yes","no"],v=new RegExp("\\b(("+h.join(")|(")+"))$","i");return{token:function(C,b){var S=C.peek(),s=b.escaped;if(b.escaped=!1,S=="#"&&(C.pos==0||/\s/.test(C.string.charAt(C.pos-1))))return C.skipToEnd(),"comment";if(C.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(b.literal&&C.indentation()>b.keyCol)return C.skipToEnd(),"string";if(b.literal&&(b.literal=!1),C.sol()){if(b.keyCol=0,b.pair=!1,b.pairStart=!1,C.match("---")||C.match("..."))return"def";if(C.match(/\s*-\s+/))return"meta"}if(C.match(/^(\{|\}|\[|\])/))return S=="{"?b.inlinePairs++:S=="}"?b.inlinePairs--:S=="["?b.inlineList++:b.inlineList--,"meta";if(b.inlineList>0&&!s&&S==",")return C.next(),"meta";if(b.inlinePairs>0&&!s&&S==",")return b.keyCol=0,b.pair=!1,b.pairStart=!1,C.next(),"meta";if(b.pairStart){if(C.match(/^\s*(\||\>)\s*/))return b.literal=!0,"meta";if(C.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(b.inlinePairs==0&&C.match(/^\s*-?[0-9\.\,]+\s?$/)||b.inlinePairs>0&&C.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(C.match(v))return"keyword"}return!b.pair&&C.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^\s,\[\]{}#&*!|>'"%@`])[^#:]*(?=:($|\s))/)?(b.pair=!0,b.keyCol=C.indentation(),"atom"):b.pair&&C.match(/^:\s*/)?(b.pairStart=!0,"meta"):(b.pairStart=!1,b.escaped=S=="\\",C.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}}),o.defineMIME("text/x-yaml","yaml"),o.defineMIME("text/yaml","yaml")})});var $d={};function qd(o){for(var h;(h=Md.exec(o))!==null;){var v=h[0];if(v.indexOf("target=")===-1){var C=v.replace(/>$/,' target="_blank">');o=o.replace(v,C)}}return o}function Id(o){for(var h=new DOMParser,v=h.parseFromString(o,"text/html"),C=v.getElementsByTagName("li"),b=0;b0){for(var d=document.createElement("i"),w=0;w>1,q=O(_.slice(0,re)).length;if(q==E)return re;q>E?J=re:G=re+1}}function k(_,W,E,O){if(!W.length)return null;var G=O?w:c,J=G(W).split(/\r|\n\r?/);e:for(var re=E.line,q=E.ch,I=_.lastLine()+1-J.length;re<=I;re++,q=0){var D=_.getLine(re).slice(q),Q=G(D);if(J.length==1){var j=Q.indexOf(J[0]);if(j==-1)continue e;var E=d(D,Q,j,G)+q;return{from:p(re,d(D,Q,j,G)+q),to:p(re,d(D,Q,j+J[0].length,G)+q)}}else{var V=Q.length-J[0].length;if(Q.slice(V)!=J[0])continue e;for(var y=1;y=I;re--,q=-1){var D=_.getLine(re);q>-1&&(D=D.slice(0,q));var Q=G(D);if(J.length==1){var j=Q.lastIndexOf(J[0]);if(j==-1)continue e;return{from:p(re,d(D,Q,j,G)),to:p(re,d(D,Q,j+J[0].length,G))}}else{var V=J[J.length-1];if(Q.slice(0,V.length)!=V)continue e;for(var y=1,E=re-J.length+1;y(this.doc.getLine(W.line)||"").length&&(W.ch=0,W.line++)),o.cmpPos(W,this.doc.clipPos(W))!=0))return this.atOccurrence=!1;var E=this.matches(_,W);if(this.afterEmptyMatch=E&&o.cmpPos(E.from,E.to)==0,E)return this.pos=E,this.atOccurrence=!0,this.pos.match||!0;var O=p(_?this.doc.firstLine():this.doc.lastLine()+1,0);return this.pos={from:O,to:O},this.atOccurrence=!1},from:function(){if(this.atOccurrence)return this.pos.from},to:function(){if(this.atOccurrence)return this.pos.to},replace:function(_,W){if(this.atOccurrence){var E=o.splitLines(_);this.doc.replaceRange(E,this.pos.from,this.pos.to,W),this.pos.to=p(this.pos.from.line+E.length-1,E[E.length-1].length+(E.length==1?this.pos.from.ch:0))}}},o.defineExtension("getSearchCursor",function(_,W,E){return new M(this.doc,_,W,E)}),o.defineDocExtension("getSearchCursor",function(_,W,E){return new M(this,_,W,E)}),o.defineExtension("selectMatches",function(_,W){for(var E=[],O=this.getSearchCursor(_,this.getCursor("from"),W);O.findNext()&&!(o.cmpPos(O.to(),this.getCursor("to"))>0);)E.push({anchor:O.from(),head:O.to()});E.length&&this.setSelections(E,0)})})});var Vo=Ke((ws,Ss)=>{(function(o){typeof ws=="object"&&typeof Ss=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(N,R,le,xe,F,L){this.indented=N,this.column=R,this.type=le,this.info=xe,this.align=F,this.prev=L}function v(N,R,le,xe){var F=N.indented;return N.context&&N.context.type=="statement"&&le!="statement"&&(F=N.context.indented),N.context=new p(F,R,le,xe,null,N.context)}function C(N){var R=N.context.type;return(R==")"||R=="]"||R=="}")&&(N.indented=N.context.indented),N.context=N.context.prev}function b(N,R,le){if(R.prevToken=="variable"||R.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(N.string.slice(0,le))||R.typeAtEndOfLine&&N.column()==N.indentation())return!0}function S(N){for(;;){if(!N||N.type=="top")return!0;if(N.type=="}"&&N.prev.info!="namespace")return!1;N=N.prev}}o.defineMode("clike",function(N,R){var le=N.indentUnit,xe=R.statementIndentUnit||le,F=R.dontAlignCalls,L=R.keywords||{},de=R.types||{},ze=R.builtin||{},pe=R.blockKeywords||{},Ee=R.defKeywords||{},ge=R.atoms||{},Oe=R.hooks||{},qe=R.multiLineStrings,Se=R.indentStatements!==!1,Be=R.indentSwitch!==!1,Ze=R.namespaceSeparator,ke=R.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Je=R.numberStart||/[\d\.]/,Re=R.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,Ge=R.isOperatorChar||/[+\-*&%=<>!?|\/]/,U=R.isIdentifierChar||/[\w\$_\xa1-\uffff]/,Z=R.isReservedIdentifier||!1,ce,He;function te(we,Me){var Le=we.next();if(Oe[Le]){var $=Oe[Le](we,Me);if($!==!1)return $}if(Le=='"'||Le=="'")return Me.tokenize=fe(Le),Me.tokenize(we,Me);if(Je.test(Le)){if(we.backUp(1),we.match(Re))return"number";we.next()}if(ke.test(Le))return ce=Le,null;if(Le=="/"){if(we.eat("*"))return Me.tokenize=oe,oe(we,Me);if(we.eat("/"))return we.skipToEnd(),"comment"}if(Ge.test(Le)){for(;!we.match(/^\/[\/*]/,!1)&&we.eat(Ge););return"operator"}if(we.eatWhile(U),Ze)for(;we.match(Ze);)we.eatWhile(U);var H=we.current();return h(L,H)?(h(pe,H)&&(ce="newstatement"),h(Ee,H)&&(He=!0),"keyword"):h(de,H)?"type":h(ze,H)||Z&&Z(H)?(h(pe,H)&&(ce="newstatement"),"builtin"):h(ge,H)?"atom":"variable"}function fe(we){return function(Me,Le){for(var $=!1,H,se=!1;(H=Me.next())!=null;){if(H==we&&!$){se=!0;break}$=!$&&H=="\\"}return(se||!($||qe))&&(Le.tokenize=null),"string"}}function oe(we,Me){for(var Le=!1,$;$=we.next();){if($=="/"&&Le){Me.tokenize=null;break}Le=$=="*"}return"comment"}function Ue(we,Me){R.typeFirstDefinitions&&we.eol()&&S(Me.context)&&(Me.typeAtEndOfLine=b(we,Me,we.pos))}return{startState:function(we){return{tokenize:null,context:new p((we||0)-le,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(we,Me){var Le=Me.context;if(we.sol()&&(Le.align==null&&(Le.align=!1),Me.indented=we.indentation(),Me.startOfLine=!0),we.eatSpace())return Ue(we,Me),null;ce=He=null;var $=(Me.tokenize||te)(we,Me);if($=="comment"||$=="meta")return $;if(Le.align==null&&(Le.align=!0),ce==";"||ce==":"||ce==","&&we.match(/^\s*(?:\/\/.*)?$/,!1))for(;Me.context.type=="statement";)C(Me);else if(ce=="{")v(Me,we.column(),"}");else if(ce=="[")v(Me,we.column(),"]");else if(ce=="(")v(Me,we.column(),")");else if(ce=="}"){for(;Le.type=="statement";)Le=C(Me);for(Le.type=="}"&&(Le=C(Me));Le.type=="statement";)Le=C(Me)}else ce==Le.type?C(Me):Se&&((Le.type=="}"||Le.type=="top")&&ce!=";"||Le.type=="statement"&&ce=="newstatement")&&v(Me,we.column(),"statement",we.current());if($=="variable"&&(Me.prevToken=="def"||R.typeFirstDefinitions&&b(we,Me,we.start)&&S(Me.context)&&we.match(/^\s*\(/,!1))&&($="def"),Oe.token){var H=Oe.token(we,Me,$);H!==void 0&&($=H)}return $=="def"&&R.styleDefs===!1&&($="variable"),Me.startOfLine=!1,Me.prevToken=He?"def":$||ce,Ue(we,Me),$},indent:function(we,Me){if(we.tokenize!=te&&we.tokenize!=null||we.typeAtEndOfLine&&S(we.context))return o.Pass;var Le=we.context,$=Me&&Me.charAt(0),H=$==Le.type;if(Le.type=="statement"&&$=="}"&&(Le=Le.prev),R.dontIndentStatements)for(;Le.type=="statement"&&R.dontIndentStatements.test(Le.info);)Le=Le.prev;if(Oe.indent){var se=Oe.indent(we,Le,Me,le);if(typeof se=="number")return se}var De=Le.prev&&Le.prev.info=="switch";if(R.allmanIndentation&&/[{(]/.test($)){for(;Le.type!="top"&&Le.type!="}";)Le=Le.prev;return Le.indented}return Le.type=="statement"?Le.indented+($=="{"?0:xe):Le.align&&(!F||Le.type!=")")?Le.column+(H?0:1):Le.type==")"&&!H?Le.indented+xe:Le.indented+(H?0:le)+(!H&&De&&!/^(?:case|default)\b/.test(Me)?le:0)},electricInput:Be?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function s(N){for(var R={},le=N.split(" "),xe=0;xe!?|\/#:@]/,hooks:{"@":function(N){return N.eatWhile(/[\w\$_]/),"meta"},'"':function(N,R){return N.match('""')?(R.tokenize=j,R.tokenize(N,R)):!1},"'":function(N){return N.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(N.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(N,R){var le=R.context;return le.type=="}"&&le.align&&N.eat(">")?(R.context=new p(le.indented,le.column,le.type,le.info,null,le.prev),"operator"):!1},"/":function(N,R){return N.eat("*")?(R.tokenize=V(1),R.tokenize(N,R)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function y(N){return function(R,le){for(var xe=!1,F,L=!1;!R.eol();){if(!N&&!xe&&R.match('"')){L=!0;break}if(N&&R.match('"""')){L=!0;break}F=R.next(),!xe&&F=="$"&&R.match("{")&&R.skipTo("}"),xe=!xe&&F=="\\"&&!N}return(L||!N)&&(le.tokenize=null),"string"}}Q("text/x-kotlin",{name:"clike",keywords:s("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:s("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:s("catch class do else finally for if where try while enum"),defKeywords:s("class val var object interface fun"),atoms:s("true false null this"),hooks:{"@":function(N){return N.eatWhile(/[\w\$_]/),"meta"},"*":function(N,R){return R.prevToken=="."?"variable":"operator"},'"':function(N,R){return R.tokenize=y(N.match('""')),R.tokenize(N,R)},"/":function(N,R){return N.eat("*")?(R.tokenize=V(1),R.tokenize(N,R)):!1},indent:function(N,R,le,xe){var F=le&&le.charAt(0);if((N.prevToken=="}"||N.prevToken==")")&&le=="")return N.indented;if(N.prevToken=="operator"&&le!="}"&&N.context.type!="}"||N.prevToken=="variable"&&F=="."||(N.prevToken=="}"||N.prevToken==")")&&F==".")return xe*2+R.indented;if(R.align&&R.type=="}")return R.indented+(N.context.type==(le||"").charAt(0)?0:xe)}},modeProps:{closeBrackets:{triples:'"'}}}),Q(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:s("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:s("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:s("for while do if else struct"),builtin:s("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:s("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":E},modeProps:{fold:["brace","include"]}}),Q("text/x-nesc",{name:"clike",keywords:s(g+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:z,blockKeywords:s(_),atoms:s("null true false"),hooks:{"#":E},modeProps:{fold:["brace","include"]}}),Q("text/x-objectivec",{name:"clike",keywords:s(g+" "+w),types:M,builtin:s(c),blockKeywords:s(_+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:s(W+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:G,hooks:{"#":E,"*":O},modeProps:{fold:["brace","include"]}}),Q("text/x-objectivec++",{name:"clike",keywords:s(g+" "+w+" "+T),types:M,builtin:s(c),blockKeywords:s(_+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:s(W+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:s("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:G,hooks:{"#":E,"*":O,u:re,U:re,L:re,R:re,0:J,1:J,2:J,3:J,4:J,5:J,6:J,7:J,8:J,9:J,token:function(N,R,le){if(le=="variable"&&N.peek()=="("&&(R.prevToken==";"||R.prevToken==null||R.prevToken=="}")&&q(N.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Q("text/x-squirrel",{name:"clike",keywords:s("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:z,blockKeywords:s("case catch class else for foreach if switch try while"),defKeywords:s("function local class"),typeFirstDefinitions:!0,atoms:s("true false null"),hooks:{"#":E},modeProps:{fold:["brace","include"]}});var K=null;function X(N){return function(R,le){for(var xe=!1,F,L=!1;!R.eol();){if(!xe&&R.match('"')&&(N=="single"||R.match('""'))){L=!0;break}if(!xe&&R.match("``")){K=X(N),L=!0;break}F=R.next(),xe=N=="single"&&!xe&&F=="\\"}return L&&(le.tokenize=null),"string"}}Q("text/x-ceylon",{name:"clike",keywords:s("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(N){var R=N.charAt(0);return R===R.toUpperCase()&&R!==R.toLowerCase()},blockKeywords:s("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:s("class dynamic function interface module object package value"),builtin:s("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:s("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(N){return N.eatWhile(/[\w\$_]/),"meta"},'"':function(N,R){return R.tokenize=X(N.match('""')?"triple":"single"),R.tokenize(N,R)},"`":function(N,R){return!K||!N.match("`")?!1:(R.tokenize=K,K=null,R.tokenize(N,R))},"'":function(N){return N.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(N,R,le){if((le=="variable"||le=="type")&&R.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})});var Cs=Ke((Ts,Ls)=>{(function(o){typeof Ts=="object"&&typeof Ls=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("cmake",function(){var p=/({)?[a-zA-Z0-9_]+(})?/;function v(b,S){for(var s,h,g=!1;!b.eol()&&(s=b.next())!=S.pending;){if(s==="$"&&h!="\\"&&S.pending=='"'){g=!0;break}h=s}return g&&b.backUp(1),s==S.pending?S.continueString=!1:S.continueString=!0,"string"}function C(b,S){var s=b.next();return s==="$"?b.match(p)?"variable-2":"variable":S.continueString?(b.backUp(1),v(b,S)):b.match(/(\s+)?\w+\(/)||b.match(/(\s+)?\w+\ \(/)?(b.backUp(1),"def"):s=="#"?(b.skipToEnd(),"comment"):s=="'"||s=='"'?(S.pending=s,v(b,S)):s=="("||s==")"?"bracket":s.match(/[0-9]/)?"number":(b.eatWhile(/[\w-]/),null)}return{startState:function(){var b={};return b.inDefinition=!1,b.inInclude=!1,b.continueString=!1,b.pending=!1,b},token:function(b,S){return b.eatSpace()?null:C(b,S)}}}),o.defineMIME("text/x-cmake","cmake")})});var gn=Ke((Es,zs)=>{(function(o){typeof Es=="object"&&typeof zs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("css",function(I,D){var Q=D.inline;D.propertyKeywords||(D=o.resolveMode("text/css"));var j=I.indentUnit,V=D.tokenHooks,y=D.documentTypes||{},K=D.mediaTypes||{},X=D.mediaFeatures||{},N=D.mediaValueKeywords||{},R=D.propertyKeywords||{},le=D.nonStandardPropertyKeywords||{},xe=D.fontProperties||{},F=D.counterDescriptors||{},L=D.colorKeywords||{},de=D.valueKeywords||{},ze=D.allowNested,pe=D.lineComment,Ee=D.supportsAtComponent===!0,ge=I.highlightNonStandardPropertyKeywords!==!1,Oe,qe;function Se(te,fe){return Oe=fe,te}function Be(te,fe){var oe=te.next();if(V[oe]){var Ue=V[oe](te,fe);if(Ue!==!1)return Ue}if(oe=="@")return te.eatWhile(/[\w\\\-]/),Se("def",te.current());if(oe=="="||(oe=="~"||oe=="|")&&te.eat("="))return Se(null,"compare");if(oe=='"'||oe=="'")return fe.tokenize=Ze(oe),fe.tokenize(te,fe);if(oe=="#")return te.eatWhile(/[\w\\\-]/),Se("atom","hash");if(oe=="!")return te.match(/^\s*\w*/),Se("keyword","important");if(/\d/.test(oe)||oe=="."&&te.eat(/\d/))return te.eatWhile(/[\w.%]/),Se("number","unit");if(oe==="-"){if(/[\d.]/.test(te.peek()))return te.eatWhile(/[\w.%]/),Se("number","unit");if(te.match(/^-[\w\\\-]*/))return te.eatWhile(/[\w\\\-]/),te.match(/^\s*:/,!1)?Se("variable-2","variable-definition"):Se("variable-2","variable");if(te.match(/^\w+-/))return Se("meta","meta")}else return/[,+>*\/]/.test(oe)?Se(null,"select-op"):oe=="."&&te.match(/^-?[_a-z][_a-z0-9-]*/i)?Se("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(oe)?Se(null,oe):te.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(te.current())&&(fe.tokenize=ke),Se("variable callee","variable")):/[\w\\\-]/.test(oe)?(te.eatWhile(/[\w\\\-]/),Se("property","word")):Se(null,null)}function Ze(te){return function(fe,oe){for(var Ue=!1,we;(we=fe.next())!=null;){if(we==te&&!Ue){te==")"&&fe.backUp(1);break}Ue=!Ue&&we=="\\"}return(we==te||!Ue&&te!=")")&&(oe.tokenize=null),Se("string","string")}}function ke(te,fe){return te.next(),te.match(/^\s*[\"\')]/,!1)?fe.tokenize=null:fe.tokenize=Ze(")"),Se(null,"(")}function Je(te,fe,oe){this.type=te,this.indent=fe,this.prev=oe}function Re(te,fe,oe,Ue){return te.context=new Je(oe,fe.indentation()+(Ue===!1?0:j),te.context),oe}function Ge(te){return te.context.prev&&(te.context=te.context.prev),te.context.type}function U(te,fe,oe){return He[oe.context.type](te,fe,oe)}function Z(te,fe,oe,Ue){for(var we=Ue||1;we>0;we--)oe.context=oe.context.prev;return U(te,fe,oe)}function ce(te){var fe=te.current().toLowerCase();de.hasOwnProperty(fe)?qe="atom":L.hasOwnProperty(fe)?qe="keyword":qe="variable"}var He={};return He.top=function(te,fe,oe){if(te=="{")return Re(oe,fe,"block");if(te=="}"&&oe.context.prev)return Ge(oe);if(Ee&&/@component/i.test(te))return Re(oe,fe,"atComponentBlock");if(/^@(-moz-)?document$/i.test(te))return Re(oe,fe,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(te))return Re(oe,fe,"atBlock");if(/^@(font-face|counter-style)/i.test(te))return oe.stateArg=te,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(te))return"keyframes";if(te&&te.charAt(0)=="@")return Re(oe,fe,"at");if(te=="hash")qe="builtin";else if(te=="word")qe="tag";else{if(te=="variable-definition")return"maybeprop";if(te=="interpolation")return Re(oe,fe,"interpolation");if(te==":")return"pseudo";if(ze&&te=="(")return Re(oe,fe,"parens")}return oe.context.type},He.block=function(te,fe,oe){if(te=="word"){var Ue=fe.current().toLowerCase();return R.hasOwnProperty(Ue)?(qe="property","maybeprop"):le.hasOwnProperty(Ue)?(qe=ge?"string-2":"property","maybeprop"):ze?(qe=fe.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(qe+=" error","maybeprop")}else return te=="meta"?"block":!ze&&(te=="hash"||te=="qualifier")?(qe="error","block"):He.top(te,fe,oe)},He.maybeprop=function(te,fe,oe){return te==":"?Re(oe,fe,"prop"):U(te,fe,oe)},He.prop=function(te,fe,oe){if(te==";")return Ge(oe);if(te=="{"&&ze)return Re(oe,fe,"propBlock");if(te=="}"||te=="{")return Z(te,fe,oe);if(te=="(")return Re(oe,fe,"parens");if(te=="hash"&&!/^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(fe.current()))qe+=" error";else if(te=="word")ce(fe);else if(te=="interpolation")return Re(oe,fe,"interpolation");return"prop"},He.propBlock=function(te,fe,oe){return te=="}"?Ge(oe):te=="word"?(qe="property","maybeprop"):oe.context.type},He.parens=function(te,fe,oe){return te=="{"||te=="}"?Z(te,fe,oe):te==")"?Ge(oe):te=="("?Re(oe,fe,"parens"):te=="interpolation"?Re(oe,fe,"interpolation"):(te=="word"&&ce(fe),"parens")},He.pseudo=function(te,fe,oe){return te=="meta"?"pseudo":te=="word"?(qe="variable-3",oe.context.type):U(te,fe,oe)},He.documentTypes=function(te,fe,oe){return te=="word"&&y.hasOwnProperty(fe.current())?(qe="tag",oe.context.type):He.atBlock(te,fe,oe)},He.atBlock=function(te,fe,oe){if(te=="(")return Re(oe,fe,"atBlock_parens");if(te=="}"||te==";")return Z(te,fe,oe);if(te=="{")return Ge(oe)&&Re(oe,fe,ze?"block":"top");if(te=="interpolation")return Re(oe,fe,"interpolation");if(te=="word"){var Ue=fe.current().toLowerCase();Ue=="only"||Ue=="not"||Ue=="and"||Ue=="or"?qe="keyword":K.hasOwnProperty(Ue)?qe="attribute":X.hasOwnProperty(Ue)?qe="property":N.hasOwnProperty(Ue)?qe="keyword":R.hasOwnProperty(Ue)?qe="property":le.hasOwnProperty(Ue)?qe=ge?"string-2":"property":de.hasOwnProperty(Ue)?qe="atom":L.hasOwnProperty(Ue)?qe="keyword":qe="error"}return oe.context.type},He.atComponentBlock=function(te,fe,oe){return te=="}"?Z(te,fe,oe):te=="{"?Ge(oe)&&Re(oe,fe,ze?"block":"top",!1):(te=="word"&&(qe="error"),oe.context.type)},He.atBlock_parens=function(te,fe,oe){return te==")"?Ge(oe):te=="{"||te=="}"?Z(te,fe,oe,2):He.atBlock(te,fe,oe)},He.restricted_atBlock_before=function(te,fe,oe){return te=="{"?Re(oe,fe,"restricted_atBlock"):te=="word"&&oe.stateArg=="@counter-style"?(qe="variable","restricted_atBlock_before"):U(te,fe,oe)},He.restricted_atBlock=function(te,fe,oe){return te=="}"?(oe.stateArg=null,Ge(oe)):te=="word"?(oe.stateArg=="@font-face"&&!xe.hasOwnProperty(fe.current().toLowerCase())||oe.stateArg=="@counter-style"&&!F.hasOwnProperty(fe.current().toLowerCase())?qe="error":qe="property","maybeprop"):"restricted_atBlock"},He.keyframes=function(te,fe,oe){return te=="word"?(qe="variable","keyframes"):te=="{"?Re(oe,fe,"top"):U(te,fe,oe)},He.at=function(te,fe,oe){return te==";"?Ge(oe):te=="{"||te=="}"?Z(te,fe,oe):(te=="word"?qe="tag":te=="hash"&&(qe="builtin"),"at")},He.interpolation=function(te,fe,oe){return te=="}"?Ge(oe):te=="{"||te==";"?Z(te,fe,oe):(te=="word"?qe="variable":te!="variable"&&te!="("&&te!=")"&&(qe="error"),"interpolation")},{startState:function(te){return{tokenize:null,state:Q?"block":"top",stateArg:null,context:new Je(Q?"block":"top",te||0,null)}},token:function(te,fe){if(!fe.tokenize&&te.eatSpace())return null;var oe=(fe.tokenize||Be)(te,fe);return oe&&typeof oe=="object"&&(Oe=oe[1],oe=oe[0]),qe=oe,Oe!="comment"&&(fe.state=He[fe.state](Oe,te,fe)),qe},indent:function(te,fe){var oe=te.context,Ue=fe&&fe.charAt(0),we=oe.indent;return oe.type=="prop"&&(Ue=="}"||Ue==")")&&(oe=oe.prev),oe.prev&&(Ue=="}"&&(oe.type=="block"||oe.type=="top"||oe.type=="interpolation"||oe.type=="restricted_atBlock")?(oe=oe.prev,we=oe.indent):(Ue==")"&&(oe.type=="parens"||oe.type=="atBlock_parens")||Ue=="{"&&(oe.type=="at"||oe.type=="atBlock"))&&(we=Math.max(0,oe.indent-j))),we},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:pe,fold:"brace"}});function p(I){for(var D={},Q=0;Q{(function(o){typeof Ms=="object"&&typeof As=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("diff",function(){var p={"+":"positive","-":"negative","@":"meta"};return{token:function(v){var C=v.string.search(/[\t ]+?$/);if(!v.sol()||C===0)return v.skipToEnd(),("error "+(p[v.string.charAt(0)]||"")).replace(/ $/,"");var b=p[v.peek()]||v.skipToEnd();return C===-1?v.skipToEnd():v.pos=C,b}}}),o.defineMIME("text/x-diff","diff")})});var mn=Ke((qs,Fs)=>{(function(o){typeof qs=="object"&&typeof Fs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";var p={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},v={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};o.defineMode("xml",function(C,b){var S=C.indentUnit,s={},h=b.htmlMode?p:v;for(var g in h)s[g]=h[g];for(var g in b)s[g]=b[g];var T,w;function c(y,K){function X(le){return K.tokenize=le,le(y,K)}var N=y.next();if(N=="<")return y.eat("!")?y.eat("[")?y.match("CDATA[")?X(z("atom","]]>")):null:y.match("--")?X(z("comment","-->")):y.match("DOCTYPE",!0,!0)?(y.eatWhile(/[\w\._\-]/),X(M(1))):null:y.eat("?")?(y.eatWhile(/[\w\._\-]/),K.tokenize=z("meta","?>"),"meta"):(T=y.eat("/")?"closeTag":"openTag",K.tokenize=d,"tag bracket");if(N=="&"){var R;return y.eat("#")?y.eat("x")?R=y.eatWhile(/[a-fA-F\d]/)&&y.eat(";"):R=y.eatWhile(/[\d]/)&&y.eat(";"):R=y.eatWhile(/[\w\.\-:]/)&&y.eat(";"),R?"atom":"error"}else return y.eatWhile(/[^&<]/),null}c.isInText=!0;function d(y,K){var X=y.next();if(X==">"||X=="/"&&y.eat(">"))return K.tokenize=c,T=X==">"?"endTag":"selfcloseTag","tag bracket";if(X=="=")return T="equals",null;if(X=="<"){K.tokenize=c,K.state=G,K.tagName=K.tagStart=null;var N=K.tokenize(y,K);return N?N+" tag error":"tag error"}else return/[\'\"]/.test(X)?(K.tokenize=k(X),K.stringStartCol=y.column(),K.tokenize(y,K)):(y.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function k(y){var K=function(X,N){for(;!X.eol();)if(X.next()==y){N.tokenize=d;break}return"string"};return K.isInAttribute=!0,K}function z(y,K){return function(X,N){for(;!X.eol();){if(X.match(K)){N.tokenize=c;break}X.next()}return y}}function M(y){return function(K,X){for(var N;(N=K.next())!=null;){if(N=="<")return X.tokenize=M(y+1),X.tokenize(K,X);if(N==">")if(y==1){X.tokenize=c;break}else return X.tokenize=M(y-1),X.tokenize(K,X)}return"meta"}}function _(y){return y&&y.toLowerCase()}function W(y,K,X){this.prev=y.context,this.tagName=K||"",this.indent=y.indented,this.startOfLine=X,(s.doNotIndent.hasOwnProperty(K)||y.context&&y.context.noIndent)&&(this.noIndent=!0)}function E(y){y.context&&(y.context=y.context.prev)}function O(y,K){for(var X;;){if(!y.context||(X=y.context.tagName,!s.contextGrabbers.hasOwnProperty(_(X))||!s.contextGrabbers[_(X)].hasOwnProperty(_(K))))return;E(y)}}function G(y,K,X){return y=="openTag"?(X.tagStart=K.column(),J):y=="closeTag"?re:G}function J(y,K,X){return y=="word"?(X.tagName=K.current(),w="tag",D):s.allowMissingTagName&&y=="endTag"?(w="tag bracket",D(y,K,X)):(w="error",J)}function re(y,K,X){if(y=="word"){var N=K.current();return X.context&&X.context.tagName!=N&&s.implicitlyClosed.hasOwnProperty(_(X.context.tagName))&&E(X),X.context&&X.context.tagName==N||s.matchClosing===!1?(w="tag",q):(w="tag error",I)}else return s.allowMissingTagName&&y=="endTag"?(w="tag bracket",q(y,K,X)):(w="error",I)}function q(y,K,X){return y!="endTag"?(w="error",q):(E(X),G)}function I(y,K,X){return w="error",q(y,K,X)}function D(y,K,X){if(y=="word")return w="attribute",Q;if(y=="endTag"||y=="selfcloseTag"){var N=X.tagName,R=X.tagStart;return X.tagName=X.tagStart=null,y=="selfcloseTag"||s.autoSelfClosers.hasOwnProperty(_(N))?O(X,N):(O(X,N),X.context=new W(X,N,R==X.indented)),G}return w="error",D}function Q(y,K,X){return y=="equals"?j:(s.allowMissing||(w="error"),D(y,K,X))}function j(y,K,X){return y=="string"?V:y=="word"&&s.allowUnquoted?(w="string",D):(w="error",D(y,K,X))}function V(y,K,X){return y=="string"?V:D(y,K,X)}return{startState:function(y){var K={tokenize:c,state:G,indented:y||0,tagName:null,tagStart:null,context:null};return y!=null&&(K.baseIndent=y),K},token:function(y,K){if(!K.tagName&&y.sol()&&(K.indented=y.indentation()),y.eatSpace())return null;T=null;var X=K.tokenize(y,K);return(X||T)&&X!="comment"&&(w=null,K.state=K.state(T||X,y,K),w&&(X=w=="error"?X+" error":w)),X},indent:function(y,K,X){var N=y.context;if(y.tokenize.isInAttribute)return y.tagStart==y.indented?y.stringStartCol+1:y.indented+S;if(N&&N.noIndent)return o.Pass;if(y.tokenize!=d&&y.tokenize!=c)return X?X.match(/^(\s*)/)[0].length:0;if(y.tagName)return s.multilineTagIndentPastTag!==!1?y.tagStart+y.tagName.length+2:y.tagStart+S*(s.multilineTagIndentFactor||1);if(s.alignCDATA&&/$/,blockCommentStart:"",configuration:s.htmlMode?"html":"xml",helperType:s.htmlMode?"html":"xml",skipAttribute:function(y){y.state==j&&(y.state=D)},xmlCurrentTag:function(y){return y.tagName?{name:y.tagName,close:y.type=="closeTag"}:null},xmlCurrentContext:function(y){for(var K=[],X=y.context;X;X=X.prev)K.push(X.tagName);return K.reverse()}}}),o.defineMIME("text/xml","xml"),o.defineMIME("application/xml","xml"),o.mimeModes.hasOwnProperty("text/html")||o.defineMIME("text/html",{name:"xml",htmlMode:!0})})});var vn=Ke((Is,Ns)=>{(function(o){typeof Is=="object"&&typeof Ns=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("javascript",function(p,v){var C=p.indentUnit,b=v.statementIndent,S=v.jsonld,s=v.json||S,h=v.trackScope!==!1,g=v.typescript,T=v.wordCharacters||/[\w$\xa1-\uffff]/,w=(function(){function x(pt){return{type:pt,style:"keyword"}}var P=x("keyword a"),ae=x("keyword b"),he=x("keyword c"),ne=x("keyword d"),ye=x("operator"),Xe={type:"atom",style:"atom"};return{if:x("if"),while:P,with:P,else:ae,do:ae,try:ae,finally:ae,return:ne,break:ne,continue:ne,new:x("new"),delete:he,void:he,throw:he,debugger:x("debugger"),var:x("var"),const:x("var"),let:x("var"),function:x("function"),catch:x("catch"),for:x("for"),switch:x("switch"),case:x("case"),default:x("default"),in:ye,typeof:ye,instanceof:ye,true:Xe,false:Xe,null:Xe,undefined:Xe,NaN:Xe,Infinity:Xe,this:x("this"),class:x("class"),super:x("atom"),yield:he,export:x("export"),import:x("import"),extends:he,await:he}})(),c=/[+\-*&%=<>!?|~^@]/,d=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function k(x){for(var P=!1,ae,he=!1;(ae=x.next())!=null;){if(!P){if(ae=="/"&&!he)return;ae=="["?he=!0:he&&ae=="]"&&(he=!1)}P=!P&&ae=="\\"}}var z,M;function _(x,P,ae){return z=x,M=ae,P}function W(x,P){var ae=x.next();if(ae=='"'||ae=="'")return P.tokenize=E(ae),P.tokenize(x,P);if(ae=="."&&x.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return _("number","number");if(ae=="."&&x.match(".."))return _("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(ae))return _(ae);if(ae=="="&&x.eat(">"))return _("=>","operator");if(ae=="0"&&x.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return _("number","number");if(/\d/.test(ae))return x.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),_("number","number");if(ae=="/")return x.eat("*")?(P.tokenize=O,O(x,P)):x.eat("/")?(x.skipToEnd(),_("comment","comment")):Bt(x,P,1)?(k(x),x.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),_("regexp","string-2")):(x.eat("="),_("operator","operator",x.current()));if(ae=="`")return P.tokenize=G,G(x,P);if(ae=="#"&&x.peek()=="!")return x.skipToEnd(),_("meta","meta");if(ae=="#"&&x.eatWhile(T))return _("variable","property");if(ae=="<"&&x.match("!--")||ae=="-"&&x.match("->")&&!/\S/.test(x.string.slice(0,x.start)))return x.skipToEnd(),_("comment","comment");if(c.test(ae))return(ae!=">"||!P.lexical||P.lexical.type!=">")&&(x.eat("=")?(ae=="!"||ae=="=")&&x.eat("="):/[<>*+\-|&?]/.test(ae)&&(x.eat(ae),ae==">"&&x.eat(ae))),ae=="?"&&x.eat(".")?_("."):_("operator","operator",x.current());if(T.test(ae)){x.eatWhile(T);var he=x.current();if(P.lastType!="."){if(w.propertyIsEnumerable(he)){var ne=w[he];return _(ne.type,ne.style,he)}if(he=="async"&&x.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return _("async","keyword",he)}return _("variable","variable",he)}}function E(x){return function(P,ae){var he=!1,ne;if(S&&P.peek()=="@"&&P.match(d))return ae.tokenize=W,_("jsonld-keyword","meta");for(;(ne=P.next())!=null&&!(ne==x&&!he);)he=!he&&ne=="\\";return he||(ae.tokenize=W),_("string","string")}}function O(x,P){for(var ae=!1,he;he=x.next();){if(he=="/"&&ae){P.tokenize=W;break}ae=he=="*"}return _("comment","comment")}function G(x,P){for(var ae=!1,he;(he=x.next())!=null;){if(!ae&&(he=="`"||he=="$"&&x.eat("{"))){P.tokenize=W;break}ae=!ae&&he=="\\"}return _("quasi","string-2",x.current())}var J="([{}])";function re(x,P){P.fatArrowAt&&(P.fatArrowAt=null);var ae=x.string.indexOf("=>",x.start);if(!(ae<0)){if(g){var he=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(x.string.slice(x.start,ae));he&&(ae=he.index)}for(var ne=0,ye=!1,Xe=ae-1;Xe>=0;--Xe){var pt=x.string.charAt(Xe),Et=J.indexOf(pt);if(Et>=0&&Et<3){if(!ne){++Xe;break}if(--ne==0){pt=="("&&(ye=!0);break}}else if(Et>=3&&Et<6)++ne;else if(T.test(pt))ye=!0;else if(/["'\/`]/.test(pt))for(;;--Xe){if(Xe==0)return;var Zr=x.string.charAt(Xe-1);if(Zr==pt&&x.string.charAt(Xe-2)!="\\"){Xe--;break}}else if(ye&&!ne){++Xe;break}}ye&&!ne&&(P.fatArrowAt=Xe)}}var q={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function I(x,P,ae,he,ne,ye){this.indented=x,this.column=P,this.type=ae,this.prev=ne,this.info=ye,he!=null&&(this.align=he)}function D(x,P){if(!h)return!1;for(var ae=x.localVars;ae;ae=ae.next)if(ae.name==P)return!0;for(var he=x.context;he;he=he.prev)for(var ae=he.vars;ae;ae=ae.next)if(ae.name==P)return!0}function Q(x,P,ae,he,ne){var ye=x.cc;for(j.state=x,j.stream=ne,j.marked=null,j.cc=ye,j.style=P,x.lexical.hasOwnProperty("align")||(x.lexical.align=!0);;){var Xe=ye.length?ye.pop():s?Se:Oe;if(Xe(ae,he)){for(;ye.length&&ye[ye.length-1].lex;)ye.pop()();return j.marked?j.marked:ae=="variable"&&D(x,he)?"variable-2":P}}}var j={state:null,column:null,marked:null,cc:null};function V(){for(var x=arguments.length-1;x>=0;x--)j.cc.push(arguments[x])}function y(){return V.apply(null,arguments),!0}function K(x,P){for(var ae=P;ae;ae=ae.next)if(ae.name==x)return!0;return!1}function X(x){var P=j.state;if(j.marked="def",!!h){if(P.context){if(P.lexical.info=="var"&&P.context&&P.context.block){var ae=N(x,P.context);if(ae!=null){P.context=ae;return}}else if(!K(x,P.localVars)){P.localVars=new xe(x,P.localVars);return}}v.globalVars&&!K(x,P.globalVars)&&(P.globalVars=new xe(x,P.globalVars))}}function N(x,P){if(P)if(P.block){var ae=N(x,P.prev);return ae?ae==P.prev?P:new le(ae,P.vars,!0):null}else return K(x,P.vars)?P:new le(P.prev,new xe(x,P.vars),!1);else return null}function R(x){return x=="public"||x=="private"||x=="protected"||x=="abstract"||x=="readonly"}function le(x,P,ae){this.prev=x,this.vars=P,this.block=ae}function xe(x,P){this.name=x,this.next=P}var F=new xe("this",new xe("arguments",null));function L(){j.state.context=new le(j.state.context,j.state.localVars,!1),j.state.localVars=F}function de(){j.state.context=new le(j.state.context,j.state.localVars,!0),j.state.localVars=null}L.lex=de.lex=!0;function ze(){j.state.localVars=j.state.context.vars,j.state.context=j.state.context.prev}ze.lex=!0;function pe(x,P){var ae=function(){var he=j.state,ne=he.indented;if(he.lexical.type=="stat")ne=he.lexical.indented;else for(var ye=he.lexical;ye&&ye.type==")"&&ye.align;ye=ye.prev)ne=ye.indented;he.lexical=new I(ne,j.stream.column(),x,null,he.lexical,P)};return ae.lex=!0,ae}function Ee(){var x=j.state;x.lexical.prev&&(x.lexical.type==")"&&(x.indented=x.lexical.indented),x.lexical=x.lexical.prev)}Ee.lex=!0;function ge(x){function P(ae){return ae==x?y():x==";"||ae=="}"||ae==")"||ae=="]"?V():y(P)}return P}function Oe(x,P){return x=="var"?y(pe("vardef",P),Rr,ge(";"),Ee):x=="keyword a"?y(pe("form"),Ze,Oe,Ee):x=="keyword b"?y(pe("form"),Oe,Ee):x=="keyword d"?j.stream.match(/^\s*$/,!1)?y():y(pe("stat"),Je,ge(";"),Ee):x=="debugger"?y(ge(";")):x=="{"?y(pe("}"),de,De,Ee,ze):x==";"?y():x=="if"?(j.state.lexical.info=="else"&&j.state.cc[j.state.cc.length-1]==Ee&&j.state.cc.pop()(),y(pe("form"),Ze,Oe,Ee,Hr)):x=="function"?y(Ht):x=="for"?y(pe("form"),de,ei,Oe,ze,Ee):x=="class"||g&&P=="interface"?(j.marked="keyword",y(pe("form",x=="class"?x:P),Wr,Ee)):x=="variable"?g&&P=="declare"?(j.marked="keyword",y(Oe)):g&&(P=="module"||P=="enum"||P=="type")&&j.stream.match(/^\s*\w/,!1)?(j.marked="keyword",P=="enum"?y(Ae):P=="type"?y(ti,ge("operator"),Pe,ge(";")):y(pe("form"),Ct,ge("{"),pe("}"),De,Ee,Ee)):g&&P=="namespace"?(j.marked="keyword",y(pe("form"),Se,Oe,Ee)):g&&P=="abstract"?(j.marked="keyword",y(Oe)):y(pe("stat"),Ue):x=="switch"?y(pe("form"),Ze,ge("{"),pe("}","switch"),de,De,Ee,Ee,ze):x=="case"?y(Se,ge(":")):x=="default"?y(ge(":")):x=="catch"?y(pe("form"),L,qe,Oe,Ee,ze):x=="export"?y(pe("stat"),Ur,Ee):x=="import"?y(pe("stat"),gr,Ee):x=="async"?y(Oe):P=="@"?y(Se,Oe):V(pe("stat"),Se,ge(";"),Ee)}function qe(x){if(x=="(")return y($t,ge(")"))}function Se(x,P){return ke(x,P,!1)}function Be(x,P){return ke(x,P,!0)}function Ze(x){return x!="("?V():y(pe(")"),Je,ge(")"),Ee)}function ke(x,P,ae){if(j.state.fatArrowAt==j.stream.start){var he=ae?He:ce;if(x=="(")return y(L,pe(")"),H($t,")"),Ee,ge("=>"),he,ze);if(x=="variable")return V(L,Ct,ge("=>"),he,ze)}var ne=ae?Ge:Re;return q.hasOwnProperty(x)?y(ne):x=="function"?y(Ht,ne):x=="class"||g&&P=="interface"?(j.marked="keyword",y(pe("form"),to,Ee)):x=="keyword c"||x=="async"?y(ae?Be:Se):x=="("?y(pe(")"),Je,ge(")"),Ee,ne):x=="operator"||x=="spread"?y(ae?Be:Se):x=="["?y(pe("]"),at,Ee,ne):x=="{"?se(Me,"}",null,ne):x=="quasi"?V(U,ne):x=="new"?y(te(ae)):y()}function Je(x){return x.match(/[;\}\)\],]/)?V():V(Se)}function Re(x,P){return x==","?y(Je):Ge(x,P,!1)}function Ge(x,P,ae){var he=ae==!1?Re:Ge,ne=ae==!1?Se:Be;if(x=="=>")return y(L,ae?He:ce,ze);if(x=="operator")return/\+\+|--/.test(P)||g&&P=="!"?y(he):g&&P=="<"&&j.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?y(pe(">"),H(Pe,">"),Ee,he):P=="?"?y(Se,ge(":"),ne):y(ne);if(x=="quasi")return V(U,he);if(x!=";"){if(x=="(")return se(Be,")","call",he);if(x==".")return y(we,he);if(x=="[")return y(pe("]"),Je,ge("]"),Ee,he);if(g&&P=="as")return j.marked="keyword",y(Pe,he);if(x=="regexp")return j.state.lastType=j.marked="operator",j.stream.backUp(j.stream.pos-j.stream.start-1),y(ne)}}function U(x,P){return x!="quasi"?V():P.slice(P.length-2)!="${"?y(U):y(Je,Z)}function Z(x){if(x=="}")return j.marked="string-2",j.state.tokenize=G,y(U)}function ce(x){return re(j.stream,j.state),V(x=="{"?Oe:Se)}function He(x){return re(j.stream,j.state),V(x=="{"?Oe:Be)}function te(x){return function(P){return P=="."?y(x?oe:fe):P=="variable"&&g?y(It,x?Ge:Re):V(x?Be:Se)}}function fe(x,P){if(P=="target")return j.marked="keyword",y(Re)}function oe(x,P){if(P=="target")return j.marked="keyword",y(Ge)}function Ue(x){return x==":"?y(Ee,Oe):V(Re,ge(";"),Ee)}function we(x){if(x=="variable")return j.marked="property",y()}function Me(x,P){if(x=="async")return j.marked="property",y(Me);if(x=="variable"||j.style=="keyword"){if(j.marked="property",P=="get"||P=="set")return y(Le);var ae;return g&&j.state.fatArrowAt==j.stream.start&&(ae=j.stream.match(/^\s*:\s*/,!1))&&(j.state.fatArrowAt=j.stream.pos+ae[0].length),y($)}else{if(x=="number"||x=="string")return j.marked=S?"property":j.style+" property",y($);if(x=="jsonld-keyword")return y($);if(g&&R(P))return j.marked="keyword",y(Me);if(x=="[")return y(Se,nt,ge("]"),$);if(x=="spread")return y(Be,$);if(P=="*")return j.marked="keyword",y(Me);if(x==":")return V($)}}function Le(x){return x!="variable"?V($):(j.marked="property",y(Ht))}function $(x){if(x==":")return y(Be);if(x=="(")return V(Ht)}function H(x,P,ae){function he(ne,ye){if(ae?ae.indexOf(ne)>-1:ne==","){var Xe=j.state.lexical;return Xe.info=="call"&&(Xe.pos=(Xe.pos||0)+1),y(function(pt,Et){return pt==P||Et==P?V():V(x)},he)}return ne==P||ye==P?y():ae&&ae.indexOf(";")>-1?V(x):y(ge(P))}return function(ne,ye){return ne==P||ye==P?y():V(x,he)}}function se(x,P,ae){for(var he=3;he"),Pe);if(x=="quasi")return V(_t,Rt)}function xt(x){if(x=="=>")return y(Pe)}function Ie(x){return x.match(/[\}\)\]]/)?y():x==","||x==";"?y(Ie):V(nr,Ie)}function nr(x,P){if(x=="variable"||j.style=="keyword")return j.marked="property",y(nr);if(P=="?"||x=="number"||x=="string")return y(nr);if(x==":")return y(Pe);if(x=="[")return y(ge("variable"),dt,ge("]"),nr);if(x=="(")return V(hr,nr);if(!x.match(/[;\}\)\],]/))return y()}function _t(x,P){return x!="quasi"?V():P.slice(P.length-2)!="${"?y(_t):y(Pe,it)}function it(x){if(x=="}")return j.marked="string-2",j.state.tokenize=G,y(_t)}function ot(x,P){return x=="variable"&&j.stream.match(/^\s*[?:]/,!1)||P=="?"?y(ot):x==":"?y(Pe):x=="spread"?y(ot):V(Pe)}function Rt(x,P){if(P=="<")return y(pe(">"),H(Pe,">"),Ee,Rt);if(P=="|"||x=="."||P=="&")return y(Pe);if(x=="[")return y(Pe,ge("]"),Rt);if(P=="extends"||P=="implements")return j.marked="keyword",y(Pe);if(P=="?")return y(Pe,ge(":"),Pe)}function It(x,P){if(P=="<")return y(pe(">"),H(Pe,">"),Ee,Rt)}function Wt(){return V(Pe,kt)}function kt(x,P){if(P=="=")return y(Pe)}function Rr(x,P){return P=="enum"?(j.marked="keyword",y(Ae)):V(Ct,nt,Ut,eo)}function Ct(x,P){if(g&&R(P))return j.marked="keyword",y(Ct);if(x=="variable")return X(P),y();if(x=="spread")return y(Ct);if(x=="[")return se(yn,"]");if(x=="{")return se(dr,"}")}function dr(x,P){return x=="variable"&&!j.stream.match(/^\s*:/,!1)?(X(P),y(Ut)):(x=="variable"&&(j.marked="property"),x=="spread"?y(Ct):x=="}"?V():x=="["?y(Se,ge("]"),ge(":"),dr):y(ge(":"),Ct,Ut))}function yn(){return V(Ct,Ut)}function Ut(x,P){if(P=="=")return y(Be)}function eo(x){if(x==",")return y(Rr)}function Hr(x,P){if(x=="keyword b"&&P=="else")return y(pe("form","else"),Oe,Ee)}function ei(x,P){if(P=="await")return y(ei);if(x=="(")return y(pe(")"),xn,Ee)}function xn(x){return x=="var"?y(Rr,pr):x=="variable"?y(pr):V(pr)}function pr(x,P){return x==")"?y():x==";"?y(pr):P=="in"||P=="of"?(j.marked="keyword",y(Se,pr)):V(Se,pr)}function Ht(x,P){if(P=="*")return j.marked="keyword",y(Ht);if(x=="variable")return X(P),y(Ht);if(x=="(")return y(L,pe(")"),H($t,")"),Ee,Pt,Oe,ze);if(g&&P=="<")return y(pe(">"),H(Wt,">"),Ee,Ht)}function hr(x,P){if(P=="*")return j.marked="keyword",y(hr);if(x=="variable")return X(P),y(hr);if(x=="(")return y(L,pe(")"),H($t,")"),Ee,Pt,ze);if(g&&P=="<")return y(pe(">"),H(Wt,">"),Ee,hr)}function ti(x,P){if(x=="keyword"||x=="variable")return j.marked="type",y(ti);if(P=="<")return y(pe(">"),H(Wt,">"),Ee)}function $t(x,P){return P=="@"&&y(Se,$t),x=="spread"?y($t):g&&R(P)?(j.marked="keyword",y($t)):g&&x=="this"?y(nt,Ut):V(Ct,nt,Ut)}function to(x,P){return x=="variable"?Wr(x,P):Kt(x,P)}function Wr(x,P){if(x=="variable")return X(P),y(Kt)}function Kt(x,P){if(P=="<")return y(pe(">"),H(Wt,">"),Ee,Kt);if(P=="extends"||P=="implements"||g&&x==",")return P=="implements"&&(j.marked="keyword"),y(g?Pe:Se,Kt);if(x=="{")return y(pe("}"),Gt,Ee)}function Gt(x,P){if(x=="async"||x=="variable"&&(P=="static"||P=="get"||P=="set"||g&&R(P))&&j.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return j.marked="keyword",y(Gt);if(x=="variable"||j.style=="keyword")return j.marked="property",y(Cr,Gt);if(x=="number"||x=="string")return y(Cr,Gt);if(x=="[")return y(Se,nt,ge("]"),Cr,Gt);if(P=="*")return j.marked="keyword",y(Gt);if(g&&x=="(")return V(hr,Gt);if(x==";"||x==",")return y(Gt);if(x=="}")return y();if(P=="@")return y(Se,Gt)}function Cr(x,P){if(P=="!"||P=="?")return y(Cr);if(x==":")return y(Pe,Ut);if(P=="=")return y(Be);var ae=j.state.lexical.prev,he=ae&&ae.info=="interface";return V(he?hr:Ht)}function Ur(x,P){return P=="*"?(j.marked="keyword",y(Gr,ge(";"))):P=="default"?(j.marked="keyword",y(Se,ge(";"))):x=="{"?y(H($r,"}"),Gr,ge(";")):V(Oe)}function $r(x,P){if(P=="as")return j.marked="keyword",y(ge("variable"));if(x=="variable")return V(Be,$r)}function gr(x){return x=="string"?y():x=="("?V(Se):x=="."?V(Re):V(Kr,Vt,Gr)}function Kr(x,P){return x=="{"?se(Kr,"}"):(x=="variable"&&X(P),P=="*"&&(j.marked="keyword"),y(_n))}function Vt(x){if(x==",")return y(Kr,Vt)}function _n(x,P){if(P=="as")return j.marked="keyword",y(Kr)}function Gr(x,P){if(P=="from")return j.marked="keyword",y(Se)}function at(x){return x=="]"?y():V(H(Be,"]"))}function Ae(){return V(pe("form"),Ct,ge("{"),pe("}"),H(ir,"}"),Ee,Ee)}function ir(){return V(Ct,Ut)}function kn(x,P){return x.lastType=="operator"||x.lastType==","||c.test(P.charAt(0))||/[,.]/.test(P.charAt(0))}function Bt(x,P,ae){return P.tokenize==W&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(P.lastType)||P.lastType=="quasi"&&/\{\s*$/.test(x.string.slice(0,x.pos-(ae||0)))}return{startState:function(x){var P={tokenize:W,lastType:"sof",cc:[],lexical:new I((x||0)-C,0,"block",!1),localVars:v.localVars,context:v.localVars&&new le(null,null,!1),indented:x||0};return v.globalVars&&typeof v.globalVars=="object"&&(P.globalVars=v.globalVars),P},token:function(x,P){if(x.sol()&&(P.lexical.hasOwnProperty("align")||(P.lexical.align=!1),P.indented=x.indentation(),re(x,P)),P.tokenize!=O&&x.eatSpace())return null;var ae=P.tokenize(x,P);return z=="comment"?ae:(P.lastType=z=="operator"&&(M=="++"||M=="--")?"incdec":z,Q(P,ae,z,M,x))},indent:function(x,P){if(x.tokenize==O||x.tokenize==G)return o.Pass;if(x.tokenize!=W)return 0;var ae=P&&P.charAt(0),he=x.lexical,ne;if(!/^\s*else\b/.test(P))for(var ye=x.cc.length-1;ye>=0;--ye){var Xe=x.cc[ye];if(Xe==Ee)he=he.prev;else if(Xe!=Hr&&Xe!=ze)break}for(;(he.type=="stat"||he.type=="form")&&(ae=="}"||(ne=x.cc[x.cc.length-1])&&(ne==Re||ne==Ge)&&!/^[,\.=+\-*:?[\(]/.test(P));)he=he.prev;b&&he.type==")"&&he.prev.type=="stat"&&(he=he.prev);var pt=he.type,Et=ae==pt;return pt=="vardef"?he.indented+(x.lastType=="operator"||x.lastType==","?he.info.length+1:0):pt=="form"&&ae=="{"?he.indented:pt=="form"?he.indented+C:pt=="stat"?he.indented+(kn(x,P)?b||C:0):he.info=="switch"&&!Et&&v.doubleIndentSwitch!=!1?he.indented+(/^(?:case|default)\b/.test(P)?C:2*C):he.align?he.column+(Et?0:1):he.indented+(Et?0:C)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:s?null:"/*",blockCommentEnd:s?null:"*/",blockCommentContinue:s?null:" * ",lineComment:s?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:s?"json":"javascript",jsonldMode:S,jsonMode:s,expressionAllowed:Bt,skipExpression:function(x){Q(x,"atom","atom","true",new o.StringStream("",2,null))}}}),o.registerHelper("wordChars","javascript",/[\w$]/),o.defineMIME("text/javascript","javascript"),o.defineMIME("text/ecmascript","javascript"),o.defineMIME("application/javascript","javascript"),o.defineMIME("application/x-javascript","javascript"),o.defineMIME("application/ecmascript","javascript"),o.defineMIME("application/json",{name:"javascript",json:!0}),o.defineMIME("application/x-json",{name:"javascript",json:!0}),o.defineMIME("application/manifest+json",{name:"javascript",json:!0}),o.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),o.defineMIME("text/typescript",{name:"javascript",typescript:!0}),o.defineMIME("application/typescript",{name:"javascript",typescript:!0})})});var Qn=Ke((Os,Ps)=>{(function(o){typeof Os=="object"&&typeof Ps=="object"?o(We(),mn(),vn(),gn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript","../css/css"],o):o(CodeMirror)})(function(o){"use strict";var p={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]};function v(T,w,c){var d=T.current(),k=d.search(w);return k>-1?T.backUp(d.length-k):d.match(/<\/?$/)&&(T.backUp(d.length),T.match(w,!1)||T.match(d)),c}var C={};function b(T){var w=C[T];return w||(C[T]=new RegExp("\\s+"+T+`\\s*=\\s*('|")?([^'"]+)('|")?\\s*`))}function S(T,w){var c=T.match(b(w));return c?/^\s*(.*?)\s*$/.exec(c[2])[1]:""}function s(T,w){return new RegExp((w?"^":"")+"","i")}function h(T,w){for(var c in T)for(var d=w[c]||(w[c]=[]),k=T[c],z=k.length-1;z>=0;z--)d.unshift(k[z])}function g(T,w){for(var c=0;c=0;M--)d.script.unshift(["type",z[M].matches,z[M].mode]);function _(W,E){var O=c.token(W,E.htmlState),G=/\btag\b/.test(O),J;if(G&&!/[<>\s\/]/.test(W.current())&&(J=E.htmlState.tagName&&E.htmlState.tagName.toLowerCase())&&d.hasOwnProperty(J))E.inTag=J+" ";else if(E.inTag&&G&&/>$/.test(W.current())){var re=/^([\S]+) (.*)/.exec(E.inTag);E.inTag=null;var q=W.current()==">"&&g(d[re[1]],re[2]),I=o.getMode(T,q),D=s(re[1],!0),Q=s(re[1],!1);E.token=function(j,V){return j.match(D,!1)?(V.token=_,V.localState=V.localMode=null,null):v(j,Q,V.localMode.token(j,V.localState))},E.localMode=I,E.localState=o.startState(I,c.indent(E.htmlState,"",""))}else E.inTag&&(E.inTag+=W.current(),W.eol()&&(E.inTag+=" "));return O}return{startState:function(){var W=o.startState(c);return{token:_,inTag:null,localMode:null,localState:null,htmlState:W}},copyState:function(W){var E;return W.localState&&(E=o.copyState(W.localMode,W.localState)),{token:W.token,inTag:W.inTag,localMode:W.localMode,localState:E,htmlState:o.copyState(c,W.htmlState)}},token:function(W,E){return E.token(W,E)},indent:function(W,E,O){return!W.localMode||/^\s*<\//.test(E)?c.indent(W.htmlState,E,O):W.localMode.indent?W.localMode.indent(W.localState,E,O):o.Pass},innerMode:function(W){return{state:W.localState||W.htmlState,mode:W.localMode||c}}}},"xml","javascript","css"),o.defineMIME("text/html","htmlmixed")})});var Rs=Ke((Bs,js)=>{(function(o){typeof Bs=="object"&&typeof js=="object"?o(We(),Qn(),Yn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../../addon/mode/overlay"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("django:inner",function(){var p=["block","endblock","for","endfor","true","false","filter","endfilter","loop","none","self","super","if","elif","endif","as","else","import","with","endwith","without","context","ifequal","endifequal","ifnotequal","endifnotequal","extends","include","load","comment","endcomment","empty","url","static","trans","blocktrans","endblocktrans","now","regroup","lorem","ifchanged","endifchanged","firstof","debug","cycle","csrf_token","autoescape","endautoescape","spaceless","endspaceless","ssi","templatetag","verbatim","endverbatim","widthratio"],v=["add","addslashes","capfirst","center","cut","date","default","default_if_none","dictsort","dictsortreversed","divisibleby","escape","escapejs","filesizeformat","first","floatformat","force_escape","get_digit","iriencode","join","last","length","length_is","linebreaks","linebreaksbr","linenumbers","ljust","lower","make_list","phone2numeric","pluralize","pprint","random","removetags","rjust","safe","safeseq","slice","slugify","stringformat","striptags","time","timesince","timeuntil","title","truncatechars","truncatechars_html","truncatewords","truncatewords_html","unordered_list","upper","urlencode","urlize","urlizetrunc","wordcount","wordwrap","yesno"],C=["==","!=","<",">","<=",">="],b=["in","not","or","and"];p=new RegExp("^\\b("+p.join("|")+")\\b"),v=new RegExp("^\\b("+v.join("|")+")\\b"),C=new RegExp("^\\b("+C.join("|")+")\\b"),b=new RegExp("^\\b("+b.join("|")+")\\b");function S(c,d){if(c.match("{{"))return d.tokenize=h,"tag";if(c.match("{%"))return d.tokenize=g,"tag";if(c.match("{#"))return d.tokenize=T,"comment";for(;c.next()!=null&&!c.match(/\{[{%#]/,!1););return null}function s(c,d){return function(k,z){if(!z.escapeNext&&k.eat(c))z.tokenize=d;else{z.escapeNext&&(z.escapeNext=!1);var M=k.next();M=="\\"&&(z.escapeNext=!0)}return"string"}}function h(c,d){if(d.waitDot){if(d.waitDot=!1,c.peek()!=".")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("."))return d.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(d.waitPipe){if(d.waitPipe=!1,c.peek()!="|")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("|"))return d.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}return d.waitProperty&&(d.waitProperty=!1,c.match(/\b(\w+)\b/))?(d.waitDot=!0,d.waitPipe=!0,"property"):d.waitFilter&&(d.waitFilter=!1,c.match(v))?"variable-2":c.eatSpace()?(d.waitProperty=!1,"null"):c.match(/\b\d+(\.\d+)?\b/)?"number":c.match("'")?(d.tokenize=s("'",d.tokenize),"string"):c.match('"')?(d.tokenize=s('"',d.tokenize),"string"):c.match(/\b(\w+)\b/)&&!d.foundVariable?(d.waitDot=!0,d.waitPipe=!0,"variable"):c.match("}}")?(d.waitProperty=null,d.waitFilter=null,d.waitDot=null,d.waitPipe=null,d.tokenize=S,"tag"):(c.next(),"null")}function g(c,d){if(d.waitDot){if(d.waitDot=!1,c.peek()!=".")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("."))return d.waitProperty=!0,"null";throw Error("Unexpected error while waiting for property.")}if(d.waitPipe){if(d.waitPipe=!1,c.peek()!="|")return"null";if(c.match(/\.\W+/))return"error";if(c.eat("|"))return d.waitFilter=!0,"null";throw Error("Unexpected error while waiting for filter.")}if(d.waitProperty&&(d.waitProperty=!1,c.match(/\b(\w+)\b/)))return d.waitDot=!0,d.waitPipe=!0,"property";if(d.waitFilter&&(d.waitFilter=!1,c.match(v)))return"variable-2";if(c.eatSpace())return d.waitProperty=!1,"null";if(c.match(/\b\d+(\.\d+)?\b/))return"number";if(c.match("'"))return d.tokenize=s("'",d.tokenize),"string";if(c.match('"'))return d.tokenize=s('"',d.tokenize),"string";if(c.match(C))return"operator";if(c.match(b))return"keyword";var k=c.match(p);return k?(k[0]=="comment"&&(d.blockCommentTag=!0),"keyword"):c.match(/\b(\w+)\b/)?(d.waitDot=!0,d.waitPipe=!0,"variable"):c.match("%}")?(d.waitProperty=null,d.waitFilter=null,d.waitDot=null,d.waitPipe=null,d.blockCommentTag?(d.blockCommentTag=!1,d.tokenize=w):d.tokenize=S,"tag"):(c.next(),"null")}function T(c,d){return c.match(/^.*?#\}/)?d.tokenize=S:c.skipToEnd(),"comment"}function w(c,d){return c.match(/\{%\s*endcomment\s*%\}/,!1)?(d.tokenize=g,c.match("{%"),"tag"):(c.next(),"comment")}return{startState:function(){return{tokenize:S}},token:function(c,d){return d.tokenize(c,d)},blockCommentStart:"{% comment %}",blockCommentEnd:"{% endcomment %}"}}),o.defineMode("django",function(p){var v=o.getMode(p,"text/html"),C=o.getMode(p,"django:inner");return o.overlayMode(v,C)}),o.defineMIME("text/x-django","django")})});var Di=Ke((Hs,Ws)=>{(function(o){typeof Hs=="object"&&typeof Ws=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode=function(w,c){o.defineMode(w,function(d){return o.simpleMode(d,c)})},o.simpleMode=function(w,c){p(c,"start");var d={},k=c.meta||{},z=!1;for(var M in c)if(M!=k&&c.hasOwnProperty(M))for(var _=d[M]=[],W=c[M],E=0;E2&&O.token&&typeof O.token!="string"){for(var re=2;re-1)return o.Pass;var M=d.indent.length-1,_=w[d.state];e:for(;;){for(var W=0;W<_.length;W++){var E=_[W];if(E.data.dedent&&E.data.dedentIfLineStart!==!1){var O=E.regex.exec(k);if(O&&O[0]){M--,(E.next||E.push)&&(_=w[E.next||E.push]),k=k.slice(O[0].length);continue e}}}break}return M<0?0:d.indent[M]}}})});var Ks=Ke((Us,$s)=>{(function(o){typeof Us=="object"&&typeof $s=="object"?o(We(),Di()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],o):o(CodeMirror)})(function(o){"use strict";var p="from",v=new RegExp("^(\\s*)\\b("+p+")\\b","i"),C=["run","cmd","entrypoint","shell"],b=new RegExp("^(\\s*)("+C.join("|")+")(\\s+\\[)","i"),S="expose",s=new RegExp("^(\\s*)("+S+")(\\s+)","i"),h=["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"],g=[p,S].concat(C).concat(h),T="("+g.join("|")+")",w=new RegExp("^(\\s*)"+T+"(\\s*)(#.*)?$","i"),c=new RegExp("^(\\s*)"+T+"(\\s+)","i");o.defineSimpleMode("dockerfile",{start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:v,token:[null,"keyword"],sol:!0,next:"from"},{regex:w,token:[null,"keyword",null,"error"],sol:!0},{regex:b,token:[null,"keyword",null],sol:!0,next:"array"},{regex:s,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:c,token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],meta:{lineComment:"#"}}),o.defineMIME("text/x-dockerfile","dockerfile")})});var Xs=Ke((Gs,Zs)=>{(function(o){typeof Gs=="object"&&typeof Zs=="object"?o(We()):typeof define=="function"&&define.amd?define(["../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var p=0;p-1&&C.substring(s+1,C.length);if(h)return o.findModeByExtension(h)},o.findModeByName=function(C){C=C.toLowerCase();for(var b=0;b{(function(o){typeof Ys=="object"&&typeof Qs=="object"?o(We(),mn(),Xs()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../meta"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("markdown",function(p,v){var C=o.getMode(p,"text/html"),b=C.name=="null";function S(F){if(o.findModeByName){var L=o.findModeByName(F);L&&(F=L.mime||L.mimes[0])}var de=o.getMode(p,F);return de.name=="null"?null:de}v.highlightFormatting===void 0&&(v.highlightFormatting=!1),v.maxBlockquoteDepth===void 0&&(v.maxBlockquoteDepth=0),v.taskLists===void 0&&(v.taskLists=!1),v.strikethrough===void 0&&(v.strikethrough=!1),v.emoji===void 0&&(v.emoji=!1),v.fencedCodeBlockHighlighting===void 0&&(v.fencedCodeBlockHighlighting=!0),v.fencedCodeBlockDefaultMode===void 0&&(v.fencedCodeBlockDefaultMode="text/plain"),v.xml===void 0&&(v.xml=!0),v.tokenTypeOverrides===void 0&&(v.tokenTypeOverrides={});var s={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var h in s)s.hasOwnProperty(h)&&v.tokenTypeOverrides[h]&&(s[h]=v.tokenTypeOverrides[h]);var g=/^([*\-_])(?:\s*\1){2,}\s*$/,T=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,w=/^\[(x| )\](?=\s)/i,c=v.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,d=/^ {0,3}(?:\={1,}|-{2,})\s*$/,k=/^[^#!\[\]*_\\<>` "'(~:]+/,z=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,M=/^\s*\[[^\]]+?\]:.*$/,_=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,W=" ";function E(F,L,de){return L.f=L.inline=de,de(F,L)}function O(F,L,de){return L.f=L.block=de,de(F,L)}function G(F){return!F||!/\S/.test(F.string)}function J(F){if(F.linkTitle=!1,F.linkHref=!1,F.linkText=!1,F.em=!1,F.strong=!1,F.strikethrough=!1,F.quote=0,F.indentedCode=!1,F.f==q){var L=b;if(!L){var de=o.innerMode(C,F.htmlState);L=de.mode.name=="xml"&&de.state.tagStart===null&&!de.state.context&&de.state.tokenize.isInText}L&&(F.f=j,F.block=re,F.htmlState=null)}return F.trailingSpace=0,F.trailingSpaceNewLine=!1,F.prevLine=F.thisLine,F.thisLine={stream:null},null}function re(F,L){var de=F.column()===L.indentation,ze=G(L.prevLine.stream),pe=L.indentedCode,Ee=L.prevLine.hr,ge=L.list!==!1,Oe=(L.listStack[L.listStack.length-1]||0)+3;L.indentedCode=!1;var qe=L.indentation;if(L.indentationDiff===null&&(L.indentationDiff=L.indentation,ge)){for(L.list=null;qe=4&&(pe||L.prevLine.fencedCodeEnd||L.prevLine.header||ze))return F.skipToEnd(),L.indentedCode=!0,s.code;if(F.eatSpace())return null;if(de&&L.indentation<=Oe&&(Ze=F.match(c))&&Ze[1].length<=6)return L.quote=0,L.header=Ze[1].length,L.thisLine.header=!0,v.highlightFormatting&&(L.formatting="header"),L.f=L.inline,D(L);if(L.indentation<=Oe&&F.eat(">"))return L.quote=de?1:L.quote+1,v.highlightFormatting&&(L.formatting="quote"),F.eatSpace(),D(L);if(!Be&&!L.setext&&de&&L.indentation<=Oe&&(Ze=F.match(T))){var ke=Ze[1]?"ol":"ul";return L.indentation=qe+F.current().length,L.list=!0,L.quote=0,L.listStack.push(L.indentation),L.em=!1,L.strong=!1,L.code=!1,L.strikethrough=!1,v.taskLists&&F.match(w,!1)&&(L.taskList=!0),L.f=L.inline,v.highlightFormatting&&(L.formatting=["list","list-"+ke]),D(L)}else{if(de&&L.indentation<=Oe&&(Ze=F.match(z,!0)))return L.quote=0,L.fencedEndRE=new RegExp(Ze[1]+"+ *$"),L.localMode=v.fencedCodeBlockHighlighting&&S(Ze[2]||v.fencedCodeBlockDefaultMode),L.localMode&&(L.localState=o.startState(L.localMode)),L.f=L.block=I,v.highlightFormatting&&(L.formatting="code-block"),L.code=-1,D(L);if(L.setext||(!Se||!ge)&&!L.quote&&L.list===!1&&!L.code&&!Be&&!M.test(F.string)&&(Ze=F.lookAhead(1))&&(Ze=Ze.match(d)))return L.setext?(L.header=L.setext,L.setext=0,F.skipToEnd(),v.highlightFormatting&&(L.formatting="header")):(L.header=Ze[0].charAt(0)=="="?1:2,L.setext=L.header),L.thisLine.header=!0,L.f=L.inline,D(L);if(Be)return F.skipToEnd(),L.hr=!0,L.thisLine.hr=!0,s.hr;if(F.peek()==="[")return E(F,L,N)}return E(F,L,L.inline)}function q(F,L){var de=C.token(F,L.htmlState);if(!b){var ze=o.innerMode(C,L.htmlState);(ze.mode.name=="xml"&&ze.state.tagStart===null&&!ze.state.context&&ze.state.tokenize.isInText||L.md_inside&&F.current().indexOf(">")>-1)&&(L.f=j,L.block=re,L.htmlState=null)}return de}function I(F,L){var de=L.listStack[L.listStack.length-1]||0,ze=L.indentation=F.quote?L.push(s.formatting+"-"+F.formatting[de]+"-"+F.quote):L.push("error"))}if(F.taskOpen)return L.push("meta"),L.length?L.join(" "):null;if(F.taskClosed)return L.push("property"),L.length?L.join(" "):null;if(F.linkHref?L.push(s.linkHref,"url"):(F.strong&&L.push(s.strong),F.em&&L.push(s.em),F.strikethrough&&L.push(s.strikethrough),F.emoji&&L.push(s.emoji),F.linkText&&L.push(s.linkText),F.code&&L.push(s.code),F.image&&L.push(s.image),F.imageAltText&&L.push(s.imageAltText,"link"),F.imageMarker&&L.push(s.imageMarker)),F.header&&L.push(s.header,s.header+"-"+F.header),F.quote&&(L.push(s.quote),!v.maxBlockquoteDepth||v.maxBlockquoteDepth>=F.quote?L.push(s.quote+"-"+F.quote):L.push(s.quote+"-"+v.maxBlockquoteDepth)),F.list!==!1){var ze=(F.listStack.length-1)%3;ze?ze===1?L.push(s.list2):L.push(s.list3):L.push(s.list1)}return F.trailingSpaceNewLine?L.push("trailing-space-new-line"):F.trailingSpace&&L.push("trailing-space-"+(F.trailingSpace%2?"a":"b")),L.length?L.join(" "):null}function Q(F,L){if(F.match(k,!0))return D(L)}function j(F,L){var de=L.text(F,L);if(typeof de<"u")return de;if(L.list)return L.list=null,D(L);if(L.taskList){var ze=F.match(w,!0)[1]===" ";return ze?L.taskOpen=!0:L.taskClosed=!0,v.highlightFormatting&&(L.formatting="task"),L.taskList=!1,D(L)}if(L.taskOpen=!1,L.taskClosed=!1,L.header&&F.match(/^#+$/,!0))return v.highlightFormatting&&(L.formatting="header"),D(L);var pe=F.next();if(L.linkTitle){L.linkTitle=!1;var Ee=pe;pe==="("&&(Ee=")"),Ee=(Ee+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var ge="^\\s*(?:[^"+Ee+"\\\\]+|\\\\\\\\|\\\\.)"+Ee;if(F.match(new RegExp(ge),!0))return s.linkHref}if(pe==="`"){var Oe=L.formatting;v.highlightFormatting&&(L.formatting="code"),F.eatWhile("`");var qe=F.current().length;if(L.code==0&&(!L.quote||qe==1))return L.code=qe,D(L);if(qe==L.code){var Se=D(L);return L.code=0,Se}else return L.formatting=Oe,D(L)}else if(L.code)return D(L);if(pe==="\\"&&(F.next(),v.highlightFormatting)){var Be=D(L),Ze=s.formatting+"-escape";return Be?Be+" "+Ze:Ze}if(pe==="!"&&F.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return L.imageMarker=!0,L.image=!0,v.highlightFormatting&&(L.formatting="image"),D(L);if(pe==="["&&L.imageMarker&&F.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return L.imageMarker=!1,L.imageAltText=!0,v.highlightFormatting&&(L.formatting="image"),D(L);if(pe==="]"&&L.imageAltText){v.highlightFormatting&&(L.formatting="image");var Be=D(L);return L.imageAltText=!1,L.image=!1,L.inline=L.f=y,Be}if(pe==="["&&!L.image)return L.linkText&&F.match(/^.*?\]/)||(L.linkText=!0,v.highlightFormatting&&(L.formatting="link")),D(L);if(pe==="]"&&L.linkText){v.highlightFormatting&&(L.formatting="link");var Be=D(L);return L.linkText=!1,L.inline=L.f=F.match(/\(.*?\)| ?\[.*?\]/,!1)?y:j,Be}if(pe==="<"&&F.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){L.f=L.inline=V,v.highlightFormatting&&(L.formatting="link");var Be=D(L);return Be?Be+=" ":Be="",Be+s.linkInline}if(pe==="<"&&F.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){L.f=L.inline=V,v.highlightFormatting&&(L.formatting="link");var Be=D(L);return Be?Be+=" ":Be="",Be+s.linkEmail}if(v.xml&&pe==="<"&&F.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var ke=F.string.indexOf(">",F.pos);if(ke!=-1){var Je=F.string.substring(F.start,ke);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Je)&&(L.md_inside=!0)}return F.backUp(1),L.htmlState=o.startState(C),O(F,L,q)}if(v.xml&&pe==="<"&&F.match(/^\/\w*?>/))return L.md_inside=!1,"tag";if(pe==="*"||pe==="_"){for(var Re=1,Ge=F.pos==1?" ":F.string.charAt(F.pos-2);Re<3&&F.eat(pe);)Re++;var U=F.peek()||" ",Z=!/\s/.test(U)&&(!_.test(U)||/\s/.test(Ge)||_.test(Ge)),ce=!/\s/.test(Ge)&&(!_.test(Ge)||/\s/.test(U)||_.test(U)),He=null,te=null;if(Re%2&&(!L.em&&Z&&(pe==="*"||!ce||_.test(Ge))?He=!0:L.em==pe&&ce&&(pe==="*"||!Z||_.test(U))&&(He=!1)),Re>1&&(!L.strong&&Z&&(pe==="*"||!ce||_.test(Ge))?te=!0:L.strong==pe&&ce&&(pe==="*"||!Z||_.test(U))&&(te=!1)),te!=null||He!=null){v.highlightFormatting&&(L.formatting=He==null?"strong":te==null?"em":"strong em"),He===!0&&(L.em=pe),te===!0&&(L.strong=pe);var Se=D(L);return He===!1&&(L.em=!1),te===!1&&(L.strong=!1),Se}}else if(pe===" "&&(F.eat("*")||F.eat("_"))){if(F.peek()===" ")return D(L);F.backUp(1)}if(v.strikethrough){if(pe==="~"&&F.eatWhile(pe)){if(L.strikethrough){v.highlightFormatting&&(L.formatting="strikethrough");var Se=D(L);return L.strikethrough=!1,Se}else if(F.match(/^[^\s]/,!1))return L.strikethrough=!0,v.highlightFormatting&&(L.formatting="strikethrough"),D(L)}else if(pe===" "&&F.match("~~",!0)){if(F.peek()===" ")return D(L);F.backUp(2)}}if(v.emoji&&pe===":"&&F.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){L.emoji=!0,v.highlightFormatting&&(L.formatting="emoji");var fe=D(L);return L.emoji=!1,fe}return pe===" "&&(F.match(/^ +$/,!1)?L.trailingSpace++:L.trailingSpace&&(L.trailingSpaceNewLine=!0)),D(L)}function V(F,L){var de=F.next();if(de===">"){L.f=L.inline=j,v.highlightFormatting&&(L.formatting="link");var ze=D(L);return ze?ze+=" ":ze="",ze+s.linkInline}return F.match(/^[^>]+/,!0),s.linkInline}function y(F,L){if(F.eatSpace())return null;var de=F.next();return de==="("||de==="["?(L.f=L.inline=X(de==="("?")":"]"),v.highlightFormatting&&(L.formatting="link-string"),L.linkHref=!0,D(L)):"error"}var K={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function X(F){return function(L,de){var ze=L.next();if(ze===F){de.f=de.inline=j,v.highlightFormatting&&(de.formatting="link-string");var pe=D(de);return de.linkHref=!1,pe}return L.match(K[F]),de.linkHref=!0,D(de)}}function N(F,L){return F.match(/^([^\]\\]|\\.)*\]:/,!1)?(L.f=R,F.next(),v.highlightFormatting&&(L.formatting="link"),L.linkText=!0,D(L)):E(F,L,j)}function R(F,L){if(F.match("]:",!0)){L.f=L.inline=le,v.highlightFormatting&&(L.formatting="link");var de=D(L);return L.linkText=!1,de}return F.match(/^([^\]\\]|\\.)+/,!0),s.linkText}function le(F,L){return F.eatSpace()?null:(F.match(/^[^\s]+/,!0),F.peek()===void 0?L.linkTitle=!0:F.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),L.f=L.inline=j,s.linkHref+" url")}var xe={startState:function(){return{f:re,prevLine:{stream:null},thisLine:{stream:null},block:re,htmlState:null,indentation:0,inline:j,text:Q,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(F){return{f:F.f,prevLine:F.prevLine,thisLine:F.thisLine,block:F.block,htmlState:F.htmlState&&o.copyState(C,F.htmlState),indentation:F.indentation,localMode:F.localMode,localState:F.localMode?o.copyState(F.localMode,F.localState):null,inline:F.inline,text:F.text,formatting:!1,linkText:F.linkText,linkTitle:F.linkTitle,linkHref:F.linkHref,code:F.code,em:F.em,strong:F.strong,strikethrough:F.strikethrough,emoji:F.emoji,header:F.header,setext:F.setext,hr:F.hr,taskList:F.taskList,list:F.list,listStack:F.listStack.slice(0),quote:F.quote,indentedCode:F.indentedCode,trailingSpace:F.trailingSpace,trailingSpaceNewLine:F.trailingSpaceNewLine,md_inside:F.md_inside,fencedEndRE:F.fencedEndRE}},token:function(F,L){if(L.formatting=!1,F!=L.thisLine.stream){if(L.header=0,L.hr=!1,F.match(/^\s*$/,!0))return J(L),null;if(L.prevLine=L.thisLine,L.thisLine={stream:F},L.taskList=!1,L.trailingSpace=0,L.trailingSpaceNewLine=!1,!L.localState&&(L.f=L.block,L.f!=q)){var de=F.match(/^\s*/,!0)[0].replace(/\t/g,W).length;if(L.indentation=de,L.indentationDiff=null,de>0)return null}}return L.f(F,L)},innerMode:function(F){return F.block==q?{state:F.htmlState,mode:C}:F.localState?{state:F.localState,mode:F.localMode}:{state:F,mode:xe}},indent:function(F,L,de){return F.block==q&&C.indent?C.indent(F.htmlState,L,de):F.localState&&F.localMode.indent?F.localMode.indent(F.localState,L,de):o.Pass},blankLine:J,getType:D,blockCommentStart:"",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return xe},"xml"),o.defineMIME("text/markdown","markdown"),o.defineMIME("text/x-markdown","markdown")})});var eu=Ke((Vs,Js)=>{(function(o){typeof Vs=="object"&&typeof Js=="object"?o(We(),Jo(),Yn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../markdown/markdown","../../addon/mode/overlay"],o):o(CodeMirror)})(function(o){"use strict";var p=/^((?:(?:aaas?|about|acap|adiumxtra|af[ps]|aim|apt|attachment|aw|beshare|bitcoin|bolo|callto|cap|chrome(?:-extension)?|cid|coap|com-eventbrite-attendee|content|crid|cvs|data|dav|dict|dlna-(?:playcontainer|playsingle)|dns|doi|dtn|dvb|ed2k|facetime|feed|file|finger|fish|ftp|geo|gg|git|gizmoproject|go|gopher|gtalk|h323|hcp|https?|iax|icap|icon|im|imap|info|ipn|ipp|irc[6s]?|iris(?:\.beep|\.lwz|\.xpc|\.xpcs)?|itms|jar|javascript|jms|keyparc|lastfm|ldaps?|magnet|mailto|maps|market|message|mid|mms|ms-help|msnim|msrps?|mtqp|mumble|mupdate|mvn|news|nfs|nih?|nntp|notes|oid|opaquelocktoken|palm|paparazzi|platform|pop|pres|proxy|psyc|query|res(?:ource)?|rmi|rsync|rtmp|rtsp|secondlife|service|session|sftp|sgn|shttp|sieve|sips?|skype|sm[bs]|snmp|soap\.beeps?|soldat|spotify|ssh|steam|svn|tag|teamspeak|tel(?:net)?|tftp|things|thismessage|tip|tn3270|tv|udp|unreal|urn|ut2004|vemmi|ventrilo|view-source|webcal|wss?|wtai|wyciwyg|xcon(?:-userid)?|xfire|xmlrpc\.beeps?|xmpp|xri|ymsgr|z39\.50[rs]?):(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]|\([^\s()<>]*\))+(?:\([^\s()<>]*\)|[^\s`*!()\[\]{};:'".,<>?«»“”‘’]))/i;o.defineMode("gfm",function(v,C){var b=0;function S(T){return T.code=!1,null}var s={startState:function(){return{code:!1,codeBlock:!1,ateSpace:!1}},copyState:function(T){return{code:T.code,codeBlock:T.codeBlock,ateSpace:T.ateSpace}},token:function(T,w){if(w.combineTokens=null,w.codeBlock)return T.match(/^```+/)?(w.codeBlock=!1,null):(T.skipToEnd(),null);if(T.sol()&&(w.code=!1),T.sol()&&T.match(/^```+/))return T.skipToEnd(),w.codeBlock=!0,null;if(T.peek()==="`"){T.next();var c=T.pos;T.eatWhile("`");var d=1+T.pos-c;return w.code?d===b&&(w.code=!1):(b=d,w.code=!0),null}else if(w.code)return T.next(),null;if(T.eatSpace())return w.ateSpace=!0,null;if((T.sol()||w.ateSpace)&&(w.ateSpace=!1,C.gitHubSpice!==!1)){if(T.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+@)?(?=.{0,6}\d)(?:[a-f0-9]{7,40}\b)/))return w.combineTokens=!0,"link";if(T.match(/^(?:[a-zA-Z0-9\-_]+\/)?(?:[a-zA-Z0-9\-_]+)?#[0-9]+\b/))return w.combineTokens=!0,"link"}return T.match(p)&&T.string.slice(T.start-2,T.start)!="]("&&(T.start==0||/\W/.test(T.string.charAt(T.start-1)))?(w.combineTokens=!0,"link"):(T.next(),null)},blankLine:S},h={taskLists:!0,strikethrough:!0,emoji:!0};for(var g in C)h[g]=C[g];return h.name="markdown",o.overlayMode(o.getMode(v,h),s)},"markdown"),o.defineMIME("text/x-gfm","gfm")})});var nu=Ke((tu,ru)=>{(function(o){typeof tu=="object"&&typeof ru=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("go",function(p){var v=p.indentUnit,C={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},b={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},S=/[+\-*&^%:=<>!|\/]/,s;function h(k,z){var M=k.next();if(M=='"'||M=="'"||M=="`")return z.tokenize=g(M),z.tokenize(k,z);if(/[\d\.]/.test(M))return M=="."?k.match(/^[0-9_]+([eE][\-+]?[0-9_]+)?/):M=="0"?k.match(/^[xX][0-9a-fA-F_]+/)||k.match(/^[0-7_]+/):k.match(/^[0-9_]*\.?[0-9_]*([eE][\-+]?[0-9_]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(M))return s=M,null;if(M=="/"){if(k.eat("*"))return z.tokenize=T,T(k,z);if(k.eat("/"))return k.skipToEnd(),"comment"}if(S.test(M))return k.eatWhile(S),"operator";k.eatWhile(/[\w\$_\xa1-\uffff]/);var _=k.current();return C.propertyIsEnumerable(_)?((_=="case"||_=="default")&&(s="case"),"keyword"):b.propertyIsEnumerable(_)?"atom":"variable"}function g(k){return function(z,M){for(var _=!1,W,E=!1;(W=z.next())!=null;){if(W==k&&!_){E=!0;break}_=!_&&k!="`"&&W=="\\"}return(E||!(_||k=="`"))&&(M.tokenize=h),"string"}}function T(k,z){for(var M=!1,_;_=k.next();){if(_=="/"&&M){z.tokenize=h;break}M=_=="*"}return"comment"}function w(k,z,M,_,W){this.indented=k,this.column=z,this.type=M,this.align=_,this.prev=W}function c(k,z,M){return k.context=new w(k.indented,z,M,null,k.context)}function d(k){if(k.context.prev){var z=k.context.type;return(z==")"||z=="]"||z=="}")&&(k.indented=k.context.indented),k.context=k.context.prev}}return{startState:function(k){return{tokenize:null,context:new w((k||0)-v,0,"top",!1),indented:0,startOfLine:!0}},token:function(k,z){var M=z.context;if(k.sol()&&(M.align==null&&(M.align=!1),z.indented=k.indentation(),z.startOfLine=!0,M.type=="case"&&(M.type="}")),k.eatSpace())return null;s=null;var _=(z.tokenize||h)(k,z);return _=="comment"||(M.align==null&&(M.align=!0),s=="{"?c(z,k.column(),"}"):s=="["?c(z,k.column(),"]"):s=="("?c(z,k.column(),")"):s=="case"?M.type="case":(s=="}"&&M.type=="}"||s==M.type)&&d(z),z.startOfLine=!1),_},indent:function(k,z){if(k.tokenize!=h&&k.tokenize!=null)return o.Pass;var M=k.context,_=z&&z.charAt(0);if(M.type=="case"&&/^(?:case|default)\b/.test(z))return k.context.type="}",M.indented;var W=_==M.type;return M.align?M.column+(W?0:1):M.indented+(W?0:v)},electricChars:"{}):",closeBrackets:"()[]{}''\"\"``",fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}}),o.defineMIME("text/x-go","go")})});var au=Ke((iu,ou)=>{(function(o){typeof iu=="object"&&typeof ou=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("http",function(){function p(T,w){return T.skipToEnd(),w.cur=h,"error"}function v(T,w){return T.match(/^HTTP\/\d\.\d/)?(w.cur=C,"keyword"):T.match(/^[A-Z]+/)&&/[ \t]/.test(T.peek())?(w.cur=S,"keyword"):p(T,w)}function C(T,w){var c=T.match(/^\d+/);if(!c)return p(T,w);w.cur=b;var d=Number(c[0]);return d>=100&&d<200?"positive informational":d>=200&&d<300?"positive success":d>=300&&d<400?"positive redirect":d>=400&&d<500?"negative client-error":d>=500&&d<600?"negative server-error":"error"}function b(T,w){return T.skipToEnd(),w.cur=h,null}function S(T,w){return T.eatWhile(/\S/),w.cur=s,"string-2"}function s(T,w){return T.match(/^HTTP\/\d\.\d$/)?(w.cur=h,"keyword"):p(T,w)}function h(T){return T.sol()&&!T.eat(/[ \t]/)?T.match(/^.*?:/)?"atom":(T.skipToEnd(),"error"):(T.skipToEnd(),"string")}function g(T){return T.skipToEnd(),null}return{token:function(T,w){var c=w.cur;return c!=h&&c!=g&&T.eatSpace()?null:c(T,w)},blankLine:function(T){T.cur=g},startState:function(){return{cur:v}}}}),o.defineMIME("message/http","http")})});var uu=Ke((lu,su)=>{(function(o){typeof lu=="object"&&typeof su=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("jinja2",function(){var p=["and","as","block","endblock","by","cycle","debug","else","elif","extends","filter","endfilter","firstof","do","for","endfor","if","endif","ifchanged","endifchanged","ifequal","endifequal","ifnotequal","set","raw","endraw","endifnotequal","in","include","load","not","now","or","parsed","regroup","reversed","spaceless","call","endcall","macro","endmacro","endspaceless","ssi","templatetag","openblock","closeblock","openvariable","closevariable","without","context","openbrace","closebrace","opencomment","closecomment","widthratio","url","with","endwith","get_current_language","trans","endtrans","noop","blocktrans","endblocktrans","get_available_languages","get_current_language_bidi","pluralize","autoescape","endautoescape"],v=/^[+\-*&%=<>!?|~^]/,C=/^[:\[\(\{]/,b=["true","false"],S=/^(\d[+\-\*\/])?\d+(\.\d+)?/;p=new RegExp("(("+p.join(")|(")+"))\\b"),b=new RegExp("(("+b.join(")|(")+"))\\b");function s(h,g){var T=h.peek();if(g.incomment)return h.skipTo("#}")?(h.eatWhile(/\#|}/),g.incomment=!1):h.skipToEnd(),"comment";if(g.intag){if(g.operator){if(g.operator=!1,h.match(b))return"atom";if(h.match(S))return"number"}if(g.sign){if(g.sign=!1,h.match(b))return"atom";if(h.match(S))return"number"}if(g.instring)return T==g.instring&&(g.instring=!1),h.next(),"string";if(T=="'"||T=='"')return g.instring=T,h.next(),"string";if(g.inbraces>0&&T==")")h.next(),g.inbraces--;else if(T=="(")h.next(),g.inbraces++;else if(g.inbrackets>0&&T=="]")h.next(),g.inbrackets--;else if(T=="[")h.next(),g.inbrackets++;else{if(!g.lineTag&&(h.match(g.intag+"}")||h.eat("-")&&h.match(g.intag+"}")))return g.intag=!1,"tag";if(h.match(v))return g.operator=!0,"operator";if(h.match(C))g.sign=!0;else{if(h.column()==1&&g.lineTag&&h.match(p))return"keyword";if(h.eat(" ")||h.sol()){if(h.match(p))return"keyword";if(h.match(b))return"atom";if(h.match(S))return"number";h.sol()&&h.next()}else h.next()}}return"variable"}else if(h.eat("{")){if(h.eat("#"))return g.incomment=!0,h.skipTo("#}")?(h.eatWhile(/\#|}/),g.incomment=!1):h.skipToEnd(),"comment";if(T=h.eat(/\{|%/))return g.intag=T,g.inbraces=0,g.inbrackets=0,T=="{"&&(g.intag="}"),h.eat("-"),"tag"}else if(h.eat("#")){if(h.peek()=="#")return h.skipToEnd(),"comment";if(!h.eol())return g.intag=!0,g.lineTag=!0,g.inbraces=0,g.inbrackets=0,"tag"}h.next()}return{startState:function(){return{tokenize:s,inbrackets:0,inbraces:0}},token:function(h,g){var T=g.tokenize(h,g);return h.eol()&&g.lineTag&&!g.instring&&g.inbraces==0&&g.inbrackets==0&&(g.intag=!1,g.lineTag=!1),T},blockCommentStart:"{#",blockCommentEnd:"#}",lineComment:"##"}}),o.defineMIME("text/jinja2","jinja2")})});var du=Ke((cu,fu)=>{(function(o){typeof cu=="object"&&typeof fu=="object"?o(We(),mn(),vn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../xml/xml","../javascript/javascript"],o):o(CodeMirror)})(function(o){"use strict";function p(C,b,S,s){this.state=C,this.mode=b,this.depth=S,this.prev=s}function v(C){return new p(o.copyState(C.mode,C.state),C.mode,C.depth,C.prev&&v(C.prev))}o.defineMode("jsx",function(C,b){var S=o.getMode(C,{name:"xml",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),s=o.getMode(C,b&&b.base||"javascript");function h(c){var d=c.tagName;c.tagName=null;var k=S.indent(c,"","");return c.tagName=d,k}function g(c,d){return d.context.mode==S?T(c,d,d.context):w(c,d,d.context)}function T(c,d,k){if(k.depth==2)return c.match(/^.*?\*\//)?k.depth=1:c.skipToEnd(),"comment";if(c.peek()=="{"){S.skipAttribute(k.state);var z=h(k.state),M=k.state.context;if(M&&c.match(/^[^>]*>\s*$/,!1)){for(;M.prev&&!M.startOfLine;)M=M.prev;M.startOfLine?z-=C.indentUnit:k.prev.state.lexical&&(z=k.prev.state.lexical.indented)}else k.depth==1&&(z+=C.indentUnit);return d.context=new p(o.startState(s,z),s,0,d.context),null}if(k.depth==1){if(c.peek()=="<")return S.skipAttribute(k.state),d.context=new p(o.startState(S,h(k.state)),S,0,d.context),null;if(c.match("//"))return c.skipToEnd(),"comment";if(c.match("/*"))return k.depth=2,g(c,d)}var _=S.token(c,k.state),W=c.current(),E;return/\btag\b/.test(_)?/>$/.test(W)?k.state.context?k.depth=0:d.context=d.context.prev:/^-1&&c.backUp(W.length-E),_}function w(c,d,k){if(c.peek()=="<"&&!c.match(/^<([^<>]|<[^>]*>)+,\s*>/,!1)&&s.expressionAllowed(c,k.state))return d.context=new p(o.startState(S,s.indent(k.state,"","")),S,0,d.context),s.skipExpression(k.state),null;var z=s.token(c,k.state);if(!z&&k.depth!=null){var M=c.current();M=="{"?k.depth++:M=="}"&&--k.depth==0&&(d.context=d.context.prev)}return z}return{startState:function(){return{context:new p(o.startState(s),s)}},copyState:function(c){return{context:v(c.context)}},token:g,indent:function(c,d,k){return c.context.mode.indent(c.context.state,d,k)},innerMode:function(c){return c.context}}},"xml","javascript"),o.defineMIME("text/jsx","jsx"),o.defineMIME("text/typescript-jsx",{name:"jsx",base:{name:"javascript",typescript:!0}})})});var gu=Ke((pu,hu)=>{(function(o){typeof pu=="object"&&typeof hu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("nginx",function(p){function v(k){for(var z={},M=k.split(" "),_=0;_*\/]/.test(_)?g(null,"select-op"):/[;{}:\[\]]/.test(_)?g(null,_):(k.eatWhile(/[\w\\\-]/),g("variable","variable"))}function w(k,z){for(var M=!1,_;(_=k.next())!=null;){if(M&&_=="/"){z.tokenize=T;break}M=_=="*"}return g("comment","comment")}function c(k,z){for(var M=0,_;(_=k.next())!=null;){if(M>=2&&_==">"){z.tokenize=T;break}M=_=="-"?M+1:0}return g("comment","comment")}function d(k){return function(z,M){for(var _=!1,W;(W=z.next())!=null&&!(W==k&&!_);)_=!_&&W=="\\";return _||(M.tokenize=T),g("string","string")}}return{startState:function(k){return{tokenize:T,baseIndent:k||0,stack:[]}},token:function(k,z){if(k.eatSpace())return null;h=null;var M=z.tokenize(k,z),_=z.stack[z.stack.length-1];return h=="hash"&&_=="rule"?M="atom":M=="variable"&&(_=="rule"?M="number":(!_||_=="@media{")&&(M="tag")),_=="rule"&&/^[\{\};]$/.test(h)&&z.stack.pop(),h=="{"?_=="@media"?z.stack[z.stack.length-1]="@media{":z.stack.push("{"):h=="}"?z.stack.pop():h=="@media"?z.stack.push("@media"):_=="{"&&h!="comment"&&z.stack.push("rule"),M},indent:function(k,z){var M=k.stack.length;return/^\}/.test(z)&&(M-=k.stack[k.stack.length-1]=="rule"?2:1),k.baseIndent+M*s},electricChars:"}"}}),o.defineMIME("text/x-nginx-conf","nginx")})});var bu=Ke((mu,vu)=>{(function(o){typeof mu=="object"&&typeof vu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("pascal",function(){function p(T){for(var w={},c=T.split(" "),d=0;d!?|\/]/;function S(T,w){var c=T.next();if(c=="#"&&w.startOfLine)return T.skipToEnd(),"meta";if(c=='"'||c=="'")return w.tokenize=s(c),w.tokenize(T,w);if(c=="("&&T.eat("*"))return w.tokenize=h,h(T,w);if(c=="{")return w.tokenize=g,g(T,w);if(/[\[\]\(\),;\:\.]/.test(c))return null;if(/\d/.test(c))return T.eatWhile(/[\w\.]/),"number";if(c=="/"&&T.eat("/"))return T.skipToEnd(),"comment";if(b.test(c))return T.eatWhile(b),"operator";T.eatWhile(/[\w\$_]/);var d=T.current().toLowerCase();return v.propertyIsEnumerable(d)?"keyword":C.propertyIsEnumerable(d)?"atom":"variable"}function s(T){return function(w,c){for(var d=!1,k,z=!1;(k=w.next())!=null;){if(k==T&&!d){z=!0;break}d=!d&&k=="\\"}return(z||!d)&&(c.tokenize=null),"string"}}function h(T,w){for(var c=!1,d;d=T.next();){if(d==")"&&c){w.tokenize=null;break}c=d=="*"}return"comment"}function g(T,w){for(var c;c=T.next();)if(c=="}"){w.tokenize=null;break}return"comment"}return{startState:function(){return{tokenize:null}},token:function(T,w){if(T.eatSpace())return null;var c=(w.tokenize||S)(T,w);return c=="comment"||c=="meta",c},electricChars:"{}"}}),o.defineMIME("text/x-pascal","pascal")})});var _u=Ke((yu,xu)=>{(function(o){typeof yu=="object"&&typeof xu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("perl",function(){var S={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},s="string-2",h=/[goseximacplud]/;function g(c,d,k,z,M){return d.chain=null,d.style=null,d.tail=null,d.tokenize=function(_,W){for(var E=!1,O,G=0;O=_.next();){if(O===k[G]&&!E)return k[++G]!==void 0?(W.chain=k[G],W.style=z,W.tail=M):M&&_.eatWhile(M),W.tokenize=w,z;E=!E&&O=="\\"}return z},d.tokenize(c,d)}function T(c,d,k){return d.tokenize=function(z,M){return z.string==k&&(M.tokenize=w),z.skipToEnd(),"string"},d.tokenize(c,d)}function w(c,d){if(c.eatSpace())return null;if(d.chain)return g(c,d,d.chain,d.style,d.tail);if(c.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(c.match(/^<<(?=[_a-zA-Z])/))return c.eatWhile(/\w/),T(c,d,c.current().substr(2));if(c.sol()&&c.match(/^\=item(?!\w)/))return T(c,d,"=cut");var k=c.next();if(k=='"'||k=="'"){if(v(c,3)=="<<"+k){var z=c.pos;c.eatWhile(/\w/);var M=c.current().substr(1);if(M&&c.eat(k))return T(c,d,M);c.pos=z}return g(c,d,[k],"string")}if(k=="q"){var _=p(c,-2);if(!(_&&/\w/.test(_))){if(_=p(c,0),_=="x"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],s,h);if(_=="[")return b(c,2),g(c,d,["]"],s,h);if(_=="{")return b(c,2),g(c,d,["}"],s,h);if(_=="<")return b(c,2),g(c,d,[">"],s,h);if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],s,h)}else if(_=="q"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],"string");if(_=="[")return b(c,2),g(c,d,["]"],"string");if(_=="{")return b(c,2),g(c,d,["}"],"string");if(_=="<")return b(c,2),g(c,d,[">"],"string");if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],"string")}else if(_=="w"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],"bracket");if(_=="[")return b(c,2),g(c,d,["]"],"bracket");if(_=="{")return b(c,2),g(c,d,["}"],"bracket");if(_=="<")return b(c,2),g(c,d,[">"],"bracket");if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],"bracket")}else if(_=="r"){if(_=p(c,1),_=="(")return b(c,2),g(c,d,[")"],s,h);if(_=="[")return b(c,2),g(c,d,["]"],s,h);if(_=="{")return b(c,2),g(c,d,["}"],s,h);if(_=="<")return b(c,2),g(c,d,[">"],s,h);if(/[\^'"!~\/]/.test(_))return b(c,1),g(c,d,[c.eat(_)],s,h)}else if(/[\^'"!~\/(\[{<]/.test(_)){if(_=="(")return b(c,1),g(c,d,[")"],"string");if(_=="[")return b(c,1),g(c,d,["]"],"string");if(_=="{")return b(c,1),g(c,d,["}"],"string");if(_=="<")return b(c,1),g(c,d,[">"],"string");if(/[\^'"!~\/]/.test(_))return g(c,d,[c.eat(_)],"string")}}}if(k=="m"){var _=p(c,-2);if(!(_&&/\w/.test(_))&&(_=c.eat(/[(\[{<\^'"!~\/]/),_)){if(/[\^'"!~\/]/.test(_))return g(c,d,[_],s,h);if(_=="(")return g(c,d,[")"],s,h);if(_=="[")return g(c,d,["]"],s,h);if(_=="{")return g(c,d,["}"],s,h);if(_=="<")return g(c,d,[">"],s,h)}}if(k=="s"){var _=/[\/>\]})\w]/.test(p(c,-2));if(!_&&(_=c.eat(/[(\[{<\^'"!~\/]/),_))return _=="["?g(c,d,["]","]"],s,h):_=="{"?g(c,d,["}","}"],s,h):_=="<"?g(c,d,[">",">"],s,h):_=="("?g(c,d,[")",")"],s,h):g(c,d,[_,_],s,h)}if(k=="y"){var _=/[\/>\]})\w]/.test(p(c,-2));if(!_&&(_=c.eat(/[(\[{<\^'"!~\/]/),_))return _=="["?g(c,d,["]","]"],s,h):_=="{"?g(c,d,["}","}"],s,h):_=="<"?g(c,d,[">",">"],s,h):_=="("?g(c,d,[")",")"],s,h):g(c,d,[_,_],s,h)}if(k=="t"){var _=/[\/>\]})\w]/.test(p(c,-2));if(!_&&(_=c.eat("r"),_&&(_=c.eat(/[(\[{<\^'"!~\/]/),_)))return _=="["?g(c,d,["]","]"],s,h):_=="{"?g(c,d,["}","}"],s,h):_=="<"?g(c,d,[">",">"],s,h):_=="("?g(c,d,[")",")"],s,h):g(c,d,[_,_],s,h)}if(k=="`")return g(c,d,[k],"variable-2");if(k=="/")return/~\s*$/.test(v(c))?g(c,d,[k],s,h):"operator";if(k=="$"){var z=c.pos;if(c.eatWhile(/\d/)||c.eat("{")&&c.eatWhile(/\d/)&&c.eat("}"))return"variable-2";c.pos=z}if(/[$@%]/.test(k)){var z=c.pos;if(c.eat("^")&&c.eat(/[A-Z]/)||!/[@$%&]/.test(p(c,-2))&&c.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var _=c.current();if(S[_])return"variable-2"}c.pos=z}if(/[$@%&]/.test(k)&&(c.eatWhile(/[\w$]/)||c.eat("{")&&c.eatWhile(/[\w$]/)&&c.eat("}"))){var _=c.current();return S[_]?"variable-2":"variable"}if(k=="#"&&p(c,-2)!="$")return c.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(k)){var z=c.pos;if(c.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),S[c.current()])return"operator";c.pos=z}if(k=="_"&&c.pos==1){if(C(c,6)=="_END__")return g(c,d,["\0"],"comment");if(C(c,7)=="_DATA__")return g(c,d,["\0"],"variable-2");if(C(c,7)=="_C__")return g(c,d,["\0"],"string")}if(/\w/.test(k)){var z=c.pos;if(p(c,-2)=="{"&&(p(c,0)=="}"||c.eatWhile(/\w/)&&p(c,0)=="}"))return"string";c.pos=z}if(/[A-Z]/.test(k)){var W=p(c,-2),z=c.pos;if(c.eatWhile(/[A-Z_]/),/[\da-z]/.test(p(c,0)))c.pos=z;else{var _=S[c.current()];return _?(_[1]&&(_=_[0]),W!=":"?_==1?"keyword":_==2?"def":_==3?"atom":_==4?"operator":_==5?"variable-2":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(k)){var W=p(c,-2);c.eatWhile(/\w/);var _=S[c.current()];return _?(_[1]&&(_=_[0]),W!=":"?_==1?"keyword":_==2?"def":_==3?"atom":_==4?"operator":_==5?"variable-2":"meta":"meta"):"meta"}return null}return{startState:function(){return{tokenize:w,chain:null,style:null,tail:null}},token:function(c,d){return(d.tokenize||w)(c,d)},lineComment:"#"}}),o.registerHelper("wordChars","perl",/[\w$]/),o.defineMIME("text/x-perl","perl");function p(S,s){return S.string.charAt(S.pos+(s||0))}function v(S,s){if(s){var h=S.pos-s;return S.string.substr(h>=0?h:0,s)}else return S.string.substr(0,S.pos-1)}function C(S,s){var h=S.string.length,g=h-S.pos+1;return S.string.substr(S.pos,s&&s=(g=S.string.length-1)?S.pos=g:S.pos=h}})});var Su=Ke((ku,wu)=>{(function(o){typeof ku=="object"&&typeof wu=="object"?o(We(),Qn(),Vo()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../htmlmixed/htmlmixed","../clike/clike"],o):o(CodeMirror)})(function(o){"use strict";function p(T){for(var w={},c=T.split(" "),d=0;d\w/,!1)&&(w.tokenize=v([[["->",null]],[[/[\w]+/,"variable"]]],c,d)),"variable-2";for(var k=!1;!T.eol()&&(k||d===!1||!T.match("{$",!1)&&!T.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*|\$\{)/,!1));){if(!k&&T.match(c)){w.tokenize=null,w.tokStack.pop(),w.tokStack.pop();break}k=T.next()=="\\"&&!k}return"string"}var S="abstract and array as break case catch class clone const continue declare default do else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final for foreach function global goto if implements interface instanceof namespace new or private protected public static switch throw trait try use var while xor die echo empty exit eval include include_once isset list require require_once return print unset __halt_compiler self static parent yield insteadof finally readonly match",s="true false null TRUE FALSE NULL __CLASS__ __DIR__ __FILE__ __LINE__ __METHOD__ __FUNCTION__ __NAMESPACE__ __TRAIT__",h="func_num_args func_get_arg func_get_args strlen strcmp strncmp strcasecmp strncasecmp each error_reporting define defined trigger_error user_error set_error_handler restore_error_handler get_declared_classes get_loaded_extensions extension_loaded get_extension_funcs debug_backtrace constant bin2hex hex2bin sleep usleep time mktime gmmktime strftime gmstrftime strtotime date gmdate getdate localtime checkdate flush wordwrap htmlspecialchars htmlentities html_entity_decode md5 md5_file crc32 getimagesize image_type_to_mime_type phpinfo phpversion phpcredits strnatcmp strnatcasecmp substr_count strspn strcspn strtok strtoupper strtolower strpos strrpos strrev hebrev hebrevc nl2br basename dirname pathinfo stripslashes stripcslashes strstr stristr strrchr str_shuffle str_word_count strcoll substr substr_replace quotemeta ucfirst ucwords strtr addslashes addcslashes rtrim str_replace str_repeat count_chars chunk_split trim ltrim strip_tags similar_text explode implode setlocale localeconv parse_str str_pad chop strchr sprintf printf vprintf vsprintf sscanf fscanf parse_url urlencode urldecode rawurlencode rawurldecode readlink linkinfo link unlink exec system escapeshellcmd escapeshellarg passthru shell_exec proc_open proc_close rand srand getrandmax mt_rand mt_srand mt_getrandmax base64_decode base64_encode abs ceil floor round is_finite is_nan is_infinite bindec hexdec octdec decbin decoct dechex base_convert number_format fmod ip2long long2ip getenv putenv getopt microtime gettimeofday getrusage uniqid quoted_printable_decode set_time_limit get_cfg_var magic_quotes_runtime set_magic_quotes_runtime get_magic_quotes_gpc get_magic_quotes_runtime import_request_variables error_log serialize unserialize memory_get_usage memory_get_peak_usage var_dump var_export debug_zval_dump print_r highlight_file show_source highlight_string ini_get ini_get_all ini_set ini_alter ini_restore get_include_path set_include_path restore_include_path setcookie header headers_sent connection_aborted connection_status ignore_user_abort parse_ini_file is_uploaded_file move_uploaded_file intval floatval doubleval strval gettype settype is_null is_resource is_bool is_long is_float is_int is_integer is_double is_real is_numeric is_string is_array is_object is_scalar ereg ereg_replace eregi eregi_replace split spliti join sql_regcase dl pclose popen readfile rewind rmdir umask fclose feof fgetc fgets fgetss fread fopen fpassthru ftruncate fstat fseek ftell fflush fwrite fputs mkdir rename copy tempnam tmpfile file file_get_contents file_put_contents stream_select stream_context_create stream_context_set_params stream_context_set_option stream_context_get_options stream_filter_prepend stream_filter_append fgetcsv flock get_meta_tags stream_set_write_buffer set_file_buffer set_socket_blocking stream_set_blocking socket_set_blocking stream_get_meta_data stream_register_wrapper stream_wrapper_register stream_set_timeout socket_set_timeout socket_get_status realpath fnmatch fsockopen pfsockopen pack unpack get_browser crypt opendir closedir chdir getcwd rewinddir readdir dir glob fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype file_exists is_writable is_writeable is_readable is_executable is_file is_dir is_link stat lstat chown touch clearstatcache mail ob_start ob_flush ob_clean ob_end_flush ob_end_clean ob_get_flush ob_get_clean ob_get_length ob_get_level ob_get_status ob_get_contents ob_implicit_flush ob_list_handlers ksort krsort natsort natcasesort asort arsort sort rsort usort uasort uksort shuffle array_walk count end prev next reset current key min max in_array array_search extract compact array_fill range array_multisort array_push array_pop array_shift array_unshift array_splice array_slice array_merge array_merge_recursive array_keys array_values array_count_values array_reverse array_reduce array_pad array_flip array_change_key_case array_rand array_unique array_intersect array_intersect_assoc array_diff array_diff_assoc array_sum array_filter array_map array_chunk array_key_exists array_intersect_key array_combine array_column pos sizeof key_exists assert assert_options version_compare ftok str_rot13 aggregate session_name session_module_name session_save_path session_id session_regenerate_id session_decode session_register session_unregister session_is_registered session_encode session_start session_destroy session_unset session_set_save_handler session_cache_limiter session_cache_expire session_set_cookie_params session_get_cookie_params session_write_close preg_match preg_match_all preg_replace preg_replace_callback preg_split preg_quote preg_grep overload ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_lower ctype_graph ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit virtual apache_request_headers apache_note apache_lookup_uri apache_child_terminate apache_setenv apache_response_headers apache_get_version getallheaders mysql_connect mysql_pconnect mysql_close mysql_select_db mysql_create_db mysql_drop_db mysql_query mysql_unbuffered_query mysql_db_query mysql_list_dbs mysql_list_tables mysql_list_fields mysql_list_processes mysql_error mysql_errno mysql_affected_rows mysql_insert_id mysql_result mysql_num_rows mysql_num_fields mysql_fetch_row mysql_fetch_array mysql_fetch_assoc mysql_fetch_object mysql_data_seek mysql_fetch_lengths mysql_fetch_field mysql_field_seek mysql_free_result mysql_field_name mysql_field_table mysql_field_len mysql_field_type mysql_field_flags mysql_escape_string mysql_real_escape_string mysql_stat mysql_thread_id mysql_client_encoding mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql mysql_fieldname mysql_fieldtable mysql_fieldlen mysql_fieldtype mysql_fieldflags mysql_selectdb mysql_createdb mysql_dropdb mysql_freeresult mysql_numfields mysql_numrows mysql_listdbs mysql_listtables mysql_listfields mysql_db_name mysql_dbname mysql_tablename mysql_table_name pg_connect pg_pconnect pg_close pg_connection_status pg_connection_busy pg_connection_reset pg_host pg_dbname pg_port pg_tty pg_options pg_ping pg_query pg_send_query pg_cancel_query pg_fetch_result pg_fetch_row pg_fetch_assoc pg_fetch_array pg_fetch_object pg_fetch_all pg_affected_rows pg_get_result pg_result_seek pg_result_status pg_free_result pg_last_oid pg_num_rows pg_num_fields pg_field_name pg_field_num pg_field_size pg_field_type pg_field_prtlen pg_field_is_null pg_get_notify pg_get_pid pg_result_error pg_last_error pg_last_notice pg_put_line pg_end_copy pg_copy_to pg_copy_from pg_trace pg_untrace pg_lo_create pg_lo_unlink pg_lo_open pg_lo_close pg_lo_read pg_lo_write pg_lo_read_all pg_lo_import pg_lo_export pg_lo_seek pg_lo_tell pg_escape_string pg_escape_bytea pg_unescape_bytea pg_client_encoding pg_set_client_encoding pg_meta_data pg_convert pg_insert pg_update pg_delete pg_select pg_exec pg_getlastoid pg_cmdtuples pg_errormessage pg_numrows pg_numfields pg_fieldname pg_fieldsize pg_fieldtype pg_fieldnum pg_fieldprtlen pg_fieldisnull pg_freeresult pg_result pg_loreadall pg_locreate pg_lounlink pg_loopen pg_loclose pg_loread pg_lowrite pg_loimport pg_loexport http_response_code get_declared_traits getimagesizefromstring socket_import_stream stream_set_chunk_size trait_exists header_register_callback class_uses session_status session_register_shutdown echo print global static exit array empty eval isset unset die include require include_once require_once json_decode json_encode json_last_error json_last_error_msg curl_close curl_copy_handle curl_errno curl_error curl_escape curl_exec curl_file_create curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_multi_setopt curl_multi_strerror curl_pause curl_reset curl_setopt_array curl_setopt curl_share_close curl_share_init curl_share_setopt curl_strerror curl_unescape curl_version mysqli_affected_rows mysqli_autocommit mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect_errno mysqli_connect_error mysqli_connect mysqli_data_seek mysqli_debug mysqli_dump_debug_info mysqli_errno mysqli_error_list mysqli_error mysqli_fetch_all mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_charset mysqli_get_client_info mysqli_get_client_stats mysqli_get_client_version mysqli_get_connection_stats mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_more_results mysqli_multi_query mysqli_next_result mysqli_num_fields mysqli_num_rows mysqli_options mysqli_ping mysqli_prepare mysqli_query mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reap_async_query mysqli_refresh mysqli_rollback mysqli_select_db mysqli_set_charset mysqli_set_local_infile_default mysqli_set_local_infile_handler mysqli_sqlstate mysqli_ssl_set mysqli_stat mysqli_stmt_init mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count";o.registerHelper("hintWords","php",[S,s,h].join(" ").split(" ")),o.registerHelper("wordChars","php",/[\w$]/);var g={name:"clike",helperType:"php",keywords:p(S),blockKeywords:p("catch do else elseif for foreach if switch try while finally"),defKeywords:p("class enum function interface namespace trait"),atoms:p(s),builtin:p(h),multiLineStrings:!0,hooks:{$:function(T){return T.eatWhile(/[\w\$_]/),"variable-2"},"<":function(T,w){var c;if(c=T.match(/^<<\s*/)){var d=T.eat(/['"]/);T.eatWhile(/[\w\.]/);var k=T.current().slice(c[0].length+(d?2:1));if(d&&T.eat(d),k)return(w.tokStack||(w.tokStack=[])).push(k,0),w.tokenize=C(k,d!="'"),"string"}return!1},"#":function(T){for(;!T.eol()&&!T.match("?>",!1);)T.next();return"comment"},"/":function(T){if(T.eat("/")){for(;!T.eol()&&!T.match("?>",!1);)T.next();return"comment"}return!1},'"':function(T,w){return(w.tokStack||(w.tokStack=[])).push('"',0),w.tokenize=C('"'),"string"},"{":function(T,w){return w.tokStack&&w.tokStack.length&&w.tokStack[w.tokStack.length-1]++,!1},"}":function(T,w){return w.tokStack&&w.tokStack.length>0&&!--w.tokStack[w.tokStack.length-1]&&(w.tokenize=C(w.tokStack[w.tokStack.length-2])),!1}}};o.defineMode("php",function(T,w){var c=o.getMode(T,w&&w.htmlMode||"text/html"),d=o.getMode(T,g);function k(z,M){var _=M.curMode==d;if(z.sol()&&M.pending&&M.pending!='"'&&M.pending!="'"&&(M.pending=null),_)return _&&M.php.tokenize==null&&z.match("?>")?(M.curMode=c,M.curState=M.html,M.php.context.prev||(M.php=null),"meta"):d.token(z,M.curState);if(z.match(/^<\?\w*/))return M.curMode=d,M.php||(M.php=o.startState(d,c.indent(M.html,"",""))),M.curState=M.php,"meta";if(M.pending=='"'||M.pending=="'"){for(;!z.eol()&&z.next()!=M.pending;);var W="string"}else if(M.pending&&z.pos/.test(E)?M.pending=G[0]:M.pending={end:z.pos,style:W},z.backUp(E.length-O)),W}return{startState:function(){var z=o.startState(c),M=w.startOpen?o.startState(d):null;return{html:z,php:M,curMode:w.startOpen?d:c,curState:w.startOpen?M:z,pending:null}},copyState:function(z){var M=z.html,_=o.copyState(c,M),W=z.php,E=W&&o.copyState(d,W),O;return z.curMode==c?O=_:O=E,{html:_,php:E,curMode:z.curMode,curState:O,pending:z.pending}},token:k,indent:function(z,M,_){return z.curMode!=d&&/^\s*<\//.test(M)||z.curMode==d&&/^\?>/.test(M)?c.indent(z.html,M,_):z.curMode.indent(z.curState,M,_)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",innerMode:function(z){return{state:z.curState,mode:z.curMode}}}},"htmlmixed","clike"),o.defineMIME("application/x-httpd-php","php"),o.defineMIME("application/x-httpd-php-open",{name:"php",startOpen:!0}),o.defineMIME("text/x-php",g)})});var Cu=Ke((Tu,Lu)=>{(function(o){typeof Tu=="object"&&typeof Lu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(s){return new RegExp("^(("+s.join(")|(")+"))\\b","i")}var v=["package","message","import","syntax","required","optional","repeated","reserved","default","extensions","packed","bool","bytes","double","enum","float","string","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","option","service","rpc","returns"],C=p(v);o.registerHelper("hintWords","protobuf",v);var b=new RegExp("^[_A-Za-z\xA1-\uFFFF][_A-Za-z0-9\xA1-\uFFFF]*");function S(s){return s.eatSpace()?null:s.match("//")?(s.skipToEnd(),"comment"):s.match(/^[0-9\.+-]/,!1)&&(s.match(/^[+-]?0x[0-9a-fA-F]+/)||s.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?/)||s.match(/^[+-]?\d+([EeDd][+-]?\d+)?/))?"number":s.match(/^"([^"]|(""))*"/)||s.match(/^'([^']|(''))*'/)?"string":s.match(C)?"keyword":s.match(b)?"variable":(s.next(),null)}o.defineMode("protobuf",function(){return{token:S,fold:"brace"}}),o.defineMIME("text/x-protobuf","protobuf")})});var Mu=Ke((Eu,zu)=>{(function(o){typeof Eu=="object"&&typeof zu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(h){return new RegExp("^(("+h.join(")|(")+"))\\b")}var v=p(["and","or","not","is"]),C=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],b=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];o.registerHelper("hintWords","python",C.concat(b).concat(["exec","print"]));function S(h){return h.scopes[h.scopes.length-1]}o.defineMode("python",function(h,g){for(var T="error",w=g.delimiters||g.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,c=[g.singleOperators,g.doubleOperators,g.doubleDelimiters,g.tripleDelimiters,g.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],d=0;dR?D(X):le0&&j(K,X)&&(xe+=" "+T),xe}}return re(K,X)}function re(K,X,N){if(K.eatSpace())return null;if(!N&&K.match(/^#.*/))return"comment";if(K.match(/^[0-9\.]/,!1)){var R=!1;if(K.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(R=!0),K.match(/^[\d_]+\.\d*/)&&(R=!0),K.match(/^\.\d+/)&&(R=!0),R)return K.eat(/J/i),"number";var le=!1;if(K.match(/^0x[0-9a-f_]+/i)&&(le=!0),K.match(/^0b[01_]+/i)&&(le=!0),K.match(/^0o[0-7_]+/i)&&(le=!0),K.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(K.eat(/J/i),le=!0),K.match(/^0(?![\dx])/i)&&(le=!0),le)return K.eat(/L/i),"number"}if(K.match(E)){var xe=K.current().toLowerCase().indexOf("f")!==-1;return xe?(X.tokenize=q(K.current(),X.tokenize),X.tokenize(K,X)):(X.tokenize=I(K.current(),X.tokenize),X.tokenize(K,X))}for(var F=0;F=0;)K=K.substr(1);var N=K.length==1,R="string";function le(F){return function(L,de){var ze=re(L,de,!0);return ze=="punctuation"&&(L.current()=="{"?de.tokenize=le(F+1):L.current()=="}"&&(F>1?de.tokenize=le(F-1):de.tokenize=xe)),ze}}function xe(F,L){for(;!F.eol();)if(F.eatWhile(/[^'"\{\}\\]/),F.eat("\\")){if(F.next(),N&&F.eol())return R}else{if(F.match(K))return L.tokenize=X,R;if(F.match("{{"))return R;if(F.match("{",!1))return L.tokenize=le(0),F.current()?R:L.tokenize(F,L);if(F.match("}}"))return R;if(F.match("}"))return T;F.eat(/['"]/)}if(N){if(g.singleLineStringErrors)return T;L.tokenize=X}return R}return xe.isString=!0,xe}function I(K,X){for(;"rubf".indexOf(K.charAt(0).toLowerCase())>=0;)K=K.substr(1);var N=K.length==1,R="string";function le(xe,F){for(;!xe.eol();)if(xe.eatWhile(/[^'"\\]/),xe.eat("\\")){if(xe.next(),N&&xe.eol())return R}else{if(xe.match(K))return F.tokenize=X,R;xe.eat(/['"]/)}if(N){if(g.singleLineStringErrors)return T;F.tokenize=X}return R}return le.isString=!0,le}function D(K){for(;S(K).type!="py";)K.scopes.pop();K.scopes.push({offset:S(K).offset+h.indentUnit,type:"py",align:null})}function Q(K,X,N){var R=K.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:K.column()+1;X.scopes.push({offset:X.indent+k,type:N,align:R})}function j(K,X){for(var N=K.indentation();X.scopes.length>1&&S(X).offset>N;){if(S(X).type!="py")return!0;X.scopes.pop()}return S(X).offset!=N}function V(K,X){K.sol()&&(X.beginningOfLine=!0,X.dedent=!1);var N=X.tokenize(K,X),R=K.current();if(X.beginningOfLine&&R=="@")return K.match(W,!1)?"meta":_?"operator":T;if(/\S/.test(R)&&(X.beginningOfLine=!1),(N=="variable"||N=="builtin")&&X.lastToken=="meta"&&(N="meta"),(R=="pass"||R=="return")&&(X.dedent=!0),R=="lambda"&&(X.lambda=!0),R==":"&&!X.lambda&&S(X).type=="py"&&K.match(/^\s*(?:#|$)/,!1)&&D(X),R.length==1&&!/string|comment/.test(N)){var le="[({".indexOf(R);if(le!=-1&&Q(K,X,"])}".slice(le,le+1)),le="])}".indexOf(R),le!=-1)if(S(X).type==R)X.indent=X.scopes.pop().offset-k;else return T}return X.dedent&&K.eol()&&S(X).type=="py"&&X.scopes.length>1&&X.scopes.pop(),N}var y={startState:function(K){return{tokenize:J,scopes:[{offset:K||0,type:"py",align:null}],indent:K||0,lastToken:null,lambda:!1,dedent:0}},token:function(K,X){var N=X.errorToken;N&&(X.errorToken=!1);var R=V(K,X);return R&&R!="comment"&&(X.lastToken=R=="keyword"||R=="punctuation"?K.current():R),R=="punctuation"&&(R=null),K.eol()&&X.lambda&&(X.lambda=!1),N?R+" "+T:R},indent:function(K,X){if(K.tokenize!=J)return K.tokenize.isString?o.Pass:0;var N=S(K),R=N.type==X.charAt(0)||N.type=="py"&&!K.dedent&&/^(else:|elif |except |finally:)/.test(X);return N.align!=null?N.align-(R?1:0):N.offset-(R?k:0)},electricInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,closeBrackets:{triples:`'"`},lineComment:"#",fold:"indent"};return y}),o.defineMIME("text/x-python","python");var s=function(h){return h.split(" ")};o.defineMIME("text/x-cython",{name:"python",extra_keywords:s("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")})})});var qu=Ke((Au,Du)=>{(function(o){typeof Au=="object"&&typeof Du=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(g){for(var T={},w=0,c=g.length;w]/)?(E.eat(/[\<\>]/),"atom"):E.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":E.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(E.eatWhile(/[\w$\xa1-\uffff]/),E.eat(/[\?\!\=]/),"atom"):"operator";if(G=="@"&&E.match(/^@?[a-zA-Z_\xa1-\uffff]/))return E.eat("@"),E.eatWhile(/[\w\xa1-\uffff]/),"variable-2";if(G=="$")return E.eat(/[a-zA-Z_]/)?E.eatWhile(/[\w]/):E.eat(/\d/)?E.eat(/\d/):E.next(),"variable-3";if(/[a-zA-Z_\xa1-\uffff]/.test(G))return E.eatWhile(/[\w\xa1-\uffff]/),E.eat(/[\?\!]/),E.eat(":")?"atom":"ident";if(G=="|"&&(O.varList||O.lastTok=="{"||O.lastTok=="do"))return T="|",null;if(/[\(\)\[\]{}\\;]/.test(G))return T=G,null;if(G=="-"&&E.eat(">"))return"arrow";if(/[=+\-\/*:\.^%<>~|]/.test(G)){var D=E.eatWhile(/[=+\-\/*:\.^%<>~|]/);return G=="."&&!D&&(T="."),"operator"}else return null}}}function d(E){for(var O=E.pos,G=0,J,re=!1,q=!1;(J=E.next())!=null;)if(q)q=!1;else{if("[{(".indexOf(J)>-1)G++;else if("]})".indexOf(J)>-1){if(G--,G<0)break}else if(J=="/"&&G==0){re=!0;break}q=J=="\\"}return E.backUp(E.pos-O),re}function k(E){return E||(E=1),function(O,G){if(O.peek()=="}"){if(E==1)return G.tokenize.pop(),G.tokenize[G.tokenize.length-1](O,G);G.tokenize[G.tokenize.length-1]=k(E-1)}else O.peek()=="{"&&(G.tokenize[G.tokenize.length-1]=k(E+1));return c(O,G)}}function z(){var E=!1;return function(O,G){return E?(G.tokenize.pop(),G.tokenize[G.tokenize.length-1](O,G)):(E=!0,c(O,G))}}function M(E,O,G,J){return function(re,q){var I=!1,D;for(q.context.type==="read-quoted-paused"&&(q.context=q.context.prev,re.eat("}"));(D=re.next())!=null;){if(D==E&&(J||!I)){q.tokenize.pop();break}if(G&&D=="#"&&!I){if(re.eat("{")){E=="}"&&(q.context={prev:q.context,type:"read-quoted-paused"}),q.tokenize.push(k());break}else if(/[@\$]/.test(re.peek())){q.tokenize.push(z());break}}I=!I&&D=="\\"}return O}}function _(E,O){return function(G,J){return O&&G.eatSpace(),G.match(E)?J.tokenize.pop():G.skipToEnd(),"string"}}function W(E,O){return E.sol()&&E.match("=end")&&E.eol()&&O.tokenize.pop(),E.skipToEnd(),"comment"}return{startState:function(){return{tokenize:[c],indented:0,context:{type:"top",indented:-g.indentUnit},continuedLine:!1,lastTok:null,varList:!1}},token:function(E,O){T=null,E.sol()&&(O.indented=E.indentation());var G=O.tokenize[O.tokenize.length-1](E,O),J,re=T;if(G=="ident"){var q=E.current();G=O.lastTok=="."?"property":C.propertyIsEnumerable(E.current())?"keyword":/^[A-Z]/.test(q)?"tag":O.lastTok=="def"||O.lastTok=="class"||O.varList?"def":"variable",G=="keyword"&&(re=q,b.propertyIsEnumerable(q)?J="indent":S.propertyIsEnumerable(q)?J="dedent":((q=="if"||q=="unless")&&E.column()==E.indentation()||q=="do"&&O.context.indented{(function(o){typeof Fu=="object"&&typeof Iu=="object"?o(We(),Di()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode("rust",{start:[{regex:/b?"/,token:"string",next:"string"},{regex:/b?r"/,token:"string",next:"string_raw"},{regex:/b?r#+"/,token:"string",next:"string_raw_hash"},{regex:/'(?:[^'\\]|\\(?:[nrt0'"]|x[\da-fA-F]{2}|u\{[\da-fA-F]{6}\}))'/,token:"string-2"},{regex:/b'(?:[^']|\\(?:['\\nrt0]|x[\da-fA-F]{2}))'/,token:"string-2"},{regex:/(?:(?:[0-9][0-9_]*)(?:(?:[Ee][+-]?[0-9_]+)|\.[0-9_]+(?:[Ee][+-]?[0-9_]+)?)(?:f32|f64)?)|(?:0(?:b[01_]+|(?:o[0-7_]+)|(?:x[0-9a-fA-F_]+))|(?:[0-9][0-9_]*))(?:u8|u16|u32|u64|i8|i16|i32|i64|isize|usize)?/,token:"number"},{regex:/(let(?:\s+mut)?|fn|enum|mod|struct|type|union)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/(?:abstract|alignof|as|async|await|box|break|continue|const|crate|do|dyn|else|enum|extern|fn|for|final|if|impl|in|loop|macro|match|mod|move|offsetof|override|priv|proc|pub|pure|ref|return|self|sizeof|static|struct|super|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,token:"keyword"},{regex:/\b(?:Self|isize|usize|char|bool|u8|u16|u32|u64|f16|f32|f64|i8|i16|i32|i64|str|Option)\b/,token:"atom"},{regex:/\b(?:true|false|Some|None|Ok|Err)\b/,token:"builtin"},{regex:/\b(fn)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)/,token:["keyword",null,"def"]},{regex:/#!?\[.*\]/,token:"meta"},{regex:/\/\/.*/,token:"comment"},{regex:/\/\*/,token:"comment",next:"comment"},{regex:/[-+\/*=<>!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"variable-3"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],meta:{dontIndentStates:["comment"],electricInput:/^\s*\}$/,blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}}),o.defineMIME("text/x-rustsrc","rust"),o.defineMIME("text/rust","rust")})});var ea=Ke((Ou,Pu)=>{(function(o){typeof Ou=="object"&&typeof Pu=="object"?o(We(),gn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../css/css"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("sass",function(p){var v=o.mimeModes["text/css"],C=v.propertyKeywords||{},b=v.colorKeywords||{},S=v.valueKeywords||{},s=v.fontProperties||{};function h(q){return new RegExp("^"+q.join("|"))}var g=["true","false","null","auto"],T=new RegExp("^"+g.join("|")),w=["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"],c=h(w),d=/^::?[a-zA-Z_][\w\-]*/,k;function z(q){return!q.peek()||q.match(/\s+$/,!1)}function M(q,I){var D=q.peek();return D===")"?(q.next(),I.tokenizer=J,"operator"):D==="("?(q.next(),q.eatSpace(),"operator"):D==="'"||D==='"'?(I.tokenizer=W(q.next()),"string"):(I.tokenizer=W(")",!1),"string")}function _(q,I){return function(D,Q){return D.sol()&&D.indentation()<=q?(Q.tokenizer=J,J(D,Q)):(I&&D.skipTo("*/")?(D.next(),D.next(),Q.tokenizer=J):D.skipToEnd(),"comment")}}function W(q,I){I==null&&(I=!0);function D(Q,j){var V=Q.next(),y=Q.peek(),K=Q.string.charAt(Q.pos-2),X=V!=="\\"&&y===q||V===q&&K!=="\\";return X?(V!==q&&I&&Q.next(),z(Q)&&(j.cursorHalf=0),j.tokenizer=J,"string"):V==="#"&&y==="{"?(j.tokenizer=E(D),Q.next(),"operator"):"string"}return D}function E(q){return function(I,D){return I.peek()==="}"?(I.next(),D.tokenizer=q,"operator"):J(I,D)}}function O(q){if(q.indentCount==0){q.indentCount++;var I=q.scopes[0].offset,D=I+p.indentUnit;q.scopes.unshift({offset:D})}}function G(q){q.scopes.length!=1&&q.scopes.shift()}function J(q,I){var D=q.peek();if(q.match("/*"))return I.tokenizer=_(q.indentation(),!0),I.tokenizer(q,I);if(q.match("//"))return I.tokenizer=_(q.indentation(),!1),I.tokenizer(q,I);if(q.match("#{"))return I.tokenizer=E(J),"operator";if(D==='"'||D==="'")return q.next(),I.tokenizer=W(D),"string";if(I.cursorHalf){if(D==="#"&&(q.next(),q.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/))||q.match(/^-?[0-9\.]+/))return z(q)&&(I.cursorHalf=0),"number";if(q.match(/^(px|em|in)\b/))return z(q)&&(I.cursorHalf=0),"unit";if(q.match(T))return z(q)&&(I.cursorHalf=0),"keyword";if(q.match(/^url/)&&q.peek()==="(")return I.tokenizer=M,z(q)&&(I.cursorHalf=0),"atom";if(D==="$")return q.next(),q.eatWhile(/[\w-]/),z(q)&&(I.cursorHalf=0),"variable-2";if(D==="!")return q.next(),I.cursorHalf=0,q.match(/^[\w]+/)?"keyword":"operator";if(q.match(c))return z(q)&&(I.cursorHalf=0),"operator";if(q.eatWhile(/[\w-]/))return z(q)&&(I.cursorHalf=0),k=q.current().toLowerCase(),S.hasOwnProperty(k)?"atom":b.hasOwnProperty(k)?"keyword":C.hasOwnProperty(k)?(I.prevProp=q.current().toLowerCase(),"property"):"tag";if(z(q))return I.cursorHalf=0,null}else{if(D==="-"&&q.match(/^-\w+-/))return"meta";if(D==="."){if(q.next(),q.match(/^[\w-]+/))return O(I),"qualifier";if(q.peek()==="#")return O(I),"tag"}if(D==="#"){if(q.next(),q.match(/^[\w-]+/))return O(I),"builtin";if(q.peek()==="#")return O(I),"tag"}if(D==="$")return q.next(),q.eatWhile(/[\w-]/),"variable-2";if(q.match(/^-?[0-9\.]+/))return"number";if(q.match(/^(px|em|in)\b/))return"unit";if(q.match(T))return"keyword";if(q.match(/^url/)&&q.peek()==="(")return I.tokenizer=M,"atom";if(D==="="&&q.match(/^=[\w-]+/))return O(I),"meta";if(D==="+"&&q.match(/^\+[\w-]+/))return"variable-3";if(D==="@"&&q.match("@extend")&&(q.match(/\s*[\w]/)||G(I)),q.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return O(I),"def";if(D==="@")return q.next(),q.eatWhile(/[\w-]/),"def";if(q.eatWhile(/[\w-]/))if(q.match(/ *: *[\w-\+\$#!\("']/,!1)){k=q.current().toLowerCase();var Q=I.prevProp+"-"+k;return C.hasOwnProperty(Q)?"property":C.hasOwnProperty(k)?(I.prevProp=k,"property"):s.hasOwnProperty(k)?"property":"tag"}else return q.match(/ *:/,!1)?(O(I),I.cursorHalf=1,I.prevProp=q.current().toLowerCase(),"property"):(q.match(/ *,/,!1)||O(I),"tag");if(D===":")return q.match(d)?"variable-3":(q.next(),I.cursorHalf=1,"operator")}return q.match(c)?"operator":(q.next(),null)}function re(q,I){q.sol()&&(I.indentCount=0);var D=I.tokenizer(q,I),Q=q.current();if((Q==="@return"||Q==="}")&&G(I),D!==null){for(var j=q.pos-Q.length,V=j+p.indentUnit*I.indentCount,y=[],K=0;K{(function(o){typeof Bu=="object"&&typeof ju=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("shell",function(){var p={};function v(d,k){for(var z=0;z1&&d.eat("$");var z=d.next();return/['"({]/.test(z)?(k.tokens[0]=h(z,z=="("?"quote":z=="{"?"def":"string"),c(d,k)):(/\d/.test(z)||d.eatWhile(/\w/),k.tokens.shift(),"def")};function w(d){return function(k,z){return k.sol()&&k.string==d&&z.tokens.shift(),k.skipToEnd(),"string-2"}}function c(d,k){return(k.tokens[0]||s)(d,k)}return{startState:function(){return{tokens:[]}},token:function(d,k){return c(d,k)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),o.defineMIME("text/x-sh","shell"),o.defineMIME("application/x-sh","shell")})});var Uu=Ke((Hu,Wu)=>{(function(o){typeof Hu=="object"&&typeof Wu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("sql",function(g,T){var w=T.client||{},c=T.atoms||{false:!0,true:!0,null:!0},d=T.builtin||s(h),k=T.keywords||s(S),z=T.operatorChars||/^[*+\-%<>!=&|~^\/]/,M=T.support||{},_=T.hooks||{},W=T.dateSQL||{date:!0,time:!0,timestamp:!0},E=T.backslashStringEscapes!==!1,O=T.brackets||/^[\{}\(\)\[\]]/,G=T.punctuation||/^[;.,:]/;function J(Q,j){var V=Q.next();if(_[V]){var y=_[V](Q,j);if(y!==!1)return y}if(M.hexNumber&&(V=="0"&&Q.match(/^[xX][0-9a-fA-F]+/)||(V=="x"||V=="X")&&Q.match(/^'[0-9a-fA-F]*'/)))return"number";if(M.binaryNumber&&((V=="b"||V=="B")&&Q.match(/^'[01]*'/)||V=="0"&&Q.match(/^b[01]+/)))return"number";if(V.charCodeAt(0)>47&&V.charCodeAt(0)<58)return Q.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),M.decimallessFloat&&Q.match(/^\.(?!\.)/),"number";if(V=="?"&&(Q.eatSpace()||Q.eol()||Q.eat(";")))return"variable-3";if(V=="'"||V=='"'&&M.doubleQuote)return j.tokenize=re(V),j.tokenize(Q,j);if((M.nCharCast&&(V=="n"||V=="N")||M.charsetCast&&V=="_"&&Q.match(/[a-z][a-z0-9]*/i))&&(Q.peek()=="'"||Q.peek()=='"'))return"keyword";if(M.escapeConstant&&(V=="e"||V=="E")&&(Q.peek()=="'"||Q.peek()=='"'&&M.doubleQuote))return j.tokenize=function(X,N){return(N.tokenize=re(X.next(),!0))(X,N)},"keyword";if(M.commentSlashSlash&&V=="/"&&Q.eat("/"))return Q.skipToEnd(),"comment";if(M.commentHash&&V=="#"||V=="-"&&Q.eat("-")&&(!M.commentSpaceRequired||Q.eat(" ")))return Q.skipToEnd(),"comment";if(V=="/"&&Q.eat("*"))return j.tokenize=q(1),j.tokenize(Q,j);if(V=="."){if(M.zerolessFloat&&Q.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(Q.match(/^\.+/))return null;if(Q.match(/^[\w\d_$#]+/))return"variable-2"}else{if(z.test(V))return Q.eatWhile(z),"operator";if(O.test(V))return"bracket";if(G.test(V))return Q.eatWhile(G),"punctuation";if(V=="{"&&(Q.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||Q.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";Q.eatWhile(/^[_\w\d]/);var K=Q.current().toLowerCase();return W.hasOwnProperty(K)&&(Q.match(/^( )+'[^']*'/)||Q.match(/^( )+"[^"]*"/))?"number":c.hasOwnProperty(K)?"atom":d.hasOwnProperty(K)?"type":k.hasOwnProperty(K)?"keyword":w.hasOwnProperty(K)?"builtin":null}}function re(Q,j){return function(V,y){for(var K=!1,X;(X=V.next())!=null;){if(X==Q&&!K){y.tokenize=J;break}K=(E||j)&&!K&&X=="\\"}return"string"}}function q(Q){return function(j,V){var y=j.match(/^.*?(\/\*|\*\/)/);return y?y[1]=="/*"?V.tokenize=q(Q+1):Q>1?V.tokenize=q(Q-1):V.tokenize=J:j.skipToEnd(),"comment"}}function I(Q,j,V){j.context={prev:j.context,indent:Q.indentation(),col:Q.column(),type:V}}function D(Q){Q.indent=Q.context.indent,Q.context=Q.context.prev}return{startState:function(){return{tokenize:J,context:null}},token:function(Q,j){if(Q.sol()&&j.context&&j.context.align==null&&(j.context.align=!1),j.tokenize==J&&Q.eatSpace())return null;var V=j.tokenize(Q,j);if(V=="comment")return V;j.context&&j.context.align==null&&(j.context.align=!0);var y=Q.current();return y=="("?I(Q,j,")"):y=="["?I(Q,j,"]"):j.context&&j.context.type==y&&D(j),V},indent:function(Q,j){var V=Q.context;if(!V)return o.Pass;var y=j.charAt(0)==V.type;return V.align?V.col+(y?0:1):V.indent+(y?0:g.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:M.commentSlashSlash?"//":M.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``",config:T}});function p(g){for(var T;(T=g.next())!=null;)if(T=="`"&&!g.eat("`"))return"variable-2";return g.backUp(g.current().length-1),g.eatWhile(/\w/)?"variable-2":null}function v(g){for(var T;(T=g.next())!=null;)if(T=='"'&&!g.eat('"'))return"variable-2";return g.backUp(g.current().length-1),g.eatWhile(/\w/)?"variable-2":null}function C(g){return g.eat("@")&&(g.match("session."),g.match("local."),g.match("global.")),g.eat("'")?(g.match(/^.*'/),"variable-2"):g.eat('"')?(g.match(/^.*"/),"variable-2"):g.eat("`")?(g.match(/^.*`/),"variable-2"):g.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function b(g){return g.eat("N")?"atom":g.match(/^[a-zA-Z.#!?]/)?"variable-2":null}var S="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function s(g){for(var T={},w=g.split(" "),c=0;c!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:s("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":C}}),o.defineMIME("text/x-mysql",{name:"sql",client:s("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:s(S+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":C,"`":p,"\\":b}}),o.defineMIME("text/x-mariadb",{name:"sql",client:s("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:s(S+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":C,"`":p,"\\":b}}),o.defineMIME("text/x-sqlite",{name:"sql",client:s("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:s(S+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:s("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:s("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:s("date time timestamp datetime"),support:s("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":C,":":C,"?":C,$:C,'"':v,"`":p}}),o.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:s("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:s("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:s("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:s("commentSlashSlash decimallessFloat"),hooks:{}}),o.defineMIME("text/x-plsql",{name:"sql",client:s("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:s("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:s("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:s("date time timestamp"),support:s("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),o.defineMIME("text/x-hive",{name:"sql",keywords:s("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:s("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:s("date timestamp"),support:s("doubleQuote binaryNumber hexNumber")}),o.defineMIME("text/x-pgsql",{name:"sql",client:s("source"),keywords:s(S+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:s("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time zone timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:s("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,identifierQuote:'"',hooks:{'"':v},dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),o.defineMIME("text/x-gql",{name:"sql",keywords:s("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:s("false true"),builtin:s("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),o.defineMIME("text/x-gpsql",{name:"sql",client:s("source"),keywords:s("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:s("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:s("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:s("date time timestamp"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),o.defineMIME("text/x-sparksql",{name:"sql",keywords:s("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:s("abs acos acosh add_months aggregate and any approx_count_distinct approx_percentile array array_contains array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_repeat array_sort array_union arrays_overlap arrays_zip ascii asin asinh assert_true atan atan2 atanh avg base64 between bigint bin binary bit_and bit_count bit_get bit_length bit_or bit_xor bool_and bool_or boolean bround btrim cardinality case cast cbrt ceil ceiling char char_length character_length chr coalesce collect_list collect_set concat concat_ws conv corr cos cosh cot count count_if count_min_sketch covar_pop covar_samp crc32 cume_dist current_catalog current_database current_date current_timestamp current_timezone current_user date date_add date_format date_from_unix_date date_part date_sub date_trunc datediff day dayofmonth dayofweek dayofyear decimal decode degrees delimited dense_rank div double e element_at elt encode every exists exp explode explode_outer expm1 extract factorial filter find_in_set first first_value flatten float floor forall format_number format_string from_csv from_json from_unixtime from_utc_timestamp get_json_object getbit greatest grouping grouping_id hash hex hour hypot if ifnull in initcap inline inline_outer input_file_block_length input_file_block_start input_file_name inputformat instr int isnan isnotnull isnull java_method json_array_length json_object_keys json_tuple kurtosis lag last last_day last_value lcase lead least left length levenshtein like ln locate log log10 log1p log2 lower lpad ltrim make_date make_dt_interval make_interval make_timestamp make_ym_interval map map_concat map_entries map_filter map_from_arrays map_from_entries map_keys map_values map_zip_with max max_by md5 mean min min_by minute mod monotonically_increasing_id month months_between named_struct nanvl negative next_day not now nth_value ntile nullif nvl nvl2 octet_length or outputformat overlay parse_url percent_rank percentile percentile_approx pi pmod posexplode posexplode_outer position positive pow power printf quarter radians raise_error rand randn random rank rcfile reflect regexp regexp_extract regexp_extract_all regexp_like regexp_replace repeat replace reverse right rint rlike round row_number rpad rtrim schema_of_csv schema_of_json second sentences sequence sequencefile serde session_window sha sha1 sha2 shiftleft shiftright shiftrightunsigned shuffle sign signum sin sinh size skewness slice smallint some sort_array soundex space spark_partition_id split sqrt stack std stddev stddev_pop stddev_samp str_to_map string struct substr substring substring_index sum tan tanh textfile timestamp timestamp_micros timestamp_millis timestamp_seconds tinyint to_csv to_date to_json to_timestamp to_unix_timestamp to_utc_timestamp transform transform_keys transform_values translate trim trunc try_add try_divide typeof ucase unbase64 unhex uniontype unix_date unix_micros unix_millis unix_seconds unix_timestamp upper uuid var_pop var_samp variance version weekday weekofyear when width_bucket window xpath xpath_boolean xpath_double xpath_float xpath_int xpath_long xpath_number xpath_short xpath_string xxhash64 year zip_with"),atoms:s("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:s("date time timestamp"),support:s("doubleQuote zerolessFloat")}),o.defineMIME("text/x-esper",{name:"sql",client:s("source"),keywords:s("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:s("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:s("time"),support:s("decimallessFloat zerolessFloat binaryNumber hexNumber")}),o.defineMIME("text/x-trino",{name:"sql",keywords:s("abs absent acos add admin after all all_match alter analyze and any any_match approx_distinct approx_most_frequent approx_percentile approx_set arbitrary array_agg array_distinct array_except array_intersect array_join array_max array_min array_position array_remove array_sort array_union arrays_overlap as asc asin at at_timezone atan atan2 authorization avg bar bernoulli beta_cdf between bing_tile bing_tile_at bing_tile_coordinates bing_tile_polygon bing_tile_quadkey bing_tile_zoom_level bing_tiles_around bit_count bitwise_and bitwise_and_agg bitwise_left_shift bitwise_not bitwise_or bitwise_or_agg bitwise_right_shift bitwise_right_shift_arithmetic bitwise_xor bool_and bool_or both by call cardinality cascade case cast catalogs cbrt ceil ceiling char2hexint checksum chr classify coalesce codepoint column columns combinations comment commit committed concat concat_ws conditional constraint contains contains_sequence convex_hull_agg copartition corr cos cosh cosine_similarity count count_if covar_pop covar_samp crc32 create cross cube cume_dist current current_catalog current_date current_groups current_path current_role current_schema current_time current_timestamp current_timezone current_user data date_add date_diff date_format date_parse date_trunc day day_of_month day_of_week day_of_year deallocate default define definer degrees delete dense_rank deny desc describe descriptor distinct distributed dow doy drop e element_at else empty empty_approx_set encoding end error escape evaluate_classifier_predictions every except excluding execute exists exp explain extract false features fetch filter final first first_value flatten floor following for format format_datetime format_number from from_base from_base32 from_base64 from_base64url from_big_endian_32 from_big_endian_64 from_encoded_polyline from_geojson_geometry from_hex from_ieee754_32 from_ieee754_64 from_iso8601_date from_iso8601_timestamp from_iso8601_timestamp_nanos from_unixtime from_unixtime_nanos from_utf8 full functions geometric_mean geometry_from_hadoop_shape geometry_invalid_reason geometry_nearest_points geometry_to_bing_tiles geometry_union geometry_union_agg grant granted grants graphviz great_circle_distance greatest group grouping groups hamming_distance hash_counts having histogram hmac_md5 hmac_sha1 hmac_sha256 hmac_sha512 hour human_readable_seconds if ignore in including index infinity initial inner input insert intersect intersection_cardinality into inverse_beta_cdf inverse_normal_cdf invoker io is is_finite is_infinite is_json_scalar is_nan isolation jaccard_index join json_array json_array_contains json_array_get json_array_length json_exists json_extract json_extract_scalar json_format json_object json_parse json_query json_size json_value keep key keys kurtosis lag last last_day_of_month last_value lateral lead leading learn_classifier learn_libsvm_classifier learn_libsvm_regressor learn_regressor least left length level levenshtein_distance like limit line_interpolate_point line_interpolate_points line_locate_point listagg ln local localtime localtimestamp log log10 log2 logical lower lpad ltrim luhn_check make_set_digest map_agg map_concat map_entries map_filter map_from_entries map_keys map_union map_values map_zip_with match match_recognize matched matches materialized max max_by md5 measures merge merge_set_digest millisecond min min_by minute mod month multimap_agg multimap_from_entries murmur3 nan natural next nfc nfd nfkc nfkd ngrams no none none_match normal_cdf normalize not now nth_value ntile null nullif nulls numeric_histogram object objectid_timestamp of offset omit on one only option or order ordinality outer output over overflow parse_data_size parse_datetime parse_duration partition partitions passing past path pattern per percent_rank permute pi position pow power preceding prepare privileges properties prune qdigest_agg quarter quotes radians rand random range rank read recursive reduce reduce_agg refresh regexp_count regexp_extract regexp_extract_all regexp_like regexp_position regexp_replace regexp_split regr_intercept regr_slope regress rename render repeat repeatable replace reset respect restrict returning reverse revoke rgb right role roles rollback rollup round row_number rows rpad rtrim running scalar schema schemas second security seek select sequence serializable session set sets sha1 sha256 sha512 show shuffle sign simplify_geometry sin skewness skip slice some soundex spatial_partitioning spatial_partitions split split_part split_to_map split_to_multimap spooky_hash_v2_32 spooky_hash_v2_64 sqrt st_area st_asbinary st_astext st_boundary st_buffer st_centroid st_contains st_convexhull st_coorddim st_crosses st_difference st_dimension st_disjoint st_distance st_endpoint st_envelope st_envelopeaspts st_equals st_exteriorring st_geometries st_geometryfromtext st_geometryn st_geometrytype st_geomfrombinary st_interiorringn st_interiorrings st_intersection st_intersects st_isclosed st_isempty st_isring st_issimple st_isvalid st_length st_linefromtext st_linestring st_multipoint st_numgeometries st_numinteriorring st_numpoints st_overlaps st_point st_pointn st_points st_polygon st_relate st_startpoint st_symdifference st_touches st_union st_within st_x st_xmax st_xmin st_y st_ymax st_ymin start starts_with stats stddev stddev_pop stddev_samp string strpos subset substr substring sum system table tables tablesample tan tanh tdigest_agg text then ties timestamp_objectid timezone_hour timezone_minute to to_base to_base32 to_base64 to_base64url to_big_endian_32 to_big_endian_64 to_char to_date to_encoded_polyline to_geojson_geometry to_geometry to_hex to_ieee754_32 to_ieee754_64 to_iso8601 to_milliseconds to_spherical_geography to_timestamp to_unixtime to_utf8 trailing transaction transform transform_keys transform_values translate trim trim_array true truncate try try_cast type typeof uescape unbounded uncommitted unconditional union unique unknown unmatched unnest update upper url_decode url_encode url_extract_fragment url_extract_host url_extract_parameter url_extract_path url_extract_port url_extract_protocol url_extract_query use user using utf16 utf32 utf8 validate value value_at_quantile values values_at_quantiles var_pop var_samp variance verbose version view week week_of_year when where width_bucket wilson_interval_lower wilson_interval_upper window with with_timezone within without word_stem work wrapper write xxhash64 year year_of_week yow zip zip_with"),builtin:s("array bigint bingtile boolean char codepoints color date decimal double function geometry hyperloglog int integer interval ipaddress joniregexp json json2016 jsonpath kdbtree likepattern map model objectid p4hyperloglog precision qdigest re2jregexp real regressor row setdigest smallint sphericalgeography tdigest time timestamp tinyint uuid varbinary varchar zone"),atoms:s("false true null unknown"),operatorChars:/^[[\]|<>=!\-+*/%]/,dateSQL:s("date time timestamp zone"),support:s("decimallessFloat zerolessFloat hexNumber")})})});var ta=Ke(($u,Ku)=>{(function(o){typeof $u=="object"&&typeof Ku=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("stylus",function(E){for(var O=E.indentUnit,G="",J=_(p),re=/^(a|b|i|s|col|em)$/i,q=_(S),I=_(s),D=_(T),Q=_(g),j=_(v),V=M(v),y=_(b),K=_(C),X=_(h),N=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,R=M(w),le=_(c),xe=new RegExp(/^\-(moz|ms|o|webkit)-/i),F=_(d),L="",de={},ze,pe,Ee,ge;G.length|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),H.context.line.firstWord=L?L[0].replace(/^\s*/,""):"",H.context.line.indent=$.indentation(),ze=$.peek(),$.match("//"))return $.skipToEnd(),["comment","comment"];if($.match("/*"))return H.tokenize=qe,qe($,H);if(ze=='"'||ze=="'")return $.next(),H.tokenize=Se(ze),H.tokenize($,H);if(ze=="@")return $.next(),$.eatWhile(/[\w\\-]/),["def",$.current()];if(ze=="#"){if($.next(),$.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if($.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return $.match(xe)?["meta","vendor-prefixes"]:$.match(/^-?[0-9]?\.?[0-9]/)?($.eatWhile(/[a-z%]/i),["number","unit"]):ze=="!"?($.next(),[$.match(/^(important|optional)/i)?"keyword":"operator","important"]):ze=="."&&$.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:$.match(V)?($.peek()=="("&&(H.tokenize=Be),["property","word"]):$.match(/^[a-z][\w-]*\(/i)?($.backUp(1),["keyword","mixin"]):$.match(/^(\+|-)[a-z][\w-]*\(/i)?($.backUp(1),["keyword","block-mixin"]):$.string.match(/^\s*&/)&&$.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:$.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?($.backUp(1),["variable-3","reference"]):$.match(/^&{1}\s*$/)?["variable-3","reference"]:$.match(R)?["operator","operator"]:$.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?$.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!U($.current())?($.match("."),["variable-2","variable-name"]):["variable-2","word"]:$.match(N)?["operator",$.current()]:/[:;,{}\[\]\(\)]/.test(ze)?($.next(),[null,ze]):($.next(),[null,null])}function qe($,H){for(var se=!1,De;(De=$.next())!=null;){if(se&&De=="/"){H.tokenize=null;break}se=De=="*"}return["comment","comment"]}function Se($){return function(H,se){for(var De=!1,nt;(nt=H.next())!=null;){if(nt==$&&!De){$==")"&&H.backUp(1);break}De=!De&&nt=="\\"}return(nt==$||!De&&$!=")")&&(se.tokenize=null),["string","string"]}}function Be($,H){return $.next(),$.match(/\s*[\"\')]/,!1)?H.tokenize=null:H.tokenize=Se(")"),[null,"("]}function Ze($,H,se,De){this.type=$,this.indent=H,this.prev=se,this.line=De||{firstWord:"",indent:0}}function ke($,H,se,De){return De=De>=0?De:O,$.context=new Ze(se,H.indentation()+De,$.context),se}function Je($,H){var se=$.context.indent-O;return H=H||!1,$.context=$.context.prev,H&&($.context.indent=se),$.context.type}function Re($,H,se){return de[se.context.type]($,H,se)}function Ge($,H,se,De){for(var nt=De||1;nt>0;nt--)se.context=se.context.prev;return Re($,H,se)}function U($){return $.toLowerCase()in J}function Z($){return $=$.toLowerCase(),$ in q||$ in X}function ce($){return $.toLowerCase()in le}function He($){return $.toLowerCase().match(xe)}function te($){var H=$.toLowerCase(),se="variable-2";return U($)?se="tag":ce($)?se="block-keyword":Z($)?se="property":H in D||H in F?se="atom":H=="return"||H in Q?se="keyword":$.match(/^[A-Z]/)&&(se="string"),se}function fe($,H){return Me(H)&&($=="{"||$=="]"||$=="hash"||$=="qualifier")||$=="block-mixin"}function oe($,H){return $=="{"&&H.match(/^\s*\$?[\w-]+/i,!1)}function Ue($,H){return $==":"&&H.match(/^[a-z-]+/,!1)}function we($){return $.sol()||$.string.match(new RegExp("^\\s*"+W($.current())))}function Me($){return $.eol()||$.match(/^\s*$/,!1)}function Le($){var H=/^\s*[-_]*[a-z0-9]+[\w-]*/i,se=typeof $=="string"?$.match(H):$.string.match(H);return se?se[0].replace(/^\s*/,""):""}return de.block=function($,H,se){if($=="comment"&&we(H)||$==","&&Me(H)||$=="mixin")return ke(se,H,"block",0);if(oe($,H))return ke(se,H,"interpolation");if(Me(H)&&$=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(H.string)&&!U(Le(H)))return ke(se,H,"block",0);if(fe($,H))return ke(se,H,"block");if($=="}"&&Me(H))return ke(se,H,"block",0);if($=="variable-name")return H.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||ce(Le(H))?ke(se,H,"variableName"):ke(se,H,"variableName",0);if($=="=")return!Me(H)&&!ce(Le(H))?ke(se,H,"block",0):ke(se,H,"block");if($=="*"&&(Me(H)||H.match(/\s*(,|\.|#|\[|:|{)/,!1)))return ge="tag",ke(se,H,"block");if(Ue($,H))return ke(se,H,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test($))return ke(se,H,Me(H)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test($))return ke(se,H,"keyframes");if(/@extends?/.test($))return ke(se,H,"extend",0);if($&&$.charAt(0)=="@")return H.indentation()>0&&Z(H.current().slice(1))?(ge="variable-2","block"):/(@import|@require|@charset)/.test($)?ke(se,H,"block",0):ke(se,H,"block");if($=="reference"&&Me(H))return ke(se,H,"block");if($=="(")return ke(se,H,"parens");if($=="vendor-prefixes")return ke(se,H,"vendorPrefixes");if($=="word"){var De=H.current();if(ge=te(De),ge=="property")return we(H)?ke(se,H,"block",0):(ge="atom","block");if(ge=="tag"){if(/embed|menu|pre|progress|sub|table/.test(De)&&Z(Le(H))||H.string.match(new RegExp("\\[\\s*"+De+"|"+De+"\\s*\\]")))return ge="atom","block";if(re.test(De)&&(we(H)&&H.string.match(/=/)||!we(H)&&!H.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!U(Le(H))))return ge="variable-2",ce(Le(H))?"block":ke(se,H,"block",0);if(Me(H))return ke(se,H,"block")}if(ge=="block-keyword")return ge="keyword",H.current(/(if|unless)/)&&!we(H)?"block":ke(se,H,"block");if(De=="return")return ke(se,H,"block",0);if(ge=="variable-2"&&H.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return ke(se,H,"block")}return se.context.type},de.parens=function($,H,se){if($=="(")return ke(se,H,"parens");if($==")")return se.context.prev.type=="parens"?Je(se):H.string.match(/^[a-z][\w-]*\(/i)&&Me(H)||ce(Le(H))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Le(H))||!H.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&U(Le(H))?ke(se,H,"block"):H.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||H.string.match(/^\s*(\(|\)|[0-9])/)||H.string.match(/^\s+[a-z][\w-]*\(/i)||H.string.match(/^\s+[\$-]?[a-z]/i)?ke(se,H,"block",0):Me(H)?ke(se,H,"block"):ke(se,H,"block",0);if($&&$.charAt(0)=="@"&&Z(H.current().slice(1))&&(ge="variable-2"),$=="word"){var De=H.current();ge=te(De),ge=="tag"&&re.test(De)&&(ge="variable-2"),(ge=="property"||De=="to")&&(ge="atom")}return $=="variable-name"?ke(se,H,"variableName"):Ue($,H)?ke(se,H,"pseudo"):se.context.type},de.vendorPrefixes=function($,H,se){return $=="word"?(ge="property",ke(se,H,"block",0)):Je(se)},de.pseudo=function($,H,se){return Z(Le(H.string))?Ge($,H,se):(H.match(/^[a-z-]+/),ge="variable-3",Me(H)?ke(se,H,"block"):Je(se))},de.atBlock=function($,H,se){if($=="(")return ke(se,H,"atBlock_parens");if(fe($,H))return ke(se,H,"block");if(oe($,H))return ke(se,H,"interpolation");if($=="word"){var De=H.current().toLowerCase();if(/^(only|not|and|or)$/.test(De)?ge="keyword":j.hasOwnProperty(De)?ge="tag":K.hasOwnProperty(De)?ge="attribute":y.hasOwnProperty(De)?ge="property":I.hasOwnProperty(De)?ge="string-2":ge=te(H.current()),ge=="tag"&&Me(H))return ke(se,H,"block")}return $=="operator"&&/^(not|and|or)$/.test(H.current())&&(ge="keyword"),se.context.type},de.atBlock_parens=function($,H,se){if($=="{"||$=="}")return se.context.type;if($==")")return Me(H)?ke(se,H,"block"):ke(se,H,"atBlock");if($=="word"){var De=H.current().toLowerCase();return ge=te(De),/^(max|min)/.test(De)&&(ge="property"),ge=="tag"&&(re.test(De)?ge="variable-2":ge="atom"),se.context.type}return de.atBlock($,H,se)},de.keyframes=function($,H,se){return H.indentation()=="0"&&($=="}"&&we(H)||$=="]"||$=="hash"||$=="qualifier"||U(H.current()))?Ge($,H,se):$=="{"?ke(se,H,"keyframes"):$=="}"?we(H)?Je(se,!0):ke(se,H,"keyframes"):$=="unit"&&/^[0-9]+\%$/.test(H.current())?ke(se,H,"keyframes"):$=="word"&&(ge=te(H.current()),ge=="block-keyword")?(ge="keyword",ke(se,H,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test($)?ke(se,H,Me(H)?"block":"atBlock"):$=="mixin"?ke(se,H,"block",0):se.context.type},de.interpolation=function($,H,se){return $=="{"&&Je(se)&&ke(se,H,"block"),$=="}"?H.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||H.string.match(/^\s*[a-z]/i)&&U(Le(H))?ke(se,H,"block"):!H.string.match(/^(\{|\s*\&)/)||H.match(/\s*[\w-]/,!1)?ke(se,H,"block",0):ke(se,H,"block"):$=="variable-name"?ke(se,H,"variableName",0):($=="word"&&(ge=te(H.current()),ge=="tag"&&(ge="atom")),se.context.type)},de.extend=function($,H,se){return $=="["||$=="="?"extend":$=="]"?Je(se):$=="word"?(ge=te(H.current()),"extend"):Je(se)},de.variableName=function($,H,se){return $=="string"||$=="["||$=="]"||H.current().match(/^(\.|\$)/)?(H.current().match(/^\.[\w-]+/i)&&(ge="variable-2"),"variableName"):Ge($,H,se)},{startState:function($){return{tokenize:null,state:"block",context:new Ze("block",$||0,null)}},token:function($,H){return!H.tokenize&&$.eatSpace()?null:(pe=(H.tokenize||Oe)($,H),pe&&typeof pe=="object"&&(Ee=pe[1],pe=pe[0]),ge=pe,H.state=de[H.state](Ee,$,H),ge)},indent:function($,H,se){var De=$.context,nt=H&&H.charAt(0),dt=De.indent,Pt=Le(H),Ft=se.match(/^\s*/)[0].replace(/\t/g,G).length,Pe=$.context.prev?$.context.prev.line.firstWord:"",xt=$.context.prev?$.context.prev.line.indent:Ft;return De.prev&&(nt=="}"&&(De.type=="block"||De.type=="atBlock"||De.type=="keyframes")||nt==")"&&(De.type=="parens"||De.type=="atBlock_parens")||nt=="{"&&De.type=="at")?dt=De.indent-O:/(\})/.test(nt)||(/@|\$|\d/.test(nt)||/^\{/.test(H)||/^\s*\/(\/|\*)/.test(H)||/^\s*\/\*/.test(Pe)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(H)||/^(\+|-)?[a-z][\w-]*\(/i.test(H)||/^return/.test(H)||ce(Pt)?dt=Ft:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(nt)||U(Pt)?/\,\s*$/.test(Pe)?dt=xt:/^\s+/.test(se)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(Pe)||U(Pe))?dt=Ft<=xt?xt:xt+O:dt=Ft:!/,\s*$/.test(se)&&(He(Pt)||Z(Pt))&&(ce(Pe)?dt=Ft<=xt?xt:xt+O:/^\{/.test(Pe)?dt=Ft<=xt?Ft:xt+O:He(Pe)||Z(Pe)?dt=Ft>=xt?xt:Ft:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(Pe)||/=\s*$/.test(Pe)||U(Pe)||/^\$[\w-\.\[\]\'\"]/.test(Pe)?dt=xt+O:dt=Ft)),dt},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var p=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],v=["domain","regexp","url-prefix","url"],C=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],b=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],S=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],s=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],h=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],T=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-play-button","media-slider","media-sliderthumb","media-volume-slider","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],w=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],c=["for","if","else","unless","from","to"],d=["null","true","false","href","title","type","not-allowed","readonly","disabled"],k=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],z=p.concat(v,C,b,S,s,g,T,h,w,c,d,k);function M(E){return E=E.sort(function(O,G){return G>O}),new RegExp("^(("+E.join(")|(")+"))\\b")}function _(E){for(var O={},G=0;G{(function(o){typeof Gu=="object"&&typeof Zu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";function p(q){for(var I={},D=0;D~^?!",h=":;,.(){}[]",g=/^\-?0b[01][01_]*/,T=/^\-?0o[0-7][0-7_]*/,w=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,c=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,d=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,k=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,z=/^\#[A-Za-z]+/,M=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function _(q,I,D){if(q.sol()&&(I.indented=q.indentation()),q.eatSpace())return null;var Q=q.peek();if(Q=="/"){if(q.match("//"))return q.skipToEnd(),"comment";if(q.match("/*"))return I.tokenize.push(O),O(q,I)}if(q.match(z))return"builtin";if(q.match(M))return"attribute";if(q.match(g)||q.match(T)||q.match(w)||q.match(c))return"number";if(q.match(k))return"property";if(s.indexOf(Q)>-1)return q.next(),"operator";if(h.indexOf(Q)>-1)return q.next(),q.match(".."),"punctuation";var j;if(j=q.match(/("""|"|')/)){var V=E.bind(null,j[0]);return I.tokenize.push(V),V(q,I)}if(q.match(d)){var y=q.current();return S.hasOwnProperty(y)?"variable-2":b.hasOwnProperty(y)?"atom":v.hasOwnProperty(y)?(C.hasOwnProperty(y)&&(I.prev="define"),"keyword"):D=="define"?"def":"variable"}return q.next(),null}function W(){var q=0;return function(I,D,Q){var j=_(I,D,Q);if(j=="punctuation"){if(I.current()=="(")++q;else if(I.current()==")"){if(q==0)return I.backUp(1),D.tokenize.pop(),D.tokenize[D.tokenize.length-1](I,D);--q}}return j}}function E(q,I,D){for(var Q=q.length==1,j,V=!1;j=I.peek();)if(V){if(I.next(),j=="(")return D.tokenize.push(W()),"string";V=!1}else{if(I.match(q))return D.tokenize.pop(),"string";I.next(),V=j=="\\"}return Q&&D.tokenize.pop(),"string"}function O(q,I){for(var D;D=q.next();)if(D==="/"&&q.eat("*"))I.tokenize.push(O);else if(D==="*"&&q.eat("/")){I.tokenize.pop();break}return"comment"}function G(q,I,D){this.prev=q,this.align=I,this.indented=D}function J(q,I){var D=I.match(/^\s*($|\/[\/\*])/,!1)?null:I.column()+1;q.context=new G(q.context,D,q.indented)}function re(q){q.context&&(q.indented=q.context.indented,q.context=q.context.prev)}o.defineMode("swift",function(q){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(I,D){var Q=D.prev;D.prev=null;var j=D.tokenize[D.tokenize.length-1]||_,V=j(I,D,Q);if(!V||V=="comment"?D.prev=Q:D.prev||(D.prev=V),V=="punctuation"){var y=/[\(\[\{]|([\]\)\}])/.exec(I.current());y&&(y[1]?re:J)(D,I)}return V},indent:function(I,D){var Q=I.context;if(!Q)return 0;var j=/^[\]\}\)]/.test(D);return Q.align!=null?Q.align-(j?1:0):Q.indented+(j?0:q.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),o.defineMIME("text/x-swift","swift")})});var Vu=Ke((Yu,Qu)=>{(function(o){typeof Yu=="object"&&typeof Qu=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("coffeescript",function(p,v){var C="error";function b(I){return new RegExp("^(("+I.join(")|(")+"))\\b")}var S=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,s=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,h=/^[_A-Za-z$][_A-Za-z$0-9]*/,g=/^@[_A-Za-z$][_A-Za-z$0-9]*/,T=b(["and","or","not","is","isnt","in","instanceof","typeof"]),w=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],c=["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"],d=b(w.concat(c));w=b(w);var k=/^('{3}|\"{3}|['\"])/,z=/^(\/{3}|\/)/,M=["Infinity","NaN","undefined","null","true","false","on","off","yes","no"],_=b(M);function W(I,D){if(I.sol()){D.scope.align===null&&(D.scope.align=!1);var Q=D.scope.offset;if(I.eatSpace()){var j=I.indentation();return j>Q&&D.scope.type=="coffee"?"indent":j0&&J(I,D)}if(I.eatSpace())return null;var V=I.peek();if(I.match("####"))return I.skipToEnd(),"comment";if(I.match("###"))return D.tokenize=O,D.tokenize(I,D);if(V==="#")return I.skipToEnd(),"comment";if(I.match(/^-?[0-9\.]/,!1)){var y=!1;if(I.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(y=!0),I.match(/^-?\d+\.\d*/)&&(y=!0),I.match(/^-?\.\d+/)&&(y=!0),y)return I.peek()=="."&&I.backUp(1),"number";var K=!1;if(I.match(/^-?0x[0-9a-f]+/i)&&(K=!0),I.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(K=!0),I.match(/^-?0(?![\dx])/i)&&(K=!0),K)return"number"}if(I.match(k))return D.tokenize=E(I.current(),!1,"string"),D.tokenize(I,D);if(I.match(z)){if(I.current()!="/"||I.match(/^.*\//,!1))return D.tokenize=E(I.current(),!0,"string-2"),D.tokenize(I,D);I.backUp(1)}return I.match(S)||I.match(T)?"operator":I.match(s)?"punctuation":I.match(_)?"atom":I.match(g)||D.prop&&I.match(h)?"property":I.match(d)?"keyword":I.match(h)?"variable":(I.next(),C)}function E(I,D,Q){return function(j,V){for(;!j.eol();)if(j.eatWhile(/[^'"\/\\]/),j.eat("\\")){if(j.next(),D&&j.eol())return Q}else{if(j.match(I))return V.tokenize=W,Q;j.eat(/['"\/]/)}return D&&(v.singleLineStringErrors?Q=C:V.tokenize=W),Q}}function O(I,D){for(;!I.eol();){if(I.eatWhile(/[^#]/),I.match("###")){D.tokenize=W;break}I.eatWhile("#")}return"comment"}function G(I,D,Q){Q=Q||"coffee";for(var j=0,V=!1,y=null,K=D.scope;K;K=K.prev)if(K.type==="coffee"||K.type=="}"){j=K.offset+p.indentUnit;break}Q!=="coffee"?(V=null,y=I.column()+I.current().length):D.scope.align&&(D.scope.align=!1),D.scope={offset:j,type:Q,prev:D.scope,align:V,alignOffset:y}}function J(I,D){if(D.scope.prev)if(D.scope.type==="coffee"){for(var Q=I.indentation(),j=!1,V=D.scope;V;V=V.prev)if(Q===V.offset){j=!0;break}if(!j)return!0;for(;D.scope.prev&&D.scope.offset!==Q;)D.scope=D.scope.prev;return!1}else return D.scope=D.scope.prev,!1}function re(I,D){var Q=D.tokenize(I,D),j=I.current();j==="return"&&(D.dedent=!0),((j==="->"||j==="=>")&&I.eol()||Q==="indent")&&G(I,D);var V="[({".indexOf(j);if(V!==-1&&G(I,D,"])}".slice(V,V+1)),w.exec(j)&&G(I,D),j=="then"&&J(I,D),Q==="dedent"&&J(I,D))return C;if(V="])}".indexOf(j),V!==-1){for(;D.scope.type=="coffee"&&D.scope.prev;)D.scope=D.scope.prev;D.scope.type==j&&(D.scope=D.scope.prev)}return D.dedent&&I.eol()&&(D.scope.type=="coffee"&&D.scope.prev&&(D.scope=D.scope.prev),D.dedent=!1),Q}var q={startState:function(I){return{tokenize:W,scope:{offset:I||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(I,D){var Q=D.scope.align===null&&D.scope;Q&&I.sol()&&(Q.align=!1);var j=re(I,D);return j&&j!="comment"&&(Q&&(Q.align=!0),D.prop=j=="punctuation"&&I.current()=="."),j},indent:function(I,D){if(I.tokenize!=W)return 0;var Q=I.scope,j=D&&"])}".indexOf(D.charAt(0))>-1;if(j)for(;Q.type=="coffee"&&Q.prev;)Q=Q.prev;var V=j&&Q.type===D.charAt(0);return Q.align?Q.alignOffset-(V?1:0):(V?Q.prev:Q).offset},lineComment:"#",fold:"indent"};return q}),o.defineMIME("application/vnd.coffeescript","coffeescript"),o.defineMIME("text/x-coffeescript","coffeescript"),o.defineMIME("text/coffeescript","coffeescript")})});var tc=Ke((Ju,ec)=>{(function(o){typeof Ju=="object"&&typeof ec=="object"?o(We(),vn(),gn(),Qn()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../javascript/javascript","../css/css","../htmlmixed/htmlmixed"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("pug",function(p){var v="keyword",C="meta",b="builtin",S="qualifier",s={"{":"}","(":")","[":"]"},h=o.getMode(p,"javascript");function g(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=o.startState(h),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}g.prototype.copy=function(){var U=new g;return U.javaScriptLine=this.javaScriptLine,U.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,U.javaScriptArguments=this.javaScriptArguments,U.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,U.isInterpolating=this.isInterpolating,U.interpolationNesting=this.interpolationNesting,U.jsState=o.copyState(h,this.jsState),U.innerMode=this.innerMode,this.innerMode&&this.innerState&&(U.innerState=o.copyState(this.innerMode,this.innerState)),U.restOfLine=this.restOfLine,U.isIncludeFiltered=this.isIncludeFiltered,U.isEach=this.isEach,U.lastTag=this.lastTag,U.scriptType=this.scriptType,U.isAttrs=this.isAttrs,U.attrsNest=this.attrsNest.slice(),U.inAttributeName=this.inAttributeName,U.attributeIsType=this.attributeIsType,U.attrValue=this.attrValue,U.indentOf=this.indentOf,U.indentToken=this.indentToken,U.innerModeForLine=this.innerModeForLine,U};function T(U,Z){if(U.sol()&&(Z.javaScriptLine=!1,Z.javaScriptLineExcludesColon=!1),Z.javaScriptLine){if(Z.javaScriptLineExcludesColon&&U.peek()===":"){Z.javaScriptLine=!1,Z.javaScriptLineExcludesColon=!1;return}var ce=h.token(U,Z.jsState);return U.eol()&&(Z.javaScriptLine=!1),ce||!0}}function w(U,Z){if(Z.javaScriptArguments){if(Z.javaScriptArgumentsDepth===0&&U.peek()!=="("){Z.javaScriptArguments=!1;return}if(U.peek()==="("?Z.javaScriptArgumentsDepth++:U.peek()===")"&&Z.javaScriptArgumentsDepth--,Z.javaScriptArgumentsDepth===0){Z.javaScriptArguments=!1;return}var ce=h.token(U,Z.jsState);return ce||!0}}function c(U){if(U.match(/^yield\b/))return"keyword"}function d(U){if(U.match(/^(?:doctype) *([^\n]+)?/))return C}function k(U,Z){if(U.match("#{"))return Z.isInterpolating=!0,Z.interpolationNesting=0,"punctuation"}function z(U,Z){if(Z.isInterpolating){if(U.peek()==="}"){if(Z.interpolationNesting--,Z.interpolationNesting<0)return U.next(),Z.isInterpolating=!1,"punctuation"}else U.peek()==="{"&&Z.interpolationNesting++;return h.token(U,Z.jsState)||!0}}function M(U,Z){if(U.match(/^case\b/))return Z.javaScriptLine=!0,v}function _(U,Z){if(U.match(/^when\b/))return Z.javaScriptLine=!0,Z.javaScriptLineExcludesColon=!0,v}function W(U){if(U.match(/^default\b/))return v}function E(U,Z){if(U.match(/^extends?\b/))return Z.restOfLine="string",v}function O(U,Z){if(U.match(/^append\b/))return Z.restOfLine="variable",v}function G(U,Z){if(U.match(/^prepend\b/))return Z.restOfLine="variable",v}function J(U,Z){if(U.match(/^block\b *(?:(prepend|append)\b)?/))return Z.restOfLine="variable",v}function re(U,Z){if(U.match(/^include\b/))return Z.restOfLine="string",v}function q(U,Z){if(U.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&U.match("include"))return Z.isIncludeFiltered=!0,v}function I(U,Z){if(Z.isIncludeFiltered){var ce=R(U,Z);return Z.isIncludeFiltered=!1,Z.restOfLine="string",ce}}function D(U,Z){if(U.match(/^mixin\b/))return Z.javaScriptLine=!0,v}function Q(U,Z){if(U.match(/^\+([-\w]+)/))return U.match(/^\( *[-\w]+ *=/,!1)||(Z.javaScriptArguments=!0,Z.javaScriptArgumentsDepth=0),"variable";if(U.match("+#{",!1))return U.next(),Z.mixinCallAfter=!0,k(U,Z)}function j(U,Z){if(Z.mixinCallAfter)return Z.mixinCallAfter=!1,U.match(/^\( *[-\w]+ *=/,!1)||(Z.javaScriptArguments=!0,Z.javaScriptArgumentsDepth=0),!0}function V(U,Z){if(U.match(/^(if|unless|else if|else)\b/))return Z.javaScriptLine=!0,v}function y(U,Z){if(U.match(/^(- *)?(each|for)\b/))return Z.isEach=!0,v}function K(U,Z){if(Z.isEach){if(U.match(/^ in\b/))return Z.javaScriptLine=!0,Z.isEach=!1,v;if(U.sol()||U.eol())Z.isEach=!1;else if(U.next()){for(;!U.match(/^ in\b/,!1)&&U.next(););return"variable"}}}function X(U,Z){if(U.match(/^while\b/))return Z.javaScriptLine=!0,v}function N(U,Z){var ce;if(ce=U.match(/^(\w(?:[-:\w]*\w)?)\/?/))return Z.lastTag=ce[1].toLowerCase(),Z.lastTag==="script"&&(Z.scriptType="application/javascript"),"tag"}function R(U,Z){if(U.match(/^:([\w\-]+)/)){var ce;return p&&p.innerModes&&(ce=p.innerModes(U.current().substring(1))),ce||(ce=U.current().substring(1)),typeof ce=="string"&&(ce=o.getMode(p,ce)),Be(U,Z,ce),"atom"}}function le(U,Z){if(U.match(/^(!?=|-)/))return Z.javaScriptLine=!0,"punctuation"}function xe(U){if(U.match(/^#([\w-]+)/))return b}function F(U){if(U.match(/^\.([\w-]+)/))return S}function L(U,Z){if(U.peek()=="(")return U.next(),Z.isAttrs=!0,Z.attrsNest=[],Z.inAttributeName=!0,Z.attrValue="",Z.attributeIsType=!1,"punctuation"}function de(U,Z){if(Z.isAttrs){if(s[U.peek()]&&Z.attrsNest.push(s[U.peek()]),Z.attrsNest[Z.attrsNest.length-1]===U.peek())Z.attrsNest.pop();else if(U.eat(")"))return Z.isAttrs=!1,"punctuation";if(Z.inAttributeName&&U.match(/^[^=,\)!]+/))return(U.peek()==="="||U.peek()==="!")&&(Z.inAttributeName=!1,Z.jsState=o.startState(h),Z.lastTag==="script"&&U.current().trim().toLowerCase()==="type"?Z.attributeIsType=!0:Z.attributeIsType=!1),"attribute";var ce=h.token(U,Z.jsState);if(Z.attributeIsType&&ce==="string"&&(Z.scriptType=U.current().toString()),Z.attrsNest.length===0&&(ce==="string"||ce==="variable"||ce==="keyword"))try{return Function("","var x "+Z.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),Z.inAttributeName=!0,Z.attrValue="",U.backUp(U.current().length),de(U,Z)}catch{}return Z.attrValue+=U.current(),ce||!0}}function ze(U,Z){if(U.match(/^&attributes\b/))return Z.javaScriptArguments=!0,Z.javaScriptArgumentsDepth=0,"keyword"}function pe(U){if(U.sol()&&U.eatSpace())return"indent"}function Ee(U,Z){if(U.match(/^ *\/\/(-)?([^\n]*)/))return Z.indentOf=U.indentation(),Z.indentToken="comment","comment"}function ge(U){if(U.match(/^: */))return"colon"}function Oe(U,Z){if(U.match(/^(?:\| ?| )([^\n]+)/))return"string";if(U.match(/^(<[^\n]*)/,!1))return Be(U,Z,"htmlmixed"),Z.innerModeForLine=!0,Ze(U,Z,!0)}function qe(U,Z){if(U.eat(".")){var ce=null;return Z.lastTag==="script"&&Z.scriptType.toLowerCase().indexOf("javascript")!=-1?ce=Z.scriptType.toLowerCase().replace(/"|'/g,""):Z.lastTag==="style"&&(ce="css"),Be(U,Z,ce),"dot"}}function Se(U){return U.next(),null}function Be(U,Z,ce){ce=o.mimeModes[ce]||ce,ce=p.innerModes&&p.innerModes(ce)||ce,ce=o.mimeModes[ce]||ce,ce=o.getMode(p,ce),Z.indentOf=U.indentation(),ce&&ce.name!=="null"?Z.innerMode=ce:Z.indentToken="string"}function Ze(U,Z,ce){if(U.indentation()>Z.indentOf||Z.innerModeForLine&&!U.sol()||ce)return Z.innerMode?(Z.innerState||(Z.innerState=Z.innerMode.startState?o.startState(Z.innerMode,U.indentation()):{}),U.hideFirstChars(Z.indentOf+2,function(){return Z.innerMode.token(U,Z.innerState)||!0})):(U.skipToEnd(),Z.indentToken);U.sol()&&(Z.indentOf=1/0,Z.indentToken=null,Z.innerMode=null,Z.innerState=null)}function ke(U,Z){if(U.sol()&&(Z.restOfLine=""),Z.restOfLine){U.skipToEnd();var ce=Z.restOfLine;return Z.restOfLine="",ce}}function Je(){return new g}function Re(U){return U.copy()}function Ge(U,Z){var ce=Ze(U,Z)||ke(U,Z)||z(U,Z)||I(U,Z)||K(U,Z)||de(U,Z)||T(U,Z)||w(U,Z)||j(U,Z)||c(U)||d(U)||k(U,Z)||M(U,Z)||_(U,Z)||W(U)||E(U,Z)||O(U,Z)||G(U,Z)||J(U,Z)||re(U,Z)||q(U,Z)||D(U,Z)||Q(U,Z)||V(U,Z)||y(U,Z)||X(U,Z)||N(U,Z)||R(U,Z)||le(U,Z)||xe(U)||F(U)||L(U,Z)||ze(U,Z)||pe(U)||Oe(U,Z)||Ee(U,Z)||ge(U)||qe(U,Z)||Se(U);return ce===!0?null:ce}return{startState:Je,copyState:Re,token:Ge}},"javascript","css","htmlmixed"),o.defineMIME("text/x-pug","pug"),o.defineMIME("text/x-jade","pug")})});var ic=Ke((rc,nc)=>{(function(o){typeof rc=="object"&&typeof nc=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.multiplexingMode=function(p){var v=Array.prototype.slice.call(arguments,1);function C(b,S,s,h){if(typeof S=="string"){var g=b.indexOf(S,s);return h&&g>-1?g+S.length:g}var T=S.exec(s?b.slice(s):b);return T?T.index+s+(h?T[0].length:0):-1}return{startState:function(){return{outer:o.startState(p),innerActive:null,inner:null,startingInner:!1}},copyState:function(b){return{outer:o.copyState(p,b.outer),innerActive:b.innerActive,inner:b.innerActive&&o.copyState(b.innerActive.mode,b.inner),startingInner:b.startingInner}},token:function(b,S){if(S.innerActive){var z=S.innerActive,h=b.string;if(!z.close&&b.sol())return S.innerActive=S.inner=null,this.token(b,S);var w=z.close&&!S.startingInner?C(h,z.close,b.pos,z.parseDelimiters):-1;if(w==b.pos&&!z.parseDelimiters)return b.match(z.close),S.innerActive=S.inner=null,z.delimStyle&&z.delimStyle+" "+z.delimStyle+"-close";w>-1&&(b.string=h.slice(0,w));var M=z.mode.token(b,S.inner);return w>-1?b.string=h:b.pos>b.start&&(S.startingInner=!1),w==b.pos&&z.parseDelimiters&&(S.innerActive=S.inner=null),z.innerStyle&&(M?M=M+" "+z.innerStyle:M=z.innerStyle),M}else{for(var s=1/0,h=b.string,g=0;g{(function(o){typeof oc=="object"&&typeof ac=="object"?o(We(),Di(),ic()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/simple","../../addon/mode/multiplex"],o):o(CodeMirror)})(function(o){"use strict";o.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{\{/,push:"handlebars_raw",token:"tag"},{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars_raw:[{regex:/\}\}\}/,pop:!0,token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),o.defineMode("handlebars",function(p,v){var C=o.getMode(p,"handlebars-tags");return!v||!v.base?C:o.multiplexingMode(o.getMode(p,v.base),{open:"{{",close:/\}\}\}?/,mode:C,parseDelimiters:!0})}),o.defineMIME("text/x-handlebars-template","handlebars")})});var cc=Ke((sc,uc)=>{(function(o){"use strict";typeof sc=="object"&&typeof uc=="object"?o(We(),Yn(),mn(),vn(),Vu(),gn(),ea(),ta(),tc(),lc()):typeof define=="function"&&define.amd?define(["../../lib/codemirror","../../addon/mode/overlay","../xml/xml","../javascript/javascript","../coffeescript/coffeescript","../css/css","../sass/sass","../stylus/stylus","../pug/pug","../handlebars/handlebars"],o):o(CodeMirror)})(function(o){var p={script:[["lang",/coffee(script)?/,"coffeescript"],["type",/^(?:text|application)\/(?:x-)?coffee(?:script)?$/,"coffeescript"],["lang",/^babel$/,"javascript"],["type",/^text\/babel$/,"javascript"],["type",/^text\/ecmascript-\d+$/,"javascript"]],style:[["lang",/^stylus$/i,"stylus"],["lang",/^sass$/i,"sass"],["lang",/^less$/i,"text/x-less"],["lang",/^scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?styl(us)?$/i,"stylus"],["type",/^text\/sass/i,"sass"],["type",/^(text\/)?(x-)?scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?less$/i,"text/x-less"]],template:[["lang",/^vue-template$/i,"vue"],["lang",/^pug$/i,"pug"],["lang",/^handlebars$/i,"handlebars"],["type",/^(text\/)?(x-)?pug$/i,"pug"],["type",/^text\/x-handlebars-template$/i,"handlebars"],[null,null,"vue-template"]]};o.defineMode("vue-template",function(v,C){var b={token:function(S){if(S.match(/^\{\{.*?\}\}/))return"meta mustache";for(;S.next()&&!S.match("{{",!1););return null}};return o.overlayMode(o.getMode(v,C.backdrop||"text/html"),b)}),o.defineMode("vue",function(v){return o.getMode(v,{name:"htmlmixed",tags:p})},"htmlmixed","xml","javascript","coffeescript","css","sass","stylus","pug","handlebars"),o.defineMIME("script/x-vue","vue"),o.defineMIME("text/x-vue","vue")})});var pc=Ke((fc,dc)=>{(function(o){typeof fc=="object"&&typeof dc=="object"?o(We()):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],o):o(CodeMirror)})(function(o){"use strict";o.defineMode("yaml",function(){var p=["true","false","on","off","yes","no"],v=new RegExp("\\b(("+p.join(")|(")+"))$","i");return{token:function(C,b){var S=C.peek(),s=b.escaped;if(b.escaped=!1,S=="#"&&(C.pos==0||/\s/.test(C.string.charAt(C.pos-1))))return C.skipToEnd(),"comment";if(C.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(b.literal&&C.indentation()>b.keyCol)return C.skipToEnd(),"string";if(b.literal&&(b.literal=!1),C.sol()){if(b.keyCol=0,b.pair=!1,b.pairStart=!1,C.match("---")||C.match("..."))return"def";if(C.match(/\s*-\s+/))return"meta"}if(C.match(/^(\{|\}|\[|\])/))return S=="{"?b.inlinePairs++:S=="}"?b.inlinePairs--:S=="["?b.inlineList++:b.inlineList--,"meta";if(b.inlineList>0&&!s&&S==",")return C.next(),"meta";if(b.inlinePairs>0&&!s&&S==",")return b.keyCol=0,b.pair=!1,b.pairStart=!1,C.next(),"meta";if(b.pairStart){if(C.match(/^\s*(\||\>)\s*/))return b.literal=!0,"meta";if(C.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(b.inlinePairs==0&&C.match(/^\s*-?[0-9\.\,]+\s?$/)||b.inlinePairs>0&&C.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(C.match(v))return"keyword"}return!b.pair&&C.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^\s,\[\]{}#&*!|>'"%@`])[^#:]*(?=:($|\s))/)?(b.pair=!0,b.keyCol=C.indentation(),"atom"):b.pair&&C.match(/^:\s*/)?(b.pairStart=!0,"meta"):(b.pairStart=!1,b.escaped=S=="\\",C.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}}),o.defineMIME("text/x-yaml","yaml"),o.defineMIME("text/yaml","yaml")})});var $d={};function qd(o){for(var p;(p=Md.exec(o))!==null;){var v=p[0];if(v.indexOf("target=")===-1){var C=v.replace(/>$/,' target="_blank">');o=o.replace(v,C)}}return o}function Fd(o){for(var p=new DOMParser,v=p.parseFromString(o,"text/html"),C=v.getElementsByTagName("li"),b=0;b0){for(var d=document.createElement("i"),k=0;k=0&&(x=s.getLineHandle(d),!v(x));d--);var R=s.getTokenAt({line:d,ch:1}),M=C(R).fencedChars,H,Z,ee,re;v(s.getLineHandle(p.line))?(H="",Z=p.line):v(s.getLineHandle(p.line-1))?(H="",Z=p.line-1):(H=M+` -`,Z=p.line),v(s.getLineHandle(g.line))?(ee="",re=g.line,g.ch===0&&(re+=1)):g.ch!==0&&v(s.getLineHandle(g.line+1))?(ee="",re=g.line+1):(ee=M+` -`,re=g.line+1),g.ch===0&&(re-=1),s.operation(function(){s.replaceRange(ee,{line:re,ch:0},{line:re+(ee?0:1),ch:0}),s.replaceRange(H,{line:Z,ch:0},{line:Z+(H?0:1),ch:0})}),s.setSelection({line:Z+(H?1:0),ch:0},{line:re+(H?1:-1),ch:0}),s.focus()}else{var N=p.line;if(v(s.getLineHandle(p.line))&&(b(s,p.line+1)==="fenced"?(d=p.line,N=p.line+1):(w=p.line,N=p.line-1)),d===void 0)for(d=N;d>=0&&(x=s.getLineHandle(d),!v(x));d--);if(w===void 0)for(E=s.lineCount(),w=N;w=0;d--)if(x=s.getLineHandle(d),!x.text.match(/^\s*$/)&&b(s,d,x)!=="indented"){d+=1;break}for(E=s.lineCount(),w=p.line;w\s+/,"unordered-list":C,"ordered-list":C},L=function(E,z){var y={quote:">","unordered-list":v,"ordered-list":"%%i."};return y[E].replace("%%i",z)},x=function(E,z){var y={quote:">","unordered-list":"\\"+v,"ordered-list":"\\d+."},R=new RegExp(y[E]);return z&&R.test(z)},c=function(E,z,y){var R=C.exec(z),M=L(E,d);return R!==null?(x(E,R[2])&&(M=""),z=R[1]+M+R[3]+z.replace(b,"").replace(g[E],"$1")):y==!1&&(z=M+" "+z),z},d=1,w=s.line;w<=p.line;w++)(function(E){var z=o.getLine(E);S[h]?z=z.replace(g[h],"$1"):(h=="unordered-list"&&(z=c("ordered-list",z,!0)),z=c(h,z,!1),d+=1),o.replaceRange(z,{line:E,ch:0},{line:E,ch:99999999999999})})(w);o.focus()}}function xc(o,h,v,C){if(!(!o.codemirror||o.isPreviewActive())){var b=o.codemirror,S=Tr(b),s=S[h];if(!s){Rr(b,s,v,C);return}var p=b.getCursor("start"),g=b.getCursor("end"),L=b.getLine(p.line),x=L.slice(0,p.ch),c=L.slice(p.ch);h=="link"?x=x.replace(/(.*)[^!]\[/,"$1"):h=="image"&&(x=x.replace(/(.*)!\[$/,"$1")),c=c.replace(/]\(.*?\)/,""),b.replaceRange(x+c,{line:p.line,ch:0},{line:p.line,ch:99999999999999}),p.ch-=v[0].length,p!==g&&(g.ch-=v[0].length),b.setSelection(p,g),b.focus()}}function sa(o,h,v,C){if(!(!o.codemirror||o.isPreviewActive())){C=typeof C>"u"?v:C;var b=o.codemirror,S=Tr(b),s,p=v,g=C,L=b.getCursor("start"),x=b.getCursor("end");S[h]?(s=b.getLine(L.line),p=s.slice(0,L.ch),g=s.slice(L.ch),h=="bold"?(p=p.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),g=g.replace(/(\*\*|__)/,"")):h=="italic"?(p=p.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),g=g.replace(/(\*|_)/,"")):h=="strikethrough"&&(p=p.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),g=g.replace(/(\*\*|~~)/,"")),b.replaceRange(p+g,{line:L.line,ch:0},{line:L.line,ch:99999999999999}),h=="bold"||h=="strikethrough"?(L.ch-=2,L!==x&&(x.ch-=2)):h=="italic"&&(L.ch-=1,L!==x&&(x.ch-=1))):(s=b.getSelection(),h=="bold"?(s=s.split("**").join(""),s=s.split("__").join("")):h=="italic"?(s=s.split("*").join(""),s=s.split("_").join("")):h=="strikethrough"&&(s=s.split("~~").join("")),b.replaceSelection(p+s+g),L.ch+=v.length,x.ch=L.ch+s.length),b.setSelection(L,x),b.focus()}}function Pd(o){if(!o.getWrapperElement().lastChild.classList.contains("editor-preview-active"))for(var h=o.getCursor("start"),v=o.getCursor("end"),C,b=h.line;b<=v.line;b++)C=o.getLine(b),C=C.replace(/^[ ]*([# ]+|\*|-|[> ]+|[0-9]+(.|\)))[ ]*/,""),o.replaceRange(C,{line:b,ch:0},{line:b,ch:99999999999999})}function Ii(o,h){if(Math.abs(o)<1024)return""+o+h[0];var v=0;do o/=1024,++v;while(Math.abs(o)>=1024&&v=19968?C+=v[b].length:C+=1;return C}function Te(o){o=o||{},o.parent=this;var h=!0;if(o.autoDownloadFontAwesome===!1&&(h=!1),o.autoDownloadFontAwesome!==!0)for(var v=document.styleSheets,C=0;C-1&&(h=!1);if(h){var b=document.createElement("link");b.rel="stylesheet",b.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(b)}if(o.element)this.element=o.element;else if(o.element===null){console.log("EasyMDE: Error. No element was found.");return}if(o.toolbar===void 0){o.toolbar=[];for(var S in Pr)Object.prototype.hasOwnProperty.call(Pr,S)&&(S.indexOf("separator-")!=-1&&o.toolbar.push("|"),(Pr[S].default===!0||o.showIcons&&o.showIcons.constructor===Array&&o.showIcons.indexOf(S)!=-1)&&o.toolbar.push(S))}if(Object.prototype.hasOwnProperty.call(o,"previewClass")||(o.previewClass="editor-preview"),Object.prototype.hasOwnProperty.call(o,"status")||(o.status=["autosave","lines","words","cursor"],o.uploadImage&&o.status.unshift("upload-image")),o.previewRender||(o.previewRender=function(p){return this.parent.markdown(p)}),o.parsingConfig=fr({highlightFormatting:!0},o.parsingConfig||{}),o.insertTexts=fr({},jd,o.insertTexts||{}),o.promptTexts=fr({},Rd,o.promptTexts||{}),o.blockStyles=fr({},Bd,o.blockStyles||{}),o.autosave!=null&&(o.autosave.timeFormat=fr({},Hd,o.autosave.timeFormat||{})),o.iconClassMap=fr({},et,o.iconClassMap||{}),o.shortcuts=fr({},Ad,o.shortcuts||{}),o.maxHeight=o.maxHeight||void 0,o.direction=o.direction||"ltr",typeof o.maxHeight<"u"?o.minHeight=o.maxHeight:o.minHeight=o.minHeight||"300px",o.errorCallback=o.errorCallback||function(p){alert(p)},o.uploadImage=o.uploadImage||!1,o.imageMaxSize=o.imageMaxSize||2097152,o.imageAccept=o.imageAccept||"image/png, image/jpeg, image/gif, image/avif",o.imageTexts=fr({},Wd,o.imageTexts||{}),o.errorMessages=fr({},Ud,o.errorMessages||{}),o.imagePathAbsolute=o.imagePathAbsolute||!1,o.imageCSRFName=o.imageCSRFName||"csrfmiddlewaretoken",o.imageCSRFHeader=o.imageCSRFHeader||!1,o.autosave!=null&&o.autosave.unique_id!=null&&o.autosave.unique_id!=""&&(o.autosave.uniqueId=o.autosave.unique_id),o.overlayMode&&o.overlayMode.combine===void 0&&(o.overlayMode.combine=!0),this.options=o,this.render(),o.initialValue&&(!this.options.autosave||this.options.autosave.foundSavedValue!==!0)&&this.value(o.initialValue),o.uploadImage){var s=this;this.codemirror.on("dragenter",function(p,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbOnDragEnter),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragend",function(p,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbInit),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragleave",function(p,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbInit),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragover",function(p,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbOnDragEnter),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("drop",function(p,g){g.stopPropagation(),g.preventDefault(),o.imageUploadFunction?s.uploadImagesUsingCustomFunction(o.imageUploadFunction,g.dataTransfer.files):s.uploadImages(g.dataTransfer.files)}),this.codemirror.on("paste",function(p,g){o.imageUploadFunction?s.uploadImagesUsingCustomFunction(o.imageUploadFunction,g.clipboardData.files):s.uploadImages(g.clipboardData.files)})}}function kc(){if(typeof localStorage=="object")try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch{return!1}else return!1;return!0}var mc,Md,Vn,Ad,Dd,ra,hc,et,Pr,jd,Rd,Hd,Bd,Wd,Ud,wc=Cd(()=>{mc=/Mac/.test(navigator.platform),Md=new RegExp(/()+?/g),Vn={toggleBold:Fi,toggleItalic:Ni,drawLink:Gi,toggleHeadingSmaller:Jn,toggleHeadingBigger:Ri,drawImage:Zi,toggleBlockquote:ji,toggleOrderedList:$i,toggleUnorderedList:Ui,toggleCodeBlock:Pi,togglePreview:Ji,toggleStrikethrough:Oi,toggleHeading1:Hi,toggleHeading2:Bi,toggleHeading3:Wi,toggleHeading4:na,toggleHeading5:ia,toggleHeading6:oa,cleanBlock:Ki,drawTable:Xi,drawHorizontalRule:Yi,undo:Qi,redo:Vi,toggleSideBySide:bn,toggleFullScreen:jr},Ad={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",toggleHeading1:"Ctrl+Alt+1",toggleHeading2:"Ctrl+Alt+2",toggleHeading3:"Ctrl+Alt+3",toggleHeading4:"Ctrl+Alt+4",toggleHeading5:"Ctrl+Alt+5",toggleHeading6:"Ctrl+Alt+6",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},Dd=function(o){for(var h in Vn)if(Vn[h]===o)return h;return null},ra=function(){var o=!1;return function(h){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(h)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(h.substr(0,4)))&&(o=!0)}(navigator.userAgent||navigator.vendor||window.opera),o};hc="";et={bold:"fa fa-bold",italic:"fa fa-italic",strikethrough:"fa fa-strikethrough",heading:"fa fa-header fa-heading","heading-smaller":"fa fa-header fa-heading header-smaller","heading-bigger":"fa fa-header fa-heading header-bigger","heading-1":"fa fa-header fa-heading header-1","heading-2":"fa fa-header fa-heading header-2","heading-3":"fa fa-header fa-heading header-3",code:"fa fa-code",quote:"fa fa-quote-left","ordered-list":"fa fa-list-ol","unordered-list":"fa fa-list-ul","clean-block":"fa fa-eraser",link:"fa fa-link",image:"fa fa-image","upload-image":"fa fa-image",table:"fa fa-table","horizontal-rule":"fa fa-minus",preview:"fa fa-eye","side-by-side":"fa fa-columns",fullscreen:"fa fa-arrows-alt",guide:"fa fa-question-circle",undo:"fa fa-undo",redo:"fa fa-repeat fa-redo"},Pr={bold:{name:"bold",action:Fi,className:et.bold,title:"Bold",default:!0},italic:{name:"italic",action:Ni,className:et.italic,title:"Italic",default:!0},strikethrough:{name:"strikethrough",action:Oi,className:et.strikethrough,title:"Strikethrough"},heading:{name:"heading",action:Jn,className:et.heading,title:"Heading",default:!0},"heading-smaller":{name:"heading-smaller",action:Jn,className:et["heading-smaller"],title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:Ri,className:et["heading-bigger"],title:"Bigger Heading"},"heading-1":{name:"heading-1",action:Hi,className:et["heading-1"],title:"Big Heading"},"heading-2":{name:"heading-2",action:Bi,className:et["heading-2"],title:"Medium Heading"},"heading-3":{name:"heading-3",action:Wi,className:et["heading-3"],title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:Pi,className:et.code,title:"Code"},quote:{name:"quote",action:ji,className:et.quote,title:"Quote",default:!0},"unordered-list":{name:"unordered-list",action:Ui,className:et["unordered-list"],title:"Generic List",default:!0},"ordered-list":{name:"ordered-list",action:$i,className:et["ordered-list"],title:"Numbered List",default:!0},"clean-block":{name:"clean-block",action:Ki,className:et["clean-block"],title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:Gi,className:et.link,title:"Create Link",default:!0},image:{name:"image",action:Zi,className:et.image,title:"Insert Image",default:!0},"upload-image":{name:"upload-image",action:aa,className:et["upload-image"],title:"Import an image"},table:{name:"table",action:Xi,className:et.table,title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:Yi,className:et["horizontal-rule"],title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:Ji,className:et.preview,noDisable:!0,title:"Toggle Preview",default:!0},"side-by-side":{name:"side-by-side",action:bn,className:et["side-by-side"],noDisable:!0,noMobile:!0,title:"Toggle Side by Side",default:!0},fullscreen:{name:"fullscreen",action:jr,className:et.fullscreen,noDisable:!0,noMobile:!0,title:"Toggle Fullscreen",default:!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://www.markdownguide.org/basic-syntax/",className:et.guide,noDisable:!0,title:"Markdown Guide",default:!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:Qi,className:et.undo,noDisable:!0,title:"Undo"},redo:{name:"redo",action:Vi,className:et.redo,noDisable:!0,title:"Redo"}},jd={link:["[","](#url#)"],image:["![","](#url#)"],uploadedImage:["![](#url#)",""],table:["",` +`+R;F&&xe++,F&&N.ch===0&&(de=R+` +`,xe--),jr(K,!1,[L,de]),K.setSelection({line:le,ch:0},{line:xe,ch:0})}var s=o.codemirror,h=s.getCursor("start"),g=s.getCursor("end"),T=s.getTokenAt({line:h.line,ch:h.ch||1}),w=s.getLineHandle(h.line),c=b(s,h.line,w,T),d,k,z;if(c==="single"){var M=w.text.slice(0,h.ch).replace("`",""),_=w.text.slice(h.ch).replace("`","");s.replaceRange(M+_,{line:h.line,ch:0},{line:h.line,ch:99999999999999}),h.ch--,h!==g&&g.ch--,s.setSelection(h,g),s.focus()}else if(c==="fenced")if(h.line!==g.line||h.ch!==g.ch){for(d=h.line;d>=0&&(w=s.getLineHandle(d),!v(w));d--);var W=s.getTokenAt({line:d,ch:1}),E=C(W).fencedChars,O,G,J,re;v(s.getLineHandle(h.line))?(O="",G=h.line):v(s.getLineHandle(h.line-1))?(O="",G=h.line-1):(O=E+` +`,G=h.line),v(s.getLineHandle(g.line))?(J="",re=g.line,g.ch===0&&(re+=1)):g.ch!==0&&v(s.getLineHandle(g.line+1))?(J="",re=g.line+1):(J=E+` +`,re=g.line+1),g.ch===0&&(re-=1),s.operation(function(){s.replaceRange(J,{line:re,ch:0},{line:re+(J?0:1),ch:0}),s.replaceRange(O,{line:G,ch:0},{line:G+(O?0:1),ch:0})}),s.setSelection({line:G+(O?1:0),ch:0},{line:re+(O?1:-1),ch:0}),s.focus()}else{var q=h.line;if(v(s.getLineHandle(h.line))&&(b(s,h.line+1)==="fenced"?(d=h.line,q=h.line+1):(k=h.line,q=h.line-1)),d===void 0)for(d=q;d>=0&&(w=s.getLineHandle(d),!v(w));d--);if(k===void 0)for(z=s.lineCount(),k=q;k=0;d--)if(w=s.getLineHandle(d),!w.text.match(/^\s*$/)&&b(s,d,w)!=="indented"){d+=1;break}for(z=s.lineCount(),k=h.line;k\s+/,"unordered-list":C,"ordered-list":C},T=function(z,M){var _={quote:">","unordered-list":v,"ordered-list":"%%i."};return _[z].replace("%%i",M)},w=function(z,M){var _={quote:">","unordered-list":"\\"+v,"ordered-list":"\\d+."},W=new RegExp(_[z]);return M&&W.test(M)},c=function(z,M,_){var W=C.exec(M),E=T(z,d);return W!==null?(w(z,W[2])&&(E=""),M=W[1]+E+W[3]+M.replace(b,"").replace(g[z],"$1")):_==!1&&(M=E+" "+M),M},d=1,k=s.line;k<=h.line;k++)(function(z){var M=o.getLine(z);S[p]?M=M.replace(g[p],"$1"):(p=="unordered-list"&&(M=c("ordered-list",M,!0)),M=c(p,M,!1),d+=1),o.replaceRange(M,{line:z,ch:0},{line:z,ch:99999999999999})})(k);o.focus()}}function xc(o,p,v,C){if(!(!o.codemirror||o.isPreviewActive())){var b=o.codemirror,S=Tr(b),s=S[p];if(!s){jr(b,s,v,C);return}var h=b.getCursor("start"),g=b.getCursor("end"),T=b.getLine(h.line),w=T.slice(0,h.ch),c=T.slice(h.ch);p=="link"?w=w.replace(/(.*)[^!]\[/,"$1"):p=="image"&&(w=w.replace(/(.*)!\[$/,"$1")),c=c.replace(/]\(.*?\)/,""),b.replaceRange(w+c,{line:h.line,ch:0},{line:h.line,ch:99999999999999}),h.ch-=v[0].length,h!==g&&(g.ch-=v[0].length),b.setSelection(h,g),b.focus()}}function sa(o,p,v,C){if(!(!o.codemirror||o.isPreviewActive())){C=typeof C>"u"?v:C;var b=o.codemirror,S=Tr(b),s,h=v,g=C,T=b.getCursor("start"),w=b.getCursor("end");S[p]?(s=b.getLine(T.line),h=s.slice(0,T.ch),g=s.slice(T.ch),p=="bold"?(h=h.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),g=g.replace(/(\*\*|__)/,"")):p=="italic"?(h=h.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),g=g.replace(/(\*|_)/,"")):p=="strikethrough"&&(h=h.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),g=g.replace(/(\*\*|~~)/,"")),b.replaceRange(h+g,{line:T.line,ch:0},{line:T.line,ch:99999999999999}),p=="bold"||p=="strikethrough"?(T.ch-=2,T!==w&&(w.ch-=2)):p=="italic"&&(T.ch-=1,T!==w&&(w.ch-=1))):(s=b.getSelection(),p=="bold"?(s=s.split("**").join(""),s=s.split("__").join("")):p=="italic"?(s=s.split("*").join(""),s=s.split("_").join("")):p=="strikethrough"&&(s=s.split("~~").join("")),b.replaceSelection(h+s+g),T.ch+=v.length,w.ch=T.ch+s.length),b.setSelection(T,w),b.focus()}}function Pd(o){if(!o.getWrapperElement().lastChild.classList.contains("editor-preview-active"))for(var p=o.getCursor("start"),v=o.getCursor("end"),C,b=p.line;b<=v.line;b++)C=o.getLine(b),C=C.replace(/^[ ]*([# ]+|\*|-|[> ]+|[0-9]+(.|\)))[ ]*/,""),o.replaceRange(C,{line:b,ch:0},{line:b,ch:99999999999999})}function Fi(o,p){if(Math.abs(o)<1024)return""+o+p[0];var v=0;do o/=1024,++v;while(Math.abs(o)>=1024&&v=19968?C+=v[b].length:C+=1;return C}function Te(o){o=o||{},o.parent=this;var p=!0;if(o.autoDownloadFontAwesome===!1&&(p=!1),o.autoDownloadFontAwesome!==!0)for(var v=document.styleSheets,C=0;C-1&&(p=!1);if(p){var b=document.createElement("link");b.rel="stylesheet",b.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(b)}if(o.element)this.element=o.element;else if(o.element===null){console.log("EasyMDE: Error. No element was found.");return}if(o.toolbar===void 0){o.toolbar=[];for(var S in Pr)Object.prototype.hasOwnProperty.call(Pr,S)&&(S.indexOf("separator-")!=-1&&o.toolbar.push("|"),(Pr[S].default===!0||o.showIcons&&o.showIcons.constructor===Array&&o.showIcons.indexOf(S)!=-1)&&o.toolbar.push(S))}if(Object.prototype.hasOwnProperty.call(o,"previewClass")||(o.previewClass="editor-preview"),Object.prototype.hasOwnProperty.call(o,"status")||(o.status=["autosave","lines","words","cursor"],o.uploadImage&&o.status.unshift("upload-image")),o.previewRender||(o.previewRender=function(h){return this.parent.markdown(h)}),o.parsingConfig=fr({highlightFormatting:!0},o.parsingConfig||{}),o.insertTexts=fr({},Bd,o.insertTexts||{}),o.promptTexts=fr({},jd,o.promptTexts||{}),o.blockStyles=fr({},Hd,o.blockStyles||{}),o.autosave!=null&&(o.autosave.timeFormat=fr({},Rd,o.autosave.timeFormat||{})),o.iconClassMap=fr({},et,o.iconClassMap||{}),o.shortcuts=fr({},Ad,o.shortcuts||{}),o.maxHeight=o.maxHeight||void 0,o.direction=o.direction||"ltr",typeof o.maxHeight<"u"?o.minHeight=o.maxHeight:o.minHeight=o.minHeight||"300px",o.errorCallback=o.errorCallback||function(h){alert(h)},o.uploadImage=o.uploadImage||!1,o.imageMaxSize=o.imageMaxSize||2097152,o.imageAccept=o.imageAccept||"image/png, image/jpeg, image/gif, image/avif",o.imageTexts=fr({},Wd,o.imageTexts||{}),o.errorMessages=fr({},Ud,o.errorMessages||{}),o.imagePathAbsolute=o.imagePathAbsolute||!1,o.imageCSRFName=o.imageCSRFName||"csrfmiddlewaretoken",o.imageCSRFHeader=o.imageCSRFHeader||!1,o.autosave!=null&&o.autosave.unique_id!=null&&o.autosave.unique_id!=""&&(o.autosave.uniqueId=o.autosave.unique_id),o.overlayMode&&o.overlayMode.combine===void 0&&(o.overlayMode.combine=!0),this.options=o,this.render(),o.initialValue&&(!this.options.autosave||this.options.autosave.foundSavedValue!==!0)&&this.value(o.initialValue),o.uploadImage){var s=this;this.codemirror.on("dragenter",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbOnDragEnter),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragend",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbInit),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragleave",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbInit),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("dragover",function(h,g){s.updateStatusBar("upload-image",s.options.imageTexts.sbOnDragEnter),g.stopPropagation(),g.preventDefault()}),this.codemirror.on("drop",function(h,g){g.stopPropagation(),g.preventDefault(),o.imageUploadFunction?s.uploadImagesUsingCustomFunction(o.imageUploadFunction,g.dataTransfer.files):s.uploadImages(g.dataTransfer.files)}),this.codemirror.on("paste",function(h,g){o.imageUploadFunction?s.uploadImagesUsingCustomFunction(o.imageUploadFunction,g.clipboardData.files):s.uploadImages(g.clipboardData.files)})}}function kc(){if(typeof localStorage=="object")try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch{return!1}else return!1;return!0}var mc,Md,Vn,Ad,Dd,ra,hc,et,Pr,Bd,jd,Rd,Hd,Wd,Ud,wc=Cd(()=>{mc=/Mac/.test(navigator.platform),Md=new RegExp(/()+?/g),Vn={toggleBold:Ii,toggleItalic:Ni,drawLink:Gi,toggleHeadingSmaller:Jn,toggleHeadingBigger:ji,drawImage:Zi,toggleBlockquote:Bi,toggleOrderedList:$i,toggleUnorderedList:Ui,toggleCodeBlock:Pi,togglePreview:Ji,toggleStrikethrough:Oi,toggleHeading1:Ri,toggleHeading2:Hi,toggleHeading3:Wi,toggleHeading4:na,toggleHeading5:ia,toggleHeading6:oa,cleanBlock:Ki,drawTable:Xi,drawHorizontalRule:Yi,undo:Qi,redo:Vi,toggleSideBySide:bn,toggleFullScreen:Br},Ad={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",toggleHeading1:"Ctrl+Alt+1",toggleHeading2:"Ctrl+Alt+2",toggleHeading3:"Ctrl+Alt+3",toggleHeading4:"Ctrl+Alt+4",toggleHeading5:"Ctrl+Alt+5",toggleHeading6:"Ctrl+Alt+6",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},Dd=function(o){for(var p in Vn)if(Vn[p]===o)return p;return null},ra=function(){var o=!1;return(function(p){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(p)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(p.substr(0,4)))&&(o=!0)})(navigator.userAgent||navigator.vendor||window.opera),o};hc="";et={bold:"fa fa-bold",italic:"fa fa-italic",strikethrough:"fa fa-strikethrough",heading:"fa fa-header fa-heading","heading-smaller":"fa fa-header fa-heading header-smaller","heading-bigger":"fa fa-header fa-heading header-bigger","heading-1":"fa fa-header fa-heading header-1","heading-2":"fa fa-header fa-heading header-2","heading-3":"fa fa-header fa-heading header-3",code:"fa fa-code",quote:"fa fa-quote-left","ordered-list":"fa fa-list-ol","unordered-list":"fa fa-list-ul","clean-block":"fa fa-eraser",link:"fa fa-link",image:"fa fa-image","upload-image":"fa fa-image",table:"fa fa-table","horizontal-rule":"fa fa-minus",preview:"fa fa-eye","side-by-side":"fa fa-columns",fullscreen:"fa fa-arrows-alt",guide:"fa fa-question-circle",undo:"fa fa-undo",redo:"fa fa-repeat fa-redo"},Pr={bold:{name:"bold",action:Ii,className:et.bold,title:"Bold",default:!0},italic:{name:"italic",action:Ni,className:et.italic,title:"Italic",default:!0},strikethrough:{name:"strikethrough",action:Oi,className:et.strikethrough,title:"Strikethrough"},heading:{name:"heading",action:Jn,className:et.heading,title:"Heading",default:!0},"heading-smaller":{name:"heading-smaller",action:Jn,className:et["heading-smaller"],title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:ji,className:et["heading-bigger"],title:"Bigger Heading"},"heading-1":{name:"heading-1",action:Ri,className:et["heading-1"],title:"Big Heading"},"heading-2":{name:"heading-2",action:Hi,className:et["heading-2"],title:"Medium Heading"},"heading-3":{name:"heading-3",action:Wi,className:et["heading-3"],title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:Pi,className:et.code,title:"Code"},quote:{name:"quote",action:Bi,className:et.quote,title:"Quote",default:!0},"unordered-list":{name:"unordered-list",action:Ui,className:et["unordered-list"],title:"Generic List",default:!0},"ordered-list":{name:"ordered-list",action:$i,className:et["ordered-list"],title:"Numbered List",default:!0},"clean-block":{name:"clean-block",action:Ki,className:et["clean-block"],title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:Gi,className:et.link,title:"Create Link",default:!0},image:{name:"image",action:Zi,className:et.image,title:"Insert Image",default:!0},"upload-image":{name:"upload-image",action:aa,className:et["upload-image"],title:"Import an image"},table:{name:"table",action:Xi,className:et.table,title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:Yi,className:et["horizontal-rule"],title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:Ji,className:et.preview,noDisable:!0,title:"Toggle Preview",default:!0},"side-by-side":{name:"side-by-side",action:bn,className:et["side-by-side"],noDisable:!0,noMobile:!0,title:"Toggle Side by Side",default:!0},fullscreen:{name:"fullscreen",action:Br,className:et.fullscreen,noDisable:!0,noMobile:!0,title:"Toggle Fullscreen",default:!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://www.markdownguide.org/basic-syntax/",className:et.guide,noDisable:!0,title:"Markdown Guide",default:!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:Qi,className:et.undo,noDisable:!0,title:"Undo"},redo:{name:"redo",action:Vi,className:et.redo,noDisable:!0,title:"Redo"}},Bd={link:["[","](#url#)"],image:["![","](#url#)"],uploadedImage:["![](#url#)",""],table:["",` | Column 1 | Column 2 | Column 3 | | -------- | -------- | -------- | @@ -47,5 +47,5 @@ b`.split(/\n/).length!=3?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e. ----- -`]},Rd={link:"URL for the link:",image:"URL of the image:"},Hd={locale:"en-US",format:{hour:"2-digit",minute:"2-digit"}},Bd={bold:"**",code:"```",italic:"*"},Wd={sbInit:"Attach files by drag and dropping or pasting from clipboard.",sbOnDragEnter:"Drop image to upload it.",sbOnDrop:"Uploading image #images_names#...",sbProgress:"Uploading #file_name#: #progress#%",sbOnUploaded:"Uploaded #image_name#",sizeUnits:" B, KB, MB"},Ud={noFileGiven:"You must select a file.",typeNotAllowed:"This image type is not allowed.",fileTooLarge:`Image #image_name# is too big (#image_size#). -Maximum file size is #image_max_size#.`,importError:"Something went wrong when uploading the image #image_name#."};Te.prototype.uploadImages=function(o,h,v){if(o.length!==0){for(var C=[],b=0;b=2){var H=M[1];if(h.imagesPreviewHandler){var Z=h.imagesPreviewHandler(M[1]);typeof Z=="string"&&(H=Z)}if(window.EMDEimagesCache[H])w(R,window.EMDEimagesCache[H]);else{var ee=document.createElement("img");ee.onload=function(){window.EMDEimagesCache[H]={naturalWidth:ee.naturalWidth,naturalHeight:ee.naturalHeight,url:H},w(R,window.EMDEimagesCache[H])},ee.src=H}}}})}this.codemirror.on("update",function(){E()}),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element,(h.autofocus===!0||o.autofocus)&&this.codemirror.focus();var z=this.codemirror;setTimeout(function(){z.refresh()}.bind(z),0)};Te.prototype.cleanup=function(){document.removeEventListener("keydown",this.documentOnKeyDown)};Te.prototype.autosave=function(){if(kc()){var o=this;if(this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to use the autosave feature");return}this.options.autosave.binded!==!0&&(o.element.form!=null&&o.element.form!=null&&o.element.form.addEventListener("submit",function(){clearTimeout(o.autosaveTimeoutId),o.autosaveTimeoutId=void 0,localStorage.removeItem("smde_"+o.options.autosave.uniqueId)}),this.options.autosave.binded=!0),this.options.autosave.loaded!==!0&&(typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)=="string"&&localStorage.getItem("smde_"+this.options.autosave.uniqueId)!=""&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0);var h=o.value();h!==""?localStorage.setItem("smde_"+this.options.autosave.uniqueId,h):localStorage.removeItem("smde_"+this.options.autosave.uniqueId);var v=document.getElementById("autosaved");if(v!=null&&v!=null&&v!=""){var C=new Date,b=new Intl.DateTimeFormat([this.options.autosave.timeFormat.locale,"en-US"],this.options.autosave.timeFormat.format).format(C),S=this.options.autosave.text==null?"Autosaved: ":this.options.autosave.text;v.innerHTML=S+b}}else console.log("EasyMDE: localStorage not available, cannot autosave")};Te.prototype.clearAutosavedValue=function(){if(kc()){if(this.options.autosave==null||this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to clear the autosave value");return}localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("EasyMDE: localStorage not available, cannot autosave")};Te.prototype.openBrowseFileWindow=function(o,h){var v=this,C=this.gui.toolbar.getElementsByClassName("imageInput")[0];C.click();function b(S){v.options.imageUploadFunction?v.uploadImagesUsingCustomFunction(v.options.imageUploadFunction,S.target.files):v.uploadImages(S.target.files,o,h),C.removeEventListener("change",b)}C.addEventListener("change",b)};Te.prototype.uploadImage=function(o,h,v){var C=this;h=h||function(L){yc(C,L)};function b(g){C.updateStatusBar("upload-image",g),setTimeout(function(){C.updateStatusBar("upload-image",C.options.imageTexts.sbInit)},1e4),v&&typeof v=="function"&&v(g),C.options.errorCallback(g)}function S(g){var L=C.options.imageTexts.sizeUnits.split(",");return g.replace("#image_name#",o.name).replace("#image_size#",Ii(o.size,L)).replace("#image_max_size#",Ii(C.options.imageMaxSize,L))}if(o.size>this.options.imageMaxSize){b(S(this.options.errorMessages.fileTooLarge));return}var s=new FormData;s.append("image",o),C.options.imageCSRFToken&&!C.options.imageCSRFHeader&&s.append(C.options.imageCSRFName,C.options.imageCSRFToken);var p=new XMLHttpRequest;p.upload.onprogress=function(g){if(g.lengthComputable){var L=""+Math.round(g.loaded*100/g.total);C.updateStatusBar("upload-image",C.options.imageTexts.sbProgress.replace("#file_name#",o.name).replace("#progress#",L))}},p.open("POST",this.options.imageUploadEndpoint),C.options.imageCSRFToken&&C.options.imageCSRFHeader&&p.setRequestHeader(C.options.imageCSRFName,C.options.imageCSRFToken),p.onload=function(){try{var g=JSON.parse(this.responseText)}catch{console.error("EasyMDE: The server did not return a valid json."),b(S(C.options.errorMessages.importError));return}this.status===200&&g&&!g.error&&g.data&&g.data.filePath?h((C.options.imagePathAbsolute?"":window.location.origin+"/")+g.data.filePath):g.error&&g.error in C.options.errorMessages?b(S(C.options.errorMessages[g.error])):g.error?b(S(g.error)):(console.error("EasyMDE: Received an unexpected response after uploading the image."+this.status+" ("+this.statusText+")"),b(S(C.options.errorMessages.importError)))},p.onerror=function(g){console.error("EasyMDE: An unexpected error occurred when trying to upload the image."+g.target.status+" ("+g.target.statusText+")"),b(C.options.errorMessages.importError)},p.send(s)};Te.prototype.uploadImageUsingCustomFunction=function(o,h){var v=this;function C(s){yc(v,s)}function b(s){var p=S(s);v.updateStatusBar("upload-image",p),setTimeout(function(){v.updateStatusBar("upload-image",v.options.imageTexts.sbInit)},1e4),v.options.errorCallback(p)}function S(s){var p=v.options.imageTexts.sizeUnits.split(",");return s.replace("#image_name#",h.name).replace("#image_size#",Ii(h.size,p)).replace("#image_max_size#",Ii(v.options.imageMaxSize,p))}o.apply(this,[h,C,b])};Te.prototype.setPreviewMaxHeight=function(){var o=this.codemirror,h=o.getWrapperElement(),v=h.nextSibling,C=parseInt(window.getComputedStyle(h).paddingTop),b=parseInt(window.getComputedStyle(h).borderTopWidth),S=parseInt(this.options.maxHeight),s=S+C*2+b*2,p=s.toString()+"px";v.style.height=p};Te.prototype.createSideBySide=function(){var o=this.codemirror,h=o.getWrapperElement(),v=h.nextSibling;if(!v||!v.classList.contains("editor-preview-side")){if(v=document.createElement("div"),v.className="editor-preview-side",this.options.previewClass)if(Array.isArray(this.options.previewClass))for(var C=0;C{try{let d=c[c.length-1];if(d.origin==="+input"){let w="(https://)",E=d.text[d.text.length-1];if(E.endsWith(w)&&E!=="[]"+w){let z=d.from,y=d.to,M=d.text.length>1?0:z.ch;setTimeout(()=>{x.setSelection({line:y.line,ch:M+E.lastIndexOf("(")+1},{line:y.line,ch:M+E.lastIndexOf(")")})},25)}}}catch{}}),this.editor.codemirror.on("change",Alpine.debounce(()=>{this.editor&&(this.state=this.editor.value(),o&&this.$wire.call("$refresh"))},v??300)),h&&this.editor.codemirror.on("blur",()=>this.$wire.call("$refresh")),this.$watch("state",()=>{this.editor&&(this.editor.codemirror.hasFocus()||Alpine.raw(this.editor).value(this.state??""))})},destroy:function(){this.editor.cleanup(),this.editor=null},getToolbar:function(){let x=[];return g.includes("bold")&&x.push({name:"bold",action:EasyMDE.toggleBold,title:p.toolbar_buttons?.bold}),g.includes("italic")&&x.push({name:"italic",action:EasyMDE.toggleItalic,title:p.toolbar_buttons?.italic}),g.includes("strike")&&x.push({name:"strikethrough",action:EasyMDE.toggleStrikethrough,title:p.toolbar_buttons?.strike}),g.includes("link")&&x.push({name:"link",action:EasyMDE.drawLink,title:p.toolbar_buttons?.link}),["bold","italic","strike","link"].some(c=>g.includes(c))&&["heading"].some(c=>g.includes(c))&&x.push("|"),g.includes("heading")&&x.push({name:"heading",action:EasyMDE.toggleHeadingSmaller,title:p.toolbar_buttons?.heading}),["heading"].some(c=>g.includes(c))&&["blockquote","codeBlock","bulletList","orderedList"].some(c=>g.includes(c))&&x.push("|"),g.includes("blockquote")&&x.push({name:"quote",action:EasyMDE.toggleBlockquote,title:p.toolbar_buttons?.blockquote}),g.includes("codeBlock")&&x.push({name:"code",action:EasyMDE.toggleCodeBlock,title:p.toolbar_buttons?.code_block}),g.includes("bulletList")&&x.push({name:"unordered-list",action:EasyMDE.toggleUnorderedList,title:p.toolbar_buttons?.bullet_list}),g.includes("orderedList")&&x.push({name:"ordered-list",action:EasyMDE.toggleOrderedList,title:p.toolbar_buttons?.ordered_list}),["blockquote","codeBlock","bulletList","orderedList"].some(c=>g.includes(c))&&["table","attachFiles"].some(c=>g.includes(c))&&x.push("|"),g.includes("table")&&x.push({name:"table",action:EasyMDE.drawTable,title:p.toolbar_buttons?.table}),g.includes("attachFiles")&&x.push({name:"upload-image",action:EasyMDE.drawUploadedImage,title:p.toolbar_buttons?.attach_files}),["table","attachFiles"].some(c=>g.includes(c))&&["undo","redo"].some(c=>g.includes(c))&&x.push("|"),g.includes("undo")&&x.push({name:"undo",action:EasyMDE.undo,title:p.toolbar_buttons?.undo}),g.includes("redo")&&x.push({name:"redo",action:EasyMDE.redo,title:p.toolbar_buttons?.redo}),x}}}export{Kd as default}; +`]},jd={link:"URL for the link:",image:"URL of the image:"},Rd={locale:"en-US",format:{hour:"2-digit",minute:"2-digit"}},Hd={bold:"**",code:"```",italic:"*"},Wd={sbInit:"Attach files by drag and dropping or pasting from clipboard.",sbOnDragEnter:"Drop image to upload it.",sbOnDrop:"Uploading image #images_names#...",sbProgress:"Uploading #file_name#: #progress#%",sbOnUploaded:"Uploaded #image_name#",sizeUnits:" B, KB, MB"},Ud={noFileGiven:"You must select a file.",typeNotAllowed:"This image type is not allowed.",fileTooLarge:`Image #image_name# is too big (#image_size#). +Maximum file size is #image_max_size#.`,importError:"Something went wrong when uploading the image #image_name#."};Te.prototype.uploadImages=function(o,p,v){if(o.length!==0){for(var C=[],b=0;b!(q.closest&&q.closest(".editor-toolbar")||q.offsetParent===null)),re=J.indexOf(O);re!==-1&&re+1!(q.closest&&q.closest(".editor-toolbar")||q.offsetParent===null)),re=J.indexOf(O);if(re!==-1)for(let q=re-1;q>=0;q--){let I=J[q];if(I){I.focus();break}}}}for(var s in p.shortcuts)p.shortcuts[s]!==null&&Vn[s]!==null&&(function(E){C[vc(p.shortcuts[E])]=function(){var O=Vn[E];typeof O=="function"?O(v):typeof O=="string"&&window.open(O,"_blank")}})(s);C.Enter="newlineAndIndentContinueMarkdownList",C.Tab=E=>{let O=E.getSelection();O&&O.length>0?E.execCommand("indentMore"):b(E)},C["Shift-Tab"]=E=>{let O=E.getSelection();O&&O.length>0?E.execCommand("indentLess"):S(E)},C.Esc=function(E){E.getOption("fullScreen")&&Br(v)},this.documentOnKeyDown=function(E){E=E||window.event,E.keyCode==27&&v.codemirror.getOption("fullScreen")&&Br(v)},document.addEventListener("keydown",this.documentOnKeyDown,!1);var h,g;p.overlayMode?(CodeMirror.defineMode("overlay-mode",function(E){return CodeMirror.overlayMode(CodeMirror.getMode(E,p.spellChecker!==!1?"spell-checker":"gfm"),p.overlayMode.mode,p.overlayMode.combine)}),h="overlay-mode",g=p.parsingConfig,g.gitHubSpice=!1):(h=p.parsingConfig,h.name="gfm",h.gitHubSpice=!1),p.spellChecker!==!1&&(h="spell-checker",g=p.parsingConfig,g.name="gfm",g.gitHubSpice=!1,typeof p.spellChecker=="function"?p.spellChecker({codeMirrorInstance:CodeMirror}):CodeMirrorSpellChecker({codeMirrorInstance:CodeMirror}));function T(E,O,G){return{addNew:!1}}if(CodeMirror.getMode("php").mime="text/x-php",this.codemirror=CodeMirror.fromTextArea(o,{mode:h,backdrop:g,theme:p.theme!=null?p.theme:"easymde",tabSize:p.tabSize!=null?p.tabSize:2,indentUnit:p.tabSize!=null?p.tabSize:2,indentWithTabs:p.indentWithTabs!==!1,lineNumbers:p.lineNumbers===!0,autofocus:p.autofocus===!0,extraKeys:C,direction:p.direction,lineWrapping:p.lineWrapping!==!1,allowDropFileTypes:["text/plain"],placeholder:p.placeholder||o.getAttribute("placeholder")||"",styleSelectedText:p.styleSelectedText!=null?p.styleSelectedText:!ra(),scrollbarStyle:p.scrollbarStyle!=null?p.scrollbarStyle:"native",configureMouse:T,inputStyle:p.inputStyle!=null?p.inputStyle:ra()?"contenteditable":"textarea",spellcheck:p.nativeSpellcheck!=null?p.nativeSpellcheck:!0,autoRefresh:p.autoRefresh!=null?p.autoRefresh:!1}),this.codemirror.getScrollerElement().style.minHeight=p.minHeight,typeof p.maxHeight<"u"&&(this.codemirror.getScrollerElement().style.height=p.maxHeight),p.forceSync===!0){var w=this.codemirror;w.on("change",function(){w.save()})}this.gui={};var c=document.createElement("div");c.classList.add("EasyMDEContainer"),c.setAttribute("role","application");var d=this.codemirror.getWrapperElement();d.parentNode.insertBefore(c,d),c.appendChild(d),p.toolbar!==!1&&(this.gui.toolbar=this.createToolbar()),p.status!==!1&&(this.gui.statusbar=this.createStatusbar()),p.autosave!=null&&p.autosave.enabled===!0&&(this.autosave(),this.codemirror.on("change",function(){clearTimeout(v._autosave_timeout),v._autosave_timeout=setTimeout(function(){v.autosave()},v.options.autosave.submit_delay||v.options.autosave.delay||1e3)}));function k(E,O){var G,J=window.getComputedStyle(document.querySelector(".CodeMirror-sizer")).width.replace("px","");return E=2){var J=G[1];if(p.imagesPreviewHandler){var re=p.imagesPreviewHandler(G[1]);typeof re=="string"&&(J=re)}if(window.EMDEimagesCache[J])M(O,window.EMDEimagesCache[J]);else{var q=document.createElement("img");q.onload=function(){window.EMDEimagesCache[J]={naturalWidth:q.naturalWidth,naturalHeight:q.naturalHeight,url:J},M(O,window.EMDEimagesCache[J])},q.src=J}}}})}this.codemirror.on("update",function(){_()}),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element,(p.autofocus===!0||o.autofocus)&&this.codemirror.focus();var W=this.codemirror;setTimeout(function(){W.refresh()}.bind(W),0)};Te.prototype.cleanup=function(){document.removeEventListener("keydown",this.documentOnKeyDown)};Te.prototype.autosave=function(){if(kc()){var o=this;if(this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to use the autosave feature");return}this.options.autosave.binded!==!0&&(o.element.form!=null&&o.element.form!=null&&o.element.form.addEventListener("submit",function(){clearTimeout(o.autosaveTimeoutId),o.autosaveTimeoutId=void 0,localStorage.removeItem("smde_"+o.options.autosave.uniqueId)}),this.options.autosave.binded=!0),this.options.autosave.loaded!==!0&&(typeof localStorage.getItem("smde_"+this.options.autosave.uniqueId)=="string"&&localStorage.getItem("smde_"+this.options.autosave.uniqueId)!=""&&(this.codemirror.setValue(localStorage.getItem("smde_"+this.options.autosave.uniqueId)),this.options.autosave.foundSavedValue=!0),this.options.autosave.loaded=!0);var p=o.value();p!==""?localStorage.setItem("smde_"+this.options.autosave.uniqueId,p):localStorage.removeItem("smde_"+this.options.autosave.uniqueId);var v=document.getElementById("autosaved");if(v!=null&&v!=null&&v!=""){var C=new Date,b=new Intl.DateTimeFormat([this.options.autosave.timeFormat.locale,"en-US"],this.options.autosave.timeFormat.format).format(C),S=this.options.autosave.text==null?"Autosaved: ":this.options.autosave.text;v.innerHTML=S+b}}else console.log("EasyMDE: localStorage not available, cannot autosave")};Te.prototype.clearAutosavedValue=function(){if(kc()){if(this.options.autosave==null||this.options.autosave.uniqueId==null||this.options.autosave.uniqueId==""){console.log("EasyMDE: You must set a uniqueId to clear the autosave value");return}localStorage.removeItem("smde_"+this.options.autosave.uniqueId)}else console.log("EasyMDE: localStorage not available, cannot autosave")};Te.prototype.openBrowseFileWindow=function(o,p){var v=this,C=this.gui.toolbar.getElementsByClassName("imageInput")[0];C.click();function b(S){v.options.imageUploadFunction?v.uploadImagesUsingCustomFunction(v.options.imageUploadFunction,S.target.files):v.uploadImages(S.target.files,o,p),C.removeEventListener("change",b)}C.addEventListener("change",b)};Te.prototype.uploadImage=function(o,p,v){var C=this;p=p||function(T){yc(C,T)};function b(g){C.updateStatusBar("upload-image",g),setTimeout(function(){C.updateStatusBar("upload-image",C.options.imageTexts.sbInit)},1e4),v&&typeof v=="function"&&v(g),C.options.errorCallback(g)}function S(g){var T=C.options.imageTexts.sizeUnits.split(",");return g.replace("#image_name#",o.name).replace("#image_size#",Fi(o.size,T)).replace("#image_max_size#",Fi(C.options.imageMaxSize,T))}if(o.size>this.options.imageMaxSize){b(S(this.options.errorMessages.fileTooLarge));return}var s=new FormData;s.append("image",o),C.options.imageCSRFToken&&!C.options.imageCSRFHeader&&s.append(C.options.imageCSRFName,C.options.imageCSRFToken);var h=new XMLHttpRequest;h.upload.onprogress=function(g){if(g.lengthComputable){var T=""+Math.round(g.loaded*100/g.total);C.updateStatusBar("upload-image",C.options.imageTexts.sbProgress.replace("#file_name#",o.name).replace("#progress#",T))}},h.open("POST",this.options.imageUploadEndpoint),C.options.imageCSRFToken&&C.options.imageCSRFHeader&&h.setRequestHeader(C.options.imageCSRFName,C.options.imageCSRFToken),h.onload=function(){try{var g=JSON.parse(this.responseText)}catch{console.error("EasyMDE: The server did not return a valid json."),b(S(C.options.errorMessages.importError));return}this.status===200&&g&&!g.error&&g.data&&g.data.filePath?p((C.options.imagePathAbsolute?"":window.location.origin+"/")+g.data.filePath):g.error&&g.error in C.options.errorMessages?b(S(C.options.errorMessages[g.error])):g.error?b(S(g.error)):(console.error("EasyMDE: Received an unexpected response after uploading the image."+this.status+" ("+this.statusText+")"),b(S(C.options.errorMessages.importError)))},h.onerror=function(g){console.error("EasyMDE: An unexpected error occurred when trying to upload the image."+g.target.status+" ("+g.target.statusText+")"),b(C.options.errorMessages.importError)},h.send(s)};Te.prototype.uploadImageUsingCustomFunction=function(o,p){var v=this;function C(s){yc(v,s)}function b(s){var h=S(s);v.updateStatusBar("upload-image",h),setTimeout(function(){v.updateStatusBar("upload-image",v.options.imageTexts.sbInit)},1e4),v.options.errorCallback(h)}function S(s){var h=v.options.imageTexts.sizeUnits.split(",");return s.replace("#image_name#",p.name).replace("#image_size#",Fi(p.size,h)).replace("#image_max_size#",Fi(v.options.imageMaxSize,h))}o.apply(this,[p,C,b])};Te.prototype.setPreviewMaxHeight=function(){var o=this.codemirror,p=o.getWrapperElement(),v=p.nextSibling,C=parseInt(window.getComputedStyle(p).paddingTop),b=parseInt(window.getComputedStyle(p).borderTopWidth),S=parseInt(this.options.maxHeight),s=S+C*2+b*2,h=s.toString()+"px";v.style.height=h};Te.prototype.createSideBySide=function(){var o=this.codemirror,p=o.getWrapperElement(),v=p.nextSibling;if(!v||!v.classList.contains("editor-preview-side")){if(v=document.createElement("div"),v.className="editor-preview-side",this.options.previewClass)if(Array.isArray(this.options.previewClass))for(var C=0;CsetTimeout(d,300)),this.$root._editor&&(this.$root._editor.toTextArea(),this.$root._editor=null),this.$root._editor=this.editor=new EasyMDE({autoDownloadFontAwesome:!1,autoRefresh:!0,autoSave:!1,element:this.$refs.editor,imageAccept:"image/png, image/jpeg, image/gif, image/avif, image/webp",imageUploadFunction:c,initialValue:this.state??"",maxHeight:b,minHeight:S,placeholder:s,previewImagesInEditor:!0,spellChecker:!1,status:[{className:"upload-image",defaultValue:""}],toolbar:this.getToolbar(),uploadImage:o}),this.editor.codemirror.setOption("direction",document.documentElement?.dir??"ltr"),this.editor.codemirror.on("changes",(d,k)=>{try{let z=k[k.length-1];if(z.origin==="+input"){let M="(https://)",_=z.text[z.text.length-1];if(_.endsWith(M)&&_!=="[]"+M){let W=z.from,E=z.to,G=z.text.length>1?0:W.ch;setTimeout(()=>{d.setSelection({line:E.line,ch:G+_.lastIndexOf("(")+1},{line:E.line,ch:G+_.lastIndexOf(")")})},25)}}}catch{}}),this.editor.codemirror.on("change",Alpine.debounce(()=>{this.editor&&(this.state=this.editor.value(),p&&this.$wire.commit())},C??300)),v&&this.editor.codemirror.on("blur",()=>this.$wire.commit()),this.$watch("state",()=>{this.editor&&(this.editor.codemirror.hasFocus()||Alpine.raw(this.editor).value(this.state??""))}),h&&h(this)},destroy(){this.editor.cleanup(),this.editor=null},getToolbar(){let d=[];return w.forEach(k=>{k.forEach(z=>d.push(this.getToolbarButton(z))),k.length>0&&d.push("|")}),d[d.length-1]==="|"&&d.pop(),d},getToolbarButton(d){if(d==="bold")return this.getBoldToolbarButton();if(d==="italic")return this.getItalicToolbarButton();if(d==="strike")return this.getStrikeToolbarButton();if(d==="link")return this.getLinkToolbarButton();if(d==="heading")return this.getHeadingToolbarButton();if(d==="blockquote")return this.getBlockquoteToolbarButton();if(d==="codeBlock")return this.getCodeBlockToolbarButton();if(d==="bulletList")return this.getBulletListToolbarButton();if(d==="orderedList")return this.getOrderedListToolbarButton();if(d==="table")return this.getTableToolbarButton();if(d==="attachFiles")return this.getAttachFilesToolbarButton();if(d==="undo")return this.getUndoToolbarButton();if(d==="redo")return this.getRedoToolbarButton();console.error(`Markdown editor toolbar button "${d}" not found.`)},getBoldToolbarButton(){return{name:"bold",action:EasyMDE.toggleBold,title:T.tools?.bold}},getItalicToolbarButton(){return{name:"italic",action:EasyMDE.toggleItalic,title:T.tools?.italic}},getStrikeToolbarButton(){return{name:"strikethrough",action:EasyMDE.toggleStrikethrough,title:T.tools?.strike}},getLinkToolbarButton(){return{name:"link",action:EasyMDE.drawLink,title:T.tools?.link}},getHeadingToolbarButton(){return{name:"heading",action:EasyMDE.toggleHeadingSmaller,title:T.tools?.heading}},getBlockquoteToolbarButton(){return{name:"quote",action:EasyMDE.toggleBlockquote,title:T.tools?.blockquote}},getCodeBlockToolbarButton(){return{name:"code",action:EasyMDE.toggleCodeBlock,title:T.tools?.code_block}},getBulletListToolbarButton(){return{name:"unordered-list",action:EasyMDE.toggleUnorderedList,title:T.tools?.bullet_list}},getOrderedListToolbarButton(){return{name:"ordered-list",action:EasyMDE.toggleOrderedList,title:T.tools?.ordered_list}},getTableToolbarButton(){return{name:"table",action:EasyMDE.drawTable,title:T.tools?.table}},getAttachFilesToolbarButton(){return{name:"upload-image",action:EasyMDE.drawUploadedImage,title:T.tools?.attach_files}},getUndoToolbarButton(){return{name:"undo",action:EasyMDE.undo,title:T.tools?.undo}},getRedoToolbarButton(){return{name:"redo",action:EasyMDE.redo,title:T.tools?.redo}}}}export{Kd as default}; diff --git a/public/js/filament/forms/components/rich-editor.js b/public/js/filament/forms/components/rich-editor.js index ae241feaa..c4e6984c7 100644 --- a/public/js/filament/forms/components/rich-editor.js +++ b/public/js/filament/forms/components/rich-editor.js @@ -1,143 +1,144 @@ -var et=Object.create;var Z=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var it=Object.getOwnPropertyNames;var rt=Object.getPrototypeOf,ot=Object.prototype.hasOwnProperty;var st=(I,g)=>()=>(g||I((g={exports:{}}).exports,g),g.exports);var at=(I,g,x,b)=>{if(g&&typeof g=="object"||typeof g=="function")for(let y of it(g))!ot.call(I,y)&&y!==x&&Z(I,y,{get:()=>g[y],enumerable:!(b=nt(g,y))||b.enumerable});return I};var ut=(I,g,x)=>(x=I!=null?et(rt(I)):{},at(g||!I||!I.__esModule?Z(x,"default",{value:I,enumerable:!0}):x,I));var Q=st((q,V)=>{(function(){}).call(q),function(){var I;window.Set==null&&(window.Set=I=function(){function g(){this.clear()}return g.prototype.clear=function(){return this.values=[]},g.prototype.has=function(x){return this.values.indexOf(x)!==-1},g.prototype.add=function(x){return this.has(x)||this.values.push(x),this},g.prototype.delete=function(x){var b;return(b=this.values.indexOf(x))===-1?!1:(this.values.splice(b,1),!0)},g.prototype.forEach=function(){var x;return(x=this.values).forEach.apply(x,arguments)},g}())}.call(q),function(I){function g(){}function x(n,p){return function(){n.apply(p,arguments)}}function b(n){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");if(typeof n!="function")throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],d(n,this)}function y(n,p){for(;n._state===3;)n=n._value;return n._state===0?void n._deferreds.push(p):(n._handled=!0,void u(function(){var c=n._state===1?p.onFulfilled:p.onRejected;if(c===null)return void(n._state===1?h:o)(p.promise,n._value);var v;try{v=c(n._value)}catch(t){return void o(p.promise,t)}h(p.promise,v)}))}function h(n,p){try{if(p===n)throw new TypeError("A promise cannot be resolved with itself.");if(p&&(typeof p=="object"||typeof p=="function")){var c=p.then;if(p instanceof b)return n._state=3,n._value=p,void e(n);if(typeof c=="function")return void d(x(c,p),n)}n._state=1,n._value=p,e(n)}catch(v){o(n,v)}}function o(n,p){n._state=2,n._value=p,e(n)}function e(n){n._state===2&&n._deferreds.length===0&&setTimeout(function(){n._handled||s(n._value)},1);for(var p=0,c=n._deferreds.length;c>p;p++)y(n,n._deferreds[p]);n._deferreds=null}function a(n,p,c){this.onFulfilled=typeof n=="function"?n:null,this.onRejected=typeof p=="function"?p:null,this.promise=c}function d(n,p){var c=!1;try{n(function(v){c||(c=!0,h(p,v))},function(v){c||(c=!0,o(p,v))})}catch(v){if(c)return;c=!0,o(p,v)}}var i=setTimeout,u=typeof setImmediate=="function"&&setImmediate||function(n){i(n,1)},s=function(n){typeof console<"u"&&console&&console.warn("Possible Unhandled Promise Rejection:",n)};b.prototype.catch=function(n){return this.then(null,n)},b.prototype.then=function(n,p){var c=new b(g);return y(this,new a(n,p,c)),c},b.all=function(n){var p=Array.prototype.slice.call(n);return new b(function(c,v){function t(A,f){try{if(f&&(typeof f=="object"||typeof f=="function")){var m=f.then;if(typeof m=="function")return void m.call(f,function(C){t(A,C)},v)}p[A]=f,--r===0&&c(p)}catch(C){v(C)}}if(p.length===0)return c([]);for(var r=p.length,l=0;lv;v++)n[v].then(p,c)})},b._setImmediateFn=function(n){u=n},b._setUnhandledRejectionFn=function(n){s=n},typeof V<"u"&&V.exports?V.exports=b:I.Promise||(I.Promise=b)}(q),function(){var I=typeof window.customElements=="object",g=typeof document.registerElement=="function",x=I||g;x||(typeof WeakMap>"u"&&function(){var b=Object.defineProperty,y=Date.now()%1e9,h=function(){this.name="__st"+(1e9*Math.random()>>>0)+(y+++"__")};h.prototype={set:function(o,e){var a=o[this.name];return a&&a[0]===o?a[1]=e:b(o,this.name,{value:[o,e],writable:!0}),this},get:function(o){var e;return(e=o[this.name])&&e[0]===o?e[1]:void 0},delete:function(o){var e=o[this.name];return e&&e[0]===o?(e[0]=e[1]=void 0,!0):!1},has:function(o){var e=o[this.name];return e?e[0]===o:!1}},window.WeakMap=h}(),function(b){function y(D){C.push(D),m||(m=!0,r(o))}function h(D){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(D)||D}function o(){m=!1;var D=C;C=[],D.sort(function(E,w){return E.uid_-w.uid_});var R=!1;D.forEach(function(E){var w=E.takeRecords();e(E),w.length&&(E.callback_(w,E),R=!0)}),R&&o()}function e(D){D.nodes_.forEach(function(R){var E=l.get(R);E&&E.forEach(function(w){w.observer===D&&w.removeTransientObservers()})})}function a(D,R){for(var E=D;E;E=E.parentNode){var w=l.get(E);if(w)for(var k=0;k0){var w=R[E-1],k=v(w,D);if(k)return void(R[E-1]=k)}else y(this.observer);R[E]=D},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(D){var R=this.options;R.attributes&&D.addEventListener("DOMAttrModified",this,!0),R.characterData&&D.addEventListener("DOMCharacterDataModified",this,!0),R.childList&&D.addEventListener("DOMNodeInserted",this,!0),(R.childList||R.subtree)&&D.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(D){var R=this.options;R.attributes&&D.removeEventListener("DOMAttrModified",this,!0),R.characterData&&D.removeEventListener("DOMCharacterDataModified",this,!0),R.childList&&D.removeEventListener("DOMNodeInserted",this,!0),(R.childList||R.subtree)&&D.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(D){if(D!==this.target){this.addListeners_(D),this.transientObservedNodes.push(D);var R=l.get(D);R||l.set(D,R=[]),R.push(this)}},removeTransientObservers:function(){var D=this.transientObservedNodes;this.transientObservedNodes=[],D.forEach(function(R){this.removeListeners_(R);for(var E=l.get(R),w=0;w=0)){s.push(i);for(var n,p=i.querySelectorAll("link[rel="+d+"]"),c=0,v=p.length;v>c&&(n=p[c]);c++)n.import&&a(n.import,u,s);u(i)}}var d=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";b.forDocumentTree=e,b.forSubtree=y}),window.CustomElements.addModule(function(b){function y(E,w){return h(E,w)||o(E,w)}function h(E,w){return b.upgrade(E,w)?!0:void(w&&d(E))}function o(E,w){m(E,function(k){return h(k,w)?!0:void 0})}function e(E){O.push(E),L||(L=!0,setTimeout(a))}function a(){L=!1;for(var E,w=O,k=0,T=w.length;T>k&&(E=w[k]);k++)E();O=[]}function d(E){S?e(function(){i(E)}):i(E)}function i(E){E.__upgraded__&&!E.__attached&&(E.__attached=!0,E.attachedCallback&&E.attachedCallback())}function u(E){s(E),m(E,function(w){s(w)})}function s(E){S?e(function(){n(E)}):n(E)}function n(E){E.__upgraded__&&E.__attached&&(E.__attached=!1,E.detachedCallback&&E.detachedCallback())}function p(E){for(var w=E,k=window.wrap(document);w;){if(w==k)return!0;w=w.parentNode||w.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&w.host}}function c(E){if(E.shadowRoot&&!E.shadowRoot.__watched){f.dom&&console.log("watching shadow-root for: ",E.localName);for(var w=E.shadowRoot;w;)r(w),w=w.olderShadowRoot}}function v(E,w){if(f.dom){var k=w[0];if(k&&k.type==="childList"&&k.addedNodes&&k.addedNodes){for(var T=k.addedNodes[0];T&&T!==document&&!T.host;)T=T.parentNode;var N=T&&(T.URL||T._URL||T.host&&T.host.localName)||"";N=N.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",w.length,N||"")}var P=p(E);w.forEach(function(_){_.type==="childList"&&(D(_.addedNodes,function(F){F.localName&&y(F,P)}),D(_.removedNodes,function(F){F.localName&&u(F)}))}),f.dom&&console.groupEnd()}function t(E){for(E=window.wrap(E),E||(E=window.wrap(document));E.parentNode;)E=E.parentNode;var w=E.__observer;w&&(v(E,w.takeRecords()),a())}function r(E){if(!E.__observer){var w=new MutationObserver(v.bind(this,E));w.observe(E,{childList:!0,subtree:!0}),E.__observer=w}}function l(E){E=window.wrap(E),f.dom&&console.group("upgradeDocument: ",E.baseURI.split("/").pop());var w=E===window.wrap(document);y(E,w),r(E),f.dom&&console.groupEnd()}function A(E){C(E,l)}var f=b.flags,m=b.forSubtree,C=b.forDocumentTree,S=window.MutationObserver._isPolyfilled&&f["throttle-attached"];b.hasPolyfillMutations=S,b.hasThrottledAttached=S;var L=!1,O=[],D=Array.prototype.forEach.call.bind(Array.prototype.forEach),R=Element.prototype.createShadowRoot;R&&(Element.prototype.createShadowRoot=function(){var E=R.call(this);return window.CustomElements.watchShadow(this),E}),b.watchShadow=c,b.upgradeDocumentTree=A,b.upgradeDocument=l,b.upgradeSubtree=o,b.upgradeAll=y,b.attached=d,b.takeRecords=t}),window.CustomElements.addModule(function(b){function y(i,u){if(i.localName==="template"&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(i),!i.__upgraded__&&i.nodeType===Node.ELEMENT_NODE){var s=i.getAttribute("is"),n=b.getRegisteredDefinition(i.localName)||b.getRegisteredDefinition(s);if(n&&(s&&n.tag==i.localName||!s&&!n.extends))return h(i,n,u)}}function h(i,u,s){return d.upgrade&&console.group("upgrade:",i.localName),u.is&&i.setAttribute("is",u.is),o(i,u),i.__upgraded__=!0,a(i),s&&b.attached(i),b.upgradeSubtree(i,s),d.upgrade&&console.groupEnd(),i}function o(i,u){Object.__proto__||e(i,u.prototype,u.native),i.__proto__=u.prototype}function e(i,u,s){for(var n={},p=u;p!==s&&p!==HTMLElement.prototype;){for(var c,v=Object.getOwnPropertyNames(p),t=0;c=v[t];t++)n[c]||(Object.defineProperty(i,c,Object.getOwnPropertyDescriptor(p,c)),n[c]=1);p=Object.getPrototypeOf(p)}}function a(i){i.createdCallback&&i.createdCallback()}var d=b.flags;b.upgrade=y,b.upgradeWithDefinition=h,b.implementPrototype=o}),window.CustomElements.addModule(function(b){function y(E,w){var k=w||{};if(!E)throw new Error("document.registerElement: first argument `name` must not be empty");if(E.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(E)+"'.");if(e(E))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(E)+"'. The type name is invalid.");if(s(E))throw new Error("DuplicateDefinitionError: a type with name '"+String(E)+"' is already registered");return k.prototype||(k.prototype=Object.create(HTMLElement.prototype)),k.__name=E.toLowerCase(),k.extends&&(k.extends=k.extends.toLowerCase()),k.lifecycle=k.lifecycle||{},k.ancestry=a(k.extends),d(k),i(k),h(k.prototype),n(k.__name,k),k.ctor=p(k),k.ctor.prototype=k.prototype,k.prototype.constructor=k.ctor,b.ready&&l(document),k.ctor}function h(E){if(!E.setAttribute._polyfilled){var w=E.setAttribute;E.setAttribute=function(T,N){o.call(this,T,N,w)};var k=E.removeAttribute;E.removeAttribute=function(T){o.call(this,T,null,k)},E.setAttribute._polyfilled=!0}}function o(E,w,k){E=E.toLowerCase();var T=this.getAttribute(E);k.apply(this,arguments);var N=this.getAttribute(E);this.attributeChangedCallback&&N!==T&&this.attributeChangedCallback(E,T,N)}function e(E){for(var w=0;w=0&&m(T,HTMLElement),T)}function t(E,w){var k=E[w];E[w]=function(){var T=k.apply(this,arguments);return A(T),T}}var r,l=(b.isIE,b.upgradeDocumentTree),A=b.upgradeAll,f=b.upgradeWithDefinition,m=b.implementPrototype,C=b.useNative,S=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],L={},O="http://www.w3.org/1999/xhtml",D=document.createElement.bind(document),R=document.createElementNS.bind(document);r=Object.__proto__||C?function(E,w){return E instanceof w}:function(E,w){if(E instanceof w)return!0;for(var k=E;k;){if(k===w.prototype)return!0;k=k.__proto__}return!1},t(Node.prototype,"cloneNode"),t(document,"importNode"),document.registerElement=y,document.createElement=v,document.createElementNS=c,b.registry=L,b.instanceof=r,b.reservedTagList=S,b.getRegisteredDefinition=s,document.register=document.registerElement}),function(b){function y(){a(window.wrap(document)),window.CustomElements.ready=!0;var u=window.requestAnimationFrame||function(s){setTimeout(s,16)};u(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var h=b.useNative,o=b.initializeModules;if(b.isIE,h){var e=function(){};b.watchShadow=e,b.upgrade=e,b.upgradeAll=e,b.upgradeDocumentTree=e,b.upgradeSubtree=e,b.takeRecords=e,b.instanceof=function(u,s){return u instanceof s}}else o();var a=b.upgradeDocumentTree,d=b.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(u){return u}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(u){u.import&&d(wrap(u.import))}),document.readyState==="complete"||b.flags.eager)y();else if(document.readyState!=="interactive"||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var i=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(i,y)}else y()}(window.CustomElements))}.call(q),function(){}.call(q),function(){var I=this;(function(){(function(){this.Trix={VERSION:"1.3.1",ZERO_WIDTH_SPACE:"\uFEFF",NON_BREAKING_SPACE:"\xA0",OBJECT_REPLACEMENT_CHARACTER:"\uFFFC",browser:{composesExistingText:/Android.*Chrome/.test(navigator.userAgent),forcesObjectResizing:/Trident.*rv:11/.test(navigator.userAgent),supportsInputEvents:function(){var x,b,y,h;if(typeof InputEvent>"u")return!1;for(h=["data","getTargetRanges","inputType"],x=0,b=h.length;b>x;x++)if(y=h[x],!(y in InputEvent.prototype))return!1;return!0}()},config:{}}}).call(this)}).call(I);var g=I.Trix;(function(){(function(){g.BasicObject=function(){function x(){}var b,y,h;return x.proxyMethod=function(o){var e,a,d,i,u;return d=y(o),e=d.name,i=d.toMethod,u=d.toProperty,a=d.optional,this.prototype[e]=function(){var s,n;return s=i!=null?a?typeof this[i]=="function"?this[i]():void 0:this[i]():u!=null?this[u]:void 0,a?(n=s?.[e],n!=null?b.call(n,s,arguments):void 0):(n=s[e],b.call(n,s,arguments))}},y=function(o){var e,a;if(!(a=o.match(h)))throw new Error("can't parse @proxyMethod expression: "+o);return e={name:a[4]},a[2]!=null?e.toMethod=a[1]:e.toProperty=a[1],a[3]!=null&&(e.optional=!0),e},b=Function.prototype.apply,h=/^(.+?)(\(\))?(\?)?\.(.+?)$/,x}()}).call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.Object=function(y){function h(){this.id=++o}var o;return x(h,y),o=0,h.fromJSONString=function(e){return this.fromJSON(JSON.parse(e))},h.prototype.hasSameConstructorAs=function(e){return this.constructor===e?.constructor},h.prototype.isEqualTo=function(e){return this===e},h.prototype.inspect=function(){var e,a,d;return e=function(){var i,u,s;u=(i=this.contentsForInspection())!=null?i:{},s=[];for(a in u)d=u[a],s.push(a+"="+d);return s}.call(this),"#<"+this.constructor.name+":"+this.id+(e.length?" "+e.join(", "):"")+">"},h.prototype.contentsForInspection=function(){},h.prototype.toJSONString=function(){return JSON.stringify(this)},h.prototype.toUTF16String=function(){return g.UTF16String.box(this)},h.prototype.getCacheKey=function(){return this.id.toString()},h}(g.BasicObject)}.call(this),function(){g.extend=function(x){var b,y;for(b in x)y=x[b],this[b]=y;return this}}.call(this),function(){g.extend({defer:function(x){return setTimeout(x,1)}})}.call(this),function(){var x,b;g.extend({normalizeSpaces:function(y){return y.replace(RegExp(""+g.ZERO_WIDTH_SPACE,"g"),"").replace(RegExp(""+g.NON_BREAKING_SPACE,"g")," ")},normalizeNewlines:function(y){return y.replace(/\r\n/g,` -`)},breakableWhitespacePattern:RegExp("[^\\S"+g.NON_BREAKING_SPACE+"]"),squishBreakableWhitespace:function(y){return y.replace(RegExp(""+g.breakableWhitespacePattern.source,"g")," ").replace(/\ {2,}/g," ")},summarizeStringChange:function(y,h){var o,e,a,d;return y=g.UTF16String.box(y),h=g.UTF16String.box(h),h.lengtho&&y.charAt(o).isEqualTo(h.charAt(o));)o++;for(;e>o+1&&y.charAt(e-1).isEqualTo(h.charAt(a-1));)e--,a--;return{utf16String:y.slice(o,e),offset:o}}}.call(this),function(){g.extend({copyObject:function(x){var b,y,h;x==null&&(x={}),y={};for(b in x)h=x[b],y[b]=h;return y},objectsAreEqual:function(x,b){var y,h;if(x==null&&(x={}),b==null&&(b={}),Object.keys(x).length!==Object.keys(b).length)return!1;for(y in x)if(h=x[y],h!==b[y])return!1;return!0}})}.call(this),function(){var x=[].slice;g.extend({arraysAreEqual:function(b,y){var h,o,e,a;if(b==null&&(b=[]),y==null&&(y=[]),b.length!==y.length)return!1;for(o=h=0,e=b.length;e>h;o=++h)if(a=b[o],a!==y[o])return!1;return!0},arrayStartsWith:function(b,y){return b==null&&(b=[]),y==null&&(y=[]),g.arraysAreEqual(b.slice(0,y.length),y)},spliceArray:function(){var b,y,h;return y=arguments[0],b=2<=arguments.length?x.call(arguments,1):[],h=y.slice(0),h.splice.apply(h,b),h},summarizeArrayChange:function(b,y){var h,o,e,a,d,i,u,s,n,p,c;for(b==null&&(b=[]),y==null&&(y=[]),h=[],p=[],e=new Set,a=0,u=b.length;u>a;a++)c=b[a],e.add(c);for(o=new Set,d=0,s=y.length;s>d;d++)c=y[d],o.add(c),e.has(c)||h.push(c);for(i=0,n=b.length;n>i;i++)c=b[i],o.has(c)||p.push(c);return{added:h,removed:p}}})}.call(this),function(){var x,b,y,h;x=null,b=null,h=null,y=null,g.extend({getAllAttributeNames:function(){return x??(x=g.getTextAttributeNames().concat(g.getBlockAttributeNames()))},getBlockConfig:function(o){return g.config.blockAttributes[o]},getBlockAttributeNames:function(){return b??(b=Object.keys(g.config.blockAttributes))},getTextConfig:function(o){return g.config.textAttributes[o]},getTextAttributeNames:function(){return h??(h=Object.keys(g.config.textAttributes))},getListAttributeNames:function(){var o,e;return y??(y=function(){var a,d;a=g.config.blockAttributes,d=[];for(o in a)e=a[o].listAttribute,e!=null&&d.push(e);return d}())}})}.call(this),function(){var x,b,y,h,o,e=[].indexOf||function(a){for(var d=0,i=this.length;i>d;d++)if(d in this&&this[d]===a)return d;return-1};x=document.documentElement,b=(y=(h=(o=x.matchesSelector)!=null?o:x.webkitMatchesSelector)!=null?h:x.msMatchesSelector)!=null?y:x.mozMatchesSelector,g.extend({handleEvent:function(a,d){var i,u,s,n,p,c,v,t,r,l,A,f;return t=d??{},c=t.onElement,p=t.matchingSelector,f=t.withCallback,n=t.inPhase,v=t.preventDefault,l=t.times,u=c??x,r=p,i=f,A=n==="capturing",s=function(m){var C;return l!=null&&--l===0&&s.destroy(),C=g.findClosestElementFromNode(m.target,{matchingSelector:r}),C!=null&&(f?.call(C,m,C),v)?m.preventDefault():void 0},s.destroy=function(){return u.removeEventListener(a,s,A)},u.addEventListener(a,s,A),s},handleEventOnce:function(a,d){return d==null&&(d={}),d.times=1,g.handleEvent(a,d)},triggerEvent:function(a,d){var i,u,s,n,p,c,v;return v=d??{},c=v.onElement,u=v.bubbles,s=v.cancelable,i=v.attributes,n=c??x,u=u!==!1,s=s!==!1,p=document.createEvent("Events"),p.initEvent(a,u,s),i!=null&&g.extend.call(p,i),n.dispatchEvent(p)},elementMatchesSelector:function(a,d){return a?.nodeType===1?b.call(a,d):void 0},findClosestElementFromNode:function(a,d){var i,u,s;for(u=d??{},i=u.matchingSelector,s=u.untilNode;a!=null&&a.nodeType!==Node.ELEMENT_NODE;)a=a.parentNode;if(a!=null){if(i==null)return a;if(a.closest&&s==null)return a.closest(i);for(;a&&a!==s;){if(g.elementMatchesSelector(a,i))return a;a=a.parentNode}}},findInnerElement:function(a){for(;a?.firstElementChild;)a=a.firstElementChild;return a},innerElementIsActive:function(a){return document.activeElement!==a&&g.elementContainsNode(a,document.activeElement)},elementContainsNode:function(a,d){if(a&&d)for(;d;){if(d===a)return!0;d=d.parentNode}},findNodeFromContainerAndOffset:function(a,d){var i;if(a)return a.nodeType===Node.TEXT_NODE?a:d===0?(i=a.firstChild)!=null?i:a:a.childNodes.item(d-1)},findElementFromContainerAndOffset:function(a,d){var i;return i=g.findNodeFromContainerAndOffset(a,d),g.findClosestElementFromNode(i)},findChildIndexOfNode:function(a){var d;if(a?.parentNode){for(d=0;a=a.previousSibling;)d++;return d}},removeNode:function(a){var d;return a!=null&&(d=a.parentNode)!=null?d.removeChild(a):void 0},walkTree:function(a,d){var i,u,s,n,p;return s=d??{},u=s.onlyNodesOfType,n=s.usingFilter,i=s.expandEntityReferences,p=function(){switch(u){case"element":return NodeFilter.SHOW_ELEMENT;case"text":return NodeFilter.SHOW_TEXT;case"comment":return NodeFilter.SHOW_COMMENT;default:return NodeFilter.SHOW_ALL}}(),document.createTreeWalker(a,p,n??null,i===!0)},tagName:function(a){var d;return a!=null&&(d=a.tagName)!=null?d.toLowerCase():void 0},makeElement:function(a,d){var i,u,s,n,p,c,v,t,r,l,A,f,m,C;if(d==null&&(d={}),typeof a=="object"?(d=a,a=d.tagName):d={attributes:d},s=document.createElement(a),d.editable!=null&&(d.attributes==null&&(d.attributes={}),d.attributes.contenteditable=d.editable),d.attributes){r=d.attributes;for(c in r)C=r[c],s.setAttribute(c,C)}if(d.style){l=d.style;for(c in l)C=l[c],s.style[c]=C}if(d.data){A=d.data;for(c in A)C=A[c],s.dataset[c]=C}if(d.className)for(f=d.className.split(" "),n=0,v=f.length;v>n;n++)u=f[n],s.classList.add(u);if(d.textContent&&(s.textContent=d.textContent),d.childNodes)for(m=[].concat(d.childNodes),p=0,t=m.length;t>p;p++)i=m[p],s.appendChild(i);return s},getBlockTagNames:function(){var a,d;return g.blockTagNames!=null?g.blockTagNames:g.blockTagNames=function(){var i,u;i=g.config.blockAttributes,u=[];for(a in i)d=i[a].tagName,d&&u.push(d);return u}()},nodeIsBlockContainer:function(a){return g.nodeIsBlockStartComment(a?.firstChild)},nodeProbablyIsBlockContainer:function(a){var d,i;return d=g.tagName(a),e.call(g.getBlockTagNames(),d)>=0&&(i=g.tagName(a.firstChild),e.call(g.getBlockTagNames(),i)<0)},nodeIsBlockStart:function(a,d){var i;return i=(d??{strict:!0}).strict,i?g.nodeIsBlockStartComment(a):g.nodeIsBlockStartComment(a)||!g.nodeIsBlockStartComment(a.firstChild)&&g.nodeProbablyIsBlockContainer(a)},nodeIsBlockStartComment:function(a){return g.nodeIsCommentNode(a)&&a?.data==="block"},nodeIsCommentNode:function(a){return a?.nodeType===Node.COMMENT_NODE},nodeIsCursorTarget:function(a,d){var i;return i=(d??{}).name,a?g.nodeIsTextNode(a)?a.data===g.ZERO_WIDTH_SPACE?i?a.parentNode.dataset.trixCursorTarget===i:!0:void 0:g.nodeIsCursorTarget(a.firstChild):void 0},nodeIsAttachmentElement:function(a){return g.elementMatchesSelector(a,g.AttachmentView.attachmentSelector)},nodeIsEmptyTextNode:function(a){return g.nodeIsTextNode(a)&&a?.data===""},nodeIsTextNode:function(a){return a?.nodeType===Node.TEXT_NODE}})}.call(this),function(){var x,b,y,h,o;x=g.copyObject,h=g.objectsAreEqual,g.extend({normalizeRange:y=function(e){var a;if(e!=null)return Array.isArray(e)||(e=[e,e]),[b(e[0]),b((a=e[1])!=null?a:e[0])]},rangeIsCollapsed:function(e){var a,d,i;if(e!=null)return d=y(e),i=d[0],a=d[1],o(i,a)},rangesAreEqual:function(e,a){var d,i,u,s,n,p;if(e!=null&&a!=null)return u=y(e),i=u[0],d=u[1],s=y(a),p=s[0],n=s[1],o(i,p)&&o(d,n)}}),b=function(e){return typeof e=="number"?e:x(e)},o=function(e,a){return typeof e=="number"?e===a:h(e,a)}}.call(this),function(){var x,b,y,h,o,e,a;g.registerElement=function(d,i){var u,s;return i==null&&(i={}),d=d.toLowerCase(),i=a(i),s=e(i),(u=s.defaultCSS)&&(delete s.defaultCSS,h(u,d)),o(d,s)},h=function(d,i){var u;return u=y(i),u.textContent=d.replace(/%t/g,i)},y=function(d){var i,u;return i=document.createElement("style"),i.setAttribute("type","text/css"),i.setAttribute("data-tag-name",d.toLowerCase()),(u=x())&&i.setAttribute("nonce",u),document.head.insertBefore(i,document.head.firstChild),i},x=function(){var d;return(d=b("trix-csp-nonce")||b("csp-nonce"))?d.getAttribute("content"):void 0},b=function(d){return document.head.querySelector("meta[name="+d+"]")},e=function(d){var i,u,s;u={};for(i in d)s=d[i],u[i]=typeof s=="function"?{value:s}:s;return u},a=function(){var d;return d=function(i){var u,s,n,p,c;for(u={},c=["initialize","connect","disconnect"],s=0,p=c.length;p>s;s++)n=c[s],u[n]=i[n],delete i[n];return u},window.customElements?function(i){var u,s,n,p,c;return c=d(i),n=c.initialize,u=c.connect,s=c.disconnect,n&&(p=u,u=function(){return this.initialized||(this.initialized=!0,n.call(this)),p?.call(this)}),u&&(i.connectedCallback=u),s&&(i.disconnectedCallback=s),i}:function(i){var u,s,n,p;return p=d(i),n=p.initialize,u=p.connect,s=p.disconnect,n&&(i.createdCallback=n),u&&(i.attachedCallback=u),s&&(i.detachedCallback=s),i}}(),o=function(){return window.customElements?function(d,i){var u;return u=function(){return typeof Reflect=="object"?Reflect.construct(HTMLElement,[],u):HTMLElement.apply(this)},Object.setPrototypeOf(u.prototype,HTMLElement.prototype),Object.setPrototypeOf(u,HTMLElement),Object.defineProperties(u.prototype,i),window.customElements.define(d,u),u}:function(d,i){var u,s;return s=Object.create(HTMLElement.prototype,i),u=document.registerElement(d,{prototype:s}),Object.defineProperty(s,"constructor",{value:u}),u}}()}.call(this),function(){var x,b;g.extend({getDOMSelection:function(){var y;return y=window.getSelection(),y.rangeCount>0?y:void 0},getDOMRange:function(){var y,h;return(y=(h=g.getDOMSelection())!=null?h.getRangeAt(0):void 0)&&!x(y)?y:void 0},setDOMRange:function(y){var h;return h=window.getSelection(),h.removeAllRanges(),h.addRange(y),g.selectionChangeObserver.update()}}),x=function(y){return b(y.startContainer)||b(y.endContainer)},b=function(y){return!Object.getPrototypeOf(y)}}.call(this),function(){var x;x={"application/x-trix-feature-detection":"test"},g.extend({dataTransferIsPlainText:function(b){var y,h,o;return o=b.getData("text/plain"),h=b.getData("text/html"),o&&h?(y=new DOMParser().parseFromString(h,"text/html").body,y.textContent===o?!y.querySelector("*"):void 0):o?.length},dataTransferIsWritable:function(b){var y,h;if(b?.setData!=null){for(y in x)if(h=x[y],!function(){try{return b.setData(y,h),b.getData(y)===h}catch{}}())return;return!0}},keyEventIsKeyboardCommand:function(){return/Mac|^iP/.test(navigator.platform)?function(b){return b.metaKey}:function(b){return b.ctrlKey}}()})}.call(this),function(){g.extend({RTL_PATTERN:/[\u05BE\u05C0\u05C3\u05D0-\u05EA\u05F0-\u05F4\u061B\u061F\u0621-\u063A\u0640-\u064A\u066D\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D5\u06E5\u06E6\u200F\u202B\u202E\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE72\uFE74\uFE76-\uFEFC]/,getDirection:function(){var x,b,y,h;return b=g.makeElement("input",{dir:"auto",name:"x",dirName:"x.dir"}),x=g.makeElement("form"),x.appendChild(b),y=function(){try{return new FormData(x).has(b.dirName)}catch{}}(),h=function(){try{return b.matches(":dir(ltr),:dir(rtl)")}catch{}}(),y?function(o){return b.value=o,new FormData(x).get(b.dirName)}:h?function(o){return b.value=o,b.matches(":dir(rtl)")?"rtl":"ltr"}:function(o){var e;return e=o.trim().charAt(0),g.RTL_PATTERN.test(e)?"rtl":"ltr"}}()})}.call(this),function(){}.call(this),function(){var x,b=function(h,o){function e(){this.constructor=h}for(var a in o)y.call(o,a)&&(h[a]=o[a]);return e.prototype=o.prototype,h.prototype=new e,h.__super__=o.prototype,h},y={}.hasOwnProperty;x=g.arraysAreEqual,g.Hash=function(h){function o(s){s==null&&(s={}),this.values=a(s),o.__super__.constructor.apply(this,arguments)}var e,a,d,i,u;return b(o,h),o.fromCommonAttributesOfObjects=function(s){var n,p,c,v,t,r;if(s==null&&(s=[]),!s.length)return new this;for(n=e(s[0]),c=n.getKeys(),r=s.slice(1),p=0,v=r.length;v>p;p++)t=r[p],c=n.getKeysCommonToHash(e(t)),n=n.slice(c);return n},o.box=function(s){return e(s)},o.prototype.add=function(s,n){return this.merge(i(s,n))},o.prototype.remove=function(s){return new g.Hash(a(this.values,s))},o.prototype.get=function(s){return this.values[s]},o.prototype.has=function(s){return s in this.values},o.prototype.merge=function(s){return new g.Hash(d(this.values,u(s)))},o.prototype.slice=function(s){var n,p,c,v;for(v={},n=0,c=s.length;c>n;n++)p=s[n],this.has(p)&&(v[p]=this.values[p]);return new g.Hash(v)},o.prototype.getKeys=function(){return Object.keys(this.values)},o.prototype.getKeysCommonToHash=function(s){var n,p,c,v,t;for(s=e(s),v=this.getKeys(),t=[],n=0,c=v.length;c>n;n++)p=v[n],this.values[p]===s.values[p]&&t.push(p);return t},o.prototype.isEqualTo=function(s){return x(this.toArray(),e(s).toArray())},o.prototype.isEmpty=function(){return this.getKeys().length===0},o.prototype.toArray=function(){var s,n,p;return(this.array!=null?this.array:this.array=function(){var c;n=[],c=this.values;for(s in c)p=c[s],n.push(s,p);return n}.call(this)).slice(0)},o.prototype.toObject=function(){return a(this.values)},o.prototype.toJSON=function(){return this.toObject()},o.prototype.contentsForInspection=function(){return{values:JSON.stringify(this.values)}},i=function(s,n){var p;return p={},p[s]=n,p},d=function(s,n){var p,c,v;c=a(s);for(p in n)v=n[p],c[p]=v;return c},a=function(s,n){var p,c,v,t,r;for(t={},r=Object.keys(s).sort(),p=0,v=r.length;v>p;p++)c=r[p],c!==n&&(t[c]=s[c]);return t},e=function(s){return s instanceof g.Hash?s:new g.Hash(s)},u=function(s){return s instanceof g.Hash?s.values:s},o}(g.Object)}.call(this),function(){g.ObjectGroup=function(){function x(b,y){var h,o;this.objects=b??[],o=y.depth,h=y.asTree,h&&(this.depth=o,this.objects=this.constructor.groupObjects(this.objects,{asTree:h,depth:this.depth+1}))}return x.groupObjects=function(b,y){var h,o,e,a,d,i,u,s,n;for(b==null&&(b=[]),n=y??{},e=n.depth,h=n.asTree,h&&e==null&&(e=0),s=[],d=0,i=b.length;i>d;d++){if(u=b[d],a){if(typeof u.canBeGrouped=="function"&&u.canBeGrouped(e)&&(typeof(o=a[a.length-1]).canBeGroupedWith=="function"&&o.canBeGroupedWith(u,e))){a.push(u);continue}s.push(new this(a,{depth:e,asTree:h})),a=null}typeof u.canBeGrouped=="function"&&u.canBeGrouped(e)?a=[u]:s.push(u)}return a&&s.push(new this(a,{depth:e,asTree:h})),s},x.prototype.getObjects=function(){return this.objects},x.prototype.getDepth=function(){return this.depth},x.prototype.getCacheKey=function(){var b,y,h,o,e;for(y=["objectGroup"],e=this.getObjects(),b=0,h=e.length;h>b;b++)o=e[b],y.push(o.getCacheKey());return y.join("/")},x}()}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.ObjectMap=function(y){function h(o){var e,a,d,i,u;for(o==null&&(o=[]),this.objects={},d=0,i=o.length;i>d;d++)u=o[d],a=JSON.stringify(u),(e=this.objects)[a]==null&&(e[a]=u)}return x(h,y),h.prototype.find=function(o){var e;return e=JSON.stringify(o),this.objects[e]},h}(g.BasicObject)}.call(this),function(){g.ElementStore=function(){function x(y){this.reset(y)}var b;return x.prototype.add=function(y){var h;return h=b(y),this.elements[h]=y},x.prototype.remove=function(y){var h,o;return h=b(y),(o=this.elements[h])?(delete this.elements[h],o):void 0},x.prototype.reset=function(y){var h,o,e;for(y==null&&(y=[]),this.elements={},o=0,e=y.length;e>o;o++)h=y[o],this.add(h);return y},b=function(y){return y.dataset.trixStoreKey},x}()}.call(this),function(){}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.Operation=function(y){function h(){return h.__super__.constructor.apply(this,arguments)}return x(h,y),h.prototype.isPerforming=function(){return this.performing===!0},h.prototype.hasPerformed=function(){return this.performed===!0},h.prototype.hasSucceeded=function(){return this.performed&&this.succeeded},h.prototype.hasFailed=function(){return this.performed&&!this.succeeded},h.prototype.getPromise=function(){return this.promise!=null?this.promise:this.promise=new Promise(function(o){return function(e,a){return o.performing=!0,o.perform(function(d,i){return o.succeeded=d,o.performing=!1,o.performed=!0,o.succeeded?e(i):a(i)})}}(this))},h.prototype.perform=function(o){return o(!1)},h.prototype.release=function(){var o;return(o=this.promise)!=null&&typeof o.cancel=="function"&&o.cancel(),this.promise=null,this.performing=null,this.performed=null,this.succeeded=null},h.proxyMethod("getPromise().then"),h.proxyMethod("getPromise().catch"),h}(g.BasicObject)}.call(this),function(){var x,b,y,h,o,e=function(d,i){function u(){this.constructor=d}for(var s in i)a.call(i,s)&&(d[s]=i[s]);return u.prototype=i.prototype,d.prototype=new u,d.__super__=i.prototype,d},a={}.hasOwnProperty;g.UTF16String=function(d){function i(u,s){this.ucs2String=u,this.codepoints=s,this.length=this.codepoints.length,this.ucs2Length=this.ucs2String.length}return e(i,d),i.box=function(u){return u==null&&(u=""),u instanceof this?u:this.fromUCS2String(u?.toString())},i.fromUCS2String=function(u){return new this(u,h(u))},i.fromCodepoints=function(u){return new this(o(u),u)},i.prototype.offsetToUCS2Offset=function(u){return o(this.codepoints.slice(0,Math.max(0,u))).length},i.prototype.offsetFromUCS2Offset=function(u){return h(this.ucs2String.slice(0,Math.max(0,u))).length},i.prototype.slice=function(){var u;return this.constructor.fromCodepoints((u=this.codepoints).slice.apply(u,arguments))},i.prototype.charAt=function(u){return this.slice(u,u+1)},i.prototype.isEqualTo=function(u){return this.constructor.box(u).ucs2String===this.ucs2String},i.prototype.toJSON=function(){return this.ucs2String},i.prototype.getCacheKey=function(){return this.ucs2String},i.prototype.toString=function(){return this.ucs2String},i}(g.BasicObject),x=(typeof Array.from=="function"?Array.from("\u{1F47C}").length:void 0)===1,b=(typeof" ".codePointAt=="function"?" ".codePointAt(0):void 0)!=null,y=(typeof String.fromCodePoint=="function"?String.fromCodePoint(32,128124):void 0)===" \u{1F47C}",h=x&&b?function(d){return Array.from(d).map(function(i){return i.codePointAt(0)})}:function(d){var i,u,s,n,p;for(n=[],i=0,s=d.length;s>i;)p=d.charCodeAt(i++),p>=55296&&56319>=p&&s>i&&(u=d.charCodeAt(i++),(64512&u)===56320?p=((1023&p)<<10)+(1023&u)+65536:i--),n.push(p);return n},o=y?function(d){return String.fromCodePoint.apply(String,d)}:function(d){var i,u,s;return i=function(){var n,p,c;for(c=[],n=0,p=d.length;p>n;n++)s=d[n],u="",s>65535&&(s-=65536,u+=String.fromCharCode(s>>>10&1023|55296),s=56320|1023&s),c.push(u+String.fromCharCode(s));return c}(),i.join("")}}.call(this),function(){}.call(this),function(){}.call(this),function(){g.config.lang={attachFiles:"Attach Files",bold:"Bold",bullets:"Bullets",byte:"Byte",bytes:"Bytes",captionPlaceholder:"Add a caption\u2026",code:"Code",heading1:"Heading",indent:"Increase Level",italic:"Italic",link:"Link",numbers:"Numbers",outdent:"Decrease Level",quote:"Quote",redo:"Redo",remove:"Remove",strike:"Strikethrough",undo:"Undo",unlink:"Unlink",url:"URL",urlPlaceholder:"Enter a URL\u2026",GB:"GB",KB:"KB",MB:"MB",PB:"PB",TB:"TB"}}.call(this),function(){g.config.css={attachment:"attachment",attachmentCaption:"attachment__caption",attachmentCaptionEditor:"attachment__caption-editor",attachmentMetadata:"attachment__metadata",attachmentMetadataContainer:"attachment__metadata-container",attachmentName:"attachment__name",attachmentProgress:"attachment__progress",attachmentSize:"attachment__size",attachmentToolbar:"attachment__toolbar",attachmentGallery:"attachment-gallery"}}.call(this),function(){var x;g.config.blockAttributes=x={default:{tagName:"div",parse:!1},quote:{tagName:"blockquote",nestable:!0},heading1:{tagName:"h1",terminal:!0,breakOnReturn:!0,group:!1},code:{tagName:"pre",terminal:!0,text:{plaintext:!0}},bulletList:{tagName:"ul",parse:!1},bullet:{tagName:"li",listAttribute:"bulletList",group:!1,nestable:!0,test:function(b){return g.tagName(b.parentNode)===x[this.listAttribute].tagName}},numberList:{tagName:"ol",parse:!1},number:{tagName:"li",listAttribute:"numberList",group:!1,nestable:!0,test:function(b){return g.tagName(b.parentNode)===x[this.listAttribute].tagName}},attachmentGallery:{tagName:"div",exclusive:!0,terminal:!0,parse:!1,group:!1}}}.call(this),function(){var x,b;x=g.config.lang,b=[x.bytes,x.KB,x.MB,x.GB,x.TB,x.PB],g.config.fileSize={prefix:"IEC",precision:2,formatter:function(y){var h,o,e,a,d;switch(y){case 0:return"0 "+x.bytes;case 1:return"1 "+x.byte;default:return h=function(){switch(this.prefix){case"SI":return 1e3;case"IEC":return 1024}}.call(this),o=Math.floor(Math.log(y)/Math.log(h)),e=y/Math.pow(h,o),a=e.toFixed(this.precision),d=a.replace(/0*$/,"").replace(/\.$/,""),d+" "+b[o]}}}}.call(this),function(){g.config.textAttributes={bold:{tagName:"strong",inheritable:!0,parser:function(x){var b;return b=window.getComputedStyle(x),b.fontWeight==="bold"||b.fontWeight>=600}},italic:{tagName:"em",inheritable:!0,parser:function(x){var b;return b=window.getComputedStyle(x),b.fontStyle==="italic"}},href:{groupTagName:"a",parser:function(x){var b,y,h;return b=g.AttachmentView.attachmentSelector,h="a:not("+b+")",(y=g.findClosestElementFromNode(x,{matchingSelector:h}))?y.getAttribute("href"):void 0}},strike:{tagName:"del",inheritable:!0},frozen:{style:{backgroundColor:"highlight"}}}}.call(this),function(){var x,b,y,h,o;o="[data-trix-serialize=false]",h=["contenteditable","data-trix-id","data-trix-store-key","data-trix-mutable","data-trix-placeholder","tabindex"],b="data-trix-serialized-attributes",y="["+b+"]",x=new RegExp("","g"),g.extend({serializers:{"application/json":function(e){var a;if(e instanceof g.Document)a=e;else{if(!(e instanceof HTMLElement))throw new Error("unserializable object");a=g.Document.fromHTML(e.innerHTML)}return a.toSerializableDocument().toJSONString()},"text/html":function(e){var a,d,i,u,s,n,p,c,v,t,r,l,A,f,m,C,S;if(e instanceof g.Document)u=g.DocumentView.render(e);else{if(!(e instanceof HTMLElement))throw new Error("unserializable object");u=e.cloneNode(!0)}for(f=u.querySelectorAll(o),s=0,v=f.length;v>s;s++)i=f[s],g.removeNode(i);for(n=0,t=h.length;t>n;n++)for(a=h[n],m=u.querySelectorAll("["+a+"]"),p=0,r=m.length;r>p;p++)i=m[p],i.removeAttribute(a);for(C=u.querySelectorAll(y),c=0,l=C.length;l>c;c++){i=C[c];try{d=JSON.parse(i.getAttribute(b)),i.removeAttribute(b);for(A in d)S=d[A],i.setAttribute(A,S)}catch{}}return u.innerHTML.replace(x,"")}},deserializers:{"application/json":function(e){return g.Document.fromJSONString(e)},"text/html":function(e){return g.Document.fromHTML(e)}},serializeToContentType:function(e,a){var d;if(d=g.serializers[a])return d(e);throw new Error("unknown content type: "+a)},deserializeFromContentType:function(e,a){var d;if(d=g.deserializers[a])return d(e);throw new Error("unknown content type: "+a)}})}.call(this),function(){var x;x=g.config.lang,g.config.toolbar={getDefaultHTML:function(){return`
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
`}}}.call(this),function(){g.config.undoInterval=5e3}.call(this),function(){g.config.attachments={preview:{presentation:"gallery",caption:{name:!0,size:!0}},file:{caption:{size:!0}}}}.call(this),function(){g.config.keyNames={8:"backspace",9:"tab",13:"return",27:"escape",37:"left",39:"right",46:"delete",68:"d",72:"h",79:"o"}}.call(this),function(){g.config.input={level2Enabled:!0,getLevel:function(){return this.level2Enabled&&g.browser.supportsInputEvents?2:0},pickFiles:function(x){var b;return b=g.makeElement("input",{type:"file",multiple:!0,hidden:!0,id:this.fileInputId}),b.addEventListener("change",function(){return x(b.files),g.removeNode(b)}),g.removeNode(document.getElementById(this.fileInputId)),document.body.appendChild(b),b.click()},fileInputId:"trix-file-input-"+Date.now().toString(16)}}.call(this),function(){}.call(this),function(){g.registerElement("trix-toolbar",{defaultCSS:`%t { - display: block; +function ge(t){this.content=t}ge.prototype={constructor:ge,find:function(t){for(var e=0;e>1}};ge.from=function(t){if(t instanceof ge)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new ge(e)};var vi=ge;function ba(t,e,n){for(let r=0;;r++){if(r==t.childCount||r==e.childCount)return t.childCount==e.childCount?null:n;let o=t.child(r),i=e.child(r);if(o==i){n+=o.nodeSize;continue}if(!o.sameMarkup(i))return n;if(o.isText&&o.text!=i.text){for(let s=0;o.text[s]==i.text[s];s++)n++;return n}if(o.content.size||i.content.size){let s=ba(o.content,i.content,n+1);if(s!=null)return s}n+=o.nodeSize}}function wa(t,e,n,r){for(let o=t.childCount,i=e.childCount;;){if(o==0||i==0)return o==i?null:{a:n,b:r};let s=t.child(--o),l=e.child(--i),a=s.nodeSize;if(s==l){n-=a,r-=a;continue}if(!s.sameMarkup(l))return{a:n,b:r};if(s.isText&&s.text!=l.text){let c=0,d=Math.min(s.text.length,l.text.length);for(;ce&&r(a,o+l,i||null,s)!==!1&&a.content.size){let d=l+1;a.nodesBetween(Math.max(0,e-d),Math.min(a.content.size,n-d),r,o+d)}l=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,n,r,o){let i="",s=!0;return this.nodesBetween(e,n,(l,a)=>{let c=l.isText?l.text.slice(Math.max(e,a)-a,n-a):l.isLeaf?o?typeof o=="function"?o(l):o:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&c||l.isTextblock)&&r&&(s?s=!1:i+=r),i+=c},0),i}append(e){if(!e.size)return this;if(!this.size)return e;let n=this.lastChild,r=e.firstChild,o=this.content.slice(),i=0;for(n.isText&&n.sameMarkup(r)&&(o[o.length-1]=n.withText(n.text+r.text),i=1);ie)for(let i=0,s=0;se&&((sn)&&(l.isText?l=l.cut(Math.max(0,e-s),Math.min(l.text.length,n-s)):l=l.cut(Math.max(0,e-s-1),Math.min(l.content.size,n-s-1))),r.push(l),o+=l.nodeSize),s=a}return new t(r,o)}cutByIndex(e,n){return e==n?t.empty:e==0&&n==this.content.length?this:new t(this.content.slice(e,n))}replaceChild(e,n){let r=this.content[e];if(r==n)return this;let o=this.content.slice(),i=this.size+n.nodeSize-r.nodeSize;return o[e]=n,new t(o,i)}addToStart(e){return new t([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new t(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let n=0;nthis.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let n=0,r=0;;n++){let o=this.child(n),i=r+o.nodeSize;if(i>=e)return i==e?Ar(n+1,i):Ar(n,r);r=i}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,n){if(!n)return t.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return new t(n.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return t.empty;let n,r=0;for(let o=0;othis.type.rank&&(n||(n=e.slice(0,o)),n.push(this),r=!0),n&&n.push(i)}}return n||(n=e.slice()),r||n.push(this),n}removeFromSet(e){for(let n=0;nr.type.rank-o.type.rank),n}};J.none=[];var Ft=class extends Error{},E=class t{constructor(e,n,r){this.content=e,this.openStart=n,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,n){let r=ka(this.content,e+this.openStart,n);return r&&new t(r,this.openStart,this.openEnd)}removeBetween(e,n){return new t(xa(this.content,e+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,n){if(!n)return t.empty;let r=n.openStart||0,o=n.openEnd||0;if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new t(v.fromJSON(e,n.content),r,o)}static maxOpen(e,n=!0){let r=0,o=0;for(let i=e.firstChild;i&&!i.isLeaf&&(n||!i.type.spec.isolating);i=i.firstChild)r++;for(let i=e.lastChild;i&&!i.isLeaf&&(n||!i.type.spec.isolating);i=i.lastChild)o++;return new t(e,r,o)}};E.empty=new E(v.empty,0,0);function xa(t,e,n){let{index:r,offset:o}=t.findIndex(e),i=t.maybeChild(r),{index:s,offset:l}=t.findIndex(n);if(o==e||i.isText){if(l!=n&&!t.child(s).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(r!=s)throw new RangeError("Removing non-flat range");return t.replaceChild(r,i.copy(xa(i.content,e-o-1,n-o-1)))}function ka(t,e,n,r){let{index:o,offset:i}=t.findIndex(e),s=t.maybeChild(o);if(i==e||s.isText)return r&&!r.canReplace(o,o,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=ka(s.content,e-i-1,n,s);return l&&t.replaceChild(o,s.copy(l))}function sp(t,e,n){if(n.openStart>t.depth)throw new Ft("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new Ft("Inconsistent open depths");return Sa(t,e,n,0)}function Sa(t,e,n,r){let o=t.index(r),i=t.node(r);if(o==e.index(r)&&r=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function zn(t,e,n,r){let o=(e||t).node(n),i=0,s=e?e.index(n):o.childCount;t&&(i=t.index(n),t.depth>n?i++:t.textOffset&&(Ht(t.nodeAfter,r),i++));for(let l=i;lo&&Ai(t,e,o+1),s=r.depth>o&&Ai(n,r,o+1),l=[];return zn(null,t,o,l),i&&s&&e.index(o)==n.index(o)?(Ca(i,s),Ht($t(i,va(t,e,n,r,o+1)),l)):(i&&Ht($t(i,Or(t,e,o+1)),l),zn(e,n,o,l),s&&Ht($t(s,Or(n,r,o+1)),l)),zn(r,null,o,l),new v(l)}function Or(t,e,n){let r=[];if(zn(null,t,n,r),t.depth>n){let o=Ai(t,e,n+1);Ht($t(o,Or(t,e,n+1)),r)}return zn(e,null,n,r),new v(r)}function lp(t,e){let n=e.depth-t.openStart,o=e.node(n).copy(t.content);for(let i=n-1;i>=0;i--)o=e.node(i).copy(v.from(o));return{start:o.resolveNoCache(t.openStart+n),end:o.resolveNoCache(o.content.size-t.openEnd-n)}}var Rr=class t{constructor(e,n,r){this.pos=e,this.path=n,this.parentOffset=r,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let r=this.pos-this.path[this.path.length-1],o=e.child(n);return r?e.child(n).cut(r):o}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let r=this.path[n*3],o=n==0?0:this.path[n*3-1]+1;for(let i=0;i0;n--)if(this.start(n)<=e&&this.end(n)>=e)return n;return 0}blockRange(e=this,n){if(e.pos=0;r--)if(e.pos<=this.end(r)&&(!n||n(this.node(r))))return new Vt(this,e,r);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos=0&&n<=e.content.size))throw new RangeError("Position "+n+" out of range");let r=[],o=0,i=n;for(let s=e;;){let{index:l,offset:a}=s.content.findIndex(i),c=i-a;if(r.push(s,l,o+a),!c||(s=s.child(l),s.isText))break;i=c-1,o+=a+1}return new t(n,r,i)}static resolveCached(e,n){let r=ca.get(e);if(r)for(let i=0;ie&&this.nodesBetween(e,n,i=>(r.isInSet(i.marks)&&(o=!0),!o)),o}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),Ma(this.marks,e)}contentMatchAt(e){let n=this.type.contentMatch.matchFragment(this.content,0,e);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(e,n,r=v.empty,o=0,i=r.childCount){let s=this.contentMatchAt(e).matchFragment(r,o,i),l=s&&s.matchFragment(this.content,n);if(!l||!l.validEnd)return!1;for(let a=o;an.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let e={type:this.type.name};for(let n in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(n=>n.toJSON())),e}static fromJSON(e,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let r;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=n.marks.map(e.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(n.text,r)}let o=v.fromJSON(e,n.content),i=e.nodeType(n.type).create(n.attrs,o,r);return i.type.checkAttrs(i.attrs),i}};ie.prototype.text=void 0;var Ni=class t extends ie{constructor(e,n,r,o){if(super(e,n,null,o),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Ma(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,n){return this.text.slice(e,n)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new t(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new t(this.type,this.attrs,e,this.marks)}cut(e=0,n=this.text.length){return e==0&&n==this.text.length?this:this.withText(this.text.slice(e,n))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function Ma(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}var _t=class t{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,n){let r=new Oi(e,n);if(r.next==null)return t.empty;let o=Ta(r);r.next&&r.err("Unexpected trailing text");let i=gp(mp(o));return yp(i,r),i}matchType(e){for(let n=0;nc.createAndFill()));for(let c=0;c=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function n(r){e.push(r);for(let o=0;o{let i=o+(r.validEnd?"*":" ")+" ";for(let s=0;s"+e.indexOf(r.next[s].next);return i}).join(` +`)}};_t.empty=new _t(!0);var Oi=class{constructor(e,n){this.string=e,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}};function Ta(t){let e=[];do e.push(dp(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function dp(t){let e=[];do e.push(up(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function up(t){let e=pp(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=fp(t,e);else break;return e}function da(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function fp(t,e){let n=da(t),r=n;return t.eat(",")&&(t.next!="}"?r=da(t):r=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:e}}function hp(t,e){let n=t.nodeTypes,r=n[e];if(r)return[r];let o=[];for(let i in n){let s=n[i];s.isInGroup(e)&&o.push(s)}return o.length==0&&t.err("No node type or group '"+e+"' found"),o}function pp(t){if(t.eat("(")){let e=Ta(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=hp(t,t.next).map(n=>(t.inline==null?t.inline=n.isInline:t.inline!=n.isInline&&t.err("Mixing inline and block content"),{type:"name",value:n}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function mp(t){let e=[[]];return o(i(t,0),n()),e;function n(){return e.push([])-1}function r(s,l,a){let c={term:a,to:l};return e[s].push(c),c}function o(s,l){s.forEach(a=>a.to=l)}function i(s,l){if(s.type=="choice")return s.exprs.reduce((a,c)=>a.concat(i(c,l)),[]);if(s.type=="seq")for(let a=0;;a++){let c=i(s.exprs[a],l);if(a==s.exprs.length-1)return c;o(c,l=n())}else if(s.type=="star"){let a=n();return r(l,a),o(i(s.expr,a),a),[r(a)]}else if(s.type=="plus"){let a=n();return o(i(s.expr,l),a),o(i(s.expr,a),a),[r(a)]}else{if(s.type=="opt")return[r(l)].concat(i(s.expr,l));if(s.type=="range"){let a=l;for(let c=0;c{t[s].forEach(({term:l,to:a})=>{if(!l)return;let c;for(let d=0;d{c||o.push([l,c=[]]),c.indexOf(d)==-1&&c.push(d)})})});let i=e[r.join(",")]=new _t(r.indexOf(t.length-1)>-1);for(let s=0;s-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:Na(this.attrs,e)}create(e=null,n,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new ie(this,this.computeAttrs(e),v.from(n),J.setFrom(r))}createChecked(e=null,n,r){return n=v.from(n),this.checkContent(n),new ie(this,this.computeAttrs(e),n,J.setFrom(r))}createAndFill(e=null,n,r){if(e=this.computeAttrs(e),n=v.from(n),n.size){let s=this.contentMatch.fillBefore(n);if(!s)return null;n=s.append(n)}let o=this.contentMatch.matchFragment(n),i=o&&o.fillBefore(v.empty,!0);return i?new ie(this,e,n.append(i),J.setFrom(r)):null}validContent(e){let n=this.contentMatch.matchFragment(e);if(!n||!n.validEnd)return!1;for(let r=0;r-1}allowsMarks(e){if(this.markSet==null)return!0;for(let n=0;nr[i]=new t(i,n,s));let o=n.spec.topNode||"doc";if(!r[o])throw new RangeError("Schema is missing its top node type ('"+o+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let i in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function bp(t,e,n){let r=n.split("|");return o=>{let i=o===null?"null":typeof o;if(r.indexOf(i)<0)throw new RangeError(`Expected value of type ${r} for attribute ${e} on type ${t}, got ${i}`)}}var Ri=class{constructor(e,n,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?bp(e,n,r.validate):r.validate}get isRequired(){return!this.hasDefault}},$n=class t{constructor(e,n,r,o){this.name=e,this.rank=n,this.schema=r,this.spec=o,this.attrs=Ra(e,o.attrs),this.excluded=null;let i=Ea(this.attrs);this.instance=i?new J(this,i):null}create(e=null){return!e&&this.instance?this.instance:new J(this,Na(this.attrs,e))}static compile(e,n){let r=Object.create(null),o=0;return e.forEach((i,s)=>r[i]=new t(i,o++,n,s)),r}removeFromSet(e){for(var n=0;n-1}},fn=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let o in e)n[o]=e[o];n.nodes=vi.from(e.nodes),n.marks=vi.from(e.marks||{}),this.nodes=Dr.compile(this.spec.nodes,this),this.marks=$n.compile(this.spec.marks,this);let r=Object.create(null);for(let o in this.nodes){if(o in this.marks)throw new RangeError(o+" can not be both a node and a mark");let i=this.nodes[o],s=i.spec.content||"",l=i.spec.marks;if(i.contentMatch=r[s]||(r[s]=_t.parse(s,this.nodes)),i.inlineContent=i.contentMatch.inlineContent,i.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!i.isInline||!i.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=i}i.markSet=l=="_"?null:l?fa(this,l.split(" ")):l==""||!i.inlineContent?[]:null}for(let o in this.marks){let i=this.marks[o],s=i.spec.excludes;i.excluded=s==null?[i]:s==""?[]:fa(this,s.split(" "))}this.nodeFromJSON=o=>ie.fromJSON(this,o),this.markFromJSON=o=>J.fromJSON(this,o),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,n=null,r,o){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof Dr){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(n,r,o)}text(e,n){let r=this.nodes.text;return new Ni(r,r.defaultAttrs,e,J.setFrom(n))}mark(e,n){return typeof e=="string"&&(e=this.marks[e]),e.create(n)}nodeType(e){let n=this.nodes[e];if(!n)throw new RangeError("Unknown node type: "+e);return n}};function fa(t,e){let n=[];for(let r=0;r-1)&&n.push(s=a)}if(!s)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return n}function wp(t){return t.tag!=null}function xp(t){return t.style!=null}var Xe=class t{constructor(e,n){this.schema=e,this.rules=n,this.tags=[],this.styles=[];let r=this.matchedStyles=[];n.forEach(o=>{if(wp(o))this.tags.push(o);else if(xp(o)){let i=/[^=]*/.exec(o.style)[0];r.indexOf(i)<0&&r.push(i),this.styles.push(o)}}),this.normalizeLists=!this.tags.some(o=>{if(!/^(ul|ol)\b/.test(o.tag)||!o.node)return!1;let i=e.nodes[o.node];return i.contentMatch.matchType(i)})}parse(e,n={}){let r=new Ir(this,n,!1);return r.addAll(e,J.none,n.from,n.to),r.finish()}parseSlice(e,n={}){let r=new Ir(this,n,!0);return r.addAll(e,J.none,n.from,n.to),E.maxOpen(r.finish())}matchTag(e,n,r){for(let o=r?this.tags.indexOf(r)+1:0;oe.length&&(l.charCodeAt(e.length)!=61||l.slice(e.length+1)!=n))){if(s.getAttrs){let a=s.getAttrs(n);if(a===!1)continue;s.attrs=a||void 0}return s}}}static schemaRules(e){let n=[];function r(o){let i=o.priority==null?50:o.priority,s=0;for(;s{r(s=pa(s)),s.mark||s.ignore||s.clearMark||(s.mark=o)})}for(let o in e.nodes){let i=e.nodes[o].spec.parseDOM;i&&i.forEach(s=>{r(s=pa(s)),s.node||s.ignore||s.mark||(s.node=o)})}return n}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new t(e,t.schemaRules(e)))}},Da={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},kp={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Ia={ol:!0,ul:!0},Fn=1,Di=2,Hn=4;function ha(t,e,n){return e!=null?(e?Fn:0)|(e==="full"?Di:0):t&&t.whitespace=="pre"?Fn|Di:n&~Hn}var un=class{constructor(e,n,r,o,i,s){this.type=e,this.attrs=n,this.marks=r,this.solid=o,this.options=s,this.content=[],this.activeMarks=J.none,this.match=i||(s&Hn?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(v.from(e));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let r=this.type.contentMatch,o;return(o=r.findWrapping(e.type))?(this.match=r,o):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&Fn)){let r=this.content[this.content.length-1],o;if(r&&r.isText&&(o=/[ \t\r\n\u000c]+$/.exec(r.text))){let i=r;r.text.length==o[0].length?this.content.pop():this.content[this.content.length-1]=i.withText(i.text.slice(0,i.text.length-o[0].length))}}let n=v.from(this.content);return!e&&this.match&&(n=n.append(this.match.fillBefore(v.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!Da.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},Ir=class{constructor(e,n,r){this.parser=e,this.options=n,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let o=n.topNode,i,s=ha(null,n.preserveWhitespace,0)|(r?Hn:0);o?i=new un(o.type,o.attrs,J.none,!0,n.topMatch||o.type.contentMatch,s):r?i=new un(null,null,J.none,!0,null,s):i=new un(e.schema.topNodeType,null,J.none,!0,null,s),this.nodes=[i],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,n){e.nodeType==3?this.addTextNode(e,n):e.nodeType==1&&this.addElement(e,n)}addTextNode(e,n){let r=e.nodeValue,o=this.top,i=o.options&Di?"full":this.localPreserveWS||(o.options&Fn)>0,{schema:s}=this.parser;if(i==="full"||o.inlineContext(e)||/[^ \t\r\n\u000c]/.test(r)){if(i)if(i==="full")r=r.replace(/\r\n?/g,` +`);else if(s.linebreakReplacement&&/[\r\n]/.test(r)&&this.top.findWrapping(s.linebreakReplacement.create())){let l=r.split(/\r?\n|\r/);for(let a=0;a!a.clearMark(c)):n=n.concat(this.parser.schema.marks[a.mark].create(a.attrs)),a.consuming===!1)l=a;else break}}return n}addElementByRule(e,n,r,o){let i,s;if(n.node)if(s=this.parser.schema.nodes[n.node],s.isLeaf)this.insertNode(s.create(n.attrs),r,e.nodeName=="BR")||this.leafFallback(e,r);else{let a=this.enter(s,n.attrs||null,r,n.preserveWhitespace);a&&(i=!0,r=a)}else{let a=this.parser.schema.marks[n.mark];r=r.concat(a.create(n.attrs))}let l=this.top;if(s&&s.isLeaf)this.findInside(e);else if(o)this.addElement(e,r,o);else if(n.getContent)this.findInside(e),n.getContent(e,this.parser.schema).forEach(a=>this.insertNode(a,r,!1));else{let a=e;typeof n.contentElement=="string"?a=e.querySelector(n.contentElement):typeof n.contentElement=="function"?a=n.contentElement(e):n.contentElement&&(a=n.contentElement),this.findAround(e,a,!0),this.addAll(a,r),this.findAround(e,a,!1)}i&&this.sync(l)&&this.open--}addAll(e,n,r,o){let i=r||0;for(let s=r?e.childNodes[r]:e.firstChild,l=o==null?null:e.childNodes[o];s!=l;s=s.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(s,n);this.findAtPoint(e,i)}findPlace(e,n,r){let o,i;for(let s=this.open,l=0;s>=0;s--){let a=this.nodes[s],c=a.findWrapping(e);if(c&&(!o||o.length>c.length+l)&&(o=c,i=a,!c.length))break;if(a.solid){if(r)break;l+=2}}if(!o)return null;this.sync(i);for(let s=0;s(s.type?s.type.allowsMarkType(c.type):ma(c.type,e))?(a=c.addToSet(a),!1):!0),this.nodes.push(new un(e,n,a,o,null,l)),this.open++,r}closeExtra(e=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let n=this.open;n>=0;n--){if(this.nodes[n]==e)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=Fn)}return!1}get currentPos(){this.closeExtra();let e=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let o=r.length-1;o>=0;o--)e+=r[o].nodeSize;n&&e++}return e}findAtPoint(e,n){if(this.find)for(let r=0;r-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let n=e.split("/"),r=this.options.context,o=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),i=-(r?r.depth+1:0)+(o?0:1),s=(l,a)=>{for(;l>=0;l--){let c=n[l];if(c==""){if(l==n.length-1||l==0)continue;for(;a>=i;a--)if(s(l-1,a))return!0;return!1}else{let d=a>0||a==0&&o?this.nodes[a].type:r&&a>=i?r.node(a-i).type:null;if(!d||d.name!=c&&!d.isInGroup(c))return!1;a--}}return!0};return s(n.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let n=e.depth;n>=0;n--){let r=e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}};function Sp(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let r=e.nodeType==1?e.nodeName.toLowerCase():null;r&&Ia.hasOwnProperty(r)&&n?(n.appendChild(e),e=n):r=="li"?n=e:r&&(n=null)}}function Cp(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function pa(t){let e={};for(let n in t)e[n]=t[n];return e}function ma(t,e){let n=e.schema.nodes;for(let r in n){let o=n[r];if(!o.allowsMarkType(t))continue;let i=[],s=l=>{i.push(l);for(let a=0;a{if(i.length||s.marks.length){let l=0,a=0;for(;l=0;o--){let i=this.serializeMark(e.marks[o],e.isInline,n);i&&((i.contentDOM||i.dom).appendChild(r),r=i.dom)}return r}serializeMark(e,n,r={}){let o=this.marks[e.type.name];return o&&Er(Ti(r),o(e,n),null,e.attrs)}static renderSpec(e,n,r=null,o){return Er(e,n,r,o)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new t(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let n=ga(e.nodes);return n.text||(n.text=r=>r.text),n}static marksFromSchema(e){return ga(e.marks)}};function ga(t){let e={};for(let n in t){let r=t[n].spec.toDOM;r&&(e[n]=r)}return e}function Ti(t){return t.document||window.document}var ya=new WeakMap;function vp(t){let e=ya.get(t);return e===void 0&&ya.set(t,e=Mp(t)),e}function Mp(t){let e=null;function n(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")e||(e=[]),e.push(r);else for(let o=0;o-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=o.indexOf(" ");s>0&&(n=o.slice(0,s),o=o.slice(s+1));let l,a=n?t.createElementNS(n,o):t.createElement(o),c=e[1],d=1;if(c&&typeof c=="object"&&c.nodeType==null&&!Array.isArray(c)){d=2;for(let u in c)if(c[u]!=null){let f=u.indexOf(" ");f>0?a.setAttributeNS(u.slice(0,f),u.slice(f+1),c[u]):u=="style"&&a.style?a.style.cssText=c[u]:a.setAttribute(u,c[u])}}for(let u=d;ud)throw new RangeError("Content hole must be the only child of its parent node");return{dom:a,contentDOM:a}}else{let{dom:h,contentDOM:p}=Er(t,f,n,r);if(a.appendChild(h),p){if(l)throw new RangeError("Multiple content holes");l=p}}}return{dom:a,contentDOM:l}}var Ba=65535,za=Math.pow(2,16);function Tp(t,e){return t+e*za}function Pa(t){return t&Ba}function Ap(t){return(t-(t&Ba))/za}var Ha=1,$a=2,Pr=4,Fa=8,Wn=class{constructor(e,n,r){this.pos=e,this.delInfo=n,this.recover=r}get deleted(){return(this.delInfo&Fa)>0}get deletedBefore(){return(this.delInfo&(Ha|Pr))>0}get deletedAfter(){return(this.delInfo&($a|Pr))>0}get deletedAcross(){return(this.delInfo&Pr)>0}},dt=class t{constructor(e,n=!1){if(this.ranges=e,this.inverted=n,!e.length&&t.empty)return t.empty}recover(e){let n=0,r=Pa(e);if(!this.inverted)for(let o=0;oe)break;let c=this.ranges[l+i],d=this.ranges[l+s],u=a+c;if(e<=u){let f=c?e==a?-1:e==u?1:n:n,h=a+o+(f<0?0:d);if(r)return h;let p=e==(n<0?a:u)?null:Tp(l/3,e-a),m=e==a?$a:e==u?Ha:Pr;return(n<0?e!=a:e!=u)&&(m|=Fa),new Wn(h,m,p)}o+=d-c}return r?e+o:new Wn(e+o,0,null)}touches(e,n){let r=0,o=Pa(n),i=this.inverted?2:1,s=this.inverted?1:2;for(let l=0;le)break;let c=this.ranges[l+i],d=a+c;if(e<=d&&l==o*3)return!0;r+=this.ranges[l+s]-c}return!1}forEach(e){let n=this.inverted?2:1,r=this.inverted?1:2;for(let o=0,i=0;o=0;n--){let o=e.getMirror(n);this.appendMap(e._maps[n].invert(),o!=null&&o>n?r-o-1:void 0)}}invert(){let e=new t;return e.appendMappingInverted(this),e}map(e,n=1){if(this.mirror)return this._map(e,n,!0);for(let r=this.from;ri&&a!s.isAtom||!l.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),o),n.openStart,n.openEnd);return ue.fromReplace(e,this.from,this.to,i)}invert(){return new ut(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new t(n.pos,r.pos,this.mark)}merge(e){return e instanceof t&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new t(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new t(n.from,n.to,e.markFromJSON(n.mark))}};ce.jsonID("addMark",Un);var ut=class t extends ce{constructor(e,n,r){super(),this.from=e,this.to=n,this.mark=r}apply(e){let n=e.slice(this.from,this.to),r=new E(Hi(n.content,o=>o.mark(this.mark.removeFromSet(o.marks)),e),n.openStart,n.openEnd);return ue.fromReplace(e,this.from,this.to,r)}invert(){return new Un(this.from,this.to,this.mark)}map(e){let n=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new t(n.pos,r.pos,this.mark)}merge(e){return e instanceof t&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new t(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new t(n.from,n.to,e.markFromJSON(n.mark))}};ce.jsonID("removeMark",ut);var Kn=class t extends ce{constructor(e,n){super(),this.pos=e,this.mark=n}apply(e){let n=e.nodeAt(this.pos);if(!n)return ue.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return ue.fromReplace(e,this.pos,this.pos+1,new E(v.from(r),0,n.isLeaf?0:1))}invert(e){let n=e.nodeAt(this.pos);if(n){let r=this.mark.addToSet(n.marks);if(r.length==n.marks.length){for(let o=0;or.pos?null:new t(n.pos,r.pos,o,i,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new t(n.from,n.to,n.gapFrom,n.gapTo,E.fromJSON(e,n.slice),n.insert,!!n.structure)}};ce.jsonID("replaceAround",se);function Bi(t,e,n){let r=t.resolve(e),o=n-e,i=r.depth;for(;o>0&&i>0&&r.indexAfter(i)==r.node(i).childCount;)i--,o--;if(o>0){let s=r.node(i).maybeChild(r.indexAfter(i));for(;o>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,o--}}return!1}function Ep(t,e,n,r){let o=[],i=[],s,l;t.doc.nodesBetween(e,n,(a,c,d)=>{if(!a.isInline)return;let u=a.marks;if(!r.isInSet(u)&&d.type.allowsMarkType(r.type)){let f=Math.max(c,e),h=Math.min(c+a.nodeSize,n),p=r.addToSet(u);for(let m=0;mt.step(a)),i.forEach(a=>t.step(a))}function Np(t,e,n,r){let o=[],i=0;t.doc.nodesBetween(e,n,(s,l)=>{if(!s.isInline)return;i++;let a=null;if(r instanceof $n){let c=s.marks,d;for(;d=r.isInSet(c);)(a||(a=[])).push(d),c=d.removeFromSet(c)}else r?r.isInSet(s.marks)&&(a=[r]):a=s.marks;if(a&&a.length){let c=Math.min(l+s.nodeSize,n);for(let d=0;dt.step(new ut(s.from,s.to,s.style)))}function $i(t,e,n,r=n.contentMatch,o=!0){let i=t.doc.nodeAt(e),s=[],l=e+1;for(let a=0;a=0;a--)t.step(s[a])}function Op(t,e,n){return(e==0||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function ft(t){let n=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let r=t.depth,o=0,i=0;;--r){let s=t.$from.node(r),l=t.$from.index(r)+o,a=t.$to.indexAfter(r)-i;if(rn;p--)m||r.index(p)>0?(m=!0,d=v.from(r.node(p).copy(d)),u++):a--;let f=v.empty,h=0;for(let p=i,m=!1;p>n;p--)m||o.after(p+1)=0;s--){if(r.size){let l=n[s].type.contentMatch.matchFragment(r);if(!l||!l.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=v.from(n[s].type.create(n[s].attrs,r))}let o=e.start,i=e.end;t.step(new se(o,i,o,i,new E(r,0,0),n.length,!0))}function Lp(t,e,n,r,o){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let i=t.steps.length;t.doc.nodesBetween(e,n,(s,l)=>{let a=typeof o=="function"?o(s):o;if(s.isTextblock&&!s.hasMarkup(r,a)&&Bp(t.doc,t.mapping.slice(i).map(l),r)){let c=null;if(r.schema.linebreakReplacement){let h=r.whitespace=="pre",p=!!r.contentMatch.matchType(r.schema.linebreakReplacement);h&&!p?c=!1:!h&&p&&(c=!0)}c===!1&&_a(t,s,l,i),$i(t,t.mapping.slice(i).map(l,1),r,void 0,c===null);let d=t.mapping.slice(i),u=d.map(l,1),f=d.map(l+s.nodeSize,1);return t.step(new se(u,f,u+1,f-1,new E(v.from(r.create(a,null,s.marks)),0,0),1,!0)),c===!0&&Va(t,s,l,i),!1}})}function Va(t,e,n,r){e.forEach((o,i)=>{if(o.isText){let s,l=/\r?\n|\r/g;for(;s=l.exec(o.text);){let a=t.mapping.slice(r).map(n+1+i+s.index);t.replaceWith(a,a+1,e.type.schema.linebreakReplacement.create())}}})}function _a(t,e,n,r){e.forEach((o,i)=>{if(o.type==o.type.schema.linebreakReplacement){let s=t.mapping.slice(r).map(n+1+i);t.replaceWith(s,s+1,e.type.schema.text(` +`))}})}function Bp(t,e,n){let r=t.resolve(e),o=r.index();return r.parent.canReplaceWith(o,o+1,n)}function zp(t,e,n,r,o){let i=t.doc.nodeAt(e);if(!i)throw new RangeError("No node at given position");n||(n=i.type);let s=n.create(r,null,o||i.marks);if(i.isLeaf)return t.replaceWith(e,e+i.nodeSize,s);if(!n.validContent(i.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new se(e,e+i.nodeSize,e+1,e+i.nodeSize-1,new E(v.from(s),0,0),1,!0))}function Ee(t,e,n=1,r){let o=t.resolve(e),i=o.depth-n,s=r&&r[r.length-1]||o.parent;if(i<0||o.parent.type.spec.isolating||!o.parent.canReplace(o.index(),o.parent.childCount)||!s.type.validContent(o.parent.content.cutByIndex(o.index(),o.parent.childCount)))return!1;for(let c=o.depth-1,d=n-2;c>i;c--,d--){let u=o.node(c),f=o.index(c);if(u.type.spec.isolating)return!1;let h=u.content.cutByIndex(f,u.childCount),p=r&&r[d+1];p&&(h=h.replaceChild(0,p.type.create(p.attrs)));let m=r&&r[d]||u;if(!u.canReplace(f+1,u.childCount)||!m.type.validContent(h))return!1}let l=o.indexAfter(i),a=r&&r[0];return o.node(i).canReplaceWith(l,l,a?a.type:o.node(i+1).type)}function Hp(t,e,n=1,r){let o=t.doc.resolve(e),i=v.empty,s=v.empty;for(let l=o.depth,a=o.depth-n,c=n-1;l>a;l--,c--){i=v.from(o.node(l).copy(i));let d=r&&r[c];s=v.from(d?d.type.create(d.attrs,s):o.node(l).copy(s))}t.step(new ye(e,e,new E(i.append(s),n,n),!0))}function Re(t,e){let n=t.resolve(e),r=n.index();return Wa(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function $p(t,e){e.content.size||t.type.compatibleContent(e.type);let n=t.contentMatchAt(t.childCount),{linebreakReplacement:r}=t.type.schema;for(let o=0;o0?(i=r.node(o+1),l++,s=r.node(o).maybeChild(l)):(i=r.node(o).maybeChild(l-1),s=r.node(o+1)),i&&!i.isTextblock&&Wa(i,s)&&r.node(o).canReplace(l,l+1))return e;if(o==0)break;e=n<0?r.before(o):r.after(o)}}function Fp(t,e,n){let r=null,{linebreakReplacement:o}=t.doc.type.schema,i=t.doc.resolve(e-n),s=i.node().type;if(o&&s.inlineContent){let d=s.whitespace=="pre",u=!!s.contentMatch.matchType(o);d&&!u?r=!1:!d&&u&&(r=!0)}let l=t.steps.length;if(r===!1){let d=t.doc.resolve(e+n);_a(t,d.node(),d.before(),l)}s.inlineContent&&$i(t,e+n-1,s,i.node().contentMatchAt(i.index()),r==null);let a=t.mapping.slice(l),c=a.map(e-n);if(t.step(new ye(c,a.map(e+n,-1),E.empty,!0)),r===!0){let d=t.doc.resolve(c);Va(t,d.node(),d.before(),t.steps.length)}return t}function Vp(t,e,n){let r=t.resolve(e);if(r.parent.canReplaceWith(r.index(),r.index(),n))return e;if(r.parentOffset==0)for(let o=r.depth-1;o>=0;o--){let i=r.index(o);if(r.node(o).canReplaceWith(i,i,n))return r.before(o+1);if(i>0)return null}if(r.parentOffset==r.parent.content.size)for(let o=r.depth-1;o>=0;o--){let i=r.indexAfter(o);if(r.node(o).canReplaceWith(i,i,n))return r.after(o+1);if(i=0;s--){let l=s==r.depth?0:r.pos<=(r.start(s+1)+r.end(s+1))/2?-1:1,a=r.index(s)+(l>0?1:0),c=r.node(s),d=!1;if(i==1)d=c.canReplace(a,a,o);else{let u=c.contentMatchAt(a).findWrapping(o.firstChild.type);d=u&&c.canReplaceWith(a,a,u[0])}if(d)return l==0?r.pos:l<0?r.before(s+1):r.after(s+1)}return null}function qn(t,e,n=e,r=E.empty){if(e==n&&!r.size)return null;let o=t.resolve(e),i=t.resolve(n);return ja(o,i,r)?new ye(e,n,r):new zi(o,i,r).fit()}function ja(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}var zi=class{constructor(e,n,r){this.$from=e,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=v.empty;for(let o=0;o<=e.depth;o++){let i=e.node(o);this.frontier.push({type:i.type,match:i.contentMatchAt(e.indexAfter(o))})}for(let o=e.depth;o>0;o--)this.placed=v.from(e.node(o).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let c=this.findFittable();c?this.placeNodes(c):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,o=this.close(e<0?this.$to:r.doc.resolve(e));if(!o)return null;let i=this.placed,s=r.depth,l=o.depth;for(;s&&l&&i.childCount==1;)i=i.firstChild.content,s--,l--;let a=new E(i,s,l);return e>-1?new se(r.pos,e,this.$to.pos,this.$to.end(),a,n):a.size||r.pos!=this.$to.pos?new ye(r.pos,o.pos,a):null}findFittable(){let e=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,o=this.unplaced.openEnd;r1&&(o=0),i.type.spec.isolating&&o<=r){e=r;break}n=i.content}for(let n=1;n<=2;n++)for(let r=n==1?e:this.unplaced.openStart;r>=0;r--){let o,i=null;r?(i=Pi(this.unplaced.content,r-1).firstChild,o=i.content):o=this.unplaced.content;let s=o.firstChild;for(let l=this.depth;l>=0;l--){let{type:a,match:c}=this.frontier[l],d,u=null;if(n==1&&(s?c.matchType(s.type)||(u=c.fillBefore(v.from(s),!1)):i&&a.compatibleContent(i.type)))return{sliceDepth:r,frontierDepth:l,parent:i,inject:u};if(n==2&&s&&(d=c.findWrapping(s.type)))return{sliceDepth:r,frontierDepth:l,parent:i,wrap:d};if(i&&c.matchType(i.type))break}}}openMore(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=Pi(e,n);return!o.childCount||o.firstChild.isLeaf?!1:(this.unplaced=new E(e,n+1,Math.max(r,o.size+n>=e.size-r?n+1:0)),!0)}dropNode(){let{content:e,openStart:n,openEnd:r}=this.unplaced,o=Pi(e,n);if(o.childCount<=1&&n>0){let i=e.size-n<=n+o.size;this.unplaced=new E(Vn(e,n-1,1),n-1,i?n-1:r)}else this.unplaced=new E(Vn(e,n,1),n,r)}placeNodes({sliceDepth:e,frontierDepth:n,parent:r,inject:o,wrap:i}){for(;this.depth>n;)this.closeFrontierNode();if(i)for(let m=0;m1||a==0||m.content.size)&&(u=g,d.push(Ua(m.mark(f.allowedMarks(m.marks)),c==1?a:0,c==l.childCount?h:-1)))}let p=c==l.childCount;p||(h=-1),this.placed=_n(this.placed,n,v.from(d)),this.frontier[n].match=u,p&&h<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let m=0,g=l;m1&&o==this.$to.end(--r);)++o;return o}findCloseLevel(e){e:for(let n=Math.min(this.depth,e.depth);n>=0;n--){let{match:r,type:o}=this.frontier[n],i=n=0;l--){let{match:a,type:c}=this.frontier[l],d=Li(e,l,c,a,!0);if(!d||d.childCount)continue e}return{depth:n,fit:s,move:i?e.doc.resolve(e.after(n+1)):e}}}}close(e){let n=this.findCloseLevel(e);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=_n(this.placed,n.depth,n.fit)),e=n.move;for(let r=n.depth+1;r<=e.depth;r++){let o=e.node(r),i=o.type.contentMatch.fillBefore(o.content,!0,e.index(r));this.openFrontierNode(o.type,o.attrs,i)}return e}openFrontierNode(e,n=null,r){let o=this.frontier[this.depth];o.match=o.match.matchType(e),this.placed=_n(this.placed,this.depth,v.from(e.create(n,r))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(v.empty,!0);n.childCount&&(this.placed=_n(this.placed,this.frontier.length,n))}};function Vn(t,e,n){return e==0?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Vn(t.firstChild.content,e-1,n)))}function _n(t,e,n){return e==0?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(_n(t.lastChild.content,e-1,n)))}function Pi(t,e){for(let n=0;n1&&(r=r.replaceChild(0,Ua(r.firstChild,e-1,r.childCount==1?n-1:0))),e>0&&(r=t.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(t.type.contentMatch.matchFragment(r).fillBefore(v.empty,!0)))),t.copy(r)}function Li(t,e,n,r,o){let i=t.node(e),s=o?t.indexAfter(e):t.index(e);if(s==i.childCount&&!n.compatibleContent(i.type))return null;let l=r.fillBefore(i.content,!0,s);return l&&!_p(n,i.content,s)?l:null}function _p(t,e,n){for(let r=n;r0;f--,h--){let p=o.node(f).type.spec;if(p.defining||p.definingAsContext||p.isolating)break;s.indexOf(f)>-1?l=f:o.before(f)==h&&s.splice(1,0,-f)}let a=s.indexOf(l),c=[],d=r.openStart;for(let f=r.content,h=0;;h++){let p=f.firstChild;if(c.push(p),h==r.openStart)break;f=p.content}for(let f=d-1;f>=0;f--){let h=c[f],p=Wp(h.type);if(p&&!h.sameMarkup(o.node(Math.abs(l)-1)))d=f;else if(p||!h.type.isTextblock)break}for(let f=r.openStart;f>=0;f--){let h=(f+d+1)%(r.openStart+1),p=c[h];if(p)for(let m=0;m=0&&(t.replace(e,n,r),!(t.steps.length>u));f--){let h=s[f];h<0||(e=o.before(h),n=i.after(h))}}function Ka(t,e,n,r,o){if(er){let i=o.contentMatchAt(0),s=i.fillBefore(t).append(t);t=s.append(i.matchFragment(s).fillBefore(v.empty,!0))}return t}function Up(t,e,n,r){if(!r.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let o=Vp(t.doc,e,r.type);o!=null&&(e=n=o)}t.replaceRange(e,n,new E(v.from(r),0,0))}function Kp(t,e,n){let r=t.doc.resolve(e),o=t.doc.resolve(n),i=qa(r,o);for(let s=0;s0&&(a||r.node(l-1).canReplace(r.index(l-1),o.indexAfter(l-1))))return t.delete(r.before(l),o.after(l))}for(let s=1;s<=r.depth&&s<=o.depth;s++)if(e-r.start(s)==r.depth-s&&n>r.end(s)&&o.end(s)-n!=o.depth-s&&r.start(s-1)==o.start(s-1)&&r.node(s-1).canReplace(r.index(s-1),o.index(s-1)))return t.delete(r.before(s),n);t.delete(e,n)}function qa(t,e){let n=[],r=Math.min(t.depth,e.depth);for(let o=r;o>=0;o--){let i=t.start(o);if(ie.pos+(e.depth-o)||t.node(o).type.spec.isolating||e.node(o).type.spec.isolating)break;(i==e.start(o)||o==t.depth&&o==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&o&&e.start(o-1)==i-1)&&n.push(o)}return n}var Lr=class t extends ce{constructor(e,n,r){super(),this.pos=e,this.attr=n,this.value=r}apply(e){let n=e.nodeAt(this.pos);if(!n)return ue.fail("No node at attribute step's position");let r=Object.create(null);for(let i in n.attrs)r[i]=n.attrs[i];r[this.attr]=this.value;let o=n.type.create(r,null,n.marks);return ue.fromReplace(e,this.pos,this.pos+1,new E(v.from(o),0,n.isLeaf?0:1))}getMap(){return dt.empty}invert(e){return new t(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let n=e.mapResult(this.pos,1);return n.deletedAfter?null:new t(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new t(n.pos,n.attr,n.value)}};ce.jsonID("attr",Lr);var Br=class t extends ce{constructor(e,n){super(),this.attr=e,this.value=n}apply(e){let n=Object.create(null);for(let o in e.attrs)n[o]=e.attrs[o];n[this.attr]=this.value;let r=e.type.create(n,e.content,e.marks);return ue.ok(r)}getMap(){return dt.empty}invert(e){return new t(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new t(n.attr,n.value)}};ce.jsonID("docAttr",Br);var pn=class extends Error{};pn=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n};pn.prototype=Object.create(Error.prototype);pn.prototype.constructor=pn;pn.prototype.name="TransformError";var Tt=class{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new jn}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let n=this.maybeStep(e);if(n.failed)throw new pn(n.failed);return this}maybeStep(e){let n=e.apply(this.doc);return n.failed||this.addStep(e,n.doc),n}get docChanged(){return this.steps.length>0}addStep(e,n){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=n}replace(e,n=e,r=E.empty){let o=qn(this.doc,e,n,r);return o&&this.step(o),this}replaceWith(e,n,r){return this.replace(e,n,new E(v.from(r),0,0))}delete(e,n){return this.replace(e,n,E.empty)}insert(e,n){return this.replaceWith(e,e,n)}replaceRange(e,n,r){return jp(this,e,n,r),this}replaceRangeWith(e,n,r){return Up(this,e,n,r),this}deleteRange(e,n){return Kp(this,e,n),this}lift(e,n){return Rp(this,e,n),this}join(e,n=1){return Fp(this,e,n),this}wrap(e,n){return Pp(this,e,n),this}setBlockType(e,n=e,r,o=null){return Lp(this,e,n,r,o),this}setNodeMarkup(e,n,r=null,o){return zp(this,e,n,r,o),this}setNodeAttribute(e,n,r){return this.step(new Lr(e,n,r)),this}setDocAttribute(e,n){return this.step(new Br(e,n)),this}addNodeMark(e,n){return this.step(new Kn(e,n)),this}removeNodeMark(e,n){let r=this.doc.nodeAt(e);if(!r)throw new RangeError("No node at position "+e);if(n instanceof J)n.isInSet(r.marks)&&this.step(new hn(e,n));else{let o=r.marks,i,s=[];for(;i=n.isInSet(o);)s.push(new hn(e,i)),o=i.removeFromSet(o);for(let l=s.length-1;l>=0;l--)this.step(s[l])}return this}split(e,n=1,r){return Hp(this,e,n,r),this}addMark(e,n,r){return Ep(this,e,n,r),this}removeMark(e,n,r){return Np(this,e,n,r),this}clearIncompatible(e,n,r){return $i(this,e,n,r),this}};var Fi=Object.create(null),I=class{constructor(e,n,r){this.$anchor=e,this.$head=n,this.ranges=r||[new yn(e.min(n),e.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let n=0;n=0;i--){let s=n<0?gn(e.node(0),e.node(i),e.before(i+1),e.index(i),n,r):gn(e.node(0),e.node(i),e.after(i+1),e.index(i)+1,n,r);if(s)return s}return null}static near(e,n=1){return this.findFrom(e,n)||this.findFrom(e,-n)||new ke(e.node(0))}static atStart(e){return gn(e,e,0,0,1)||new ke(e)}static atEnd(e){return gn(e,e,e.content.size,e.childCount,-1)||new ke(e)}static fromJSON(e,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=Fi[n.type];if(!r)throw new RangeError(`No selection type ${n.type} defined`);return r.fromJSON(e,n)}static jsonID(e,n){if(e in Fi)throw new RangeError("Duplicate use of selection JSON ID "+e);return Fi[e]=n,n.prototype.jsonID=e,n}getBookmark(){return D.between(this.$anchor,this.$head).getBookmark()}};I.prototype.visible=!0;var yn=class{constructor(e,n){this.$from=e,this.$to=n}},Ja=!1;function Ga(t){!Ja&&!t.parent.inlineContent&&(Ja=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}var D=class t extends I{constructor(e,n=e){Ga(e),Ga(n),super(e,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,n){let r=e.resolve(n.map(this.head));if(!r.parent.inlineContent)return I.near(r);let o=e.resolve(n.map(this.anchor));return new t(o.parent.inlineContent?o:r,r)}replace(e,n=E.empty){if(super.replace(e,n),n==E.empty){let r=this.$from.marksAcross(this.$to);r&&e.ensureMarks(r)}}eq(e){return e instanceof t&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new $r(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new t(e.resolve(n.anchor),e.resolve(n.head))}static create(e,n,r=n){let o=e.resolve(n);return new this(o,r==n?o:e.resolve(r))}static between(e,n,r){let o=e.pos-n.pos;if((!r||o)&&(r=o>=0?1:-1),!n.parent.inlineContent){let i=I.findFrom(n,r,!0)||I.findFrom(n,-r,!0);if(i)n=i.$head;else return I.near(n,r)}return e.parent.inlineContent||(o==0?e=n:(e=(I.findFrom(e,-r,!0)||I.findFrom(e,r,!0)).$anchor,e.pos0?0:1);o>0?s=0;s+=o){let l=e.child(s);if(l.isAtom){if(!i&&L.isSelectable(l))return L.create(t,n-(o<0?l.nodeSize:0))}else{let a=gn(t,l,n+o,o<0?l.childCount:0,o,i);if(a)return a}n+=l.nodeSize*o}return null}function Xa(t,e,n){let r=t.steps.length-1;if(r{s==null&&(s=d)}),t.setSelection(I.near(t.doc.resolve(s),n))}var Ya=1,Hr=2,Qa=4,Wi=class extends Tt{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(e){return this.storedMarks=e,this.updated|=Hr,this}ensureMarks(e){return J.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&Hr)>0}addStep(e,n){super.addStep(e,n),this.updated=this.updated&~Hr,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,n=!0){let r=this.selection;return n&&(e=e.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||J.none))),r.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,n,r){let o=this.doc.type.schema;if(n==null)return e?this.replaceSelectionWith(o.text(e),!0):this.deleteSelection();{if(r==null&&(r=n),!e)return this.deleteRange(n,r);let i=this.storedMarks;if(!i){let s=this.doc.resolve(n);i=r==n?s.marks():s.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(n,r,o.text(e,i)),!this.selection.empty&&this.selection.to==n+e.length&&this.setSelection(I.near(this.selection.$to)),this}}setMeta(e,n){return this.meta[typeof e=="string"?e:e.key]=n,this}getMeta(e){return this.meta[typeof e=="string"?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=Qa,this}get scrolledIntoView(){return(this.updated&Qa)>0}};function Za(t,e){return!e||!t?t:t.bind(e)}var jt=class{constructor(e,n,r){this.name=e,this.init=Za(n.init,r),this.apply=Za(n.apply,r)}},Jp=[new jt("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new jt("selection",{init(t,e){return t.selection||I.atStart(e.doc)},apply(t){return t.selection}}),new jt("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,r){return r.selection.$cursor?t.storedMarks:null}}),new jt("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})],Jn=class{constructor(e,n){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=Jp.slice(),n&&n.forEach(r=>{if(this.pluginsByKey[r.key])throw new RangeError("Adding different instances of a keyed plugin ("+r.key+")");this.plugins.push(r),this.pluginsByKey[r.key]=r,r.spec.state&&this.fields.push(new jt(r.key,r.spec.state,r))})}},Fr=class t{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,n=-1){for(let r=0;rr.toJSON())),e&&typeof e=="object")for(let r in e){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let o=e[r],i=o.spec.state;i&&i.toJSON&&(n[r]=i.toJSON.call(o,this[o.key]))}return n}static fromJSON(e,n,r){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let o=new Jn(e.schema,e.plugins),i=new t(o);return o.fields.forEach(s=>{if(s.name=="doc")i.doc=ie.fromJSON(e.schema,n.doc);else if(s.name=="selection")i.selection=I.fromJSON(i.doc,n.selection);else if(s.name=="storedMarks")n.storedMarks&&(i.storedMarks=n.storedMarks.map(e.schema.markFromJSON));else{if(r)for(let l in r){let a=r[l],c=a.spec.state;if(a.key==s.name&&c&&c.fromJSON&&Object.prototype.hasOwnProperty.call(n,l)){i[s.name]=c.fromJSON.call(a,e,n[l],i);return}}i[s.name]=s.init(e,i)}}),i}};function ec(t,e,n){for(let r in t){let o=t[r];o instanceof Function?o=o.bind(e):r=="handleDOMEvents"&&(o=ec(o,e,{})),n[r]=o}return n}var P=class{constructor(e){this.spec=e,this.props={},e.props&&ec(e.props,this,this.props),this.key=e.key?e.key.key:tc("plugin")}getState(e){return e[this.key]}},Vi=Object.create(null);function tc(t){return t in Vi?t+"$"+ ++Vi[t]:(Vi[t]=0,t+"$")}var H=class{constructor(e="key"){this.key=tc(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}};var Vr=(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function rc(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}var Ui=(t,e,n)=>{let r=rc(t,n);if(!r)return!1;let o=qi(r);if(!o){let s=r.blockRange(),l=s&&ft(s);return l==null?!1:(e&&e(t.tr.lift(s,l).scrollIntoView()),!0)}let i=o.nodeBefore;if(fc(t,o,e,-1))return!0;if(r.parent.content.size==0&&(bn(i,"end")||L.isSelectable(i)))for(let s=r.depth;;s--){let l=qn(t.doc,r.before(s),r.after(s),E.empty);if(l&&l.slice.size1)break}return i.isAtom&&o.depth==r.depth-1?(e&&e(t.tr.delete(o.pos-i.nodeSize,o.pos).scrollIntoView()),!0):!1},oc=(t,e,n)=>{let r=rc(t,n);if(!r)return!1;let o=qi(r);return o?sc(t,o,e):!1},ic=(t,e,n)=>{let r=lc(t,n);if(!r)return!1;let o=Xi(r);return o?sc(t,o,e):!1};function sc(t,e,n){let r=e.nodeBefore,o=r,i=e.pos-1;for(;!o.isTextblock;i--){if(o.type.spec.isolating)return!1;let d=o.lastChild;if(!d)return!1;o=d}let s=e.nodeAfter,l=s,a=e.pos+1;for(;!l.isTextblock;a++){if(l.type.spec.isolating)return!1;let d=l.firstChild;if(!d)return!1;l=d}let c=qn(t.doc,i,a,E.empty);if(!c||c.from!=i||c instanceof ye&&c.slice.size>=a-i)return!1;if(n){let d=t.tr.step(c);d.setSelection(D.create(d.doc,i)),n(d.scrollIntoView())}return!0}function bn(t,e,n=!1){for(let r=t;r;r=e=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var Ki=(t,e,n)=>{let{$head:r,empty:o}=t.selection,i=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):r.parentOffset>0)return!1;i=qi(r)}let s=i&&i.nodeBefore;return!s||!L.isSelectable(s)?!1:(e&&e(t.tr.setSelection(L.create(t.doc,i.pos-s.nodeSize)).scrollIntoView()),!0)};function qi(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function lc(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset{let r=lc(t,n);if(!r)return!1;let o=Xi(r);if(!o)return!1;let i=o.nodeAfter;if(fc(t,o,e,1))return!0;if(r.parent.content.size==0&&(bn(i,"start")||L.isSelectable(i))){let s=qn(t.doc,r.before(),r.after(),E.empty);if(s&&s.slice.size{let{$head:r,empty:o}=t.selection,i=r;if(!o)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):r.parentOffset=0;e--){let n=t.node(e);if(t.index(e)+1{let n=t.selection,r=n instanceof L,o;if(r){if(n.node.isTextblock||!Re(t.doc,n.from))return!1;o=n.from}else if(o=Wt(t.doc,n.from,-1),o==null)return!1;if(e){let i=t.tr.join(o);r&&i.setSelection(L.create(i.doc,o-t.doc.resolve(o).nodeBefore.nodeSize)),e(i.scrollIntoView())}return!0},cc=(t,e)=>{let n=t.selection,r;if(n instanceof L){if(n.node.isTextblock||!Re(t.doc,n.to))return!1;r=n.to}else if(r=Wt(t.doc,n.to,1),r==null)return!1;return e&&e(t.tr.join(r).scrollIntoView()),!0},dc=(t,e)=>{let{$from:n,$to:r}=t.selection,o=n.blockRange(r),i=o&&ft(o);return i==null?!1:(e&&e(t.tr.lift(o,i).scrollIntoView()),!0)},Yi=(t,e)=>{let{$head:n,$anchor:r}=t.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(e&&e(t.tr.insertText(` +`).scrollIntoView()),!0)};function Qi(t){for(let e=0;e{let{$head:n,$anchor:r}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let o=n.node(-1),i=n.indexAfter(-1),s=Qi(o.contentMatchAt(i));if(!s||!o.canReplaceWith(i,i,s))return!1;if(e){let l=n.after(),a=t.tr.replaceWith(l,l,s.createAndFill());a.setSelection(I.near(a.doc.resolve(l),1)),e(a.scrollIntoView())}return!0},es=(t,e)=>{let n=t.selection,{$from:r,$to:o}=n;if(n instanceof ke||r.parent.inlineContent||o.parent.inlineContent)return!1;let i=Qi(o.parent.contentMatchAt(o.indexAfter()));if(!i||!i.isTextblock)return!1;if(e){let s=(!r.parentOffset&&o.index(){let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let i=n.before();if(Ee(t.doc,i))return e&&e(t.tr.split(i).scrollIntoView()),!0}let r=n.blockRange(),o=r&&ft(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)};function Gp(t){return(e,n)=>{let{$from:r,$to:o}=e.selection;if(e.selection instanceof L&&e.selection.node.isBlock)return!r.parentOffset||!Ee(e.doc,r.pos)?!1:(n&&n(e.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let i=[],s,l,a=!1,c=!1;for(let h=r.depth;;h--)if(r.node(h).isBlock){a=r.end(h)==r.pos+(r.depth-h),c=r.start(h)==r.pos-(r.depth-h),l=Qi(r.node(h-1).contentMatchAt(r.indexAfter(h-1)));let m=t&&t(o.parent,a,r);i.unshift(m||(a&&l?{type:l}:null)),s=h;break}else{if(h==1)return!1;i.unshift(null)}let d=e.tr;(e.selection instanceof D||e.selection instanceof ke)&&d.deleteSelection();let u=d.mapping.map(r.pos),f=Ee(d.doc,u,i.length,i);if(f||(i[0]=l?{type:l}:null,f=Ee(d.doc,u,i.length,i)),!f)return!1;if(d.split(u,i.length,i),!a&&c&&r.node(s).type!=l){let h=d.mapping.map(r.before(s)),p=d.doc.resolve(h);l&&r.node(s-1).canReplaceWith(p.index(),p.index()+1,l)&&d.setNodeMarkup(d.mapping.map(r.before(s)),l)}return n&&n(d.scrollIntoView()),!0}}var Xp=Gp();var uc=(t,e)=>{let{$from:n,to:r}=t.selection,o,i=n.sharedDepth(r);return i==0?!1:(o=n.before(i),e&&e(t.tr.setSelection(L.create(t.doc,o))),!0)},Yp=(t,e)=>(e&&e(t.tr.setSelection(new ke(t.doc))),!0);function Qp(t,e,n){let r=e.nodeBefore,o=e.nodeAfter,i=e.index();return!r||!o||!r.type.compatibleContent(o.type)?!1:!r.content.size&&e.parent.canReplace(i-1,i)?(n&&n(t.tr.delete(e.pos-r.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(i,i+1)||!(o.isTextblock||Re(t.doc,e.pos))?!1:(n&&n(t.tr.join(e.pos).scrollIntoView()),!0)}function fc(t,e,n,r){let o=e.nodeBefore,i=e.nodeAfter,s,l,a=o.type.spec.isolating||i.type.spec.isolating;if(!a&&Qp(t,e,n))return!0;let c=!a&&e.parent.canReplace(e.index(),e.index()+1);if(c&&(s=(l=o.contentMatchAt(o.childCount)).findWrapping(i.type))&&l.matchType(s[0]||i.type).validEnd){if(n){let h=e.pos+i.nodeSize,p=v.empty;for(let y=s.length-1;y>=0;y--)p=v.from(s[y].create(null,p));p=v.from(o.copy(p));let m=t.tr.step(new se(e.pos-1,h,e.pos,h,new E(p,1,0),s.length,!0)),g=m.doc.resolve(h+2*s.length);g.nodeAfter&&g.nodeAfter.type==o.type&&Re(m.doc,g.pos)&&m.join(g.pos),n(m.scrollIntoView())}return!0}let d=i.type.spec.isolating||r>0&&a?null:I.findFrom(e,1),u=d&&d.$from.blockRange(d.$to),f=u&&ft(u);if(f!=null&&f>=e.depth)return n&&n(t.tr.lift(u,f).scrollIntoView()),!0;if(c&&bn(i,"start",!0)&&bn(o,"end")){let h=o,p=[];for(;p.push(h),!h.isTextblock;)h=h.lastChild;let m=i,g=1;for(;!m.isTextblock;m=m.firstChild)g++;if(h.canReplace(h.childCount,h.childCount,m.content)){if(n){let y=v.empty;for(let b=p.length-1;b>=0;b--)y=v.from(p[b].copy(y));let w=t.tr.step(new se(e.pos-p.length,e.pos+i.nodeSize,e.pos+g,e.pos+i.nodeSize-g,new E(y,p.length,0),0,!0));n(w.scrollIntoView())}return!0}}return!1}function hc(t){return function(e,n){let r=e.selection,o=t<0?r.$from:r.$to,i=o.depth;for(;o.node(i).isInline;){if(!i)return!1;i--}return o.node(i).isTextblock?(n&&n(e.tr.setSelection(D.create(e.doc,t<0?o.start(i):o.end(i)))),!0):!1}}var ns=hc(-1),rs=hc(1);function pc(t,e=null){return function(n,r){let{$from:o,$to:i}=n.selection,s=o.blockRange(i),l=s&&mn(s,t,e);return l?(r&&r(n.tr.wrap(s,l).scrollIntoView()),!0):!1}}function is(t,e=null){return function(n,r){let o=!1;for(let i=0;i{if(o)return!1;if(!(!a.isTextblock||a.hasMarkup(t,e)))if(a.type==t)o=!0;else{let d=n.doc.resolve(c),u=d.index();o=d.parent.canReplaceWith(u,u+1,t)}})}if(!o)return!1;if(r){let i=n.tr;for(let s=0;s=2&&e.$from.node(e.depth-1).type.compatibleContent(n)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let a=s.resolve(e.start-2);i=new Vt(a,a,e.depth),e.endIndex=0;d--)i=v.from(n[d].type.create(n[d].attrs,i));t.step(new se(e.start-(r?2:0),e.end,e.start,e.end,new E(i,0,0),n.length,!0));let s=0;for(let d=0;ds.childCount>0&&s.firstChild.type==t);return i?n?r.node(i.depth-1).type==t?nm(e,n,t,i):rm(e,n,i):!0:!1}}function nm(t,e,n,r){let o=t.tr,i=r.end,s=r.$to.end(r.depth);im;p--)h-=o.child(p).nodeSize,r.delete(h-1,h+1);let i=r.doc.resolve(n.start),s=i.nodeAfter;if(r.mapping.map(n.end)!=n.start+i.nodeAfter.nodeSize)return!1;let l=n.startIndex==0,a=n.endIndex==o.childCount,c=i.node(-1),d=i.index(-1);if(!c.canReplace(d+(l?0:1),d+1,s.content.append(a?v.empty:v.from(o))))return!1;let u=i.pos,f=u+s.nodeSize;return r.step(new se(u-(l?1:0),f+(a?1:0),u+1,f-1,new E((l?v.empty:v.from(o.copy(v.empty))).append(a?v.empty:v.from(o.copy(v.empty))),l?0:1,a?0:1),l?0:1)),e(r.scrollIntoView()),!0}function yc(t){return function(e,n){let{$from:r,$to:o}=e.selection,i=r.blockRange(o,c=>c.childCount>0&&c.firstChild.type==t);if(!i)return!1;let s=i.startIndex;if(s==0)return!1;let l=i.parent,a=l.child(s-1);if(a.type!=t)return!1;if(n){let c=a.lastChild&&a.lastChild.type==l.type,d=v.from(c?t.create():null),u=new E(v.from(t.create(null,v.from(l.type.create(null,d)))),c?3:1,0),f=i.start,h=i.end;n(e.tr.step(new se(f-(c?3:1),h,f,h,u,1,!0)).scrollIntoView())}return!0}}var fe=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},Cn=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e},fs=null,pt=function(t,e,n){let r=fs||(fs=document.createRange());return r.setEnd(t,n??t.nodeValue.length),r.setStart(t,e||0),r},om=function(){fs=null},Yt=function(t,e,n,r){return n&&(bc(t,e,n,r,-1)||bc(t,e,n,r,1))},im=/^(img|br|input|textarea|hr)$/i;function bc(t,e,n,r,o){for(var i;;){if(t==n&&e==r)return!0;if(e==(o<0?0:Ie(t))){let s=t.parentNode;if(!s||s.nodeType!=1||nr(t)||im.test(t.nodeName)||t.contentEditable=="false")return!1;e=fe(t)+(o<0?0:1),t=s}else if(t.nodeType==1){let s=t.childNodes[e+(o<0?-1:0)];if(s.nodeType==1&&s.contentEditable=="false")if(!((i=s.pmViewDesc)===null||i===void 0)&&i.ignoreForSelection)e+=o;else return!1;else t=s,e=o<0?Ie(t):0}else return!1}}function Ie(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function sm(t,e){for(;;){if(t.nodeType==3&&e)return t;if(t.nodeType==1&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1],e=Ie(t)}else if(t.parentNode&&!nr(t))e=fe(t),t=t.parentNode;else return null}}function lm(t,e){for(;;){if(t.nodeType==3&&e2),De=vn||(Ye?/Mac/.test(Ye.platform):!1),Zc=Ye?/Win/.test(Ye.platform):!1,mt=/Android \d/.test(It),rr=!!wc&&"webkitFontSmoothing"in wc.documentElement.style,um=rr?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function fm(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function ht(t,e){return typeof t=="number"?t:t[e]}function hm(t){let e=t.getBoundingClientRect(),n=e.width/t.offsetWidth||1,r=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*n,top:e.top,bottom:e.top+t.clientHeight*r}}function xc(t,e,n){let r=t.someProp("scrollThreshold")||0,o=t.someProp("scrollMargin")||5,i=t.dom.ownerDocument;for(let s=n||t.dom;s;){if(s.nodeType!=1){s=Cn(s);continue}let l=s,a=l==i.body,c=a?fm(i):hm(l),d=0,u=0;if(e.topc.bottom-ht(r,"bottom")&&(u=e.bottom-e.top>c.bottom-c.top?e.top+ht(o,"top")-c.top:e.bottom-c.bottom+ht(o,"bottom")),e.leftc.right-ht(r,"right")&&(d=e.right-c.right+ht(o,"right")),d||u)if(a)i.defaultView.scrollBy(d,u);else{let h=l.scrollLeft,p=l.scrollTop;u&&(l.scrollTop+=u),d&&(l.scrollLeft+=d);let m=l.scrollLeft-h,g=l.scrollTop-p;e={left:e.left-m,top:e.top-g,right:e.right-m,bottom:e.bottom-g}}let f=a?"fixed":getComputedStyle(s).position;if(/^(fixed|sticky)$/.test(f))break;s=f=="absolute"?s.offsetParent:Cn(s)}}function pm(t){let e=t.dom.getBoundingClientRect(),n=Math.max(0,e.top),r,o;for(let i=(e.left+e.right)/2,s=n+1;s=n-20){r=l,o=a.top;break}}return{refDOM:r,refTop:o,stack:ed(t.dom)}}function ed(t){let e=[],n=t.ownerDocument;for(let r=t;r&&(e.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),t!=n);r=Cn(r));return e}function mm({refDOM:t,refTop:e,stack:n}){let r=t?t.getBoundingClientRect().top:0;td(n,r==0?0:r-e)}function td(t,e){for(let n=0;n=l){s=Math.max(p.bottom,s),l=Math.min(p.top,l);let m=p.left>e.left?p.left-e.left:p.right=(p.left+p.right)/2?1:0));continue}}else p.top>e.top&&!a&&p.left<=e.left&&p.right>=e.left&&(a=d,c={left:Math.max(p.left,Math.min(p.right,e.left)),top:p.top});!n&&(e.left>=p.right&&e.top>=p.top||e.left>=p.left&&e.top>=p.bottom)&&(i=u+1)}}return!n&&a&&(n=a,o=c,r=0),n&&n.nodeType==3?ym(n,o):!n||r&&n.nodeType==1?{node:t,offset:i}:nd(n,o)}function ym(t,e){let n=t.nodeValue.length,r=document.createRange(),o;for(let i=0;i=(s.left+s.right)/2?1:0)};break}}return r.detach(),o||{node:t,offset:0}}function Os(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function bm(t,e){let n=t.parentNode;return n&&/^li$/i.test(n.nodeName)&&e.left(s.left+s.right)/2?1:-1}return t.docView.posFromDOM(r,o,i)}function xm(t,e,n,r){let o=-1;for(let i=e,s=!1;i!=t.dom;){let l=t.docView.nearestDesc(i,!0),a;if(!l)return null;if(l.dom.nodeType==1&&(l.node.isBlock&&l.parent||!l.contentDOM)&&((a=l.dom.getBoundingClientRect()).width||a.height)&&(l.node.isBlock&&l.parent&&!/^T(R|BODY|HEAD|FOOT)$/.test(l.dom.nodeName)&&(!s&&a.left>r.left||a.top>r.top?o=l.posBefore:(!s&&a.right-1?o:t.docView.posFromDOM(e,n,-1)}function rd(t,e,n){let r=t.childNodes.length;if(r&&n.tope.top&&o++}let c;rr&&o&&r.nodeType==1&&(c=r.childNodes[o-1]).nodeType==1&&c.contentEditable=="false"&&c.getBoundingClientRect().top>=e.top&&o--,r==t.dom&&o==r.childNodes.length-1&&r.lastChild.nodeType==1&&e.top>r.lastChild.getBoundingClientRect().bottom?l=t.state.doc.content.size:(o==0||r.nodeType!=1||r.childNodes[o-1].nodeName!="BR")&&(l=xm(t,r,o,e))}l==null&&(l=wm(t,s,e));let a=t.docView.nearestDesc(s,!0);return{pos:l,inside:a?a.posAtStart-a.border:-1}}function kc(t){return t.top=0&&o==r.nodeValue.length?(a--,d=1):n<0?a--:c++,Gn(Et(pt(r,a,c),d),d<0)}if(!t.state.doc.resolve(e-(i||0)).parent.inlineContent){if(i==null&&o&&(n<0||o==Ie(r))){let a=r.childNodes[o-1];if(a.nodeType==1)return ls(a.getBoundingClientRect(),!1)}if(i==null&&o=0)}if(i==null&&o&&(n<0||o==Ie(r))){let a=r.childNodes[o-1],c=a.nodeType==3?pt(a,Ie(a)-(s?0:1)):a.nodeType==1&&(a.nodeName!="BR"||!a.nextSibling)?a:null;if(c)return Gn(Et(c,1),!1)}if(i==null&&o=0)}function Gn(t,e){if(t.width==0)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function ls(t,e){if(t.height==0)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function id(t,e,n){let r=t.state,o=t.root.activeElement;r!=e&&t.updateState(e),o!=t.dom&&t.focus();try{return n()}finally{r!=e&&t.updateState(r),o!=t.dom&&o&&o.focus()}}function Cm(t,e,n){let r=e.selection,o=n=="up"?r.$from:r.$to;return id(t,e,()=>{let{node:i}=t.docView.domFromPos(o.pos,n=="up"?-1:1);for(;;){let l=t.docView.nearestDesc(i,!0);if(!l)break;if(l.node.isBlock){i=l.contentDOM||l.dom;break}i=l.dom.parentNode}let s=od(t,o.pos,1);for(let l=i.firstChild;l;l=l.nextSibling){let a;if(l.nodeType==1)a=l.getClientRects();else if(l.nodeType==3)a=pt(l,0,l.nodeValue.length).getClientRects();else continue;for(let c=0;cd.top+1&&(n=="up"?s.top-d.top>(d.bottom-s.top)*2:d.bottom-s.bottom>(s.bottom-d.top)*2))return!1}}return!0})}var vm=/[\u0590-\u08ac]/;function Mm(t,e,n){let{$head:r}=e.selection;if(!r.parent.isTextblock)return!1;let o=r.parentOffset,i=!o,s=o==r.parent.content.size,l=t.domSelection();return l?!vm.test(r.parent.textContent)||!l.modify?n=="left"||n=="backward"?i:s:id(t,e,()=>{let{focusNode:a,focusOffset:c,anchorNode:d,anchorOffset:u}=t.domSelectionRange(),f=l.caretBidiLevel;l.modify("move",n,"character");let h=r.depth?t.docView.domAfterPos(r.before()):t.dom,{focusNode:p,focusOffset:m}=t.domSelectionRange(),g=p&&!h.contains(p.nodeType==1?p:p.parentNode)||a==p&&c==m;try{l.collapse(d,u),a&&(a!=d||c!=u)&&l.extend&&l.extend(a,c)}catch{}return f!=null&&(l.caretBidiLevel=f),g}):r.pos==r.start()||r.pos==r.end()}var Sc=null,Cc=null,vc=!1;function Tm(t,e,n){return Sc==e&&Cc==n?vc:(Sc=e,Cc=n,vc=n=="up"||n=="down"?Cm(t,e,n):Mm(t,e,n))}var Le=0,Mc=1,Kt=2,Qe=3,Qt=class{constructor(e,n,r,o){this.parent=e,this.children=n,this.dom=r,this.contentDOM=o,this.dirty=Le,r.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,n,r){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let n=0;nfe(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))o=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(n==0)for(let i=e;;i=i.parentNode){if(i==this.dom){o=!1;break}if(i.previousSibling)break}if(o==null&&n==e.childNodes.length)for(let i=e;;i=i.parentNode){if(i==this.dom){o=!0;break}if(i.nextSibling)break}}return o??r>0?this.posAtEnd:this.posAtStart}nearestDesc(e,n=!1){for(let r=!0,o=e;o;o=o.parentNode){let i=this.getDesc(o),s;if(i&&(!n||i.node))if(r&&(s=i.nodeDOM)&&!(s.nodeType==1?s.contains(e.nodeType==1?e:e.parentNode):s==e))r=!1;else return i}}getDesc(e){let n=e.pmViewDesc;for(let r=n;r;r=r.parent)if(r==this)return n}posFromDOM(e,n,r){for(let o=e;o;o=o.parentNode){let i=this.getDesc(o);if(i)return i.localPosFromDOM(e,n,r)}return-1}descAt(e){for(let n=0,r=0;ne||s instanceof jr){o=e-i;break}i=l}if(o)return this.children[r].domFromPos(o-this.children[r].border,n);for(let i;r&&!(i=this.children[r-1]).size&&i instanceof _r&&i.side>=0;r--);if(n<=0){let i,s=!0;for(;i=r?this.children[r-1]:null,!(!i||i.dom.parentNode==this.contentDOM);r--,s=!1);return i&&n&&s&&!i.border&&!i.domAtom?i.domFromPos(i.size,n):{node:this.contentDOM,offset:i?fe(i.dom)+1:0}}else{let i,s=!0;for(;i=r=d&&n<=c-a.border&&a.node&&a.contentDOM&&this.contentDOM.contains(a.contentDOM))return a.parseRange(e,n,d);e=s;for(let u=l;u>0;u--){let f=this.children[u-1];if(f.size&&f.dom.parentNode==this.contentDOM&&!f.emptyChildAt(1)){o=fe(f.dom)+1;break}e-=f.size}o==-1&&(o=0)}if(o>-1&&(c>n||l==this.children.length-1)){n=c;for(let d=l+1;dp&&sn){let p=l;l=a,a=p}let h=document.createRange();h.setEnd(a.node,a.offset),h.setStart(l.node,l.offset),c.removeAllRanges(),c.addRange(h)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,n){for(let r=0,o=0;o=r:er){let l=r+i.border,a=s-i.border;if(e>=l&&n<=a){this.dirty=e==r||n==s?Kt:Mc,e==l&&n==a&&(i.contentLost||i.dom.parentNode!=this.contentDOM)?i.dirty=Qe:i.markDirty(e-l,n-l);return}else i.dirty=i.dom==i.contentDOM&&i.dom.parentNode==this.contentDOM&&!i.children.length?Kt:Qe}r=s}this.dirty=Kt}markParentsDirty(){let e=1;for(let n=this.parent;n;n=n.parent,e++){let r=e==1?Kt:Mc;n.dirty{if(!i)return o;if(i.parent)return i.parent.posBeforeChild(i)})),!n.type.spec.raw){if(s.nodeType!=1){let l=document.createElement("span");l.appendChild(s),s=l}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(e,[],s,null),this.widget=n,this.widget=n,i=this}matchesWidget(e){return this.dirty==Le&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let n=this.widget.spec.stopEvent;return n?n(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},gs=class extends Qt{constructor(e,n,r,o){super(e,[],n,null),this.textDOM=r,this.text=o}get size(){return this.text.length}localPosFromDOM(e,n){return e!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}},Mn=class t extends Qt{constructor(e,n,r,o,i){super(e,[],r,o),this.mark=n,this.spec=i}static create(e,n,r,o){let i=o.nodeViews[n.type.name],s=i&&i(n,o,r);return(!s||!s.dom)&&(s=ct.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new t(e,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&Qe||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=Qe&&this.mark.eq(e)}markDirty(e,n){if(super.markDirty(e,n),this.dirty!=Le){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty0&&(i=xs(i,0,e,r));for(let l=0;l{if(!a)return s;if(a.parent)return a.parent.posBeforeChild(a)},r,o),d=c&&c.dom,u=c&&c.contentDOM;if(n.isText){if(!d)d=document.createTextNode(n.text);else if(d.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else d||({dom:d,contentDOM:u}=ct.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!u&&!n.isText&&d.nodeName!="BR"&&(d.hasAttribute("contenteditable")||(d.contentEditable="false"),n.type.spec.draggable&&(d.draggable=!0));let f=d;return d=ad(d,r,n),c?a=new ys(e,n,r,o,d,u||null,f,c,i,s+1):n.isText?new Wr(e,n,r,o,d,f,i):new t(e,n,r,o,d,u||null,f,i,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(e.preserveWhitespace="full"),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){e.contentElement=r.dom.parentNode;break}}e.contentElement||(e.getContent=()=>v.empty)}return e}matchesNode(e,n,r){return this.dirty==Le&&e.eq(this.node)&&Ur(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,n){let r=this.node.inlineContent,o=n,i=e.composing?this.localCompositionInfo(e,n):null,s=i&&i.pos>-1?i:null,l=i&&i.pos<0,a=new ws(this,s&&s.node,e);Om(this.node,this.innerDeco,(c,d,u)=>{c.spec.marks?a.syncToMarks(c.spec.marks,r,e):c.type.side>=0&&!u&&a.syncToMarks(d==this.node.childCount?J.none:this.node.child(d).marks,r,e),a.placeWidget(c,e,o)},(c,d,u,f)=>{a.syncToMarks(c.marks,r,e);let h;a.findNodeMatch(c,d,u,f)||l&&e.state.selection.from>o&&e.state.selection.to-1&&a.updateNodeAt(c,d,u,h,e)||a.updateNextNode(c,d,u,e,f,o)||a.addNode(c,d,u,e,o),o+=c.nodeSize}),a.syncToMarks([],r,e),this.node.isTextblock&&a.addTextblockHacks(),a.destroyRest(),(a.changed||this.dirty==Kt)&&(s&&this.protectLocalComposition(e,s),sd(this.contentDOM,this.children,e),vn&&Rm(this.dom))}localCompositionInfo(e,n){let{from:r,to:o}=e.state.selection;if(!(e.state.selection instanceof D)||rn+this.node.content.size)return null;let i=e.input.compositionNode;if(!i||!this.dom.contains(i.parentNode))return null;if(this.node.inlineContent){let s=i.nodeValue,l=Dm(this.node.content,s,r-n,o-n);return l<0?null:{node:i,pos:l,text:s}}else return{node:i,pos:-1,text:""}}protectLocalComposition(e,{node:n,pos:r,text:o}){if(this.getDesc(n))return;let i=n;for(;i.parentNode!=this.contentDOM;i=i.parentNode){for(;i.previousSibling;)i.parentNode.removeChild(i.previousSibling);for(;i.nextSibling;)i.parentNode.removeChild(i.nextSibling);i.pmViewDesc&&(i.pmViewDesc=void 0)}let s=new gs(this,i,n,o);e.input.compositionNodes.push(s),this.children=xs(this.children,r,r+o.length,e,s)}update(e,n,r,o){return this.dirty==Qe||!e.sameMarkup(this.node)?!1:(this.updateInner(e,n,r,o),!0)}updateInner(e,n,r,o){this.updateOuterDeco(n),this.node=e,this.innerDeco=r,this.contentDOM&&this.updateChildren(o,this.posAtStart),this.dirty=Le}updateOuterDeco(e){if(Ur(e,this.outerDeco))return;let n=this.nodeDOM.nodeType!=1,r=this.dom;this.dom=ld(this.dom,this.nodeDOM,bs(this.outerDeco,this.node,n),bs(e,this.node,n)),this.dom!=r&&(r.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.nodeDOM.draggable=!0))}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.nodeDOM.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}};function Tc(t,e,n,r,o){ad(r,e,t);let i=new Dt(void 0,t,e,n,r,r,r,o,0);return i.contentDOM&&i.updateChildren(o,0),i}var Wr=class t extends Dt{constructor(e,n,r,o,i,s,l){super(e,n,r,o,i,null,s,l,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,n,r,o){return this.dirty==Qe||this.dirty!=Le&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(n),(this.dirty!=Le||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,o.trackWrites==this.nodeDOM&&(o.trackWrites=null)),this.node=e,this.dirty=Le,!0)}inParent(){let e=this.parent.contentDOM;for(let n=this.nodeDOM;n;n=n.parentNode)if(n==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,n,r){return e==this.nodeDOM?this.posAtStart+Math.min(n,this.node.text.length):super.localPosFromDOM(e,n,r)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,n,r){let o=this.node.cut(e,n),i=document.createTextNode(o.text);return new t(this.parent,o,this.outerDeco,this.innerDeco,i,i,r)}markDirty(e,n){super.markDirty(e,n),this.dom!=this.nodeDOM&&(e==0||n==this.nodeDOM.nodeValue.length)&&(this.dirty=Qe)}get domAtom(){return!1}isText(e){return this.node.text==e}},jr=class extends Qt{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Le&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}},ys=class extends Dt{constructor(e,n,r,o,i,s,l,a,c,d){super(e,n,r,o,i,s,l,c,d),this.spec=a}update(e,n,r,o){if(this.dirty==Qe)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let i=this.spec.update(e,n,r);return i&&this.updateInner(e,n,r,o),i}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,n,r,o)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,n,r,o){this.spec.setSelection?this.spec.setSelection(e,n,r.root):super.setSelection(e,n,r,o)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}};function sd(t,e,n){let r=t.firstChild,o=!1;for(let i=0;i>1,s=Math.min(i,e.length);for(;o-1)l>this.index&&(this.changed=!0,this.destroyBetween(this.index,l)),this.top=this.top.children[this.index];else{let a=Mn.create(this.top,e[i],n,r);this.top.children.splice(this.index,0,a),this.top=a,this.changed=!0}this.index=0,i++}}findNodeMatch(e,n,r,o){let i=-1,s;if(o>=this.preMatch.index&&(s=this.preMatch.matches[o-this.preMatch.index]).parent==this.top&&s.matchesNode(e,n,r))i=this.top.children.indexOf(s,this.index);else for(let l=this.index,a=Math.min(this.top.children.length,l+5);l0;){let l;for(;;)if(r){let c=n.children[r-1];if(c instanceof Mn)n=c,r=c.children.length;else{l=c,r--;break}}else{if(n==e)break e;r=n.parent.children.indexOf(n),n=n.parent}let a=l.node;if(a){if(a!=t.child(o-1))break;--o,i.set(l,o),s.push(l)}}return{index:o,matched:i,matches:s.reverse()}}function Nm(t,e){return t.type.side-e.type.side}function Om(t,e,n,r){let o=e.locals(t),i=0;if(o.length==0){for(let c=0;ci;)l.push(o[s++]);let p=i+f.nodeSize;if(f.isText){let g=p;s!g.inline):l.slice();r(f,m,e.forChild(i,f),h),i=p}}function Rm(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function Dm(t,e,n,r){for(let o=0,i=0;o=n){if(i>=r&&a.slice(r-e.length-l,r-l)==e)return r-e.length;let c=l=0&&c+e.length+l>=n)return l+c;if(n==r&&a.length>=r+e.length-l&&a.slice(r-l,r-l+e.length)==e)return r}}return-1}function xs(t,e,n,r,o){let i=[];for(let s=0,l=0;s=n||d<=e?i.push(a):(cn&&i.push(a.slice(n-c,a.size,r)))}return i}function Rs(t,e=null){let n=t.domSelectionRange(),r=t.state.doc;if(!n.focusNode)return null;let o=t.docView.nearestDesc(n.focusNode),i=o&&o.size==0,s=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let l=r.resolve(s),a,c;if(Qr(n)){for(a=s;o&&!o.node;)o=o.parent;let u=o.node;if(o&&u.isAtom&&L.isSelectable(u)&&o.parent&&!(u.isInline&&am(n.focusNode,n.focusOffset,o.dom))){let f=o.posBefore;c=new L(s==f?l:r.resolve(f))}}else{if(n instanceof t.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let u=s,f=s;for(let h=0;h{(n.anchorNode!=r||n.anchorOffset!=o)&&(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout(()=>{(!cd(t)||t.state.selection.visible)&&t.dom.classList.remove("ProseMirror-hideselection")},20))})}function Pm(t){let e=t.domSelection();if(!e)return;let n=t.cursorWrapper.dom,r=n.nodeName=="IMG";r?e.collapse(n.parentNode,fe(n)+1):e.collapse(n,0),!r&&!t.state.selection.visible&&ve&&Rt<=11&&(n.disabled=!0,n.disabled=!1)}function dd(t,e){if(e instanceof L){let n=t.docView.descAt(e.from);n!=t.lastSelectedViewDesc&&(Rc(t),n&&n.selectNode(),t.lastSelectedViewDesc=n)}else Rc(t)}function Rc(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function Ds(t,e,n,r){return t.someProp("createSelectionBetween",o=>o(t,e,n))||D.between(e,n,r)}function Dc(t){return t.editable&&!t.hasFocus()?!1:ud(t)}function ud(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function Lm(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),n=t.domSelectionRange();return Yt(e.node,e.offset,n.anchorNode,n.anchorOffset)}function ks(t,e){let{$anchor:n,$head:r}=t.selection,o=e>0?n.max(r):n.min(r),i=o.parent.inlineContent?o.depth?t.doc.resolve(e>0?o.after():o.before()):null:o;return i&&I.findFrom(i,e)}function Nt(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function Ic(t,e,n){let r=t.state.selection;if(r instanceof D)if(n.indexOf("s")>-1){let{$head:o}=r,i=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter;if(!i||i.isText||!i.isLeaf)return!1;let s=t.state.doc.resolve(o.pos+i.nodeSize*(e<0?-1:1));return Nt(t,new D(r.$anchor,s))}else if(r.empty){if(t.endOfTextblock(e>0?"forward":"backward")){let o=ks(t.state,e);return o&&o instanceof L?Nt(t,o):!1}else if(!(De&&n.indexOf("m")>-1)){let o=r.$head,i=o.textOffset?null:e<0?o.nodeBefore:o.nodeAfter,s;if(!i||i.isText)return!1;let l=e<0?o.pos-i.nodeSize:o.pos;return i.isAtom||(s=t.docView.descAt(l))&&!s.contentDOM?L.isSelectable(i)?Nt(t,new L(e<0?t.state.doc.resolve(o.pos-i.nodeSize):o)):rr?Nt(t,new D(t.state.doc.resolve(e<0?l:l+i.nodeSize))):!1:!1}}else return!1;else{if(r instanceof L&&r.node.isInline)return Nt(t,new D(e>0?r.$to:r.$from));{let o=ks(t.state,e);return o?Nt(t,o):!1}}}function Kr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Yn(t,e){let n=t.pmViewDesc;return n&&n.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function xn(t,e){return e<0?Bm(t):zm(t)}function Bm(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o,i,s=!1;for(Pe&&n.nodeType==1&&r0){if(n.nodeType!=1)break;{let l=n.childNodes[r-1];if(Yn(l,-1))o=n,i=--r;else if(l.nodeType==3)n=l,r=n.nodeValue.length;else break}}else{if(fd(n))break;{let l=n.previousSibling;for(;l&&Yn(l,-1);)o=n.parentNode,i=fe(l),l=l.previousSibling;if(l)n=l,r=Kr(n);else{if(n=n.parentNode,n==t.dom)break;r=0}}}s?Ss(t,n,r):o&&Ss(t,o,i)}function zm(t){let e=t.domSelectionRange(),n=e.focusNode,r=e.focusOffset;if(!n)return;let o=Kr(n),i,s;for(;;)if(r{t.state==o&>(t)},50)}function Pc(t,e){let n=t.state.doc.resolve(e);if(!(de||Zc)&&n.parent.inlineContent){let o=t.coordsAtPos(e);if(e>n.start()){let i=t.coordsAtPos(e-1),s=(i.top+i.bottom)/2;if(s>o.top&&s1)return i.lefto.top&&s1)return i.left>o.left?"ltr":"rtl"}}return getComputedStyle(t.dom).direction=="rtl"?"rtl":"ltr"}function Lc(t,e,n){let r=t.state.selection;if(r instanceof D&&!r.empty||n.indexOf("s")>-1||De&&n.indexOf("m")>-1)return!1;let{$from:o,$to:i}=r;if(!o.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let s=ks(t.state,e);if(s&&s instanceof L)return Nt(t,s)}if(!o.parent.inlineContent){let s=e<0?o:i,l=r instanceof ke?I.near(s,e):I.findFrom(s,e);return l?Nt(t,l):!1}return!1}function Bc(t,e){if(!(t.state.selection instanceof D))return!0;let{$head:n,$anchor:r,empty:o}=t.state.selection;if(!n.sameParent(r))return!0;if(!o)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let i=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(i&&!i.isText){let s=t.state.tr;return e<0?s.delete(n.pos-i.nodeSize,n.pos):s.delete(n.pos,n.pos+i.nodeSize),t.dispatch(s),!0}return!1}function zc(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function Fm(t){if(!we||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&e.nodeType==1&&n==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let r=e.firstChild;zc(t,r,"true"),setTimeout(()=>zc(t,r,"false"),20)}return!1}function Vm(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function _m(t,e){let n=e.keyCode,r=Vm(e);if(n==8||De&&n==72&&r=="c")return Bc(t,-1)||xn(t,-1);if(n==46&&!e.shiftKey||De&&n==68&&r=="c")return Bc(t,1)||xn(t,1);if(n==13||n==27)return!0;if(n==37||De&&n==66&&r=="c"){let o=n==37?Pc(t,t.state.selection.from)=="ltr"?-1:1:-1;return Ic(t,o,r)||xn(t,o)}else if(n==39||De&&n==70&&r=="c"){let o=n==39?Pc(t,t.state.selection.from)=="ltr"?1:-1:1;return Ic(t,o,r)||xn(t,o)}else{if(n==38||De&&n==80&&r=="c")return Lc(t,-1,r)||xn(t,-1);if(n==40||De&&n==78&&r=="c")return Fm(t)||Lc(t,1,r)||xn(t,1);if(r==(De?"m":"c")&&(n==66||n==73||n==89||n==90))return!0}return!1}function Is(t,e){t.someProp("transformCopied",h=>{e=h(e,t)});let n=[],{content:r,openStart:o,openEnd:i}=e;for(;o>1&&i>1&&r.childCount==1&&r.firstChild.childCount==1;){o--,i--;let h=r.firstChild;n.push(h.type.name,h.attrs!=h.type.defaultAttrs?h.attrs:null),r=h.content}let s=t.someProp("clipboardSerializer")||ct.fromSchema(t.state.schema),l=bd(),a=l.createElement("div");a.appendChild(s.serializeFragment(r,{document:l}));let c=a.firstChild,d,u=0;for(;c&&c.nodeType==1&&(d=yd[c.nodeName.toLowerCase()]);){for(let h=d.length-1;h>=0;h--){let p=l.createElement(d[h]);for(;a.firstChild;)p.appendChild(a.firstChild);a.appendChild(p),u++}c=a.firstChild}c&&c.nodeType==1&&c.setAttribute("data-pm-slice",`${o} ${i}${u?` -${u}`:""} ${JSON.stringify(n)}`);let f=t.someProp("clipboardTextSerializer",h=>h(e,t))||e.content.textBetween(0,e.content.size,` + +`);return{dom:a,text:f,slice:e}}function hd(t,e,n,r,o){let i=o.parent.type.spec.code,s,l;if(!n&&!e)return null;let a=!!e&&(r||i||!n);if(a){if(t.someProp("transformPastedText",f=>{e=f(e,i||r,t)}),i)return l=new E(v.from(t.state.schema.text(e.replace(/\r\n?/g,` +`))),0,0),t.someProp("transformPasted",f=>{l=f(l,t,!0)}),l;let u=t.someProp("clipboardTextParser",f=>f(e,o,r,t));if(u)l=u;else{let f=o.marks(),{schema:h}=t.state,p=ct.fromSchema(h);s=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(m=>{let g=s.appendChild(document.createElement("p"));m&&g.appendChild(p.serializeNode(h.text(m,f)))})}}else t.someProp("transformPastedHTML",u=>{n=u(n,t)}),s=Km(n),rr&&qm(s);let c=s&&s.querySelector("[data-pm-slice]"),d=c&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(c.getAttribute("data-pm-slice")||"");if(d&&d[3])for(let u=+d[3];u>0;u--){let f=s.firstChild;for(;f&&f.nodeType!=1;)f=f.nextSibling;if(!f)break;s=f}if(l||(l=(t.someProp("clipboardParser")||t.someProp("domParser")||Xe.fromSchema(t.state.schema)).parseSlice(s,{preserveWhitespace:!!(a||d),context:o,ruleFromNode(f){return f.nodeName=="BR"&&!f.nextSibling&&f.parentNode&&!Wm.test(f.parentNode.nodeName)?{ignore:!0}:null}})),d)l=Jm(Hc(l,+d[1],+d[2]),d[4]);else if(l=E.maxOpen(jm(l.content,o),!0),l.openStart||l.openEnd){let u=0,f=0;for(let h=l.content.firstChild;u{l=u(l,t,a)}),l}var Wm=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function jm(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let o=e.node(n).contentMatchAt(e.index(n)),i,s=[];if(t.forEach(l=>{if(!s)return;let a=o.findWrapping(l.type),c;if(!a)return s=null;if(c=s.length&&i.length&&md(a,i,l,s[s.length-1],0))s[s.length-1]=c;else{s.length&&(s[s.length-1]=gd(s[s.length-1],i.length));let d=pd(l,a);s.push(d),o=o.matchType(d.type),i=a}}),s)return v.from(s)}return t}function pd(t,e,n=0){for(let r=e.length-1;r>=n;r--)t=e[r].create(null,v.from(t));return t}function md(t,e,n,r,o){if(o1&&(i=0),o=n&&(l=e<0?s.contentMatchAt(0).fillBefore(l,i<=o).append(l):l.append(s.contentMatchAt(s.childCount).fillBefore(v.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,s.copy(l))}function Hc(t,e,n){return en})),cs.createHTML(t)):t}function Km(t){let e=/^(\s*]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n=bd().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(t),o;if((o=r&&yd[r[1].toLowerCase()])&&(t=o.map(i=>"<"+i+">").join("")+t+o.map(i=>"").reverse().join("")),n.innerHTML=Um(t),o)for(let i=0;i=0;l-=2){let a=n.nodes[r[l]];if(!a||a.hasRequiredAttrs())break;o=v.from(a.create(r[l+1],o)),i++,s++}return new E(o,i,s)}var Se={},Ce={},Gm={touchstart:!0,touchmove:!0},vs=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function Xm(t){for(let e in Se){let n=Se[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=r=>{Qm(t,r)&&!Ps(t,r)&&(t.editable||!(r.type in Ce))&&n(t,r)},Gm[e]?{passive:!0}:void 0)}we&&t.dom.addEventListener("input",()=>null),Ms(t)}function Ot(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function Ym(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function Ms(t){t.someProp("handleDOMEvents",e=>{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=r=>Ps(t,r))})}function Ps(t,e){return t.someProp("handleDOMEvents",n=>{let r=n[e.type];return r?r(t,e)||e.defaultPrevented:!1})}function Qm(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function Zm(t,e){!Ps(t,e)&&Se[e.type]&&(t.editable||!(e.type in Ce))&&Se[e.type](t,e)}Ce.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=n.keyCode==16||n.shiftKey,!xd(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!(mt&&de&&n.keyCode==13)))if(n.keyCode!=229&&t.domObserver.forceFlush(),vn&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();t.input.lastIOSEnter=r,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==r&&(t.someProp("handleKeyDown",o=>o(t,Ut(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",r=>r(t,n))||_m(t,n)?n.preventDefault():Ot(t,"key")};Ce.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};Ce.keypress=(t,e)=>{let n=e;if(xd(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||De&&n.metaKey)return;if(t.someProp("handleKeyPress",o=>o(t,n))){n.preventDefault();return}let r=t.state.selection;if(!(r instanceof D)||!r.$from.sameParent(r.$to)){let o=String.fromCharCode(n.charCode),i=()=>t.state.tr.insertText(o).scrollIntoView();!/[\r\n]/.test(o)&&!t.someProp("handleTextInput",s=>s(t,r.$from.pos,r.$to.pos,o,i))&&t.dispatch(i()),n.preventDefault()}};function Zr(t){return{left:t.clientX,top:t.clientY}}function eg(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}function Ls(t,e,n,r,o){if(r==-1)return!1;let i=t.state.doc.resolve(r);for(let s=i.depth+1;s>0;s--)if(t.someProp(e,l=>s>i.depth?l(t,n,i.nodeAfter,i.before(s),o,!0):l(t,n,i.node(s),i.before(s),o,!1)))return!0;return!1}function Sn(t,e,n){if(t.focused||t.focus(),t.state.selection.eq(e))return;let r=t.state.tr.setSelection(e);n=="pointer"&&r.setMeta("pointer",!0),t.dispatch(r)}function tg(t,e){if(e==-1)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return r&&r.isAtom&&L.isSelectable(r)?(Sn(t,new L(n),"pointer"),!0):!1}function ng(t,e){if(e==-1)return!1;let n=t.state.selection,r,o;n instanceof L&&(r=n.node);let i=t.state.doc.resolve(e);for(let s=i.depth+1;s>0;s--){let l=s>i.depth?i.nodeAfter:i.node(s);if(L.isSelectable(l)){r&&n.$from.depth>0&&s>=n.$from.depth&&i.before(n.$from.depth+1)==n.$from.pos?o=i.before(n.$from.depth):o=i.before(s);break}}return o!=null?(Sn(t,L.create(t.state.doc,o),"pointer"),!0):!1}function rg(t,e,n,r,o){return Ls(t,"handleClickOn",e,n,r)||t.someProp("handleClick",i=>i(t,e,r))||(o?ng(t,n):tg(t,n))}function og(t,e,n,r){return Ls(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",o=>o(t,e,r))}function ig(t,e,n,r){return Ls(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",o=>o(t,e,r))||sg(t,n,r)}function sg(t,e,n){if(n.button!=0)return!1;let r=t.state.doc;if(e==-1)return r.inlineContent?(Sn(t,D.create(r,0,r.content.size),"pointer"),!0):!1;let o=r.resolve(e);for(let i=o.depth+1;i>0;i--){let s=i>o.depth?o.nodeAfter:o.node(i),l=o.before(i);if(s.inlineContent)Sn(t,D.create(r,l+1,l+1+s.content.size),"pointer");else if(L.isSelectable(s))Sn(t,L.create(r,l),"pointer");else continue;return!0}}function Bs(t){return qr(t)}var wd=De?"metaKey":"ctrlKey";Se.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=Bs(t),o=Date.now(),i="singleClick";o-t.input.lastClick.time<500&&eg(n,t.input.lastClick)&&!n[wd]&&t.input.lastClick.button==n.button&&(t.input.lastClick.type=="singleClick"?i="doubleClick":t.input.lastClick.type=="doubleClick"&&(i="tripleClick")),t.input.lastClick={time:o,x:n.clientX,y:n.clientY,type:i,button:n.button};let s=t.posAtCoords(Zr(n));s&&(i=="singleClick"?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new Ts(t,s,n,!!r)):(i=="doubleClick"?og:ig)(t,s.pos,s.inside,n)?n.preventDefault():Ot(t,"pointer"))};var Ts=class{constructor(e,n,r,o){this.view=e,this.pos=n,this.event=r,this.flushed=o,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!r[wd],this.allowDefault=r.shiftKey;let i,s;if(n.inside>-1)i=e.state.doc.nodeAt(n.inside),s=n.inside;else{let d=e.state.doc.resolve(n.pos);i=d.parent,s=d.depth?d.before():0}let l=o?null:r.target,a=l?e.docView.nearestDesc(l,!0):null;this.target=a&&a.nodeDOM.nodeType==1?a.nodeDOM:null;let{selection:c}=e.state;(r.button==0&&i.type.spec.draggable&&i.type.spec.selectable!==!1||c instanceof L&&c.from<=s&&c.to>s)&&(this.mightDrag={node:i,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Pe&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),Ot(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>gt(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(Zr(e))),this.updateAllowDefault(e),this.allowDefault||!n?Ot(this.view,"pointer"):rg(this.view,n.pos,n.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||we&&this.mightDrag&&!this.mightDrag.node.isAtom||de&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(Sn(this.view,I.near(this.view.state.doc.resolve(n.pos)),"pointer"),e.preventDefault()):Ot(this.view,"pointer")}move(e){this.updateAllowDefault(e),Ot(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}};Se.touchstart=t=>{t.input.lastTouch=Date.now(),Bs(t),Ot(t,"pointer")};Se.touchmove=t=>{t.input.lastTouch=Date.now(),Ot(t,"pointer")};Se.contextmenu=t=>Bs(t);function xd(t,e){return t.composing?!0:we&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}var lg=mt?5e3:-1;Ce.compositionstart=Ce.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$to;if(e.selection instanceof D&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)||de&&Zc&&ag(t)))t.markCursor=t.state.storedMarks||n.marks(),qr(t,!0),t.markCursor=null;else if(qr(t,!e.selection.empty),Pe&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=t.domSelectionRange();for(let o=r.focusNode,i=r.focusOffset;o&&o.nodeType==1&&i!=0;){let s=i<0?o.lastChild:o.childNodes[i-1];if(!s)break;if(s.nodeType==3){let l=t.domSelection();l&&l.collapse(s,s.nodeValue.length);break}else o=s,i=-1}}t.input.composing=!0}kd(t,lg)};function ag(t){let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(!e||e.nodeType!=1||n>=e.childNodes.length)return!1;let r=e.childNodes[n];return r.nodeType==1&&r.contentEditable=="false"}Ce.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,kd(t,20))};function kd(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>qr(t),e))}function Sd(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=dg());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function cg(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=sm(e.focusNode,e.focusOffset),r=lm(e.focusNode,e.focusOffset);if(n&&r&&n!=r){let o=r.pmViewDesc,i=t.domObserver.lastChangedTextNode;if(n==i||r==i)return i;if(!o||!o.isText(r.nodeValue))return r;if(t.input.compositionNode==r){let s=n.pmViewDesc;if(!(!s||!s.isText(n.nodeValue)))return r}}return n||r}function dg(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function qr(t,e=!1){if(!(mt&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Sd(t),e||t.docView&&t.docView.dirty){let n=Rs(t),r=t.state.selection;return n&&!n.eq(r)?t.dispatch(t.state.tr.setSelection(n)):(t.markCursor||e)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function ug(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),o=document.createRange();o.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(o),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()},50)}var Qn=ve&&Rt<15||vn&&um<604;Se.copy=Ce.cut=(t,e)=>{let n=e,r=t.state.selection,o=n.type=="cut";if(r.empty)return;let i=Qn?null:n.clipboardData,s=r.content(),{dom:l,text:a}=Is(t,s);i?(n.preventDefault(),i.clearData(),i.setData("text/html",l.innerHTML),i.setData("text/plain",a)):ug(t,l),o&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function fg(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function hg(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let o=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?Zn(t,r.value,null,o,e):Zn(t,r.textContent,r.innerHTML,o,e)},50)}function Zn(t,e,n,r,o){let i=hd(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",a=>a(t,o,i||E.empty)))return!0;if(!i)return!1;let s=fg(i),l=s?t.state.tr.replaceSelectionWith(s,r):t.state.tr.replaceSelection(i);return t.dispatch(l.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function Cd(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}Ce.paste=(t,e)=>{let n=e;if(t.composing&&!mt)return;let r=Qn?null:n.clipboardData,o=t.input.shiftKey&&t.input.lastKeyCode!=45;r&&Zn(t,Cd(r),r.getData("text/html"),o,n)?n.preventDefault():hg(t,n)};var Jr=class{constructor(e,n,r){this.slice=e,this.move=n,this.node=r}},pg=De?"altKey":"ctrlKey";function vd(t,e){let n=t.someProp("dragCopies",r=>!r(e));return n??!e[pg]}Se.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let o=t.state.selection,i=o.empty?null:t.posAtCoords(Zr(n)),s;if(!(i&&i.pos>=o.from&&i.pos<=(o instanceof L?o.to-1:o.to))){if(r&&r.mightDrag)s=L.create(t.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let u=t.docView.nearestDesc(n.target,!0);u&&u.node.type.spec.draggable&&u!=t.docView&&(s=L.create(t.state.doc,u.posBefore))}}let l=(s||t.state.selection).content(),{dom:a,text:c,slice:d}=Is(t,l);(!n.dataTransfer.files.length||!de||Qc>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(Qn?"Text":"text/html",a.innerHTML),n.dataTransfer.effectAllowed="copyMove",Qn||n.dataTransfer.setData("text/plain",c),t.dragging=new Jr(d,vd(t,n),s)};Se.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};Ce.dragover=Ce.dragenter=(t,e)=>e.preventDefault();Ce.drop=(t,e)=>{try{mg(t,e,t.dragging)}finally{t.dragging=null}};function mg(t,e,n){if(!e.dataTransfer)return;let r=t.posAtCoords(Zr(e));if(!r)return;let o=t.state.doc.resolve(r.pos),i=n&&n.slice;i?t.someProp("transformPasted",h=>{i=h(i,t,!1)}):i=hd(t,Cd(e.dataTransfer),Qn?null:e.dataTransfer.getData("text/html"),!1,o);let s=!!(n&&vd(t,e));if(t.someProp("handleDrop",h=>h(t,e,i||E.empty,s))){e.preventDefault();return}if(!i)return;e.preventDefault();let l=i?zr(t.state.doc,o.pos,i):o.pos;l==null&&(l=o.pos);let a=t.state.tr;if(s){let{node:h}=n;h?h.replace(a):a.deleteSelection()}let c=a.mapping.map(l),d=i.openStart==0&&i.openEnd==0&&i.content.childCount==1,u=a.doc;if(d?a.replaceRangeWith(c,c,i.content.firstChild):a.replaceRange(c,c,i),a.doc.eq(u))return;let f=a.doc.resolve(c);if(d&&L.isSelectable(i.content.firstChild)&&f.nodeAfter&&f.nodeAfter.sameMarkup(i.content.firstChild))a.setSelection(new L(f));else{let h=a.mapping.map(l);a.mapping.maps[a.mapping.maps.length-1].forEach((p,m,g,y)=>h=y),a.setSelection(Ds(t,f,a.doc.resolve(h)))}t.focus(),t.dispatch(a.setMeta("uiEvent","drop"))}Se.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&>(t)},20))};Se.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};Se.beforeinput=(t,e)=>{if(de&&mt&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:r}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=r||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",i=>i(t,Ut(8,"Backspace")))))return;let{$cursor:o}=t.state.selection;o&&o.pos>0&&t.dispatch(t.state.tr.delete(o.pos-1,o.pos).scrollIntoView())},50)}};for(let t in Ce)Se[t]=Ce[t];function er(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}var Gr=class t{constructor(e,n){this.toDOM=e,this.spec=n||Gt,this.side=this.spec.side||0}map(e,n,r,o){let{pos:i,deleted:s}=e.mapResult(n.from+o,this.side<0?-1:1);return s?null:new te(i-r,i-r,this)}valid(){return!0}eq(e){return this==e||e instanceof t&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&er(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},Jt=class t{constructor(e,n){this.attrs=e,this.spec=n||Gt}map(e,n,r,o){let i=e.map(n.from+o,this.spec.inclusiveStart?-1:1)-r,s=e.map(n.to+o,this.spec.inclusiveEnd?1:-1)-r;return i>=s?null:new te(i,s,this)}valid(e,n){return n.from=e&&(!i||i(l.spec))&&r.push(l.copy(l.from+o,l.to+o))}for(let s=0;se){let l=this.children[s]+1;this.children[s+2].findInner(e-l,n-l,r,o+l,i)}}map(e,n,r){return this==be||e.maps.length==0?this:this.mapInner(e,n,0,0,r||Gt)}mapInner(e,n,r,o,i){let s;for(let l=0;l{let c=a+r,d;if(d=Td(n,l,c)){for(o||(o=this.children.slice());il&&u.to=e){this.children[l]==e&&(r=this.children[l+2]);break}let i=e+1,s=i+n.content.size;for(let l=0;li&&a.type instanceof Jt){let c=Math.max(i,a.from)-i,d=Math.min(s,a.to)-i;co.map(e,n,Gt));return t.from(r)}forChild(e,n){if(n.isLeaf)return Y.empty;let r=[];for(let o=0;on instanceof Y)?e:e.reduce((n,r)=>n.concat(r instanceof Y?r:r.members),[]))}}forEachSet(e){for(let n=0;n{let g=m-p-(h-f);for(let y=0;yw+d-u)continue;let b=l[y]+d-u;h>=b?l[y+1]=f<=b?-2:-1:f>=d&&g&&(l[y]+=g,l[y+1]+=g)}u+=g}),d=n.maps[c].map(d,-1)}let a=!1;for(let c=0;c=r.content.size){a=!0;continue}let f=n.map(t[c+1]+i,-1),h=f-o,{index:p,offset:m}=r.content.findIndex(u),g=r.maybeChild(p);if(g&&m==u&&m+g.nodeSize==h){let y=l[c+2].mapInner(n,g,d+1,t[c]+i+1,s);y!=be?(l[c]=u,l[c+1]=h,l[c+2]=y):(l[c+1]=-2,a=!0)}else a=!0}if(a){let c=yg(l,t,e,n,o,i,s),d=Yr(c,r,0,s);e=d.local;for(let u=0;un&&s.to{let c=Td(t,l,a+n);if(c){i=!0;let d=Yr(c,l,n+a+1,r);d!=be&&o.push(a,a+l.nodeSize,d)}});let s=Md(i?Ad(t):t,-n).sort(Xt);for(let l=0;l0;)e++;t.splice(e,0,n)}function ds(t){let e=[];return t.someProp("decorations",n=>{let r=n(t.state);r&&r!=be&&e.push(r)}),t.cursorWrapper&&e.push(Y.create(t.state.doc,[t.cursorWrapper.deco])),Xr.from(e)}var bg={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},wg=ve&&Rt<=11,Es=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},Ns=class{constructor(e,n){this.view=e,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new Es,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let o=0;oo.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),wg&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,bg)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let n=0;nthis.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(Dc(this.view)){if(this.suppressingSelectionUpdates)return gt(this.view);if(ve&&Rt<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&Yt(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let n=new Set,r;for(let i=e.focusNode;i;i=Cn(i))n.add(i);for(let i=e.anchorNode;i;i=Cn(i))if(n.has(i)){r=i;break}let o=r&&this.view.docView.nearestDesc(r);if(o&&o.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=e.domSelectionRange(),o=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&Dc(e)&&!this.ignoreSelectionChange(r),i=-1,s=-1,l=!1,a=[];if(e.editable)for(let d=0;du.nodeName=="BR");if(d.length==2){let[u,f]=d;u.parentNode&&u.parentNode.parentNode==f.parentNode?f.remove():u.remove()}else{let{focusNode:u}=this.currentSelection;for(let f of d){let h=f.parentNode;h&&h.nodeName=="LI"&&(!u||Sg(e,u)!=h)&&f.remove()}}}else if((de||we)&&a.some(d=>d.nodeName=="BR")&&(e.input.lastKeyCode==8||e.input.lastKeyCode==46)){for(let d of a)if(d.nodeName=="BR"&&d.parentNode){let u=d.nextSibling;u&&u.nodeType==1&&u.contentEditable=="false"&&d.parentNode.removeChild(d)}}let c=null;i<0&&o&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)-1||o)&&(i>-1&&(e.docView.markDirty(i,s),xg(e)),this.handleDOMChange(i,s,l,a),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(r)||gt(e),this.currentSelection.set(r))}registerMutation(e,n){if(n.indexOf(e.target)>-1)return null;let r=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(r==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!r||r.ignoreMutation(e))return null;if(e.type=="childList"){for(let d=0;do;g--){let y=r.childNodes[g-1],w=y.pmViewDesc;if(y.nodeName=="BR"&&!w){i=g;break}if(!w||w.size)break}let u=t.state.doc,f=t.someProp("domParser")||Xe.fromSchema(t.state.schema),h=u.resolve(s),p=null,m=f.parse(r,{topNode:h.parent,topMatch:h.parent.contentMatchAt(h.index()),topOpen:!0,from:o,to:i,preserveWhitespace:h.parent.type.whitespace=="pre"?"full":!0,findPositions:c,ruleFromNode:vg,context:h});if(c&&c[0].pos!=null){let g=c[0].pos,y=c[1]&&c[1].pos;y==null&&(y=g),p={anchor:g+s,head:y+s}}return{doc:m,sel:p,from:s,to:l}}function vg(t){let e=t.pmViewDesc;if(e)return e.parseRule();if(t.nodeName=="BR"&&t.parentNode){if(we&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(t.parentNode.lastChild==t||we&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}var Mg=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function Tg(t,e,n,r,o){let i=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let k=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,O=Rs(t,k);if(O&&!t.state.selection.eq(O)){if(de&&mt&&t.input.lastKeyCode===13&&Date.now()-100A(t,Ut(13,"Enter"))))return;let T=t.state.tr.setSelection(O);k=="pointer"?T.setMeta("pointer",!0):k=="key"&&T.scrollIntoView(),i&&T.setMeta("composition",i),t.dispatch(T)}return}let s=t.state.doc.resolve(e),l=s.sharedDepth(n);e=s.before(l+1),n=t.state.doc.resolve(n).after(l+1);let a=t.state.selection,c=Cg(t,e,n),d=t.state.doc,u=d.slice(c.from,c.to),f,h;t.input.lastKeyCode===8&&Date.now()-100Date.now()-225||mt)&&o.some(k=>k.nodeType==1&&!Mg.test(k.nodeName))&&(!p||p.endA>=p.endB)&&t.someProp("handleKeyDown",k=>k(t,Ut(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!p)if(r&&a instanceof D&&!a.empty&&a.$head.sameParent(a.$anchor)&&!t.composing&&!(c.sel&&c.sel.anchor!=c.sel.head))p={start:a.from,endA:a.to,endB:a.to};else{if(c.sel){let k=jc(t,t.state.doc,c.sel);if(k&&!k.eq(t.state.selection)){let O=t.state.tr.setSelection(k);i&&O.setMeta("composition",i),t.dispatch(O)}}return}t.state.selection.fromt.state.selection.from&&p.start<=t.state.selection.from+2&&t.state.selection.from>=c.from?p.start=t.state.selection.from:p.endA=t.state.selection.to-2&&t.state.selection.to<=c.to&&(p.endB+=t.state.selection.to-p.endA,p.endA=t.state.selection.to)),ve&&Rt<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>c.from&&c.doc.textBetween(p.start-c.from-1,p.start-c.from+1)==" \xA0"&&(p.start--,p.endA--,p.endB--);let m=c.doc.resolveNoCache(p.start-c.from),g=c.doc.resolveNoCache(p.endB-c.from),y=d.resolve(p.start),w=m.sameParent(g)&&m.parent.inlineContent&&y.end()>=p.endA;if((vn&&t.input.lastIOSEnter>Date.now()-225&&(!w||o.some(k=>k.nodeName=="DIV"||k.nodeName=="P"))||!w&&m.posk(t,Ut(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>p.start&&Eg(d,p.start,p.endA,m,g)&&t.someProp("handleKeyDown",k=>k(t,Ut(8,"Backspace")))){mt&&de&&t.domObserver.suppressSelectionUpdates();return}de&&p.endB==p.start&&(t.input.lastChromeDelete=Date.now()),mt&&!w&&m.start()!=g.start()&&g.parentOffset==0&&m.depth==g.depth&&c.sel&&c.sel.anchor==c.sel.head&&c.sel.head==p.endA&&(p.endB-=2,g=c.doc.resolveNoCache(p.endB-c.from),setTimeout(()=>{t.someProp("handleKeyDown",function(k){return k(t,Ut(13,"Enter"))})},20));let b=p.start,C=p.endA,x=k=>{let O=k||t.state.tr.replace(b,C,c.doc.slice(p.start-c.from,p.endB-c.from));if(c.sel){let T=jc(t,O.doc,c.sel);T&&!(de&&t.composing&&T.empty&&(p.start!=p.endB||t.input.lastChromeDeletegt(t),20));let k=x(t.state.tr.delete(b,C)),O=d.resolve(p.start).marksAcross(d.resolve(p.endA));O&&k.ensureMarks(O),t.dispatch(k)}else if(p.endA==p.endB&&(S=Ag(m.parent.content.cut(m.parentOffset,g.parentOffset),y.parent.content.cut(y.parentOffset,p.endA-y.start())))){let k=x(t.state.tr);S.type=="add"?k.addMark(b,C,S.mark):k.removeMark(b,C,S.mark),t.dispatch(k)}else if(m.parent.child(m.index()).isText&&m.index()==g.index()-(g.textOffset?0:1)){let k=m.parent.textBetween(m.parentOffset,g.parentOffset),O=()=>x(t.state.tr.insertText(k,b,C));t.someProp("handleTextInput",T=>T(t,b,C,k,O))||t.dispatch(O())}else t.dispatch(x());else t.dispatch(x())}function jc(t,e,n){return Math.max(n.anchor,n.head)>e.content.size?null:Ds(t,e.resolve(n.anchor),e.resolve(n.head))}function Ag(t,e){let n=t.firstChild.marks,r=e.firstChild.marks,o=n,i=r,s,l,a;for(let d=0;dd.mark(l.addToSet(d.marks));else if(o.length==0&&i.length==1)l=i[0],s="remove",a=d=>d.mark(l.removeFromSet(d.marks));else return null;let c=[];for(let d=0;dn||us(s,!0,!1)0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,o++,e=!1;if(n){let i=t.node(r).maybeChild(t.indexAfter(r));for(;i&&!i.isLeaf;)i=i.firstChild,o++}return o}function Ng(t,e,n,r,o){let i=t.findDiffStart(e,n);if(i==null)return null;let{a:s,b:l}=t.findDiffEnd(e,n+t.size,n+e.size);if(o=="end"){let a=Math.max(0,i-Math.min(s,l));r-=s+a-i}if(s=s?i-r:0;i-=a,i&&i=l?i-r:0;i-=a,i&&i=56320&&e<=57343&&n>=55296&&n<=56319}var tr=class{constructor(e,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new vs,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(Xc),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=Jc(this),qc(this),this.nodeViews=Gc(this),this.docView=Tc(this.state.doc,Kc(this),ds(this),this.dom,this),this.domObserver=new Ns(this,(r,o,i,s)=>Tg(this,r,o,i,s)),this.domObserver.start(),Xm(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let n in e)this._props[n]=e[n];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&Ms(this);let n=this._props;this._props=e,e.plugins&&(e.plugins.forEach(Xc),this.directPlugins=e.plugins),this.updateStateInner(e.state,n)}setProps(e){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in e)n[r]=e[r];this.update(n)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,n){var r;let o=this.state,i=!1,s=!1;e.storedMarks&&this.composing&&(Sd(this),s=!0),this.state=e;let l=o.plugins!=e.plugins||this._props.plugins!=n.plugins;if(l||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let h=Gc(this);Rg(h,this.nodeViews)&&(this.nodeViews=h,i=!0)}(l||n.handleDOMEvents!=this._props.handleDOMEvents)&&Ms(this),this.editable=Jc(this),qc(this);let a=ds(this),c=Kc(this),d=o.plugins!=e.plugins&&!o.doc.eq(e.doc)?"reset":e.scrollToSelection>o.scrollToSelection?"to selection":"preserve",u=i||!this.docView.matchesNode(e.doc,c,a);(u||!e.selection.eq(o.selection))&&(s=!0);let f=d=="preserve"&&s&&this.dom.style.overflowAnchor==null&&pm(this);if(s){this.domObserver.stop();let h=u&&(ve||de)&&!this.composing&&!o.selection.empty&&!e.selection.empty&&Og(o.selection,e.selection);if(u){let p=de?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=cg(this)),(i||!this.docView.update(e.doc,c,a,this))&&(this.docView.updateOuterDeco(c),this.docView.destroy(),this.docView=Tc(e.doc,c,a,this.dom,this)),p&&!this.trackWrites&&(h=!0)}h||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Lm(this))?gt(this,h):(dd(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(o),!((r=this.dragging)===null||r===void 0)&&r.node&&!o.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,o),d=="reset"?this.dom.scrollTop=0:d=="to selection"?this.scrollToSelection():f&&mm(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof L){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&xc(this,n.getBoundingClientRect(),e)}else xc(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n0&&this.state.doc.nodeAt(i))==r.node&&(o=i)}this.dragging=new Jr(e.slice,e.move,o<0?void 0:L.create(this.state.doc,o))}someProp(e,n){let r=this._props&&this._props[e],o;if(r!=null&&(o=n?n(r):r))return o;for(let s=0;sn.ownerDocument.getSelection()),this._root=n}return e||document}updateRoot(){this._root=null}posAtCoords(e){return km(this,e)}coordsAtPos(e,n=1){return od(this,e,n)}domAtPos(e,n=0){return this.docView.domFromPos(e,n)}nodeDOM(e){let n=this.docView.descAt(e);return n?n.nodeDOM:null}posAtDOM(e,n,r=-1){let o=this.docView.posFromDOM(e,n,r);if(o==null)throw new RangeError("DOM position not inside the editor");return o}endOfTextblock(e,n){return Tm(this,n||this.state,e)}pasteHTML(e,n){return Zn(this,"",e,!1,n||new ClipboardEvent("paste"))}pasteText(e,n){return Zn(this,e,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(e){return Is(this,e)}destroy(){this.docView&&(Ym(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],ds(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,om())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return Zm(this,e)}domSelectionRange(){let e=this.domSelection();return e?we&&this.root.nodeType===11&&cm(this.dom.ownerDocument)==this.dom&&kg(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};tr.prototype.dispatch=function(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))};function Kc(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(t.state)),n)for(let r in n)r=="class"?e.class+=" "+n[r]:r=="style"?e.style=(e.style?e.style+";":"")+n[r]:!e[r]&&r!="contenteditable"&&r!="nodeName"&&(e[r]=String(n[r]))}),e.translate||(e.translate="no"),[te.node(0,t.state.doc.content.size,e)]}function qc(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:te.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function Jc(t){return!t.someProp("editable",e=>e(t.state)===!1)}function Og(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}function Gc(t){let e=Object.create(null);function n(r){for(let o in r)Object.prototype.hasOwnProperty.call(e,o)||(e[o]=r[o])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function Rg(t,e){let n=0,r=0;for(let o in t){if(t[o]!=e[o])return!0;n++}for(let o in e)r++;return n!=r}function Xc(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var yt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},to={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Dg=typeof navigator<"u"&&/Mac/.test(navigator.platform),Ig=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(le=0;le<10;le++)yt[48+le]=yt[96+le]=String(le);var le;for(le=1;le<=24;le++)yt[le+111]="F"+le;var le;for(le=65;le<=90;le++)yt[le]=String.fromCharCode(le+32),to[le]=String.fromCharCode(le);var le;for(eo in yt)to.hasOwnProperty(eo)||(to[eo]=yt[eo]);var eo;function Ed(t){var e=Dg&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||Ig&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?to:yt)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}var Pg=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),Lg=typeof navigator<"u"&&/Win/.test(navigator.platform);function Bg(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n=="Space"&&(n=" ");let r,o,i,s;for(let l=0;l{for(var n in e)Hg(t,n,{get:e[n],enumerable:!0})};function co(t){let{state:e,transaction:n}=t,{selection:r}=n,{doc:o}=n,{storedMarks:i}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return i},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,i=n.storedMarks,n}}}var uo=class{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:t,editor:e,state:n}=this,{view:r}=e,{tr:o}=n,i=this.buildProps(o);return Object.fromEntries(Object.entries(t).map(([s,l])=>[s,(...c)=>{let d=l(...c)(i);return!o.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(o),d}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(t,e=!0){let{rawCommands:n,editor:r,state:o}=this,{view:i}=r,s=[],l=!!t,a=t||o.tr,c=()=>(!l&&e&&!a.getMeta("preventDispatch")&&!this.hasCustomState&&i.dispatch(a),s.every(u=>u===!0)),d={...Object.fromEntries(Object.entries(n).map(([u,f])=>[u,(...p)=>{let m=this.buildProps(a,e),g=f(...p)(m);return s.push(g),d}])),run:c};return d}createCan(t){let{rawCommands:e,state:n}=this,r=!1,o=t||n.tr,i=this.buildProps(o,r);return{...Object.fromEntries(Object.entries(e).map(([l,a])=>[l,(...c)=>a(...c)({...i,dispatch:void 0})])),chain:()=>this.createChain(o,r)}}buildProps(t,e=!0){let{rawCommands:n,editor:r,state:o}=this,{view:i}=r,s={tr:t,editor:r,view:i,state:co({state:o,transaction:t}),dispatch:e?()=>{}:void 0,chain:()=>this.createChain(t,e),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map(([l,a])=>[l,(...c)=>a(...c)(s)]))}};return s}},Hd={};js(Hd,{blur:()=>$g,clearContent:()=>Fg,clearNodes:()=>Vg,command:()=>_g,createParagraphNear:()=>Wg,cut:()=>jg,deleteCurrentNode:()=>Ug,deleteNode:()=>Kg,deleteRange:()=>qg,deleteSelection:()=>Jg,enter:()=>Gg,exitCode:()=>Xg,extendMarkRange:()=>Yg,first:()=>Qg,focus:()=>ey,forEach:()=>ty,insertContent:()=>ny,insertContentAt:()=>iy,joinBackward:()=>ay,joinDown:()=>ly,joinForward:()=>cy,joinItemBackward:()=>dy,joinItemForward:()=>uy,joinTextblockBackward:()=>fy,joinTextblockForward:()=>hy,joinUp:()=>sy,keyboardShortcut:()=>my,lift:()=>gy,liftEmptyBlock:()=>yy,liftListItem:()=>by,newlineInCode:()=>wy,resetAttributes:()=>xy,scrollIntoView:()=>ky,selectAll:()=>Sy,selectNodeBackward:()=>Cy,selectNodeForward:()=>vy,selectParentNode:()=>My,selectTextblockEnd:()=>Ty,selectTextblockStart:()=>Ay,setContent:()=>Ey,setMark:()=>Vy,setMeta:()=>_y,setNode:()=>Wy,setNodeSelection:()=>jy,setTextDirection:()=>Uy,setTextSelection:()=>Ky,sinkListItem:()=>qy,splitBlock:()=>Jy,splitListItem:()=>Gy,toggleList:()=>Xy,toggleMark:()=>Yy,toggleNode:()=>Qy,toggleWrap:()=>Zy,undoInputRule:()=>eb,unsetAllMarks:()=>tb,unsetMark:()=>nb,unsetTextDirection:()=>rb,updateAttributes:()=>ob,wrapIn:()=>ib,wrapInList:()=>sb});var $g=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window?.getSelection())==null||n.removeAllRanges())}),!0),Fg=(t=!0)=>({commands:e})=>e.setContent("",{emitUpdate:t}),Vg=()=>({state:t,tr:e,dispatch:n})=>{let{selection:r}=e,{ranges:o}=r;return n&&o.forEach(({$from:i,$to:s})=>{t.doc.nodesBetween(i.pos,s.pos,(l,a)=>{if(l.type.isText)return;let{doc:c,mapping:d}=e,u=c.resolve(d.map(a)),f=c.resolve(d.map(a+l.nodeSize)),h=u.blockRange(f);if(!h)return;let p=ft(h);if(l.type.isTextblock){let{defaultType:m}=u.parent.contentMatchAt(u.index());e.setNodeMarkup(h.start,m)}(p||p===0)&&e.lift(h,p)})}),!0},_g=t=>e=>t(e),Wg=()=>({state:t,dispatch:e})=>es(t,e),jg=(t,e)=>({editor:n,tr:r})=>{let{state:o}=n,i=o.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);let s=r.mapping.map(e);return r.insert(s,i.content),r.setSelection(new D(r.doc.resolve(Math.max(s-1,0)))),!0},Ug=()=>({tr:t,dispatch:e})=>{let{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;let o=t.selection.$anchor;for(let i=o.depth;i>0;i-=1)if(o.node(i).type===r.type){if(e){let l=o.before(i),a=o.after(i);t.delete(l,a).scrollIntoView()}return!0}return!1};function ne(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}var Kg=t=>({tr:e,state:n,dispatch:r})=>{let o=ne(t,n.schema),i=e.selection.$anchor;for(let s=i.depth;s>0;s-=1)if(i.node(s).type===o){if(r){let a=i.before(s),c=i.after(s);e.delete(a,c).scrollIntoView()}return!0}return!1},qg=t=>({tr:e,dispatch:n})=>{let{from:r,to:o}=t;return n&&e.delete(r,o),!0},Jg=()=>({state:t,dispatch:e})=>Vr(t,e),Gg=()=>({commands:t})=>t.keyboardShortcut("Enter"),Xg=()=>({state:t,dispatch:e})=>Zi(t,e);function Us(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function lo(t,e,n={strict:!0}){let r=Object.keys(e);return r.length?r.every(o=>n.strict?e[o]===t[o]:Us(e[o])?e[o].test(t[o]):e[o]===t[o]):!0}function $d(t,e,n={}){return t.find(r=>r.type===e&&lo(Object.fromEntries(Object.keys(n).map(o=>[o,r.attrs[o]])),n))}function Od(t,e,n={}){return!!$d(t,e,n)}function Ks(t,e,n){var r;if(!t||!e)return;let o=t.parent.childAfter(t.parentOffset);if((!o.node||!o.node.marks.some(d=>d.type===e))&&(o=t.parent.childBefore(t.parentOffset)),!o.node||!o.node.marks.some(d=>d.type===e)||(n=n||((r=o.node.marks[0])==null?void 0:r.attrs),!$d([...o.node.marks],e,n)))return;let s=o.index,l=t.start()+o.offset,a=s+1,c=l+o.node.nodeSize;for(;s>0&&Od([...t.parent.child(s-1).marks],e,n);)s-=1,l-=t.parent.child(s).nodeSize;for(;a({tr:n,state:r,dispatch:o})=>{let i=wt(t,r.schema),{doc:s,selection:l}=n,{$from:a,from:c,to:d}=l;if(o){let u=Ks(a,i,e);if(u&&u.from<=c&&u.to>=d){let f=D.create(s,u.from,u.to);n.setSelection(f)}}return!0},Qg=t=>e=>{let n=typeof t=="function"?t(e):t;for(let r=0;r({editor:n,view:r,tr:o,dispatch:i})=>{e={scrollIntoView:!0,...e};let s=()=>{(qs()||Zg())&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),e?.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&t===null||t===!1)return!0;if(i&&t===null&&!fo(n.state.selection))return s(),!0;let l=Fd(o.doc,t)||n.state.selection,a=n.state.selection.eq(l);return i&&(a||o.setSelection(l),a&&o.storedMarks&&o.setStoredMarks(o.storedMarks),s()),!0},ty=(t,e)=>n=>t.every((r,o)=>e(r,{...n,index:o})),ny=(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),Vd=t=>{let e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){let r=e[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):r.nodeType===1&&Vd(r)}return t};function no(t){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");let e=`${t}`,n=new window.DOMParser().parseFromString(e,"text/html").body;return Vd(n)}function ir(t,e,n){if(t instanceof ie||t instanceof v)return t;n={slice:!0,parseOptions:{},...n};let r=typeof t=="object"&&t!==null,o=typeof t=="string";if(r)try{if(Array.isArray(t)&&t.length>0)return v.fromArray(t.map(l=>e.nodeFromJSON(l)));let s=e.nodeFromJSON(t);return n.errorOnInvalidContent&&s.check(),s}catch(i){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:i});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",i),ir("",e,n)}if(o){if(n.errorOnInvalidContent){let s=!1,l="",a=new fn({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:c=>(s=!0,l=typeof c=="string"?c:c.outerHTML,null)}]}})});if(n.slice?Xe.fromSchema(a).parseSlice(no(t),n.parseOptions):Xe.fromSchema(a).parse(no(t),n.parseOptions),n.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}let i=Xe.fromSchema(e);return n.slice?i.parseSlice(no(t),n.parseOptions).content:i.parse(no(t),n.parseOptions)}return ir("",e,n)}function ry(t,e,n){let r=t.steps.length-1;if(r{s===0&&(s=d)}),t.setSelection(I.near(t.doc.resolve(s),n))}var oy=t=>!("type"in t),iy=(t,e,n)=>({tr:r,dispatch:o,editor:i})=>{var s;if(o){n={parseOptions:i.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let l,a=g=>{i.emit("contentError",{editor:i,error:g,disableCollaboration:()=>{"collaboration"in i.storage&&typeof i.storage.collaboration=="object"&&i.storage.collaboration&&(i.storage.collaboration.isDisabled=!0)}})},c={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!i.options.enableContentCheck&&i.options.emitContentError)try{ir(e,i.schema,{parseOptions:c,errorOnInvalidContent:!0})}catch(g){a(g)}try{l=ir(e,i.schema,{parseOptions:c,errorOnInvalidContent:(s=n.errorOnInvalidContent)!=null?s:i.options.enableContentCheck})}catch(g){return a(g),!1}let{from:d,to:u}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},f=!0,h=!0;if((oy(l)?l:[l]).forEach(g=>{g.check(),f=f?g.isText&&g.marks.length===0:!1,h=h?g.isBlock:!1}),d===u&&h){let{parent:g}=r.doc.resolve(d);g.isTextblock&&!g.type.spec.code&&!g.childCount&&(d-=1,u+=1)}let m;if(f){if(Array.isArray(e))m=e.map(g=>g.text||"").join("");else if(e instanceof v){let g="";e.forEach(y=>{y.text&&(g+=y.text)}),m=g}else typeof e=="object"&&e&&e.text?m=e.text:m=e;r.insertText(m,d,u)}else{m=l;let g=r.doc.resolve(d),y=g.node(),w=g.parentOffset===0,b=y.isText||y.isTextblock,C=y.content.size>0;w&&b&&C&&(d=Math.max(0,d-1)),r.replaceWith(d,u,m)}n.updateSelection&&ry(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:d,text:m}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:d,text:m})}return!0},sy=()=>({state:t,dispatch:e})=>ac(t,e),ly=()=>({state:t,dispatch:e})=>cc(t,e),ay=()=>({state:t,dispatch:e})=>Ui(t,e),cy=()=>({state:t,dispatch:e})=>Ji(t,e),dy=()=>({state:t,dispatch:e,tr:n})=>{try{let r=Wt(t.doc,t.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},uy=()=>({state:t,dispatch:e,tr:n})=>{try{let r=Wt(t.doc,t.selection.$from.pos,1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},fy=()=>({state:t,dispatch:e})=>oc(t,e),hy=()=>({state:t,dispatch:e})=>ic(t,e);function _d(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function py(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n==="Space"&&(n=" ");let r,o,i,s;for(let l=0;l({editor:e,view:n,tr:r,dispatch:o})=>{let i=py(t).split(/-(?!$)/),s=i.find(c=>!["Alt","Ctrl","Meta","Shift"].includes(c)),l=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:i.includes("Alt"),ctrlKey:i.includes("Ctrl"),metaKey:i.includes("Meta"),shiftKey:i.includes("Shift"),bubbles:!0,cancelable:!0}),a=e.captureTransaction(()=>{n.someProp("handleKeyDown",c=>c(n,l))});return a?.steps.forEach(c=>{let d=c.map(r.mapping);d&&o&&r.maybeStep(d)}),!0};function Ze(t,e,n={}){let{from:r,to:o,empty:i}=t.selection,s=e?ne(e,t.schema):null,l=[];t.doc.nodesBetween(r,o,(u,f)=>{if(u.isText)return;let h=Math.max(r,f),p=Math.min(o,f+u.nodeSize);l.push({node:u,from:h,to:p})});let a=o-r,c=l.filter(u=>s?s.name===u.node.type.name:!0).filter(u=>lo(u.node.attrs,n,{strict:!1}));return i?!!c.length:c.reduce((u,f)=>u+f.to-f.from,0)>=a}var gy=(t,e={})=>({state:n,dispatch:r})=>{let o=ne(t,n.schema);return Ze(n,o,e)?dc(n,r):!1},yy=()=>({state:t,dispatch:e})=>ts(t,e),by=t=>({state:e,dispatch:n})=>{let r=ne(t,e.schema);return gc(r)(e,n)},wy=()=>({state:t,dispatch:e})=>Yi(t,e);function ho(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function Rd(t,e){let n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((r,o)=>(n.includes(o)||(r[o]=t[o]),r),{})}var xy=(t,e)=>({tr:n,state:r,dispatch:o})=>{let i=null,s=null,l=ho(typeof t=="string"?t:t.name,r.schema);if(!l)return!1;l==="node"&&(i=ne(t,r.schema)),l==="mark"&&(s=wt(t,r.schema));let a=!1;return n.selection.ranges.forEach(c=>{r.doc.nodesBetween(c.$from.pos,c.$to.pos,(d,u)=>{i&&i===d.type&&(a=!0,o&&n.setNodeMarkup(u,void 0,Rd(d.attrs,e))),s&&d.marks.length&&d.marks.forEach(f=>{s===f.type&&(a=!0,o&&n.addMark(u,u+d.nodeSize,s.create(Rd(f.attrs,e))))})})}),a},ky=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),Sy=()=>({tr:t,dispatch:e})=>{if(e){let n=new ke(t.doc);t.setSelection(n)}return!0},Cy=()=>({state:t,dispatch:e})=>Ki(t,e),vy=()=>({state:t,dispatch:e})=>Gi(t,e),My=()=>({state:t,dispatch:e})=>uc(t,e),Ty=()=>({state:t,dispatch:e})=>rs(t,e),Ay=()=>({state:t,dispatch:e})=>ns(t,e);function _s(t,e,n={},r={}){return ir(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var Ey=(t,{errorOnInvalidContent:e,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:o,tr:i,dispatch:s,commands:l})=>{let{doc:a}=i;if(r.preserveWhitespace!=="full"){let c=_s(t,o.schema,r,{errorOnInvalidContent:e??o.options.enableContentCheck});return s&&i.replaceWith(0,a.content.size,c).setMeta("preventUpdate",!n),!0}return s&&i.setMeta("preventUpdate",!n),l.insertContentAt({from:0,to:a.content.size},t,{parseOptions:r,errorOnInvalidContent:e??o.options.enableContentCheck})};function Wd(t,e){let n=wt(e,t.schema),{from:r,to:o,empty:i}=t.selection,s=[];i?(t.storedMarks&&s.push(...t.storedMarks),s.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,o,a=>{s.push(...a.marks)});let l=s.find(a=>a.type.name===n.name);return l?{...l.attrs}:{}}function Js(t,e){let n=new Tt(t);return e.forEach(r=>{r.steps.forEach(o=>{n.step(o)})}),n}function sr(t){for(let e=0;e{e(r)&&n.push({node:r,pos:o})}),n}function jd(t,e,n){let r=[];return t.nodesBetween(e.from,e.to,(o,i)=>{n(o)&&r.push({node:o,pos:i})}),r}function Gs(t,e){for(let n=t.depth;n>0;n-=1){let r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function et(t){return e=>Gs(e.$from,t)}function B(t,e,n){return t.config[e]===void 0&&t.parent?B(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?B(t.parent,e,n):null}):t.config[e]}function Xs(t){return t.map(e=>{let n={name:e.name,options:e.options,storage:e.storage},r=B(e,"addExtensions",n);return r?[e,...Xs(r())]:e}).flat(10)}function Ys(t,e){let n=ct.fromSchema(e).serializeFragment(t),o=document.implementation.createHTMLDocument().createElement("div");return o.appendChild(n),o.innerHTML}function Ud(t){return typeof t=="function"}function G(t,e=void 0,...n){return Ud(t)?e?t.bind(e)(...n):t(...n):t}function Ny(t={}){return Object.keys(t).length===0&&t.constructor===Object}function An(t){let e=t.filter(o=>o.type==="extension"),n=t.filter(o=>o.type==="node"),r=t.filter(o=>o.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:r}}function Kd(t){let e=[],{nodeExtensions:n,markExtensions:r}=An(t),o=[...n,...r],i={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach(s=>{let l={name:s.name,options:s.options,storage:s.storage,extensions:o},a=B(s,"addGlobalAttributes",l);if(!a)return;a().forEach(d=>{d.types.forEach(u=>{Object.entries(d.attributes).forEach(([f,h])=>{e.push({type:u,name:f,attribute:{...i,...h}})})})})}),o.forEach(s=>{let l={name:s.name,options:s.options,storage:s.storage},a=B(s,"addAttributes",l);if(!a)return;let c=a();Object.entries(c).forEach(([d,u])=>{let f={...i,...u};typeof f?.default=="function"&&(f.default=f.default()),f?.isRequired&&f?.default===void 0&&delete f.default,e.push({type:s.name,name:d,attribute:f})})}),e}function R(...t){return t.filter(e=>!!e).reduce((e,n)=>{let r={...e};return Object.entries(n).forEach(([o,i])=>{if(!r[o]){r[o]=i;return}if(o==="class"){let l=i?String(i).split(" "):[],a=r[o]?r[o].split(" "):[],c=l.filter(d=>!a.includes(d));r[o]=[...a,...c].join(" ")}else if(o==="style"){let l=i?i.split(";").map(d=>d.trim()).filter(Boolean):[],a=r[o]?r[o].split(";").map(d=>d.trim()).filter(Boolean):[],c=new Map;a.forEach(d=>{let[u,f]=d.split(":").map(h=>h.trim());c.set(u,f)}),l.forEach(d=>{let[u,f]=d.split(":").map(h=>h.trim());c.set(u,f)}),r[o]=Array.from(c.entries()).map(([d,u])=>`${d}: ${u}`).join("; ")}else r[o]=i}),r},{})}function ao(t,e){return e.filter(n=>n.type===t.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(t.attrs)||{}:{[n.name]:t.attrs[n.name]}).reduce((n,r)=>R(n,r),{})}function Oy(t){return typeof t!="string"?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):t==="true"?!0:t==="false"?!1:t}function Dd(t,e){return"style"in t?t:{...t,getAttrs:n=>{let r=t.getAttrs?t.getAttrs(n):t.attrs;if(r===!1)return!1;let o=e.reduce((i,s)=>{let l=s.attribute.parseHTML?s.attribute.parseHTML(n):Oy(n.getAttribute(s.name));return l==null?i:{...i,[s.name]:l}},{});return{...r,...o}}}}function Id(t){return Object.fromEntries(Object.entries(t).filter(([e,n])=>e==="attrs"&&Ny(n)?!1:n!=null))}function Pd(t){var e,n;let r={};return!((e=t?.attribute)!=null&&e.isRequired)&&"default"in(t?.attribute||{})&&(r.default=t.attribute.default),((n=t?.attribute)==null?void 0:n.validate)!==void 0&&(r.validate=t.attribute.validate),[t.name,r]}function Ry(t,e){var n;let r=Kd(t),{nodeExtensions:o,markExtensions:i}=An(t),s=(n=o.find(c=>B(c,"topNode")))==null?void 0:n.name,l=Object.fromEntries(o.map(c=>{let d=r.filter(y=>y.type===c.name),u={name:c.name,options:c.options,storage:c.storage,editor:e},f=t.reduce((y,w)=>{let b=B(w,"extendNodeSchema",u);return{...y,...b?b(c):{}}},{}),h=Id({...f,content:G(B(c,"content",u)),marks:G(B(c,"marks",u)),group:G(B(c,"group",u)),inline:G(B(c,"inline",u)),atom:G(B(c,"atom",u)),selectable:G(B(c,"selectable",u)),draggable:G(B(c,"draggable",u)),code:G(B(c,"code",u)),whitespace:G(B(c,"whitespace",u)),linebreakReplacement:G(B(c,"linebreakReplacement",u)),defining:G(B(c,"defining",u)),isolating:G(B(c,"isolating",u)),attrs:Object.fromEntries(d.map(Pd))}),p=G(B(c,"parseHTML",u));p&&(h.parseDOM=p.map(y=>Dd(y,d)));let m=B(c,"renderHTML",u);m&&(h.toDOM=y=>m({node:y,HTMLAttributes:ao(y,d)}));let g=B(c,"renderText",u);return g&&(h.toText=g),[c.name,h]})),a=Object.fromEntries(i.map(c=>{let d=r.filter(g=>g.type===c.name),u={name:c.name,options:c.options,storage:c.storage,editor:e},f=t.reduce((g,y)=>{let w=B(y,"extendMarkSchema",u);return{...g,...w?w(c):{}}},{}),h=Id({...f,inclusive:G(B(c,"inclusive",u)),excludes:G(B(c,"excludes",u)),group:G(B(c,"group",u)),spanning:G(B(c,"spanning",u)),code:G(B(c,"code",u)),attrs:Object.fromEntries(d.map(Pd))}),p=G(B(c,"parseHTML",u));p&&(h.parseDOM=p.map(g=>Dd(g,d)));let m=B(c,"renderHTML",u);return m&&(h.toDOM=g=>m({mark:g,HTMLAttributes:ao(g,d)})),[c.name,h]}));return new fn({topNode:s,nodes:l,marks:a})}function Dy(t){let e=t.filter((n,r)=>t.indexOf(n)!==r);return Array.from(new Set(e))}function Qs(t){return t.sort((n,r)=>{let o=B(n,"priority")||100,i=B(r,"priority")||100;return o>i?-1:or.name));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map(r=>`'${r}'`).join(", ")}]. This can lead to issues.`),e}function Jd(t,e,n){let{from:r,to:o}=e,{blockSeparator:i=` + +`,textSerializers:s={}}=n||{},l="";return t.nodesBetween(r,o,(a,c,d,u)=>{var f;a.isBlock&&c>r&&(l+=i);let h=s?.[a.type.name];if(h)return d&&(l+=h({node:a,pos:c,parent:d,index:u,range:e})),!1;a.isText&&(l+=(f=a?.text)==null?void 0:f.slice(Math.max(r,c)-c,o-c))}),l}function Iy(t,e){let n={from:0,to:t.content.size};return Jd(t,n,e)}function Gd(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}function Py(t,e){let n=ne(e,t.schema),{from:r,to:o}=t.selection,i=[];t.doc.nodesBetween(r,o,l=>{i.push(l)});let s=i.reverse().find(l=>l.type.name===n.name);return s?{...s.attrs}:{}}function Zs(t,e){let n=ho(typeof e=="string"?e:e.name,t.schema);return n==="node"?Py(t,e):n==="mark"?Wd(t,e):{}}function Ly(t,e=JSON.stringify){let n={};return t.filter(r=>{let o=e(r);return Object.prototype.hasOwnProperty.call(n,o)?!1:n[o]=!0})}function By(t){let e=Ly(t);return e.length===1?e:e.filter((n,r)=>!e.filter((i,s)=>s!==r).some(i=>n.oldRange.from>=i.oldRange.from&&n.oldRange.to<=i.oldRange.to&&n.newRange.from>=i.newRange.from&&n.newRange.to<=i.newRange.to))}function el(t){let{mapping:e,steps:n}=t,r=[];return e.maps.forEach((o,i)=>{let s=[];if(o.ranges.length)o.forEach((l,a)=>{s.push({from:l,to:a})});else{let{from:l,to:a}=n[i];if(l===void 0||a===void 0)return;s.push({from:l,to:a})}s.forEach(({from:l,to:a})=>{let c=e.slice(i).map(l,-1),d=e.slice(i).map(a),u=e.invert().map(c,-1),f=e.invert().map(d);r.push({oldRange:{from:u,to:f},newRange:{from:c,to:d}})})}),By(r)}function po(t,e,n){let r=[];return t===e?n.resolve(t).marks().forEach(o=>{let i=n.resolve(t),s=Ks(i,o.type);s&&r.push({mark:o,...s})}):n.nodesBetween(t,e,(o,i)=>{!o||o?.nodeSize===void 0||r.push(...o.marks.map(s=>({from:i,to:i+o.nodeSize,mark:s})))}),r}var Xd=(t,e,n,r=20)=>{let o=t.doc.resolve(n),i=r,s=null;for(;i>0&&s===null;){let l=o.node(i);l?.type.name===e?s=l:i-=1}return[s,i]};function $s(t,e){return e.nodes[t]||e.marks[t]||null}function so(t,e,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{let o=t.find(i=>i.type===e&&i.name===r);return o?o.attribute.keepOnSplit:!1}))}var zy=(t,e=500)=>{let n="",r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,(o,i,s,l)=>{var a,c;let d=((c=(a=o.type.spec).toText)==null?void 0:c.call(a,{node:o,pos:i,parent:s,index:l}))||o.textContent||"%leaf%";n+=o.isAtom&&!o.isText?d:d.slice(0,Math.max(0,r-i))}),n};function Ws(t,e,n={}){let{empty:r,ranges:o}=t.selection,i=e?wt(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter(u=>i?i.name===u.type.name:!0).find(u=>lo(u.attrs,n,{strict:!1}));let s=0,l=[];if(o.forEach(({$from:u,$to:f})=>{let h=u.pos,p=f.pos;t.doc.nodesBetween(h,p,(m,g)=>{if(!m.isText&&!m.marks.length)return;let y=Math.max(h,g),w=Math.min(p,g+m.nodeSize),b=w-y;s+=b,l.push(...m.marks.map(C=>({mark:C,from:y,to:w})))})}),s===0)return!1;let a=l.filter(u=>i?i.name===u.mark.type.name:!0).filter(u=>lo(u.mark.attrs,n,{strict:!1})).reduce((u,f)=>u+f.to-f.from,0),c=l.filter(u=>i?u.mark.type!==i&&u.mark.type.excludes(i):!0).reduce((u,f)=>u+f.to-f.from,0);return(a>0?a+c:a)>=s}function tl(t,e,n={}){if(!e)return Ze(t,null,n)||Ws(t,null,n);let r=ho(e,t.schema);return r==="node"?Ze(t,e,n):r==="mark"?Ws(t,e,n):!1}var Yd=(t,e)=>{let{$from:n,$to:r,$anchor:o}=t.selection;if(e){let i=et(l=>l.type.name===e)(t.selection);if(!i)return!1;let s=t.doc.resolve(i.pos+1);return o.pos+1===s.end()}return!(r.parentOffset{let{$from:e,$to:n}=t.selection;return!(e.parentOffset>0||e.pos!==n.pos)};function Ld(t,e){return Array.isArray(e)?e.some(n=>(typeof n=="string"?n:n.name)===t.name):e}function Bd(t,e){let{nodeExtensions:n}=An(e),r=n.find(s=>s.name===t);if(!r)return!1;let o={name:r.name,options:r.options,storage:r.storage},i=G(B(r,"group",o));return typeof i!="string"?!1:i.split(" ").includes("list")}function lr(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((r=t.text)!=null?r:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let o=!0;return t.content.forEach(i=>{o!==!1&&(lr(i,{ignoreWhitespace:n,checkChildren:e})||(o=!1))}),o}return!1}function mo(t){return t instanceof L}var Zd=class eu{constructor(e){this.position=e}static fromJSON(e){return new eu(e.position)}toJSON(){return{position:this.position}}};function Hy(t,e){let n=e.mapping.mapResult(t.position);return{position:new Zd(n.pos),mapResult:n}}function $y(t){return new Zd(t)}function tu(t,e,n){let o=t.state.doc.content.size,i=bt(e,0,o),s=bt(n,0,o),l=t.coordsAtPos(i),a=t.coordsAtPos(s,-1),c=Math.min(l.top,a.top),d=Math.max(l.bottom,a.bottom),u=Math.min(l.left,a.left),f=Math.max(l.right,a.right),h=f-u,p=d-c,y={top:c,bottom:d,left:u,right:f,width:h,height:p,x:u,y:c};return{...y,toJSON:()=>y}}function Fy(t,e,n){var r;let{selection:o}=e,i=null;if(fo(o)&&(i=o.$cursor),i){let l=(r=t.storedMarks)!=null?r:i.marks();return i.parent.type.allowsMarkType(n)&&(!!n.isInSet(l)||!l.some(c=>c.type.excludes(n)))}let{ranges:s}=o;return s.some(({$from:l,$to:a})=>{let c=l.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(l.pos,a.pos,(d,u,f)=>{if(c)return!1;if(d.isInline){let h=!f||f.type.allowsMarkType(n),p=!!n.isInSet(d.marks)||!d.marks.some(m=>m.type.excludes(n));c=h&&p}return!c}),c})}var Vy=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let{selection:i}=n,{empty:s,ranges:l}=i,a=wt(t,r.schema);if(o)if(s){let c=Wd(r,a);n.addStoredMark(a.create({...c,...e}))}else l.forEach(c=>{let d=c.$from.pos,u=c.$to.pos;r.doc.nodesBetween(d,u,(f,h)=>{let p=Math.max(h,d),m=Math.min(h+f.nodeSize,u);f.marks.find(y=>y.type===a)?f.marks.forEach(y=>{a===y.type&&n.addMark(p,m,a.create({...y.attrs,...e}))}):n.addMark(p,m,a.create(e))})});return Fy(r,n,a)},_y=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),Wy=(t,e={})=>({state:n,dispatch:r,chain:o})=>{let i=ne(t,n.schema),s;return n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),i.isTextblock?o().command(({commands:l})=>is(i,{...s,...e})(n)?!0:l.clearNodes()).command(({state:l})=>is(i,{...s,...e})(l,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},jy=t=>({tr:e,dispatch:n})=>{if(n){let{doc:r}=e,o=bt(t,0,r.content.size),i=L.create(r,o);e.setSelection(i)}return!0},Uy=(t,e)=>({tr:n,state:r,dispatch:o})=>{let{selection:i}=r,s,l;return typeof e=="number"?(s=e,l=e):e&&"from"in e&&"to"in e?(s=e.from,l=e.to):(s=i.from,l=i.to),o&&n.doc.nodesBetween(s,l,(a,c)=>{a.isText||n.setNodeMarkup(c,void 0,{...a.attrs,dir:t})}),!0},Ky=t=>({tr:e,dispatch:n})=>{if(n){let{doc:r}=e,{from:o,to:i}=typeof t=="number"?{from:t,to:t}:t,s=D.atStart(r).from,l=D.atEnd(r).to,a=bt(o,s,l),c=bt(i,s,l),d=D.create(r,a,c);e.setSelection(d)}return!0},qy=t=>({state:e,dispatch:n})=>{let r=ne(t,e.schema);return yc(r)(e,n)};function zd(t,e){let n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){let r=n.filter(o=>e?.includes(o.type.name));t.tr.ensureMarks(r)}}var Jy=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:o})=>{let{selection:i,doc:s}=e,{$from:l,$to:a}=i,c=o.extensionManager.attributes,d=so(c,l.node().type.name,l.node().attrs);if(i instanceof L&&i.node.isBlock)return!l.parentOffset||!Ee(s,l.pos)?!1:(r&&(t&&zd(n,o.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),!0);if(!l.parent.isBlock)return!1;let u=a.parentOffset===a.parent.content.size,f=l.depth===0?void 0:sr(l.node(-1).contentMatchAt(l.indexAfter(-1))),h=u&&f?[{type:f,attrs:d}]:void 0,p=Ee(e.doc,e.mapping.map(l.pos),1,h);if(!h&&!p&&Ee(e.doc,e.mapping.map(l.pos),1,f?[{type:f}]:void 0)&&(p=!0,h=f?[{type:f,attrs:d}]:void 0),r){if(p&&(i instanceof D&&e.deleteSelection(),e.split(e.mapping.map(l.pos),1,h),f&&!u&&!l.parentOffset&&l.parent.type!==f)){let m=e.mapping.map(l.before()),g=e.doc.resolve(m);l.node(-1).canReplaceWith(g.index(),g.index()+1,f)&&e.setNodeMarkup(e.mapping.map(l.before()),f)}t&&zd(n,o.extensionManager.splittableMarks),e.scrollIntoView()}return p},Gy=(t,e={})=>({tr:n,state:r,dispatch:o,editor:i})=>{var s;let l=ne(t,r.schema),{$from:a,$to:c}=r.selection,d=r.selection.node;if(d&&d.isBlock||a.depth<2||!a.sameParent(c))return!1;let u=a.node(-1);if(u.type!==l)return!1;let f=i.extensionManager.attributes;if(a.parent.content.size===0&&a.node(-1).childCount===a.indexAfter(-1)){if(a.depth===2||a.node(-3).type!==l||a.index(-2)!==a.node(-2).childCount-1)return!1;if(o){let y=v.empty,w=a.index(-1)?1:a.index(-2)?2:3;for(let O=a.depth-w;O>=a.depth-3;O-=1)y=v.from(a.node(O).copy(y));let b=a.indexAfter(-1){if(k>-1)return!1;O.isTextblock&&O.content.size===0&&(k=T+1)}),k>-1&&n.setSelection(D.near(n.doc.resolve(k))),n.scrollIntoView()}return!0}let h=c.pos===a.end()?u.contentMatchAt(0).defaultType:null,p={...so(f,u.type.name,u.attrs),...e},m={...so(f,a.node().type.name,a.node().attrs),...e};n.delete(a.pos,c.pos);let g=h?[{type:l,attrs:p},{type:h,attrs:m}]:[{type:l,attrs:p}];if(!Ee(n.doc,a.pos,2))return!1;if(o){let{selection:y,storedMarks:w}=r,{splittableMarks:b}=i.extensionManager,C=w||y.$to.parentOffset&&y.$from.marks();if(n.split(a.pos,2,g).scrollIntoView(),!C||!o)return!0;let x=C.filter(S=>b.includes(S.type.name));n.ensureMarks(x)}return!0},Fs=(t,e)=>{let n=et(s=>s.type===e)(t.selection);if(!n)return!0;let r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let o=t.doc.nodeAt(r);return n.node.type===o?.type&&Re(t.doc,n.pos)&&t.join(n.pos),!0},Vs=(t,e)=>{let n=et(s=>s.type===e)(t.selection);if(!n)return!0;let r=t.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let o=t.doc.nodeAt(r);return n.node.type===o?.type&&Re(t.doc,r)&&t.join(r),!0},Xy=(t,e,n,r={})=>({editor:o,tr:i,state:s,dispatch:l,chain:a,commands:c,can:d})=>{let{extensions:u,splittableMarks:f}=o.extensionManager,h=ne(t,s.schema),p=ne(e,s.schema),{selection:m,storedMarks:g}=s,{$from:y,$to:w}=m,b=y.blockRange(w),C=g||m.$to.parentOffset&&m.$from.marks();if(!b)return!1;let x=et(S=>Bd(S.type.name,u))(m);if(b.depth>=1&&x&&b.depth-x.depth<=1){if(x.node.type===h)return c.liftListItem(p);if(Bd(x.node.type.name,u)&&h.validContent(x.node.content)&&l)return a().command(()=>(i.setNodeMarkup(x.pos,h),!0)).command(()=>Fs(i,h)).command(()=>Vs(i,h)).run()}return!n||!C||!l?a().command(()=>d().wrapInList(h,r)?!0:c.clearNodes()).wrapInList(h,r).command(()=>Fs(i,h)).command(()=>Vs(i,h)).run():a().command(()=>{let S=d().wrapInList(h,r),k=C.filter(O=>f.includes(O.type.name));return i.ensureMarks(k),S?!0:c.clearNodes()}).wrapInList(h,r).command(()=>Fs(i,h)).command(()=>Vs(i,h)).run()},Yy=(t,e={},n={})=>({state:r,commands:o})=>{let{extendEmptyMarkRange:i=!1}=n,s=wt(t,r.schema);return Ws(r,s,e)?o.unsetMark(s,{extendEmptyMarkRange:i}):o.setMark(s,e)},Qy=(t,e,n={})=>({state:r,commands:o})=>{let i=ne(t,r.schema),s=ne(e,r.schema),l=Ze(r,i,n),a;return r.selection.$anchor.sameParent(r.selection.$head)&&(a=r.selection.$anchor.parent.attrs),l?o.setNode(s,a):o.setNode(i,{...a,...n})},Zy=(t,e={})=>({state:n,commands:r})=>{let o=ne(t,n.schema);return Ze(n,o,e)?r.lift(o):r.wrapIn(o,e)},eb=()=>({state:t,dispatch:e})=>{let n=t.plugins;for(let r=0;r=0;a-=1)s.step(l.steps[a].invert(l.docs[a]));if(i.text){let a=s.doc.resolve(i.from).marks();s.replaceWith(i.from,i.to,t.schema.text(i.text,a))}else s.delete(i.from,i.to)}return!0}}return!1},tb=()=>({tr:t,dispatch:e})=>{let{selection:n}=t,{empty:r,ranges:o}=n;return r||e&&o.forEach(i=>{t.removeMark(i.$from.pos,i.$to.pos)}),!0},nb=(t,e={})=>({tr:n,state:r,dispatch:o})=>{var i;let{extendEmptyMarkRange:s=!1}=e,{selection:l}=n,a=wt(t,r.schema),{$from:c,empty:d,ranges:u}=l;if(!o)return!0;if(d&&s){let{from:f,to:h}=l,p=(i=c.marks().find(g=>g.type===a))==null?void 0:i.attrs,m=Ks(c,a,p);m&&(f=m.from,h=m.to),n.removeMark(f,h,a)}else u.forEach(f=>{n.removeMark(f.$from.pos,f.$to.pos,a)});return n.removeStoredMark(a),!0},rb=t=>({tr:e,state:n,dispatch:r})=>{let{selection:o}=n,i,s;return typeof t=="number"?(i=t,s=t):t&&"from"in t&&"to"in t?(i=t.from,s=t.to):(i=o.from,s=o.to),r&&e.doc.nodesBetween(i,s,(l,a)=>{if(l.isText)return;let c={...l.attrs};delete c.dir,e.setNodeMarkup(a,void 0,c)}),!0},ob=(t,e={})=>({tr:n,state:r,dispatch:o})=>{let i=null,s=null,l=ho(typeof t=="string"?t:t.name,r.schema);if(!l)return!1;l==="node"&&(i=ne(t,r.schema)),l==="mark"&&(s=wt(t,r.schema));let a=!1;return n.selection.ranges.forEach(c=>{let d=c.$from.pos,u=c.$to.pos,f,h,p,m;n.selection.empty?r.doc.nodesBetween(d,u,(g,y)=>{i&&i===g.type&&(a=!0,p=Math.max(y,d),m=Math.min(y+g.nodeSize,u),f=y,h=g)}):r.doc.nodesBetween(d,u,(g,y)=>{y=d&&y<=u&&(i&&i===g.type&&(a=!0,o&&n.setNodeMarkup(y,void 0,{...g.attrs,...e})),s&&g.marks.length&&g.marks.forEach(w=>{if(s===w.type&&(a=!0,o)){let b=Math.max(y,d),C=Math.min(y+g.nodeSize,u);n.addMark(b,C,s.create({...w.attrs,...e}))}}))}),h&&(f!==void 0&&o&&n.setNodeMarkup(f,void 0,{...h.attrs,...e}),s&&h.marks.length&&h.marks.forEach(g=>{s===g.type&&o&&n.addMark(p,m,s.create({...g.attrs,...e}))}))}),a},ib=(t,e={})=>({state:n,dispatch:r})=>{let o=ne(t,n.schema);return pc(o,e)(n,r)},sb=(t,e={})=>({state:n,dispatch:r})=>{let o=ne(t,n.schema);return mc(o,e)(n,r)},lb=class{constructor(){this.callbacks={}}on(t,e){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(e),this}emit(t,...e){let n=this.callbacks[t];return n&&n.forEach(r=>r.apply(this,e)),this}off(t,e){let n=this.callbacks[t];return n&&(e?this.callbacks[t]=n.filter(r=>r!==e):delete this.callbacks[t]),this}once(t,e){let n=(...r)=>{this.off(t,n),e.apply(this,r)};return this.on(t,n)}removeAllListeners(){this.callbacks={}}},go=class{constructor(t){var e;this.find=t.find,this.handler=t.handler,this.undoable=(e=t.undoable)!=null?e:!0}},ab=(t,e)=>{if(Us(e))return e.exec(t);let n=e(t);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function ro(t){var e;let{editor:n,from:r,to:o,text:i,rules:s,plugin:l}=t,{view:a}=n;if(a.composing)return!1;let c=a.state.doc.resolve(r);if(c.parent.type.spec.code||(e=c.nodeBefore||c.nodeAfter)!=null&&e.marks.find(f=>f.type.spec.code))return!1;let d=!1,u=zy(c)+i;return s.forEach(f=>{if(d)return;let h=ab(u,f.find);if(!h)return;let p=a.state.tr,m=co({state:a.state,transaction:p}),g={from:r-(h[0].length-i.length),to:o},{commands:y,chain:w,can:b}=new uo({editor:n,state:m});f.handler({state:m,range:g,match:h,commands:y,chain:w,can:b})===null||!p.steps.length||(f.undoable&&p.setMeta(l,{transform:p,from:r,to:o,text:i}),a.dispatch(p),d=!0)}),d}function cb(t){let{editor:e,rules:n}=t,r=new P({state:{init(){return null},apply(o,i,s){let l=o.getMeta(r);if(l)return l;let a=o.getMeta("applyInputRules");return!!a&&setTimeout(()=>{let{text:d}=a;typeof d=="string"?d=d:d=Ys(v.from(d),s.schema);let{from:u}=a,f=u+d.length;ro({editor:e,from:u,to:f,text:d,rules:n,plugin:r})}),o.selectionSet||o.docChanged?null:i}},props:{handleTextInput(o,i,s,l){return ro({editor:e,from:i,to:s,text:l,rules:n,plugin:r})},handleDOMEvents:{compositionend:o=>(setTimeout(()=>{let{$cursor:i}=o.state.selection;i&&ro({editor:e,from:i.pos,to:i.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(o,i){if(i.key!=="Enter")return!1;let{$cursor:s}=o.state.selection;return s?ro({editor:e,from:s.pos,to:s.pos,text:` +`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function db(t){return Object.prototype.toString.call(t).slice(8,-1)}function oo(t){return db(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function nu(t,e){let n={...t};return oo(t)&&oo(e)&&Object.keys(e).forEach(r=>{oo(e[r])&&oo(t[r])?n[r]=nu(t[r],e[r]):n[r]=e[r]}),n}var nl=class{constructor(t={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...t},this.name=this.config.name}get options(){return{...G(B(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...G(B(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(t={}){let e=this.extend({...this.config,addOptions:()=>nu(this.options,t)});return e.name=this.name,e.parent=this.parent,e}extend(t={}){let e=new this.constructor({...this.config,...t});return e.parent=this,this.child=e,e.name="name"in t?t.name:e.parent.name,e}},ee=class ru extends nl{constructor(){super(...arguments),this.type="mark"}static create(e={}){let n=typeof e=="function"?e():e;return new ru(n)}static handleExit({editor:e,mark:n}){let{tr:r}=e.state,o=e.state.selection.$from;if(o.pos===o.end()){let s=o.marks();if(!!!s.find(c=>c?.type.name===n.name))return!1;let a=s.find(c=>c?.type.name===n.name);return a&&r.removeStoredMark(a),r.insertText(" ",o.pos),e.view.dispatch(r),!0}return!1}configure(e){return super.configure(e)}extend(e){let n=typeof e=="function"?e():e;return super.extend(n)}};function ub(t){return typeof t=="number"}var fb=class{constructor(t){this.find=t.find,this.handler=t.handler}},hb=(t,e,n)=>{if(Us(e))return[...t.matchAll(e)];let r=e(t,n);return r?r.map(o=>{let i=[o.text];return i.index=o.index,i.input=t,i.data=o.data,o.replaceWith&&(o.text.includes(o.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),i.push(o.replaceWith)),i}):[]};function pb(t){let{editor:e,state:n,from:r,to:o,rule:i,pasteEvent:s,dropEvent:l}=t,{commands:a,chain:c,can:d}=new uo({editor:e,state:n}),u=[];return n.doc.nodesBetween(r,o,(h,p)=>{var m,g,y,w,b;if((g=(m=h.type)==null?void 0:m.spec)!=null&&g.code||!(h.isText||h.isTextblock||h.isInline))return;let C=(b=(w=(y=h.content)==null?void 0:y.size)!=null?w:h.nodeSize)!=null?b:0,x=Math.max(r,p),S=Math.min(o,p+C);if(x>=S)return;let k=h.isText?h.text||"":h.textBetween(x-p,S-p,void 0,"\uFFFC");hb(k,i.find,s).forEach(T=>{if(T.index===void 0)return;let A=x+T.index+1,$=A+T[0].length,z={from:n.tr.mapping.map(A),to:n.tr.mapping.map($)},K=i.handler({state:n,range:z,match:T,commands:a,chain:c,can:d,pasteEvent:s,dropEvent:l});u.push(K)})}),u.every(h=>h!==null)}var io=null,mb=t=>{var e;let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=n.clipboardData)==null||e.setData("text/html",t),n};function gb(t){let{editor:e,rules:n}=t,r=null,o=!1,i=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,l;try{l=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{l=null}let a=({state:d,from:u,to:f,rule:h,pasteEvt:p})=>{let m=d.tr,g=co({state:d,transaction:m});if(!(!pb({editor:e,state:g,from:Math.max(u-1,0),to:f.b-1,rule:h,pasteEvent:p,dropEvent:l})||!m.steps.length)){try{l=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{l=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,m}};return n.map(d=>new P({view(u){let f=p=>{var m;r=(m=u.dom.parentElement)!=null&&m.contains(p.target)?u.dom.parentElement:null,r&&(io=e)},h=()=>{io&&(io=null)};return window.addEventListener("dragstart",f),window.addEventListener("dragend",h),{destroy(){window.removeEventListener("dragstart",f),window.removeEventListener("dragend",h)}}},props:{handleDOMEvents:{drop:(u,f)=>{if(i=r===u.dom.parentElement,l=f,!i){let h=io;h?.isEditable&&setTimeout(()=>{let p=h.state.selection;p&&h.commands.deleteRange({from:p.from,to:p.to})},10)}return!1},paste:(u,f)=>{var h;let p=(h=f.clipboardData)==null?void 0:h.getData("text/html");return s=f,o=!!p?.includes("data-pm-slice"),!1}}},appendTransaction:(u,f,h)=>{let p=u[0],m=p.getMeta("uiEvent")==="paste"&&!o,g=p.getMeta("uiEvent")==="drop"&&!i,y=p.getMeta("applyPasteRules"),w=!!y;if(!m&&!g&&!w)return;if(w){let{text:x}=y;typeof x=="string"?x=x:x=Ys(v.from(x),h.schema);let{from:S}=y,k=S+x.length,O=mb(x);return a({rule:d,state:h,from:S,to:{b:k},pasteEvt:O})}let b=f.doc.content.findDiffStart(h.doc.content),C=f.doc.content.findDiffEnd(h.doc.content);if(!(!ub(b)||!C||b===C.b))return a({rule:d,state:h,from:b,to:C,pasteEvt:s})}}))}var yo=class{constructor(t,e){this.splittableMarks=[],this.editor=e,this.baseExtensions=t,this.extensions=qd(t),this.schema=Ry(this.extensions,e),this.setupExtensions()}get commands(){return this.extensions.reduce((t,e)=>{let n={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:$s(e.name,this.schema)},r=B(e,"addCommands",n);return r?{...t,...r()}:t},{})}get plugins(){let{editor:t}=this;return Qs([...this.extensions].reverse()).flatMap(r=>{let o={name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:t,type:$s(r.name,this.schema)},i=[],s=B(r,"addKeyboardShortcuts",o),l={};if(r.type==="mark"&&B(r,"exitable",o)&&(l.ArrowRight=()=>ee.handleExit({editor:t,mark:r})),s){let f=Object.fromEntries(Object.entries(s()).map(([h,p])=>[h,()=>p({editor:t})]));l={...l,...f}}let a=Nd(l);i.push(a);let c=B(r,"addInputRules",o);if(Ld(r,t.options.enableInputRules)&&c){let f=c();if(f&&f.length){let h=cb({editor:t,rules:f}),p=Array.isArray(h)?h:[h];i.push(...p)}}let d=B(r,"addPasteRules",o);if(Ld(r,t.options.enablePasteRules)&&d){let f=d();if(f&&f.length){let h=gb({editor:t,rules:f});i.push(...h)}}let u=B(r,"addProseMirrorPlugins",o);if(u){let f=u();i.push(...f)}return i})}get attributes(){return Kd(this.extensions)}get nodeViews(){let{editor:t}=this,{nodeExtensions:e}=An(this.extensions);return Object.fromEntries(e.filter(n=>!!B(n,"addNodeView")).map(n=>{let r=this.attributes.filter(a=>a.type===n.name),o={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:ne(n.name,this.schema)},i=B(n,"addNodeView",o);if(!i)return[];let s=i();if(!s)return[];let l=(a,c,d,u,f)=>{let h=ao(a,r);return s({node:a,view:c,getPos:d,decorations:u,innerDecorations:f,editor:t,extension:n,HTMLAttributes:h})};return[n.name,l]}))}get markViews(){let{editor:t}=this,{markExtensions:e}=An(this.extensions);return Object.fromEntries(e.filter(n=>!!B(n,"addMarkView")).map(n=>{let r=this.attributes.filter(l=>l.type===n.name),o={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:wt(n.name,this.schema)},i=B(n,"addMarkView",o);if(!i)return[];let s=(l,a,c)=>{let d=ao(l,r);return i()({mark:l,view:a,inline:c,editor:t,extension:n,HTMLAttributes:d,updateAttributes:u=>{Ab(l,t,u)}})};return[n.name,s]}))}setupExtensions(){let t=this.extensions;this.editor.extensionStorage=Object.fromEntries(t.map(e=>[e.name,e.storage])),t.forEach(e=>{var n;let r={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:$s(e.name,this.schema)};e.type==="mark"&&((n=G(B(e,"keepOnSplit",r)))==null||n)&&this.splittableMarks.push(e.name);let o=B(e,"onBeforeCreate",r),i=B(e,"onCreate",r),s=B(e,"onUpdate",r),l=B(e,"onSelectionUpdate",r),a=B(e,"onTransaction",r),c=B(e,"onFocus",r),d=B(e,"onBlur",r),u=B(e,"onDestroy",r);o&&this.editor.on("beforeCreate",o),i&&this.editor.on("create",i),s&&this.editor.on("update",s),l&&this.editor.on("selectionUpdate",l),a&&this.editor.on("transaction",a),c&&this.editor.on("focus",c),d&&this.editor.on("blur",d),u&&this.editor.on("destroy",u)})}};yo.resolve=qd;yo.sort=Qs;yo.flatten=Xs;var yb={};js(yb,{ClipboardTextSerializer:()=>iu,Commands:()=>su,Delete:()=>lu,Drop:()=>au,Editable:()=>cu,FocusEvents:()=>uu,Keymap:()=>fu,Paste:()=>hu,Tabindex:()=>pu,TextDirection:()=>mu,focusEventsPluginKey:()=>du});var U=class ou extends nl{constructor(){super(...arguments),this.type="extension"}static create(e={}){let n=typeof e=="function"?e():e;return new ou(n)}configure(e){return super.configure(e)}extend(e){let n=typeof e=="function"?e():e;return super.extend(n)}},iu=U.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new P({key:new H("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:o}=e,{ranges:i}=o,s=Math.min(...i.map(d=>d.$from.pos)),l=Math.max(...i.map(d=>d.$to.pos)),a=Gd(n);return Jd(r,{from:s,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:a})}}})]}}),su=U.create({name:"commands",addCommands(){return{...Hd}}}),lu=U.create({name:"delete",onUpdate({transaction:t,appendedTransactions:e}){var n,r,o;let i=()=>{var s,l,a,c;if((c=(a=(l=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:l.filterTransaction)==null?void 0:a.call(l,t))!=null?c:t.getMeta("y-sync$"))return;let d=Js(t.before,[t,...e]);el(d).forEach(h=>{d.mapping.mapResult(h.oldRange.from).deletedAfter&&d.mapping.mapResult(h.oldRange.to).deletedBefore&&d.before.nodesBetween(h.oldRange.from,h.oldRange.to,(p,m)=>{let g=m+p.nodeSize-2,y=h.oldRange.from<=m&&g<=h.oldRange.to;this.editor.emit("delete",{type:"node",node:p,from:m,to:g,newFrom:d.mapping.map(m),newTo:d.mapping.map(g),deletedRange:h.oldRange,newRange:h.newRange,partial:!y,editor:this.editor,transaction:t,combinedTransform:d})})});let f=d.mapping;d.steps.forEach((h,p)=>{var m,g;if(h instanceof ut){let y=f.slice(p).map(h.from,-1),w=f.slice(p).map(h.to),b=f.invert().map(y,-1),C=f.invert().map(w),x=(m=d.doc.nodeAt(y-1))==null?void 0:m.marks.some(k=>k.eq(h.mark)),S=(g=d.doc.nodeAt(w))==null?void 0:g.marks.some(k=>k.eq(h.mark));this.editor.emit("delete",{type:"mark",mark:h.mark,from:h.from,to:h.to,deletedRange:{from:b,to:C},newRange:{from:y,to:w},partial:!!(S||x),editor:this.editor,transaction:t,combinedTransform:d})}})};(o=(r=(n=this.editor.options.coreExtensionOptions)==null?void 0:n.delete)==null?void 0:r.async)==null||o?setTimeout(i,0):i()}}),au=U.create({name:"drop",addProseMirrorPlugins(){return[new P({key:new H("tiptapDrop"),props:{handleDrop:(t,e,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:r})}}})]}}),cu=U.create({name:"editable",addProseMirrorPlugins(){return[new P({key:new H("editable"),props:{editable:()=>this.editor.options.editable}})]}}),du=new H("focusEvents"),uu=U.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:t}=this;return[new P({key:du,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;let r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;let r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),fu=U.create({name:"keymap",addKeyboardShortcuts(){let t=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:l})=>{let{selection:a,doc:c}=l,{empty:d,$anchor:u}=a,{pos:f,parent:h}=u,p=u.parent.isTextblock&&f>0?l.doc.resolve(f-1):u,m=p.parent.type.spec.isolating,g=u.pos-u.parentOffset,y=m&&p.parent.childCount===1?g===u.pos:I.atStart(c).from===f;return!d||!h.type.isTextblock||h.textContent.length||!y||y&&u.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},o={...r},i={...r,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return qs()||_d()?i:o},addProseMirrorPlugins(){return[new P({key:new H("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(m=>m.getMeta("composition")))return;let r=t.some(m=>m.docChanged)&&!e.doc.eq(n.doc),o=t.some(m=>m.getMeta("preventClearDocument"));if(!r||o)return;let{empty:i,from:s,to:l}=e.selection,a=I.atStart(e.doc).from,c=I.atEnd(e.doc).to;if(i||!(s===a&&l===c)||!lr(n.doc))return;let f=n.tr,h=co({state:n,transaction:f}),{commands:p}=new uo({editor:this.editor,state:h});if(p.clearNodes(),!!f.steps.length)return f}})]}}),hu=U.create({name:"paste",addProseMirrorPlugins(){return[new P({key:new H("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}}),pu=U.create({name:"tabindex",addProseMirrorPlugins(){return[new P({key:new H("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),mu=U.create({name:"textDirection",addOptions(){return{direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return[];let{nodeExtensions:t}=An(this.extensions);return[{types:t.filter(e=>e.name!=="text").map(e=>e.name),attributes:{dir:{default:this.options.direction,parseHTML:e=>{let n=e.getAttribute("dir");return n&&(n==="ltr"||n==="rtl"||n==="auto")?n:this.options.direction},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new P({key:new H("textDirection"),props:{attributes:()=>{let t=this.options.direction;return t?{dir:t}:{}}}})]}}),bb=class Tn{constructor(e,n,r=!1,o=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=e,this.editor=n,this.currentNode=o}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!=null?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;let e=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(e);return new Tn(n,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new Tn(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new Tn(e,this.editor)}get children(){let e=[];return this.node.content.forEach((n,r)=>{let o=n.isBlock&&!n.isTextblock,i=n.isAtom&&!n.isText,s=this.pos+r+(i?0:1);if(s<0||s>this.resolvedPos.doc.nodeSize-2)return;let l=this.resolvedPos.doc.resolve(s);if(!o&&l.depth<=this.depth)return;let a=new Tn(l,this.editor,o,o?n:null);o&&(a.actualDepth=this.depth+1),e.push(new Tn(l,this.editor,o,o?n:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){let e=this.children;return e[e.length-1]||null}closest(e,n={}){let r=null,o=this.parent;for(;o&&!r;){if(o.node.type.name===e)if(Object.keys(n).length>0){let i=o.node.attrs,s=Object.keys(n);for(let l=0;l{r&&o.length>0||(s.node.type.name===e&&i.every(a=>n[a]===s.node.attrs[a])&&o.push(s),!(r&&o.length>0)&&(o=o.concat(s.querySelectorAll(e,n,r))))}),o}setAttribute(e){let{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(n)}},wb=`.ProseMirror { + position: relative; } -%t { - white-space: nowrap; +.ProseMirror { + word-wrap: break-word; + white-space: pre-wrap; + white-space: break-spaces; + -webkit-font-variant-ligatures: none; + font-variant-ligatures: none; + font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */ } -%t [data-trix-dialog] { - display: none; +.ProseMirror [contenteditable="false"] { + white-space: normal; } -%t [data-trix-dialog][data-trix-active] { - display: block; +.ProseMirror [contenteditable="false"] [contenteditable="true"] { + white-space: pre-wrap; } -%t [data-trix-dialog] [data-trix-validate]:invalid { - background-color: #ffdddd; -}`,initialize:function(){return this.innerHTML===""?this.innerHTML=g.config.toolbar.getDefaultHTML():void 0}})}.call(this),function(){var x=function(h,o){function e(){this.constructor=h}for(var a in o)b.call(o,a)&&(h[a]=o[a]);return e.prototype=o.prototype,h.prototype=new e,h.__super__=o.prototype,h},b={}.hasOwnProperty,y=[].indexOf||function(h){for(var o=0,e=this.length;e>o;o++)if(o in this&&this[o]===h)return o;return-1};g.ObjectView=function(h){function o(e,a){this.object=e,this.options=a??{},this.childViews=[],this.rootView=this}return x(o,h),o.prototype.getNodes=function(){var e,a,d,i,u;for(this.nodes==null&&(this.nodes=this.createNodes()),i=this.nodes,u=[],e=0,a=i.length;a>e;e++)d=i[e],u.push(d.cloneNode(!0));return u},o.prototype.invalidate=function(){var e;return this.nodes=null,this.childViews=[],(e=this.parentView)!=null?e.invalidate():void 0},o.prototype.invalidateViewForObject=function(e){var a;return(a=this.findViewForObject(e))!=null?a.invalidate():void 0},o.prototype.findOrCreateCachedChildView=function(e,a){var d;return(d=this.getCachedViewForObject(a))?this.recordChildView(d):(d=this.createChildView.apply(this,arguments),this.cacheViewForObject(d,a)),d},o.prototype.createChildView=function(e,a,d){var i;return d==null&&(d={}),a instanceof g.ObjectGroup&&(d.viewClass=e,e=g.ObjectGroupView),i=new e(a,d),this.recordChildView(i)},o.prototype.recordChildView=function(e){return e.parentView=this,e.rootView=this.rootView,this.childViews.push(e),e},o.prototype.getAllChildViews=function(){var e,a,d,i,u;for(u=[],i=this.childViews,a=0,d=i.length;d>a;a++)e=i[a],u.push(e),u=u.concat(e.getAllChildViews());return u},o.prototype.findElement=function(){return this.findElementForObject(this.object)},o.prototype.findElementForObject=function(e){var a;return(a=e?.id)?this.rootView.element.querySelector("[data-trix-id='"+a+"']"):void 0},o.prototype.findViewForObject=function(e){var a,d,i,u;for(i=this.getAllChildViews(),a=0,d=i.length;d>a;a++)if(u=i[a],u.object===e)return u},o.prototype.getViewCache=function(){return this.rootView!==this?this.rootView.getViewCache():this.isViewCachingEnabled()?this.viewCache!=null?this.viewCache:this.viewCache={}:void 0},o.prototype.isViewCachingEnabled=function(){return this.shouldCacheViews!==!1},o.prototype.enableViewCaching=function(){return this.shouldCacheViews=!0},o.prototype.disableViewCaching=function(){return this.shouldCacheViews=!1},o.prototype.getCachedViewForObject=function(e){var a;return(a=this.getViewCache())!=null?a[e.getCacheKey()]:void 0},o.prototype.cacheViewForObject=function(e,a){var d;return(d=this.getViewCache())!=null?d[a.getCacheKey()]=e:void 0},o.prototype.garbageCollectCachedViews=function(){var e,a,d,i,u,s;if(e=this.getViewCache()){s=this.getAllChildViews().concat(this),d=function(){var n,p,c;for(c=[],n=0,p=s.length;p>n;n++)u=s[n],c.push(u.object.getCacheKey());return c}(),i=[];for(a in e)y.call(d,a)<0&&i.push(delete e[a]);return i}},o}(g.BasicObject)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.ObjectGroupView=function(y){function h(){h.__super__.constructor.apply(this,arguments),this.objectGroup=this.object,this.viewClass=this.options.viewClass,delete this.options.viewClass}return x(h,y),h.prototype.getChildViews=function(){var o,e,a,d;if(!this.childViews.length)for(d=this.objectGroup.getObjects(),o=0,e=d.length;e>o;o++)a=d[o],this.findOrCreateCachedChildView(this.viewClass,a,this.options);return this.childViews},h.prototype.createNodes=function(){var o,e,a,d,i,u,s,n,p;for(o=this.createContainerElement(),s=this.getChildViews(),e=0,d=s.length;d>e;e++)for(p=s[e],n=p.getNodes(),a=0,i=n.length;i>a;a++)u=n[a],o.appendChild(u);return[o]},h.prototype.createContainerElement=function(o){return o==null&&(o=this.objectGroup.getDepth()),this.getChildViews()[0].createContainerElement(o)},h}(g.ObjectView)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.Controller=function(y){function h(){return h.__super__.constructor.apply(this,arguments)}return x(h,y),h}(g.BasicObject)}.call(this),function(){var x,b,y,h,o,e,a=function(s,n){return function(){return s.apply(n,arguments)}},d=function(s,n){function p(){this.constructor=s}for(var c in n)i.call(n,c)&&(s[c]=n[c]);return p.prototype=n.prototype,s.prototype=new p,s.__super__=n.prototype,s},i={}.hasOwnProperty,u=[].indexOf||function(s){for(var n=0,p=this.length;p>n;n++)if(n in this&&this[n]===s)return n;return-1};x=g.findClosestElementFromNode,y=g.nodeIsEmptyTextNode,b=g.nodeIsBlockStartComment,h=g.normalizeSpaces,o=g.summarizeStringChange,e=g.tagName,g.MutationObserver=function(s){function n(r){this.element=r,this.didMutate=a(this.didMutate,this),this.observer=new window.MutationObserver(this.didMutate),this.start()}var p,c,v,t;return d(n,s),c="data-trix-mutable",v="["+c+"]",t={attributes:!0,childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},n.prototype.start=function(){return this.reset(),this.observer.observe(this.element,t)},n.prototype.stop=function(){return this.observer.disconnect()},n.prototype.didMutate=function(r){var l,A;return(l=this.mutations).push.apply(l,this.findSignificantMutations(r)),this.mutations.length?((A=this.delegate)!=null&&typeof A.elementDidMutate=="function"&&A.elementDidMutate(this.getMutationSummary()),this.reset()):void 0},n.prototype.reset=function(){return this.mutations=[]},n.prototype.findSignificantMutations=function(r){var l,A,f,m;for(m=[],l=0,A=r.length;A>l;l++)f=r[l],this.mutationIsSignificant(f)&&m.push(f);return m},n.prototype.mutationIsSignificant=function(r){var l,A,f,m;if(this.nodeIsMutable(r.target))return!1;for(m=this.nodesModifiedByMutation(r),l=0,A=m.length;A>l;l++)if(f=m[l],this.nodeIsSignificant(f))return!0;return!1},n.prototype.nodeIsSignificant=function(r){return r!==this.element&&!this.nodeIsMutable(r)&&!y(r)},n.prototype.nodeIsMutable=function(r){return x(r,{matchingSelector:v})},n.prototype.nodesModifiedByMutation=function(r){var l;switch(l=[],r.type){case"attributes":r.attributeName!==c&&l.push(r.target);break;case"characterData":l.push(r.target.parentNode),l.push(r.target);break;case"childList":l.push.apply(l,r.addedNodes),l.push.apply(l,r.removedNodes)}return l},n.prototype.getMutationSummary=function(){return this.getTextMutationSummary()},n.prototype.getTextMutationSummary=function(){var r,l,A,f,m,C,S,L,O,D,R;for(L=this.getTextChangesFromCharacterData(),A=L.additions,m=L.deletions,R=this.getTextChangesFromChildList(),O=R.additions,C=0,S=O.length;S>C;C++)l=O[C],u.call(A,l)<0&&A.push(l);return m.push.apply(m,R.deletions),D={},(r=A.join(""))&&(D.textAdded=r),(f=m.join(""))&&(D.textDeleted=f),D},n.prototype.getMutationsByType=function(r){var l,A,f,m,C;for(m=this.mutations,C=[],l=0,A=m.length;A>l;l++)f=m[l],f.type===r&&C.push(f);return C},n.prototype.getTextChangesFromChildList=function(){var r,l,A,f,m,C,S,L,O,D,R;for(r=[],S=[],C=this.getMutationsByType("childList"),l=0,f=C.length;f>l;l++)m=C[l],r.push.apply(r,m.addedNodes),S.push.apply(S,m.removedNodes);return L=r.length===0&&S.length===1&&b(S[0]),L?(D=[],R=[` -`]):(D=p(r),R=p(S)),{additions:function(){var E,w,k;for(k=[],A=E=0,w=D.length;w>E;A=++E)O=D[A],O!==R[A]&&k.push(h(O));return k}(),deletions:function(){var E,w,k;for(k=[],A=E=0,w=R.length;w>E;A=++E)O=R[A],O!==D[A]&&k.push(h(O));return k}()}},n.prototype.getTextChangesFromCharacterData=function(){var r,l,A,f,m,C,S,L;return l=this.getMutationsByType("characterData"),l.length&&(L=l[0],A=l[l.length-1],m=h(L.oldValue),f=h(A.target.data),C=o(m,f),r=C.added,S=C.removed),{additions:r?[r]:[],deletions:S?[S]:[]}},p=function(r){var l,A,f,m;for(r==null&&(r=[]),m=[],l=0,A=r.length;A>l;l++)switch(f=r[l],f.nodeType){case Node.TEXT_NODE:m.push(f.data);break;case Node.ELEMENT_NODE:e(f)==="br"?m.push(` -`):m.push.apply(m,p(f.childNodes))}return m},n}(g.BasicObject)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.FileVerificationOperation=function(y){function h(o){this.file=o}return x(h,y),h.prototype.perform=function(o){var e;return e=new FileReader,e.onerror=function(){return o(!1)},e.onload=function(a){return function(){e.onerror=null;try{e.abort()}catch{}return o(!0,a.file)}}(this),e.readAsArrayBuffer(this.file)},h}(g.Operation)}.call(this),function(){var x,b,y=function(o,e){function a(){this.constructor=o}for(var d in e)h.call(e,d)&&(o[d]=e[d]);return a.prototype=e.prototype,o.prototype=new a,o.__super__=e.prototype,o},h={}.hasOwnProperty;x=g.handleEvent,b=g.innerElementIsActive,g.InputController=function(o){function e(a){var d;this.element=a,this.mutationObserver=new g.MutationObserver(this.element),this.mutationObserver.delegate=this;for(d in this.events)x(d,{onElement:this.element,withCallback:this.handlerFor(d)})}return y(e,o),e.prototype.events={},e.prototype.elementDidMutate=function(){},e.prototype.editorWillSyncDocumentView=function(){return this.mutationObserver.stop()},e.prototype.editorDidSyncDocumentView=function(){return this.mutationObserver.start()},e.prototype.requestRender=function(){var a;return(a=this.delegate)!=null&&typeof a.inputControllerDidRequestRender=="function"?a.inputControllerDidRequestRender():void 0},e.prototype.requestReparse=function(){var a;return(a=this.delegate)!=null&&typeof a.inputControllerDidRequestReparse=="function"&&a.inputControllerDidRequestReparse(),this.requestRender()},e.prototype.attachFiles=function(a){var d,i;return i=function(){var u,s,n;for(n=[],u=0,s=a.length;s>u;u++)d=a[u],n.push(new g.FileVerificationOperation(d));return n}(),Promise.all(i).then(function(u){return function(s){return u.handleInput(function(){var n,p;return(n=this.delegate)!=null&&n.inputControllerWillAttachFiles(),(p=this.responder)!=null&&p.insertFiles(s),this.requestRender()})}}(this))},e.prototype.handlerFor=function(a){return function(d){return function(i){return i.defaultPrevented?void 0:d.handleInput(function(){return b(this.element)?void 0:(this.eventName=a,this.events[a].call(this,i))})}}(this)},e.prototype.handleInput=function(a){var d,i;try{return(d=this.delegate)!=null&&d.inputControllerWillHandleInput(),a.call(this)}finally{(i=this.delegate)!=null&&i.inputControllerDidHandleInput()}},e.prototype.createLinkHTML=function(a,d){var i;return i=document.createElement("a"),i.href=a,i.textContent=d??a,i.outerHTML},e}(g.BasicObject)}.call(this),function(){var x,b,y,h,o,e,a,d,i,u,s,n,p,c=function(r,l){function A(){this.constructor=r}for(var f in l)v.call(l,f)&&(r[f]=l[f]);return A.prototype=l.prototype,r.prototype=new A,r.__super__=l.prototype,r},v={}.hasOwnProperty,t=[].indexOf||function(r){for(var l=0,A=this.length;A>l;l++)if(l in this&&this[l]===r)return l;return-1};i=g.makeElement,u=g.objectsAreEqual,p=g.tagName,b=g.browser,a=g.keyEventIsKeyboardCommand,h=g.dataTransferIsWritable,y=g.dataTransferIsPlainText,d=g.config.keyNames,g.Level0InputController=function(r){function l(){l.__super__.constructor.apply(this,arguments),this.resetInputSummary()}var A;return c(l,r),A=0,l.prototype.setInputSummary=function(f){var m,C;f==null&&(f={}),this.inputSummary.eventName=this.eventName;for(m in f)C=f[m],this.inputSummary[m]=C;return this.inputSummary},l.prototype.resetInputSummary=function(){return this.inputSummary={}},l.prototype.reset=function(){return this.resetInputSummary(),g.selectionChangeObserver.reset()},l.prototype.elementDidMutate=function(f){var m;return this.isComposing()?(m=this.delegate)!=null&&typeof m.inputControllerDidAllowUnhandledInput=="function"?m.inputControllerDidAllowUnhandledInput():void 0:this.handleInput(function(){return this.mutationIsSignificant(f)&&(this.mutationIsExpected(f)?this.requestRender():this.requestReparse()),this.reset()})},l.prototype.mutationIsExpected=function(f){var m,C,S,L,O,D,R,E,w,k;return R=f.textAdded,E=f.textDeleted,this.inputSummary.preferDocument?!0:(m=R!=null?R===this.inputSummary.textAdded:!this.inputSummary.textAdded,C=E!=null?this.inputSummary.didDelete:!this.inputSummary.didDelete,w=(R===` -`||R===` -`)&&!m,k=E===` -`&&!C,D=w&&!k||k&&!w,D&&(L=this.getSelectedRange())&&(S=w?R.replace(/\n$/,"").length||-1:R?.length||1,(O=this.responder)!=null?O.positionIsBlockBreak(L[1]+S):void 0)?!0:m&&C)},l.prototype.mutationIsSignificant=function(f){var m,C,S;return S=Object.keys(f).length>0,m=((C=this.compositionInput)!=null?C.getEndData():void 0)==="",S||!m},l.prototype.events={keydown:function(f){var m,C,S,L,O,D,R,E,w;if(this.isComposing()||this.resetInputSummary(),this.inputSummary.didInput=!0,L=d[f.keyCode]){for(C=this.keys,E=["ctrl","alt","shift","meta"],S=0,D=E.length;D>S;S++)R=E[S],f[R+"Key"]&&(R==="ctrl"&&(R="control"),C=C?.[R]);C?.[L]!=null&&(this.setInputSummary({keyName:L}),g.selectionChangeObserver.reset(),C[L].call(this,f))}return a(f)&&(m=String.fromCharCode(f.keyCode).toLowerCase())&&(O=function(){var k,T,N,P;for(N=["alt","shift"],P=[],k=0,T=N.length;T>k;k++)R=N[k],f[R+"Key"]&&P.push(R);return P}(),O.push(m),(w=this.delegate)!=null?w.inputControllerDidReceiveKeyboardCommand(O):void 0)?f.preventDefault():void 0},keypress:function(f){var m,C,S;if(this.inputSummary.eventName==null&&!f.metaKey&&(!f.ctrlKey||f.altKey))return(S=n(f))?((m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),(C=this.responder)!=null&&C.insertString(S),this.setInputSummary({textAdded:S,didDelete:this.selectionIsExpanded()})):void 0},textInput:function(f){var m,C,S,L;return m=f.data,L=this.inputSummary.textAdded,L&&L!==m&&L.toUpperCase()===m?(C=this.getSelectedRange(),this.setSelectedRange([C[0],C[1]+L.length]),(S=this.responder)!=null&&S.insertString(m),this.setInputSummary({textAdded:m}),this.setSelectedRange(C)):void 0},dragenter:function(f){return f.preventDefault()},dragstart:function(f){var m,C;return C=f.target,this.serializeSelectionToDataTransfer(f.dataTransfer),this.draggedRange=this.getSelectedRange(),(m=this.delegate)!=null&&typeof m.inputControllerDidStartDrag=="function"?m.inputControllerDidStartDrag():void 0},dragover:function(f){var m,C;return!this.draggedRange&&!this.canAcceptDataTransfer(f.dataTransfer)||(f.preventDefault(),m={x:f.clientX,y:f.clientY},u(m,this.draggingPoint))?void 0:(this.draggingPoint=m,(C=this.delegate)!=null&&typeof C.inputControllerDidReceiveDragOverPoint=="function"?C.inputControllerDidReceiveDragOverPoint(this.draggingPoint):void 0)},dragend:function(){var f;return(f=this.delegate)!=null&&typeof f.inputControllerDidCancelDrag=="function"&&f.inputControllerDidCancelDrag(),this.draggedRange=null,this.draggingPoint=null},drop:function(f){var m,C,S,L,O,D,R,E,w;return f.preventDefault(),S=(O=f.dataTransfer)!=null?O.files:void 0,L={x:f.clientX,y:f.clientY},(D=this.responder)!=null&&D.setLocationRangeFromPointRange(L),S?.length?this.attachFiles(S):this.draggedRange?((R=this.delegate)!=null&&R.inputControllerWillMoveText(),(E=this.responder)!=null&&E.moveTextFromRange(this.draggedRange),this.draggedRange=null,this.requestRender()):(C=f.dataTransfer.getData("application/x-trix-document"))&&(m=g.Document.fromJSONString(C),(w=this.responder)!=null&&w.insertDocument(m),this.requestRender()),this.draggedRange=null,this.draggingPoint=null},cut:function(f){var m,C;return(m=this.responder)!=null&&m.selectionIsExpanded()&&(this.serializeSelectionToDataTransfer(f.clipboardData)&&f.preventDefault(),(C=this.delegate)!=null&&C.inputControllerWillCutText(),this.deleteInDirection("backward"),f.defaultPrevented)?this.requestRender():void 0},copy:function(f){var m;return(m=this.responder)!=null&&m.selectionIsExpanded()&&this.serializeSelectionToDataTransfer(f.clipboardData)?f.preventDefault():void 0},paste:function(f){var m,C,S,L,O,D,R,E,w,k,T,N,P,_,F,B,M,U,H,z,j,G,K;return m=(E=f.clipboardData)!=null?E:f.testClipboardData,R={clipboard:m},m==null||s(f)?void this.getPastedHTMLUsingHiddenElement(function(J){return function(tt){var $,X,Y;return R.type="text/html",R.html=tt,($=J.delegate)!=null&&$.inputControllerWillPaste(R),(X=J.responder)!=null&&X.insertHTML(R.html),J.requestRender(),(Y=J.delegate)!=null?Y.inputControllerDidPaste(R):void 0}}(this)):((L=m.getData("URL"))?(R.type="text/html",K=(D=m.getData("public.url-name"))?g.squishBreakableWhitespace(D).trim():L,R.html=this.createLinkHTML(L,K),(w=this.delegate)!=null&&w.inputControllerWillPaste(R),this.setInputSummary({textAdded:K,didDelete:this.selectionIsExpanded()}),(F=this.responder)!=null&&F.insertHTML(R.html),this.requestRender(),(B=this.delegate)!=null&&B.inputControllerDidPaste(R)):y(m)?(R.type="text/plain",R.string=m.getData("text/plain"),(M=this.delegate)!=null&&M.inputControllerWillPaste(R),this.setInputSummary({textAdded:R.string,didDelete:this.selectionIsExpanded()}),(U=this.responder)!=null&&U.insertString(R.string),this.requestRender(),(H=this.delegate)!=null&&H.inputControllerDidPaste(R)):(O=m.getData("text/html"))?(R.type="text/html",R.html=O,(z=this.delegate)!=null&&z.inputControllerWillPaste(R),(j=this.responder)!=null&&j.insertHTML(R.html),this.requestRender(),(G=this.delegate)!=null&&G.inputControllerDidPaste(R)):t.call(m.types,"Files")>=0&&(S=(k=m.items)!=null&&(T=k[0])!=null&&typeof T.getAsFile=="function"?T.getAsFile():void 0)&&(!S.name&&(C=o(S))&&(S.name="pasted-file-"+ ++A+"."+C),R.type="File",R.file=S,(N=this.delegate)!=null&&N.inputControllerWillAttachFiles(),(P=this.responder)!=null&&P.insertFile(R.file),this.requestRender(),(_=this.delegate)!=null&&_.inputControllerDidPaste(R)),f.preventDefault())},compositionstart:function(f){return this.getCompositionInput().start(f.data)},compositionupdate:function(f){return this.getCompositionInput().update(f.data)},compositionend:function(f){return this.getCompositionInput().end(f.data)},beforeinput:function(){return this.inputSummary.didInput=!0},input:function(f){return this.inputSummary.didInput=!0,f.stopPropagation()}},l.prototype.keys={backspace:function(f){var m;return(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),this.deleteInDirection("backward",f)},delete:function(f){var m;return(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),this.deleteInDirection("forward",f)},return:function(){var f,m;return this.setInputSummary({preferDocument:!0}),(f=this.delegate)!=null&&f.inputControllerWillPerformTyping(),(m=this.responder)!=null?m.insertLineBreak():void 0},tab:function(f){var m,C;return(m=this.responder)!=null&&m.canIncreaseNestingLevel()?((C=this.responder)!=null&&C.increaseNestingLevel(),this.requestRender(),f.preventDefault()):void 0},left:function(f){var m;return this.selectionIsInCursorTarget()?(f.preventDefault(),(m=this.responder)!=null?m.moveCursorInDirection("backward"):void 0):void 0},right:function(f){var m;return this.selectionIsInCursorTarget()?(f.preventDefault(),(m=this.responder)!=null?m.moveCursorInDirection("forward"):void 0):void 0},control:{d:function(f){var m;return(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),this.deleteInDirection("forward",f)},h:function(f){var m;return(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),this.deleteInDirection("backward",f)},o:function(f){var m,C;return f.preventDefault(),(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),(C=this.responder)!=null&&C.insertString(` -`,{updatePosition:!1}),this.requestRender()}},shift:{return:function(f){var m,C;return(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),(C=this.responder)!=null&&C.insertString(` -`),this.requestRender(),f.preventDefault()},tab:function(f){var m,C;return(m=this.responder)!=null&&m.canDecreaseNestingLevel()?((C=this.responder)!=null&&C.decreaseNestingLevel(),this.requestRender(),f.preventDefault()):void 0},left:function(f){return this.selectionIsInCursorTarget()?(f.preventDefault(),this.expandSelectionInDirection("backward")):void 0},right:function(f){return this.selectionIsInCursorTarget()?(f.preventDefault(),this.expandSelectionInDirection("forward")):void 0}},alt:{backspace:function(){var f;return this.setInputSummary({preferDocument:!1}),(f=this.delegate)!=null?f.inputControllerWillPerformTyping():void 0}},meta:{backspace:function(){var f;return this.setInputSummary({preferDocument:!1}),(f=this.delegate)!=null?f.inputControllerWillPerformTyping():void 0}}},l.prototype.getCompositionInput=function(){return this.isComposing()?this.compositionInput:this.compositionInput=new x(this)},l.prototype.isComposing=function(){return this.compositionInput!=null&&!this.compositionInput.isEnded()},l.prototype.deleteInDirection=function(f,m){var C;return((C=this.responder)!=null?C.deleteInDirection(f):void 0)!==!1?this.setInputSummary({didDelete:!0}):m?(m.preventDefault(),this.requestRender()):void 0},l.prototype.serializeSelectionToDataTransfer=function(f){var m,C;if(h(f))return m=(C=this.responder)!=null?C.getSelectedDocument().toSerializableDocument():void 0,f.setData("application/x-trix-document",JSON.stringify(m)),f.setData("text/html",g.DocumentView.render(m).innerHTML),f.setData("text/plain",m.toString().replace(/\n$/,"")),!0},l.prototype.canAcceptDataTransfer=function(f){var m,C,S,L,O,D;for(D={},L=(S=f?.types)!=null?S:[],m=0,C=L.length;C>m;m++)O=L[m],D[O]=!0;return D.Files||D["application/x-trix-document"]||D["text/html"]||D["text/plain"]},l.prototype.getPastedHTMLUsingHiddenElement=function(f){var m,C,S;return C=this.getSelectedRange(),S={position:"absolute",left:window.pageXOffset+"px",top:window.pageYOffset+"px",opacity:0},m=i({style:S,tagName:"div",editable:!0}),document.body.appendChild(m),m.focus(),requestAnimationFrame(function(L){return function(){var O;return O=m.innerHTML,g.removeNode(m),L.setSelectedRange(C),f(O)}}(this))},l.proxyMethod("responder?.getSelectedRange"),l.proxyMethod("responder?.setSelectedRange"),l.proxyMethod("responder?.expandSelectionInDirection"),l.proxyMethod("responder?.selectionIsInCursorTarget"),l.proxyMethod("responder?.selectionIsExpanded"),l}(g.InputController),o=function(r){var l,A;return(l=r.type)!=null&&(A=l.match(/\/(\w+)$/))!=null?A[1]:void 0},e=(typeof" ".codePointAt=="function"?" ".codePointAt(0):void 0)!=null,n=function(r){var l;return r.key&&e&&r.key.codePointAt(0)===r.keyCode?r.key:(r.which===null?l=r.keyCode:r.which!==0&&r.charCode!==0&&(l=r.charCode),l!=null&&d[l]!=="escape"?g.UTF16String.fromCodepoints([l]).toString():void 0)},s=function(r){var l,A,f,m,C,S,L,O,D,R;if(O=r.clipboardData){if(t.call(O.types,"text/html")>=0){for(D=O.types,f=0,S=D.length;S>f;f++)if(R=D[f],l=/^CorePasteboardFlavorType/.test(R),A=/^dyn\./.test(R)&&O.getData(R),L=l||A)return!0;return!1}return m=t.call(O.types,"com.apple.webarchive")>=0,C=t.call(O.types,"com.apple.flat-rtfd")>=0,m||C}},x=function(r){function l(A){var f;this.inputController=A,f=this.inputController,this.responder=f.responder,this.delegate=f.delegate,this.inputSummary=f.inputSummary,this.data={}}return c(l,r),l.prototype.start=function(A){var f,m;return this.data.start=A,this.isSignificant()?(this.inputSummary.eventName==="keypress"&&this.inputSummary.textAdded&&(f=this.responder)!=null&&f.deleteInDirection("left"),this.selectionIsExpanded()||(this.insertPlaceholder(),this.requestRender()),this.range=(m=this.responder)!=null?m.getSelectedRange():void 0):void 0},l.prototype.update=function(A){var f;return this.data.update=A,this.isSignificant()&&(f=this.selectPlaceholder())?(this.forgetPlaceholder(),this.range=f):void 0},l.prototype.end=function(A){var f,m,C,S;return this.data.end=A,this.isSignificant()?(this.forgetPlaceholder(),this.canApplyToDocument()?(this.setInputSummary({preferDocument:!0,didInput:!1}),(f=this.delegate)!=null&&f.inputControllerWillPerformTyping(),(m=this.responder)!=null&&m.setSelectedRange(this.range),(C=this.responder)!=null&&C.insertString(this.data.end),(S=this.responder)!=null?S.setSelectedRange(this.range[0]+this.data.end.length):void 0):this.data.start!=null||this.data.update!=null?(this.requestReparse(),this.inputController.reset()):void 0):this.inputController.reset()},l.prototype.getEndData=function(){return this.data.end},l.prototype.isEnded=function(){return this.getEndData()!=null},l.prototype.isSignificant=function(){return b.composesExistingText?this.inputSummary.didInput:!0},l.prototype.canApplyToDocument=function(){var A,f;return((A=this.data.start)!=null?A.length:void 0)===0&&((f=this.data.end)!=null?f.length:void 0)>0&&this.range!=null},l.proxyMethod("inputController.setInputSummary"),l.proxyMethod("inputController.requestRender"),l.proxyMethod("inputController.requestReparse"),l.proxyMethod("responder?.selectionIsExpanded"),l.proxyMethod("responder?.insertPlaceholder"),l.proxyMethod("responder?.selectPlaceholder"),l.proxyMethod("responder?.forgetPlaceholder"),l}(g.BasicObject)}.call(this),function(){var x,b,y,h=function(d,i){return function(){return d.apply(i,arguments)}},o=function(d,i){function u(){this.constructor=d}for(var s in i)e.call(i,s)&&(d[s]=i[s]);return u.prototype=i.prototype,d.prototype=new u,d.__super__=i.prototype,d},e={}.hasOwnProperty,a=[].indexOf||function(d){for(var i=0,u=this.length;u>i;i++)if(i in this&&this[i]===d)return i;return-1};x=g.dataTransferIsPlainText,b=g.keyEventIsKeyboardCommand,y=g.objectsAreEqual,g.Level2InputController=function(d){function i(){return this.render=h(this.render,this),i.__super__.constructor.apply(this,arguments)}var u,s,n,p,c,v;return o(i,d),i.prototype.elementDidMutate=function(){var t;return this.scheduledRender?this.composing&&(t=this.delegate)!=null&&typeof t.inputControllerDidAllowUnhandledInput=="function"?t.inputControllerDidAllowUnhandledInput():void 0:this.reparse()},i.prototype.scheduleRender=function(){return this.scheduledRender!=null?this.scheduledRender:this.scheduledRender=requestAnimationFrame(this.render)},i.prototype.render=function(){var t;return cancelAnimationFrame(this.scheduledRender),this.scheduledRender=null,this.composing||(t=this.delegate)!=null&&t.render(),typeof this.afterRender=="function"&&this.afterRender(),this.afterRender=null},i.prototype.reparse=function(){var t;return(t=this.delegate)!=null?t.reparse():void 0},i.prototype.events={keydown:function(t){var r,l,A,f;if(b(t)){if(r=s(t),(f=this.delegate)!=null?f.inputControllerDidReceiveKeyboardCommand(r):void 0)return t.preventDefault()}else if(A=t.key,t.altKey&&(A+="+Alt"),t.shiftKey&&(A+="+Shift"),l=this.keys[A])return this.withEvent(t,l)},paste:function(t){var r,l,A,f,m,C,S,L,O;return n(t)?(t.preventDefault(),this.attachFiles(t.clipboardData.files)):p(t)?(t.preventDefault(),l={type:"text/plain",string:t.clipboardData.getData("text/plain")},(A=this.delegate)!=null&&A.inputControllerWillPaste(l),(f=this.responder)!=null&&f.insertString(l.string),this.render(),(m=this.delegate)!=null?m.inputControllerDidPaste(l):void 0):(r=(C=t.clipboardData)!=null?C.getData("URL"):void 0)?(t.preventDefault(),l={type:"text/html",html:this.createLinkHTML(r)},(S=this.delegate)!=null&&S.inputControllerWillPaste(l),(L=this.responder)!=null&&L.insertHTML(l.html),this.render(),(O=this.delegate)!=null?O.inputControllerDidPaste(l):void 0):void 0},beforeinput:function(t){var r;return(r=this.inputTypes[t.inputType])?(this.withEvent(t,r),this.scheduleRender()):void 0},input:function(){return g.selectionChangeObserver.reset()},dragstart:function(t){var r,l;return(r=this.responder)!=null&&r.selectionContainsAttachments()?(t.dataTransfer.setData("application/x-trix-dragging",!0),this.dragging={range:(l=this.responder)!=null?l.getSelectedRange():void 0,point:c(t)}):void 0},dragenter:function(t){return u(t)?t.preventDefault():void 0},dragover:function(t){var r,l;if(this.dragging){if(t.preventDefault(),r=c(t),!y(r,this.dragging.point))return this.dragging.point=r,(l=this.responder)!=null?l.setLocationRangeFromPointRange(r):void 0}else if(u(t))return t.preventDefault()},drop:function(t){var r,l,A,f;return this.dragging?(t.preventDefault(),(l=this.delegate)!=null&&l.inputControllerWillMoveText(),(A=this.responder)!=null&&A.moveTextFromRange(this.dragging.range),this.dragging=null,this.scheduleRender()):u(t)?(t.preventDefault(),r=c(t),(f=this.responder)!=null&&f.setLocationRangeFromPointRange(r),this.attachFiles(t.dataTransfer.files)):void 0},dragend:function(){var t;return this.dragging?((t=this.responder)!=null&&t.setSelectedRange(this.dragging.range),this.dragging=null):void 0},compositionend:function(){return this.composing?(this.composing=!1,this.scheduleRender()):void 0}},i.prototype.keys={ArrowLeft:function(){var t,r;return(t=this.responder)!=null&&t.shouldManageMovingCursorInDirection("backward")?(this.event.preventDefault(),(r=this.responder)!=null?r.moveCursorInDirection("backward"):void 0):void 0},ArrowRight:function(){var t,r;return(t=this.responder)!=null&&t.shouldManageMovingCursorInDirection("forward")?(this.event.preventDefault(),(r=this.responder)!=null?r.moveCursorInDirection("forward"):void 0):void 0},Backspace:function(){var t,r,l;return(t=this.responder)!=null&&t.shouldManageDeletingInDirection("backward")?(this.event.preventDefault(),(r=this.delegate)!=null&&r.inputControllerWillPerformTyping(),(l=this.responder)!=null&&l.deleteInDirection("backward"),this.render()):void 0},Tab:function(){var t,r;return(t=this.responder)!=null&&t.canIncreaseNestingLevel()?(this.event.preventDefault(),(r=this.responder)!=null&&r.increaseNestingLevel(),this.render()):void 0},"Tab+Shift":function(){var t,r;return(t=this.responder)!=null&&t.canDecreaseNestingLevel()?(this.event.preventDefault(),(r=this.responder)!=null&&r.decreaseNestingLevel(),this.render()):void 0}},i.prototype.inputTypes={deleteByComposition:function(){return this.deleteInDirection("backward",{recordUndoEntry:!1})},deleteByCut:function(){return this.deleteInDirection("backward")},deleteByDrag:function(){return this.event.preventDefault(),this.withTargetDOMRange(function(){var t;return this.deleteByDragRange=(t=this.responder)!=null?t.getSelectedRange():void 0})},deleteCompositionText:function(){return this.deleteInDirection("backward",{recordUndoEntry:!1})},deleteContent:function(){return this.deleteInDirection("backward")},deleteContentBackward:function(){return this.deleteInDirection("backward")},deleteContentForward:function(){return this.deleteInDirection("forward")},deleteEntireSoftLine:function(){return this.deleteInDirection("forward")},deleteHardLineBackward:function(){return this.deleteInDirection("backward")},deleteHardLineForward:function(){return this.deleteInDirection("forward")},deleteSoftLineBackward:function(){return this.deleteInDirection("backward")},deleteSoftLineForward:function(){return this.deleteInDirection("forward")},deleteWordBackward:function(){return this.deleteInDirection("backward")},deleteWordForward:function(){return this.deleteInDirection("forward")},formatBackColor:function(){return this.activateAttributeIfSupported("backgroundColor",this.event.data)},formatBold:function(){return this.toggleAttributeIfSupported("bold")},formatFontColor:function(){return this.activateAttributeIfSupported("color",this.event.data)},formatFontName:function(){return this.activateAttributeIfSupported("font",this.event.data)},formatIndent:function(){var t;return(t=this.responder)!=null&&t.canIncreaseNestingLevel()?this.withTargetDOMRange(function(){var r;return(r=this.responder)!=null?r.increaseNestingLevel():void 0}):void 0},formatItalic:function(){return this.toggleAttributeIfSupported("italic")},formatJustifyCenter:function(){return this.toggleAttributeIfSupported("justifyCenter")},formatJustifyFull:function(){return this.toggleAttributeIfSupported("justifyFull")},formatJustifyLeft:function(){return this.toggleAttributeIfSupported("justifyLeft")},formatJustifyRight:function(){return this.toggleAttributeIfSupported("justifyRight")},formatOutdent:function(){var t;return(t=this.responder)!=null&&t.canDecreaseNestingLevel()?this.withTargetDOMRange(function(){var r;return(r=this.responder)!=null?r.decreaseNestingLevel():void 0}):void 0},formatRemove:function(){return this.withTargetDOMRange(function(){var t,r,l,A;A=[];for(t in(r=this.responder)!=null?r.getCurrentAttributes():void 0)A.push((l=this.responder)!=null?l.removeCurrentAttribute(t):void 0);return A})},formatSetBlockTextDirection:function(){return this.activateAttributeIfSupported("blockDir",this.event.data)},formatSetInlineTextDirection:function(){return this.activateAttributeIfSupported("textDir",this.event.data)},formatStrikeThrough:function(){return this.toggleAttributeIfSupported("strike")},formatSubscript:function(){return this.toggleAttributeIfSupported("sub")},formatSuperscript:function(){return this.toggleAttributeIfSupported("sup")},formatUnderline:function(){return this.toggleAttributeIfSupported("underline")},historyRedo:function(){var t;return(t=this.delegate)!=null?t.inputControllerWillPerformRedo():void 0},historyUndo:function(){var t;return(t=this.delegate)!=null?t.inputControllerWillPerformUndo():void 0},insertCompositionText:function(){return this.composing=!0,this.insertString(this.event.data)},insertFromComposition:function(){return this.composing=!1,this.insertString(this.event.data)},insertFromDrop:function(){var t,r;return(t=this.deleteByDragRange)?(this.deleteByDragRange=null,(r=this.delegate)!=null&&r.inputControllerWillMoveText(),this.withTargetDOMRange(function(){var l;return(l=this.responder)!=null?l.moveTextFromRange(t):void 0})):void 0},insertFromPaste:function(){var t,r,l,A,f,m,C,S,L,O,D;return t=this.event.dataTransfer,f={dataTransfer:t},(r=t.getData("URL"))?(this.event.preventDefault(),f.type="text/html",D=(A=t.getData("public.url-name"))?g.squishBreakableWhitespace(A).trim():r,f.html=this.createLinkHTML(r,D),(m=this.delegate)!=null&&m.inputControllerWillPaste(f),this.withTargetDOMRange(function(){var R;return(R=this.responder)!=null?R.insertHTML(f.html):void 0}),this.afterRender=function(R){return function(){var E;return(E=R.delegate)!=null?E.inputControllerDidPaste(f):void 0}}(this)):x(t)?(f.type="text/plain",f.string=t.getData("text/plain"),(C=this.delegate)!=null&&C.inputControllerWillPaste(f),this.withTargetDOMRange(function(){var R;return(R=this.responder)!=null?R.insertString(f.string):void 0}),this.afterRender=function(R){return function(){var E;return(E=R.delegate)!=null?E.inputControllerDidPaste(f):void 0}}(this)):(l=t.getData("text/html"))?(this.event.preventDefault(),f.type="text/html",f.html=l,(S=this.delegate)!=null&&S.inputControllerWillPaste(f),this.withTargetDOMRange(function(){var R;return(R=this.responder)!=null?R.insertHTML(f.html):void 0}),this.afterRender=function(R){return function(){var E;return(E=R.delegate)!=null?E.inputControllerDidPaste(f):void 0}}(this)):(L=t.files)!=null&&L.length?(f.type="File",f.file=t.files[0],(O=this.delegate)!=null&&O.inputControllerWillPaste(f),this.withTargetDOMRange(function(){var R;return(R=this.responder)!=null?R.insertFile(f.file):void 0}),this.afterRender=function(R){return function(){var E;return(E=R.delegate)!=null?E.inputControllerDidPaste(f):void 0}}(this)):void 0},insertFromYank:function(){return this.insertString(this.event.data)},insertLineBreak:function(){return this.insertString(` -`)},insertLink:function(){return this.activateAttributeIfSupported("href",this.event.data)},insertOrderedList:function(){return this.toggleAttributeIfSupported("number")},insertParagraph:function(){var t;return(t=this.delegate)!=null&&t.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var r;return(r=this.responder)!=null?r.insertLineBreak():void 0})},insertReplacementText:function(){return this.insertString(this.event.dataTransfer.getData("text/plain"),{updatePosition:!1})},insertText:function(){var t,r;return this.insertString((t=this.event.data)!=null?t:(r=this.event.dataTransfer)!=null?r.getData("text/plain"):void 0)},insertTranspose:function(){return this.insertString(this.event.data)},insertUnorderedList:function(){return this.toggleAttributeIfSupported("bullet")}},i.prototype.insertString=function(t,r){var l;return t==null&&(t=""),(l=this.delegate)!=null&&l.inputControllerWillPerformTyping(),this.withTargetDOMRange(function(){var A;return(A=this.responder)!=null?A.insertString(t,r):void 0})},i.prototype.toggleAttributeIfSupported=function(t){var r;return a.call(g.getAllAttributeNames(),t)>=0?((r=this.delegate)!=null&&r.inputControllerWillPerformFormatting(t),this.withTargetDOMRange(function(){var l;return(l=this.responder)!=null?l.toggleCurrentAttribute(t):void 0})):void 0},i.prototype.activateAttributeIfSupported=function(t,r){var l;return a.call(g.getAllAttributeNames(),t)>=0?((l=this.delegate)!=null&&l.inputControllerWillPerformFormatting(t),this.withTargetDOMRange(function(){var A;return(A=this.responder)!=null?A.setCurrentAttribute(t,r):void 0})):void 0},i.prototype.deleteInDirection=function(t,r){var l,A,f,m;return f=(r??{recordUndoEntry:!0}).recordUndoEntry,f&&(m=this.delegate)!=null&&m.inputControllerWillPerformTyping(),A=function(C){return function(){var S;return(S=C.responder)!=null?S.deleteInDirection(t):void 0}}(this),(l=this.getTargetDOMRange({minLength:2}))?this.withTargetDOMRange(l,A):A()},i.prototype.withTargetDOMRange=function(t,r){var l;return typeof t=="function"&&(r=t,t=this.getTargetDOMRange()),t?(l=this.responder)!=null?l.withTargetDOMRange(t,r.bind(this)):void 0:(g.selectionChangeObserver.reset(),r.call(this))},i.prototype.getTargetDOMRange=function(t){var r,l,A,f;return A=(t??{minLength:0}).minLength,(f=typeof(r=this.event).getTargetRanges=="function"?r.getTargetRanges():void 0)&&f.length&&(l=v(f[0]),A===0||l.toString().length>=A)?l:void 0},v=function(t){var r;return r=document.createRange(),r.setStart(t.startContainer,t.startOffset),r.setEnd(t.endContainer,t.endOffset),r},i.prototype.withEvent=function(t,r){var l;this.event=t;try{l=r.call(this)}finally{this.event=null}return l},u=function(t){var r,l;return a.call((r=(l=t.dataTransfer)!=null?l.types:void 0)!=null?r:[],"Files")>=0},n=function(t){var r;return(r=t.clipboardData)?a.call(r.types,"Files")>=0&&r.types.length===1&&r.files.length>=1:void 0},p=function(t){var r;return(r=t.clipboardData)?a.call(r.types,"text/plain")>=0&&r.types.length===1:void 0},s=function(t){var r;return r=[],t.altKey&&r.push("alt"),t.shiftKey&&r.push("shift"),r.push(t.key),r},c=function(t){return{x:t.clientX,y:t.clientY}},i}(g.InputController)}.call(this),function(){var x,b,y,h,o,e,a,d,i=function(n,p){return function(){return n.apply(p,arguments)}},u=function(n,p){function c(){this.constructor=n}for(var v in p)s.call(p,v)&&(n[v]=p[v]);return c.prototype=p.prototype,n.prototype=new c,n.__super__=p.prototype,n},s={}.hasOwnProperty;b=g.defer,y=g.handleEvent,e=g.makeElement,d=g.tagName,a=g.config,o=a.lang,x=a.css,h=a.keyNames,g.AttachmentEditorController=function(n){function p(v,t,r,l){this.attachmentPiece=v,this.element=t,this.container=r,this.options=l??{},this.didBlurCaption=i(this.didBlurCaption,this),this.didChangeCaption=i(this.didChangeCaption,this),this.didInputCaption=i(this.didInputCaption,this),this.didKeyDownCaption=i(this.didKeyDownCaption,this),this.didClickActionButton=i(this.didClickActionButton,this),this.didClickToolbar=i(this.didClickToolbar,this),this.attachment=this.attachmentPiece.attachment,d(this.element)==="a"&&(this.element=this.element.firstChild),this.install()}var c;return u(p,n),c=function(v){return function(){var t;return t=v.apply(this,arguments),t.do(),this.undos==null&&(this.undos=[]),this.undos.push(t.undo)}},p.prototype.install=function(){return this.makeElementMutable(),this.addToolbar(),this.attachment.isPreviewable()?this.installCaptionEditor():void 0},p.prototype.uninstall=function(){var v,t;for(this.savePendingCaption();t=this.undos.pop();)t();return(v=this.delegate)!=null?v.didUninstallAttachmentEditor(this):void 0},p.prototype.savePendingCaption=function(){var v,t,r;return this.pendingCaption!=null?(v=this.pendingCaption,this.pendingCaption=null,v?(t=this.delegate)!=null&&typeof t.attachmentEditorDidRequestUpdatingAttributesForAttachment=="function"?t.attachmentEditorDidRequestUpdatingAttributesForAttachment({caption:v},this.attachment):void 0:(r=this.delegate)!=null&&typeof r.attachmentEditorDidRequestRemovingAttributeForAttachment=="function"?r.attachmentEditorDidRequestRemovingAttributeForAttachment("caption",this.attachment):void 0):void 0},p.prototype.makeElementMutable=c(function(){return{do:function(v){return function(){return v.element.dataset.trixMutable=!0}}(this),undo:function(v){return function(){return delete v.element.dataset.trixMutable}}(this)}}),p.prototype.addToolbar=c(function(){var v;return v=e({tagName:"div",className:x.attachmentToolbar,data:{trixMutable:!0},childNodes:e({tagName:"div",className:"trix-button-row",childNodes:e({tagName:"span",className:"trix-button-group trix-button-group--actions",childNodes:e({tagName:"button",className:"trix-button trix-button--remove",textContent:o.remove,attributes:{title:o.remove},data:{trixAction:"remove"}})})})}),this.attachment.isPreviewable()&&v.appendChild(e({tagName:"div",className:x.attachmentMetadataContainer,childNodes:e({tagName:"span",className:x.attachmentMetadata,childNodes:[e({tagName:"span",className:x.attachmentName,textContent:this.attachment.getFilename(),attributes:{title:this.attachment.getFilename()}}),e({tagName:"span",className:x.attachmentSize,textContent:this.attachment.getFormattedFilesize()})]})})),y("click",{onElement:v,withCallback:this.didClickToolbar}),y("click",{onElement:v,matchingSelector:"[data-trix-action]",withCallback:this.didClickActionButton}),{do:function(t){return function(){return t.element.appendChild(v)}}(this),undo:function(){return function(){return g.removeNode(v)}}(this)}}),p.prototype.installCaptionEditor=c(function(){var v,t,r,l,A;return l=e({tagName:"textarea",className:x.attachmentCaptionEditor,attributes:{placeholder:o.captionPlaceholder},data:{trixMutable:!0}}),l.value=this.attachmentPiece.getCaption(),A=l.cloneNode(),A.classList.add("trix-autoresize-clone"),A.tabIndex=-1,v=function(){return A.value=l.value,l.style.height=A.scrollHeight+"px"},y("input",{onElement:l,withCallback:v}),y("input",{onElement:l,withCallback:this.didInputCaption}),y("keydown",{onElement:l,withCallback:this.didKeyDownCaption}),y("change",{onElement:l,withCallback:this.didChangeCaption}),y("blur",{onElement:l,withCallback:this.didBlurCaption}),r=this.element.querySelector("figcaption"),t=r.cloneNode(),{do:function(f){return function(){return r.style.display="none",t.appendChild(l),t.appendChild(A),t.classList.add(x.attachmentCaption+"--editing"),r.parentElement.insertBefore(t,r),v(),f.options.editCaption?b(function(){return l.focus()}):void 0}}(this),undo:function(){return g.removeNode(t),r.style.display=null}}}),p.prototype.didClickToolbar=function(v){return v.preventDefault(),v.stopPropagation()},p.prototype.didClickActionButton=function(v){var t,r;switch(t=v.target.getAttribute("data-trix-action")){case"remove":return(r=this.delegate)!=null?r.attachmentEditorDidRequestRemovalOfAttachment(this.attachment):void 0}},p.prototype.didKeyDownCaption=function(v){var t;return h[v.keyCode]==="return"?(v.preventDefault(),this.savePendingCaption(),(t=this.delegate)!=null&&typeof t.attachmentEditorDidRequestDeselectingAttachment=="function"?t.attachmentEditorDidRequestDeselectingAttachment(this.attachment):void 0):void 0},p.prototype.didInputCaption=function(v){return this.pendingCaption=v.target.value.replace(/\s/g," ").trim()},p.prototype.didChangeCaption=function(){return this.savePendingCaption()},p.prototype.didBlurCaption=function(){return this.savePendingCaption()},p}(g.BasicObject)}.call(this),function(){var x,b,y,h=function(e,a){function d(){this.constructor=e}for(var i in a)o.call(a,i)&&(e[i]=a[i]);return d.prototype=a.prototype,e.prototype=new d,e.__super__=a.prototype,e},o={}.hasOwnProperty;y=g.makeElement,x=g.config.css,g.AttachmentView=function(e){function a(){a.__super__.constructor.apply(this,arguments),this.attachment=this.object,this.attachment.uploadProgressDelegate=this,this.attachmentPiece=this.options.piece}var d;return h(a,e),a.attachmentSelector="[data-trix-attachment]",a.prototype.createContentNodes=function(){return[]},a.prototype.createNodes=function(){var i,u,s,n,p,c,v;if(i=n=y({tagName:"figure",className:this.getClassName(),data:this.getData(),editable:!1}),(u=this.getHref())&&(n=y({tagName:"a",editable:!1,attributes:{href:u,tabindex:-1}}),i.appendChild(n)),this.attachment.hasContent())n.innerHTML=this.attachment.getContent();else for(v=this.createContentNodes(),s=0,p=v.length;p>s;s++)c=v[s],n.appendChild(c);return n.appendChild(this.createCaptionElement()),this.attachment.isPending()&&(this.progressElement=y({tagName:"progress",attributes:{class:x.attachmentProgress,value:this.attachment.getUploadProgress(),max:100},data:{trixMutable:!0,trixStoreKey:["progressElement",this.attachment.id].join("/")}}),i.appendChild(this.progressElement)),[d("left"),i,d("right")]},a.prototype.createCaptionElement=function(){var i,u,s,n,p,c,v;return s=y({tagName:"figcaption",className:x.attachmentCaption}),(i=this.attachmentPiece.getCaption())?(s.classList.add(x.attachmentCaption+"--edited"),s.textContent=i):(u=this.getCaptionConfig(),u.name&&(n=this.attachment.getFilename()),u.size&&(c=this.attachment.getFormattedFilesize()),n&&(p=y({tagName:"span",className:x.attachmentName,textContent:n}),s.appendChild(p)),c&&(n&&s.appendChild(document.createTextNode(" ")),v=y({tagName:"span",className:x.attachmentSize,textContent:c}),s.appendChild(v))),s},a.prototype.getClassName=function(){var i,u;return u=[x.attachment,x.attachment+"--"+this.attachment.getType()],(i=this.attachment.getExtension())&&u.push(x.attachment+"--"+i),u.join(" ")},a.prototype.getData=function(){var i,u;return u={trixAttachment:JSON.stringify(this.attachment),trixContentType:this.attachment.getContentType(),trixId:this.attachment.id},i=this.attachmentPiece.attributes,i.isEmpty()||(u.trixAttributes=JSON.stringify(i)),this.attachment.isPending()&&(u.trixSerialize=!1),u},a.prototype.getHref=function(){return b(this.attachment.getContent(),"a")?void 0:this.attachment.getHref()},a.prototype.getCaptionConfig=function(){var i,u,s;return s=this.attachment.getType(),i=g.copyObject((u=g.config.attachments[s])!=null?u.caption:void 0),s==="file"&&(i.name=!0),i},a.prototype.findProgressElement=function(){var i;return(i=this.findElement())!=null?i.querySelector("progress"):void 0},d=function(i){return y({tagName:"span",textContent:g.ZERO_WIDTH_SPACE,data:{trixCursorTarget:i,trixSerialize:!1}})},a.prototype.attachmentDidChangeUploadProgress=function(){var i,u;return u=this.attachment.getUploadProgress(),(i=this.findProgressElement())!=null?i.value=u:void 0},a}(g.ObjectView),b=function(e,a){var d;return d=y("div"),d.innerHTML=e??"",d.querySelector(a)}}.call(this),function(){var x,b=function(h,o){function e(){this.constructor=h}for(var a in o)y.call(o,a)&&(h[a]=o[a]);return e.prototype=o.prototype,h.prototype=new e,h.__super__=o.prototype,h},y={}.hasOwnProperty;x=g.makeElement,g.PreviewableAttachmentView=function(h){function o(){o.__super__.constructor.apply(this,arguments),this.attachment.previewDelegate=this}return b(o,h),o.prototype.createContentNodes=function(){return this.image=x({tagName:"img",attributes:{src:""},data:{trixMutable:!0}}),this.refresh(this.image),[this.image]},o.prototype.createCaptionElement=function(){var e;return e=o.__super__.createCaptionElement.apply(this,arguments),e.textContent||e.setAttribute("data-trix-placeholder",g.config.lang.captionPlaceholder),e},o.prototype.refresh=function(e){var a;return e==null&&(e=(a=this.findElement())!=null?a.querySelector("img"):void 0),e?this.updateAttributesForImage(e):void 0},o.prototype.updateAttributesForImage=function(e){var a,d,i,u,s,n;return s=this.attachment.getURL(),d=this.attachment.getPreviewURL(),e.src=d||s,d===s?e.removeAttribute("data-trix-serialized-attributes"):(i=JSON.stringify({src:s}),e.setAttribute("data-trix-serialized-attributes",i)),n=this.attachment.getWidth(),a=this.attachment.getHeight(),n!=null&&(e.width=n),a!=null&&(e.height=a),u=["imageElement",this.attachment.id,e.src,e.width,e.height].join("/"),e.dataset.trixStoreKey=u},o.prototype.attachmentDidChangeAttributes=function(){return this.refresh(this.image),this.refresh()},o}(g.AttachmentView)}.call(this),function(){var x,b,y,h=function(e,a){function d(){this.constructor=e}for(var i in a)o.call(a,i)&&(e[i]=a[i]);return d.prototype=a.prototype,e.prototype=new d,e.__super__=a.prototype,e},o={}.hasOwnProperty;y=g.makeElement,x=g.findInnerElement,b=g.getTextConfig,g.PieceView=function(e){function a(){var i;a.__super__.constructor.apply(this,arguments),this.piece=this.object,this.attributes=this.piece.getAttributes(),i=this.options,this.textConfig=i.textConfig,this.context=i.context,this.piece.attachment?this.attachment=this.piece.attachment:this.string=this.piece.toString()}var d;return h(a,e),a.prototype.createNodes=function(){var i,u,s,n,p,c;if(c=this.attachment?this.createAttachmentNodes():this.createStringNodes(),i=this.createElement()){for(s=x(i),u=0,n=c.length;n>u;u++)p=c[u],s.appendChild(p);c=[i]}return c},a.prototype.createAttachmentNodes=function(){var i,u;return i=this.attachment.isPreviewable()?g.PreviewableAttachmentView:g.AttachmentView,u=this.createChildView(i,this.piece.attachment,{piece:this.piece}),u.getNodes()},a.prototype.createStringNodes=function(){var i,u,s,n,p,c,v,t,r,l;if((t=this.textConfig)!=null&&t.plaintext)return[document.createTextNode(this.string)];for(v=[],r=this.string.split(` -`),s=u=0,n=r.length;n>u;s=++u)l=r[s],s>0&&(i=y("br"),v.push(i)),(p=l.length)&&(c=document.createTextNode(this.preserveSpaces(l)),v.push(c));return v},a.prototype.createElement=function(){var i,u,s,n,p,c,v,t,r;t={},c=this.attributes;for(n in c)if(r=c[n],(i=b(n))&&(i.tagName&&(p=y(i.tagName),s?(s.appendChild(p),s=p):u=s=p),i.styleProperty&&(t[i.styleProperty]=r),i.style)){v=i.style;for(n in v)r=v[n],t[n]=r}if(Object.keys(t).length){u==null&&(u=y("span"));for(n in t)r=t[n],u.style[n]=r}return u},a.prototype.createContainerElement=function(){var i,u,s,n,p;n=this.attributes;for(s in n)if(p=n[s],(u=b(s))&&u.groupTagName)return i={},i[s]=p,y(u.groupTagName,i)},d=g.NON_BREAKING_SPACE,a.prototype.preserveSpaces=function(i){return this.context.isLast&&(i=i.replace(/\ $/,d)),i=i.replace(/(\S)\ {3}(\S)/g,"$1 "+d+" $2").replace(/\ {2}/g,d+" ").replace(/\ {2}/g," "+d),(this.context.isFirst||this.context.followsWhitespace)&&(i=i.replace(/^\ /,d)),i},a}(g.ObjectView)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.TextView=function(y){function h(){h.__super__.constructor.apply(this,arguments),this.text=this.object,this.textConfig=this.options.textConfig}var o;return x(h,y),h.prototype.createNodes=function(){var e,a,d,i,u,s,n,p,c,v;for(s=[],p=g.ObjectGroup.groupObjects(this.getPieces()),i=p.length-1,d=a=0,u=p.length;u>a;d=++a)n=p[d],e={},d===0&&(e.isFirst=!0),d===i&&(e.isLast=!0),o(c)&&(e.followsWhitespace=!0),v=this.findOrCreateCachedChildView(g.PieceView,n,{textConfig:this.textConfig,context:e}),s.push.apply(s,v.getNodes()),c=n;return s},h.prototype.getPieces=function(){var e,a,d,i,u;for(i=this.text.getPieces(),u=[],e=0,a=i.length;a>e;e++)d=i[e],d.hasAttribute("blockBreak")||u.push(d);return u},o=function(e){return/\s$/.test(e?.toString())},h}(g.ObjectView)}.call(this),function(){var x,b,y,h=function(e,a){function d(){this.constructor=e}for(var i in a)o.call(a,i)&&(e[i]=a[i]);return d.prototype=a.prototype,e.prototype=new d,e.__super__=a.prototype,e},o={}.hasOwnProperty;y=g.makeElement,b=g.getBlockConfig,x=g.config.css,g.BlockView=function(e){function a(){a.__super__.constructor.apply(this,arguments),this.block=this.object,this.attributes=this.block.getAttributes()}return h(a,e),a.prototype.createNodes=function(){var d,i,u,s,n,p,c,v,t,r,l;if(i=document.createComment("block"),c=[i],this.block.isEmpty()?c.push(y("br")):(r=(v=b(this.block.getLastAttribute()))!=null?v.text:void 0,l=this.findOrCreateCachedChildView(g.TextView,this.block.text,{textConfig:r}),c.push.apply(c,l.getNodes()),this.shouldAddExtraNewlineElement()&&c.push(y("br"))),this.attributes.length)return c;for(t=g.config.blockAttributes.default.tagName,this.block.isRTL()&&(d={dir:"rtl"}),u=y({tagName:t,attributes:d}),s=0,n=c.length;n>s;s++)p=c[s],u.appendChild(p);return[u]},a.prototype.createContainerElement=function(d){var i,u,s,n,p;return i=this.attributes[d],p=b(i).tagName,d===0&&this.block.isRTL()&&(u={dir:"rtl"}),i==="attachmentGallery"&&(n=this.block.getBlockBreakPosition(),s=x.attachmentGallery+" "+x.attachmentGallery+"--"+n),y({tagName:p,className:s,attributes:u})},a.prototype.shouldAddExtraNewlineElement=function(){return/\n\n$/.test(this.block.toString())},a}(g.ObjectView)}.call(this),function(){var x,b,y=function(o,e){function a(){this.constructor=o}for(var d in e)h.call(e,d)&&(o[d]=e[d]);return a.prototype=e.prototype,o.prototype=new a,o.__super__=e.prototype,o},h={}.hasOwnProperty;x=g.defer,b=g.makeElement,g.DocumentView=function(o){function e(){e.__super__.constructor.apply(this,arguments),this.element=this.options.element,this.elementStore=new g.ElementStore,this.setDocument(this.object)}var a,d,i;return y(e,o),e.render=function(u){var s,n;return s=b("div"),n=new this(u,{element:s}),n.render(),n.sync(),s},e.prototype.setDocument=function(u){return u.isEqualTo(this.document)?void 0:this.document=this.object=u},e.prototype.render=function(){var u,s,n,p,c,v,t;if(this.childViews=[],this.shadowElement=b("div"),!this.document.isEmpty()){for(c=g.ObjectGroup.groupObjects(this.document.getBlocks(),{asTree:!0}),v=[],u=0,s=c.length;s>u;u++)p=c[u],t=this.findOrCreateCachedChildView(g.BlockView,p),v.push(function(){var r,l,A,f;for(A=t.getNodes(),f=[],r=0,l=A.length;l>r;r++)n=A[r],f.push(this.shadowElement.appendChild(n));return f}.call(this));return v}},e.prototype.isSynced=function(){return a(this.shadowElement,this.element)},e.prototype.sync=function(){var u;for(u=this.createDocumentFragmentForSync();this.element.lastChild;)this.element.removeChild(this.element.lastChild);return this.element.appendChild(u),this.didSync()},e.prototype.didSync=function(){return this.elementStore.reset(d(this.element)),x(function(u){return function(){return u.garbageCollectCachedViews()}}(this))},e.prototype.createDocumentFragmentForSync=function(){var u,s,n,p,c,v,t,r,l,A;for(s=document.createDocumentFragment(),r=this.shadowElement.childNodes,n=0,c=r.length;c>n;n++)t=r[n],s.appendChild(t.cloneNode(!0));for(l=d(s),p=0,v=l.length;v>p;p++)u=l[p],(A=this.elementStore.remove(u))&&u.parentNode.replaceChild(A,u);return s},d=function(u){return u.querySelectorAll("[data-trix-store-key]")},a=function(u,s){return i(u.innerHTML)===i(s.innerHTML)},i=function(u){return u.replace(/ /g," ")},e}(g.ObjectView)}.call(this),function(){var x,b,y,h,o,e=function(i,u){return function(){return i.apply(u,arguments)}},a=function(i,u){function s(){this.constructor=i}for(var n in u)d.call(u,n)&&(i[n]=u[n]);return s.prototype=u.prototype,i.prototype=new s,i.__super__=u.prototype,i},d={}.hasOwnProperty;y=g.findClosestElementFromNode,h=g.handleEvent,o=g.innerElementIsActive,b=g.defer,x=g.AttachmentView.attachmentSelector,g.CompositionController=function(i){function u(s,n){this.element=s,this.composition=n,this.didClickAttachment=e(this.didClickAttachment,this),this.didBlur=e(this.didBlur,this),this.didFocus=e(this.didFocus,this),this.documentView=new g.DocumentView(this.composition.document,{element:this.element}),h("focus",{onElement:this.element,withCallback:this.didFocus}),h("blur",{onElement:this.element,withCallback:this.didBlur}),h("click",{onElement:this.element,matchingSelector:"a[contenteditable=false]",preventDefault:!0}),h("mousedown",{onElement:this.element,matchingSelector:x,withCallback:this.didClickAttachment}),h("click",{onElement:this.element,matchingSelector:"a"+x,preventDefault:!0})}return a(u,i),u.prototype.didFocus=function(){var s,n,p;return s=function(c){return function(){var v;return c.focused?void 0:(c.focused=!0,(v=c.delegate)!=null&&typeof v.compositionControllerDidFocus=="function"?v.compositionControllerDidFocus():void 0)}}(this),(n=(p=this.blurPromise)!=null?p.then(s):void 0)!=null?n:s()},u.prototype.didBlur=function(){return this.blurPromise=new Promise(function(s){return function(n){return b(function(){var p;return o(s.element)||(s.focused=null,(p=s.delegate)!=null&&typeof p.compositionControllerDidBlur=="function"&&p.compositionControllerDidBlur()),s.blurPromise=null,n()})}}(this))},u.prototype.didClickAttachment=function(s,n){var p,c,v;return p=this.findAttachmentForElement(n),c=y(s.target,{matchingSelector:"figcaption"})!=null,(v=this.delegate)!=null&&typeof v.compositionControllerDidSelectAttachment=="function"?v.compositionControllerDidSelectAttachment(p,{editCaption:c}):void 0},u.prototype.getSerializableElement=function(){return this.isEditingAttachment()?this.documentView.shadowElement:this.element},u.prototype.render=function(){var s,n,p;return this.revision!==this.composition.revision&&(this.documentView.setDocument(this.composition.document),this.documentView.render(),this.revision=this.composition.revision),this.canSyncDocumentView()&&!this.documentView.isSynced()&&((s=this.delegate)!=null&&typeof s.compositionControllerWillSyncDocumentView=="function"&&s.compositionControllerWillSyncDocumentView(),this.documentView.sync(),(n=this.delegate)!=null&&typeof n.compositionControllerDidSyncDocumentView=="function"&&n.compositionControllerDidSyncDocumentView()),(p=this.delegate)!=null&&typeof p.compositionControllerDidRender=="function"?p.compositionControllerDidRender():void 0},u.prototype.rerenderViewForObject=function(s){return this.invalidateViewForObject(s),this.render()},u.prototype.invalidateViewForObject=function(s){return this.documentView.invalidateViewForObject(s)},u.prototype.isViewCachingEnabled=function(){return this.documentView.isViewCachingEnabled()},u.prototype.enableViewCaching=function(){return this.documentView.enableViewCaching()},u.prototype.disableViewCaching=function(){return this.documentView.disableViewCaching()},u.prototype.refreshViewCache=function(){return this.documentView.garbageCollectCachedViews()},u.prototype.isEditingAttachment=function(){return this.attachmentEditor!=null},u.prototype.installAttachmentEditorForAttachment=function(s,n){var p,c,v;if(((v=this.attachmentEditor)!=null?v.attachment:void 0)!==s&&(c=this.documentView.findElementForObject(s)))return this.uninstallAttachmentEditor(),p=this.composition.document.getAttachmentPieceForAttachment(s),this.attachmentEditor=new g.AttachmentEditorController(p,c,this.element,n),this.attachmentEditor.delegate=this},u.prototype.uninstallAttachmentEditor=function(){var s;return(s=this.attachmentEditor)!=null?s.uninstall():void 0},u.prototype.didUninstallAttachmentEditor=function(){return this.attachmentEditor=null,this.render()},u.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment=function(s,n){var p;return(p=this.delegate)!=null&&typeof p.compositionControllerWillUpdateAttachment=="function"&&p.compositionControllerWillUpdateAttachment(n),this.composition.updateAttributesForAttachment(s,n)},u.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment=function(s,n){var p;return(p=this.delegate)!=null&&typeof p.compositionControllerWillUpdateAttachment=="function"&&p.compositionControllerWillUpdateAttachment(n),this.composition.removeAttributeForAttachment(s,n)},u.prototype.attachmentEditorDidRequestRemovalOfAttachment=function(s){var n;return(n=this.delegate)!=null&&typeof n.compositionControllerDidRequestRemovalOfAttachment=="function"?n.compositionControllerDidRequestRemovalOfAttachment(s):void 0},u.prototype.attachmentEditorDidRequestDeselectingAttachment=function(s){var n;return(n=this.delegate)!=null&&typeof n.compositionControllerDidRequestDeselectingAttachment=="function"?n.compositionControllerDidRequestDeselectingAttachment(s):void 0},u.prototype.canSyncDocumentView=function(){return!this.isEditingAttachment()},u.prototype.findAttachmentForElement=function(s){return this.composition.document.getAttachmentById(parseInt(s.dataset.trixId,10))},u}(g.BasicObject)}.call(this),function(){var x,b,y,h=function(a,d){return function(){return a.apply(d,arguments)}},o=function(a,d){function i(){this.constructor=a}for(var u in d)e.call(d,u)&&(a[u]=d[u]);return i.prototype=d.prototype,a.prototype=new i,a.__super__=d.prototype,a},e={}.hasOwnProperty;b=g.handleEvent,y=g.triggerEvent,x=g.findClosestElementFromNode,g.ToolbarController=function(a){function d(f){this.element=f,this.didKeyDownDialogInput=h(this.didKeyDownDialogInput,this),this.didClickDialogButton=h(this.didClickDialogButton,this),this.didClickAttributeButton=h(this.didClickAttributeButton,this),this.didClickActionButton=h(this.didClickActionButton,this),this.attributes={},this.actions={},this.resetDialogInputs(),b("mousedown",{onElement:this.element,matchingSelector:i,withCallback:this.didClickActionButton}),b("mousedown",{onElement:this.element,matchingSelector:s,withCallback:this.didClickAttributeButton}),b("click",{onElement:this.element,matchingSelector:A,preventDefault:!0}),b("click",{onElement:this.element,matchingSelector:n,withCallback:this.didClickDialogButton}),b("keydown",{onElement:this.element,matchingSelector:p,withCallback:this.didKeyDownDialogInput})}var i,u,s,n,p,c,v,t,r,l,A;return o(d,a),s="[data-trix-attribute]",i="[data-trix-action]",A=s+", "+i,c="[data-trix-dialog]",u=c+"[data-trix-active]",n=c+" [data-trix-method]",p=c+" [data-trix-input]",d.prototype.didClickActionButton=function(f,m){var C,S,L;return(S=this.delegate)!=null&&S.toolbarDidClickButton(),f.preventDefault(),C=v(m),this.getDialog(C)?this.toggleDialog(C):(L=this.delegate)!=null?L.toolbarDidInvokeAction(C):void 0},d.prototype.didClickAttributeButton=function(f,m){var C,S,L;return(S=this.delegate)!=null&&S.toolbarDidClickButton(),f.preventDefault(),C=t(m),this.getDialog(C)?this.toggleDialog(C):(L=this.delegate)!=null&&L.toolbarDidToggleAttribute(C),this.refreshAttributeButtons()},d.prototype.didClickDialogButton=function(f,m){var C,S;return C=x(m,{matchingSelector:c}),S=m.getAttribute("data-trix-method"),this[S].call(this,C)},d.prototype.didKeyDownDialogInput=function(f,m){var C,S;return f.keyCode===13&&(f.preventDefault(),C=m.getAttribute("name"),S=this.getDialog(C),this.setAttribute(S)),f.keyCode===27?(f.preventDefault(),this.hideDialog()):void 0},d.prototype.updateActions=function(f){return this.actions=f,this.refreshActionButtons()},d.prototype.refreshActionButtons=function(){return this.eachActionButton(function(f){return function(m,C){return m.disabled=f.actions[C]===!1}}(this))},d.prototype.eachActionButton=function(f){var m,C,S,L,O;for(L=this.element.querySelectorAll(i),O=[],C=0,S=L.length;S>C;C++)m=L[C],O.push(f(m,v(m)));return O},d.prototype.updateAttributes=function(f){return this.attributes=f,this.refreshAttributeButtons()},d.prototype.refreshAttributeButtons=function(){return this.eachAttributeButton(function(f){return function(m,C){return m.disabled=f.attributes[C]===!1,f.attributes[C]||f.dialogIsVisible(C)?(m.setAttribute("data-trix-active",""),m.classList.add("trix-active")):(m.removeAttribute("data-trix-active"),m.classList.remove("trix-active"))}}(this))},d.prototype.eachAttributeButton=function(f){var m,C,S,L,O;for(L=this.element.querySelectorAll(s),O=[],C=0,S=L.length;S>C;C++)m=L[C],O.push(f(m,t(m)));return O},d.prototype.applyKeyboardCommand=function(f){var m,C,S,L,O,D,R;for(O=JSON.stringify(f.sort()),R=this.element.querySelectorAll("[data-trix-key]"),L=0,D=R.length;D>L;L++)if(m=R[L],S=m.getAttribute("data-trix-key").split("+"),C=JSON.stringify(S.sort()),C===O)return y("mousedown",{onElement:m}),!0;return!1},d.prototype.dialogIsVisible=function(f){var m;return(m=this.getDialog(f))?m.hasAttribute("data-trix-active"):void 0},d.prototype.toggleDialog=function(f){return this.dialogIsVisible(f)?this.hideDialog():this.showDialog(f)},d.prototype.showDialog=function(f){var m,C,S,L,O,D,R,E,w,k;for(this.hideDialog(),(R=this.delegate)!=null&&R.toolbarWillShowDialog(),S=this.getDialog(f),S.setAttribute("data-trix-active",""),S.classList.add("trix-active"),E=S.querySelectorAll("input[disabled]"),L=0,D=E.length;D>L;L++)C=E[L],C.removeAttribute("disabled");return(m=t(S))&&(O=l(S,f))&&(O.value=(w=this.attributes[m])!=null?w:"",O.select()),(k=this.delegate)!=null?k.toolbarDidShowDialog(f):void 0},d.prototype.setAttribute=function(f){var m,C,S;return m=t(f),C=l(f,m),C.willValidate&&!C.checkValidity()?(C.setAttribute("data-trix-validate",""),C.classList.add("trix-validate"),C.focus()):((S=this.delegate)!=null&&S.toolbarDidUpdateAttribute(m,C.value),this.hideDialog())},d.prototype.removeAttribute=function(f){var m,C;return m=t(f),(C=this.delegate)!=null&&C.toolbarDidRemoveAttribute(m),this.hideDialog()},d.prototype.hideDialog=function(){var f,m;return(f=this.element.querySelector(u))?(f.removeAttribute("data-trix-active"),f.classList.remove("trix-active"),this.resetDialogInputs(),(m=this.delegate)!=null?m.toolbarDidHideDialog(r(f)):void 0):void 0},d.prototype.resetDialogInputs=function(){var f,m,C,S,L;for(S=this.element.querySelectorAll(p),L=[],f=0,C=S.length;C>f;f++)m=S[f],m.setAttribute("disabled","disabled"),m.removeAttribute("data-trix-validate"),L.push(m.classList.remove("trix-validate"));return L},d.prototype.getDialog=function(f){return this.element.querySelector("[data-trix-dialog="+f+"]")},l=function(f,m){return m==null&&(m=t(f)),f.querySelector("[data-trix-input][name='"+m+"']")},v=function(f){return f.getAttribute("data-trix-action")},t=function(f){var m;return(m=f.getAttribute("data-trix-attribute"))!=null?m:f.getAttribute("data-trix-dialog-attribute")},r=function(f){return f.getAttribute("data-trix-dialog")},d}(g.BasicObject)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.ImagePreloadOperation=function(y){function h(o){this.url=o}return x(h,y),h.prototype.perform=function(o){var e;return e=new Image,e.onload=function(a){return function(){return e.width=a.width=e.naturalWidth,e.height=a.height=e.naturalHeight,o(!0,e)}}(this),e.onerror=function(){return o(!1)},e.src=this.url},h}(g.Operation)}.call(this),function(){var x=function(h,o){return function(){return h.apply(o,arguments)}},b=function(h,o){function e(){this.constructor=h}for(var a in o)y.call(o,a)&&(h[a]=o[a]);return e.prototype=o.prototype,h.prototype=new e,h.__super__=o.prototype,h},y={}.hasOwnProperty;g.Attachment=function(h){function o(e){e==null&&(e={}),this.releaseFile=x(this.releaseFile,this),o.__super__.constructor.apply(this,arguments),this.attributes=g.Hash.box(e),this.didChangeAttributes()}return b(o,h),o.previewablePattern=/^image(\/(gif|png|jpe?g)|$)/,o.attachmentForFile=function(e){var a,d;return d=this.attributesForFile(e),a=new this(d),a.setFile(e),a},o.attributesForFile=function(e){return new g.Hash({filename:e.name,filesize:e.size,contentType:e.type})},o.fromJSON=function(e){return new this(e)},o.prototype.getAttribute=function(e){return this.attributes.get(e)},o.prototype.hasAttribute=function(e){return this.attributes.has(e)},o.prototype.getAttributes=function(){return this.attributes.toObject()},o.prototype.setAttributes=function(e){var a,d,i;return e==null&&(e={}),a=this.attributes.merge(e),this.attributes.isEqualTo(a)?void 0:(this.attributes=a,this.didChangeAttributes(),(d=this.previewDelegate)!=null&&typeof d.attachmentDidChangeAttributes=="function"&&d.attachmentDidChangeAttributes(this),(i=this.delegate)!=null&&typeof i.attachmentDidChangeAttributes=="function"?i.attachmentDidChangeAttributes(this):void 0)},o.prototype.didChangeAttributes=function(){return this.isPreviewable()?this.preloadURL():void 0},o.prototype.isPending=function(){return this.file!=null&&!(this.getURL()||this.getHref())},o.prototype.isPreviewable=function(){return this.attributes.has("previewable")?this.attributes.get("previewable"):this.constructor.previewablePattern.test(this.getContentType())},o.prototype.getType=function(){return this.hasContent()?"content":this.isPreviewable()?"preview":"file"},o.prototype.getURL=function(){return this.attributes.get("url")},o.prototype.getHref=function(){return this.attributes.get("href")},o.prototype.getFilename=function(){var e;return(e=this.attributes.get("filename"))!=null?e:""},o.prototype.getFilesize=function(){return this.attributes.get("filesize")},o.prototype.getFormattedFilesize=function(){var e;return e=this.attributes.get("filesize"),typeof e=="number"?g.config.fileSize.formatter(e):""},o.prototype.getExtension=function(){var e;return(e=this.getFilename().match(/\.(\w+)$/))!=null?e[1].toLowerCase():void 0},o.prototype.getContentType=function(){return this.attributes.get("contentType")},o.prototype.hasContent=function(){return this.attributes.has("content")},o.prototype.getContent=function(){return this.attributes.get("content")},o.prototype.getWidth=function(){return this.attributes.get("width")},o.prototype.getHeight=function(){return this.attributes.get("height")},o.prototype.getFile=function(){return this.file},o.prototype.setFile=function(e){return this.file=e,this.isPreviewable()?this.preloadFile():void 0},o.prototype.releaseFile=function(){return this.releasePreloadedFile(),this.file=null},o.prototype.getUploadProgress=function(){var e;return(e=this.uploadProgress)!=null?e:0},o.prototype.setUploadProgress=function(e){var a;return this.uploadProgress!==e?(this.uploadProgress=e,(a=this.uploadProgressDelegate)!=null&&typeof a.attachmentDidChangeUploadProgress=="function"?a.attachmentDidChangeUploadProgress(this):void 0):void 0},o.prototype.toJSON=function(){return this.getAttributes()},o.prototype.getCacheKey=function(){return[o.__super__.getCacheKey.apply(this,arguments),this.attributes.getCacheKey(),this.getPreviewURL()].join("/")},o.prototype.getPreviewURL=function(){return this.previewURL||this.preloadingURL},o.prototype.setPreviewURL=function(e){var a,d;return e!==this.getPreviewURL()?(this.previewURL=e,(a=this.previewDelegate)!=null&&typeof a.attachmentDidChangeAttributes=="function"&&a.attachmentDidChangeAttributes(this),(d=this.delegate)!=null&&typeof d.attachmentDidChangePreviewURL=="function"?d.attachmentDidChangePreviewURL(this):void 0):void 0},o.prototype.preloadURL=function(){return this.preload(this.getURL(),this.releaseFile)},o.prototype.preloadFile=function(){return this.file?(this.fileObjectURL=URL.createObjectURL(this.file),this.preload(this.fileObjectURL)):void 0},o.prototype.releasePreloadedFile=function(){return this.fileObjectURL?(URL.revokeObjectURL(this.fileObjectURL),this.fileObjectURL=null):void 0},o.prototype.preload=function(e,a){var d;return e&&e!==this.getPreviewURL()?(this.preloadingURL=e,d=new g.ImagePreloadOperation(e),d.then(function(i){return function(u){var s,n;return n=u.width,s=u.height,i.getWidth()&&i.getHeight()||i.setAttributes({width:n,height:s}),i.preloadingURL=null,i.setPreviewURL(e),typeof a=="function"?a():void 0}}(this)).catch(function(i){return function(){return i.preloadingURL=null,typeof a=="function"?a():void 0}}(this))):void 0},o}(g.Object)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.Piece=function(y){function h(o,e){e==null&&(e={}),h.__super__.constructor.apply(this,arguments),this.attributes=g.Hash.box(e)}return x(h,y),h.types={},h.registerType=function(o,e){return e.type=o,this.types[o]=e},h.fromJSON=function(o){var e;return(e=this.types[o.type])?e.fromJSON(o):void 0},h.prototype.copyWithAttributes=function(o){return new this.constructor(this.getValue(),o)},h.prototype.copyWithAdditionalAttributes=function(o){return this.copyWithAttributes(this.attributes.merge(o))},h.prototype.copyWithoutAttribute=function(o){return this.copyWithAttributes(this.attributes.remove(o))},h.prototype.copy=function(){return this.copyWithAttributes(this.attributes)},h.prototype.getAttribute=function(o){return this.attributes.get(o)},h.prototype.getAttributesHash=function(){return this.attributes},h.prototype.getAttributes=function(){return this.attributes.toObject()},h.prototype.getCommonAttributes=function(){var o,e,a;return(a=pieceList.getPieceAtIndex(0))?(o=a.attributes,e=o.getKeys(),pieceList.eachPiece(function(d){return e=o.getKeysCommonToHash(d.attributes),o=o.slice(e)}),o.toObject()):{}},h.prototype.hasAttribute=function(o){return this.attributes.has(o)},h.prototype.hasSameStringValueAsPiece=function(o){return o!=null&&this.toString()===o.toString()},h.prototype.hasSameAttributesAsPiece=function(o){return o!=null&&(this.attributes===o.attributes||this.attributes.isEqualTo(o.attributes))},h.prototype.isBlockBreak=function(){return!1},h.prototype.isEqualTo=function(o){return h.__super__.isEqualTo.apply(this,arguments)||this.hasSameConstructorAs(o)&&this.hasSameStringValueAsPiece(o)&&this.hasSameAttributesAsPiece(o)},h.prototype.isEmpty=function(){return this.length===0},h.prototype.isSerializable=function(){return!0},h.prototype.toJSON=function(){return{type:this.constructor.type,attributes:this.getAttributes()}},h.prototype.contentsForInspection=function(){return{type:this.constructor.type,attributes:this.attributes.inspect()}},h.prototype.canBeGrouped=function(){return this.hasAttribute("href")},h.prototype.canBeGroupedWith=function(o){return this.getAttribute("href")===o.getAttribute("href")},h.prototype.getLength=function(){return this.length},h.prototype.canBeConsolidatedWith=function(){return!1},h}(g.Object)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.Piece.registerType("attachment",g.AttachmentPiece=function(y){function h(o){this.attachment=o,h.__super__.constructor.apply(this,arguments),this.length=1,this.ensureAttachmentExclusivelyHasAttribute("href"),this.attachment.hasContent()||this.removeProhibitedAttributes()}return x(h,y),h.fromJSON=function(o){return new this(g.Attachment.fromJSON(o.attachment),o.attributes)},h.permittedAttributes=["caption","presentation"],h.prototype.ensureAttachmentExclusivelyHasAttribute=function(o){return this.hasAttribute(o)?(this.attachment.hasAttribute(o)||this.attachment.setAttributes(this.attributes.slice(o)),this.attributes=this.attributes.remove(o)):void 0},h.prototype.removeProhibitedAttributes=function(){var o;return o=this.attributes.slice(this.constructor.permittedAttributes),o.isEqualTo(this.attributes)?void 0:this.attributes=o},h.prototype.getValue=function(){return this.attachment},h.prototype.isSerializable=function(){return!this.attachment.isPending()},h.prototype.getCaption=function(){var o;return(o=this.attributes.get("caption"))!=null?o:""},h.prototype.isEqualTo=function(o){var e;return h.__super__.isEqualTo.apply(this,arguments)&&this.attachment.id===(o!=null&&(e=o.attachment)!=null?e.id:void 0)},h.prototype.toString=function(){return g.OBJECT_REPLACEMENT_CHARACTER},h.prototype.toJSON=function(){var o;return o=h.__super__.toJSON.apply(this,arguments),o.attachment=this.attachment,o},h.prototype.getCacheKey=function(){return[h.__super__.getCacheKey.apply(this,arguments),this.attachment.getCacheKey()].join("/")},h.prototype.toConsole=function(){return JSON.stringify(this.toString())},h}(g.Piece))}.call(this),function(){var x,b=function(h,o){function e(){this.constructor=h}for(var a in o)y.call(o,a)&&(h[a]=o[a]);return e.prototype=o.prototype,h.prototype=new e,h.__super__=o.prototype,h},y={}.hasOwnProperty;x=g.normalizeNewlines,g.Piece.registerType("string",g.StringPiece=function(h){function o(e){o.__super__.constructor.apply(this,arguments),this.string=x(e),this.length=this.string.length}return b(o,h),o.fromJSON=function(e){return new this(e.string,e.attributes)},o.prototype.getValue=function(){return this.string},o.prototype.toString=function(){return this.string.toString()},o.prototype.isBlockBreak=function(){return this.toString()===` -`&&this.getAttribute("blockBreak")===!0},o.prototype.toJSON=function(){var e;return e=o.__super__.toJSON.apply(this,arguments),e.string=this.string,e},o.prototype.canBeConsolidatedWith=function(e){return e!=null&&this.hasSameConstructorAs(e)&&this.hasSameAttributesAsPiece(e)},o.prototype.consolidateWith=function(e){return new this.constructor(this.toString()+e.toString(),this.attributes)},o.prototype.splitAtOffset=function(e){var a,d;return e===0?(a=null,d=this):e===this.length?(a=this,d=null):(a=new this.constructor(this.string.slice(0,e),this.attributes),d=new this.constructor(this.string.slice(e),this.attributes)),[a,d]},o.prototype.toConsole=function(){var e;return e=this.string,e.length>15&&(e=e.slice(0,14)+"\u2026"),JSON.stringify(e.toString())},o}(g.Piece))}.call(this),function(){var x,b=function(o,e){function a(){this.constructor=o}for(var d in e)y.call(e,d)&&(o[d]=e[d]);return a.prototype=e.prototype,o.prototype=new a,o.__super__=e.prototype,o},y={}.hasOwnProperty,h=[].slice;x=g.spliceArray,g.SplittableList=function(o){function e(u){u==null&&(u=[]),e.__super__.constructor.apply(this,arguments),this.objects=u.slice(0),this.length=this.objects.length}var a,d,i;return b(e,o),e.box=function(u){return u instanceof this?u:new this(u)},e.prototype.indexOf=function(u){return this.objects.indexOf(u)},e.prototype.splice=function(){var u;return u=1<=arguments.length?h.call(arguments,0):[],new this.constructor(x.apply(null,[this.objects].concat(h.call(u))))},e.prototype.eachObject=function(u){var s,n,p,c,v,t;for(v=this.objects,t=[],n=s=0,p=v.length;p>s;n=++s)c=v[n],t.push(u(c,n));return t},e.prototype.insertObjectAtIndex=function(u,s){return this.splice(s,0,u)},e.prototype.insertSplittableListAtIndex=function(u,s){return this.splice.apply(this,[s,0].concat(h.call(u.objects)))},e.prototype.insertSplittableListAtPosition=function(u,s){var n,p,c;return c=this.splitObjectAtPosition(s),p=c[0],n=c[1],new this.constructor(p).insertSplittableListAtIndex(u,n)},e.prototype.editObjectAtIndex=function(u,s){return this.replaceObjectAtIndex(s(this.objects[u]),u)},e.prototype.replaceObjectAtIndex=function(u,s){return this.splice(s,1,u)},e.prototype.removeObjectAtIndex=function(u){return this.splice(u,1)},e.prototype.getObjectAtIndex=function(u){return this.objects[u]},e.prototype.getSplittableListInRange=function(u){var s,n,p,c;return p=this.splitObjectsAtRange(u),n=p[0],s=p[1],c=p[2],new this.constructor(n.slice(s,c+1))},e.prototype.selectSplittableList=function(u){var s,n;return n=function(){var p,c,v,t;for(v=this.objects,t=[],p=0,c=v.length;c>p;p++)s=v[p],u(s)&&t.push(s);return t}.call(this),new this.constructor(n)},e.prototype.removeObjectsInRange=function(u){var s,n,p,c;return p=this.splitObjectsAtRange(u),n=p[0],s=p[1],c=p[2],new this.constructor(n).splice(s,c-s+1)},e.prototype.transformObjectsInRange=function(u,s){var n,p,c,v,t,r,l;return t=this.splitObjectsAtRange(u),v=t[0],p=t[1],r=t[2],l=function(){var A,f,m;for(m=[],n=A=0,f=v.length;f>A;n=++A)c=v[n],m.push(n>=p&&r>=n?s(c):c);return m}(),new this.constructor(l)},e.prototype.splitObjectsAtRange=function(u){var s,n,p,c,v,t;return c=this.splitObjectAtPosition(i(u)),n=c[0],s=c[1],p=c[2],v=new this.constructor(n).splitObjectAtPosition(a(u)+p),n=v[0],t=v[1],[n,s,t-1]},e.prototype.getObjectAtPosition=function(u){var s,n,p;return p=this.findIndexAndOffsetAtPosition(u),s=p.index,n=p.offset,this.objects[s]},e.prototype.splitObjectAtPosition=function(u){var s,n,p,c,v,t,r,l,A,f;return t=this.findIndexAndOffsetAtPosition(u),s=t.index,v=t.offset,c=this.objects.slice(0),s!=null?v===0?(A=s,f=0):(p=this.getObjectAtIndex(s),r=p.splitAtOffset(v),n=r[0],l=r[1],c.splice(s,1,n,l),A=s+1,f=n.getLength()-v):(A=c.length,f=0),[c,A,f]},e.prototype.consolidate=function(){var u,s,n,p,c,v;for(p=[],c=this.objects[0],v=this.objects.slice(1),u=0,s=v.length;s>u;u++)n=v[u],typeof c.canBeConsolidatedWith=="function"&&c.canBeConsolidatedWith(n)?c=c.consolidateWith(n):(p.push(c),c=n);return c!=null&&p.push(c),new this.constructor(p)},e.prototype.consolidateFromIndexToIndex=function(u,s){var n,p,c;return p=this.objects.slice(0),c=p.slice(u,s+1),n=new this.constructor(c).consolidate().toArray(),this.splice.apply(this,[u,c.length].concat(h.call(n)))},e.prototype.findIndexAndOffsetAtPosition=function(u){var s,n,p,c,v,t,r;for(s=0,r=this.objects,p=n=0,c=r.length;c>n;p=++n){if(t=r[p],v=s+t.getLength(),u>=s&&v>u)return{index:p,offset:u-s};s=v}return{index:null,offset:null}},e.prototype.findPositionAtIndexAndOffset=function(u,s){var n,p,c,v,t,r;for(t=0,r=this.objects,n=p=0,c=r.length;c>p;n=++p)if(v=r[n],u>n)t+=v.getLength();else if(n===u){t+=s;break}return t},e.prototype.getEndPosition=function(){var u,s;return this.endPosition!=null?this.endPosition:this.endPosition=function(){var n,p,c;for(s=0,c=this.objects,n=0,p=c.length;p>n;n++)u=c[n],s+=u.getLength();return s}.call(this)},e.prototype.toString=function(){return this.objects.join("")},e.prototype.toArray=function(){return this.objects.slice(0)},e.prototype.toJSON=function(){return this.toArray()},e.prototype.isEqualTo=function(u){return e.__super__.isEqualTo.apply(this,arguments)||d(this.objects,u?.objects)},d=function(u,s){var n,p,c,v,t;if(s==null&&(s=[]),u.length!==s.length)return!1;for(t=!0,p=n=0,c=u.length;c>n;p=++n)v=u[p],t&&!v.isEqualTo(s[p])&&(t=!1);return t},e.prototype.contentsForInspection=function(){var u;return{objects:"["+function(){var s,n,p,c;for(p=this.objects,c=[],s=0,n=p.length;n>s;s++)u=p[s],c.push(u.inspect());return c}.call(this).join(", ")+"]"}},i=function(u){return u[0]},a=function(u){return u[1]},e}(g.Object)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.Text=function(y){function h(o){var e;o==null&&(o=[]),h.__super__.constructor.apply(this,arguments),this.pieceList=new g.SplittableList(function(){var a,d,i;for(i=[],a=0,d=o.length;d>a;a++)e=o[a],e.isEmpty()||i.push(e);return i}())}return x(h,y),h.textForAttachmentWithAttributes=function(o,e){var a;return a=new g.AttachmentPiece(o,e),new this([a])},h.textForStringWithAttributes=function(o,e){var a;return a=new g.StringPiece(o,e),new this([a])},h.fromJSON=function(o){var e,a;return a=function(){var d,i,u;for(u=[],d=0,i=o.length;i>d;d++)e=o[d],u.push(g.Piece.fromJSON(e));return u}(),new this(a)},h.prototype.copy=function(){return this.copyWithPieceList(this.pieceList)},h.prototype.copyWithPieceList=function(o){return new this.constructor(o.consolidate().toArray())},h.prototype.copyUsingObjectMap=function(o){var e,a;return a=function(){var d,i,u,s,n;for(u=this.getPieces(),n=[],d=0,i=u.length;i>d;d++)e=u[d],n.push((s=o.find(e))!=null?s:e);return n}.call(this),new this.constructor(a)},h.prototype.appendText=function(o){return this.insertTextAtPosition(o,this.getLength())},h.prototype.insertTextAtPosition=function(o,e){return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(o.pieceList,e))},h.prototype.removeTextAtRange=function(o){return this.copyWithPieceList(this.pieceList.removeObjectsInRange(o))},h.prototype.replaceTextAtRange=function(o,e){return this.removeTextAtRange(e).insertTextAtPosition(o,e[0])},h.prototype.moveTextFromRangeToPosition=function(o,e){var a,d;if(!(o[0]<=e&&e<=o[1]))return d=this.getTextAtRange(o),a=d.getLength(),o[0]a;a++)e=i[a],u.push(e.getAttributes());return u}.call(this),g.Hash.fromCommonAttributesOfObjects(o).toObject()},h.prototype.getCommonAttributesAtRange=function(o){var e;return(e=this.getTextAtRange(o).getCommonAttributes())!=null?e:{}},h.prototype.getExpandedRangeForAttributeAtOffset=function(o,e){var a,d,i;for(a=i=e,d=this.getLength();a>0&&this.getCommonAttributesAtRange([a-1,i])[o];)a--;for(;d>i&&this.getCommonAttributesAtRange([e,i+1])[o];)i++;return[a,i]},h.prototype.getTextAtRange=function(o){return this.copyWithPieceList(this.pieceList.getSplittableListInRange(o))},h.prototype.getStringAtRange=function(o){return this.pieceList.getSplittableListInRange(o).toString()},h.prototype.getStringAtPosition=function(o){return this.getStringAtRange([o,o+1])},h.prototype.startsWithString=function(o){return this.getStringAtRange([0,o.length])===o},h.prototype.endsWithString=function(o){var e;return e=this.getLength(),this.getStringAtRange([e-o.length,e])===o},h.prototype.getAttachmentPieces=function(){var o,e,a,d,i;for(d=this.pieceList.toArray(),i=[],o=0,e=d.length;e>o;o++)a=d[o],a.attachment!=null&&i.push(a);return i},h.prototype.getAttachments=function(){var o,e,a,d,i;for(d=this.getAttachmentPieces(),i=[],o=0,e=d.length;e>o;o++)a=d[o],i.push(a.attachment);return i},h.prototype.getAttachmentAndPositionById=function(o){var e,a,d,i,u,s;for(i=0,u=this.pieceList.toArray(),e=0,a=u.length;a>e;e++){if(d=u[e],((s=d.attachment)!=null?s.id:void 0)===o)return{attachment:d.attachment,position:i};i+=d.length}return{attachment:null,position:null}},h.prototype.getAttachmentById=function(o){var e,a,d;return d=this.getAttachmentAndPositionById(o),e=d.attachment,a=d.position,e},h.prototype.getRangeOfAttachment=function(o){var e,a;return a=this.getAttachmentAndPositionById(o.id),o=a.attachment,e=a.position,o!=null?[e,e+1]:void 0},h.prototype.updateAttributesForAttachment=function(o,e){var a;return(a=this.getRangeOfAttachment(e))?this.addAttributesAtRange(o,a):this},h.prototype.getLength=function(){return this.pieceList.getEndPosition()},h.prototype.isEmpty=function(){return this.getLength()===0},h.prototype.isEqualTo=function(o){var e;return h.__super__.isEqualTo.apply(this,arguments)||(o!=null&&(e=o.pieceList)!=null?e.isEqualTo(this.pieceList):void 0)},h.prototype.isBlockBreak=function(){return this.getLength()===1&&this.pieceList.getObjectAtIndex(0).isBlockBreak()},h.prototype.eachPiece=function(o){return this.pieceList.eachObject(o)},h.prototype.getPieces=function(){return this.pieceList.toArray()},h.prototype.getPieceAtPosition=function(o){return this.pieceList.getObjectAtPosition(o)},h.prototype.contentsForInspection=function(){return{pieceList:this.pieceList.inspect()}},h.prototype.toSerializableText=function(){var o;return o=this.pieceList.selectSplittableList(function(e){return e.isSerializable()}),this.copyWithPieceList(o)},h.prototype.toString=function(){return this.pieceList.toString()},h.prototype.toJSON=function(){return this.pieceList.toJSON()},h.prototype.toConsole=function(){var o;return JSON.stringify(function(){var e,a,d,i;for(d=this.pieceList.toArray(),i=[],e=0,a=d.length;a>e;e++)o=d[e],i.push(JSON.parse(o.toConsole()));return i}.call(this))},h.prototype.getDirection=function(){return g.getDirection(this.toString())},h.prototype.isRTL=function(){return this.getDirection()==="rtl"},h}(g.Object)}.call(this),function(){var x,b,y,h,o,e=function(u,s){function n(){this.constructor=u}for(var p in s)a.call(s,p)&&(u[p]=s[p]);return n.prototype=s.prototype,u.prototype=new n,u.__super__=s.prototype,u},a={}.hasOwnProperty,d=[].indexOf||function(u){for(var s=0,n=this.length;n>s;s++)if(s in this&&this[s]===u)return s;return-1},i=[].slice;x=g.arraysAreEqual,o=g.spliceArray,y=g.getBlockConfig,b=g.getBlockAttributeNames,h=g.getListAttributeNames,g.Block=function(u){function s(m,C){m==null&&(m=new g.Text),C==null&&(C=[]),s.__super__.constructor.apply(this,arguments),this.text=p(m),this.attributes=C}var n,p,c,v,t,r,l,A,f;return e(s,u),s.fromJSON=function(m){var C;return C=g.Text.fromJSON(m.text),new this(C,m.attributes)},s.prototype.isEmpty=function(){return this.text.isBlockBreak()},s.prototype.isEqualTo=function(m){return s.__super__.isEqualTo.apply(this,arguments)||this.text.isEqualTo(m?.text)&&x(this.attributes,m?.attributes)},s.prototype.copyWithText=function(m){return new this.constructor(m,this.attributes)},s.prototype.copyWithoutText=function(){return this.copyWithText(null)},s.prototype.copyWithAttributes=function(m){return new this.constructor(this.text,m)},s.prototype.copyWithoutAttributes=function(){return this.copyWithAttributes(null)},s.prototype.copyUsingObjectMap=function(m){var C;return this.copyWithText((C=m.find(this.text))?C:this.text.copyUsingObjectMap(m))},s.prototype.addAttribute=function(m){var C;return C=this.attributes.concat(v(m)),this.copyWithAttributes(C)},s.prototype.removeAttribute=function(m){var C,S;return S=y(m).listAttribute,C=r(r(this.attributes,m),S),this.copyWithAttributes(C)},s.prototype.removeLastAttribute=function(){return this.removeAttribute(this.getLastAttribute())},s.prototype.getLastAttribute=function(){return t(this.attributes)},s.prototype.getAttributes=function(){return this.attributes.slice(0)},s.prototype.getAttributeLevel=function(){return this.attributes.length},s.prototype.getAttributeAtLevel=function(m){return this.attributes[m-1]},s.prototype.hasAttribute=function(m){return d.call(this.attributes,m)>=0},s.prototype.hasAttributes=function(){return this.getAttributeLevel()>0},s.prototype.getLastNestableAttribute=function(){return t(this.getNestableAttributes())},s.prototype.getNestableAttributes=function(){var m,C,S,L,O;for(L=this.attributes,O=[],C=0,S=L.length;S>C;C++)m=L[C],y(m).nestable&&O.push(m);return O},s.prototype.getNestingLevel=function(){return this.getNestableAttributes().length},s.prototype.decreaseNestingLevel=function(){var m;return(m=this.getLastNestableAttribute())?this.removeAttribute(m):this},s.prototype.increaseNestingLevel=function(){var m,C,S;return(m=this.getLastNestableAttribute())?(S=this.attributes.lastIndexOf(m),C=o.apply(null,[this.attributes,S+1,0].concat(i.call(v(m)))),this.copyWithAttributes(C)):this},s.prototype.getListItemAttributes=function(){var m,C,S,L,O;for(L=this.attributes,O=[],C=0,S=L.length;S>C;C++)m=L[C],y(m).listAttribute&&O.push(m);return O},s.prototype.isListItem=function(){var m;return(m=y(this.getLastAttribute()))!=null?m.listAttribute:void 0},s.prototype.isTerminalBlock=function(){var m;return(m=y(this.getLastAttribute()))!=null?m.terminal:void 0},s.prototype.breaksOnReturn=function(){var m;return(m=y(this.getLastAttribute()))!=null?m.breakOnReturn:void 0},s.prototype.findLineBreakInDirectionFromPosition=function(m,C){var S,L;return L=this.toString(),S=function(){switch(m){case"forward":return L.indexOf(` -`,C);case"backward":return L.slice(0,C).lastIndexOf(` -`)}}(),S!==-1?S:void 0},s.prototype.contentsForInspection=function(){return{text:this.text.inspect(),attributes:this.attributes}},s.prototype.toString=function(){return this.text.toString()},s.prototype.toJSON=function(){return{text:this.text,attributes:this.attributes}},s.prototype.getDirection=function(){return this.text.getDirection()},s.prototype.isRTL=function(){return this.text.isRTL()},s.prototype.getLength=function(){return this.text.getLength()},s.prototype.canBeConsolidatedWith=function(m){return!this.hasAttributes()&&!m.hasAttributes()&&this.getDirection()===m.getDirection()},s.prototype.consolidateWith=function(m){var C,S;return C=g.Text.textForStringWithAttributes(` -`),S=this.getTextWithoutBlockBreak().appendText(C),this.copyWithText(S.appendText(m.text))},s.prototype.splitAtOffset=function(m){var C,S;return m===0?(C=null,S=this):m===this.getLength()?(C=this,S=null):(C=this.copyWithText(this.text.getTextAtRange([0,m])),S=this.copyWithText(this.text.getTextAtRange([m,this.getLength()]))),[C,S]},s.prototype.getBlockBreakPosition=function(){return this.text.getLength()-1},s.prototype.getTextWithoutBlockBreak=function(){return l(this.text)?this.text.getTextAtRange([0,this.getBlockBreakPosition()]):this.text.copy()},s.prototype.canBeGrouped=function(m){return this.attributes[m]},s.prototype.canBeGroupedWith=function(m,C){var S,L,O,D;return O=m.getAttributes(),L=O[C],S=this.attributes[C],!(S!==L||y(S).group===!1&&(D=O[C+1],d.call(h(),D)<0)||this.getDirection()!==m.getDirection()&&!m.isEmpty())},p=function(m){return m=f(m),m=n(m)},f=function(m){var C,S,L,O,D,R;return O=!1,R=m.getPieces(),S=2<=R.length?i.call(R,0,C=R.length-1):(C=0,[]),L=R[C++],L==null?m:(S=function(){var E,w,k;for(k=[],E=0,w=S.length;w>E;E++)D=S[E],D.isBlockBreak()?(O=!0,k.push(A(D))):k.push(D);return k}(),O?new g.Text(i.call(S).concat([L])):m)},c=g.Text.textForStringWithAttributes(` -`,{blockBreak:!0}),n=function(m){return l(m)?m:m.appendText(c)},l=function(m){var C,S;return S=m.getLength(),S===0?!1:(C=m.getTextAtRange([S-1,S]),C.isBlockBreak())},A=function(m){return m.copyWithoutAttribute("blockBreak")},v=function(m){var C;return C=y(m).listAttribute,C!=null?[C,m]:[m]},t=function(m){return m.slice(-1)[0]},r=function(m,C){var S;return S=m.lastIndexOf(C),S===-1?m:o(m,S,1)},s}(g.Object)}.call(this),function(){var x,b,y,h=function(d,i){function u(){this.constructor=d}for(var s in i)o.call(i,s)&&(d[s]=i[s]);return u.prototype=i.prototype,d.prototype=new u,d.__super__=i.prototype,d},o={}.hasOwnProperty,e=[].indexOf||function(d){for(var i=0,u=this.length;u>i;i++)if(i in this&&this[i]===d)return i;return-1},a=[].slice;b=g.tagName,y=g.walkTree,x=g.nodeIsAttachmentElement,g.HTMLSanitizer=function(d){function i(c,v){var t;t=v??{},this.allowedAttributes=t.allowedAttributes,this.forbiddenProtocols=t.forbiddenProtocols,this.forbiddenElements=t.forbiddenElements,this.allowedAttributes==null&&(this.allowedAttributes=u),this.forbiddenProtocols==null&&(this.forbiddenProtocols=n),this.forbiddenElements==null&&(this.forbiddenElements=s),this.body=p(c)}var u,s,n,p;return h(i,d),u="style href src width height class".split(" "),n="javascript:".split(" "),s="script iframe".split(" "),i.sanitize=function(c,v){var t;return t=new this(c,v),t.sanitize(),t},i.prototype.sanitize=function(){return this.sanitizeElements(),this.normalizeListElementNesting()},i.prototype.getHTML=function(){return this.body.innerHTML},i.prototype.getBody=function(){return this.body},i.prototype.sanitizeElements=function(){var c,v,t,r,l;for(l=y(this.body),r=[];l.nextNode();)switch(t=l.currentNode,t.nodeType){case Node.ELEMENT_NODE:this.elementIsRemovable(t)?r.push(t):this.sanitizeElement(t);break;case Node.COMMENT_NODE:r.push(t)}for(c=0,v=r.length;v>c;c++)t=r[c],g.removeNode(t);return this.body},i.prototype.sanitizeElement=function(c){var v,t,r,l,A;for(c.hasAttribute("href")&&(l=c.protocol,e.call(this.forbiddenProtocols,l)>=0&&c.removeAttribute("href")),A=a.call(c.attributes),v=0,t=A.length;t>v;v++)r=A[v].name,e.call(this.allowedAttributes,r)>=0||r.indexOf("data-trix")===0||c.removeAttribute(r);return c},i.prototype.normalizeListElementNesting=function(){var c,v,t,r,l;for(l=a.call(this.body.querySelectorAll("ul,ol")),c=0,v=l.length;v>c;c++)t=l[c],(r=t.previousElementSibling)&&b(r)==="li"&&r.appendChild(t);return this.body},i.prototype.elementIsRemovable=function(c){return c?.nodeType===Node.ELEMENT_NODE?this.elementIsForbidden(c)||this.elementIsntSerializable(c):void 0},i.prototype.elementIsForbidden=function(c){var v;return v=b(c),e.call(this.forbiddenElements,v)>=0},i.prototype.elementIsntSerializable=function(c){return c.getAttribute("data-trix-serialize")==="false"&&!x(c)},p=function(c){var v,t,r,l,A;for(c==null&&(c=""),c=c.replace(/<\/html[^>]*>[^]*$/i,""),v=document.implementation.createHTMLDocument(""),v.documentElement.innerHTML=c,A=v.head.querySelectorAll("style"),r=0,l=A.length;l>r;r++)t=A[r],v.body.appendChild(t);return v.body},i}(g.BasicObject)}.call(this),function(){var x,b,y,h,o,e,a,d,i,u,s,n=function(v,t){function r(){this.constructor=v}for(var l in t)p.call(t,l)&&(v[l]=t[l]);return r.prototype=t.prototype,v.prototype=new r,v.__super__=t.prototype,v},p={}.hasOwnProperty,c=[].indexOf||function(v){for(var t=0,r=this.length;r>t;t++)if(t in this&&this[t]===v)return t;return-1};x=g.arraysAreEqual,e=g.makeElement,u=g.tagName,o=g.getBlockTagNames,s=g.walkTree,h=g.findClosestElementFromNode,y=g.elementContainsNode,a=g.nodeIsAttachmentElement,d=g.normalizeSpaces,b=g.breakableWhitespacePattern,i=g.squishBreakableWhitespace,g.HTMLParser=function(v){function t(w,k){this.html=w,this.referenceElement=(k??{}).referenceElement,this.blocks=[],this.blockElements=[],this.processedElements=[]}var r,l,A,f,m,C,S,L,O,D,R,E;return n(t,v),t.parse=function(w,k){var T;return T=new this(w,k),T.parse(),T},t.prototype.getDocument=function(){return g.Document.fromJSON(this.blocks)},t.prototype.parse=function(){var w,k;try{for(this.createHiddenContainer(),w=g.HTMLSanitizer.sanitize(this.html).getHTML(),this.containerElement.innerHTML=w,k=s(this.containerElement,{usingFilter:S});k.nextNode();)this.processNode(k.currentNode);return this.translateBlockElementMarginsToNewlines()}finally{this.removeHiddenContainer()}},t.prototype.createHiddenContainer=function(){return this.referenceElement?(this.containerElement=this.referenceElement.cloneNode(!1),this.containerElement.removeAttribute("id"),this.containerElement.setAttribute("data-trix-internal",""),this.containerElement.style.display="none",this.referenceElement.parentNode.insertBefore(this.containerElement,this.referenceElement.nextSibling)):(this.containerElement=e({tagName:"div",style:{display:"none"}}),document.body.appendChild(this.containerElement))},t.prototype.removeHiddenContainer=function(){return g.removeNode(this.containerElement)},S=function(w){return u(w)==="style"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},t.prototype.processNode=function(w){switch(w.nodeType){case Node.TEXT_NODE:if(!this.isInsignificantTextNode(w))return this.appendBlockForTextNode(w),this.processTextNode(w);break;case Node.ELEMENT_NODE:return this.appendBlockForElement(w),this.processElement(w)}},t.prototype.appendBlockForTextNode=function(w){var k,T,N;return T=w.parentNode,T===this.currentBlockElement&&this.isBlockElement(w.previousSibling)?this.appendStringWithAttributes(` -`):T!==this.containerElement&&!this.isBlockElement(T)||(k=this.getBlockAttributes(T),x(k,(N=this.currentBlock)!=null?N.attributes:void 0))?void 0:(this.currentBlock=this.appendBlockForAttributesWithElement(k,T),this.currentBlockElement=T)},t.prototype.appendBlockForElement=function(w){var k,T,N,P;if(N=this.isBlockElement(w),T=y(this.currentBlockElement,w),N&&!this.isBlockElement(w.firstChild)){if((!this.isInsignificantTextNode(w.firstChild)||!this.isBlockElement(w.firstElementChild))&&(k=this.getBlockAttributes(w),w.firstChild))return T&&x(k,this.currentBlock.attributes)?this.appendStringWithAttributes(` -`):(this.currentBlock=this.appendBlockForAttributesWithElement(k,w),this.currentBlockElement=w)}else if(this.currentBlockElement&&!T&&!N)return(P=this.findParentBlockElement(w))?this.appendBlockForElement(P):(this.currentBlock=this.appendEmptyBlock(),this.currentBlockElement=null)},t.prototype.findParentBlockElement=function(w){var k;for(k=w.parentElement;k&&k!==this.containerElement;){if(this.isBlockElement(k)&&c.call(this.blockElements,k)>=0)return k;k=k.parentElement}return null},t.prototype.processTextNode=function(w){var k,T;return T=w.data,l(w.parentNode)||(T=i(T),R((k=w.previousSibling)!=null?k.textContent:void 0)&&(T=m(T))),this.appendStringWithAttributes(T,this.getTextAttributes(w.parentNode))},t.prototype.processElement=function(w){var k,T,N,P,_;if(a(w))return k=L(w,"attachment"),Object.keys(k).length&&(P=this.getTextAttributes(w),this.appendAttachmentWithAttributes(k,P),w.innerHTML=""),this.processedElements.push(w);switch(u(w)){case"br":return this.isExtraBR(w)||this.isBlockElement(w.nextSibling)||this.appendStringWithAttributes(` -`,this.getTextAttributes(w)),this.processedElements.push(w);case"img":k={url:w.getAttribute("src"),contentType:"image"},N=f(w);for(T in N)_=N[T],k[T]=_;return this.appendAttachmentWithAttributes(k,this.getTextAttributes(w)),this.processedElements.push(w);case"tr":if(w.parentNode.firstChild!==w)return this.appendStringWithAttributes(` -`);break;case"td":if(w.parentNode.firstChild!==w)return this.appendStringWithAttributes(" | ")}},t.prototype.appendBlockForAttributesWithElement=function(w,k){var T;return this.blockElements.push(k),T=r(w),this.blocks.push(T),T},t.prototype.appendEmptyBlock=function(){return this.appendBlockForAttributesWithElement([],null)},t.prototype.appendStringWithAttributes=function(w,k){return this.appendPiece(D(w,k))},t.prototype.appendAttachmentWithAttributes=function(w,k){return this.appendPiece(O(w,k))},t.prototype.appendPiece=function(w){return this.blocks.length===0&&this.appendEmptyBlock(),this.blocks[this.blocks.length-1].text.push(w)},t.prototype.appendStringToTextAtIndex=function(w,k){var T,N;return N=this.blocks[k].text,T=N[N.length-1],T?.type==="string"?T.string+=w:N.push(D(w))},t.prototype.prependStringToTextAtIndex=function(w,k){var T,N;return N=this.blocks[k].text,T=N[0],T?.type==="string"?T.string=w+T.string:N.unshift(D(w))},D=function(w,k){var T;return k==null&&(k={}),T="string",w=d(w),{string:w,attributes:k,type:T}},O=function(w,k){var T;return k==null&&(k={}),T="attachment",{attachment:w,attributes:k,type:T}},r=function(w){var k;return w==null&&(w={}),k=[],{text:k,attributes:w}},t.prototype.getTextAttributes=function(w){var k,T,N,P,_,F,B,M,U,H,z,j;N={},U=g.config.textAttributes;for(k in U)if(_=U[k],_.tagName&&h(w,{matchingSelector:_.tagName,untilNode:this.containerElement}))N[k]=!0;else if(_.parser){if(j=_.parser(w)){for(T=!1,H=this.findBlockElementAncestors(w),F=0,M=H.length;M>F;F++)if(P=H[F],_.parser(P)===j){T=!0;break}T||(N[k]=j)}}else _.styleProperty&&(j=w.style[_.styleProperty])&&(N[k]=j);if(a(w)){z=L(w,"attributes");for(B in z)j=z[B],N[B]=j}return N},t.prototype.getBlockAttributes=function(w){var k,T,N,P;for(T=[];w&&w!==this.containerElement;){P=g.config.blockAttributes;for(k in P)N=P[k],N.parse!==!1&&u(w)===N.tagName&&(typeof N.test=="function"&&N.test(w)||!N.test)&&(T.push(k),N.listAttribute&&T.push(N.listAttribute));w=w.parentNode}return T.reverse()},t.prototype.findBlockElementAncestors=function(w){var k,T;for(k=[];w&&w!==this.containerElement;)T=u(w),c.call(o(),T)>=0&&k.push(w),w=w.parentNode;return k},L=function(w,k){try{return JSON.parse(w.getAttribute("data-trix-"+k))}catch{return{}}},f=function(w){var k,T,N;return N=w.getAttribute("width"),T=w.getAttribute("height"),k={},N&&(k.width=parseInt(N,10)),T&&(k.height=parseInt(T,10)),k},t.prototype.isBlockElement=function(w){var k;if(w?.nodeType===Node.ELEMENT_NODE&&!a(w)&&!h(w,{matchingSelector:"td",untilNode:this.containerElement}))return k=u(w),c.call(o(),k)>=0||window.getComputedStyle(w).display==="block"},t.prototype.isInsignificantTextNode=function(w){var k,T,N;if(w?.nodeType===Node.TEXT_NODE&&E(w.data)&&(T=w.parentNode,N=w.previousSibling,k=w.nextSibling,(!C(T.previousSibling)||this.isBlockElement(T.previousSibling))&&!l(T)))return!N||this.isBlockElement(N)||!k||this.isBlockElement(k)},t.prototype.isExtraBR=function(w){return u(w)==="br"&&this.isBlockElement(w.parentNode)&&w.parentNode.lastChild===w},l=function(w){var k;return k=window.getComputedStyle(w).whiteSpace,k==="pre"||k==="pre-wrap"||k==="pre-line"},C=function(w){return w&&!R(w.textContent)},t.prototype.translateBlockElementMarginsToNewlines=function(){var w,k,T,N,P,_,F,B;for(k=this.getMarginOfDefaultBlockElement(),F=this.blocks,B=[],N=T=0,P=F.length;P>T;N=++T)w=F[N],(_=this.getMarginOfBlockElementAtIndex(N))&&(_.top>2*k.top&&this.prependStringToTextAtIndex(` -`,N),B.push(_.bottom>2*k.bottom?this.appendStringToTextAtIndex(` -`,N):void 0));return B},t.prototype.getMarginOfBlockElementAtIndex=function(w){var k,T;return!(k=this.blockElements[w])||!k.textContent||(T=u(k),c.call(o(),T)>=0||c.call(this.processedElements,k)>=0)?void 0:A(k)},t.prototype.getMarginOfDefaultBlockElement=function(){var w;return w=e(g.config.blockAttributes.default.tagName),this.containerElement.appendChild(w),A(w)},A=function(w){var k;return k=window.getComputedStyle(w),k.display==="block"?{top:parseInt(k.marginTop),bottom:parseInt(k.marginBottom)}:void 0},m=function(w){return w.replace(RegExp("^"+b.source+"+"),"")},E=function(w){return RegExp("^"+b.source+"*$").test(w)},R=function(w){return/\s$/.test(w)},t}(g.BasicObject)}.call(this),function(){var x,b,y,h,o=function(i,u){function s(){this.constructor=i}for(var n in u)e.call(u,n)&&(i[n]=u[n]);return s.prototype=u.prototype,i.prototype=new s,i.__super__=u.prototype,i},e={}.hasOwnProperty,a=[].slice,d=[].indexOf||function(i){for(var u=0,s=this.length;s>u;u++)if(u in this&&this[u]===i)return u;return-1};x=g.arraysAreEqual,y=g.normalizeRange,h=g.rangeIsCollapsed,b=g.getBlockConfig,g.Document=function(i){function u(n){n==null&&(n=[]),u.__super__.constructor.apply(this,arguments),n.length===0&&(n=[new g.Block]),this.blockList=g.SplittableList.box(n)}var s;return o(u,i),u.fromJSON=function(n){var p,c;return c=function(){var v,t,r;for(r=[],v=0,t=n.length;t>v;v++)p=n[v],r.push(g.Block.fromJSON(p));return r}(),new this(c)},u.fromHTML=function(n,p){return g.HTMLParser.parse(n,p).getDocument()},u.fromString=function(n,p){var c;return c=g.Text.textForStringWithAttributes(n,p),new this([new g.Block(c)])},u.prototype.isEmpty=function(){var n;return this.blockList.length===1&&(n=this.getBlockAtIndex(0),n.isEmpty()&&!n.hasAttributes())},u.prototype.copy=function(n){var p;return n==null&&(n={}),p=n.consolidateBlocks?this.blockList.consolidate().toArray():this.blockList.toArray(),new this.constructor(p)},u.prototype.copyUsingObjectsFromDocument=function(n){var p;return p=new g.ObjectMap(n.getObjects()),this.copyUsingObjectMap(p)},u.prototype.copyUsingObjectMap=function(n){var p,c,v;return c=function(){var t,r,l,A;for(l=this.getBlocks(),A=[],t=0,r=l.length;r>t;t++)p=l[t],A.push((v=n.find(p))?v:p.copyUsingObjectMap(n));return A}.call(this),new this.constructor(c)},u.prototype.copyWithBaseBlockAttributes=function(n){var p,c,v;return n==null&&(n=[]),v=function(){var t,r,l,A;for(l=this.getBlocks(),A=[],t=0,r=l.length;r>t;t++)c=l[t],p=n.concat(c.getAttributes()),A.push(c.copyWithAttributes(p));return A}.call(this),new this.constructor(v)},u.prototype.replaceBlock=function(n,p){var c;return c=this.blockList.indexOf(n),c===-1?this:new this.constructor(this.blockList.replaceObjectAtIndex(p,c))},u.prototype.insertDocumentAtRange=function(n,p){var c,v,t,r,l,A,f;return v=n.blockList,l=(p=y(p))[0],A=this.locationFromPosition(l),t=A.index,r=A.offset,f=this,c=this.getBlockAtPosition(l),h(p)&&c.isEmpty()&&!c.hasAttributes()?f=new this.constructor(f.blockList.removeObjectAtIndex(t)):c.getBlockBreakPosition()===r&&l++,f=f.removeTextAtRange(p),new this.constructor(f.blockList.insertSplittableListAtPosition(v,l))},u.prototype.mergeDocumentAtRange=function(n,p){var c,v,t,r,l,A,f,m,C,S,L,O;return L=(p=y(p))[0],S=this.locationFromPosition(L),v=this.getBlockAtIndex(S.index).getAttributes(),c=n.getBaseBlockAttributes(),O=v.slice(-c.length),x(c,O)?(f=v.slice(0,-c.length),A=n.copyWithBaseBlockAttributes(f)):A=n.copy({consolidateBlocks:!0}).copyWithBaseBlockAttributes(v),t=A.getBlockCount(),r=A.getBlockAtIndex(0),x(v,r.getAttributes())?(l=r.getTextWithoutBlockBreak(),C=this.insertTextAtRange(l,p),t>1&&(A=new this.constructor(A.getBlocks().slice(1)),m=L+l.getLength(),C=C.insertDocumentAtRange(A,m))):C=this.insertDocumentAtRange(A,p),C},u.prototype.insertTextAtRange=function(n,p){var c,v,t,r,l;return l=(p=y(p))[0],r=this.locationFromPosition(l),v=r.index,t=r.offset,c=this.removeTextAtRange(p),new this.constructor(c.blockList.editObjectAtIndex(v,function(A){return A.copyWithText(A.text.insertTextAtPosition(n,t))}))},u.prototype.removeTextAtRange=function(n){var p,c,v,t,r,l,A,f,m,C,S,L,O,D,R,E,w,k,T,N,P;return C=n=y(n),f=C[0],k=C[1],h(n)?this:(S=this.locationRangeFromRange(n),l=S[0],E=S[1],r=l.index,A=l.offset,t=this.getBlockAtIndex(r),R=E.index,w=E.offset,D=this.getBlockAtIndex(R),L=k-f===1&&t.getBlockBreakPosition()===A&&D.getBlockBreakPosition()!==w&&D.text.getStringAtPosition(w)===` -`,L?v=this.blockList.editObjectAtIndex(R,function(_){return _.copyWithText(_.text.removeTextAtRange([w,w+1]))}):(m=t.text.getTextAtRange([0,A]),T=D.text.getTextAtRange([w,D.getLength()]),N=m.appendText(T),O=r!==R&&A===0,P=O&&t.getAttributeLevel()>=D.getAttributeLevel(),c=P?D.copyWithText(N):t.copyWithText(N),p=R+1-r,v=this.blockList.splice(r,p,c)),new this.constructor(v))},u.prototype.moveTextFromRangeToPosition=function(n,p){var c,v,t,r,l,A,f,m,C,S;return A=n=y(n),C=A[0],t=A[1],p>=C&&t>=p?this:(v=this.getDocumentAtRange(n),m=this.removeTextAtRange(n),l=p>C,l&&(p-=v.getLength()),f=v.getBlocks(),r=f[0],c=2<=f.length?a.call(f,1):[],c.length===0?(S=r.getTextWithoutBlockBreak(),l&&(p+=1)):S=r.text,m=m.insertTextAtRange(S,p),c.length===0?m:(v=new this.constructor(c),p+=S.getLength(),m.insertDocumentAtRange(v,p)))},u.prototype.addAttributeAtRange=function(n,p,c){var v;return v=this.blockList,this.eachBlockAtRange(c,function(t,r,l){return v=v.editObjectAtIndex(l,function(){return b(n)?t.addAttribute(n,p):r[0]===r[1]?t:t.copyWithText(t.text.addAttributeAtRange(n,p,r))})}),new this.constructor(v)},u.prototype.addAttribute=function(n,p){var c;return c=this.blockList,this.eachBlock(function(v,t){return c=c.editObjectAtIndex(t,function(){return v.addAttribute(n,p)})}),new this.constructor(c)},u.prototype.removeAttributeAtRange=function(n,p){var c;return c=this.blockList,this.eachBlockAtRange(p,function(v,t,r){return b(n)?c=c.editObjectAtIndex(r,function(){return v.removeAttribute(n)}):t[0]!==t[1]?c=c.editObjectAtIndex(r,function(){return v.copyWithText(v.text.removeAttributeAtRange(n,t))}):void 0}),new this.constructor(c)},u.prototype.updateAttributesForAttachment=function(n,p){var c,v,t,r;return t=(v=this.getRangeOfAttachment(p))[0],c=this.locationFromPosition(t).index,r=this.getTextAtIndex(c),new this.constructor(this.blockList.editObjectAtIndex(c,function(l){return l.copyWithText(r.updateAttributesForAttachment(n,p))}))},u.prototype.removeAttributeForAttachment=function(n,p){var c;return c=this.getRangeOfAttachment(p),this.removeAttributeAtRange(n,c)},u.prototype.insertBlockBreakAtRange=function(n){var p,c,v,t;return t=(n=y(n))[0],v=this.locationFromPosition(t).offset,c=this.removeTextAtRange(n),v===0&&(p=[new g.Block]),new this.constructor(c.blockList.insertSplittableListAtPosition(new g.SplittableList(p),t))},u.prototype.applyBlockAttributeAtRange=function(n,p,c){var v,t,r,l;return r=this.expandRangeToLineBreaksAndSplitBlocks(c),t=r.document,c=r.range,v=b(n),v.listAttribute?(t=t.removeLastListAttributeAtRange(c,{exceptAttributeName:n}),l=t.convertLineBreaksToBlockBreaksInRange(c),t=l.document,c=l.range):t=v.exclusive?t.removeBlockAttributesAtRange(c):v.terminal?t.removeLastTerminalAttributeAtRange(c):t.consolidateBlocksAtRange(c),t.addAttributeAtRange(n,p,c)},u.prototype.removeLastListAttributeAtRange=function(n,p){var c;return p==null&&(p={}),c=this.blockList,this.eachBlockAtRange(n,function(v,t,r){var l;if((l=v.getLastAttribute())&&b(l).listAttribute&&l!==p.exceptAttributeName)return c=c.editObjectAtIndex(r,function(){return v.removeAttribute(l)})}),new this.constructor(c)},u.prototype.removeLastTerminalAttributeAtRange=function(n){var p;return p=this.blockList,this.eachBlockAtRange(n,function(c,v,t){var r;if((r=c.getLastAttribute())&&b(r).terminal)return p=p.editObjectAtIndex(t,function(){return c.removeAttribute(r)})}),new this.constructor(p)},u.prototype.removeBlockAttributesAtRange=function(n){var p;return p=this.blockList,this.eachBlockAtRange(n,function(c,v,t){return c.hasAttributes()?p=p.editObjectAtIndex(t,function(){return c.copyWithoutAttributes()}):void 0}),new this.constructor(p)},u.prototype.expandRangeToLineBreaksAndSplitBlocks=function(n){var p,c,v,t,r,l,A,f,m;return l=n=y(n),m=l[0],t=l[1],f=this.locationFromPosition(m),v=this.locationFromPosition(t),p=this,A=p.getBlockAtIndex(f.index),(f.offset=A.findLineBreakInDirectionFromPosition("backward",f.offset))!=null&&(r=p.positionFromLocation(f),p=p.insertBlockBreakAtRange([r,r+1]),v.index+=1,v.offset-=p.getBlockAtIndex(f.index).getLength(),f.index+=1),f.offset=0,v.offset===0&&v.index>f.index?(v.index-=1,v.offset=p.getBlockAtIndex(v.index).getBlockBreakPosition()):(c=p.getBlockAtIndex(v.index),c.text.getStringAtRange([v.offset-1,v.offset])===` -`?v.offset-=1:v.offset=c.findLineBreakInDirectionFromPosition("forward",v.offset),v.offset!==c.getBlockBreakPosition()&&(r=p.positionFromLocation(v),p=p.insertBlockBreakAtRange([r,r+1]))),m=p.positionFromLocation(f),t=p.positionFromLocation(v),n=y([m,t]),{document:p,range:n}},u.prototype.convertLineBreaksToBlockBreaksInRange=function(n){var p,c,v;return c=(n=y(n))[0],v=this.getStringAtRange(n).slice(0,-1),p=this,v.replace(/.*?\n/g,function(t){return c+=t.length,p=p.insertBlockBreakAtRange([c-1,c])}),{document:p,range:n}},u.prototype.consolidateBlocksAtRange=function(n){var p,c,v,t,r;return v=n=y(n),r=v[0],c=v[1],t=this.locationFromPosition(r).index,p=this.locationFromPosition(c).index,new this.constructor(this.blockList.consolidateFromIndexToIndex(t,p))},u.prototype.getDocumentAtRange=function(n){var p;return n=y(n),p=this.blockList.getSplittableListInRange(n).toArray(),new this.constructor(p)},u.prototype.getStringAtRange=function(n){var p,c,v;return v=n=y(n),c=v[v.length-1],c!==this.getLength()&&(p=-1),this.getDocumentAtRange(n).toString().slice(0,p)},u.prototype.getBlockAtIndex=function(n){return this.blockList.getObjectAtIndex(n)},u.prototype.getBlockAtPosition=function(n){var p;return p=this.locationFromPosition(n).index,this.getBlockAtIndex(p)},u.prototype.getTextAtIndex=function(n){var p;return(p=this.getBlockAtIndex(n))!=null?p.text:void 0},u.prototype.getTextAtPosition=function(n){var p;return p=this.locationFromPosition(n).index,this.getTextAtIndex(p)},u.prototype.getPieceAtPosition=function(n){var p,c,v;return v=this.locationFromPosition(n),p=v.index,c=v.offset,this.getTextAtIndex(p).getPieceAtPosition(c)},u.prototype.getCharacterAtPosition=function(n){var p,c,v;return v=this.locationFromPosition(n),p=v.index,c=v.offset,this.getTextAtIndex(p).getStringAtRange([c,c+1])},u.prototype.getLength=function(){return this.blockList.getEndPosition()},u.prototype.getBlocks=function(){return this.blockList.toArray()},u.prototype.getBlockCount=function(){return this.blockList.length},u.prototype.getEditCount=function(){return this.editCount},u.prototype.eachBlock=function(n){return this.blockList.eachObject(n)},u.prototype.eachBlockAtRange=function(n,p){var c,v,t,r,l,A,f,m,C,S,L,O;if(A=n=y(n),L=A[0],t=A[1],S=this.locationFromPosition(L),v=this.locationFromPosition(t),S.index===v.index)return c=this.getBlockAtIndex(S.index),O=[S.offset,v.offset],p(c,O,S.index);for(C=[],l=r=f=S.index,m=v.index;m>=f?m>=r:r>=m;l=m>=f?++r:--r)(c=this.getBlockAtIndex(l))?(O=function(){switch(l){case S.index:return[S.offset,c.text.getLength()];case v.index:return[0,v.offset];default:return[0,c.text.getLength()]}}(),C.push(p(c,O,l))):C.push(void 0);return C},u.prototype.getCommonAttributesAtRange=function(n){var p,c,v;return c=(n=y(n))[0],h(n)?this.getCommonAttributesAtPosition(c):(v=[],p=[],this.eachBlockAtRange(n,function(t,r){return r[0]!==r[1]?(v.push(t.text.getCommonAttributesAtRange(r)),p.push(s(t))):void 0}),g.Hash.fromCommonAttributesOfObjects(v).merge(g.Hash.fromCommonAttributesOfObjects(p)).toObject())},u.prototype.getCommonAttributesAtPosition=function(n){var p,c,v,t,r,l,A,f,m,C;if(m=this.locationFromPosition(n),r=m.index,f=m.offset,v=this.getBlockAtIndex(r),!v)return{};t=s(v),p=v.text.getAttributesAtPosition(f),c=v.text.getAttributesAtPosition(f-1),l=function(){var S,L;S=g.config.textAttributes,L=[];for(A in S)C=S[A],C.inheritable&&L.push(A);return L}();for(A in c)C=c[A],(C===p[A]||d.call(l,A)>=0)&&(t[A]=C);return t},u.prototype.getRangeOfCommonAttributeAtPosition=function(n,p){var c,v,t,r,l,A,f,m,C;return l=this.locationFromPosition(p),t=l.index,r=l.offset,C=this.getTextAtIndex(t),A=C.getExpandedRangeForAttributeAtOffset(n,r),m=A[0],v=A[1],f=this.positionFromLocation({index:t,offset:m}),c=this.positionFromLocation({index:t,offset:v}),y([f,c])},u.prototype.getBaseBlockAttributes=function(){var n,p,c,v,t,r,l;for(n=this.getBlockAtIndex(0).getAttributes(),c=v=1,l=this.getBlockCount();l>=1?l>v:v>l;c=l>=1?++v:--v)p=this.getBlockAtIndex(c).getAttributes(),r=Math.min(n.length,p.length),n=function(){var A,f,m;for(m=[],t=A=0,f=r;(f>=0?f>A:A>f)&&p[t]===n[t];t=f>=0?++A:--A)m.push(p[t]);return m}();return n},s=function(n){var p,c;return c={},(p=n.getLastAttribute())&&(c[p]=!0),c},u.prototype.getAttachmentById=function(n){var p,c,v,t;for(t=this.getAttachments(),c=0,v=t.length;v>c;c++)if(p=t[c],p.id===n)return p},u.prototype.getAttachmentPieces=function(){var n;return n=[],this.blockList.eachObject(function(p){var c;return c=p.text,n=n.concat(c.getAttachmentPieces())}),n},u.prototype.getAttachments=function(){var n,p,c,v,t;for(v=this.getAttachmentPieces(),t=[],n=0,p=v.length;p>n;n++)c=v[n],t.push(c.attachment);return t},u.prototype.getRangeOfAttachment=function(n){var p,c,v,t,r,l,A;for(t=0,r=this.blockList.toArray(),c=p=0,v=r.length;v>p;c=++p){if(l=r[c].text,A=l.getRangeOfAttachment(n))return y([t+A[0],t+A[1]]);t+=l.getLength()}},u.prototype.getLocationRangeOfAttachment=function(n){var p;return p=this.getRangeOfAttachment(n),this.locationRangeFromRange(p)},u.prototype.getAttachmentPieceForAttachment=function(n){var p,c,v,t;for(t=this.getAttachmentPieces(),p=0,c=t.length;c>p;p++)if(v=t[p],v.attachment===n)return v},u.prototype.findRangesForBlockAttribute=function(n){var p,c,v,t,r,l,A;for(r=0,l=[],A=this.getBlocks(),c=0,v=A.length;v>c;c++)p=A[c],t=p.getLength(),p.hasAttribute(n)&&l.push([r,r+t]),r+=t;return l},u.prototype.findRangesForTextAttribute=function(n,p){var c,v,t,r,l,A,f,m,C,S;for(S=(p??{}).withValue,A=0,f=[],m=[],r=function(L){return S!=null?L.getAttribute(n)===S:L.hasAttribute(n)},C=this.getPieces(),c=0,v=C.length;v>c;c++)l=C[c],t=l.getLength(),r(l)&&(f[1]===A?f[1]=A+t:m.push(f=[A,A+t])),A+=t;return m},u.prototype.locationFromPosition=function(n){var p,c;return c=this.blockList.findIndexAndOffsetAtPosition(Math.max(0,n)),c.index!=null?c:(p=this.getBlocks(),{index:p.length-1,offset:p[p.length-1].getLength()})},u.prototype.positionFromLocation=function(n){return this.blockList.findPositionAtIndexAndOffset(n.index,n.offset)},u.prototype.locationRangeFromPosition=function(n){return y(this.locationFromPosition(n))},u.prototype.locationRangeFromRange=function(n){var p,c,v,t;if(n=y(n))return t=n[0],c=n[1],v=this.locationFromPosition(t),p=this.locationFromPosition(c),y([v,p])},u.prototype.rangeFromLocationRange=function(n){var p,c;return n=y(n),p=this.positionFromLocation(n[0]),h(n)||(c=this.positionFromLocation(n[1])),y([p,c])},u.prototype.isEqualTo=function(n){return this.blockList.isEqualTo(n?.blockList)},u.prototype.getTexts=function(){var n,p,c,v,t;for(v=this.getBlocks(),t=[],p=0,c=v.length;c>p;p++)n=v[p],t.push(n.text);return t},u.prototype.getPieces=function(){var n,p,c,v,t;for(c=[],v=this.getTexts(),n=0,p=v.length;p>n;n++)t=v[n],c.push.apply(c,t.getPieces());return c},u.prototype.getObjects=function(){return this.getBlocks().concat(this.getTexts()).concat(this.getPieces())},u.prototype.toSerializableDocument=function(){var n;return n=[],this.blockList.eachObject(function(p){return n.push(p.copyWithText(p.text.toSerializableText()))}),new this.constructor(n)},u.prototype.toString=function(){return this.blockList.toString()},u.prototype.toJSON=function(){return this.blockList.toJSON()},u.prototype.toConsole=function(){var n;return JSON.stringify(function(){var p,c,v,t;for(v=this.blockList.toArray(),t=[],p=0,c=v.length;c>p;p++)n=v[p],t.push(JSON.parse(n.text.toConsole()));return t}.call(this))},u}(g.Object)}.call(this),function(){g.LineBreakInsertion=function(){function x(b){var y;this.composition=b,this.document=this.composition.document,y=this.composition.getSelectedRange(),this.startPosition=y[0],this.endPosition=y[1],this.startLocation=this.document.locationFromPosition(this.startPosition),this.endLocation=this.document.locationFromPosition(this.endPosition),this.block=this.document.getBlockAtIndex(this.endLocation.index),this.breaksOnReturn=this.block.breaksOnReturn(),this.previousCharacter=this.block.text.getStringAtPosition(this.endLocation.offset-1),this.nextCharacter=this.block.text.getStringAtPosition(this.endLocation.offset)}return x.prototype.shouldInsertBlockBreak=function(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?this.startLocation.offset!==0:this.breaksOnReturn&&this.nextCharacter!==` -`},x.prototype.shouldBreakFormattedBlock=function(){return this.block.hasAttributes()&&!this.block.isListItem()&&(this.breaksOnReturn&&this.nextCharacter===` -`||this.previousCharacter===` -`)},x.prototype.shouldDecreaseListLevel=function(){return this.block.hasAttributes()&&this.block.isListItem()&&this.block.isEmpty()},x.prototype.shouldPrependListItem=function(){return this.block.isListItem()&&this.startLocation.offset===0&&!this.block.isEmpty()},x.prototype.shouldRemoveLastBlockAttribute=function(){return this.block.hasAttributes()&&!this.block.isListItem()&&this.block.isEmpty()},x}()}.call(this),function(){var x,b,y,h,o,e,a,d,i,u,s=function(p,c){function v(){this.constructor=p}for(var t in c)n.call(c,t)&&(p[t]=c[t]);return v.prototype=c.prototype,p.prototype=new v,p.__super__=c.prototype,p},n={}.hasOwnProperty;e=g.normalizeRange,i=g.rangesAreEqual,d=g.rangeIsCollapsed,a=g.objectsAreEqual,x=g.arrayStartsWith,u=g.summarizeArrayChange,y=g.getAllAttributeNames,h=g.getBlockConfig,o=g.getTextConfig,b=g.extend,g.Composition=function(p){function c(){this.document=new g.Document,this.attachments=[],this.currentAttributes={},this.revision=0}var v;return s(c,p),c.prototype.setDocument=function(t){var r;return t.isEqualTo(this.document)?void 0:(this.document=t,this.refreshAttachments(),this.revision++,(r=this.delegate)!=null&&typeof r.compositionDidChangeDocument=="function"?r.compositionDidChangeDocument(t):void 0)},c.prototype.getSnapshot=function(){return{document:this.document,selectedRange:this.getSelectedRange()}},c.prototype.loadSnapshot=function(t){var r,l,A,f;return r=t.document,f=t.selectedRange,(l=this.delegate)!=null&&typeof l.compositionWillLoadSnapshot=="function"&&l.compositionWillLoadSnapshot(),this.setDocument(r??new g.Document),this.setSelection(f??[0,0]),(A=this.delegate)!=null&&typeof A.compositionDidLoadSnapshot=="function"?A.compositionDidLoadSnapshot():void 0},c.prototype.insertText=function(t,r){var l,A,f,m;return m=(r??{updatePosition:!0}).updatePosition,A=this.getSelectedRange(),this.setDocument(this.document.insertTextAtRange(t,A)),f=A[0],l=f+t.getLength(),m&&this.setSelection(l),this.notifyDelegateOfInsertionAtRange([f,l])},c.prototype.insertBlock=function(t){var r;return t==null&&(t=new g.Block),r=new g.Document([t]),this.insertDocument(r)},c.prototype.insertDocument=function(t){var r,l,A;return t==null&&(t=new g.Document),l=this.getSelectedRange(),this.setDocument(this.document.insertDocumentAtRange(t,l)),A=l[0],r=A+t.getLength(),this.setSelection(r),this.notifyDelegateOfInsertionAtRange([A,r])},c.prototype.insertString=function(t,r){var l,A;return l=this.getCurrentTextAttributes(),A=g.Text.textForStringWithAttributes(t,l),this.insertText(A,r)},c.prototype.insertBlockBreak=function(){var t,r,l;return r=this.getSelectedRange(),this.setDocument(this.document.insertBlockBreakAtRange(r)),l=r[0],t=l+1,this.setSelection(t),this.notifyDelegateOfInsertionAtRange([l,t])},c.prototype.insertLineBreak=function(){var t,r;return r=new g.LineBreakInsertion(this),r.shouldDecreaseListLevel()?(this.decreaseListLevel(),this.setSelection(r.startPosition)):r.shouldPrependListItem()?(t=new g.Document([r.block.copyWithoutText()]),this.insertDocument(t)):r.shouldInsertBlockBreak()?this.insertBlockBreak():r.shouldRemoveLastBlockAttribute()?this.removeLastBlockAttribute():r.shouldBreakFormattedBlock()?this.breakFormattedBlock(r):this.insertString(` -`)},c.prototype.insertHTML=function(t){var r,l,A,f;return r=g.Document.fromHTML(t),A=this.getSelectedRange(),this.setDocument(this.document.mergeDocumentAtRange(r,A)),f=A[0],l=f+r.getLength()-1,this.setSelection(l),this.notifyDelegateOfInsertionAtRange([f,l])},c.prototype.replaceHTML=function(t){var r,l,A;return r=g.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document),l=this.getLocationRange({strict:!1}),A=this.document.rangeFromLocationRange(l),this.setDocument(r),this.setSelection(A)},c.prototype.insertFile=function(t){return this.insertFiles([t])},c.prototype.insertFiles=function(t){var r,l,A,f,m,C;for(l=[],f=0,m=t.length;m>f;f++)A=t[f],(C=this.delegate)!=null&&C.compositionShouldAcceptFile(A)&&(r=g.Attachment.attachmentForFile(A),l.push(r));return this.insertAttachments(l)},c.prototype.insertAttachment=function(t){return this.insertAttachments([t])},c.prototype.insertAttachments=function(t){var r,l,A,f,m,C,S,L,O;for(L=new g.Text,f=0,m=t.length;m>f;f++)r=t[f],O=r.getType(),C=(S=g.config.attachments[O])!=null?S.presentation:void 0,A=this.getCurrentTextAttributes(),C&&(A.presentation=C),l=g.Text.textForAttachmentWithAttributes(r,A),L=L.appendText(l);return this.insertText(L)},c.prototype.shouldManageDeletingInDirection=function(t){var r;if(r=this.getLocationRange(),d(r)){if(t==="backward"&&r[0].offset===0||this.shouldManageMovingCursorInDirection(t))return!0}else if(r[0].index!==r[1].index)return!0;return!1},c.prototype.deleteInDirection=function(t,r){var l,A,f,m,C,S,L,O;return m=(r??{}).length,C=this.getLocationRange(),S=this.getSelectedRange(),L=d(S),L?f=t==="backward"&&C[0].offset===0:O=C[0].index!==C[1].index,f&&this.canDecreaseBlockAttributeLevel()&&(A=this.getBlock(),A.isListItem()?this.decreaseListLevel():this.decreaseBlockAttributeLevel(),this.setSelection(S[0]),A.isEmpty())?!1:(L&&(S=this.getExpandedRangeInDirection(t,{length:m}),t==="backward"&&(l=this.getAttachmentAtRange(S))),l?(this.editAttachment(l),!1):(this.setDocument(this.document.removeTextAtRange(S)),this.setSelection(S[0]),f||O?!1:void 0))},c.prototype.moveTextFromRange=function(t){var r;return r=this.getSelectedRange()[0],this.setDocument(this.document.moveTextFromRangeToPosition(t,r)),this.setSelection(r)},c.prototype.removeAttachment=function(t){var r;return(r=this.document.getRangeOfAttachment(t))?(this.stopEditingAttachment(),this.setDocument(this.document.removeTextAtRange(r)),this.setSelection(r[0])):void 0},c.prototype.removeLastBlockAttribute=function(){var t,r,l,A;return l=this.getSelectedRange(),A=l[0],r=l[1],t=this.document.getBlockAtPosition(r),this.removeCurrentAttribute(t.getLastAttribute()),this.setSelection(A)},v=" ",c.prototype.insertPlaceholder=function(){return this.placeholderPosition=this.getPosition(),this.insertString(v)},c.prototype.selectPlaceholder=function(){return this.placeholderPosition!=null?(this.setSelectedRange([this.placeholderPosition,this.placeholderPosition+v.length]),this.getSelectedRange()):void 0},c.prototype.forgetPlaceholder=function(){return this.placeholderPosition=null},c.prototype.hasCurrentAttribute=function(t){var r;return r=this.currentAttributes[t],r!=null&&r!==!1},c.prototype.toggleCurrentAttribute=function(t){var r;return(r=!this.currentAttributes[t])?this.setCurrentAttribute(t,r):this.removeCurrentAttribute(t)},c.prototype.canSetCurrentAttribute=function(t){return h(t)?this.canSetCurrentBlockAttribute(t):this.canSetCurrentTextAttribute(t)},c.prototype.canSetCurrentTextAttribute=function(){var t,r,l,A,f;if(r=this.getSelectedDocument()){for(f=r.getAttachments(),l=0,A=f.length;A>l;l++)if(t=f[l],!t.hasContent())return!1;return!0}},c.prototype.canSetCurrentBlockAttribute=function(){var t;if(t=this.getBlock())return!t.isTerminalBlock()},c.prototype.setCurrentAttribute=function(t,r){return h(t)?this.setBlockAttribute(t,r):(this.setTextAttribute(t,r),this.currentAttributes[t]=r,this.notifyDelegateOfCurrentAttributesChange())},c.prototype.setTextAttribute=function(t,r){var l,A,f,m;if(A=this.getSelectedRange())return f=A[0],l=A[1],f!==l?this.setDocument(this.document.addAttributeAtRange(t,r,A)):t==="href"?(m=g.Text.textForStringWithAttributes(r,{href:r}),this.insertText(m)):void 0},c.prototype.setBlockAttribute=function(t,r){var l,A;if(A=this.getSelectedRange())return this.canSetCurrentAttribute(t)?(l=this.getBlock(),this.setDocument(this.document.applyBlockAttributeAtRange(t,r,A)),this.setSelection(A)):void 0},c.prototype.removeCurrentAttribute=function(t){return h(t)?(this.removeBlockAttribute(t),this.updateCurrentAttributes()):(this.removeTextAttribute(t),delete this.currentAttributes[t],this.notifyDelegateOfCurrentAttributesChange())},c.prototype.removeTextAttribute=function(t){var r;if(r=this.getSelectedRange())return this.setDocument(this.document.removeAttributeAtRange(t,r))},c.prototype.removeBlockAttribute=function(t){var r;if(r=this.getSelectedRange())return this.setDocument(this.document.removeAttributeAtRange(t,r))},c.prototype.canDecreaseNestingLevel=function(){var t;return((t=this.getBlock())!=null?t.getNestingLevel():void 0)>0},c.prototype.canIncreaseNestingLevel=function(){var t,r,l;if(t=this.getBlock())return(l=h(t.getLastNestableAttribute()))!=null&&l.listAttribute?(r=this.getPreviousBlock())?x(r.getListItemAttributes(),t.getListItemAttributes()):void 0:t.getNestingLevel()>0},c.prototype.decreaseNestingLevel=function(){var t;if(t=this.getBlock())return this.setDocument(this.document.replaceBlock(t,t.decreaseNestingLevel()))},c.prototype.increaseNestingLevel=function(){var t;if(t=this.getBlock())return this.setDocument(this.document.replaceBlock(t,t.increaseNestingLevel()))},c.prototype.canDecreaseBlockAttributeLevel=function(){var t;return((t=this.getBlock())!=null?t.getAttributeLevel():void 0)>0},c.prototype.decreaseBlockAttributeLevel=function(){var t,r;return(t=(r=this.getBlock())!=null?r.getLastAttribute():void 0)?this.removeCurrentAttribute(t):void 0},c.prototype.decreaseListLevel=function(){var t,r,l,A,f,m;for(m=this.getSelectedRange()[0],f=this.document.locationFromPosition(m).index,l=f,t=this.getBlock().getAttributeLevel();(r=this.document.getBlockAtIndex(l+1))&&r.isListItem()&&r.getAttributeLevel()>t;)l++;return m=this.document.positionFromLocation({index:f,offset:0}),A=this.document.positionFromLocation({index:l,offset:0}),this.setDocument(this.document.removeLastListAttributeAtRange([m,A]))},c.prototype.updateCurrentAttributes=function(){var t,r,l,A,f,m;if(m=this.getSelectedRange({ignoreLock:!0})){for(r=this.document.getCommonAttributesAtRange(m),f=y(),l=0,A=f.length;A>l;l++)t=f[l],r[t]||this.canSetCurrentAttribute(t)||(r[t]=!1);if(!a(r,this.currentAttributes))return this.currentAttributes=r,this.notifyDelegateOfCurrentAttributesChange()}},c.prototype.getCurrentAttributes=function(){return b.call({},this.currentAttributes)},c.prototype.getCurrentTextAttributes=function(){var t,r,l,A;t={},l=this.currentAttributes;for(r in l)A=l[r],A!==!1&&o(r)&&(t[r]=A);return t},c.prototype.freezeSelection=function(){return this.setCurrentAttribute("frozen",!0)},c.prototype.thawSelection=function(){return this.removeCurrentAttribute("frozen")},c.prototype.hasFrozenSelection=function(){return this.hasCurrentAttribute("frozen")},c.proxyMethod("getSelectionManager().getPointRange"),c.proxyMethod("getSelectionManager().setLocationRangeFromPointRange"),c.proxyMethod("getSelectionManager().createLocationRangeFromDOMRange"),c.proxyMethod("getSelectionManager().locationIsCursorTarget"),c.proxyMethod("getSelectionManager().selectionIsExpanded"),c.proxyMethod("delegate?.getSelectionManager"),c.prototype.setSelection=function(t){var r,l;return r=this.document.locationRangeFromRange(t),(l=this.delegate)!=null?l.compositionDidRequestChangingSelectionToLocationRange(r):void 0},c.prototype.getSelectedRange=function(){var t;return(t=this.getLocationRange())?this.document.rangeFromLocationRange(t):void 0},c.prototype.setSelectedRange=function(t){var r;return r=this.document.locationRangeFromRange(t),this.getSelectionManager().setLocationRange(r)},c.prototype.getPosition=function(){var t;return(t=this.getLocationRange())?this.document.positionFromLocation(t[0]):void 0},c.prototype.getLocationRange=function(t){var r,l;return(r=(l=this.targetLocationRange)!=null?l:this.getSelectionManager().getLocationRange(t))!=null?r:e({index:0,offset:0})},c.prototype.withTargetLocationRange=function(t,r){var l;this.targetLocationRange=t;try{l=r()}finally{this.targetLocationRange=null}return l},c.prototype.withTargetRange=function(t,r){var l;return l=this.document.locationRangeFromRange(t),this.withTargetLocationRange(l,r)},c.prototype.withTargetDOMRange=function(t,r){var l;return l=this.createLocationRangeFromDOMRange(t,{strict:!1}),this.withTargetLocationRange(l,r)},c.prototype.getExpandedRangeInDirection=function(t,r){var l,A,f,m;return A=(r??{}).length,f=this.getSelectedRange(),m=f[0],l=f[1],t==="backward"?A?m-=A:m=this.translateUTF16PositionFromOffset(m,-1):A?l+=A:l=this.translateUTF16PositionFromOffset(l,1),e([m,l])},c.prototype.shouldManageMovingCursorInDirection=function(t){var r;return this.editingAttachment?!0:(r=this.getExpandedRangeInDirection(t),this.getAttachmentAtRange(r)!=null)},c.prototype.moveCursorInDirection=function(t){var r,l,A,f;return this.editingAttachment?A=this.document.getRangeOfAttachment(this.editingAttachment):(f=this.getSelectedRange(),A=this.getExpandedRangeInDirection(t),l=!i(f,A)),this.setSelectedRange(t==="backward"?A[0]:A[1]),l&&(r=this.getAttachmentAtRange(A))?this.editAttachment(r):void 0},c.prototype.expandSelectionInDirection=function(t,r){var l,A;return l=(r??{}).length,A=this.getExpandedRangeInDirection(t,{length:l}),this.setSelectedRange(A)},c.prototype.expandSelectionForEditing=function(){return this.hasCurrentAttribute("href")?this.expandSelectionAroundCommonAttribute("href"):void 0},c.prototype.expandSelectionAroundCommonAttribute=function(t){var r,l;return r=this.getPosition(),l=this.document.getRangeOfCommonAttributeAtPosition(t,r),this.setSelectedRange(l)},c.prototype.selectionContainsAttachments=function(){var t;return((t=this.getSelectedAttachments())!=null?t.length:void 0)>0},c.prototype.selectionIsInCursorTarget=function(){return this.editingAttachment||this.positionIsCursorTarget(this.getPosition())},c.prototype.positionIsCursorTarget=function(t){var r;return(r=this.document.locationFromPosition(t))?this.locationIsCursorTarget(r):void 0},c.prototype.positionIsBlockBreak=function(t){var r;return(r=this.document.getPieceAtPosition(t))!=null?r.isBlockBreak():void 0},c.prototype.getSelectedDocument=function(){var t;return(t=this.getSelectedRange())?this.document.getDocumentAtRange(t):void 0},c.prototype.getSelectedAttachments=function(){var t;return(t=this.getSelectedDocument())!=null?t.getAttachments():void 0},c.prototype.getAttachments=function(){return this.attachments.slice(0)},c.prototype.refreshAttachments=function(){var t,r,l,A,f,m,C,S,L,O,D,R;for(l=this.document.getAttachments(),S=u(this.attachments,l),t=S.added,D=S.removed,this.attachments=l,A=0,m=D.length;m>A;A++)r=D[A],r.delegate=null,(L=this.delegate)!=null&&typeof L.compositionDidRemoveAttachment=="function"&&L.compositionDidRemoveAttachment(r);for(R=[],f=0,C=t.length;C>f;f++)r=t[f],r.delegate=this,R.push((O=this.delegate)!=null&&typeof O.compositionDidAddAttachment=="function"?O.compositionDidAddAttachment(r):void 0);return R},c.prototype.attachmentDidChangeAttributes=function(t){var r;return this.revision++,(r=this.delegate)!=null&&typeof r.compositionDidEditAttachment=="function"?r.compositionDidEditAttachment(t):void 0},c.prototype.attachmentDidChangePreviewURL=function(t){var r;return this.revision++,(r=this.delegate)!=null&&typeof r.compositionDidChangeAttachmentPreviewURL=="function"?r.compositionDidChangeAttachmentPreviewURL(t):void 0},c.prototype.editAttachment=function(t,r){var l;if(t!==this.editingAttachment)return this.stopEditingAttachment(),this.editingAttachment=t,(l=this.delegate)!=null&&typeof l.compositionDidStartEditingAttachment=="function"?l.compositionDidStartEditingAttachment(this.editingAttachment,r):void 0},c.prototype.stopEditingAttachment=function(){var t;if(this.editingAttachment)return(t=this.delegate)!=null&&typeof t.compositionDidStopEditingAttachment=="function"&&t.compositionDidStopEditingAttachment(this.editingAttachment),this.editingAttachment=null},c.prototype.updateAttributesForAttachment=function(t,r){return this.setDocument(this.document.updateAttributesForAttachment(t,r))},c.prototype.removeAttributeForAttachment=function(t,r){return this.setDocument(this.document.removeAttributeForAttachment(t,r))},c.prototype.breakFormattedBlock=function(t){var r,l,A,f,m;return l=t.document,r=t.block,f=t.startPosition,m=[f-1,f],r.getBlockBreakPosition()===t.startLocation.offset?(r.breaksOnReturn()&&t.nextCharacter===` -`?f+=1:l=l.removeTextAtRange(m),m=[f,f]):t.nextCharacter===` -`?t.previousCharacter===` -`?m=[f-1,f+1]:(m=[f,f+1],f+=1):t.startLocation.offset-1!==0&&(f+=1),A=new g.Document([r.removeLastAttribute().copyWithoutText()]),this.setDocument(l.insertDocumentAtRange(A,m)),this.setSelection(f)},c.prototype.getPreviousBlock=function(){var t,r;return(r=this.getLocationRange())&&(t=r[0].index,t>0)?this.document.getBlockAtIndex(t-1):void 0},c.prototype.getBlock=function(){var t;return(t=this.getLocationRange())?this.document.getBlockAtIndex(t[0].index):void 0},c.prototype.getAttachmentAtRange=function(t){var r;return r=this.document.getDocumentAtRange(t),r.toString()===g.OBJECT_REPLACEMENT_CHARACTER+` -`?r.getAttachments()[0]:void 0},c.prototype.notifyDelegateOfCurrentAttributesChange=function(){var t;return(t=this.delegate)!=null&&typeof t.compositionDidChangeCurrentAttributes=="function"?t.compositionDidChangeCurrentAttributes(this.currentAttributes):void 0},c.prototype.notifyDelegateOfInsertionAtRange=function(t){var r;return(r=this.delegate)!=null&&typeof r.compositionDidPerformInsertionAtRange=="function"?r.compositionDidPerformInsertionAtRange(t):void 0},c.prototype.translateUTF16PositionFromOffset=function(t,r){var l,A;return A=this.document.toUTF16String(),l=A.offsetFromUCS2Offset(t),A.offsetToUCS2Offset(l+r)},c}(g.BasicObject)}.call(this),function(){var x=function(y,h){function o(){this.constructor=y}for(var e in h)b.call(h,e)&&(y[e]=h[e]);return o.prototype=h.prototype,y.prototype=new o,y.__super__=h.prototype,y},b={}.hasOwnProperty;g.UndoManager=function(y){function h(e){this.composition=e,this.undoEntries=[],this.redoEntries=[]}var o;return x(h,y),h.prototype.recordUndoEntry=function(e,a){var d,i,u,s,n;return s=a??{},i=s.context,d=s.consolidatable,u=this.undoEntries.slice(-1)[0],d&&o(u,e,i)?void 0:(n=this.createEntry({description:e,context:i}),this.undoEntries.push(n),this.redoEntries=[])},h.prototype.undo=function(){var e,a;return(a=this.undoEntries.pop())?(e=this.createEntry(a),this.redoEntries.push(e),this.composition.loadSnapshot(a.snapshot)):void 0},h.prototype.redo=function(){var e,a;return(e=this.redoEntries.pop())?(a=this.createEntry(e),this.undoEntries.push(a),this.composition.loadSnapshot(e.snapshot)):void 0},h.prototype.canUndo=function(){return this.undoEntries.length>0},h.prototype.canRedo=function(){return this.redoEntries.length>0},h.prototype.createEntry=function(e){var a,d,i;return i=e??{},d=i.description,a=i.context,{description:d?.toString(),context:JSON.stringify(a),snapshot:this.composition.getSnapshot()}},o=function(e,a,d){return e?.description===a?.toString()&&e?.context===JSON.stringify(d)},h}(g.BasicObject)}.call(this),function(){var x;g.attachmentGalleryFilter=function(b){var y;return y=new x(b),y.perform(),y.getSnapshot()},x=function(){function b(e){this.document=e.document,this.selectedRange=e.selectedRange}var y,h,o;return y="attachmentGallery",h="presentation",o="gallery",b.prototype.perform=function(){return this.removeBlockAttribute(),this.applyBlockAttribute()},b.prototype.getSnapshot=function(){return{document:this.document,selectedRange:this.selectedRange}},b.prototype.removeBlockAttribute=function(){var e,a,d,i,u;for(i=this.findRangesOfBlocks(),u=[],e=0,a=i.length;a>e;e++)d=i[e],u.push(this.document=this.document.removeAttributeAtRange(y,d));return u},b.prototype.applyBlockAttribute=function(){var e,a,d,i,u,s;for(d=0,u=this.findRangesOfPieces(),s=[],e=0,a=u.length;a>e;e++)i=u[e],i[1]-i[0]>1&&(i[0]+=d,i[1]+=d,this.document.getCharacterAtPosition(i[1])!==` -`&&(this.document=this.document.insertBlockBreakAtRange(i[1]),i[1]a;a++)e=o[a],this.manageAttachment(e)}return x(h,y),h.prototype.getAttachments=function(){var o,e,a,d;a=this.managedAttachments,d=[];for(e in a)o=a[e],d.push(o);return d},h.prototype.manageAttachment=function(o){var e,a;return(e=this.managedAttachments)[a=o.id]!=null?e[a]:e[a]=new g.ManagedAttachment(this,o)},h.prototype.attachmentIsManaged=function(o){return o.id in this.managedAttachments},h.prototype.requestRemovalOfAttachment=function(o){var e;return this.attachmentIsManaged(o)&&(e=this.delegate)!=null&&typeof e.attachmentManagerDidRequestRemovalOfAttachment=="function"?e.attachmentManagerDidRequestRemovalOfAttachment(o):void 0},h.prototype.unmanageAttachment=function(o){var e;return e=this.managedAttachments[o.id],delete this.managedAttachments[o.id],e},h}(g.BasicObject)}.call(this),function(){var x,b,y,h,o,e,a,d,i,u,s;x=g.elementContainsNode,b=g.findChildIndexOfNode,o=g.nodeIsBlockStart,e=g.nodeIsBlockStartComment,h=g.nodeIsBlockContainer,a=g.nodeIsCursorTarget,d=g.nodeIsEmptyTextNode,i=g.nodeIsTextNode,y=g.nodeIsAttachmentElement,u=g.tagName,s=g.walkTree,g.LocationMapper=function(){function n(r){this.element=r}var p,c,v,t;return n.prototype.findLocationFromContainerAndOffset=function(r,l,A){var f,m,C,S,L,O,D;for(O=(A??{strict:!0}).strict,m=0,C=!1,S={index:0,offset:0},(f=this.findAttachmentElementParentForNode(r))&&(r=f.parentNode,l=b(f)),D=s(this.element,{usingFilter:v});D.nextNode();){if(L=D.currentNode,L===r&&i(r)){a(L)||(S.offset+=l);break}if(L.parentNode===r){if(m++===l)break}else if(!x(r,L)&&m>0)break;o(L,{strict:O})?(C&&S.index++,S.offset=0,C=!0):S.offset+=c(L)}return S},n.prototype.findContainerAndOffsetFromLocation=function(r){var l,A,f,m,C;if(r.index===0&&r.offset===0){for(l=this.element,m=0;l.firstChild;)if(l=l.firstChild,h(l)){m=1;break}return[l,m]}if(C=this.findNodeAndOffsetFromLocation(r),A=C[0],f=C[1],A){if(i(A))c(A)===0?(l=A.parentNode.parentNode,m=b(A.parentNode),a(A,{name:"right"})&&m++):(l=A,m=r.offset-f);else{if(l=A.parentNode,!o(A.previousSibling)&&!h(l))for(;A===l.lastChild&&(A=l,l=l.parentNode,!h(l)););m=b(A),r.offset!==0&&m++}return[l,m]}},n.prototype.findNodeAndOffsetFromLocation=function(r){var l,A,f,m,C,S,L,O;for(L=0,O=this.getSignificantNodesForIndex(r.index),A=0,f=O.length;f>A;A++){if(l=O[A],m=c(l),r.offset<=L+m)if(i(l)){if(C=l,S=L,r.offset===S&&a(C))break}else C||(C=l,S=L);if(L+=m,L>r.offset)break}return[C,S]},n.prototype.findAttachmentElementParentForNode=function(r){for(;r&&r!==this.element;){if(y(r))return r;r=r.parentNode}},n.prototype.getSignificantNodesForIndex=function(r){var l,A,f,m,C;for(f=[],C=s(this.element,{usingFilter:p}),m=!1;C.nextNode();)if(A=C.currentNode,e(A)){if(typeof l<"u"&&l!==null?l++:l=0,l===r)m=!0;else if(m)break}else m&&f.push(A);return f},c=function(r){var l;return r.nodeType===Node.TEXT_NODE?a(r)?0:(l=r.textContent,l.length):u(r)==="br"||y(r)?1:0},p=function(r){return t(r)===NodeFilter.FILTER_ACCEPT?v(r):NodeFilter.FILTER_REJECT},t=function(r){return d(r)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},v=function(r){return y(r.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},n}()}.call(this),function(){var x,b,y=[].slice;x=g.getDOMRange,b=g.setDOMRange,g.PointMapper=function(){function h(){}return h.prototype.createDOMRangeFromPoint=function(o){var e,a,d,i,u,s,n,p;if(n=o.x,p=o.y,document.caretPositionFromPoint)return u=document.caretPositionFromPoint(n,p),d=u.offsetNode,a=u.offset,e=document.createRange(),e.setStart(d,a),e;if(document.caretRangeFromPoint)return document.caretRangeFromPoint(n,p);if(document.body.createTextRange){i=x();try{s=document.body.createTextRange(),s.moveToPoint(n,p),s.select()}catch{}return e=x(),b(i),e}},h.prototype.getClientRectsForDOMRange=function(o){var e,a,d;return a=y.call(o.getClientRects()),d=a[0],e=a[a.length-1],[d,e]},h}()}.call(this),function(){var x,b=function(e,a){return function(){return e.apply(a,arguments)}},y=function(e,a){function d(){this.constructor=e}for(var i in a)h.call(a,i)&&(e[i]=a[i]);return d.prototype=a.prototype,e.prototype=new d,e.__super__=a.prototype,e},h={}.hasOwnProperty,o=[].indexOf||function(e){for(var a=0,d=this.length;d>a;a++)if(a in this&&this[a]===e)return a;return-1};x=g.getDOMRange,g.SelectionChangeObserver=function(e){function a(){this.run=b(this.run,this),this.update=b(this.update,this),this.selectionManagers=[]}var d;return y(a,e),a.prototype.start=function(){return this.started?void 0:(this.started=!0,"onselectionchange"in document?document.addEventListener("selectionchange",this.update,!0):this.run())},a.prototype.stop=function(){return this.started?(this.started=!1,document.removeEventListener("selectionchange",this.update,!0)):void 0},a.prototype.registerSelectionManager=function(i){return o.call(this.selectionManagers,i)<0?(this.selectionManagers.push(i),this.start()):void 0},a.prototype.unregisterSelectionManager=function(i){var u;return this.selectionManagers=function(){var s,n,p,c;for(p=this.selectionManagers,c=[],s=0,n=p.length;n>s;s++)u=p[s],u!==i&&c.push(u);return c}.call(this),this.selectionManagers.length===0?this.stop():void 0},a.prototype.notifySelectionManagersOfSelectionChange=function(){var i,u,s,n,p;for(s=this.selectionManagers,n=[],i=0,u=s.length;u>i;i++)p=s[i],n.push(p.selectionDidChange());return n},a.prototype.update=function(){var i;return i=x(),d(i,this.domRange)?void 0:(this.domRange=i,this.notifySelectionManagersOfSelectionChange())},a.prototype.reset=function(){return this.domRange=null,this.update()},a.prototype.run=function(){return this.started?(this.update(),requestAnimationFrame(this.run)):void 0},d=function(i,u){return i?.startContainer===u?.startContainer&&i?.startOffset===u?.startOffset&&i?.endContainer===u?.endContainer&&i?.endOffset===u?.endOffset},a}(g.BasicObject),g.selectionChangeObserver==null&&(g.selectionChangeObserver=new g.SelectionChangeObserver)}.call(this),function(){var x,b,y,h,o,e,a,d,i,u,s=function(c,v){return function(){return c.apply(v,arguments)}},n=function(c,v){function t(){this.constructor=c}for(var r in v)p.call(v,r)&&(c[r]=v[r]);return t.prototype=v.prototype,c.prototype=new t,c.__super__=v.prototype,c},p={}.hasOwnProperty;y=g.getDOMSelection,b=g.getDOMRange,u=g.setDOMRange,x=g.elementContainsNode,e=g.nodeIsCursorTarget,o=g.innerElementIsActive,h=g.handleEvent,a=g.normalizeRange,d=g.rangeIsCollapsed,i=g.rangesAreEqual,g.SelectionManager=function(c){function v(t){this.element=t,this.selectionDidChange=s(this.selectionDidChange,this),this.didMouseDown=s(this.didMouseDown,this),this.locationMapper=new g.LocationMapper(this.element),this.pointMapper=new g.PointMapper,this.lockCount=0,h("mousedown",{onElement:this.element,withCallback:this.didMouseDown})}return n(v,c),v.prototype.getLocationRange=function(t){var r,l;return t==null&&(t={}),r=t.strict===!1?this.createLocationRangeFromDOMRange(b(),{strict:!1}):t.ignoreLock?this.currentLocationRange:(l=this.lockedLocationRange)!=null?l:this.currentLocationRange},v.prototype.setLocationRange=function(t){var r;if(!this.lockedLocationRange)return t=a(t),(r=this.createDOMRangeFromLocationRange(t))?(u(r),this.updateCurrentLocationRange(t)):void 0},v.prototype.setLocationRangeFromPointRange=function(t){var r,l;return t=a(t),l=this.getLocationAtPoint(t[0]),r=this.getLocationAtPoint(t[1]),this.setLocationRange([l,r])},v.prototype.getClientRectAtLocationRange=function(t){var r;return(r=this.createDOMRangeFromLocationRange(t))?this.getClientRectsForDOMRange(r)[1]:void 0},v.prototype.locationIsCursorTarget=function(t){var r,l,A;return A=this.findNodeAndOffsetFromLocation(t),r=A[0],l=A[1],e(r)},v.prototype.lock=function(){return this.lockCount++===0?(this.updateCurrentLocationRange(),this.lockedLocationRange=this.getLocationRange()):void 0},v.prototype.unlock=function(){var t;return--this.lockCount===0&&(t=this.lockedLocationRange,this.lockedLocationRange=null,t!=null)?this.setLocationRange(t):void 0},v.prototype.clearSelection=function(){var t;return(t=y())!=null?t.removeAllRanges():void 0},v.prototype.selectionIsCollapsed=function(){var t;return((t=b())!=null?t.collapsed:void 0)===!0},v.prototype.selectionIsExpanded=function(){return!this.selectionIsCollapsed()},v.prototype.createLocationRangeFromDOMRange=function(t,r){var l,A;if(t!=null&&this.domRangeWithinElement(t)&&(A=this.findLocationFromContainerAndOffset(t.startContainer,t.startOffset,r)))return t.collapsed||(l=this.findLocationFromContainerAndOffset(t.endContainer,t.endOffset,r)),a([A,l])},v.proxyMethod("locationMapper.findLocationFromContainerAndOffset"),v.proxyMethod("locationMapper.findContainerAndOffsetFromLocation"),v.proxyMethod("locationMapper.findNodeAndOffsetFromLocation"),v.proxyMethod("pointMapper.createDOMRangeFromPoint"),v.proxyMethod("pointMapper.getClientRectsForDOMRange"),v.prototype.didMouseDown=function(){return this.pauseTemporarily()},v.prototype.pauseTemporarily=function(){var t,r,l,A;return this.paused=!0,r=function(f){return function(){var m,C,S;for(f.paused=!1,clearTimeout(A),C=0,S=l.length;S>C;C++)m=l[C],m.destroy();return x(document,f.element)?f.selectionDidChange():void 0}}(this),A=setTimeout(r,200),l=function(){var f,m,C,S;for(C=["mousemove","keydown"],S=[],f=0,m=C.length;m>f;f++)t=C[f],S.push(h(t,{onElement:document,withCallback:r}));return S}()},v.prototype.selectionDidChange=function(){return this.paused||o(this.element)?void 0:this.updateCurrentLocationRange()},v.prototype.updateCurrentLocationRange=function(t){var r;return(t??(t=this.createLocationRangeFromDOMRange(b())))&&!i(t,this.currentLocationRange)?(this.currentLocationRange=t,(r=this.delegate)!=null&&typeof r.locationRangeDidChange=="function"?r.locationRangeDidChange(this.currentLocationRange.slice(0)):void 0):void 0},v.prototype.createDOMRangeFromLocationRange=function(t){var r,l,A,f;return A=this.findContainerAndOffsetFromLocation(t[0]),l=d(t)?A:(f=this.findContainerAndOffsetFromLocation(t[1]))!=null?f:A,A!=null&&l!=null?(r=document.createRange(),r.setStart.apply(r,A),r.setEnd.apply(r,l),r):void 0},v.prototype.getLocationAtPoint=function(t){var r,l;return(r=this.createDOMRangeFromPoint(t))&&(l=this.createLocationRangeFromDOMRange(r))!=null?l[0]:void 0},v.prototype.domRangeWithinElement=function(t){return t.collapsed?x(this.element,t.startContainer):x(this.element,t.startContainer)&&x(this.element,t.endContainer)},v}(g.BasicObject)}.call(this),function(){var x,b,y,h,o=function(d,i){function u(){this.constructor=d}for(var s in i)e.call(i,s)&&(d[s]=i[s]);return u.prototype=i.prototype,d.prototype=new u,d.__super__=i.prototype,d},e={}.hasOwnProperty,a=[].slice;y=g.rangeIsCollapsed,h=g.rangesAreEqual,b=g.objectsAreEqual,x=g.getBlockConfig,g.EditorController=function(d){function i(s){var n,p;this.editorElement=s.editorElement,n=s.document,p=s.html,this.selectionManager=new g.SelectionManager(this.editorElement),this.selectionManager.delegate=this,this.composition=new g.Composition,this.composition.delegate=this,this.attachmentManager=new g.AttachmentManager(this.composition.getAttachments()),this.attachmentManager.delegate=this,this.inputController=new g["Level"+g.config.input.getLevel()+"InputController"](this.editorElement),this.inputController.delegate=this,this.inputController.responder=this.composition,this.compositionController=new g.CompositionController(this.editorElement,this.composition),this.compositionController.delegate=this,this.toolbarController=new g.ToolbarController(this.editorElement.toolbarElement),this.toolbarController.delegate=this,this.editor=new g.Editor(this.composition,this.selectionManager,this.editorElement),n!=null?this.editor.loadDocument(n):this.editor.loadHTML(p)}var u;return o(i,d),i.prototype.registerSelectionManager=function(){return g.selectionChangeObserver.registerSelectionManager(this.selectionManager)},i.prototype.unregisterSelectionManager=function(){return g.selectionChangeObserver.unregisterSelectionManager(this.selectionManager)},i.prototype.render=function(){return this.compositionController.render()},i.prototype.reparse=function(){return this.composition.replaceHTML(this.editorElement.innerHTML)},i.prototype.compositionDidChangeDocument=function(){return this.notifyEditorElement("document-change"),this.handlingInput?void 0:this.render()},i.prototype.compositionDidChangeCurrentAttributes=function(s){return this.currentAttributes=s,this.toolbarController.updateAttributes(this.currentAttributes),this.updateCurrentActions(),this.notifyEditorElement("attributes-change",{attributes:this.currentAttributes})},i.prototype.compositionDidPerformInsertionAtRange=function(s){return this.pasting?this.pastedRange=s:void 0},i.prototype.compositionShouldAcceptFile=function(s){return this.notifyEditorElement("file-accept",{file:s})},i.prototype.compositionDidAddAttachment=function(s){var n;return n=this.attachmentManager.manageAttachment(s),this.notifyEditorElement("attachment-add",{attachment:n})},i.prototype.compositionDidEditAttachment=function(s){var n;return this.compositionController.rerenderViewForObject(s),n=this.attachmentManager.manageAttachment(s),this.notifyEditorElement("attachment-edit",{attachment:n}),this.notifyEditorElement("change")},i.prototype.compositionDidChangeAttachmentPreviewURL=function(s){return this.compositionController.invalidateViewForObject(s),this.notifyEditorElement("change")},i.prototype.compositionDidRemoveAttachment=function(s){var n;return n=this.attachmentManager.unmanageAttachment(s),this.notifyEditorElement("attachment-remove",{attachment:n})},i.prototype.compositionDidStartEditingAttachment=function(s,n){return this.attachmentLocationRange=this.composition.document.getLocationRangeOfAttachment(s),this.compositionController.installAttachmentEditorForAttachment(s,n),this.selectionManager.setLocationRange(this.attachmentLocationRange)},i.prototype.compositionDidStopEditingAttachment=function(){return this.compositionController.uninstallAttachmentEditor(),this.attachmentLocationRange=null},i.prototype.compositionDidRequestChangingSelectionToLocationRange=function(s){return!this.loadingSnapshot||this.isFocused()?(this.requestedLocationRange=s,this.compositionRevisionWhenLocationRangeRequested=this.composition.revision,this.handlingInput?void 0:this.render()):void 0},i.prototype.compositionWillLoadSnapshot=function(){return this.loadingSnapshot=!0},i.prototype.compositionDidLoadSnapshot=function(){return this.compositionController.refreshViewCache(),this.render(),this.loadingSnapshot=!1},i.prototype.getSelectionManager=function(){return this.selectionManager},i.proxyMethod("getSelectionManager().setLocationRange"),i.proxyMethod("getSelectionManager().getLocationRange"),i.prototype.attachmentManagerDidRequestRemovalOfAttachment=function(s){return this.removeAttachment(s)},i.prototype.compositionControllerWillSyncDocumentView=function(){return this.inputController.editorWillSyncDocumentView(),this.selectionManager.lock(),this.selectionManager.clearSelection()},i.prototype.compositionControllerDidSyncDocumentView=function(){return this.inputController.editorDidSyncDocumentView(),this.selectionManager.unlock(),this.updateCurrentActions(),this.notifyEditorElement("sync")},i.prototype.compositionControllerDidRender=function(){return this.requestedLocationRange!=null&&(this.compositionRevisionWhenLocationRangeRequested===this.composition.revision&&this.selectionManager.setLocationRange(this.requestedLocationRange),this.requestedLocationRange=null,this.compositionRevisionWhenLocationRangeRequested=null),this.renderedCompositionRevision!==this.composition.revision&&(this.runEditorFilters(),this.composition.updateCurrentAttributes(),this.notifyEditorElement("render")),this.renderedCompositionRevision=this.composition.revision},i.prototype.compositionControllerDidFocus=function(){return this.isFocusedInvisibly()&&this.setLocationRange({index:0,offset:0}),this.toolbarController.hideDialog(),this.notifyEditorElement("focus")},i.prototype.compositionControllerDidBlur=function(){return this.notifyEditorElement("blur")},i.prototype.compositionControllerDidSelectAttachment=function(s,n){return this.toolbarController.hideDialog(),this.composition.editAttachment(s,n)},i.prototype.compositionControllerDidRequestDeselectingAttachment=function(s){var n,p;return n=(p=this.attachmentLocationRange)!=null?p:this.composition.document.getLocationRangeOfAttachment(s),this.selectionManager.setLocationRange(n[1])},i.prototype.compositionControllerWillUpdateAttachment=function(s){return this.editor.recordUndoEntry("Edit Attachment",{context:s.id,consolidatable:!0})},i.prototype.compositionControllerDidRequestRemovalOfAttachment=function(s){return this.removeAttachment(s)},i.prototype.inputControllerWillHandleInput=function(){return this.handlingInput=!0,this.requestedRender=!1},i.prototype.inputControllerDidRequestRender=function(){return this.requestedRender=!0},i.prototype.inputControllerDidHandleInput=function(){return this.handlingInput=!1,this.requestedRender?(this.requestedRender=!1,this.render()):void 0},i.prototype.inputControllerDidAllowUnhandledInput=function(){return this.notifyEditorElement("change")},i.prototype.inputControllerDidRequestReparse=function(){return this.reparse()},i.prototype.inputControllerWillPerformTyping=function(){return this.recordTypingUndoEntry()},i.prototype.inputControllerWillPerformFormatting=function(s){return this.recordFormattingUndoEntry(s)},i.prototype.inputControllerWillCutText=function(){return this.editor.recordUndoEntry("Cut")},i.prototype.inputControllerWillPaste=function(s){return this.editor.recordUndoEntry("Paste"),this.pasting=!0,this.notifyEditorElement("before-paste",{paste:s})},i.prototype.inputControllerDidPaste=function(s){return s.range=this.pastedRange,this.pastedRange=null,this.pasting=null,this.notifyEditorElement("paste",{paste:s})},i.prototype.inputControllerWillMoveText=function(){return this.editor.recordUndoEntry("Move")},i.prototype.inputControllerWillAttachFiles=function(){return this.editor.recordUndoEntry("Drop Files")},i.prototype.inputControllerWillPerformUndo=function(){return this.editor.undo()},i.prototype.inputControllerWillPerformRedo=function(){return this.editor.redo()},i.prototype.inputControllerDidReceiveKeyboardCommand=function(s){return this.toolbarController.applyKeyboardCommand(s)},i.prototype.inputControllerDidStartDrag=function(){return this.locationRangeBeforeDrag=this.selectionManager.getLocationRange()},i.prototype.inputControllerDidReceiveDragOverPoint=function(s){return this.selectionManager.setLocationRangeFromPointRange(s)},i.prototype.inputControllerDidCancelDrag=function(){return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag),this.locationRangeBeforeDrag=null},i.prototype.locationRangeDidChange=function(s){return this.composition.updateCurrentAttributes(),this.updateCurrentActions(),this.attachmentLocationRange&&!h(this.attachmentLocationRange,s)&&this.composition.stopEditingAttachment(),this.notifyEditorElement("selection-change")},i.prototype.toolbarDidClickButton=function(){return this.getLocationRange()?void 0:this.setLocationRange({index:0,offset:0})},i.prototype.toolbarDidInvokeAction=function(s){return this.invokeAction(s)},i.prototype.toolbarDidToggleAttribute=function(s){return this.recordFormattingUndoEntry(s),this.composition.toggleCurrentAttribute(s),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},i.prototype.toolbarDidUpdateAttribute=function(s,n){return this.recordFormattingUndoEntry(s),this.composition.setCurrentAttribute(s,n),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},i.prototype.toolbarDidRemoveAttribute=function(s){return this.recordFormattingUndoEntry(s),this.composition.removeCurrentAttribute(s),this.render(),this.selectionFrozen?void 0:this.editorElement.focus()},i.prototype.toolbarWillShowDialog=function(){return this.composition.expandSelectionForEditing(),this.freezeSelection()},i.prototype.toolbarDidShowDialog=function(s){return this.notifyEditorElement("toolbar-dialog-show",{dialogName:s})},i.prototype.toolbarDidHideDialog=function(s){return this.thawSelection(),this.editorElement.focus(),this.notifyEditorElement("toolbar-dialog-hide",{dialogName:s})},i.prototype.freezeSelection=function(){return this.selectionFrozen?void 0:(this.selectionManager.lock(),this.composition.freezeSelection(),this.selectionFrozen=!0,this.render())},i.prototype.thawSelection=function(){return this.selectionFrozen?(this.composition.thawSelection(),this.selectionManager.unlock(),this.selectionFrozen=!1,this.render()):void 0},i.prototype.actions={undo:{test:function(){return this.editor.canUndo()},perform:function(){return this.editor.undo()}},redo:{test:function(){return this.editor.canRedo()},perform:function(){return this.editor.redo()}},link:{test:function(){return this.editor.canActivateAttribute("href")}},increaseNestingLevel:{test:function(){return this.editor.canIncreaseNestingLevel()},perform:function(){return this.editor.increaseNestingLevel()&&this.render()}},decreaseNestingLevel:{test:function(){return this.editor.canDecreaseNestingLevel()},perform:function(){return this.editor.decreaseNestingLevel()&&this.render()}},attachFiles:{test:function(){return!0},perform:function(){return g.config.input.pickFiles(this.editor.insertFiles)}}},i.prototype.canInvokeAction=function(s){var n,p;return this.actionIsExternal(s)?!0:!!((n=this.actions[s])!=null&&(p=n.test)!=null&&p.call(this))},i.prototype.invokeAction=function(s){var n,p;return this.actionIsExternal(s)?this.notifyEditorElement("action-invoke",{actionName:s}):(n=this.actions[s])!=null&&(p=n.perform)!=null?p.call(this):void 0},i.prototype.actionIsExternal=function(s){return/^x-./.test(s)},i.prototype.getCurrentActions=function(){var s,n;n={};for(s in this.actions)n[s]=this.canInvokeAction(s);return n},i.prototype.updateCurrentActions=function(){var s;return s=this.getCurrentActions(),b(s,this.currentActions)?void 0:(this.currentActions=s,this.toolbarController.updateActions(this.currentActions),this.notifyEditorElement("actions-change",{actions:this.currentActions}))},i.prototype.runEditorFilters=function(){var s,n,p,c,v,t,r,l;for(l=this.composition.getSnapshot(),v=this.editor.filters,p=0,c=v.length;c>p;p++)n=v[p],s=l.document,r=l.selectedRange,l=(t=n.call(this.editor,l))!=null?t:{},l.document==null&&(l.document=s),l.selectedRange==null&&(l.selectedRange=r);return u(l,this.composition.getSnapshot())?void 0:this.composition.loadSnapshot(l)},u=function(s,n){return h(s.selectedRange,n.selectedRange)&&s.document.isEqualTo(n.document)},i.prototype.updateInputElement=function(){var s,n;return s=this.compositionController.getSerializableElement(),n=g.serializeToContentType(s,"text/html"),this.editorElement.setInputElementValue(n)},i.prototype.notifyEditorElement=function(s,n){switch(s){case"document-change":this.documentChangedSinceLastRender=!0;break;case"render":this.documentChangedSinceLastRender&&(this.documentChangedSinceLastRender=!1,this.notifyEditorElement("change"));break;case"change":case"attachment-add":case"attachment-edit":case"attachment-remove":this.updateInputElement()}return this.editorElement.notify(s,n)},i.prototype.removeAttachment=function(s){return this.editor.recordUndoEntry("Delete Attachment"),this.composition.removeAttachment(s),this.render()},i.prototype.recordFormattingUndoEntry=function(s){var n,p;return n=x(s),p=this.selectionManager.getLocationRange(),n||!y(p)?this.editor.recordUndoEntry("Formatting",{context:this.getUndoContext(),consolidatable:!0}):void 0},i.prototype.recordTypingUndoEntry=function(){return this.editor.recordUndoEntry("Typing",{context:this.getUndoContext(this.currentAttributes),consolidatable:!0})},i.prototype.getUndoContext=function(){var s;return s=1<=arguments.length?a.call(arguments,0):[],[this.getLocationContext(),this.getTimeContext()].concat(a.call(s))},i.prototype.getLocationContext=function(){var s;return s=this.selectionManager.getLocationRange(),y(s)?s[0].index:s},i.prototype.getTimeContext=function(){return g.config.undoInterval>0?Math.floor(new Date().getTime()/g.config.undoInterval):0},i.prototype.isFocused=function(){var s;return this.editorElement===((s=this.editorElement.ownerDocument)!=null?s.activeElement:void 0)},i.prototype.isFocusedInvisibly=function(){return this.isFocused()&&!this.getLocationRange()},i}(g.Controller)}.call(this),function(){var x,b,y,h,o,e,a,d=[].indexOf||function(i){for(var u=0,s=this.length;s>u;u++)if(u in this&&this[u]===i)return u;return-1};b=g.browser,e=g.makeElement,a=g.triggerEvent,h=g.handleEvent,o=g.handleEventOnce,y=g.findClosestElementFromNode,x=g.AttachmentView.attachmentSelector,g.registerElement("trix-editor",function(){var i,u,s,n,p,c,v,t,r;return v=0,u=function(l){return!document.querySelector(":focus")&&l.hasAttribute("autofocus")&&document.querySelector("[autofocus]")===l?l.focus():void 0},t=function(l){return l.hasAttribute("contenteditable")?void 0:(l.setAttribute("contenteditable",""),o("focus",{onElement:l,withCallback:function(){return s(l)}}))},s=function(l){return p(l),r(l)},p=function(l){return typeof document.queryCommandSupported=="function"&&document.queryCommandSupported("enableObjectResizing")?(document.execCommand("enableObjectResizing",!1,!1),h("mscontrolselect",{onElement:l,preventDefault:!0})):void 0},r=function(){var l;return typeof document.queryCommandSupported=="function"&&document.queryCommandSupported("DefaultParagraphSeparator")&&(l=g.config.blockAttributes.default.tagName,l==="div"||l==="p")?document.execCommand("DefaultParagraphSeparator",!1,l):void 0},i=function(l){return l.hasAttribute("role")?void 0:l.setAttribute("role","textbox")},c=function(l){var A;if(!l.hasAttribute("aria-label")&&!l.hasAttribute("aria-labelledby"))return(A=function(){var f,m,C;return C=function(){var S,L,O,D;for(O=l.labels,D=[],S=0,L=O.length;L>S;S++)f=O[S],f.contains(l)||D.push(f.textContent);return D}(),(m=C.join(" "))?l.setAttribute("aria-label",m):l.removeAttribute("aria-label")})(),h("focus",{onElement:l,withCallback:A})},n=function(){return b.forcesObjectResizing?{display:"inline",width:"auto"}:{display:"inline-block",width:"1px"}}(),{defaultCSS:`%t { - display: block; +.ProseMirror pre { + white-space: pre-wrap; } -%t:empty:not(:focus)::before { - content: attr(placeholder); - color: graytext; - cursor: text; - pointer-events: none; -} - -%t a[contenteditable=false] { - cursor: text; +img.ProseMirror-separator { + display: inline !important; + border: none !important; + margin: 0 !important; + width: 0 !important; + height: 0 !important; } -%t img { - max-width: 100%; - height: auto; +.ProseMirror-gapcursor { + display: none; + pointer-events: none; + position: absolute; + margin: 0; } -%t `+x+` figcaption textarea { - resize: none; +.ProseMirror-gapcursor:after { + content: ""; + display: block; + position: absolute; + top: -2px; + width: 20px; + border-top: 1px solid black; + animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite; } -%t `+x+` figcaption textarea.trix-autoresize-clone { - position: absolute; - left: -9999px; - max-height: 0px; +@keyframes ProseMirror-cursor-blink { + to { + visibility: hidden; + } } -%t `+x+` figcaption[data-trix-placeholder]:empty::before { - content: attr(data-trix-placeholder); - color: graytext; +.ProseMirror-hideselection *::selection { + background: transparent; } -%t [data-trix-cursor-target] { - display: `+n.display+` !important; - width: `+n.width+` !important; - padding: 0 !important; - margin: 0 !important; - border: none !important; +.ProseMirror-hideselection *::-moz-selection { + background: transparent; } -%t [data-trix-cursor-target=left] { - vertical-align: top !important; - margin-left: -1px !important; +.ProseMirror-hideselection * { + caret-color: transparent; } -%t [data-trix-cursor-target=right] { - vertical-align: bottom !important; - margin-right: -1px !important; -}`,trixId:{get:function(){return this.hasAttribute("trix-id")?this.getAttribute("trix-id"):(this.setAttribute("trix-id",++v),this.trixId)}},labels:{get:function(){var l,A,f;return A=[],this.id&&this.ownerDocument&&A.push.apply(A,this.ownerDocument.querySelectorAll("label[for='"+this.id+"']")),(l=y(this,{matchingSelector:"label"}))&&((f=l.control)===this||f===null)&&A.push(l),A}},toolbarElement:{get:function(){var l,A,f;return this.hasAttribute("toolbar")?(A=this.ownerDocument)!=null?A.getElementById(this.getAttribute("toolbar")):void 0:this.parentNode?(f="trix-toolbar-"+this.trixId,this.setAttribute("toolbar",f),l=e("trix-toolbar",{id:f}),this.parentNode.insertBefore(l,this),l):void 0}},inputElement:{get:function(){var l,A,f;return this.hasAttribute("input")?(f=this.ownerDocument)!=null?f.getElementById(this.getAttribute("input")):void 0:this.parentNode?(A="trix-input-"+this.trixId,this.setAttribute("input",A),l=e("input",{type:"hidden",id:A}),this.parentNode.insertBefore(l,this.nextElementSibling),l):void 0}},editor:{get:function(){var l;return(l=this.editorController)!=null?l.editor:void 0}},name:{get:function(){var l;return(l=this.inputElement)!=null?l.name:void 0}},value:{get:function(){var l;return(l=this.inputElement)!=null?l.value:void 0},set:function(l){var A;return this.defaultValue=l,(A=this.editor)!=null?A.loadHTML(this.defaultValue):void 0}},notify:function(l,A){return this.editorController?a("trix-"+l,{onElement:this,attributes:A}):void 0},setInputElementValue:function(l){var A;return(A=this.inputElement)!=null?A.value=l:void 0},initialize:function(){return this.hasAttribute("data-trix-internal")?void 0:(t(this),i(this),c(this))},connect:function(){return this.hasAttribute("data-trix-internal")?void 0:(this.editorController||(a("trix-before-initialize",{onElement:this}),this.editorController=new g.EditorController({editorElement:this,html:this.defaultValue=this.value}),requestAnimationFrame(function(l){return function(){return a("trix-initialize",{onElement:l})}}(this))),this.editorController.registerSelectionManager(),this.registerResetListener(),this.registerClickListener(),u(this))},disconnect:function(){var l;return(l=this.editorController)!=null&&l.unregisterSelectionManager(),this.unregisterResetListener(),this.unregisterClickListener()},registerResetListener:function(){return this.resetListener=this.resetBubbled.bind(this),window.addEventListener("reset",this.resetListener,!1)},unregisterResetListener:function(){return window.removeEventListener("reset",this.resetListener,!1)},registerClickListener:function(){return this.clickListener=this.clickBubbled.bind(this),window.addEventListener("click",this.clickListener,!1)},unregisterClickListener:function(){return window.removeEventListener("click",this.clickListener,!1)},resetBubbled:function(l){var A;if(!l.defaultPrevented&&l.target===((A=this.inputElement)!=null?A.form:void 0))return this.reset()},clickBubbled:function(l){var A;if(!(l.defaultPrevented||this.contains(l.target)||!(A=y(l.target,{matchingSelector:"label"}))||d.call(this.labels,A)<0))return this.focus()},reset:function(){return this.value=this.defaultValue}}}())}.call(this),function(){}.call(this)}).call(this),typeof V=="object"&&V.exports?V.exports=g:typeof define=="function"&&define.amd&&define(g)}.call(q)});var W=ut(Q(),1);W.default.config.blockAttributes.default.tagName="p";W.default.config.blockAttributes.default.breakOnReturn=!0;W.default.config.blockAttributes.heading={tagName:"h2",terminal:!0,breakOnReturn:!0,group:!1};W.default.config.blockAttributes.subHeading={tagName:"h3",terminal:!0,breakOnReturn:!0,group:!1};W.default.config.textAttributes.underline={style:{textDecoration:"underline"},inheritable:!0,parser:I=>window.getComputedStyle(I).textDecoration.includes("underline")};W.default.Block.prototype.breaksOnReturn=function(){let I=this.getLastAttribute();return W.default.getBlockConfig(I||"default")?.breakOnReturn??!1};W.default.LineBreakInsertion.prototype.shouldInsertBlockBreak=function(){return this.block.hasAttributes()&&this.block.isListItem()&&!this.block.isEmpty()?this.startLocation.offset>0:this.shouldBreakFormattedBlock()?!1:this.breaksOnReturn};function ct({state:I}){return{state:I,init:function(){this.$refs.trix?.editor?.loadHTML(this.state),this.$watch("state",()=>{document.activeElement!==this.$refs.trix&&this.$refs.trix?.editor?.loadHTML(this.state)})}}}export{ct as default}; +.ProseMirror-focused .ProseMirror-gapcursor { + display: block; +}`;function xb(t,e,n){let r=document.querySelector(`style[data-tiptap-style${n?`-${n}`:""}]`);if(r!==null)return r;let o=document.createElement("style");return e&&o.setAttribute("nonce",e),o.setAttribute(`data-tiptap-style${n?`-${n}`:""}`,""),o.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(o),o}var gu=class extends lb{constructor(t={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:typeof document<"u"?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:r})=>{throw r},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.utils={getUpdatedPosition:Hy,createMappablePosition:$y},this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:r,slice:o,moved:i})=>this.options.onDrop(r,o,i)),this.on("paste",({event:r,slice:o})=>this.options.onPaste(r,o)),this.on("delete",this.options.onDelete);let e=this.createDoc(),n=Fd(e,this.options.autofocus);this.editorState=Fr.create({doc:e,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(t){if(typeof document>"u")throw new Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(t),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(this.options.autofocus!==!1&&this.options.autofocus!==null&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){let t=this.editorView.dom;t?.editor&&delete t.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{typeof this.css.remove=="function"?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(t){console.warn("Failed to remove CSS element:",t)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&typeof document<"u"&&(this.css=xb(wb,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},!(!this.editorView||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:t=>{this.editorState=t},dispatch:t=>{this.dispatchTransaction(t)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(t,e)=>{if(this.editorView)return this.editorView[e];if(e==="state")return this.editorState;if(e in t)return Reflect.get(t,e);throw new Error(`[tiptap error]: The editor view is not available. Cannot access view['${e}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(t,e){let n=Ud(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(t){if(this.isDestroyed)return;let e=this.state.plugins,n=e;if([].concat(t).forEach(o=>{let i=typeof o=="string"?`${o}$`:o.key;n=n.filter(s=>!s.key.startsWith(i))}),e.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var t,e;let r=[...this.options.enableCoreExtensions?[cu,iu.configure({blockSeparator:(e=(t=this.options.coreExtensionOptions)==null?void 0:t.clipboardTextSerializer)==null?void 0:e.blockSeparator}),su,uu,fu,pu,au,hu,lu,mu.configure({direction:this.options.textDirection})].filter(o=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[o.name]!==!1:!0):[],...this.options.extensions].filter(o=>["extension","node","mark"].includes(o?.type));this.extensionManager=new yo(r,this)}createCommandManager(){this.commandManager=new uo({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let t;try{t=_s(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(e){if(!(e instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(e.message))throw e;this.emit("contentError",{editor:this,error:e,disableCollaboration:()=>{"collaboration"in this.storage&&typeof this.storage.collaboration=="object"&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(n=>n.name!=="collaboration"),this.createExtensionManager()}}),t=_s(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return t}createView(t){var e;this.editorView=new tr(t,{...this.options.editorProps,attributes:{role:"textbox",...(e=this.options.editorProps)==null?void 0:e.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});let n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.prependClass(),this.injectCSS();let r=this.view.dom;r.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;let e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=t;return}t.steps.forEach(c=>{var d;return(d=this.capturedTransaction)==null?void 0:d.step(c)});return}let{state:e,transactions:n}=this.state.applyTransaction(t),r=!this.state.selection.eq(e.selection),o=n.includes(t),i=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:t,nextState:e}),!o)return;this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:t});let s=n.findLast(c=>c.getMeta("focus")||c.getMeta("blur")),l=s?.getMeta("focus"),a=s?.getMeta("blur");l&&this.emit("focus",{editor:this,event:l.event,transaction:s}),a&&this.emit("blur",{editor:this,event:a.event,transaction:s}),!(t.getMeta("preventUpdate")||!n.some(c=>c.docChanged)||i.doc.eq(e.doc))&&this.emit("update",{editor:this,transaction:t,appendedTransactions:n.slice(1)})}getAttributes(t){return Zs(this.state,t)}isActive(t,e){let n=typeof t=="string"?t:null,r=typeof t=="string"?e:t;return tl(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return Ys(this.state.doc.content,this.schema)}getText(t){let{blockSeparator:e=` + +`,textSerializers:n={}}=t||{};return Iy(this.state.doc,{blockSeparator:e,textSerializers:{...Gd(this.schema),...n}})}get isEmpty(){return lr(this.state.doc)}destroy(){this.emit("destroy"),this.unmount(),this.removeAllListeners()}get isDestroyed(){var t,e;return(e=(t=this.editorView)==null?void 0:t.isDestroyed)!=null?e:!0}$node(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelectorAll(t,e))||null}$pos(t){let e=this.state.doc.resolve(t);return new bb(e,this)}get $doc(){return this.$pos(0)}};function Be(t){return new go({find:t.find,handler:({state:e,range:n,match:r})=>{let o=G(t.getAttributes,void 0,r);if(o===!1||o===null)return null;let{tr:i}=e,s=r[r.length-1],l=r[0];if(s){let a=l.search(/\S/),c=n.from+l.indexOf(s),d=c+s.length;if(po(n.from,n.to,e.doc).filter(h=>h.mark.type.excluded.find(m=>m===t.type&&m!==h.mark.type)).filter(h=>h.to>c).length)return null;dn.from&&i.delete(n.from+a,c);let f=n.from+a+s.length;i.addMark(n.from+a,f,t.type.create(o||{})),i.removeStoredMark(t.type)}},undoable:t.undoable})}function bo(t){return new go({find:t.find,handler:({state:e,range:n,match:r})=>{let o=G(t.getAttributes,void 0,r)||{},{tr:i}=e,s=n.from,l=n.to,a=t.type.create(o);if(r[1]){let c=r[0].lastIndexOf(r[1]),d=s+c;d>l?d=l:l=d+r[1].length;let u=r[0][r[0].length-1];i.insertText(u,s+r[0].length-1),i.replaceWith(d,l,a)}else if(r[0]){let c=t.type.isInline?s:s-1;i.insert(c,t.type.create(o)).delete(i.mapping.map(s),i.mapping.map(l))}i.scrollIntoView()},undoable:t.undoable})}function ar(t){return new go({find:t.find,handler:({state:e,range:n,match:r})=>{let o=e.doc.resolve(n.from),i=G(t.getAttributes,void 0,r)||{};if(!o.node(-1).canReplaceWith(o.index(-1),o.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,i)},undoable:t.undoable})}function tt(t){return new go({find:t.find,handler:({state:e,range:n,match:r,chain:o})=>{let i=G(t.getAttributes,void 0,r)||{},s=e.tr.delete(n.from,n.to),a=s.doc.resolve(n.from).blockRange(),c=a&&mn(a,t.type,i);if(!c)return null;if(s.wrap(a,c),t.keepMarks&&t.editor){let{selection:u,storedMarks:f}=e,{splittableMarks:h}=t.editor.extensionManager,p=f||u.$to.parentOffset&&u.$from.marks();if(p){let m=p.filter(g=>h.includes(g.type.name));s.ensureMarks(m)}}if(t.keepAttributes){let u=t.type.name==="bulletList"||t.type.name==="orderedList"?"listItem":"taskList";o().updateAttributes(u,i).run()}let d=s.doc.resolve(n.from-1).nodeBefore;d&&d.type===t.type&&Re(s.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(r,d))&&s.join(n.from-1)},undoable:t.undoable})}var kb=t=>"touches"in t,yu=class{constructor(t){this.directions=["bottom-left","bottom-right","top-left","top-right"],this.minSize={height:8,width:8},this.preserveAspectRatio=!1,this.classNames={container:"",wrapper:"",handle:"",resizing:""},this.initialWidth=0,this.initialHeight=0,this.aspectRatio=1,this.isResizing=!1,this.activeHandle=null,this.startX=0,this.startY=0,this.startWidth=0,this.startHeight=0,this.isShiftKeyPressed=!1,this.lastEditableState=void 0,this.handleMap=new Map,this.handleMouseMove=l=>{if(!this.isResizing||!this.activeHandle)return;let a=l.clientX-this.startX,c=l.clientY-this.startY;this.handleResize(a,c)},this.handleTouchMove=l=>{if(!this.isResizing||!this.activeHandle)return;let a=l.touches[0];if(!a)return;let c=a.clientX-this.startX,d=a.clientY-this.startY;this.handleResize(c,d)},this.handleMouseUp=()=>{if(!this.isResizing)return;let l=this.element.offsetWidth,a=this.element.offsetHeight;this.onCommit(l,a),this.isResizing=!1,this.activeHandle=null,this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)},this.handleKeyDown=l=>{l.key==="Shift"&&(this.isShiftKeyPressed=!0)},this.handleKeyUp=l=>{l.key==="Shift"&&(this.isShiftKeyPressed=!1)};var e,n,r,o,i,s;this.node=t.node,this.editor=t.editor,this.element=t.element,this.contentElement=t.contentElement,this.getPos=t.getPos,this.onResize=t.onResize,this.onCommit=t.onCommit,this.onUpdate=t.onUpdate,(e=t.options)!=null&&e.min&&(this.minSize={...this.minSize,...t.options.min}),(n=t.options)!=null&&n.max&&(this.maxSize=t.options.max),(r=t?.options)!=null&&r.directions&&(this.directions=t.options.directions),(o=t.options)!=null&&o.preserveAspectRatio&&(this.preserveAspectRatio=t.options.preserveAspectRatio),(i=t.options)!=null&&i.className&&(this.classNames={container:t.options.className.container||"",wrapper:t.options.className.wrapper||"",handle:t.options.className.handle||"",resizing:t.options.className.resizing||""}),(s=t.options)!=null&&s.createCustomHandle&&(this.createCustomHandle=t.options.createCustomHandle),this.wrapper=this.createWrapper(),this.container=this.createContainer(),this.applyInitialSize(),this.attachHandles(),this.editor.on("update",this.handleEditorUpdate.bind(this))}get dom(){return this.container}get contentDOM(){return this.contentElement}handleEditorUpdate(){let t=this.editor.isEditable;t!==this.lastEditableState&&(this.lastEditableState=t,t?t&&this.handleMap.size===0&&this.attachHandles():this.removeHandles())}update(t,e,n){return t.type!==this.node.type?!1:(this.node=t,this.onUpdate?this.onUpdate(t,e,n):!0)}destroy(){this.isResizing&&(this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp),this.isResizing=!1,this.activeHandle=null),this.editor.off("update",this.handleEditorUpdate.bind(this)),this.container.remove()}createContainer(){let t=document.createElement("div");return t.dataset.resizeContainer="",t.dataset.node=this.node.type.name,t.style.display="flex",this.classNames.container&&(t.className=this.classNames.container),t.appendChild(this.wrapper),t}createWrapper(){let t=document.createElement("div");return t.style.position="relative",t.style.display="block",t.dataset.resizeWrapper="",this.classNames.wrapper&&(t.className=this.classNames.wrapper),t.appendChild(this.element),t}createHandle(t){let e=document.createElement("div");return e.dataset.resizeHandle=t,e.style.position="absolute",this.classNames.handle&&(e.className=this.classNames.handle),e}positionHandle(t,e){let n=e.includes("top"),r=e.includes("bottom"),o=e.includes("left"),i=e.includes("right");n&&(t.style.top="0"),r&&(t.style.bottom="0"),o&&(t.style.left="0"),i&&(t.style.right="0"),(e==="top"||e==="bottom")&&(t.style.left="0",t.style.right="0"),(e==="left"||e==="right")&&(t.style.top="0",t.style.bottom="0")}attachHandles(){this.directions.forEach(t=>{let e;this.createCustomHandle?e=this.createCustomHandle(t):e=this.createHandle(t),e instanceof HTMLElement||(console.warn(`[ResizableNodeView] createCustomHandle("${t}") did not return an HTMLElement. Falling back to default handle.`),e=this.createHandle(t)),this.createCustomHandle||this.positionHandle(e,t),e.addEventListener("mousedown",n=>this.handleResizeStart(n,t)),e.addEventListener("touchstart",n=>this.handleResizeStart(n,t)),this.handleMap.set(t,e),this.wrapper.appendChild(e)})}removeHandles(){this.handleMap.forEach(t=>t.remove()),this.handleMap.clear()}applyInitialSize(){let t=this.node.attrs.width,e=this.node.attrs.height;t?(this.element.style.width=`${t}px`,this.initialWidth=t):this.initialWidth=this.element.offsetWidth,e?(this.element.style.height=`${e}px`,this.initialHeight=e):this.initialHeight=this.element.offsetHeight,this.initialWidth>0&&this.initialHeight>0&&(this.aspectRatio=this.initialWidth/this.initialHeight)}handleResizeStart(t,e){t.preventDefault(),t.stopPropagation(),this.isResizing=!0,this.activeHandle=e,kb(t)?(this.startX=t.touches[0].clientX,this.startY=t.touches[0].clientY):(this.startX=t.clientX,this.startY=t.clientY),this.startWidth=this.element.offsetWidth,this.startHeight=this.element.offsetHeight,this.startWidth>0&&this.startHeight>0&&(this.aspectRatio=this.startWidth/this.startHeight);let n=this.getPos();this.container.dataset.resizeState="true",this.classNames.resizing&&this.container.classList.add(this.classNames.resizing),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchmove",this.handleTouchMove),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}handleResize(t,e){if(!this.activeHandle)return;let n=this.preserveAspectRatio||this.isShiftKeyPressed,{width:r,height:o}=this.calculateNewDimensions(this.activeHandle,t,e),i=this.applyConstraints(r,o,n);this.element.style.width=`${i.width}px`,this.element.style.height=`${i.height}px`,this.onResize&&this.onResize(i.width,i.height)}calculateNewDimensions(t,e,n){let r=this.startWidth,o=this.startHeight,i=t.includes("right"),s=t.includes("left"),l=t.includes("bottom"),a=t.includes("top");return i?r=this.startWidth+e:s&&(r=this.startWidth-e),l?o=this.startHeight+n:a&&(o=this.startHeight-n),(t==="right"||t==="left")&&(r=this.startWidth+(i?e:-e)),(t==="top"||t==="bottom")&&(o=this.startHeight+(l?n:-n)),this.preserveAspectRatio||this.isShiftKeyPressed?this.applyAspectRatio(r,o,t):{width:r,height:o}}applyConstraints(t,e,n){var r,o,i,s;if(!n){let c=Math.max(this.minSize.width,t),d=Math.max(this.minSize.height,e);return(r=this.maxSize)!=null&&r.width&&(c=Math.min(this.maxSize.width,c)),(o=this.maxSize)!=null&&o.height&&(d=Math.min(this.maxSize.height,d)),{width:c,height:d}}let l=t,a=e;return lthis.maxSize.width&&(l=this.maxSize.width,a=l/this.aspectRatio),(s=this.maxSize)!=null&&s.height&&a>this.maxSize.height&&(a=this.maxSize.height,l=a*this.aspectRatio),{width:l,height:a}}applyAspectRatio(t,e,n){let r=n==="left"||n==="right",o=n==="top"||n==="bottom";return r?{width:t,height:t/this.aspectRatio}:o?{width:e*this.aspectRatio,height:e}:{width:t,height:t/this.aspectRatio}}};function bu(t,e){let{selection:n}=t,{$from:r}=n;if(n instanceof L){let i=r.index();return r.parent.canReplaceWith(i,i+1,e)}let o=r.depth;for(;o>=0;){let i=r.index(o);if(r.node(o).contentMatchAt(i).matchType(e))return!0;o-=1}return!1}function wu(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}var Sb={};js(Sb,{createAtomBlockMarkdownSpec:()=>Cb,createBlockMarkdownSpec:()=>Zt,createInlineMarkdownSpec:()=>Tb,parseAttributes:()=>rl,parseIndentedBlocks:()=>wo,renderNestedMarkdownContent:()=>cr,serializeAttributes:()=>ol});function rl(t){if(!t?.trim())return{};let e={},n=[],r=t.replace(/["']([^"']*)["']/g,c=>(n.push(c),`__QUOTED_${n.length-1}__`)),o=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(o){let c=o.map(d=>d.trim().slice(1));e.class=c.join(" ")}let i=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);i&&(e.id=i[1]);let s=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(r.matchAll(s)).forEach(([,c,d])=>{var u;let f=parseInt(((u=d.match(/__QUOTED_(\d+)__/))==null?void 0:u[1])||"0",10),h=n[f];h&&(e[c]=h.slice(1,-1))});let a=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return a&&a.split(/\s+/).filter(Boolean).forEach(d=>{d.match(/^[a-zA-Z][\w-]*$/)&&(e[d]=!0)}),e}function ol(t){if(!t||Object.keys(t).length===0)return"";let e=[];return t.class&&String(t.class).split(/\s+/).filter(Boolean).forEach(r=>e.push(`.${r}`)),t.id&&e.push(`#${t.id}`),Object.entries(t).forEach(([n,r])=>{n==="class"||n==="id"||(r===!0?e.push(n):r!==!1&&r!=null&&e.push(`${n}="${String(r)}"`))}),e.join(" ")}function Cb(t){let{nodeName:e,name:n,parseAttributes:r=rl,serializeAttributes:o=ol,defaultAttributes:i={},requiredAttributes:s=[],allowedAttributes:l}=t,a=n||e,c=d=>{if(!l)return d;let u={};return l.forEach(f=>{f in d&&(u[f]=d[f])}),u};return{parseMarkdown:(d,u)=>{let f={...i,...d.attributes};return u.createNode(e,f,[])},markdownTokenizer:{name:e,level:"block",start(d){var u;let f=new RegExp(`^:::${a}(?:\\s|$)`,"m"),h=(u=d.match(f))==null?void 0:u.index;return h!==void 0?h:-1},tokenize(d,u,f){let h=new RegExp(`^:::${a}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),p=d.match(h);if(!p)return;let m=p[1]||"",g=r(m);if(!s.find(w=>!(w in g)))return{type:e,raw:p[0],attributes:g}}},renderMarkdown:d=>{let u=c(d.attrs||{}),f=o(u),h=f?` {${f}}`:"";return`:::${a}${h} :::`}}}function Zt(t){let{nodeName:e,name:n,getContent:r,parseAttributes:o=rl,serializeAttributes:i=ol,defaultAttributes:s={},content:l="block",allowedAttributes:a}=t,c=n||e,d=u=>{if(!a)return u;let f={};return a.forEach(h=>{h in u&&(f[h]=u[h])}),f};return{parseMarkdown:(u,f)=>{let h;if(r){let m=r(u);h=typeof m=="string"?[{type:"text",text:m}]:m}else l==="block"?h=f.parseChildren(u.tokens||[]):h=f.parseInline(u.tokens||[]);let p={...s,...u.attributes};return f.createNode(e,p,h)},markdownTokenizer:{name:e,level:"block",start(u){var f;let h=new RegExp(`^:::${c}`,"m"),p=(f=u.match(h))==null?void 0:f.index;return p!==void 0?p:-1},tokenize(u,f,h){var p;let m=new RegExp(`^:::${c}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),g=u.match(m);if(!g)return;let[y,w=""]=g,b=o(w),C=1,x=y.length,S="",k=/^:::([\w-]*)(\s.*)?/gm,O=u.slice(x);for(k.lastIndex=0;;){let T=k.exec(O);if(T===null)break;let A=T.index,$=T[1];if(!((p=T[2])!=null&&p.endsWith(":::"))){if($)C+=1;else if(C-=1,C===0){let z=O.slice(0,A);S=z.trim();let K=u.slice(0,x+A+T[0].length),V=[];if(S)if(l==="block")for(V=h.blockTokens(z),V.forEach(N=>{N.text&&(!N.tokens||N.tokens.length===0)&&(N.tokens=h.inlineTokens(N.text))});V.length>0;){let N=V[V.length-1];if(N.type==="paragraph"&&(!N.text||N.text.trim()===""))V.pop();else break}else V=h.inlineTokens(S);return{type:e,raw:K,attributes:b,content:S,tokens:V}}}}}},renderMarkdown:(u,f)=>{let h=d(u.attrs||{}),p=i(h),m=p?` {${p}}`:"",g=f.renderChildren(u.content||[],` + +`);return`:::${c}${m} + +${g} + +:::`}}}function vb(t){if(!t.trim())return{};let e={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(t);for(;r!==null;){let[,o,i,s]=r;e[o]=i||s,r=n.exec(t)}return e}function Mb(t){return Object.entries(t).filter(([,e])=>e!=null).map(([e,n])=>`${e}="${n}"`).join(" ")}function Tb(t){let{nodeName:e,name:n,getContent:r,parseAttributes:o=vb,serializeAttributes:i=Mb,defaultAttributes:s={},selfClosing:l=!1,allowedAttributes:a}=t,c=n||e,d=f=>{if(!a)return f;let h={};return a.forEach(p=>{let m=typeof p=="string"?p:p.name,g=typeof p=="string"?void 0:p.skipIfDefault;if(m in f){let y=f[m];if(g!==void 0&&y===g)return;h[m]=y}}),h},u=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return{parseMarkdown:(f,h)=>{let p={...s,...f.attributes};if(l)return h.createNode(e,p);let m=r?r(f):f.content||"";return m?h.createNode(e,p,[h.createTextNode(m)]):h.createNode(e,p,[])},markdownTokenizer:{name:e,level:"inline",start(f){let h=l?new RegExp(`\\[${u}\\s*[^\\]]*\\]`):new RegExp(`\\[${u}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${u}\\]`),p=f.match(h),m=p?.index;return m!==void 0?m:-1},tokenize(f,h,p){let m=l?new RegExp(`^\\[${u}\\s*([^\\]]*)\\]`):new RegExp(`^\\[${u}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${u}\\]`),g=f.match(m);if(!g)return;let y="",w="";if(l){let[,C]=g;w=C}else{let[,C,x]=g;w=C,y=x||""}let b=o(w.trim());return{type:e,raw:g[0],content:y.trim(),attributes:b}}},renderMarkdown:f=>{let h="";r?h=r(f):f.content&&f.content.length>0&&(h=f.content.filter(y=>y.type==="text").map(y=>y.text).join(""));let p=d(f.attrs||{}),m=i(p),g=m?` ${m}`:"";return l?`[${c}${g}]`:`[${c}${g}]${h}[/${c}]`}}}function wo(t,e,n){var r,o,i,s;let l=t.split(` +`),a=[],c="",d=0,u=e.baseIndentSize||2;for(;d0)break;if(f.trim()===""){d+=1,c=`${c}${f} +`;continue}else return}let p=e.extractItemData(h),{indentLevel:m,mainContent:g}=p;c=`${c}${f} +`;let y=[g];for(d+=1;dA.trim()!=="");if(k===-1)break;if((((o=(r=l[d+1+k].match(/^(\s*)/))==null?void 0:r[1])==null?void 0:o.length)||0)>m){y.push(x),c=`${c}${x} +`,d+=1;continue}else break}if((((s=(i=x.match(/^(\s*)/))==null?void 0:i[1])==null?void 0:s.length)||0)>m)y.push(x),c=`${c}${x} +`,d+=1;else break}let w,b=y.slice(1);if(b.length>0){let x=b.map(S=>S.slice(m+u)).join(` +`);x.trim()&&(e.customNestedParser?w=e.customNestedParser(x):w=n.blockTokens(x))}let C=e.createToken(p,w);a.push(C)}if(a.length!==0)return{items:a,raw:c}}function cr(t,e,n,r){if(!t||!Array.isArray(t.content))return"";let o=typeof n=="function"?n(r):n,[i,...s]=t.content,l=e.renderChildren([i]),a=[`${o}${l}`];return s&&s.length>0&&s.forEach(c=>{let d=e.renderChildren([c]);if(d){let u=d.split(` +`).map(f=>f?e.indent(f):"").join(` +`);a.push(u)}}),a.join(` +`)}function Ab(t,e,n={}){let{state:r}=e,{doc:o,tr:i}=r,s=t;o.descendants((l,a)=>{let c=i.mapping.map(a),d=i.mapping.map(a)+l.nodeSize,u=null;if(l.marks.forEach(h=>{if(h!==s)return!1;u=h}),!u)return;let f=!1;if(Object.keys(n).forEach(h=>{n[h]!==u.attrs[h]&&(f=!0)}),f){let h=t.type.create({...t.attrs,...n});i.removeMark(c,d,t.type),i.addMark(c,d,h)}}),i.docChanged&&e.view.dispatch(i)}var F=class xu extends nl{constructor(){super(...arguments),this.type="node"}static create(e={}){let n=typeof e=="function"?e():e;return new xu(n)}configure(e){return super.configure(e)}extend(e){let n=typeof e=="function"?e():e;return super.extend(n)}};function Me(t){return new fb({find:t.find,handler:({state:e,range:n,match:r,pasteEvent:o})=>{let i=G(t.getAttributes,void 0,r,o);if(i===!1||i===null)return null;let{tr:s}=e,l=r[r.length-1],a=r[0],c=n.to;if(l){let d=a.search(/\S/),u=n.from+a.indexOf(l),f=u+l.length;if(po(n.from,n.to,e.doc).filter(p=>p.mark.type.excluded.find(g=>g===t.type&&g!==p.mark.type)).filter(p=>p.to>u).length)return null;fn.from&&s.delete(n.from+d,u),c=n.from+d+l.length,s.addMark(n.from+d,c,t.type.create(i||{})),s.removeStoredMark(t.type)}}})}function ku(t={}){return new P({view(e){return new il(e,t)}})}var il=class{constructor(e,n){var r;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=(r=n.width)!==null&&r!==void 0?r:1,this.color=n.color===!1?void 0:n.color||"black",this.class=n.class,this.handlers=["dragover","dragend","drop","dragleave"].map(o=>{let i=s=>{this[o](s)};return e.dom.addEventListener(o,i),{name:o,handler:i}})}destroy(){this.handlers.forEach(({name:e,handler:n})=>this.editorView.dom.removeEventListener(e,n))}update(e,n){this.cursorPos!=null&&n.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),n=!e.parent.inlineContent,r,o=this.editorView.dom,i=o.getBoundingClientRect(),s=i.width/o.offsetWidth,l=i.height/o.offsetHeight;if(n){let u=e.nodeBefore,f=e.nodeAfter;if(u||f){let h=this.editorView.nodeDOM(this.cursorPos-(u?u.nodeSize:0));if(h){let p=h.getBoundingClientRect(),m=u?p.bottom:p.top;u&&f&&(m=(m+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let g=this.width/2*l;r={left:p.left,right:p.right,top:m-g,bottom:m+g}}}}if(!r){let u=this.editorView.coordsAtPos(this.cursorPos),f=this.width/2*s;r={left:u.left-f,right:u.left+f,top:u.top,bottom:u.bottom}}let a=this.editorView.dom.offsetParent;this.element||(this.element=a.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",n),this.element.classList.toggle("prosemirror-dropcursor-inline",!n);let c,d;if(!a||a==document.body&&getComputedStyle(a).position=="static")c=-pageXOffset,d=-pageYOffset;else{let u=a.getBoundingClientRect(),f=u.width/a.offsetWidth,h=u.height/a.offsetHeight;c=u.left-a.scrollLeft*f,d=u.top-a.scrollTop*h}this.element.style.left=(r.left-c)/s+"px",this.element.style.top=(r.top-d)/l+"px",this.element.style.width=(r.right-r.left)/s+"px",this.element.style.height=(r.bottom-r.top)/l+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let n=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),r=n&&n.inside>=0&&this.editorView.state.doc.nodeAt(n.inside),o=r&&r.type.spec.disableDropCursor,i=typeof o=="function"?o(this.editorView,n,e):o;if(n&&!i){let s=n.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let l=zr(this.editorView.state.doc,s,this.editorView.dragging.slice);l!=null&&(s=l)}this.setCursor(s),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}};var ae=class t extends I{constructor(e){super(e,e)}map(e,n){let r=e.resolve(n.map(this.head));return t.valid(r)?new t(r):I.near(r)}content(){return E.empty}eq(e){return e instanceof t&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new t(e.resolve(n.pos))}getBookmark(){return new sl(this.anchor)}static valid(e){let n=e.parent;if(n.isTextblock||!Eb(e)||!Nb(e))return!1;let r=n.type.spec.allowGapCursor;if(r!=null)return r;let o=n.contentMatchAt(e.index()).defaultType;return o&&o.isTextblock}static findGapCursorFrom(e,n,r=!1){e:for(;;){if(!r&&t.valid(e))return e;let o=e.pos,i=null;for(let s=e.depth;;s--){let l=e.node(s);if(n>0?e.indexAfter(s)0){i=l.child(n>0?e.indexAfter(s):e.index(s)-1);break}else if(s==0)return null;o+=n;let a=e.doc.resolve(o);if(t.valid(a))return a}for(;;){let s=n>0?i.firstChild:i.lastChild;if(!s){if(i.isAtom&&!i.isText&&!L.isSelectable(i)){e=e.doc.resolve(o+i.nodeSize*n),r=!1;continue e}break}i=s,o+=n;let l=e.doc.resolve(o);if(t.valid(l))return l}return null}}};ae.prototype.visible=!1;ae.findFrom=ae.findGapCursorFrom;I.jsonID("gapcursor",ae);var sl=class t{constructor(e){this.pos=e}map(e){return new t(e.map(this.pos))}resolve(e){let n=e.resolve(this.pos);return ae.valid(n)?new ae(n):I.near(n)}};function Su(t){return t.isAtom||t.spec.isolating||t.spec.createGapCursor}function Eb(t){for(let e=t.depth;e>=0;e--){let n=t.index(e),r=t.node(e);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let o=r.child(n-1);;o=o.lastChild){if(o.childCount==0&&!o.inlineContent||Su(o.type))return!0;if(o.inlineContent)return!1}}return!0}function Nb(t){for(let e=t.depth;e>=0;e--){let n=t.indexAfter(e),r=t.node(e);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let o=r.child(n);;o=o.firstChild){if(o.childCount==0&&!o.inlineContent||Su(o.type))return!0;if(o.inlineContent)return!1}}return!0}function Cu(){return new P({props:{decorations:Ib,createSelectionBetween(t,e,n){return e.pos==n.pos&&ae.valid(n)?new ae(n):null},handleClick:Rb,handleKeyDown:Ob,handleDOMEvents:{beforeinput:Db}}})}var Ob=or({ArrowLeft:xo("horiz",-1),ArrowRight:xo("horiz",1),ArrowUp:xo("vert",-1),ArrowDown:xo("vert",1)});function xo(t,e){let n=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(r,o,i){let s=r.selection,l=e>0?s.$to:s.$from,a=s.empty;if(s instanceof D){if(!i.endOfTextblock(n)||l.depth==0)return!1;a=!1,l=r.doc.resolve(e>0?l.after():l.before())}let c=ae.findGapCursorFrom(l,e,a);return c?(o&&o(r.tr.setSelection(new ae(c))),!0):!1}}function Rb(t,e,n){if(!t||!t.editable)return!1;let r=t.state.doc.resolve(e);if(!ae.valid(r))return!1;let o=t.posAtCoords({left:n.clientX,top:n.clientY});return o&&o.inside>-1&&L.isSelectable(t.state.doc.nodeAt(o.inside))?!1:(t.dispatch(t.state.tr.setSelection(new ae(r))),!0)}function Db(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof ae))return!1;let{$from:n}=t.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(t.state.schema.nodes.text);if(!r)return!1;let o=v.empty;for(let s=r.length-1;s>=0;s--)o=v.from(r[s].createAndFill(null,o));let i=t.state.tr.replace(n.pos,n.pos,new E(o,0,0));return i.setSelection(D.near(i.doc.resolve(n.pos+1))),t.dispatch(i),!1}function Ib(t){if(!(t.selection instanceof ae))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",Y.create(t.doc,[te.widget(t.selection.head,e,{key:"gapcursor"})])}var ko=200,he=function(){};he.prototype.append=function(e){return e.length?(e=he.from(e),!this.length&&e||e.length=n?he.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))};he.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};he.prototype.forEach=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(e,n,r,0):this.forEachInvertedInner(e,n,r,0)};he.prototype.map=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var o=[];return this.forEach(function(i,s){return o.push(e(i,s))},n,r),o};he.from=function(e){return e instanceof he?e:e&&e.length?new vu(e):he.empty};var vu=(function(t){function e(r){t.call(this),this.values=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(o,i){return o==0&&i==this.length?this:new e(this.values.slice(o,i))},e.prototype.getInner=function(o){return this.values[o]},e.prototype.forEachInner=function(o,i,s,l){for(var a=i;a=s;a--)if(o(this.values[a],l+a)===!1)return!1},e.prototype.leafAppend=function(o){if(this.length+o.length<=ko)return new e(this.values.concat(o.flatten()))},e.prototype.leafPrepend=function(o){if(this.length+o.length<=ko)return new e(o.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e})(he);he.empty=new vu([]);var Pb=(function(t){function e(n,r){t.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(r){return rl&&this.right.forEachInner(r,Math.max(o-l,0),Math.min(this.length,i)-l,s+l)===!1)return!1},e.prototype.forEachInvertedInner=function(r,o,i,s){var l=this.left.length;if(o>l&&this.right.forEachInvertedInner(r,o-l,Math.max(i,l)-l,s+l)===!1||i=i?this.right.slice(r-i,o-i):this.left.slice(r,i).append(this.right.slice(0,o-i))},e.prototype.leafAppend=function(r){var o=this.right.leafAppend(r);if(o)return new e(this.left,o)},e.prototype.leafPrepend=function(r){var o=this.left.leafPrepend(r);if(o)return new e(o,this.right)},e.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new e(this.left,new e(this.right,r)):new e(this,r)},e})(he),ll=he;var Lb=500,tn=class t{constructor(e,n){this.items=e,this.eventCount=n}popEvent(e,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let o,i;n&&(o=this.remapping(r,this.items.length),i=o.maps.length);let s=e.tr,l,a,c=[],d=[];return this.items.forEach((u,f)=>{if(!u.step){o||(o=this.remapping(r,f+1),i=o.maps.length),i--,d.push(u);return}if(o){d.push(new nt(u.map));let h=u.step.map(o.slice(i)),p;h&&s.maybeStep(h).doc&&(p=s.mapping.maps[s.mapping.maps.length-1],c.push(new nt(p,void 0,void 0,c.length+d.length))),i--,p&&o.appendMap(p,i)}else s.maybeStep(u.step);if(u.selection)return l=o?u.selection.map(o.slice(i)):u.selection,a=new t(this.items.slice(0,r).append(d.reverse().concat(c)),this.eventCount-1),!1},this.items.length,0),{remaining:a,transform:s,selection:l}}addTransform(e,n,r,o){let i=[],s=this.eventCount,l=this.items,a=!o&&l.length?l.get(l.length-1):null;for(let d=0;dzb&&(l=Bb(l,c),s-=c),new t(l.append(i),s)}remapping(e,n){let r=new jn;return this.items.forEach((o,i)=>{let s=o.mirrorOffset!=null&&i-o.mirrorOffset>=e?r.maps.length-o.mirrorOffset:void 0;r.appendMap(o.map,s)},e,n),r}addMaps(e){return this.eventCount==0?this:new t(this.items.append(e.map(n=>new nt(n))),this.eventCount)}rebased(e,n){if(!this.eventCount)return this;let r=[],o=Math.max(0,this.items.length-n),i=e.mapping,s=e.steps.length,l=this.eventCount;this.items.forEach(f=>{f.selection&&l--},o);let a=n;this.items.forEach(f=>{let h=i.getMirror(--a);if(h==null)return;s=Math.min(s,h);let p=i.maps[h];if(f.step){let m=e.steps[h].invert(e.docs[h]),g=f.selection&&f.selection.map(i.slice(a+1,h));g&&l++,r.push(new nt(p,m,g))}else r.push(new nt(p))},o);let c=[];for(let f=n;fLb&&(u=u.compress(this.items.length-r.length)),u}emptyItemCount(){let e=0;return this.items.forEach(n=>{n.step||e++}),e}compress(e=this.items.length){let n=this.remapping(0,e),r=n.maps.length,o=[],i=0;return this.items.forEach((s,l)=>{if(l>=e)o.push(s),s.selection&&i++;else if(s.step){let a=s.step.map(n.slice(r)),c=a&&a.getMap();if(r--,c&&n.appendMap(c,r),a){let d=s.selection&&s.selection.map(n.slice(r));d&&i++;let u=new nt(c.invert(),a,d),f,h=o.length-1;(f=o.length&&o[h].merge(u))?o[h]=f:o.push(u)}}else s.map&&r--},this.items.length,0),new t(ll.from(o.reverse()),i)}};tn.empty=new tn(ll.empty,0);function Bb(t,e){let n;return t.forEach((r,o)=>{if(r.selection&&e--==0)return n=o,!1}),t.slice(n)}var nt=class t{constructor(e,n,r,o){this.map=e,this.step=n,this.selection=r,this.mirrorOffset=o}merge(e){if(this.step&&e.step&&!e.selection){let n=e.step.merge(this.step);if(n)return new t(n.getMap().invert(),n,this.selection)}}},rt=class{constructor(e,n,r,o,i){this.done=e,this.undone=n,this.prevRanges=r,this.prevTime=o,this.prevComposition=i}},zb=20;function Hb(t,e,n,r){let o=n.getMeta(en),i;if(o)return o.historyState;n.getMeta(Vb)&&(t=new rt(t.done,t.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(n.steps.length==0)return t;if(s&&s.getMeta(en))return s.getMeta(en).redo?new rt(t.done.addTransform(n,void 0,r,So(e)),t.undone,Mu(n.mapping.maps),t.prevTime,t.prevComposition):new rt(t.done,t.undone.addTransform(n,void 0,r,So(e)),null,t.prevTime,t.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let l=n.getMeta("composition"),a=t.prevTime==0||!s&&t.prevComposition!=l&&(t.prevTime<(n.time||0)-r.newGroupDelay||!$b(n,t.prevRanges)),c=s?al(t.prevRanges,n.mapping):Mu(n.mapping.maps);return new rt(t.done.addTransform(n,a?e.selection.getBookmark():void 0,r,So(e)),tn.empty,c,n.time,l??t.prevComposition)}else return(i=n.getMeta("rebased"))?new rt(t.done.rebased(n,i),t.undone.rebased(n,i),al(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new rt(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),al(t.prevRanges,n.mapping),t.prevTime,t.prevComposition)}function $b(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach((r,o)=>{for(let i=0;i=e[i]&&(n=!0)}),n}function Mu(t){let e=[];for(let n=t.length-1;n>=0&&e.length==0;n--)t[n].forEach((r,o,i,s)=>e.push(i,s));return e}function al(t,e){if(!t)return null;let n=[];for(let r=0;r{let o=en.getState(n);if(!o||(t?o.undone:o.done).eventCount==0)return!1;if(r){let i=Fb(o,n,t);i&&r(e?i.scrollIntoView():i)}return!0}}var dl=Co(!1,!0),ul=Co(!0,!0),g1=Co(!1,!1),y1=Co(!0,!1);var C1=U.create({name:"characterCount",addOptions(){return{limit:null,mode:"textSize",textCounter:t=>t.length,wordCounter:t=>t.split(" ").filter(e=>e!=="").length}},addStorage(){return{characters:()=>0,words:()=>0}},onBeforeCreate(){this.storage.characters=t=>{let e=t?.node||this.editor.state.doc;if((t?.mode||this.options.mode)==="textSize"){let r=e.textBetween(0,e.content.size,void 0," ");return this.options.textCounter(r)}return e.nodeSize},this.storage.words=t=>{let e=t?.node||this.editor.state.doc,n=e.textBetween(0,e.content.size," "," ");return this.options.wordCounter(n)}},addProseMirrorPlugins(){let t=!1;return[new P({key:new H("characterCount"),appendTransaction:(e,n,r)=>{if(t)return;let o=this.options.limit;if(o==null||o===0){t=!0;return}let i=this.storage.characters({node:r.doc});if(i>o){let s=i-o,l=0,a=s;console.warn(`[CharacterCount] Initial content exceeded limit of ${o} characters. Content was automatically trimmed.`);let c=r.tr.deleteRange(l,a);return t=!0,c}t=!0},filterTransaction:(e,n)=>{let r=this.options.limit;if(!e.docChanged||r===0||r===null||r===void 0)return!0;let o=this.storage.characters({node:n.doc}),i=this.storage.characters({node:e.doc});if(i<=r||o>r&&i>r&&i<=o)return!0;if(o>r&&i>r&&i>o||!e.getMeta("paste"))return!1;let l=e.selection.$head.pos,a=i-r,c=l-a,d=l;return e.deleteRange(c,d),!(this.storage.characters({node:e.doc})>r)}})]}}),Nu=U.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[ku(this.options)]}}),N1=U.create({name:"focus",addOptions(){return{className:"has-focus",mode:"all"}},addProseMirrorPlugins(){return[new P({key:new H("focus"),props:{decorations:({doc:t,selection:e})=>{let{isEditable:n,isFocused:r}=this.editor,{anchor:o}=e,i=[];if(!n||!r)return Y.create(t,[]);let s=0;this.options.mode==="deepest"&&t.descendants((a,c)=>{if(a.isText)return;if(!(o>=c&&o<=c+a.nodeSize-1))return!1;s+=1});let l=0;return t.descendants((a,c)=>{if(a.isText||!(o>=c&&o<=c+a.nodeSize-1))return!1;if(l+=1,this.options.mode==="deepest"&&s-l>0||this.options.mode==="shallowest"&&l>1)return this.options.mode==="deepest";i.push(te.node(c,c+a.nodeSize,{class:this.options.className}))}),Y.create(t,i)}}})]}}),Ou=U.create({name:"gapCursor",addProseMirrorPlugins(){return[Cu()]},extendNodeSchema(t){var e;let n={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:(e=G(B(t,"allowGapCursor",n)))!=null?e:null}}}),fl=U.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something \u2026",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new P({key:new H("placeholder"),props:{decorations:({doc:t,selection:e})=>{let n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=e,o=[];if(!n)return null;let i=this.editor.isEmpty;return t.descendants((s,l)=>{let a=r>=l&&r<=l+s.nodeSize,c=!s.isLeaf&&lr(s);if((a||!this.options.showOnlyCurrent)&&c){let d=[this.options.emptyNodeClass];i&&d.push(this.options.emptyEditorClass);let u=te.node(l,l+s.nodeSize,{class:d.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:s,pos:l,hasAnchor:a}):this.options.placeholder});o.push(u)}return this.options.includeChildren}),Y.create(t,o)}}})]}}),H1=U.create({name:"selection",addOptions(){return{className:"selection"}},addProseMirrorPlugins(){let{editor:t,options:e}=this;return[new P({key:new H("selection"),props:{decorations(n){return n.selection.empty||t.isFocused||!t.isEditable||mo(n.selection)||t.view.dragging?null:Y.create(n.doc,[te.inline(n.selection.from,n.selection.to,{class:e.className})])}}})]}});function Eu({types:t,node:e}){return e&&Array.isArray(t)&&t.includes(e.type)||e?.type===t}var V1=U.create({name:"trailingNode",addOptions(){return{node:void 0,notAfter:[]}},addProseMirrorPlugins(){var t;let e=new H(this.name),n=this.options.node||((t=this.editor.schema.topNodeType.contentMatch.defaultType)==null?void 0:t.name)||"paragraph",r=Object.entries(this.editor.schema.nodes).map(([,o])=>o).filter(o=>(this.options.notAfter||[]).concat(n).includes(o.name));return[new P({key:e,appendTransaction:(o,i,s)=>{let{doc:l,tr:a,schema:c}=s,d=e.getState(s),u=l.content.size,f=c.nodes[n];if(d)return a.insert(u,f.create())},state:{init:(o,i)=>{let s=i.tr.doc.lastChild;return!Eu({node:s,types:r})},apply:(o,i)=>{if(!o.docChanged||o.getMeta("__uniqueIDTransaction"))return i;let s=o.doc.lastChild;return!Eu({node:s,types:r})}}})]}}),Ru=U.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>dl(t,e),redo:()=>({state:t,dispatch:e})=>ul(t,e)}},addProseMirrorPlugins(){return[Au(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});var Nn=(t,e)=>{if(t==="slot")return 0;if(t instanceof Function)return t(e);let{children:n,...r}=e??{};if(t==="svg")throw new Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");return[t,r,n]};var _b=/^\s*>\s$/,Wb=F.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return Nn("blockquote",{...R(this.options.HTMLAttributes,t),children:Nn("slot",{})})},parseMarkdown:(t,e)=>e.createNode("blockquote",void 0,e.parseChildren(t.tokens||[])),renderMarkdown:(t,e)=>{if(!t.content)return"";let n=">",r=[];return t.content.forEach(o=>{let l=e.renderChildren([o]).split(` +`).map(a=>a.trim()===""?n:`${n} ${a}`);r.push(l.join(` +`))}),r.join(` +${n} +`)},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[tt({find:_b,type:this.type})]}}),Du=Wb;var jb=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,Ub=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,Kb=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,qb=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,Jb=ee.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return Nn("strong",{...R(this.options.HTMLAttributes,t),children:Nn("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[Be({find:jb,type:this.type}),Be({find:Kb,type:this.type})]},addPasteRules(){return[Me({find:Ub,type:this.type}),Me({find:qb,type:this.type})]}}),Iu=Jb;var Gb=/(^|[^`])`([^`]+)`(?!`)$/,Xb=/(^|[^`])`([^`]+)`(?!`)/g,Yb=ee.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:t}){return["code",R(this.options.HTMLAttributes,t),0]},markdownTokenName:"codespan",parseMarkdown:(t,e)=>e.applyMark("code",[{type:"text",text:t.text||""}]),renderMarkdown:(t,e)=>t.content?`\`${e.renderChildren(t.content)}\``:"",addCommands(){return{setCode:()=>({commands:t})=>t.setMark(this.name),toggleCode:()=>({commands:t})=>t.toggleMark(this.name),unsetCode:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[Be({find:Gb,type:this.type})]},addPasteRules(){return[Me({find:Xb,type:this.type})]}}),Pu=Yb;var hl=4,Qb=/^```([a-z]+)?[\s\n]$/,Zb=/^~~~([a-z]+)?[\s\n]$/,e0=F.create({name:"codeBlock",addOptions(){return{languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,defaultLanguage:null,enableTabIndentation:!1,tabSize:hl,HTMLAttributes:{}}},content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:t=>{var e;let{languageClassPrefix:n}=this.options;if(!n)return null;let i=[...((e=t.firstElementChild)==null?void 0:e.classList)||[]].filter(s=>s.startsWith(n)).map(s=>s.replace(n,""))[0];return i||null},rendered:!1}}},parseHTML(){return[{tag:"pre",preserveWhitespace:"full"}]},renderHTML({node:t,HTMLAttributes:e}){return["pre",R(this.options.HTMLAttributes,e),["code",{class:t.attrs.language?this.options.languageClassPrefix+t.attrs.language:null},0]]},markdownTokenName:"code",parseMarkdown:(t,e)=>{var n;return((n=t.raw)==null?void 0:n.startsWith("```"))===!1&&t.codeBlockStyle!=="indented"?[]:e.createNode("codeBlock",{language:t.lang||null},t.text?[e.createTextNode(t.text)]:[])},renderMarkdown:(t,e)=>{var n;let r="",o=((n=t.attrs)==null?void 0:n.language)||"";return t.content?r=[`\`\`\`${o}`,e.renderChildren(t.content),"```"].join(` +`):r=`\`\`\`${o} + +\`\`\``,r},addCommands(){return{setCodeBlock:t=>({commands:e})=>e.setNode(this.name,t),toggleCodeBlock:t=>({commands:e})=>e.toggleNode(this.name,"paragraph",t)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{let{empty:t,$anchor:e}=this.editor.state.selection,n=e.pos===1;return!t||e.parent.type.name!==this.name?!1:n||!e.parent.textContent.length?this.editor.commands.clearNodes():!1},Tab:({editor:t})=>{var e;if(!this.options.enableTabIndentation)return!1;let n=(e=this.options.tabSize)!=null?e:hl,{state:r}=t,{selection:o}=r,{$from:i,empty:s}=o;if(i.parent.type!==this.type)return!1;let l=" ".repeat(n);return s?t.commands.insertContent(l):t.commands.command(({tr:a})=>{let{from:c,to:d}=o,h=r.doc.textBetween(c,d,` +`,` +`).split(` +`).map(p=>l+p).join(` +`);return a.replaceWith(c,d,r.schema.text(h)),!0})},"Shift-Tab":({editor:t})=>{var e;if(!this.options.enableTabIndentation)return!1;let n=(e=this.options.tabSize)!=null?e:hl,{state:r}=t,{selection:o}=r,{$from:i,empty:s}=o;return i.parent.type!==this.type?!1:s?t.commands.command(({tr:l})=>{var a;let{pos:c}=i,d=i.start(),u=i.end(),h=r.doc.textBetween(d,u,` +`,` +`).split(` +`),p=0,m=0,g=c-d;for(let S=0;S=g){p=S;break}m+=h[S].length+1}let w=((a=h[p].match(/^ */))==null?void 0:a[0])||"",b=Math.min(w.length,n);if(b===0)return!0;let C=d;for(let S=0;S{let{from:a,to:c}=o,f=r.doc.textBetween(a,c,` +`,` +`).split(` +`).map(h=>{var p;let m=((p=h.match(/^ */))==null?void 0:p[0])||"",g=Math.min(m.length,n);return h.slice(g)}).join(` +`);return l.replaceWith(a,c,r.schema.text(f)),!0})},Enter:({editor:t})=>{if(!this.options.exitOnTripleEnter)return!1;let{state:e}=t,{selection:n}=e,{$from:r,empty:o}=n;if(!o||r.parent.type!==this.type)return!1;let i=r.parentOffset===r.parent.nodeSize-2,s=r.parent.textContent.endsWith(` + +`);return!i||!s?!1:t.chain().command(({tr:l})=>(l.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown)return!1;let{state:e}=t,{selection:n,doc:r}=e,{$from:o,empty:i}=n;if(!i||o.parent.type!==this.type||!(o.parentOffset===o.parent.nodeSize-2))return!1;let l=o.after();return l===void 0?!1:r.nodeAt(l)?t.commands.command(({tr:c})=>(c.setSelection(I.near(r.resolve(l))),!0)):t.commands.exitCode()}}},addInputRules(){return[ar({find:Qb,type:this.type,getAttributes:t=>({language:t[1]})}),ar({find:Zb,type:this.type,getAttributes:t=>({language:t[1]})})]},addProseMirrorPlugins(){return[new P({key:new H("codeBlockVSCodeHandler"),props:{handlePaste:(t,e)=>{if(!e.clipboardData||this.editor.isActive(this.type.name))return!1;let n=e.clipboardData.getData("text/plain"),r=e.clipboardData.getData("vscode-editor-data"),o=r?JSON.parse(r):void 0,i=o?.mode;if(!n||!i)return!1;let{tr:s,schema:l}=t.state,a=l.text(n.replace(/\r\n?/g,` +`));return s.replaceSelectionWith(this.type.create({language:i},a)),s.selection.$from.parent.type!==this.type&&s.setSelection(D.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.setMeta("paste",!0),t.dispatch(s),!0}}})]}}),Lu=e0;var Bu=F.create({name:"customBlock",group:"block",atom:!0,defining:!0,draggable:!0,selectable:!0,isolating:!0,allowGapCursor:!0,inline:!1,addNodeView(){return({editor:t,node:e,getPos:n,HTMLAttributes:r,decorations:o,extension:i})=>{let s=document.createElement("div");s.setAttribute("data-config",e.attrs.config),s.setAttribute("data-id",e.attrs.id),s.setAttribute("data-type","customBlock");let l=document.createElement("div");if(l.className="fi-fo-rich-editor-custom-block-header fi-not-prose",s.appendChild(l),t.isEditable&&typeof e.attrs.config=="object"&&e.attrs.config!==null&&Object.keys(e.attrs.config).length>0){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-edit-btn-ctn",l.appendChild(c);let d=document.createElement("button");d.className="fi-icon-btn",d.type="button",d.innerHTML=i.options.editCustomBlockButtonIconHtml,d.addEventListener("click",()=>i.options.editCustomBlockUsing(e.attrs.id,e.attrs.config)),c.appendChild(d)}let a=document.createElement("p");if(a.className="fi-fo-rich-editor-custom-block-heading",a.textContent=e.attrs.label,l.appendChild(a),t.isEditable){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-delete-btn-ctn",l.appendChild(c);let d=document.createElement("button");d.className="fi-icon-btn",d.type="button",d.innerHTML=i.options.deleteCustomBlockButtonIconHtml,d.addEventListener("click",()=>t.chain().setNodeSelection(n()).deleteSelection().run()),c.appendChild(d)}if(e.attrs.preview){let c=document.createElement("div");c.className="fi-fo-rich-editor-custom-block-preview fi-not-prose",c.innerHTML=new TextDecoder().decode(Uint8Array.from(atob(e.attrs.preview),d=>d.charCodeAt(0))),s.appendChild(c)}return{dom:s}}},addOptions(){return{deleteCustomBlockButtonIconHtml:null,editCustomBlockButtonIconHtml:null,editCustomBlockUsing:()=>{},insertCustomBlockUsing:()=>{}}},addAttributes(){return{config:{default:null,parseHTML:t=>JSON.parse(t.getAttribute("data-config"))},id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,parseHTML:t=>t.getAttribute("data-label"),rendered:!1},preview:{default:null,parseHTML:t=>t.getAttribute("data-preview"),rendered:!1}}},parseHTML(){return[{tag:`div[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t}){return["div",R(t)]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new ie,l=0;return e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n})}},addProseMirrorPlugins(){let{insertCustomBlockUsing:t}=this.options;return[new P({props:{handleDrop(e,n){if(!n||(n.preventDefault(),!n.dataTransfer.getData("customBlock")))return!1;let r=n.dataTransfer.getData("customBlock");return t(r,e.posAtCoords({left:n.clientX,top:n.clientY}).pos),!1}}})]}});var vo=(t,e)=>e.view.domAtPos(t).node.offsetParent!==null,t0=(t,e,n)=>{for(let r=t.depth;r>0;r-=1){let o=t.node(r),i=e(o),s=vo(t.start(r),n);if(i&&s)return{pos:r>0?t.before(r):0,start:t.start(r),depth:r,node:o}}},zu=(t,e)=>{let{state:n,view:r,extensionManager:o}=t,{schema:i,selection:s}=n,{empty:l,$anchor:a}=s,c=!!o.extensions.find(y=>y.name==="gapCursor");if(!l||a.parent.type!==i.nodes.detailsSummary||!c||e==="right"&&a.parentOffset!==a.parent.nodeSize-2)return!1;let d=et(y=>y.type===i.nodes.details)(s);if(!d)return!1;let u=En(d.node,y=>y.type===i.nodes.detailsContent);if(!u.length||vo(d.start+u[0].pos+1,t))return!1;let h=n.doc.resolve(d.pos+d.node.nodeSize),p=ae.findFrom(h,1,!1);if(!p)return!1;let{tr:m}=n,g=new ae(p);return m.setSelection(g),m.scrollIntoView(),r.dispatch(m),!0},Hu=F.create({name:"details",content:"detailsSummary detailsContent",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,addOptions(){return{persist:!1,openClassName:"is-open",HTMLAttributes:{}}},addAttributes(){return this.options.persist?{open:{default:!1,parseHTML:t=>t.hasAttribute("open"),renderHTML:({open:t})=>t?{open:""}:{}}}:[]},parseHTML(){return[{tag:"details"}]},renderHTML({HTMLAttributes:t}){return["details",R(this.options.HTMLAttributes,t),0]},...Zt({nodeName:"details",content:"block"}),addNodeView(){return({editor:t,getPos:e,node:n,HTMLAttributes:r})=>{let o=document.createElement("div"),i=R(this.options.HTMLAttributes,r,{"data-type":this.name});Object.entries(i).forEach(([c,d])=>o.setAttribute(c,d));let s=document.createElement("button");s.type="button",o.append(s);let l=document.createElement("div");o.append(l);let a=c=>{if(c!==void 0)if(c){if(o.classList.contains(this.options.openClassName))return;o.classList.add(this.options.openClassName)}else{if(!o.classList.contains(this.options.openClassName))return;o.classList.remove(this.options.openClassName)}else o.classList.toggle(this.options.openClassName);let d=new Event("toggleDetailsContent"),u=l.querySelector(':scope > div[data-type="detailsContent"]');u?.dispatchEvent(d)};return n.attrs.open&&setTimeout(()=>a()),s.addEventListener("click",()=>{if(a(),!this.options.persist){t.commands.focus(void 0,{scrollIntoView:!1});return}if(t.isEditable&&typeof e=="function"){let{from:c,to:d}=t.state.selection;t.chain().command(({tr:u})=>{let f=e();if(!f)return!1;let h=u.doc.nodeAt(f);return h?.type!==this.type?!1:(u.setNodeMarkup(f,void 0,{open:!h.attrs.open}),!0)}).setTextSelection({from:c,to:d}).focus(void 0,{scrollIntoView:!1}).run()}}),{dom:o,contentDOM:l,ignoreMutation(c){return c.type==="selection"?!1:!o.contains(c.target)||o===c.target},update:c=>c.type!==this.type?!1:(c.attrs.open!==void 0&&a(c.attrs.open),!0)}}},addCommands(){return{setDetails:()=>({state:t,chain:e})=>{var n;let{schema:r,selection:o}=t,{$from:i,$to:s}=o,l=i.blockRange(s);if(!l)return!1;let a=t.doc.slice(l.start,l.end);if(!r.nodes.detailsContent.contentMatch.matchFragment(a.content))return!1;let d=((n=a.toJSON())==null?void 0:n.content)||[];return e().insertContentAt({from:l.start,to:l.end},{type:this.name,content:[{type:"detailsSummary"},{type:"detailsContent",content:d}]}).setTextSelection(l.start+2).run()},unsetDetails:()=>({state:t,chain:e})=>{let{selection:n,schema:r}=t,o=et(y=>y.type===this.type)(n);if(!o)return!1;let i=En(o.node,y=>y.type===r.nodes.detailsSummary),s=En(o.node,y=>y.type===r.nodes.detailsContent);if(!i.length||!s.length)return!1;let l=i[0],a=s[0],c=o.pos,d=t.doc.resolve(c),u=c+o.node.nodeSize,f={from:c,to:u},h=a.node.content.toJSON()||[],p=d.parent.type.contentMatch.defaultType,g=[p?.create(null,l.node.content).toJSON(),...h];return e().insertContentAt(f,g).setTextSelection(c+1).run()}}},addKeyboardShortcuts(){return{Backspace:()=>{let{schema:t,selection:e}=this.editor.state,{empty:n,$anchor:r}=e;return!n||r.parent.type!==t.nodes.detailsSummary?!1:r.parentOffset!==0?this.editor.commands.command(({tr:o})=>{let i=r.pos-1,s=r.pos;return o.delete(i,s),!0}):this.editor.commands.unsetDetails()},Enter:({editor:t})=>{let{state:e,view:n}=t,{schema:r,selection:o}=e,{$head:i}=o;if(i.parent.type!==r.nodes.detailsSummary)return!1;let s=vo(i.after()+1,t),l=s?e.doc.nodeAt(i.after()):i.node(-2);if(!l)return!1;let a=s?0:i.indexAfter(-1),c=sr(l.contentMatchAt(a));if(!c||!l.canReplaceWith(a,a,c))return!1;let d=c.createAndFill();if(!d)return!1;let u=s?i.after()+1:i.after(-1),f=e.tr.replaceWith(u,u,d),h=f.doc.resolve(u),p=I.near(h,1);return f.setSelection(p),f.scrollIntoView(),n.dispatch(f),!0},ArrowRight:({editor:t})=>zu(t,"right"),ArrowDown:({editor:t})=>zu(t,"down")}},addProseMirrorPlugins(){return[new P({key:new H("detailsSelection"),appendTransaction:(t,e,n)=>{let{editor:r,type:o}=this;if(r.view.composing||!t.some(y=>y.selectionSet)||!e.selection.empty||!n.selection.empty||!tl(n,o.name))return;let{$from:a}=n.selection;if(vo(a.pos,r))return;let d=t0(a,y=>y.type===o,r);if(!d)return;let u=En(d.node,y=>y.type===n.schema.nodes.detailsSummary);if(!u.length)return;let f=u[0],p=(e.selection.from{let e=document.createElement("div"),n=R(this.options.HTMLAttributes,t,{"data-type":this.name,hidden:"hidden"});return Object.entries(n).forEach(([r,o])=>e.setAttribute(r,o)),e.addEventListener("toggleDetailsContent",()=>{e.toggleAttribute("hidden")}),{dom:e,contentDOM:e,ignoreMutation(r){return r.type==="selection"?!1:!e.contains(r.target)||e===r.target},update:r=>r.type===this.type}}},addKeyboardShortcuts(){return{Enter:({editor:t})=>{let{state:e,view:n}=t,{selection:r}=e,{$from:o,empty:i}=r,s=et($=>$.type===this.type)(r);if(!i||!s||!s.node.childCount)return!1;let l=o.index(s.depth),{childCount:a}=s.node;if(!(a===l+1))return!1;let d=s.node.type.contentMatch.defaultType,u=d?.createAndFill();if(!u)return!1;let f=e.doc.resolve(s.pos+1),h=a-1,p=s.node.child(h),m=f.posAtIndex(h,s.depth);if(!p.eq(u))return!1;let y=o.node(-3);if(!y)return!1;let w=o.indexAfter(-3),b=sr(y.contentMatchAt(w));if(!b||!y.canReplaceWith(w,w,b))return!1;let C=b.createAndFill();if(!C)return!1;let{tr:x}=e,S=o.after(-2);x.replaceWith(S,S,C);let k=x.doc.resolve(S),O=I.near(k,1);x.setSelection(O);let T=m,A=m+p.nodeSize;return x.delete(T,A),x.scrollIntoView(),n.dispatch(x),!0}}},...Zt({nodeName:"detailsContent"})}),Fu=F.create({name:"detailsSummary",content:"text*",defining:!0,selectable:!1,isolating:!0,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"summary"}]},renderHTML({HTMLAttributes:t}){return["summary",R(this.options.HTMLAttributes,t),0]},...Zt({nodeName:"detailsSummary",content:"inline"})});var n0=F.create({name:"doc",topNode:!0,content:"block+",renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,` + +`):""}),Vu=n0;var _u=F.create({name:"grid",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,content:"gridColumn+",addOptions(){return{HTMLAttributes:{class:"grid-layout"}}},addAttributes(){return{"data-cols":{default:2,parseHTML:t=>t.getAttribute("data-cols")},"data-from-breakpoint":{default:"md",parseHTML:t=>t.getAttribute("data-from-breakpoint")},style:{default:null,parseHTML:t=>t.getAttribute("style"),renderHTML:t=>({style:`grid-template-columns: repeat(${t["data-cols"]}, 1fr)`})}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("grid-layout")&&null}]},renderHTML({HTMLAttributes:t}){return["div",R(this.options.HTMLAttributes,t),0]},addCommands(){return{insertGrid:({columns:t=[1,1],fromBreakpoint:e,coordinates:n=null}={})=>({tr:r,dispatch:o,editor:i})=>{let s=i.schema.nodes.gridColumn,l=Array.isArray(t)&&t.length?t:[1,1],a=[];for(let u=0;uNumber(u)||1).reduce((u,f)=>u+f,0),d=i.schema.nodes.grid.createChecked({"data-cols":c,"data-from-breakpoint":e},a);if(o){let u=r.selection.anchor+1;[null,void 0].includes(n?.from)?r.replaceSelectionWith(d).scrollIntoView().setSelection(D.near(r.doc.resolve(u))):r.replaceRangeWith(n.from,n.to,d).scrollIntoView().setSelection(D.near(r.doc.resolve(n.from)))}return!0}}}});var Wu=F.create({name:"gridColumn",content:"block+",isolating:!0,addOptions(){return{HTMLAttributes:{class:"grid-layout-col"}}},addAttributes(){return{"data-col-span":{default:1,parseHTML:t=>t.getAttribute("data-col-span"),renderHTML:t=>({"data-col-span":t["data-col-span"]??1})},style:{default:null,parseHTML:t=>t.getAttribute("style"),renderHTML:t=>({style:`grid-column: span ${t["data-col-span"]??1};`})}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("grid-layout-col")&&null}]},renderHTML({HTMLAttributes:t}){return["div",R(this.options.HTMLAttributes,t),0]}});var r0=F.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",R(this.options.HTMLAttributes,t)]},renderText(){return` +`},renderMarkdown:()=>` +`,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:n,editor:r})=>t.first([()=>t.exitCode(),()=>t.command(()=>{let{selection:o,storedMarks:i}=n;if(o.$from.parent.type.spec.isolating)return!1;let{keepMarks:s}=this.options,{splittableMarks:l}=r.extensionManager,a=i||o.$to.parentOffset&&o.$from.marks();return e().insertContent({type:this.name}).command(({tr:c,dispatch:d})=>{if(d&&a&&s){let u=a.filter(f=>l.includes(f.type.name));c.ensureMarks(u)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),ju=r0;var o0=F.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(t=>({tag:`h${t}`,attrs:{level:t}}))},renderHTML({node:t,HTMLAttributes:e}){return[`h${this.options.levels.includes(t.attrs.level)?t.attrs.level:this.options.levels[0]}`,R(this.options.HTMLAttributes,e),0]},parseMarkdown:(t,e)=>e.createNode("heading",{level:t.depth||1},e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>{var n;let r=(n=t.attrs)!=null&&n.level?parseInt(t.attrs.level,10):1,o="#".repeat(r);return t.content?`${o} ${e.renderChildren(t.content)}`:""},addCommands(){return{setHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.setNode(this.name,t):!1,toggleHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.toggleNode(this.name,"paragraph",t):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((t,e)=>({...t,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})}),{})},addInputRules(){return this.options.levels.map(t=>ar({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${t}})\\s$`),type:this.type,getAttributes:{level:t}}))}}),Uu=o0;var i0=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,s0=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g,l0=ee.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:t=>t.getAttribute("data-color")||t.style.backgroundColor,renderHTML:t=>t.color?{"data-color":t.color,style:`background-color: ${t.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:t}){return["mark",R(this.options.HTMLAttributes,t),0]},renderMarkdown:(t,e)=>`==${e.renderChildren(t)}==`,parseMarkdown:(t,e)=>e.applyMark("highlight",e.parseInline(t.tokens||[])),markdownTokenizer:{name:"highlight",level:"inline",start:t=>t.indexOf("=="),tokenize(t,e,n){let o=/^(==)([^=]+)(==)/.exec(t);if(o){let i=o[2].trim(),s=n.inlineTokens(i);return{type:"highlight",raw:o[0],text:i,tokens:s}}}},addCommands(){return{setHighlight:t=>({commands:e})=>e.setMark(this.name,t),toggleHighlight:t=>({commands:e})=>e.toggleMark(this.name,t),unsetHighlight:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[Be({find:i0,type:this.type})]},addPasteRules(){return[Me({find:s0,type:this.type})]}}),Ku=l0;var a0=F.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{},nextNodeType:"paragraph"}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:t}){return["hr",R(this.options.HTMLAttributes,t)]},markdownTokenName:"hr",parseMarkdown:(t,e)=>e.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{if(!bu(e,e.schema.nodes[this.name]))return!1;let{selection:n}=e,{$to:r}=n,o=t();return mo(n)?o.insertContentAt(r.pos,{type:this.name}):o.insertContent({type:this.name}),o.command(({state:i,tr:s,dispatch:l})=>{if(l){let{$to:a}=s.selection,c=a.end();if(a.nodeAfter)a.nodeAfter.isTextblock?s.setSelection(D.create(s.doc,a.pos+1)):a.nodeAfter.isBlock?s.setSelection(L.create(s.doc,a.pos)):s.setSelection(D.create(s.doc,a.pos));else{let d=i.schema.nodes[this.options.nextNodeType]||a.parent.type.contentMatch.defaultType,u=d?.create();u&&(s.insert(c,u),s.setSelection(D.create(s.doc,c+1)))}s.scrollIntoView()}return!0}).run()}}},addInputRules(){return[bo({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),qu=a0;var c0=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,d0=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,u0=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,f0=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,h0=ee.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:t=>t.style.fontStyle!=="normal"&&null},{style:"font-style=normal",clearMark:t=>t.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:t}){return["em",R(this.options.HTMLAttributes,t),0]},addCommands(){return{setItalic:()=>({commands:t})=>t.setMark(this.name),toggleItalic:()=>({commands:t})=>t.toggleMark(this.name),unsetItalic:()=>({commands:t})=>t.unsetMark(this.name)}},markdownTokenName:"em",parseMarkdown:(t,e)=>e.applyMark("italic",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`*${e.renderChildren(t)}*`,addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[Be({find:c0,type:this.type}),Be({find:u0,type:this.type})]},addPasteRules(){return[Me({find:d0,type:this.type}),Me({find:f0,type:this.type})]}}),Ju=h0;var p0=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,m0=F.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:t}){return["img",R(this.options.HTMLAttributes,t)]},parseMarkdown:(t,e)=>e.createNode("image",{src:t.href,title:t.title,alt:t.text}),renderMarkdown:t=>{var e,n,r,o,i,s;let l=(n=(e=t.attrs)==null?void 0:e.src)!=null?n:"",a=(o=(r=t.attrs)==null?void 0:r.alt)!=null?o:"",c=(s=(i=t.attrs)==null?void 0:i.title)!=null?s:"";return c?`![${a}](${l} "${c}")`:`![${a}](${l})`},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>"u")return null;let{directions:t,minWidth:e,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:o,getPos:i,HTMLAttributes:s,editor:l})=>{let a=document.createElement("img");Object.entries(s).forEach(([u,f])=>{if(f!=null)switch(u){case"width":case"height":break;default:a.setAttribute(u,f);break}}),a.src=s.src;let c=new yu({element:a,editor:l,node:o,getPos:i,onResize:(u,f)=>{a.style.width=`${u}px`,a.style.height=`${f}px`},onCommit:(u,f)=>{let h=i();h!==void 0&&this.editor.chain().setNodeSelection(h).updateAttributes(this.name,{width:u,height:f}).run()},onUpdate:(u,f,h)=>u.type===o.type,options:{directions:t,min:{width:e,height:n},preserveAspectRatio:r===!0}}),d=c.dom;return d.style.visibility="hidden",d.style.pointerEvents="none",a.onload=()=>{d.style.visibility="",d.style.pointerEvents=""},c}},addCommands(){return{setImage:t=>({commands:e})=>e.insertContent({type:this.name,attrs:t})}},addInputRules(){return[bo({find:p0,type:this.type,getAttributes:t=>{let[,,e,n,r]=t;return{src:n,alt:e,title:r}}})]}}),Gu=m0;var Xu=Gu.extend({addAttributes(){return{...this.parent?.(),id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},width:{default:null,parseHTML:t=>t.getAttribute("width")||t.style.width||null,renderHTML:t=>t.width?{width:t.width,style:`width: ${t.width}`}:{}},height:{default:null,parseHTML:t=>t.getAttribute("height")||t.style.height||null,renderHTML:t=>t.height?{height:t.height,style:`height: ${t.height}`}:{}}}}});var Yu=F.create({name:"lead",group:"block",content:"block+",addOptions(){return{HTMLAttributes:{class:"lead"}}},parseHTML(){return[{tag:"div",getAttrs:t=>t.classList.contains("lead")}]},renderHTML({HTMLAttributes:t}){return["div",R(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleLead:()=>({commands:t})=>t.toggleWrap(this.name)}}});var g0="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5m\xF6gensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",y0="\u03B5\u03BB1\u03C52\u0431\u04331\u0435\u043B3\u0434\u0435\u0442\u04384\u0435\u044E2\u043A\u0430\u0442\u043E\u043B\u0438\u043A6\u043E\u043C3\u043C\u043A\u04342\u043E\u043D1\u0441\u043A\u0432\u04306\u043E\u043D\u043B\u0430\u0439\u043D5\u0440\u04333\u0440\u0443\u04412\u04442\u0441\u0430\u0439\u04423\u0440\u04313\u0443\u043A\u04403\u049B\u0430\u04373\u0570\u0561\u05753\u05D9\u05E9\u05E8\u05D0\u05DC5\u05E7\u05D5\u05DD3\u0627\u0628\u0648\u0638\u0628\u064A5\u0631\u0627\u0645\u0643\u06485\u0644\u0627\u0631\u062F\u06464\u0628\u062D\u0631\u064A\u06465\u062C\u0632\u0627\u0626\u06315\u0633\u0639\u0648\u062F\u064A\u06296\u0639\u0644\u064A\u0627\u06465\u0645\u063A\u0631\u06285\u0645\u0627\u0631\u0627\u062A5\u06CC\u0631\u0627\u06465\u0628\u0627\u0631\u062A2\u0632\u0627\u06314\u064A\u062A\u06433\u06BE\u0627\u0631\u062A5\u062A\u0648\u0646\u06334\u0633\u0648\u062F\u0627\u06463\u0631\u064A\u06295\u0634\u0628\u0643\u06294\u0639\u0631\u0627\u06422\u06282\u0645\u0627\u06464\u0641\u0644\u0633\u0637\u064A\u06466\u0642\u0637\u06313\u0643\u0627\u062B\u0648\u0644\u064A\u06436\u0648\u06453\u0645\u0635\u06312\u0644\u064A\u0633\u064A\u06275\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u06277\u0642\u06394\u0647\u0645\u0631\u0627\u06475\u067E\u0627\u06A9\u0633\u062A\u0627\u06467\u0680\u0627\u0631\u062A4\u0915\u0949\u092E3\u0928\u0947\u091F3\u092D\u093E\u0930\u09240\u092E\u094D3\u094B\u09245\u0938\u0902\u0917\u0920\u09285\u09AC\u09BE\u0982\u09B2\u09BE5\u09AD\u09BE\u09B0\u09A42\u09F0\u09A44\u0A2D\u0A3E\u0A30\u0A244\u0AAD\u0ABE\u0AB0\u0AA44\u0B2D\u0B3E\u0B30\u0B244\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE6\u0BB2\u0B99\u0BCD\u0B95\u0BC86\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD11\u0C2D\u0C3E\u0C30\u0C24\u0C4D5\u0CAD\u0CBE\u0CB0\u0CA44\u0D2D\u0D3E\u0D30\u0D24\u0D025\u0DBD\u0D82\u0D9A\u0DCF4\u0E04\u0E2D\u0E213\u0E44\u0E17\u0E223\u0EA5\u0EB2\u0EA73\u10D2\u10D42\u307F\u3093\u306A3\u30A2\u30DE\u30BE\u30F34\u30AF\u30E9\u30A6\u30C94\u30B0\u30FC\u30B0\u30EB4\u30B3\u30E02\u30B9\u30C8\u30A23\u30BB\u30FC\u30EB3\u30D5\u30A1\u30C3\u30B7\u30E7\u30F36\u30DD\u30A4\u30F3\u30C84\u4E16\u754C2\u4E2D\u4FE11\u56FD1\u570B1\u6587\u7F513\u4E9A\u9A6C\u900A3\u4F01\u4E1A2\u4F5B\u5C712\u4FE1\u606F2\u5065\u5EB72\u516B\u53662\u516C\u53F81\u76CA2\u53F0\u6E7E1\u70632\u5546\u57CE1\u5E971\u68072\u5609\u91CC0\u5927\u9152\u5E975\u5728\u7EBF2\u5927\u62FF2\u5929\u4E3B\u65593\u5A31\u4E502\u5BB6\u96FB2\u5E7F\u4E1C2\u5FAE\u535A2\u6148\u55842\u6211\u7231\u4F603\u624B\u673A2\u62DB\u80582\u653F\u52A11\u5E9C2\u65B0\u52A0\u57612\u95FB2\u65F6\u5C1A2\u66F8\u7C4D2\u673A\u67842\u6DE1\u9A6C\u95213\u6E38\u620F2\u6FB3\u95802\u70B9\u770B2\u79FB\u52A82\u7EC4\u7EC7\u673A\u67844\u7F51\u57401\u5E971\u7AD91\u7EDC2\u8054\u901A2\u8C37\u6B4C2\u8D2D\u72692\u901A\u8CA92\u96C6\u56E22\u96FB\u8A0A\u76C8\u79D14\u98DE\u5229\u6D663\u98DF\u54C12\u9910\u53852\u9999\u683C\u91CC\u62C93\u6E2F2\uB2F7\uB1371\uCEF42\uC0BC\uC1312\uD55C\uAD6D2",xl="numeric",kl="ascii",Sl="alpha",fr="asciinumeric",ur="alphanumeric",Cl="domain",of="emoji",b0="scheme",w0="slashscheme",pl="whitespace";function x0(t,e){return t in e||(e[t]=[]),e[t]}function nn(t,e,n){e[xl]&&(e[fr]=!0,e[ur]=!0),e[kl]&&(e[fr]=!0,e[Sl]=!0),e[fr]&&(e[ur]=!0),e[Sl]&&(e[ur]=!0),e[ur]&&(e[Cl]=!0),e[of]&&(e[Cl]=!0);for(let r in e){let o=x0(r,n);o.indexOf(t)<0&&o.push(t)}}function k0(t,e){let n={};for(let r in e)e[r].indexOf(t)>=0&&(n[r]=!0);return n}function Te(t=null){this.j={},this.jr=[],this.jd=null,this.t=t}Te.groups={};Te.prototype={accepts(){return!!this.t},go(t){let e=this,n=e.j[t];if(n)return n;for(let r=0;rt.ta(e,n,r,o),re=(t,e,n,r,o)=>t.tr(e,n,r,o),Qu=(t,e,n,r,o)=>t.ts(e,n,r,o),M=(t,e,n,r,o)=>t.tt(e,n,r,o),St="WORD",vl="UWORD",sf="ASCIINUMERICAL",lf="ALPHANUMERICAL",br="LOCALHOST",Ml="TLD",Tl="UTLD",Eo="SCHEME",On="SLASH_SCHEME",El="NUM",Al="WS",Nl="NL",hr="OPENBRACE",pr="CLOSEBRACE",No="OPENBRACKET",Oo="CLOSEBRACKET",Ro="OPENPAREN",Do="CLOSEPAREN",Io="OPENANGLEBRACKET",Po="CLOSEANGLEBRACKET",Lo="FULLWIDTHLEFTPAREN",Bo="FULLWIDTHRIGHTPAREN",zo="LEFTCORNERBRACKET",Ho="RIGHTCORNERBRACKET",$o="LEFTWHITECORNERBRACKET",Fo="RIGHTWHITECORNERBRACKET",Vo="FULLWIDTHLESSTHAN",_o="FULLWIDTHGREATERTHAN",Wo="AMPERSAND",jo="APOSTROPHE",Uo="ASTERISK",Lt="AT",Ko="BACKSLASH",qo="BACKTICK",Jo="CARET",Bt="COLON",Ol="COMMA",Go="DOLLAR",ot="DOT",Xo="EQUALS",Rl="EXCLAMATION",He="HYPHEN",mr="PERCENT",Yo="PIPE",Qo="PLUS",Zo="POUND",gr="QUERY",Dl="QUOTE",af="FULLWIDTHMIDDLEDOT",Il="SEMI",it="SLASH",yr="TILDE",ei="UNDERSCORE",cf="EMOJI",ti="SYM",df=Object.freeze({__proto__:null,ALPHANUMERICAL:lf,AMPERSAND:Wo,APOSTROPHE:jo,ASCIINUMERICAL:sf,ASTERISK:Uo,AT:Lt,BACKSLASH:Ko,BACKTICK:qo,CARET:Jo,CLOSEANGLEBRACKET:Po,CLOSEBRACE:pr,CLOSEBRACKET:Oo,CLOSEPAREN:Do,COLON:Bt,COMMA:Ol,DOLLAR:Go,DOT:ot,EMOJI:cf,EQUALS:Xo,EXCLAMATION:Rl,FULLWIDTHGREATERTHAN:_o,FULLWIDTHLEFTPAREN:Lo,FULLWIDTHLESSTHAN:Vo,FULLWIDTHMIDDLEDOT:af,FULLWIDTHRIGHTPAREN:Bo,HYPHEN:He,LEFTCORNERBRACKET:zo,LEFTWHITECORNERBRACKET:$o,LOCALHOST:br,NL:Nl,NUM:El,OPENANGLEBRACKET:Io,OPENBRACE:hr,OPENBRACKET:No,OPENPAREN:Ro,PERCENT:mr,PIPE:Yo,PLUS:Qo,POUND:Zo,QUERY:gr,QUOTE:Dl,RIGHTCORNERBRACKET:Ho,RIGHTWHITECORNERBRACKET:Fo,SCHEME:Eo,SEMI:Il,SLASH:it,SLASH_SCHEME:On,SYM:ti,TILDE:yr,TLD:Ml,UNDERSCORE:ei,UTLD:Tl,UWORD:vl,WORD:St,WS:Al}),xt=/[a-z]/,dr=/\p{L}/u,ml=/\p{Emoji}/u;var kt=/\d/,gl=/\s/;var Zu="\r",yl=` +`,S0="\uFE0F",C0="\u200D",bl="\uFFFC",Mo=null,To=null;function v0(t=[]){let e={};Te.groups=e;let n=new Te;Mo==null&&(Mo=ef(g0)),To==null&&(To=ef(y0)),M(n,"'",jo),M(n,"{",hr),M(n,"}",pr),M(n,"[",No),M(n,"]",Oo),M(n,"(",Ro),M(n,")",Do),M(n,"<",Io),M(n,">",Po),M(n,"\uFF08",Lo),M(n,"\uFF09",Bo),M(n,"\u300C",zo),M(n,"\u300D",Ho),M(n,"\u300E",$o),M(n,"\u300F",Fo),M(n,"\uFF1C",Vo),M(n,"\uFF1E",_o),M(n,"&",Wo),M(n,"*",Uo),M(n,"@",Lt),M(n,"`",qo),M(n,"^",Jo),M(n,":",Bt),M(n,",",Ol),M(n,"$",Go),M(n,".",ot),M(n,"=",Xo),M(n,"!",Rl),M(n,"-",He),M(n,"%",mr),M(n,"|",Yo),M(n,"+",Qo),M(n,"#",Zo),M(n,"?",gr),M(n,'"',Dl),M(n,"/",it),M(n,";",Il),M(n,"~",yr),M(n,"_",ei),M(n,"\\",Ko),M(n,"\u30FB",af);let r=re(n,kt,El,{[xl]:!0});re(r,kt,r);let o=re(r,xt,sf,{[fr]:!0}),i=re(r,dr,lf,{[ur]:!0}),s=re(n,xt,St,{[kl]:!0});re(s,kt,o),re(s,xt,s),re(o,kt,o),re(o,xt,o);let l=re(n,dr,vl,{[Sl]:!0});re(l,xt),re(l,kt,i),re(l,dr,l),re(i,kt,i),re(i,xt),re(i,dr,i);let a=M(n,yl,Nl,{[pl]:!0}),c=M(n,Zu,Al,{[pl]:!0}),d=re(n,gl,Al,{[pl]:!0});M(n,bl,d),M(c,yl,a),M(c,bl,d),re(c,gl,d),M(d,Zu),M(d,yl),re(d,gl,d),M(d,bl,d);let u=re(n,ml,cf,{[of]:!0});M(u,"#"),re(u,ml,u),M(u,S0,u);let f=M(u,C0);M(f,"#"),re(f,ml,u);let h=[[xt,s],[kt,o]],p=[[xt,null],[dr,l],[kt,i]];for(let m=0;mm[0]>g[0]?1:-1);for(let m=0;m=0?w[Cl]=!0:xt.test(g)?kt.test(g)?w[fr]=!0:w[kl]=!0:w[xl]=!0,Qu(n,g,g,w)}return Qu(n,"localhost",br,{ascii:!0}),n.jd=new Te(ti),{start:n,tokens:Object.assign({groups:e},df)}}function uf(t,e){let n=M0(e.replace(/[A-Z]/g,l=>l.toLowerCase())),r=n.length,o=[],i=0,s=0;for(;s=0&&(u+=n[s].length,f++),c+=n[s].length,i+=n[s].length,s++;i-=u,s-=f,c-=u,o.push({t:d.t,v:e.slice(i-c,i),s:i-c,e:i})}return o}function M0(t){let e=[],n=t.length,r=0;for(;r56319||r+1===n||(i=t.charCodeAt(r+1))<56320||i>57343?t[r]:t.slice(r,r+2);e.push(s),r+=s.length}return e}function Pt(t,e,n,r,o){let i,s=e.length;for(let l=0;l=0;)i++;if(i>0){e.push(n.join(""));for(let s=parseInt(t.substring(r,r+i),10);s>0;s--)n.pop();r+=i}else n.push(t[r]),r++}return e}var wr={defaultProtocol:"http",events:null,format:tf,formatHref:tf,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function Pl(t,e=null){let n=Object.assign({},wr);t&&(n=Object.assign(n,t instanceof Pl?t.o:t));let r=n.ignoreTags,o=[];for(let i=0;in?r.substring(0,n)+"\u2026":r},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=wr.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){let e=this,n=this.toHref(t.get("defaultProtocol")),r=t.get("formatHref",n,this),o=t.get("tagName",n,e),i=this.toFormattedString(t),s={},l=t.get("className",n,e),a=t.get("target",n,e),c=t.get("rel",n,e),d=t.getObj("attributes",n,e),u=t.getObj("events",n,e);return s.href=r,l&&(s.class=l),a&&(s.target=a),c&&(s.rel=c),d&&Object.assign(s,d),{tagName:o,attributes:s,content:i,eventListeners:u}}};function ni(t,e){class n extends ff{constructor(o,i){super(o,i),this.t=t}}for(let r in e)n.prototype[r]=e[r];return n.t=t,n}var nf=ni("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),rf=ni("text"),T0=ni("nl"),Ao=ni("url",{isLink:!0,toHref(t=wr.defaultProtocol){return this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){let t=this.tk;return t.length>=2&&t[0].t!==br&&t[1].t===Bt}});var ze=t=>new Te(t);function A0({groups:t}){let e=t.domain.concat([Wo,Uo,Lt,Ko,qo,Jo,Go,Xo,He,El,mr,Yo,Qo,Zo,it,ti,yr,ei]),n=[jo,Bt,Ol,ot,Rl,mr,gr,Dl,Il,Io,Po,hr,pr,Oo,No,Ro,Do,Lo,Bo,zo,Ho,$o,Fo,Vo,_o],r=[Wo,jo,Uo,Ko,qo,Jo,Go,Xo,He,hr,pr,mr,Yo,Qo,Zo,gr,it,ti,yr,ei],o=ze(),i=M(o,yr);j(i,r,i),j(i,t.domain,i);let s=ze(),l=ze(),a=ze();j(o,t.domain,s),j(o,t.scheme,l),j(o,t.slashscheme,a),j(s,r,i),j(s,t.domain,s);let c=M(s,Lt);M(i,Lt,c),M(l,Lt,c),M(a,Lt,c);let d=M(i,ot);j(d,r,i),j(d,t.domain,i);let u=ze();j(c,t.domain,u),j(u,t.domain,u);let f=M(u,ot);j(f,t.domain,u);let h=ze(nf);j(f,t.tld,h),j(f,t.utld,h),M(c,br,h);let p=M(u,He);M(p,He,p),j(p,t.domain,u),j(h,t.domain,u),M(h,ot,f),M(h,He,p);let m=M(h,Bt);j(m,t.numeric,nf);let g=M(s,He),y=M(s,ot);M(g,He,g),j(g,t.domain,s),j(y,r,i),j(y,t.domain,s);let w=ze(Ao);j(y,t.tld,w),j(y,t.utld,w),j(w,t.domain,s),j(w,r,i),M(w,ot,y),M(w,He,g),M(w,Lt,c);let b=M(w,Bt),C=ze(Ao);j(b,t.numeric,C);let x=ze(Ao),S=ze();j(x,e,x),j(x,n,S),j(S,e,x),j(S,n,S),M(w,it,x),M(C,it,x);let k=M(l,Bt),O=M(a,Bt),T=M(O,it),A=M(T,it);j(l,t.domain,s),M(l,ot,y),M(l,He,g),j(a,t.domain,s),M(a,ot,y),M(a,He,g),j(k,t.domain,x),M(k,it,x),M(k,gr,x),j(A,t.domain,x),j(A,e,x),M(A,it,x);let $=[[hr,pr],[No,Oo],[Ro,Do],[Io,Po],[Lo,Bo],[zo,Ho],[$o,Fo],[Vo,_o]];for(let z=0;z<$.length;z++){let[K,V]=$[z],N=M(x,K);M(S,K,N),M(N,V,x);let _=ze(Ao);j(N,e,_);let W=ze();j(N,n),j(_,e,_),j(_,n,W),j(W,e,_),j(W,n,W),M(_,V,x),M(W,V,x)}return M(o,br,w),M(o,Nl,T0),{start:o,tokens:df}}function E0(t,e,n){let r=n.length,o=0,i=[],s=[];for(;o=0&&f++,o++,d++;if(f<0)o-=d,o0&&(i.push(wl(rf,e,s)),s=[]),o-=f,d-=f;let h=u.t,p=n.slice(o-d,o);i.push(wl(h,e,p))}}return s.length>0&&i.push(wl(rf,e,s)),i}function wl(t,e,n){let r=n[0].s,o=n[n.length-1].e,i=e.slice(r,o);return new t(i,n)}var N0=typeof console<"u"&&console&&console.warn||(()=>{}),O0="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",Z={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function hf(){return Te.groups={},Z.scanner=null,Z.parser=null,Z.tokenQueue=[],Z.pluginQueue=[],Z.customSchemes=[],Z.initialized=!1,Z}function Ll(t,e=!1){if(Z.initialized&&N0(`linkifyjs: already initialized - will not register custom scheme "${t}" ${O0}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error(`linkifyjs: incorrect scheme format. +1. Must only contain digits, lowercase ASCII letters or "-" +2. Cannot start or end with "-" +3. "-" cannot repeat`);Z.customSchemes.push([t,e])}function R0(){Z.scanner=v0(Z.customSchemes);for(let t=0;t{let o=e.some(c=>c.docChanged)&&!n.doc.eq(r.doc),i=e.some(c=>c.getMeta("preventAutolink"));if(!o||i)return;let{tr:s}=r,l=Js(n.doc,[...e]);if(el(l).forEach(({newRange:c})=>{let d=jd(r.doc,c,h=>h.isTextblock),u,f;if(d.length>1)u=d[0],f=r.doc.textBetween(u.pos,u.pos+u.node.nodeSize,void 0," ");else if(d.length){let h=r.doc.textBetween(c.from,c.to," "," ");if(!I0.test(h))return;u=d[0],f=r.doc.textBetween(u.pos,c.to,void 0," ")}if(u&&f){let h=f.split(D0).filter(Boolean);if(h.length<=0)return!1;let p=h[h.length-1],m=u.pos+f.lastIndexOf(p);if(!p)return!1;let g=ri(p).map(y=>y.toObject(t.defaultProtocol));if(!L0(g))return!1;g.filter(y=>y.isLink).map(y=>({...y,from:m+y.start+1,to:m+y.end+1})).filter(y=>r.schema.marks.code?!r.doc.rangeHasMark(y.from,y.to,r.schema.marks.code):!0).filter(y=>t.validate(y.value)).filter(y=>t.shouldAutoLink(y.value)).forEach(y=>{po(y.from,y.to,r.doc).some(w=>w.mark.type===t.type)||s.addMark(y.from,y.to,t.type.create({href:y.href}))})}}),!!s.steps.length)return s}})}function z0(t){return new P({key:new H("handleClickLink"),props:{handleClick:(e,n,r)=>{var o,i;if(r.button!==0||!e.editable)return!1;let s=!1;if(t.enableClickSelection&&(s=t.editor.commands.extendMarkRange(t.type.name)),t.openOnClick){let l=null;if(r.target instanceof HTMLAnchorElement)l=r.target;else{let u=r.target,f=[];for(;u.nodeName!=="DIV";)f.push(u),u=u.parentNode;l=f.find(h=>h.nodeName==="A")}if(!l)return s;let a=Zs(e.state,t.type.name),c=(o=l?.href)!=null?o:a.href,d=(i=l?.target)!=null?i:a.target;l&&c&&(window.open(c,d),s=!0)}return s}}})}function H0(t){return new P({key:new H("handlePasteLink"),props:{handlePaste:(e,n,r)=>{let{shouldAutoLink:o}=t,{state:i}=e,{selection:s}=i,{empty:l}=s;if(l)return!1;let a="";r.content.forEach(d=>{a+=d.textContent});let c=oi(a,{defaultProtocol:t.defaultProtocol}).find(d=>d.isLink&&d.value===a);return!a||!c||o!==void 0&&!o(c.href)?!1:t.editor.commands.setMark(t.type,{href:c.href})}}})}function rn(t,e){let n=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{let o=typeof r=="string"?r:r.scheme;o&&n.push(o)}),!t||t.replace(P0,"").match(new RegExp(`^(?:(?:${n.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,"i"))}var $0=ee.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){Ll(t);return}Ll(t.scheme,t.optionalSlashes)})},onDestroy(){hf()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!rn(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>!!t}},addAttributes(){return{href:{default:null,parseHTML(t){return t.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{let e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:n=>!!rn(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!rn(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",R(this.options.HTMLAttributes,t),0]:["a",R(this.options.HTMLAttributes,{...t,href:""}),0]},markdownTokenName:"link",parseMarkdown:(t,e)=>e.applyMark("link",e.parseInline(t.tokens||[]),{href:t.href,title:t.title||null}),renderMarkdown:(t,e)=>{var n;let r=((n=t.attrs)==null?void 0:n.href)||"";return`[${e.renderChildren(t)}](${r})`},addCommands(){return{setLink:t=>({chain:e})=>{let{href:n}=t;return this.options.isAllowedUri(n,{defaultValidate:r=>!!rn(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e})=>{let{href:n}=t||{};return n&&!this.options.isAllowedUri(n,{defaultValidate:r=>!!rn(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:e().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()},unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[Me({find:t=>{let e=[];if(t){let{protocols:n,defaultProtocol:r}=this.options,o=oi(t).filter(i=>i.isLink&&this.options.isAllowedUri(i.value,{defaultValidate:s=>!!rn(s,n),protocols:n,defaultProtocol:r}));o.length&&o.forEach(i=>{this.options.shouldAutoLink(i.value)&&e.push({text:i.value,data:{href:i.href},index:i.start})})}return e},type:this.type,getAttributes:t=>{var e;return{href:(e=t.data)==null?void 0:e.href}}})]},addProseMirrorPlugins(){let t=[],{protocols:e,defaultProtocol:n}=this.options;return this.options.autolink&&t.push(B0({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:r=>this.options.isAllowedUri(r,{defaultValidate:o=>!!rn(o,e),protocols:e,defaultProtocol:n}),shouldAutoLink:this.options.shouldAutoLink})),t.push(z0({type:this.type,editor:this.editor,openOnClick:this.options.openOnClick==="whenNotEditable"?!0:this.options.openOnClick,enableClickSelection:this.options.enableClickSelection})),this.options.linkOnPaste&&t.push(H0({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type,shouldAutoLink:this.options.shouldAutoLink})),t}}),pf=$0;var F0=Object.defineProperty,V0=(t,e)=>{for(var n in e)F0(t,n,{get:e[n],enumerable:!0})},_0="listItem",mf="textStyle",gf=/^\s*([-+*])\s$/,$l=F.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:t}){return["ul",R(this.options.HTMLAttributes,t),0]},markdownTokenName:"list",parseMarkdown:(t,e)=>t.type!=="list"||t.ordered?[]:{type:"bulletList",content:t.items?e.parseChildren(t.items):[]},renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,` +`):"",markdownOptions:{indentsContent:!0},addCommands(){return{toggleBulletList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(_0,this.editor.getAttributes(mf)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let t=tt({find:gf,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(t=tt({find:gf,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(mf),editor:this.editor})),[t]}}),Fl=F.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:t}){return["li",R(this.options.HTMLAttributes,t),0]},markdownTokenName:"list_item",parseMarkdown:(t,e)=>{if(t.type!=="list_item")return[];let n=[];if(t.tokens&&t.tokens.length>0)if(t.tokens.some(o=>o.type==="paragraph"))n=e.parseChildren(t.tokens);else{let o=t.tokens[0];if(o&&o.type==="text"&&o.tokens&&o.tokens.length>0){if(n=[{type:"paragraph",content:e.parseInline(o.tokens)}],t.tokens.length>1){let s=t.tokens.slice(1),l=e.parseChildren(s);n.push(...l)}}else n=e.parseChildren(t.tokens)}return n.length===0&&(n=[{type:"paragraph",content:[]}]),{type:"listItem",content:n}},renderMarkdown:(t,e,n)=>cr(t,e,r=>r.parentType==="bulletList"?"- ":r.parentType==="orderedList"?`${r.index+1}. `:"- ",n),addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),W0={};V0(W0,{findListItemPos:()=>xr,getNextListDepth:()=>Vl,handleBackspace:()=>zl,handleDelete:()=>Hl,hasListBefore:()=>xf,hasListItemAfter:()=>j0,hasListItemBefore:()=>kf,listItemHasSubList:()=>Sf,nextListIsDeeper:()=>Cf,nextListIsHigher:()=>vf});var xr=(t,e)=>{let{$from:n}=e.selection,r=ne(t,e.schema),o=null,i=n.depth,s=n.pos,l=null;for(;i>0&&l===null;)o=n.node(i),o.type===r?l=i:(i-=1,s-=1);return l===null?null:{$pos:e.doc.resolve(s),depth:l}},Vl=(t,e)=>{let n=xr(t,e);if(!n)return!1;let[,r]=Xd(e,t,n.$pos.pos+4);return r},xf=(t,e,n)=>{let{$anchor:r}=t.selection,o=Math.max(0,r.pos-2),i=t.doc.resolve(o).node();return!(!i||!n.includes(i.type.name))},kf=(t,e)=>{var n;let{$anchor:r}=e.selection,o=e.doc.resolve(r.pos-2);return!(o.index()===0||((n=o.nodeBefore)==null?void 0:n.type.name)!==t)},Sf=(t,e,n)=>{if(!n)return!1;let r=ne(t,e.schema),o=!1;return n.descendants(i=>{i.type===r&&(o=!0)}),o},zl=(t,e,n)=>{if(t.commands.undoInputRule())return!0;if(t.state.selection.from!==t.state.selection.to)return!1;if(!Ze(t.state,e)&&xf(t.state,e,n)){let{$anchor:l}=t.state.selection,a=t.state.doc.resolve(l.before()-1),c=[];a.node().descendants((f,h)=>{f.type.name===e&&c.push({node:f,pos:h})});let d=c.at(-1);if(!d)return!1;let u=t.state.doc.resolve(a.start()+d.pos+1);return t.chain().cut({from:l.start()-1,to:l.end()+1},u.end()).joinForward().run()}if(!Ze(t.state,e)||!Qd(t.state))return!1;let r=xr(e,t.state);if(!r)return!1;let i=t.state.doc.resolve(r.$pos.pos-2).node(r.depth),s=Sf(e,t.state,i);return kf(e,t.state)&&!s?t.commands.joinItemBackward():t.chain().liftListItem(e).run()},Cf=(t,e)=>{let n=Vl(t,e),r=xr(t,e);return!r||!n?!1:n>r.depth},vf=(t,e)=>{let n=Vl(t,e),r=xr(t,e);return!r||!n?!1:n{if(!Ze(t.state,e)||!Yd(t.state,e))return!1;let{selection:n}=t.state,{$from:r,$to:o}=n;return!n.empty&&r.sameParent(o)?!1:Cf(e,t.state)?t.chain().focus(t.state.selection.from+4).lift(e).joinBackward().run():vf(e,t.state)?t.chain().joinForward().joinBackward().run():t.commands.joinItemForward()},j0=(t,e)=>{var n;let{$anchor:r}=e.selection,o=e.doc.resolve(r.pos-r.parentOffset-2);return!(o.index()===o.parent.childCount-1||((n=o.nodeAfter)==null?void 0:n.type.name)!==t)},U0=U.create({name:"listKeymap",addOptions(){return{listTypes:[{itemName:"listItem",wrapperNames:["bulletList","orderedList"]},{itemName:"taskItem",wrapperNames:["taskList"]}]}},addKeyboardShortcuts(){return{Delete:({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n})=>{t.state.schema.nodes[n]!==void 0&&Hl(t,n)&&(e=!0)}),e},"Mod-Delete":({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n})=>{t.state.schema.nodes[n]!==void 0&&Hl(t,n)&&(e=!0)}),e},Backspace:({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n,wrapperNames:r})=>{t.state.schema.nodes[n]!==void 0&&zl(t,n,r)&&(e=!0)}),e},"Mod-Backspace":({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:n,wrapperNames:r})=>{t.state.schema.nodes[n]!==void 0&&zl(t,n,r)&&(e=!0)}),e}}}}),yf=/^(\s*)(\d+)\.\s+(.*)$/,K0=/^\s/;function q0(t){let e=[],n=0,r=0;for(;ne;)f.push(t[u]),u+=1;if(f.length>0){let h=Math.min(...f.map(m=>m.indent)),p=Mf(f,h,n);c.push({type:"list",ordered:!0,start:f[0].number,items:p,raw:f.map(m=>m.raw).join(` +`)})}o.push({type:"list_item",raw:s.raw,tokens:c}),i=u}else i+=1}return o}function J0(t,e){return t.map(n=>{if(n.type!=="list_item")return e.parseChildren([n])[0];let r=[];return n.tokens&&n.tokens.length>0&&n.tokens.forEach(o=>{if(o.type==="paragraph"||o.type==="list"||o.type==="blockquote"||o.type==="code")r.push(...e.parseChildren([o]));else if(o.type==="text"&&o.tokens){let i=e.parseChildren([o]);r.push({type:"paragraph",content:i})}else{let i=e.parseChildren([o]);i.length>0&&r.push(...i)}}),{type:"listItem",content:r}})}var G0="listItem",bf="textStyle",wf=/^(\d+)\.\s$/,_l=F.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:t=>t.hasAttribute("start")?parseInt(t.getAttribute("start")||"",10):1},type:{default:null,parseHTML:t=>t.getAttribute("type")}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:t}){let{start:e,...n}=t;return e===1?["ol",R(this.options.HTMLAttributes,n),0]:["ol",R(this.options.HTMLAttributes,t),0]},markdownTokenName:"list",parseMarkdown:(t,e)=>{if(t.type!=="list"||!t.ordered)return[];let n=t.start||1,r=t.items?J0(t.items,e):[];return n!==1?{type:"orderedList",attrs:{start:n},content:r}:{type:"orderedList",content:r}},renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,` +`):"",markdownTokenizer:{name:"orderedList",level:"block",start:t=>{let e=t.match(/^(\s*)(\d+)\.\s+/),n=e?.index;return n!==void 0?n:-1},tokenize:(t,e,n)=>{var r;let o=t.split(` +`),[i,s]=q0(o);if(i.length===0)return;let l=Mf(i,0,n);return l.length===0?void 0:{type:"list",ordered:!0,start:((r=i[0])==null?void 0:r.number)||1,items:l,raw:o.slice(0,s).join(` +`)}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleOrderedList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(G0,this.editor.getAttributes(bf)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let t=tt({find:wf,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,n)=>n.childCount+n.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(t=tt({find:wf,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(bf)}),joinPredicate:(e,n)=>n.childCount+n.attrs.start===+e[1],editor:this.editor})),[t]}}),X0=/^\s*(\[([( |x])?\])\s$/,Y0=F.create({name:"taskItem",addOptions(){return{nested:!1,HTMLAttributes:{},taskListTypeName:"taskList",a11y:void 0}},content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes(){return{checked:{default:!1,keepOnSplit:!1,parseHTML:t=>{let e=t.getAttribute("data-checked");return e===""||e==="true"},renderHTML:t=>({"data-checked":t.checked})}}},parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:t,HTMLAttributes:e}){return["li",R(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:t.attrs.checked?"checked":null}],["span"]],["div",0]]},parseMarkdown:(t,e)=>{let n=[];if(t.tokens&&t.tokens.length>0?n.push(e.createNode("paragraph",{},e.parseInline(t.tokens))):t.text?n.push(e.createNode("paragraph",{},[e.createNode("text",{text:t.text})])):n.push(e.createNode("paragraph",{},[])),t.nestedTokens&&t.nestedTokens.length>0){let r=e.parseChildren(t.nestedTokens);n.push(...r)}return e.createNode("taskItem",{checked:t.checked||!1},n)},renderMarkdown:(t,e)=>{var n;let o=`- [${(n=t.attrs)!=null&&n.checked?"x":" "}] `;return cr(t,e,o)},addKeyboardShortcuts(){let t={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...t,Tab:()=>this.editor.commands.sinkListItem(this.name)}:t},addNodeView(){return({node:t,HTMLAttributes:e,getPos:n,editor:r})=>{let o=document.createElement("li"),i=document.createElement("label"),s=document.createElement("span"),l=document.createElement("input"),a=document.createElement("div"),c=d=>{var u,f;l.ariaLabel=((f=(u=this.options.a11y)==null?void 0:u.checkboxLabel)==null?void 0:f.call(u,d,l.checked))||`Task item checkbox for ${d.textContent||"empty task item"}`};return c(t),i.contentEditable="false",l.type="checkbox",l.addEventListener("mousedown",d=>d.preventDefault()),l.addEventListener("change",d=>{if(!r.isEditable&&!this.options.onReadOnlyChecked){l.checked=!l.checked;return}let{checked:u}=d.target;r.isEditable&&typeof n=="function"&&r.chain().focus(void 0,{scrollIntoView:!1}).command(({tr:f})=>{let h=n();if(typeof h!="number")return!1;let p=f.doc.nodeAt(h);return f.setNodeMarkup(h,void 0,{...p?.attrs,checked:u}),!0}).run(),!r.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(t,u)||(l.checked=!l.checked))}),Object.entries(this.options.HTMLAttributes).forEach(([d,u])=>{o.setAttribute(d,u)}),o.dataset.checked=t.attrs.checked,l.checked=t.attrs.checked,i.append(l,s),o.append(i,a),Object.entries(e).forEach(([d,u])=>{o.setAttribute(d,u)}),{dom:o,contentDOM:a,update:d=>d.type!==this.type?!1:(o.dataset.checked=d.attrs.checked,l.checked=d.attrs.checked,c(d),!0)}}},addInputRules(){return[tt({find:X0,type:this.type,getAttributes:t=>({checked:t[t.length-1]==="x"})})]}}),Q0=F.create({name:"taskList",addOptions(){return{itemTypeName:"taskItem",HTMLAttributes:{}}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:t}){return["ul",R(this.options.HTMLAttributes,t,{"data-type":this.name}),0]},parseMarkdown:(t,e)=>e.createNode("taskList",{},e.parseChildren(t.items||[])),renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,` +`):"",markdownTokenizer:{name:"taskList",level:"block",start(t){var e;let n=(e=t.match(/^\s*[-+*]\s+\[([ xX])\]\s+/))==null?void 0:e.index;return n!==void 0?n:-1},tokenize(t,e,n){let r=i=>{let s=wo(i,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:l=>({indentLevel:l[1].length,mainContent:l[4],checked:l[3].toLowerCase()==="x"}),createToken:(l,a)=>({type:"taskItem",raw:"",mainContent:l.mainContent,indentLevel:l.indentLevel,checked:l.checked,text:l.mainContent,tokens:n.inlineTokens(l.mainContent),nestedTokens:a}),customNestedParser:r},n);return s?[{type:"taskList",raw:s.raw,items:s.items}]:n.blockTokens(i)},o=wo(t,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:i=>({indentLevel:i[1].length,mainContent:i[4],checked:i[3].toLowerCase()==="x"}),createToken:(i,s)=>({type:"taskItem",raw:"",mainContent:i.mainContent,indentLevel:i.indentLevel,checked:i.checked,text:i.mainContent,tokens:n.inlineTokens(i.mainContent),nestedTokens:s}),customNestedParser:r},n);if(o)return{type:"taskList",raw:o.raw,items:o.items}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleTaskList:()=>({commands:t})=>t.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),dv=U.create({name:"listKit",addExtensions(){let t=[];return this.options.bulletList!==!1&&t.push($l.configure(this.options.bulletList)),this.options.listItem!==!1&&t.push(Fl.configure(this.options.listItem)),this.options.listKeymap!==!1&&t.push(U0.configure(this.options.listKeymap)),this.options.orderedList!==!1&&t.push(_l.configure(this.options.orderedList)),this.options.taskItem!==!1&&t.push(Y0.configure(this.options.taskItem)),this.options.taskList!==!1&&t.push(Q0.configure(this.options.taskList)),t}});var ii=(t,e,n={})=>{t.dom.closest("form")?.dispatchEvent(new CustomEvent(e,{composed:!0,cancelable:!0,detail:n}))},Tf=({files:t,acceptedTypes:e,acceptedTypesValidationMessage:n,maxSize:r,maxSizeValidationMessage:o})=>{for(let i of t){if(e&&!e.includes(i.type))return n;if(r&&i.size>+r*1024)return o}return null},Z0=({editor:t,acceptedTypes:e,acceptedTypesValidationMessage:n,get$WireUsing:r,key:o,maxSize:i,maxSizeValidationMessage:s,statePath:l,uploadingMessage:a})=>{let c=d=>r().callSchemaComponentMethod(o,"getUploadedFileAttachmentTemporaryUrl",{attachment:d});return new P({key:new H("localFiles"),props:{handleDrop(d,u){if(!u.dataTransfer?.files.length)return!1;let f=Array.from(u.dataTransfer.files),h=Tf({files:f,acceptedTypes:e,acceptedTypesValidationMessage:n,maxSize:i,maxSizeValidationMessage:s});if(h)return d.dom.dispatchEvent(new CustomEvent("rich-editor-file-validation-message",{bubbles:!0,detail:{key:o,livewireId:r().id,validationMessage:h}})),!1;if(!f.length)return!1;ii(d,"form-processing-started",{message:a}),u.preventDefault(),u.stopPropagation();let p=d.posAtCoords({left:u.clientX,top:u.clientY});return f.forEach((m,g)=>{t.setEditable(!1),d.dom.dispatchEvent(new CustomEvent("rich-editor-uploading-file",{bubbles:!0,detail:{key:o,livewireId:r().id}}));let y=("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,w=>(w^crypto.getRandomValues(new Uint8Array(1))[0]&15>>w/4).toString(16));r().upload(`componentFileAttachments.${l}.${y}`,m,()=>{c(y).then(w=>{w&&(t.chain().insertContentAt(p?.pos??0,{type:"image",attrs:{id:y,src:w}}).run(),t.setEditable(!0),d.dom.dispatchEvent(new CustomEvent("rich-editor-uploaded-file",{bubbles:!0,detail:{key:o,livewireId:r().id}})),g===f.length-1&&ii(d,"form-processing-finished"))})})}),!0},handlePaste(d,u){if(!u.clipboardData?.files.length||u.clipboardData?.getData("text").length)return!1;let f=Array.from(u.clipboardData.files),h=Tf({files:f,acceptedTypes:e,acceptedTypesValidationMessage:n,maxSize:i,maxSizeValidationMessage:s});return h?(d.dom.dispatchEvent(new CustomEvent("rich-editor-file-validation-message",{bubbles:!0,detail:{key:o,livewireId:r().id,validationMessage:h}})),!1):f.length?(u.preventDefault(),u.stopPropagation(),ii(d,"form-processing-started",{message:a}),f.forEach((p,m)=>{t.setEditable(!1),d.dom.dispatchEvent(new CustomEvent("rich-editor-uploading-file",{bubbles:!0,detail:{key:o,livewireId:r().id}}));let g=("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,y=>(y^crypto.getRandomValues(new Uint8Array(1))[0]&15>>y/4).toString(16));r().upload(`componentFileAttachments.${l}.${g}`,p,()=>{c(g).then(y=>{y&&(t.chain().insertContentAt(t.state.selection.anchor,{type:"image",attrs:{id:g,src:y}}).run(),t.setEditable(!0),d.dom.dispatchEvent(new CustomEvent("rich-editor-uploaded-file",{bubbles:!0,detail:{key:o,livewireId:r().id}})),m===f.length-1&&ii(d,"form-processing-finished"))})})}),!0):!1}}})},Af=U.create({name:"localFiles",addOptions(){return{acceptedTypes:[],acceptedTypesValidationMessage:null,key:null,maxSize:null,maxSizeValidationMessage:null,statePath:null,uploadingMessage:null,get$WireUsing:null}},addProseMirrorPlugins(){return[Z0({editor:this.editor,...this.options})]}});function ew(t){var e;let{char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:i,startOfLine:s,$position:l}=t,a=r&&!o,c=wu(n),d=new RegExp(`\\s${c}$`),u=s?"^":"",f=o?"":c,h=a?new RegExp(`${u}${c}.*?(?=\\s${f}|$)`,"gm"):new RegExp(`${u}(?:^)?${c}[^\\s${f}]*`,"gm"),p=((e=l.nodeBefore)==null?void 0:e.isText)&&l.nodeBefore.text;if(!p)return null;let m=l.pos-p.length,g=Array.from(p.matchAll(h)).pop();if(!g||g.input===void 0||g.index===void 0)return null;let y=g.input.slice(Math.max(0,g.index-1),g.index),w=new RegExp(`^[${i?.join("")}\0]?$`).test(y);if(i!==null&&!w)return null;let b=m+g.index,C=b+g[0].length;return a&&d.test(p.slice(C-1,C+1))&&(g[0]+=" ",C+=1),b=l.pos?{range:{from:b,to:C},query:g[0].slice(n.length),text:g[0]}:null}var tw=new H("suggestion");function nw({pluginKey:t=tw,editor:e,char:n="@",allowSpaces:r=!1,allowToIncludeChar:o=!1,allowedPrefixes:i=[" "],startOfLine:s=!1,decorationTag:l="span",decorationClass:a="suggestion",decorationContent:c="",decorationEmptyClass:d="is-empty",command:u=()=>null,items:f=()=>[],render:h=()=>({}),allow:p=()=>!0,findSuggestionMatch:m=ew}){let g,y=h?.(),w=()=>{let S=e.state.selection.$anchor.pos,k=e.view.coordsAtPos(S),{top:O,right:T,bottom:A,left:$}=k;try{return new DOMRect($,O,T-$,A-O)}catch{return null}},b=(S,k)=>k?()=>{let O=t.getState(e.state),T=O?.decorationId,A=S.dom.querySelector(`[data-decoration-id="${T}"]`);return A?.getBoundingClientRect()||null}:w;function C(S,k){var O;try{let A=t.getState(S.state),$=A?.decorationId?S.dom.querySelector(`[data-decoration-id="${A.decorationId}"]`):null,z={editor:e,range:A?.range||{from:0,to:0},query:A?.query||null,text:A?.text||null,items:[],command:K=>u({editor:e,range:A?.range||{from:0,to:0},props:K}),decorationNode:$,clientRect:b(S,$)};(O=y?.onExit)==null||O.call(y,z)}catch{}let T=S.state.tr.setMeta(k,{exit:!0});S.dispatch(T)}let x=new P({key:t,view(){return{update:async(S,k)=>{var O,T,A,$,z,K,V;let N=(O=this.key)==null?void 0:O.getState(k),_=(T=this.key)==null?void 0:T.getState(S.state),W=N.active&&_.active&&N.range.from!==_.range.from,Q=!N.active&&_.active,me=N.active&&!_.active,Ge=!Q&&!me&&N.query!==_.query,q=Q||W&&Ge,We=Ge||W,je=me||W&&Ge;if(!q&&!We&&!je)return;let dn=je&&!q?N:_,aa=S.dom.querySelector(`[data-decoration-id="${dn.decorationId}"]`);g={editor:e,range:dn.range,query:dn.query,text:dn.text,items:[],command:ip=>u({editor:e,range:dn.range,props:ip}),decorationNode:aa,clientRect:b(S,aa)},q&&((A=y?.onBeforeStart)==null||A.call(y,g)),We&&(($=y?.onBeforeUpdate)==null||$.call(y,g)),(We||q)&&(g.items=await f({editor:e,query:dn.query})),je&&((z=y?.onExit)==null||z.call(y,g)),We&&((K=y?.onUpdate)==null||K.call(y,g)),q&&((V=y?.onStart)==null||V.call(y,g))},destroy:()=>{var S;g&&((S=y?.onExit)==null||S.call(y,g))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(S,k,O,T){let{isEditable:A}=e,{composing:$}=e.view,{selection:z}=S,{empty:K,from:V}=z,N={...k},_=S.getMeta(t);if(_&&_.exit)return N.active=!1,N.decorationId=null,N.range={from:0,to:0},N.query=null,N.text=null,N;if(N.composing=$,A&&(K||e.view.composing)){(Vk.range.to)&&!$&&!k.composing&&(N.active=!1);let W=m({char:n,allowSpaces:r,allowToIncludeChar:o,allowedPrefixes:i,startOfLine:s,$position:z.$from}),Q=`id_${Math.floor(Math.random()*4294967295)}`;W&&p({editor:e,state:T,range:W.range,isActive:k.active})?(N.active=!0,N.decorationId=k.decorationId?k.decorationId:Q,N.range=W.range,N.query=W.query,N.text=W.text):N.active=!1}else N.active=!1;return N.active||(N.decorationId=null,N.range={from:0,to:0},N.query=null,N.text=null),N}},props:{handleKeyDown(S,k){var O,T,A,$;let{active:z,range:K}=x.getState(S.state);if(!z)return!1;if(k.key==="Escape"||k.key==="Esc"){let N=x.getState(S.state),_=(O=g?.decorationNode)!=null?O:null,W=_??(N?.decorationId?S.dom.querySelector(`[data-decoration-id="${N.decorationId}"]`):null);if(((T=y?.onKeyDown)==null?void 0:T.call(y,{view:S,event:k,range:N.range}))||!1)return!0;let me={editor:e,range:N.range,query:N.query,text:N.text,items:[],command:Ge=>u({editor:e,range:N.range,props:Ge}),decorationNode:W,clientRect:W?()=>W.getBoundingClientRect()||null:null};return(A=y?.onExit)==null||A.call(y,me),C(S,t),!0}return(($=y?.onKeyDown)==null?void 0:$.call(y,{view:S,event:k,range:K}))||!1},decorations(S){let{active:k,range:O,decorationId:T,query:A}=x.getState(S);if(!k)return null;let $=!A?.length,z=[a];return $&&z.push(d),Y.create(S.doc,[te.inline(O.from,O.to,{nodeName:l,class:z.join(" "),"data-decoration-id":T,"data-decoration-content":c})])}}});return x}var si=nw;var rw=function({editor:t,overrideSuggestionOptions:e,extensionName:n}){let r=new H;return{editor:t,char:"{{",pluginKey:r,command:({editor:o,range:i,props:s})=>{o.view.state.selection.$to.nodeAfter?.text?.startsWith(" ")&&(i.to+=1),o.chain().focus().insertContentAt(i,[{type:n,attrs:{...s}},{type:"text",text:" "}]).run(),o.view.dom.ownerDocument.defaultView?.getSelection()?.collapseToEnd()},allow:({state:o,range:i})=>{let s=o.doc.resolve(i.from),l=o.schema.nodes[n];return!!s.parent.type.contentMatch.matchType(l)},...e}},Ef=F.create({name:"mergeTag",priority:101,addStorage(){return{mergeTags:[],suggestions:[],getSuggestionFromChar:()=>null}},addOptions(){return{HTMLAttributes:{},renderText({node:t}){return`{{ ${this.mergeTags[t.attrs.id]} }}`},deleteTriggerWithBackspace:!1,renderHTML({options:t,node:e}){return["span",R(this.HTMLAttributes,t.HTMLAttributes),`${this.mergeTags[e.attrs.id]}`]},suggestions:[],suggestion:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:t,HTMLAttributes:e}){let n=this.editor?.extensionStorage?.[this.name]?.getSuggestionFromChar("{{"),r={...this.options};r.HTMLAttributes=R({"data-type":this.name},this.options.HTMLAttributes,e);let o=this.options.renderHTML({options:r,node:t,suggestion:n});return typeof o=="string"?["span",R({"data-type":this.name},this.options.HTMLAttributes,e),o]:o},renderText({node:t}){let e={options:this.options,node:t,suggestion:this.editor?.extensionStorage?.[this.name]?.getSuggestionFromChar("{{")};return this.options.renderText(e)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new ie,l=0;return e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n&&t.insertText(this.options.deleteTriggerWithBackspace?"":"{{",l,l+s.nodeSize),n})}},addProseMirrorPlugins(){return[...this.storage.suggestions.map(si),new P({props:{handleDrop(t,e){if(!e||(e.preventDefault(),!e.dataTransfer.getData("mergeTag")))return!1;let n=e.dataTransfer.getData("mergeTag");return t.dispatch(t.state.tr.insert(t.posAtCoords({left:e.clientX,top:e.clientY}).pos,t.state.schema.nodes.mergeTag.create({id:n}))),!1}}})]},onBeforeCreate(){this.storage.suggestions=(this.options.suggestions.length?this.options.suggestions:[this.options.suggestion]).map(t=>rw({editor:this.editor,overrideSuggestionOptions:t,extensionName:this.name})),this.storage.getSuggestionFromChar=t=>{let e=this.storage.suggestions.find(n=>n.char===t);return e||(this.storage.suggestions.length?this.storage.suggestions[0]:null)}}});var Wl=["top","right","bottom","left"],Nf=["start","end"],jl=Wl.reduce((t,e)=>t.concat(e,e+"-"+Nf[0],e+"-"+Nf[1]),[]),$e=Math.min,pe=Math.max,Cr=Math.round;var Ue=t=>({x:t,y:t}),ow={left:"right",right:"left",bottom:"top",top:"bottom"},iw={start:"end",end:"start"};function li(t,e,n){return pe(t,$e(e,n))}function st(t,e){return typeof t=="function"?t(e):t}function Ne(t){return t.split("-")[0]}function Fe(t){return t.split("-")[1]}function Ul(t){return t==="x"?"y":"x"}function ai(t){return t==="y"?"height":"width"}var sw=new Set(["top","bottom"]);function Ke(t){return sw.has(Ne(t))?"y":"x"}function ci(t){return Ul(Ke(t))}function Kl(t,e,n){n===void 0&&(n=!1);let r=Fe(t),o=ci(t),i=ai(o),s=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return e.reference[i]>e.floating[i]&&(s=Sr(s)),[s,Sr(s)]}function Df(t){let e=Sr(t);return[kr(t),e,kr(e)]}function kr(t){return t.replace(/start|end/g,e=>iw[e])}var Of=["left","right"],Rf=["right","left"],lw=["top","bottom"],aw=["bottom","top"];function cw(t,e,n){switch(t){case"top":case"bottom":return n?e?Rf:Of:e?Of:Rf;case"left":case"right":return e?lw:aw;default:return[]}}function If(t,e,n,r){let o=Fe(t),i=cw(Ne(t),n==="start",r);return o&&(i=i.map(s=>s+"-"+o),e&&(i=i.concat(i.map(kr)))),i}function Sr(t){return t.replace(/left|right|bottom|top/g,e=>ow[e])}function dw(t){return{top:0,right:0,bottom:0,left:0,...t}}function di(t){return typeof t!="number"?dw(t):{top:t,right:t,bottom:t,left:t}}function Ct(t){let{x:e,y:n,width:r,height:o}=t;return{width:r,height:o,top:n,left:e,right:e+r,bottom:n+o,x:e,y:n}}function Pf(t,e,n){let{reference:r,floating:o}=t,i=Ke(e),s=ci(e),l=ai(s),a=Ne(e),c=i==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,h;switch(a){case"top":h={x:d,y:r.y-o.height};break;case"bottom":h={x:d,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:u};break;case"left":h={x:r.x-o.width,y:u};break;default:h={x:r.x,y:r.y}}switch(Fe(e)){case"start":h[s]-=f*(n&&c?-1:1);break;case"end":h[s]+=f*(n&&c?-1:1);break}return h}var zf=async(t,e,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,l=i.filter(Boolean),a=await(s.isRTL==null?void 0:s.isRTL(e)),c=await s.getElementRects({reference:t,floating:e,strategy:o}),{x:d,y:u}=Pf(c,r,a),f=r,h={},p=0;for(let m=0;m({name:"arrow",options:t,async fn(e){let{x:n,y:r,placement:o,rects:i,platform:s,elements:l,middlewareData:a}=e,{element:c,padding:d=0}=st(t,e)||{};if(c==null)return{};let u=di(d),f={x:n,y:r},h=ci(o),p=ai(h),m=await s.getDimensions(c),g=h==="y",y=g?"top":"left",w=g?"bottom":"right",b=g?"clientHeight":"clientWidth",C=i.reference[p]+i.reference[h]-f[h]-i.floating[p],x=f[h]-i.reference[h],S=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c)),k=S?S[b]:0;(!k||!await(s.isElement==null?void 0:s.isElement(S)))&&(k=l.floating[b]||i.floating[p]);let O=C/2-x/2,T=k/2-m[p]/2-1,A=$e(u[y],T),$=$e(u[w],T),z=A,K=k-m[p]-$,V=k/2-m[p]/2+O,N=li(z,V,K),_=!a.arrow&&Fe(o)!=null&&V!==N&&i.reference[p]/2-(VFe(o)===t),...n.filter(o=>Fe(o)!==t)]:n.filter(o=>Ne(o)===o)).filter(o=>t?Fe(o)===t||(e?kr(o)!==o:!1):!0)}var $f=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var n,r,o;let{rects:i,middlewareData:s,placement:l,platform:a,elements:c}=e,{crossAxis:d=!1,alignment:u,allowedPlacements:f=jl,autoAlignment:h=!0,...p}=st(t,e),m=u!==void 0||f===jl?uw(u||null,h,f):f,g=await on(e,p),y=((n=s.autoPlacement)==null?void 0:n.index)||0,w=m[y];if(w==null)return{};let b=Kl(w,i,await(a.isRTL==null?void 0:a.isRTL(c.floating)));if(l!==w)return{reset:{placement:m[0]}};let C=[g[Ne(w)],g[b[0]],g[b[1]]],x=[...((r=s.autoPlacement)==null?void 0:r.overflows)||[],{placement:w,overflows:C}],S=m[y+1];if(S)return{data:{index:y+1,overflows:x},reset:{placement:S}};let k=x.map(A=>{let $=Fe(A.placement);return[A.placement,$&&d?A.overflows.slice(0,2).reduce((z,K)=>z+K,0):A.overflows[0],A.overflows]}).sort((A,$)=>A[1]-$[1]),T=((o=k.filter(A=>A[2].slice(0,Fe(A[0])?2:3).every($=>$<=0))[0])==null?void 0:o[0])||k[0][0];return T!==l?{data:{index:y+1,overflows:x},reset:{placement:T}}:{}}}},Ff=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,r;let{placement:o,middlewareData:i,rects:s,initialPlacement:l,platform:a,elements:c}=e,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=!0,...g}=st(t,e);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let y=Ne(o),w=Ke(l),b=Ne(l)===l,C=await(a.isRTL==null?void 0:a.isRTL(c.floating)),x=f||(b||!m?[Sr(l)]:Df(l)),S=p!=="none";!f&&S&&x.push(...If(l,m,p,C));let k=[l,...x],O=await on(e,g),T=[],A=((r=i.flip)==null?void 0:r.overflows)||[];if(d&&T.push(O[y]),u){let V=Kl(o,s,C);T.push(O[V[0]],O[V[1]])}if(A=[...A,{placement:o,overflows:T}],!T.every(V=>V<=0)){var $,z;let V=((($=i.flip)==null?void 0:$.index)||0)+1,N=k[V];if(N&&(!(u==="alignment"?w!==Ke(N):!1)||A.every(Q=>Ke(Q.placement)===w?Q.overflows[0]>0:!0)))return{data:{index:V,overflows:A},reset:{placement:N}};let _=(z=A.filter(W=>W.overflows[0]<=0).sort((W,Q)=>W.overflows[1]-Q.overflows[1])[0])==null?void 0:z.placement;if(!_)switch(h){case"bestFit":{var K;let W=(K=A.filter(Q=>{if(S){let me=Ke(Q.placement);return me===w||me==="y"}return!0}).map(Q=>[Q.placement,Q.overflows.filter(me=>me>0).reduce((me,Ge)=>me+Ge,0)]).sort((Q,me)=>Q[1]-me[1])[0])==null?void 0:K[0];W&&(_=W);break}case"initialPlacement":_=l;break}if(o!==_)return{reset:{placement:_}}}return{}}}};function Lf(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function Bf(t){return Wl.some(e=>t[e]>=0)}var Vf=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){let{rects:n}=e,{strategy:r="referenceHidden",...o}=st(t,e);switch(r){case"referenceHidden":{let i=await on(e,{...o,elementContext:"reference"}),s=Lf(i,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:Bf(s)}}}case"escaped":{let i=await on(e,{...o,altBoundary:!0}),s=Lf(i,n.floating);return{data:{escapedOffsets:s,escaped:Bf(s)}}}default:return{}}}}};function _f(t){let e=$e(...t.map(i=>i.left)),n=$e(...t.map(i=>i.top)),r=pe(...t.map(i=>i.right)),o=pe(...t.map(i=>i.bottom));return{x:e,y:n,width:r-e,height:o-n}}function fw(t){let e=t.slice().sort((o,i)=>o.y-i.y),n=[],r=null;for(let o=0;or.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(o=>Ct(_f(o)))}var Wf=function(t){return t===void 0&&(t={}),{name:"inline",options:t,async fn(e){let{placement:n,elements:r,rects:o,platform:i,strategy:s}=e,{padding:l=2,x:a,y:c}=st(t,e),d=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(r.reference))||[]),u=fw(d),f=Ct(_f(d)),h=di(l);function p(){if(u.length===2&&u[0].left>u[1].right&&a!=null&&c!=null)return u.find(g=>a>g.left-h.left&&ag.top-h.top&&c=2){if(Ke(n)==="y"){let A=u[0],$=u[u.length-1],z=Ne(n)==="top",K=A.top,V=$.bottom,N=z?A.left:$.left,_=z?A.right:$.right,W=_-N,Q=V-K;return{top:K,bottom:V,left:N,right:_,width:W,height:Q,x:N,y:K}}let g=Ne(n)==="left",y=pe(...u.map(A=>A.right)),w=$e(...u.map(A=>A.left)),b=u.filter(A=>g?A.left===w:A.right===y),C=b[0].top,x=b[b.length-1].bottom,S=w,k=y,O=k-S,T=x-C;return{top:C,bottom:x,left:S,right:k,width:O,height:T,x:S,y:C}}return f}let m=await i.getElementRects({reference:{getBoundingClientRect:p},floating:r.floating,strategy:s});return o.reference.x!==m.reference.x||o.reference.y!==m.reference.y||o.reference.width!==m.reference.width||o.reference.height!==m.reference.height?{reset:{rects:m}}:{}}}},hw=new Set(["left","top"]);async function pw(t,e){let{placement:n,platform:r,elements:o}=t,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),s=Ne(n),l=Fe(n),a=Ke(n)==="y",c=hw.has(s)?-1:1,d=i&&a?-1:1,u=st(e,t),{mainAxis:f,crossAxis:h,alignmentAxis:p}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof p=="number"&&(h=l==="end"?p*-1:p),a?{x:h*d,y:f*c}:{x:f*c,y:h*d}}var jf=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,r;let{x:o,y:i,placement:s,middlewareData:l}=e,a=await pw(e,t);return s===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+a.x,y:i+a.y,data:{...a,placement:s}}}}},Uf=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){let{x:n,y:r,placement:o}=e,{mainAxis:i=!0,crossAxis:s=!1,limiter:l={fn:g=>{let{x:y,y:w}=g;return{x:y,y:w}}},...a}=st(t,e),c={x:n,y:r},d=await on(e,a),u=Ke(Ne(o)),f=Ul(u),h=c[f],p=c[u];if(i){let g=f==="y"?"top":"left",y=f==="y"?"bottom":"right",w=h+d[g],b=h-d[y];h=li(w,h,b)}if(s){let g=u==="y"?"top":"left",y=u==="y"?"bottom":"right",w=p+d[g],b=p-d[y];p=li(w,p,b)}let m=l.fn({...e,[f]:h,[u]:p});return{...m,data:{x:m.x-n,y:m.y-r,enabled:{[f]:i,[u]:s}}}}}};var Kf=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,r;let{placement:o,rects:i,platform:s,elements:l}=e,{apply:a=()=>{},...c}=st(t,e),d=await on(e,c),u=Ne(o),f=Fe(o),h=Ke(o)==="y",{width:p,height:m}=i.floating,g,y;u==="top"||u==="bottom"?(g=u,y=f===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(y=u,g=f==="end"?"top":"bottom");let w=m-d.top-d.bottom,b=p-d.left-d.right,C=$e(m-d[g],w),x=$e(p-d[y],b),S=!e.middlewareData.shift,k=C,O=x;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(O=b),(r=e.middlewareData.shift)!=null&&r.enabled.y&&(k=w),S&&!f){let A=pe(d.left,0),$=pe(d.right,0),z=pe(d.top,0),K=pe(d.bottom,0);h?O=p-2*(A!==0||$!==0?A+$:pe(d.left,d.right)):k=m-2*(z!==0||K!==0?z+K:pe(d.top,d.bottom))}await a({...e,availableWidth:O,availableHeight:k});let T=await s.getDimensions(l.floating);return p!==T.width||m!==T.height?{reset:{rects:!0}}:{}}}};function fi(){return typeof window<"u"}function sn(t){return Jf(t)?(t.nodeName||"").toLowerCase():"#document"}function Ae(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function lt(t){var e;return(e=(Jf(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Jf(t){return fi()?t instanceof Node||t instanceof Ae(t).Node:!1}function Ve(t){return fi()?t instanceof Element||t instanceof Ae(t).Element:!1}function qe(t){return fi()?t instanceof HTMLElement||t instanceof Ae(t).HTMLElement:!1}function qf(t){return!fi()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ae(t).ShadowRoot}var mw=new Set(["inline","contents"]);function Rn(t){let{overflow:e,overflowX:n,overflowY:r,display:o}=_e(t);return/auto|scroll|overlay|hidden|clip/.test(e+r+n)&&!mw.has(o)}var gw=new Set(["table","td","th"]);function Gf(t){return gw.has(sn(t))}var yw=[":popover-open",":modal"];function vr(t){return yw.some(e=>{try{return t.matches(e)}catch{return!1}})}var bw=["transform","translate","scale","rotate","perspective"],ww=["transform","translate","scale","rotate","perspective","filter"],xw=["paint","layout","strict","content"];function hi(t){let e=pi(),n=Ve(t)?_e(t):t;return bw.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||ww.some(r=>(n.willChange||"").includes(r))||xw.some(r=>(n.contain||"").includes(r))}function Xf(t){let e=vt(t);for(;qe(e)&&!ln(e);){if(hi(e))return e;if(vr(e))return null;e=vt(e)}return null}function pi(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var kw=new Set(["html","body","#document"]);function ln(t){return kw.has(sn(t))}function _e(t){return Ae(t).getComputedStyle(t)}function Mr(t){return Ve(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function vt(t){if(sn(t)==="html")return t;let e=t.assignedSlot||t.parentNode||qf(t)&&t.host||lt(t);return qf(e)?e.host:e}function Yf(t){let e=vt(t);return ln(e)?t.ownerDocument?t.ownerDocument.body:t.body:qe(e)&&Rn(e)?e:Yf(e)}function ui(t,e,n){var r;e===void 0&&(e=[]),n===void 0&&(n=!0);let o=Yf(t),i=o===((r=t.ownerDocument)==null?void 0:r.body),s=Ae(o);if(i){let l=mi(s);return e.concat(s,s.visualViewport||[],Rn(o)?o:[],l&&n?ui(l):[])}return e.concat(o,ui(o,[],n))}function mi(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function th(t){let e=_e(t),n=parseFloat(e.width)||0,r=parseFloat(e.height)||0,o=qe(t),i=o?t.offsetWidth:n,s=o?t.offsetHeight:r,l=Cr(n)!==i||Cr(r)!==s;return l&&(n=i,r=s),{width:n,height:r,$:l}}function nh(t){return Ve(t)?t:t.contextElement}function Dn(t){let e=nh(t);if(!qe(e))return Ue(1);let n=e.getBoundingClientRect(),{width:r,height:o,$:i}=th(e),s=(i?Cr(n.width):n.width)/r,l=(i?Cr(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}var Sw=Ue(0);function rh(t){let e=Ae(t);return!pi()||!e.visualViewport?Sw:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Cw(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==Ae(t)?!1:e}function Tr(t,e,n,r){e===void 0&&(e=!1),n===void 0&&(n=!1);let o=t.getBoundingClientRect(),i=nh(t),s=Ue(1);e&&(r?Ve(r)&&(s=Dn(r)):s=Dn(t));let l=Cw(i,n,r)?rh(i):Ue(0),a=(o.left+l.x)/s.x,c=(o.top+l.y)/s.y,d=o.width/s.x,u=o.height/s.y;if(i){let f=Ae(i),h=r&&Ve(r)?Ae(r):r,p=f,m=mi(p);for(;m&&r&&h!==p;){let g=Dn(m),y=m.getBoundingClientRect(),w=_e(m),b=y.left+(m.clientLeft+parseFloat(w.paddingLeft))*g.x,C=y.top+(m.clientTop+parseFloat(w.paddingTop))*g.y;a*=g.x,c*=g.y,d*=g.x,u*=g.y,a+=b,c+=C,p=Ae(m),m=mi(p)}}return Ct({width:d,height:u,x:a,y:c})}function gi(t,e){let n=Mr(t).scrollLeft;return e?e.left+n:Tr(lt(t)).left+n}function oh(t,e){let n=t.getBoundingClientRect(),r=n.left+e.scrollLeft-gi(t,n),o=n.top+e.scrollTop;return{x:r,y:o}}function vw(t){let{elements:e,rect:n,offsetParent:r,strategy:o}=t,i=o==="fixed",s=lt(r),l=e?vr(e.floating):!1;if(r===s||l&&i)return n;let a={scrollLeft:0,scrollTop:0},c=Ue(1),d=Ue(0),u=qe(r);if((u||!u&&!i)&&((sn(r)!=="body"||Rn(s))&&(a=Mr(r)),qe(r))){let h=Tr(r);c=Dn(r),d.x=h.x+r.clientLeft,d.y=h.y+r.clientTop}let f=s&&!u&&!i?oh(s,a):Ue(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-a.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-a.scrollTop*c.y+d.y+f.y}}function Mw(t){return Array.from(t.getClientRects())}function Tw(t){let e=lt(t),n=Mr(t),r=t.ownerDocument.body,o=pe(e.scrollWidth,e.clientWidth,r.scrollWidth,r.clientWidth),i=pe(e.scrollHeight,e.clientHeight,r.scrollHeight,r.clientHeight),s=-n.scrollLeft+gi(t),l=-n.scrollTop;return _e(r).direction==="rtl"&&(s+=pe(e.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:l}}var Qf=25;function Aw(t,e){let n=Ae(t),r=lt(t),o=n.visualViewport,i=r.clientWidth,s=r.clientHeight,l=0,a=0;if(o){i=o.width,s=o.height;let d=pi();(!d||d&&e==="fixed")&&(l=o.offsetLeft,a=o.offsetTop)}let c=gi(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),h=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,p=Math.abs(r.clientWidth-u.clientWidth-h);p<=Qf&&(i-=p)}else c<=Qf&&(i+=c);return{width:i,height:s,x:l,y:a}}var Ew=new Set(["absolute","fixed"]);function Nw(t,e){let n=Tr(t,!0,e==="fixed"),r=n.top+t.clientTop,o=n.left+t.clientLeft,i=qe(t)?Dn(t):Ue(1),s=t.clientWidth*i.x,l=t.clientHeight*i.y,a=o*i.x,c=r*i.y;return{width:s,height:l,x:a,y:c}}function Zf(t,e,n){let r;if(e==="viewport")r=Aw(t,n);else if(e==="document")r=Tw(lt(t));else if(Ve(e))r=Nw(e,n);else{let o=rh(t);r={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return Ct(r)}function ih(t,e){let n=vt(t);return n===e||!Ve(n)||ln(n)?!1:_e(n).position==="fixed"||ih(n,e)}function Ow(t,e){let n=e.get(t);if(n)return n;let r=ui(t,[],!1).filter(l=>Ve(l)&&sn(l)!=="body"),o=null,i=_e(t).position==="fixed",s=i?vt(t):t;for(;Ve(s)&&!ln(s);){let l=_e(s),a=hi(s);!a&&l.position==="fixed"&&(o=null),(i?!a&&!o:!a&&l.position==="static"&&!!o&&Ew.has(o.position)||Rn(s)&&!a&&ih(t,s))?r=r.filter(d=>d!==s):o=l,s=vt(s)}return e.set(t,r),r}function Rw(t){let{element:e,boundary:n,rootBoundary:r,strategy:o}=t,s=[...n==="clippingAncestors"?vr(e)?[]:Ow(e,this._c):[].concat(n),r],l=s[0],a=s.reduce((c,d)=>{let u=Zf(e,d,o);return c.top=pe(u.top,c.top),c.right=$e(u.right,c.right),c.bottom=$e(u.bottom,c.bottom),c.left=pe(u.left,c.left),c},Zf(e,l,o));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Dw(t){let{width:e,height:n}=th(t);return{width:e,height:n}}function Iw(t,e,n){let r=qe(e),o=lt(e),i=n==="fixed",s=Tr(t,!0,i,e),l={scrollLeft:0,scrollTop:0},a=Ue(0);function c(){a.x=gi(o)}if(r||!r&&!i)if((sn(e)!=="body"||Rn(o))&&(l=Mr(e)),r){let h=Tr(e,!0,i,e);a.x=h.x+e.clientLeft,a.y=h.y+e.clientTop}else o&&c();i&&!r&&o&&c();let d=o&&!r&&!i?oh(o,l):Ue(0),u=s.left+l.scrollLeft-a.x-d.x,f=s.top+l.scrollTop-a.y-d.y;return{x:u,y:f,width:s.width,height:s.height}}function ql(t){return _e(t).position==="static"}function eh(t,e){if(!qe(t)||_e(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return lt(t)===n&&(n=n.ownerDocument.body),n}function sh(t,e){let n=Ae(t);if(vr(t))return n;if(!qe(t)){let o=vt(t);for(;o&&!ln(o);){if(Ve(o)&&!ql(o))return o;o=vt(o)}return n}let r=eh(t,e);for(;r&&Gf(r)&&ql(r);)r=eh(r,e);return r&&ln(r)&&ql(r)&&!hi(r)?n:r||Xf(t)||n}var Pw=async function(t){let e=this.getOffsetParent||sh,n=this.getDimensions,r=await n(t.floating);return{reference:Iw(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Lw(t){return _e(t).direction==="rtl"}var Bw={convertOffsetParentRelativeRectToViewportRelativeRect:vw,getDocumentElement:lt,getClippingRect:Rw,getOffsetParent:sh,getElementRects:Pw,getClientRects:Mw,getDimensions:Dw,getScale:Dn,isElement:Ve,isRTL:Lw};var lh=jf,ah=$f,In=Uf,Pn=Ff,ch=Kf,dh=Vf,uh=Hf,fh=Wf;var Ln=(t,e,n)=>{let r=new Map,o={platform:Bw,...n},i={...o.platform,_c:r};return zf(t,e,{...o,platform:i})};var hh=(t,e)=>{Ln({getBoundingClientRect:()=>{let{from:r,to:o}=t.state.selection,i=t.view.coordsAtPos(r),s=t.view.coordsAtPos(o);return{top:Math.min(i.top,s.top),bottom:Math.max(i.bottom,s.bottom),left:Math.min(i.left,s.left),right:Math.max(i.right,s.right),width:Math.abs(s.right-i.left),height:Math.abs(s.bottom-i.top),x:Math.min(i.left,s.left),y:Math.min(i.top,s.top)}}},e,{placement:"bottom-start",strategy:"absolute",middleware:[In(),Pn()]}).then(({x:r,y:o,strategy:i})=>{e.style.width="max-content",e.style.position=i,e.style.left=`${r}px`,e.style.top=`${o}px`})},ph=({items:t=[],noOptionsMessage:e=null,noSearchResultsMessage:n=null,searchPrompt:r=null,searchingMessage:o=null,isSearchable:i=!1})=>{let s=null;return{items:async({query:l})=>{if(typeof t=="function"){s&&i&&s.setLoading(!0);try{let c=t({query:l}),d=Array.isArray(c)?c:await c;return s&&s.setLoading(!1),d}catch{return s&&s.setLoading(!1),[]}}if(!l)return t;let a=String(l).toLowerCase();return t.filter(c=>{let d=typeof c=="string"?c:c?.label??c?.name??"";return String(d).toLowerCase().includes(a)})},render:()=>{let l,a=0,c=null,d=!1;s={setLoading:b=>{d=b,f()}};let u=()=>{let b=document.createElement("div");return b.className="fi-dropdown-panel fi-dropdown-list fi-scrollable",b.style.maxHeight="15rem",b.style.minWidth="12rem",b},f=()=>{if(!l||!c)return;let b=Array.isArray(c.items)?c.items:[],C=c.query??"";if(l.innerHTML="",d){let x=o??"Searching...",S=document.createElement("div");S.className="fi-dropdown-header";let k=document.createElement("span");k.style.whiteSpace="normal",k.textContent=x,S.appendChild(k),l.appendChild(S);return}if(b.length)b.forEach((x,S)=>{let k=typeof x=="string"?x:x?.label??x?.name??String(x?.id??""),O=typeof x=="object"?x?.id??k:k,T=document.createElement("button");T.className=`fi-dropdown-list-item ${S===a?"fi-selected":""}`,T.type="button",T.addEventListener("click",()=>p(O,k));let A=document.createElement("span");A.className="fi-dropdown-list-item-label",A.textContent=k,T.appendChild(A),l.appendChild(T)});else{let x=h(C);if(x){let S=document.createElement("div");S.className="fi-dropdown-header";let k=document.createElement("span");k.style.whiteSpace="normal",k.textContent=x,S.appendChild(k),l.appendChild(S)}}},h=b=>b?n:i?r:e,p=(b,C)=>{c&&c.command({id:b,label:C})},m=()=>{if(!l||!c||(c.items||[]).length===0)return;let C=l.children[a];if(C){let x=C.getBoundingClientRect(),S=l.getBoundingClientRect();(x.topS.bottom)&&C.scrollIntoView({block:"nearest"})}},g=()=>{if(!c)return;let b=Array.isArray(c.items)?c.items:[];b.length!==0&&(a=(a+b.length-1)%b.length,f(),m())},y=()=>{if(!c)return;let b=c.items||[];b.length!==0&&(a=(a+1)%b.length,f(),m())},w=()=>{let b=c?.items||[];if(b.length===0)return;let C=b[a],x=typeof C=="string"?C:C?.label??C?.name??String(C?.id??""),S=typeof C=="object"?C?.id??x:x;p(S,x)};return{onStart:b=>{c=b,a=0,l=u(),l.style.position="absolute",l.style.zIndex="50",f(),document.body.appendChild(l),b.clientRect&&hh(b.editor,l)},onUpdate:b=>{c=b,a=0,f(),m(),b.clientRect&&hh(b.editor,l)},onKeyDown:b=>b.event.key==="Escape"?(l&&l.parentNode&&l.parentNode.removeChild(l),!0):b.event.key==="ArrowUp"?(g(),!0):b.event.key==="ArrowDown"?(y(),!0):b.event.key==="Enter"?(w(),!0):!1,onExit:()=>{l&&l.parentNode&&l.parentNode.removeChild(l),s=null}}}}};var zw=function({editor:t,overrideSuggestionOptions:e,extensionName:n}){let r=new H,o=e?.char??"@",i=e?.extraAttributes??{};return{editor:t,char:o,pluginKey:r,command:({editor:s,range:l,props:a})=>{s.view.state.selection.$to.nodeAfter?.text?.startsWith(" ")&&(l.to+=1);let u={...a,char:o,extra:i};s.chain().focus().insertContentAt(l,[{type:n,attrs:u},{type:"text",text:" "}]).run(),s.view.dom.ownerDocument.defaultView?.getSelection()?.collapseToEnd()},allow:({state:s,range:l})=>{let a=s.doc.resolve(l.from),c=s.schema.nodes[n];return!!a.parent.type.contentMatch.matchType(c)},...e}},mh=F.create({name:"mention",priority:101,addStorage(){return{suggestions:[],getSuggestionFromChar:()=>null}},addOptions(){return{HTMLAttributes:{},renderText({node:t}){return`${t.attrs.char??"@"}`},deleteTriggerWithBackspace:!0,renderHTML({options:t,node:e}){return["span",R(this.HTMLAttributes,t.HTMLAttributes),`${e.attrs.char??"@"}${e.attrs.label??""}`]},suggestions:[],suggestion:{},getMentionLabelsUsing:null}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:t=>t.getAttribute("data-id"),renderHTML:t=>t.id?{"data-id":t.id}:{}},label:{default:null,keepOnSplit:!1,parseHTML:t=>t.getAttribute("data-label"),renderHTML:t=>t.label?{"data-label":t.label}:{}},char:{default:"@",parseHTML:t=>t.getAttribute("data-char")??"@",renderHTML:t=>t.char?{"data-char":t.char}:{}},extra:{default:null,renderHTML:t=>{let e=t?.extra;return!e||typeof e!="object"?{}:e}}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:t,HTMLAttributes:e}){let n=this.editor?.extensionStorage?.[this.name]?.getSuggestionFromChar(t?.attrs?.char??"@"),r={...this.options};r.HTMLAttributes=R({"data-type":this.name},this.options.HTMLAttributes,e);let o=this.options.renderHTML({options:r,node:t,suggestion:n});return typeof o=="string"?["span",R({"data-type":this.name},this.options.HTMLAttributes,e),o]:o},renderText({node:t}){let e={options:this.options,node:t,suggestion:this.editor?.extensionStorage?.[this.name]?.getSuggestionFromChar(t?.attrs?.char??"@")};return this.options.renderText(e)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:t,state:e})=>{let n=!1,{selection:r}=e,{empty:o,anchor:i}=r;if(!o)return!1;let s=new ie,l=0;if(e.doc.nodesBetween(i-1,i,(a,c)=>{if(a.type.name===this.name)return n=!0,s=a,l=c,!1}),n){let a=s?.attrs?.char??"@";t.insertText(this.options.deleteTriggerWithBackspace?"":a,l,l+s.nodeSize)}return n})}},addProseMirrorPlugins(){let t=async e=>{let{state:n,dispatch:r}=e,o=[];if(n.doc.descendants((s,l)=>{if(s.type.name!==this.name||s.attrs?.label)return;let a=s.attrs?.id,c=s.attrs?.char??"@";a&&o.push({id:a,char:c,pos:l})}),o.length===0)return;let i=this.options.getMentionLabelsUsing;if(typeof i=="function")try{let s=o.map(({id:a,char:c})=>({id:a,char:c})),l=await i(s);o.forEach(({id:a,pos:c})=>{let d=l[a];if(!d)return;let u=e.state.doc.nodeAt(c);if(!u||u.type.name!==this.name)return;let f={...u.attrs,label:d},h=e.state.tr.setNodeMarkup(c,void 0,f);r(h)})}catch{}};return[...this.storage.suggestions.map(si),new P({view:e=>(setTimeout(()=>t(e),0),{update:n=>t(n)})})]},onBeforeCreate(){let t=n=>Array.isArray(n)?n:n&&typeof n=="object"?Object.entries(n).map(([r,o])=>({id:r,label:o})):[],e=this.options.suggestions.length?this.options.suggestions:[this.options.suggestion];this.storage.suggestions=e.map(n=>{let r=n?.char??"@",o=n?.items??[],i=n?.noOptionsMessage??null,s=n?.noSearchResultsMessage??null,l=n?.isSearchable??!1,a=this.options.getMentionSearchResultsUsing,c=n;if(typeof n?.items=="function"){let d=n.items;c={...n,items:async u=>{if(u?.query&&typeof a=="function")try{let f=await a(u?.query,r);return t(f)}catch{}return await d(u)}}}else{let d=n?.extraAttributes,u=n?.searchPrompt??null,f=n?.searchingMessage??null;c={...ph({items:async({query:h})=>{if(!(Array.isArray(o)?o.length>0:o&&typeof o=="object"&&Object.keys(o).length>0)&&!h)return[];let m=t(o);if(h&&typeof a=="function")try{let y=await a(h,r);return t(y)}catch{}if(!h)return m;let g=String(h).toLowerCase();return m.filter(y=>{let w=typeof y=="string"?y:y?.label??y?.name??"";return String(w).toLowerCase().includes(g)})},isSearchable:l,noOptionsMessage:i,noSearchResultsMessage:s,searchPrompt:u,searchingMessage:f}),char:r,...d?{extraAttributes:d}:{}}}return zw({editor:this.editor,overrideSuggestionOptions:c,extensionName:this.name})}),this.storage.getSuggestionFromChar=n=>this.storage.suggestions.find(r=>r.char===n)??this.storage.suggestions[0]??null}});var Hw=F.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",R(this.options.HTMLAttributes,t),0]},parseMarkdown:(t,e)=>{let n=t.tokens||[];return n.length===1&&n[0].type==="image"?e.parseChildren([n[0]]):e.createNode("paragraph",void 0,e.parseInline(n))},renderMarkdown:(t,e)=>!t||!Array.isArray(t.content)?"":e.renderChildren(t.content),addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),gh=Hw;var Jl=fl;var yh=ee.create({name:"small",parseHTML(){return[{tag:"small"}]},renderHTML({HTMLAttributes:t}){return["small",t,0]},addCommands(){return{setSmall:()=>({commands:t})=>t.setMark(this.name),toggleSmall:()=>({commands:t})=>t.toggleMark(this.name),unsetSmall:()=>({commands:t})=>t.unsetMark(this.name)}}});var bh=ee.create({name:"textColor",addOptions(){return{textColors:{}}},parseHTML(){return[{tag:"span",getAttrs:t=>t.classList?.contains("color")}]},renderHTML({HTMLAttributes:t}){let e={...t},n=t.class;e.class=["color",n].filter(Boolean).join(" ");let r=t["data-color"],i=(this.options.textColors||{})[r],s=typeof r=="string"&&r.length>0,l=i?`--color: ${i.color}; --dark-color: ${i.darkColor}`:s?`--color: ${r}; --dark-color: ${r}`:null;if(l){let a=typeof t.style=="string"?t.style:"";e.style=a?`${l}; ${a}`:l}return["span",e,0]},addAttributes(){return{"data-color":{default:null,parseHTML:t=>t.getAttribute("data-color"),renderHTML:t=>t["data-color"]?{"data-color":t["data-color"]}:{}}}},addCommands(){return{setTextColor:({color:t})=>({commands:e})=>e.setMark(this.name,{"data-color":t}),unsetTextColor:()=>({commands:t})=>t.unsetMark(this.name)}}});var $w=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Fw=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Vw=ee.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["s",R(this.options.HTMLAttributes,t),0]},markdownTokenName:"del",parseMarkdown:(t,e)=>e.applyMark("strike",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`~~${e.renderChildren(t)}~~`,addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[Be({find:$w,type:this.type})]},addPasteRules(){return[Me({find:Fw,type:this.type})]}}),wh=Vw;var _w=ee.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(t){return t!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sub",R(this.options.HTMLAttributes,t),0]},addCommands(){return{setSubscript:()=>({commands:t})=>t.setMark(this.name),toggleSubscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSubscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),xh=_w;var Ww=ee.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(t){return t!=="super"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sup",R(this.options.HTMLAttributes,t),0]},addCommands(){return{setSuperscript:()=>({commands:t})=>t.setMark(this.name),toggleSuperscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSuperscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),kh=Ww;var Xl,Yl;if(typeof WeakMap<"u"){let t=new WeakMap;Xl=e=>t.get(e),Yl=(e,n)=>(t.set(e,n),n)}else{let t=[],n=0;Xl=r=>{for(let o=0;o(n==10&&(n=0),t[n++]=r,t[n++]=o)}var oe=class{constructor(t,e,n,r){this.width=t,this.height=e,this.map=n,this.problems=r}findCell(t){for(let e=0;e=n){(i||(i=[])).push({type:"overlong_rowspan",pos:d,n:y-b});break}let C=o+b*e;for(let x=0;xr&&(i+=c.attrs.colspan)}}for(let s=0;s1&&(n=!0)}e==-1?e=i:e!=i&&(e=Math.max(e,i))}return e}function Kw(t,e,n){t.problems||(t.problems=[]);let r={};for(let o=0;o0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function Jw(t){for(let e=t.depth;e>0;e--){let n=t.node(e).type.spec.tableRole;if(n==="cell"||n==="header_cell")return t.node(e)}return null}function Je(t){let e=t.selection.$head;for(let n=e.depth;n>0;n--)if(e.node(n).type.spec.tableRole=="row")return!0;return!1}function Si(t){let e=t.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell")return e.$anchor;let n=an(e.$head)||Gw(e.$head);if(n)return n;throw new RangeError(`No cell found around position ${e.head}`)}function Gw(t){for(let e=t.nodeAfter,n=t.pos;e;e=e.firstChild,n++){let r=e.type.spec.tableRole;if(r=="cell"||r=="header_cell")return t.doc.resolve(n)}for(let e=t.nodeBefore,n=t.pos;e;e=e.lastChild,n--){let r=e.type.spec.tableRole;if(r=="cell"||r=="header_cell")return t.doc.resolve(n-e.nodeSize)}}function Ql(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function Xw(t){return t.node(0).resolve(t.pos+t.nodeAfter.nodeSize)}function ta(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function Rh(t,e,n){let r=t.node(-1),o=oe.get(r),i=t.start(-1),s=o.nextCell(t.pos-i,e,n);return s==null?null:t.node(0).resolve(i+s)}function cn(t,e,n=1){let r={...t,colspan:t.colspan-n};return r.colwidth&&(r.colwidth=r.colwidth.slice(),r.colwidth.splice(e,n),r.colwidth.some(o=>o>0)||(r.colwidth=null)),r}function Dh(t,e,n=1){let r={...t,colspan:t.colspan+n};if(r.colwidth){r.colwidth=r.colwidth.slice();for(let o=0;od!=n.pos-i);a.unshift(n.pos-i);let c=a.map(d=>{let u=r.nodeAt(d);if(!u)throw new RangeError(`No cell with offset ${d} found`);let f=i+d+1;return new yn(l.resolve(f),l.resolve(f+u.content.size))});super(c[0].$from,c[0].$to,c),this.$anchorCell=e,this.$headCell=n}map(e,n){let r=e.resolve(n.map(this.$anchorCell.pos)),o=e.resolve(n.map(this.$headCell.pos));if(Ql(r)&&Ql(o)&&ta(r,o)){let i=this.$anchorCell.node(-1)!=r.node(-1);return i&&this.isRowSelection()?Mt.rowSelection(r,o):i&&this.isColSelection()?Mt.colSelection(r,o):new Mt(r,o)}return D.between(r,o)}content(){let e=this.$anchorCell.node(-1),n=oe.get(e),r=this.$anchorCell.start(-1),o=n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r),i={},s=[];for(let a=o.top;a0||g>0){let y=p.attrs;if(m>0&&(y=cn(y,0,m)),g>0&&(y=cn(y,y.colspan-g,g)),h.lefto.bottom){let y={...p.attrs,rowspan:Math.min(h.bottom,o.bottom)-Math.max(h.top,o.top)};h.top0)return!1;let r=e+this.$anchorCell.nodeAfter.attrs.rowspan,o=n+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(r,o)==this.$headCell.node(-1).childCount}static colSelection(e,n=e){let r=e.node(-1),o=oe.get(r),i=e.start(-1),s=o.findCell(e.pos-i),l=o.findCell(n.pos-i),a=e.node(0);return s.top<=l.top?(s.top>0&&(e=a.resolve(i+o.map[s.left])),l.bottom0&&(n=a.resolve(i+o.map[l.left])),s.bottom0)return!1;let s=o+this.$anchorCell.nodeAfter.attrs.colspan,l=i+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,l)==n.width}eq(e){return e instanceof Mt&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,n=e){let r=e.node(-1),o=oe.get(r),i=e.start(-1),s=o.findCell(e.pos-i),l=o.findCell(n.pos-i),a=e.node(0);return s.left<=l.left?(s.left>0&&(e=a.resolve(i+o.map[s.top*o.width])),l.right0&&(n=a.resolve(i+o.map[l.top*o.width])),s.right{e.push(te.node(r,r+n.nodeSize,{class:"selectedCell"}))}),Y.create(t.doc,e)}function ex({$from:t,$to:e}){if(t.pos==e.pos||t.pos=0&&!(t.after(o+1)=0&&!(e.before(i+1)>e.start(i));i--,r--);return n==r&&/row|table/.test(t.node(o).type.spec.tableRole)}function tx({$from:t,$to:e}){let n,r;for(let o=t.depth;o>0;o--){let i=t.node(o);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){n=i;break}}for(let o=e.depth;o>0;o--){let i=e.node(o);if(i.type.spec.tableRole==="cell"||i.type.spec.tableRole==="header_cell"){r=i;break}}return n!==r&&e.parentOffset===0}function nx(t,e,n){let r=(e||t).selection,o=(e||t).doc,i,s;if(r instanceof L&&(s=r.node.type.spec.tableRole)){if(s=="cell"||s=="header_cell")i=X.create(o,r.from);else if(s=="row"){let l=o.resolve(r.from+1);i=X.rowSelection(l,l)}else if(!n){let l=oe.get(r.node),a=r.from+1,c=a+l.map[l.width*l.height-1];i=X.create(o,a+1,c)}}else r instanceof D&&ex(r)?i=D.create(o,r.from):r instanceof D&&tx(r)&&(i=D.create(o,r.$from.start(),r.$from.end()));return i&&(e||(e=t.tr)).setSelection(i),e}var rx=new H("fix-tables");function Ph(t,e,n,r){let o=t.childCount,i=e.childCount;e:for(let s=0,l=0;s{o.type.spec.tableRole=="table"&&(n=ox(t,o,i,n))};return e?e.doc!=t.doc&&Ph(e.doc,t.doc,0,r):t.doc.descendants(r),n}function ox(t,e,n,r){let o=oe.get(e);if(!o.problems)return r;r||(r=t.tr);let i=[];for(let a=0;a0){let h="cell";d.firstChild&&(h=d.firstChild.type.spec.tableRole);let p=[];for(let g=0;g0?-1:0;Yw(e,r,o+i)&&(i=o==0||o==e.width?null:0);for(let s=0;s0&&o0&&e.map[l-1]==a||o0?-1:0;sx(e,r,o+l)&&(l=o==0||o==e.height?null:0);for(let c=0,d=e.width*o;c0&&o0&&u==e.map[d-e.width]){let f=n.nodeAt(u).attrs;t.setNodeMarkup(t.mapping.slice(l).map(u+r),null,{...f,rowspan:f.rowspan-1}),c+=f.colspan-1}else if(o0&&n[i]==n[i-1]||r.right0&&n[o]==n[o-t]||r.bottom0){let d=a+1+c.content.size,u=Sh(c)?a+1:d;i.replaceWith(u+r.tableStart,d+r.tableStart,l)}i.setSelection(new X(i.doc.resolve(a+r.tableStart))),e(i)}return!0}function oa(t,e){let n=xe(t.schema);return cx(({node:r})=>n[r.type.spec.tableRole])(t,e)}function cx(t){return(e,n)=>{let r=e.selection,o,i;if(r instanceof X){if(r.$anchorCell.pos!=r.$headCell.pos)return!1;o=r.$anchorCell.nodeAfter,i=r.$anchorCell.pos}else{var s;if(o=Jw(r.$from),!o)return!1;i=(s=an(r.$from))===null||s===void 0?void 0:s.pos}if(o==null||i==null||o.attrs.colspan==1&&o.attrs.rowspan==1)return!1;if(n){let l=o.attrs,a=[],c=l.colwidth;l.rowspan>1&&(l={...l,rowspan:1}),l.colspan>1&&(l={...l,colspan:1});let d=at(e),u=e.tr;for(let h=0;h{s.attrs[t]!==e&&i.setNodeMarkup(l,null,{...s.attrs,[t]:e})}):i.setNodeMarkup(o.pos,null,{...o.nodeAfter.attrs,[t]:e}),r(i)}return!0}}function dx(t){return function(e,n){if(!Je(e))return!1;if(n){let r=xe(e.schema),o=at(e),i=e.tr,s=o.map.cellsInRect(t=="column"?{left:o.left,top:0,right:o.right,bottom:o.map.height}:t=="row"?{left:0,top:o.top,right:o.map.width,bottom:o.bottom}:o),l=s.map(a=>o.table.nodeAt(a));for(let a=0;a{let h=f+i.tableStart,p=s.doc.nodeAt(h);p&&s.setNodeMarkup(h,u,p.attrs)}),r(s)}return!0}}var cM=Bn("row",{useDeprecatedLogic:!0}),dM=Bn("column",{useDeprecatedLogic:!0}),jh=Bn("cell",{useDeprecatedLogic:!0});function ux(t,e){if(e<0){let n=t.nodeBefore;if(n)return t.pos-n.nodeSize;for(let r=t.index(-1)-1,o=t.before();r>=0;r--){let i=t.node(-1).child(r),s=i.lastChild;if(s)return o-1-s.nodeSize;o-=i.nodeSize}}else{if(t.index()0;r--)if(n.node(r).type.spec.tableRole=="table")return e&&e(t.tr.delete(n.before(r),n.after(r)).scrollIntoView()),!0;return!1}function yi(t,e){let n=t.selection;if(!(n instanceof X))return!1;if(e){let r=t.tr,o=xe(t.schema).cell.createAndFill().content;n.forEachCell((i,s)=>{i.content.eq(o)||r.replace(r.mapping.map(s+1),r.mapping.map(s+i.nodeSize-1),new E(o,0,0))}),r.docChanged&&e(r)}return!0}function fx(t){if(t.size===0)return null;let{content:e,openStart:n,openEnd:r}=t;for(;e.childCount==1&&(n>0&&r>0||e.child(0).type.spec.tableRole=="table");)n--,r--,e=e.child(0).content;let o=e.child(0),i=o.type.spec.tableRole,s=o.type.schema,l=[];if(i=="row")for(let a=0;a=0;s--){let{rowspan:l,colspan:a}=i.child(s).attrs;for(let c=o;c=e.length&&e.push(v.empty),n[o]r&&(f=f.type.createChecked(cn(f.attrs,f.attrs.colspan,d+f.attrs.colspan-r),f.content)),c.push(f),d+=f.attrs.colspan;for(let h=1;ho&&(u=u.type.create({...u.attrs,rowspan:Math.max(1,o-u.attrs.rowspan)},u.content)),a.push(u)}i.push(v.from(a))}n=i,e=o}return{width:t,height:e,rows:n}}function mx(t,e,n,r,o,i,s){let l=t.doc.type.schema,a=xe(l),c,d;if(o>e.width)for(let u=0,f=0;ue.height){let u=[];for(let p=0,m=(e.height-1)*e.width;p=e.width?!1:n.nodeAt(e.map[m+p]).type==a.header_cell;u.push(g?d||(d=a.header_cell.createAndFill()):c||(c=a.cell.createAndFill()))}let f=a.row.create(null,v.from(u)),h=[];for(let p=e.height;p{if(!o)return!1;let i=n.selection;if(i instanceof X)return xi(n,r,I.near(i.$headCell,e));if(t!="horiz"&&!i.empty)return!1;let s=Kh(o,t,e);if(s==null)return!1;if(t=="horiz")return xi(n,r,I.near(n.doc.resolve(i.head+e),e));{let l=n.doc.resolve(s),a=Rh(l,t,e),c;return a?c=I.near(a,1):e<0?c=I.near(n.doc.resolve(l.before(-1)),-1):c=I.near(n.doc.resolve(l.after(-1)),1),xi(n,r,c)}}}function wi(t,e){return(n,r,o)=>{if(!o)return!1;let i=n.selection,s;if(i instanceof X)s=i;else{let a=Kh(o,t,e);if(a==null)return!1;s=new X(n.doc.resolve(a))}let l=Rh(s.$headCell,t,e);return l?xi(n,r,new X(s.$anchorCell,l)):!1}}function yx(t,e){let n=t.state.doc,r=an(n.resolve(e));return r?(t.dispatch(t.state.tr.setSelection(new X(r))),!0):!1}function bx(t,e,n){if(!Je(t.state))return!1;let r=fx(n),o=t.state.selection;if(o instanceof X){r||(r={width:1,height:1,rows:[v.from(Zl(xe(t.state.schema).cell,n))]});let i=o.$anchorCell.node(-1),s=o.$anchorCell.start(-1),l=oe.get(i).rectBetween(o.$anchorCell.pos-s,o.$headCell.pos-s);return r=px(r,l.right-l.left,l.bottom-l.top),Th(t.state,t.dispatch,s,l,r),!0}else if(r){let i=Si(t.state),s=i.start(-1);return Th(t.state,t.dispatch,s,oe.get(i.node(-1)).findCell(i.pos-s),r),!0}else return!1}function wx(t,e){var n;if(e.button!=0||e.ctrlKey||e.metaKey)return;let r=Ah(t,e.target),o;if(e.shiftKey&&t.state.selection instanceof X)i(t.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&r&&(o=an(t.state.selection.$anchor))!=null&&((n=Gl(t,e))===null||n===void 0?void 0:n.pos)!=o.pos)i(o,e),e.preventDefault();else if(!r)return;function i(a,c){let d=Gl(t,c),u=zt.getState(t.state)==null;if(!d||!ta(a,d))if(u)d=a;else return;let f=new X(a,d);if(u||!t.state.selection.eq(f)){let h=t.state.tr.setSelection(f);u&&h.setMeta(zt,a.pos),t.dispatch(h)}}function s(){t.root.removeEventListener("mouseup",s),t.root.removeEventListener("dragstart",s),t.root.removeEventListener("mousemove",l),zt.getState(t.state)!=null&&t.dispatch(t.state.tr.setMeta(zt,-1))}function l(a){let c=a,d=zt.getState(t.state),u;if(d!=null)u=t.state.doc.resolve(d);else if(Ah(t,c.target)!=r&&(u=Gl(t,e),!u))return s();u&&i(u,c)}t.root.addEventListener("mouseup",s),t.root.addEventListener("dragstart",s),t.root.addEventListener("mousemove",l)}function Kh(t,e,n){if(!(t.state.selection instanceof D))return null;let{$head:r}=t.state.selection;for(let o=r.depth-1;o>=0;o--){let i=r.node(o);if((n<0?r.index(o):r.indexAfter(o))!=(n<0?0:i.childCount))return null;if(i.type.spec.tableRole=="cell"||i.type.spec.tableRole=="header_cell"){let s=r.before(o),l=e=="vert"?n>0?"down":"up":n>0?"right":"left";return t.endOfTextblock(l)?s:null}}return null}function Ah(t,e){for(;e&&e!=t.dom;e=e.parentNode)if(e.nodeName=="TD"||e.nodeName=="TH")return e;return null}function Gl(t,e){let n=t.posAtCoords({left:e.clientX,top:e.clientY});if(!n)return null;let{inside:r,pos:o}=n;return r>=0&&an(t.state.doc.resolve(r))||an(t.state.doc.resolve(o))}var xx=class{constructor(t,e){this.node=t,this.defaultCellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.table.style.setProperty("--default-cell-min-width",`${e}px`),this.colgroup=this.table.appendChild(document.createElement("colgroup")),ea(t,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(t){return t.type!=this.node.type?!1:(this.node=t,ea(t,this.colgroup,this.table,this.defaultCellMinWidth),!0)}ignoreMutation(t){return t.type=="attributes"&&(t.target==this.table||this.colgroup.contains(t.target))}};function ea(t,e,n,r,o,i){let s=0,l=!0,a=e.firstChild,c=t.firstChild;if(c){for(let u=0,f=0;unew r(u,n,f)),new kx(-1,!1)},apply(s,l){return l.apply(s)}},props:{attributes:s=>{let l=Oe.getState(s);return l&&l.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(s,l)=>{Sx(s,l,t,o)},mouseleave:s=>{Cx(s)},mousedown:(s,l)=>{vx(s,l,e,n)}},decorations:s=>{let l=Oe.getState(s);if(l&&l.activeHandle>-1)return Nx(s,l.activeHandle)},nodeViews:{}}});return i}var kx=class ki{constructor(e,n){this.activeHandle=e,this.dragging=n}apply(e){let n=this,r=e.getMeta(Oe);if(r&&r.setHandle!=null)return new ki(r.setHandle,!1);if(r&&r.setDragging!==void 0)return new ki(n.activeHandle,r.setDragging);if(n.activeHandle>-1&&e.docChanged){let o=e.mapping.map(n.activeHandle,-1);return Ql(e.doc.resolve(o))||(o=-1),new ki(o,n.dragging)}return n}};function Sx(t,e,n,r){if(!t.editable)return;let o=Oe.getState(t.state);if(o&&!o.dragging){let i=Tx(e.target),s=-1;if(i){let{left:l,right:a}=i.getBoundingClientRect();e.clientX-l<=n?s=Eh(t,e,"left",n):a-e.clientX<=n&&(s=Eh(t,e,"right",n))}if(s!=o.activeHandle){if(!r&&s!==-1){let l=t.state.doc.resolve(s),a=l.node(-1),c=oe.get(a),d=l.start(-1);if(c.colCount(l.pos-d)+l.nodeAfter.attrs.colspan-1==c.width-1)return}Jh(t,s)}}}function Cx(t){if(!t.editable)return;let e=Oe.getState(t.state);e&&e.activeHandle>-1&&!e.dragging&&Jh(t,-1)}function vx(t,e,n,r){var o;if(!t.editable)return!1;let i=(o=t.dom.ownerDocument.defaultView)!==null&&o!==void 0?o:window,s=Oe.getState(t.state);if(!s||s.activeHandle==-1||s.dragging)return!1;let l=t.state.doc.nodeAt(s.activeHandle),a=Mx(t,s.activeHandle,l.attrs);t.dispatch(t.state.tr.setMeta(Oe,{setDragging:{startX:e.clientX,startWidth:a}}));function c(u){i.removeEventListener("mouseup",c),i.removeEventListener("mousemove",d);let f=Oe.getState(t.state);f?.dragging&&(Ax(t,f.activeHandle,Nh(f.dragging,u,n)),t.dispatch(t.state.tr.setMeta(Oe,{setDragging:null})))}function d(u){if(!u.which)return c(u);let f=Oe.getState(t.state);if(f&&f.dragging){let h=Nh(f.dragging,u,n);Oh(t,f.activeHandle,h,r)}}return Oh(t,s.activeHandle,a,r),i.addEventListener("mouseup",c),i.addEventListener("mousemove",d),e.preventDefault(),!0}function Mx(t,e,{colspan:n,colwidth:r}){let o=r&&r[r.length-1];if(o)return o;let i=t.domAtPos(e),s=i.node.childNodes[i.offset].offsetWidth,l=n;if(r)for(let a=0;a{var e,n;let r=t.getAttribute("colwidth"),o=r?r.split(",").map(i=>parseInt(i,10)):null;if(!o){let i=(e=t.closest("table"))==null?void 0:e.querySelectorAll("colgroup > col"),s=Array.from(((n=t.parentElement)==null?void 0:n.children)||[]).indexOf(t);if(s&&s>-1&&i&&i[s]){let l=i[s].getAttribute("width");return l?[parseInt(l,10)]:null}}return o}}}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td"}]},renderHTML({HTMLAttributes:t}){return["td",R(this.options.HTMLAttributes,t),0]}}),Rx=F.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:t=>{let e=t.getAttribute("colwidth");return e?e.split(",").map(r=>parseInt(r,10)):null}}}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th"}]},renderHTML({HTMLAttributes:t}){return["th",R(this.options.HTMLAttributes,t),0]}}),Dx=F.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:t}){return["tr",R(this.options.HTMLAttributes,t),0]}});function sa(t,e){return e?["width",`${Math.max(e,t)}px`]:["min-width",`${t}px`]}function Xh(t,e,n,r,o,i){var s;let l=0,a=!0,c=e.firstChild,d=t.firstChild;if(d!==null)for(let f=0,h=0;f{let r=t.nodes[n];r.spec.tableRole&&(e[r.spec.tableRole]=r)}),t.cached.tableNodeTypes=e,e}function Bx(t,e,n,r,o){let i=Lx(t),s=[],l=[];for(let c=0;c{let{selection:e}=t.state;if(!zx(e))return!1;let n=0,r=Gs(e.ranges[0].$from,i=>i.type.name==="table");return r?.node.descendants(i=>{if(i.type.name==="table")return!1;["tableCell","tableHeader"].includes(i.type.name)&&(n+=1)}),n===e.ranges.length?(t.commands.deleteTable(),!0):!1},Hx="";function $x(t){return(t||"").replace(/\s+/g," ").trim()}function Fx(t,e,n={}){var r;let o=(r=n.cellLineSeparator)!=null?r:Hx;if(!t||!t.content||t.content.length===0)return"";let i=[];t.content.forEach(p=>{let m=[];p.content&&p.content.forEach(g=>{let y="";g.content&&Array.isArray(g.content)&&g.content.length>1?y=g.content.map(x=>e.renderChildren(x)).join(o):y=g.content?e.renderChildren(g.content):"";let w=$x(y),b=g.type==="tableHeader";m.push({text:w,isHeader:b})}),i.push(m)});let s=i.reduce((p,m)=>Math.max(p,m.length),0);if(s===0)return"";let l=new Array(s).fill(0);i.forEach(p=>{var m;for(let g=0;gl[g]&&(l[g]=w),l[g]<3&&(l[g]=3)}});let a=(p,m)=>p+" ".repeat(Math.max(0,m-p.length)),c=i[0],d=c.some(p=>p.isHeader),u=` +`,f=new Array(s).fill(0).map((p,m)=>d&&c[m]&&c[m].text||"");return u+=`| ${f.map((p,m)=>a(p,l[m])).join(" | ")} | +`,u+=`| ${l.map(p=>"-".repeat(Math.max(3,p))).join(" | ")} | +`,(d?i.slice(1):i).forEach(p=>{u+=`| ${new Array(s).fill(0).map((m,g)=>a(p[g]&&p[g].text||"",l[g])).join(" | ")} | +`}),u}var Vx=Fx,_x=F.create({name:"table",addOptions(){return{HTMLAttributes:{},resizable:!1,renderWrapper:!1,handleWidth:5,cellMinWidth:25,View:Ix,lastColumnResizable:!0,allowTableNodeSelection:!1}},content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML(){return[{tag:"table"}]},renderHTML({node:t,HTMLAttributes:e}){let{colgroup:n,tableWidth:r,tableMinWidth:o}=Px(t,this.options.cellMinWidth),i=e.style;function s(){return i||(r?`width: ${r}`:`min-width: ${o}`)}let l=["table",R(this.options.HTMLAttributes,e,{style:s()}),n,["tbody",0]];return this.options.renderWrapper?["div",{class:"tableWrapper"},l]:l},parseMarkdown:(t,e)=>{let n=[];if(t.header){let r=[];t.header.forEach(o=>{r.push(e.createNode("tableHeader",{},[{type:"paragraph",content:e.parseInline(o.tokens)}]))}),n.push(e.createNode("tableRow",{},r))}return t.rows&&t.rows.forEach(r=>{let o=[];r.forEach(i=>{o.push(e.createNode("tableCell",{},[{type:"paragraph",content:e.parseInline(i.tokens)}]))}),n.push(e.createNode("tableRow",{},o))}),e.createNode("table",void 0,n)},renderMarkdown:(t,e)=>Vx(t,e),addCommands(){return{insertTable:({rows:t=3,cols:e=3,withHeaderRow:n=!0}={})=>({tr:r,dispatch:o,editor:i})=>{let s=Bx(i.schema,t,e,n);if(o){let l=r.selection.from+1;r.replaceSelectionWith(s).scrollIntoView().setSelection(D.near(r.doc.resolve(l)))}return!0},addColumnBefore:()=>({state:t,dispatch:e})=>Bh(t,e),addColumnAfter:()=>({state:t,dispatch:e})=>zh(t,e),deleteColumn:()=>({state:t,dispatch:e})=>Hh(t,e),addRowBefore:()=>({state:t,dispatch:e})=>Fh(t,e),addRowAfter:()=>({state:t,dispatch:e})=>Vh(t,e),deleteRow:()=>({state:t,dispatch:e})=>_h(t,e),deleteTable:()=>({state:t,dispatch:e})=>Uh(t,e),mergeCells:()=>({state:t,dispatch:e})=>ra(t,e),splitCell:()=>({state:t,dispatch:e})=>oa(t,e),toggleHeaderColumn:()=>({state:t,dispatch:e})=>Bn("column")(t,e),toggleHeaderRow:()=>({state:t,dispatch:e})=>Bn("row")(t,e),toggleHeaderCell:()=>({state:t,dispatch:e})=>jh(t,e),mergeOrSplit:()=>({state:t,dispatch:e})=>ra(t,e)?!0:oa(t,e),setCellAttribute:(t,e)=>({state:n,dispatch:r})=>Wh(t,e)(n,r),goToNextCell:()=>({state:t,dispatch:e})=>ia(1)(t,e),goToPreviousCell:()=>({state:t,dispatch:e})=>ia(-1)(t,e),fixTables:()=>({state:t,dispatch:e})=>(e&&na(t),!0),setCellSelection:t=>({tr:e,dispatch:n})=>{if(n){let r=X.create(e.doc,t.anchorCell,t.headCell);e.setSelection(r)}return!0}}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.goToNextCell()?!0:this.editor.can().addRowAfter()?this.editor.chain().addRowAfter().goToNextCell().run():!1,"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:Ci,"Mod-Backspace":Ci,Delete:Ci,"Mod-Delete":Ci}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[qh({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,defaultCellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],Gh({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema(t){let e={name:t.name,options:t.options,storage:t.storage};return{tableRole:G(B(t,"tableRole",e))}}}),Qh=U.create({name:"tableKit",addExtensions(){let t=[];return this.options.table!==!1&&t.push(_x.configure(this.options.table)),this.options.tableCell!==!1&&t.push(Ox.configure(this.options.tableCell)),this.options.tableHeader!==!1&&t.push(Rx.configure(this.options.tableHeader)),this.options.tableRow!==!1&&t.push(Dx.configure(this.options.tableRow)),t}});var Wx=F.create({name:"text",group:"inline",parseMarkdown:t=>({type:"text",text:t.text||""}),renderMarkdown:t=>t.text||""}),Zh=Wx;var jx=U.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:null}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:t=>{let e=t.style.textAlign;return this.options.alignments.includes(e)?e:this.options.defaultAlignment},renderHTML:t=>t.textAlign?{style:`text-align: ${t.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:t=>({commands:e})=>this.options.alignments.includes(t)?this.options.types.map(n=>e.updateAttributes(n,{textAlign:t})).some(n=>n):!1,unsetTextAlign:()=>({commands:t})=>this.options.types.map(e=>t.resetAttributes(e,"textAlign")).some(e=>e),toggleTextAlign:t=>({editor:e,commands:n})=>this.options.alignments.includes(t)?e.isActive({textAlign:t})?n.unsetTextAlign():n.setTextAlign(t):!1}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),ep=jx;var Ux=ee.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["u",R(this.options.HTMLAttributes,t),0]},parseMarkdown(t,e){return e.applyMark(this.name||"underline",e.parseInline(t.tokens||[]))},renderMarkdown(t,e){return`++${e.renderChildren(t)}++`},markdownTokenizer:{name:"underline",level:"inline",start(t){return t.indexOf("++")},tokenize(t,e,n){let o=/^(\+\+)([\s\S]+?)(\+\+)/.exec(t);if(!o)return;let i=o[2].trim();return{type:"underline",raw:o[0],text:i,tokens:n.inlineTokens(i)}}},addCommands(){return{setUnderline:()=>({commands:t})=>t.setMark(this.name),toggleUnderline:()=>({commands:t})=>t.toggleMark(this.name),unsetUnderline:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),tp=Ux;var np=(t,e)=>{Ln({getBoundingClientRect:()=>{let{from:r,to:o}=t.state.selection,i=t.view.coordsAtPos(r),s=t.view.coordsAtPos(o);return{top:Math.min(i.top,s.top),bottom:Math.max(i.bottom,s.bottom),left:Math.min(i.left,s.left),right:Math.max(i.right,s.right),width:Math.abs(s.right-i.left),height:Math.abs(s.bottom-i.top),x:Math.min(i.left,s.left),y:Math.min(i.top,s.top)}}},e,{placement:"bottom-start",strategy:"absolute",middleware:[In(),Pn()]}).then(({x:r,y:o,strategy:i})=>{e.style.width="max-content",e.style.position=i,e.style.left=`${r}px`,e.style.top=`${o}px`})},rp=({mergeTags:t,noMergeTagSearchResultsMessage:e})=>({items:({query:n})=>Object.entries(t).filter(([r,o])=>r.toLowerCase().replace(/\s/g,"").includes(n.toLowerCase())||o.toLowerCase().replace(/\s/g,"").includes(n.toLowerCase())).map(([r,o])=>({id:r,label:o})),render:()=>{let n,r=0,o=null,i=()=>{let f=document.createElement("div");return f.className="fi-dropdown-panel fi-dropdown-list",f.style.minWidth="12rem",f},s=()=>{if(!n||!o)return;let f=o.items||[];if(n.innerHTML="",f.length)f.forEach((h,p)=>{let m=document.createElement("button");m.className=`fi-dropdown-list-item fi-dropdown-list-item-label ${p===r?"fi-selected":""}`,m.textContent=h.label,m.type="button",m.addEventListener("click",()=>l(p)),n.appendChild(m)});else{let h=document.createElement("div");h.className="fi-dropdown-header";let p=document.createElement("span");p.style.whiteSpace="normal",p.textContent=e,h.appendChild(p),n.appendChild(h)}},l=f=>{if(!o)return;let p=(o.items||[])[f];p&&o.command({id:p.id})},a=()=>{if(!n||!o||o.items.length===0)return;let f=n.children[r];if(f){let h=f.getBoundingClientRect(),p=n.getBoundingClientRect();(h.topp.bottom)&&f.scrollIntoView({block:"nearest"})}},c=()=>{if(!o)return;let f=o.items||[];f.length!==0&&(r=(r+f.length-1)%f.length,s(),a())},d=()=>{if(!o)return;let f=o.items||[];f.length!==0&&(r=(r+1)%f.length,s(),a())},u=()=>{l(r)};return{onStart:f=>{o=f,r=0,n=i(),n.style.position="absolute",n.style.zIndex="50",s(),document.body.appendChild(n),f.clientRect&&np(f.editor,n)},onUpdate:f=>{o=f,r=0,s(),a(),f.clientRect&&np(f.editor,n)},onKeyDown:f=>f.event.key==="Escape"?(n&&n.parentNode&&n.parentNode.removeChild(n),!0):f.event.key==="ArrowUp"?(c(),!0):f.event.key==="ArrowDown"?(d(),!0):f.event.key==="Enter"?(u(),!0):!1,onExit:()=>{n&&n.parentNode&&n.parentNode.removeChild(n)}}}});var op=async({$wire:t,acceptedFileTypes:e,acceptedFileTypesValidationMessage:n,canAttachFiles:r,customExtensionUrls:o,deleteCustomBlockButtonIconHtml:i,editCustomBlockButtonIconHtml:s,editCustomBlockUsing:l,getMentionLabelsUsing:a,getMentionSearchResultsUsing:c,hasResizableImages:d,insertCustomBlockUsing:u,key:f,linkProtocols:h,maxFileSize:p,maxFileSizeValidationMessage:m,mentions:g,mergeTags:y,noMergeTagSearchResultsMessage:w,placeholder:b,statePath:C,textColors:x,uploadingFileMessage:S})=>{let k=[Du,Iu,$l,Pu,Lu,Bu.configure({deleteCustomBlockButtonIconHtml:i,editCustomBlockButtonIconHtml:s,editCustomBlockUsing:l,insertCustomBlockUsing:u}),Hu,Fu,$u,Vu,Nu.configure({class:"fi-not-prose"}),Ou,_u,Wu,ju,Uu,Ku,qu,Ju,Xu.configure({inline:!0,resize:{enabled:d,alwaysPreserveAspectRatio:!0,allowBase64:!0}}),Yu,pf.configure({autolink:!0,openOnClick:!1,protocols:h}),Fl,...r?[Af.configure({acceptedTypes:e,acceptedTypesValidationMessage:n,get$WireUsing:()=>t,key:f,maxSize:p,maxSizeValidationMessage:m,statePath:C,uploadingMessage:S})]:[],...Object.keys(y).length?[Ef.configure({deleteTriggerWithBackspace:!0,suggestion:rp({mergeTags:y,noMergeTagSearchResultsMessage:w}),mergeTags:y})]:[],...g.length?[mh.configure({HTMLAttributes:{class:"fi-fo-rich-editor-mention"},suggestions:g,getMentionSearchResultsUsing:c,getMentionLabelsUsing:a})]:[],_l,gh,Jl.configure({placeholder:b}),bh.configure({textColors:x}),yh,wh,xh,kh,Qh.configure({table:{resizable:!0}}),Zh,ep.configure({types:["heading","paragraph"],alignments:["start","center","end","justify"],defaultAlignment:"start"}),tp,Ru],O=await Promise.all(o.map(async T=>{new RegExp("^(?:[a-z+]+:)?//","i").test(T)||(T=new URL(T,document.baseURI).href);try{let $=(await import(T)).default;return typeof $=="function"?$():$}catch($){return console.error(`Failed to load rich editor custom extension from [${T}]:`,$),null}}));for(let T of O){if(!T||!T.name)continue;let A=k.findIndex($=>$.name===T.name);T.name==="placeholder"&&T.parent===null&&(T=Jl.configure(T.options)),A!==-1?k[A]=T:k.push(T)}return k};function Kx(t,e){let n=Math.min(t.top,e.top),r=Math.max(t.bottom,e.bottom),o=Math.min(t.left,e.left),s=Math.max(t.right,e.right)-o,l=r-n,a=o,c=n;return new DOMRect(a,c,s,l)}var qx=class{constructor({editor:t,element:e,view:n,updateDelay:r=250,resizeDelay:o=60,shouldShow:i,appendTo:s,getReferencedVirtualElement:l,options:a}){this.preventHide=!1,this.isVisible=!1,this.scrollTarget=window,this.floatingUIOptions={strategy:"absolute",placement:"top",offset:8,flip:{},shift:{},arrow:!1,size:!1,autoPlacement:!1,hide:!1,inline:!1,onShow:void 0,onHide:void 0,onUpdate:void 0,onDestroy:void 0},this.shouldShow=({view:d,state:u,from:f,to:h})=>{let{doc:p,selection:m}=u,{empty:g}=m,y=!p.textBetween(f,h).length&&fo(u.selection),w=this.element.contains(document.activeElement);return!(!(d.hasFocus()||w)||g||y||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.resizeHandler=()=>{this.resizeDebounceTimer&&clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=window.setTimeout(()=>{this.updatePosition()},this.resizeDelay)},this.focusHandler=()=>{setTimeout(()=>this.update(this.editor.view))},this.blurHandler=({event:d})=>{var u;if(this.editor.isDestroyed){this.destroy();return}if(this.preventHide){this.preventHide=!1;return}d?.relatedTarget&&((u=this.element.parentNode)!=null&&u.contains(d.relatedTarget))||d?.relatedTarget!==this.editor.view.dom&&this.hide()},this.handleDebouncedUpdate=(d,u)=>{let f=!u?.selection.eq(d.state.selection),h=!u?.doc.eq(d.state.doc);!f&&!h||(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout(()=>{this.updateHandler(d,f,h,u)},this.updateDelay))},this.updateHandler=(d,u,f,h)=>{let{composing:p}=d;if(p||!u&&!f)return;if(!this.getShouldShow(h)){this.hide();return}this.updatePosition(),this.show()},this.transactionHandler=({transaction:d})=>{d.getMeta("bubbleMenu")==="updatePosition"&&this.updatePosition()};var c;this.editor=t,this.element=e,this.view=n,this.updateDelay=r,this.resizeDelay=o,this.appendTo=s,this.scrollTarget=(c=a?.scrollTarget)!=null?c:window,this.getReferencedVirtualElement=l,this.floatingUIOptions={...this.floatingUIOptions,...a},this.element.tabIndex=0,i&&(this.shouldShow=i),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.editor.on("transaction",this.transactionHandler),window.addEventListener("resize",this.resizeHandler),this.scrollTarget.addEventListener("scroll",this.resizeHandler),this.update(n,n.state),this.getShouldShow()&&(this.show(),this.updatePosition())}get middlewares(){let t=[];return this.floatingUIOptions.flip&&t.push(Pn(typeof this.floatingUIOptions.flip!="boolean"?this.floatingUIOptions.flip:void 0)),this.floatingUIOptions.shift&&t.push(In(typeof this.floatingUIOptions.shift!="boolean"?this.floatingUIOptions.shift:void 0)),this.floatingUIOptions.offset&&t.push(lh(typeof this.floatingUIOptions.offset!="boolean"?this.floatingUIOptions.offset:void 0)),this.floatingUIOptions.arrow&&t.push(uh(this.floatingUIOptions.arrow)),this.floatingUIOptions.size&&t.push(ch(typeof this.floatingUIOptions.size!="boolean"?this.floatingUIOptions.size:void 0)),this.floatingUIOptions.autoPlacement&&t.push(ah(typeof this.floatingUIOptions.autoPlacement!="boolean"?this.floatingUIOptions.autoPlacement:void 0)),this.floatingUIOptions.hide&&t.push(dh(typeof this.floatingUIOptions.hide!="boolean"?this.floatingUIOptions.hide:void 0)),this.floatingUIOptions.inline&&t.push(fh(typeof this.floatingUIOptions.inline!="boolean"?this.floatingUIOptions.inline:void 0)),t}get virtualElement(){var t;let{selection:e}=this.editor.state,n=(t=this.getReferencedVirtualElement)==null?void 0:t.call(this);if(n)return n;let r=tu(this.view,e.from,e.to),o={getBoundingClientRect:()=>r,getClientRects:()=>[r]};if(e instanceof L){let i=this.view.nodeDOM(e.from),s=i.dataset.nodeViewWrapper?i:i.querySelector("[data-node-view-wrapper]");s&&(i=s),i&&(o={getBoundingClientRect:()=>i.getBoundingClientRect(),getClientRects:()=>[i.getBoundingClientRect()]})}if(e instanceof X){let{$anchorCell:i,$headCell:s}=e,l=i?i.pos:s.pos,a=s?s.pos:i.pos,c=this.view.nodeDOM(l),d=this.view.nodeDOM(a);if(!c||!d)return;let u=c===d?c.getBoundingClientRect():Kx(c.getBoundingClientRect(),d.getBoundingClientRect());o={getBoundingClientRect:()=>u,getClientRects:()=>[u]}}return o}updatePosition(){let t=this.virtualElement;t&&Ln(t,this.element,{placement:this.floatingUIOptions.placement,strategy:this.floatingUIOptions.strategy,middleware:this.middlewares}).then(({x:e,y:n,strategy:r})=>{this.element.style.width="max-content",this.element.style.position=r,this.element.style.left=`${e}px`,this.element.style.top=`${n}px`,this.isVisible&&this.floatingUIOptions.onUpdate&&this.floatingUIOptions.onUpdate()})}update(t,e){let{state:n}=t,r=n.selection.from!==n.selection.to;if(this.updateDelay>0&&r){this.handleDebouncedUpdate(t,e);return}let o=!e?.selection.eq(t.state.selection),i=!e?.doc.eq(t.state.doc);this.updateHandler(t,o,i,e)}getShouldShow(t){var e;let{state:n}=this.view,{selection:r}=n,{ranges:o}=r,i=Math.min(...o.map(a=>a.$from.pos)),s=Math.max(...o.map(a=>a.$to.pos));return((e=this.shouldShow)==null?void 0:e.call(this,{editor:this.editor,element:this.element,view:this.view,state:n,oldState:t,from:i,to:s}))||!1}show(){var t;if(this.isVisible)return;this.element.style.visibility="visible",this.element.style.opacity="1";let e=typeof this.appendTo=="function"?this.appendTo():this.appendTo;(t=e??this.view.dom.parentElement)==null||t.appendChild(this.element),this.floatingUIOptions.onShow&&this.floatingUIOptions.onShow(),this.isVisible=!0}hide(){this.isVisible&&(this.element.style.visibility="hidden",this.element.style.opacity="0",this.element.remove(),this.floatingUIOptions.onHide&&this.floatingUIOptions.onHide(),this.isVisible=!1)}destroy(){this.hide(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),window.removeEventListener("resize",this.resizeHandler),this.scrollTarget.removeEventListener("scroll",this.resizeHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler),this.editor.off("transaction",this.transactionHandler),this.floatingUIOptions.onDestroy&&this.floatingUIOptions.onDestroy()}},la=t=>new P({key:typeof t.pluginKey=="string"?new H(t.pluginKey):t.pluginKey,view:e=>new qx({view:e,...t})}),kT=U.create({name:"bubbleMenu",addOptions(){return{element:null,pluginKey:"bubbleMenu",updateDelay:void 0,appendTo:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[la({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,updateDelay:this.options.updateDelay,options:this.options.options,appendTo:this.options.appendTo,getReferencedVirtualElement:this.options.getReferencedVirtualElement,shouldShow:this.options.shouldShow})]:[]}});function Jx({acceptedFileTypes:t,acceptedFileTypesValidationMessage:e,activePanel:n,canAttachFiles:r,deleteCustomBlockButtonIconHtml:o,editCustomBlockButtonIconHtml:i,extensions:s,floatingToolbars:l,hasResizableImages:a,isDisabled:c,isLiveDebounced:d,isLiveOnBlur:u,key:f,linkProtocols:h,liveDebounce:p,livewireId:m,maxFileSize:g,maxFileSizeValidationMessage:y,mergeTags:w,mentions:b,getMentionSearchResultsUsing:C,getMentionLabelsUsing:x,noMergeTagSearchResultsMessage:S,placeholder:k,state:O,statePath:T,textColors:A,uploadingFileMessage:$}){let z,K=[],V=!1;return{state:O,activePanel:n,editorSelection:{type:"text",anchor:1,head:1},isUploadingFile:!1,fileValidationMessage:null,shouldUpdateState:!0,editorUpdatedAt:Date.now(),async init(){z=new gu({editable:!c,element:this.$refs.editor,extensions:await op({acceptedFileTypes:t,acceptedFileTypesValidationMessage:e,canAttachFiles:r,customExtensionUrls:s,deleteCustomBlockButtonIconHtml:o,editCustomBlockButtonIconHtml:i,editCustomBlockUsing:(q,We)=>this.$wire.mountAction("customBlock",{editorSelection:this.editorSelection,id:q,config:We,mode:"edit"},{schemaComponent:f}),floatingToolbars:l,hasResizableImages:a,insertCustomBlockUsing:(q,We=null)=>this.$wire.mountAction("customBlock",{id:q,dragPosition:We,mode:"insert"},{schemaComponent:f}),key:f,linkProtocols:h,maxFileSize:g,maxFileSizeValidationMessage:y,mergeTags:w,mentions:b,getMentionSearchResultsUsing:C,getMentionLabelsUsing:x,noMergeTagSearchResultsMessage:S,placeholder:k,statePath:T,textColors:A,uploadingFileMessage:$,$wire:this.$wire}),content:this.state});let N="paragraph"in l;Object.keys(l).forEach(q=>{let We=this.$refs[`floatingToolbar::${q}`];if(!We){console.warn(`Floating toolbar [${q}] not found.`);return}z.registerPlugin(la({editor:z,element:We,pluginKey:`floatingToolbar::${q}`,shouldShow:({editor:je})=>q==="paragraph"?je.isFocused&&je.isActive(q)&&!je.state.selection.empty:N&&!je.state.selection.empty&&je.isActive("paragraph")?!1:je.isFocused&&je.isActive(q),options:{placement:"bottom",offset:15}}))}),z.on("create",()=>{this.editorUpdatedAt=Date.now()});let _=Alpine.debounce(()=>{V||this.$wire.commit()},p??300);z.on("update",({editor:q})=>this.$nextTick(()=>{V||(this.editorUpdatedAt=Date.now(),this.state=q.getJSON(),this.shouldUpdateState=!1,this.fileValidationMessage=null,d&&_())})),z.on("selectionUpdate",({transaction:q})=>{V||(this.editorUpdatedAt=Date.now(),this.editorSelection=q.selection.toJSON())}),z.on("transaction",()=>{V||(this.editorUpdatedAt=Date.now())}),u&&z.on("blur",()=>{V||this.$wire.commit()}),this.$watch("state",()=>{if(!V){if(!this.shouldUpdateState){this.shouldUpdateState=!0;return}z.commands.setContent(this.state)}});let W=q=>{q.detail.livewireId===m&&q.detail.key===f&&this.runEditorCommands(q.detail)};window.addEventListener("run-rich-editor-commands",W),K.push(["run-rich-editor-commands",W]);let Q=q=>{q.detail.livewireId===m&&q.detail.key===f&&(this.isUploadingFile=!0,this.fileValidationMessage=null,q.stopPropagation())};window.addEventListener("rich-editor-uploading-file",Q),K.push(["rich-editor-uploading-file",Q]);let me=q=>{q.detail.livewireId===m&&q.detail.key===f&&(this.isUploadingFile=!1,q.stopPropagation())};window.addEventListener("rich-editor-uploaded-file",me),K.push(["rich-editor-uploaded-file",me]);let Ge=q=>{q.detail.livewireId===m&&q.detail.key===f&&(this.isUploadingFile=!1,this.fileValidationMessage=q.detail.validationMessage,q.stopPropagation())};window.addEventListener("rich-editor-file-validation-message",Ge),K.push(["rich-editor-file-validation-message",Ge]),window.dispatchEvent(new CustomEvent(`schema-component-${m}-${f}-loaded`))},getEditor(){return z},$getEditor(){return this.getEditor()},setEditorSelection(N){N&&(this.editorSelection=N,z.chain().command(({tr:_})=>(_.setSelection(I.fromJSON(z.state.doc,this.editorSelection)),!0)).run())},runEditorCommands({commands:N,editorSelection:_}){this.setEditorSelection(_);let W=z.chain();N.forEach(Q=>W=W[Q.name](...Q.arguments??[])),W.run()},togglePanel(N=null){if(this.isPanelActive(N)){this.activePanel=null;return}this.activePanel=N},isPanelActive(N=null){return N===null?this.activePanel!==null:this.activePanel===N},insertMergeTag(N){z.chain().focus().insertContent([{type:"mergeTag",attrs:{id:N}},{type:"text",text:" "}]).run()},destroy(){V=!0,K.forEach(([N,_])=>{window.removeEventListener(N,_)}),K=[],z&&(z.destroy(),z=null),this.shouldUpdateState=!0}}}export{Jx as default}; diff --git a/public/js/filament/forms/components/select.js b/public/js/filament/forms/components/select.js index 7b3c78f09..3c4bcf1e1 100644 --- a/public/js/filament/forms/components/select.js +++ b/public/js/filament/forms/components/select.js @@ -1,6 +1,11 @@ -var lt=Object.create;var Ge=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames;var ht=Object.getPrototypeOf,dt=Object.prototype.hasOwnProperty;var ft=(se,ie)=>()=>(ie||se((ie={exports:{}}).exports,ie),ie.exports);var pt=(se,ie,X,me)=>{if(ie&&typeof ie=="object"||typeof ie=="function")for(let j of ut(ie))!dt.call(se,j)&&j!==X&&Ge(se,j,{get:()=>ie[j],enumerable:!(me=ct(ie,j))||me.enumerable});return se};var mt=(se,ie,X)=>(X=se!=null?lt(ht(se)):{},pt(ie||!se||!se.__esModule?Ge(X,"default",{value:se,enumerable:!0}):X,se));var $e=ft((Ae,Ye)=>{(function(ie,X){typeof Ae=="object"&&typeof Ye=="object"?Ye.exports=X():typeof define=="function"&&define.amd?define([],X):typeof Ae=="object"?Ae.Choices=X():ie.Choices=X()})(window,function(){return function(){"use strict";var se={282:function(j,i,b){Object.defineProperty(i,"__esModule",{value:!0}),i.clearChoices=i.activateChoices=i.filterChoices=i.addChoice=void 0;var _=b(883),h=function(c){var l=c.value,O=c.label,L=c.id,y=c.groupId,D=c.disabled,k=c.elementId,Q=c.customProperties,Z=c.placeholder,ne=c.keyCode;return{type:_.ACTION_TYPES.ADD_CHOICE,value:l,label:O,id:L,groupId:y,disabled:D,elementId:k,customProperties:Q,placeholder:Z,keyCode:ne}};i.addChoice=h;var d=function(c){return{type:_.ACTION_TYPES.FILTER_CHOICES,results:c}};i.filterChoices=d;var a=function(c){return c===void 0&&(c=!0),{type:_.ACTION_TYPES.ACTIVATE_CHOICES,active:c}};i.activateChoices=a;var r=function(){return{type:_.ACTION_TYPES.CLEAR_CHOICES}};i.clearChoices=r},783:function(j,i,b){Object.defineProperty(i,"__esModule",{value:!0}),i.addGroup=void 0;var _=b(883),h=function(d){var a=d.value,r=d.id,c=d.active,l=d.disabled;return{type:_.ACTION_TYPES.ADD_GROUP,value:a,id:r,active:c,disabled:l}};i.addGroup=h},464:function(j,i,b){Object.defineProperty(i,"__esModule",{value:!0}),i.highlightItem=i.removeItem=i.addItem=void 0;var _=b(883),h=function(r){var c=r.value,l=r.label,O=r.id,L=r.choiceId,y=r.groupId,D=r.customProperties,k=r.placeholder,Q=r.keyCode;return{type:_.ACTION_TYPES.ADD_ITEM,value:c,label:l,id:O,choiceId:L,groupId:y,customProperties:D,placeholder:k,keyCode:Q}};i.addItem=h;var d=function(r,c){return{type:_.ACTION_TYPES.REMOVE_ITEM,id:r,choiceId:c}};i.removeItem=d;var a=function(r,c){return{type:_.ACTION_TYPES.HIGHLIGHT_ITEM,id:r,highlighted:c}};i.highlightItem=a},137:function(j,i,b){Object.defineProperty(i,"__esModule",{value:!0}),i.setIsLoading=i.resetTo=i.clearAll=void 0;var _=b(883),h=function(){return{type:_.ACTION_TYPES.CLEAR_ALL}};i.clearAll=h;var d=function(r){return{type:_.ACTION_TYPES.RESET_TO,state:r}};i.resetTo=d;var a=function(r){return{type:_.ACTION_TYPES.SET_IS_LOADING,isLoading:r}};i.setIsLoading=a},373:function(j,i,b){var _=this&&this.__spreadArray||function(g,e,t){if(t||arguments.length===2)for(var n=0,s=e.length,v;n=0?this._store.getGroupById(v):null;return this._store.dispatch((0,l.highlightItem)(n,!0)),t&&this.passedElement.triggerEvent(y.EVENTS.highlightItem,{id:n,value:M,label:f,groupValue:u&&u.value?u.value:null}),this},g.prototype.unhighlightItem=function(e){if(!e||!e.id)return this;var t=e.id,n=e.groupId,s=n===void 0?-1:n,v=e.value,P=v===void 0?"":v,M=e.label,K=M===void 0?"":M,f=s>=0?this._store.getGroupById(s):null;return this._store.dispatch((0,l.highlightItem)(t,!1)),this.passedElement.triggerEvent(y.EVENTS.highlightItem,{id:t,value:P,label:K,groupValue:f&&f.value?f.value:null}),this},g.prototype.highlightAll=function(){var e=this;return this._store.items.forEach(function(t){return e.highlightItem(t)}),this},g.prototype.unhighlightAll=function(){var e=this;return this._store.items.forEach(function(t){return e.unhighlightItem(t)}),this},g.prototype.removeActiveItemsByValue=function(e){var t=this;return this._store.activeItems.filter(function(n){return n.value===e}).forEach(function(n){return t._removeItem(n)}),this},g.prototype.removeActiveItems=function(e){var t=this;return this._store.activeItems.filter(function(n){var s=n.id;return s!==e}).forEach(function(n){return t._removeItem(n)}),this},g.prototype.removeHighlightedItems=function(e){var t=this;return e===void 0&&(e=!1),this._store.highlightedActiveItems.forEach(function(n){t._removeItem(n),e&&t._triggerChange(n.value)}),this},g.prototype.showDropdown=function(e){var t=this;return this.dropdown.isActive?this:(requestAnimationFrame(function(){t.dropdown.show(),t.containerOuter.open(t.dropdown.distanceFromTopWindow),!e&&t._canSearch&&t.input.focus(),t.passedElement.triggerEvent(y.EVENTS.showDropdown,{})}),this)},g.prototype.hideDropdown=function(e){var t=this;return this.dropdown.isActive?(requestAnimationFrame(function(){t.dropdown.hide(),t.containerOuter.close(),!e&&t._canSearch&&(t.input.removeActiveDescendant(),t.input.blur()),t.passedElement.triggerEvent(y.EVENTS.hideDropdown,{})}),this):this},g.prototype.getValue=function(e){e===void 0&&(e=!1);var t=this._store.activeItems.reduce(function(n,s){var v=e?s.value:s;return n.push(v),n},[]);return this._isSelectOneElement?t[0]:t},g.prototype.setValue=function(e){var t=this;return this.initialised?(e.forEach(function(n){return t._setChoiceOrItem(n)}),this):this},g.prototype.setChoiceByValue=function(e){var t=this;if(!this.initialised||this._isTextElement)return this;var n=Array.isArray(e)?e:[e];return n.forEach(function(s){return t._findAndSelectChoiceByValue(s)}),this},g.prototype.setChoices=function(e,t,n,s){var v=this;if(e===void 0&&(e=[]),t===void 0&&(t="value"),n===void 0&&(n="label"),s===void 0&&(s=!1),!this.initialised)throw new ReferenceError("setChoices was called on a non-initialized instance of Choices");if(!this._isSelectElement)throw new TypeError("setChoices can't be used with INPUT based Choices");if(typeof t!="string"||!t)throw new TypeError("value parameter must be a name of 'value' field in passed objects");if(s&&this.clearChoices(),typeof e=="function"){var P=e(this);if(typeof Promise=="function"&&P instanceof Promise)return new Promise(function(M){return requestAnimationFrame(M)}).then(function(){return v._handleLoadingState(!0)}).then(function(){return P}).then(function(M){return v.setChoices(M,t,n,s)}).catch(function(M){v.config.silent||console.error(M)}).then(function(){return v._handleLoadingState(!1)}).then(function(){return v});if(!Array.isArray(P))throw new TypeError(".setChoices first argument function must return either array of choices or Promise, got: ".concat(typeof P));return this.setChoices(P,t,n,!1)}if(!Array.isArray(e))throw new TypeError(".setChoices must be called either with array of choices with a function resulting into Promise of array of choices");return this.containerOuter.removeLoadingState(),this._startLoading(),e.forEach(function(M){if(M.choices)v._addGroup({id:M.id?parseInt("".concat(M.id),10):null,group:M,valueKey:t,labelKey:n});else{var K=M;v._addChoice({value:K[t],label:K[n],isSelected:!!K.selected,isDisabled:!!K.disabled,placeholder:!!K.placeholder,customProperties:K.customProperties})}}),this._stopLoading(),this},g.prototype.clearChoices=function(){return this._store.dispatch((0,r.clearChoices)()),this},g.prototype.clearStore=function(){return this._store.dispatch((0,O.clearAll)()),this},g.prototype.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch((0,r.activateChoices)(!0))),this},g.prototype._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var e=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,t=this._isSelectElement,n=this._currentState.items!==this._prevState.items;e&&(t&&this._renderChoices(),n&&this._renderItems(),this._prevState=this._currentState)}},g.prototype._renderChoices=function(){var e=this,t=this._store,n=t.activeGroups,s=t.activeChoices,v=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame(function(){return e.choiceList.scrollToTop()}),n.length>=1&&!this._isSearching){var P=s.filter(function(C){return C.placeholder===!0&&C.groupId===-1});P.length>=1&&(v=this._createChoicesFragment(P,v)),v=this._createGroupsFragment(n,s,v)}else s.length>=1&&(v=this._createChoicesFragment(s,v));if(v.childNodes&&v.childNodes.length>0){var M=this._store.activeItems,K=this._canAddItem(M,this.input.value);if(K.response)this.choiceList.append(v),this._highlightChoice();else{var f=this._getTemplate("notice",K.notice);this.choiceList.append(f)}}else{var u=void 0,f=void 0;this._isSearching?(f=typeof this.config.noResultsText=="function"?this.config.noResultsText():this.config.noResultsText,u=this._getTemplate("notice",f,"no-results")):(f=typeof this.config.noChoicesText=="function"?this.config.noChoicesText():this.config.noChoicesText,u=this._getTemplate("notice",f,"no-choices")),this.choiceList.append(u)}},g.prototype._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},g.prototype._createGroupsFragment=function(e,t,n){var s=this;n===void 0&&(n=document.createDocumentFragment());var v=function(P){return t.filter(function(M){return s._isSelectOneElement?M.groupId===P.id:M.groupId===P.id&&(s.config.renderSelectedChoices==="always"||!M.selected)})};return this.config.shouldSort&&e.sort(this.config.sorter),e.forEach(function(P){var M=v(P);if(M.length>=1){var K=s._getTemplate("choiceGroup",P);n.appendChild(K),s._createChoicesFragment(M,n,!0)}}),n},g.prototype._createChoicesFragment=function(e,t,n){var s=this;t===void 0&&(t=document.createDocumentFragment()),n===void 0&&(n=!1);var v=this.config,P=v.renderSelectedChoices,M=v.searchResultLimit,K=v.renderChoiceLimit,f=this._isSearching?k.sortByScore:this.config.sorter,u=function(z){var ee=P==="auto"?s._isSelectOneElement||!z.selected:!0;if(ee){var ae=s._getTemplate("choice",z,s.config.itemSelectText);t.appendChild(ae)}},C=e;P==="auto"&&!this._isSelectOneElement&&(C=e.filter(function(z){return!z.selected}));var Y=C.reduce(function(z,ee){return ee.placeholder?z.placeholderChoices.push(ee):z.normalChoices.push(ee),z},{placeholderChoices:[],normalChoices:[]}),V=Y.placeholderChoices,U=Y.normalChoices;(this.config.shouldSort||this._isSearching)&&U.sort(f);var $=C.length,W=this._isSelectOneElement?_(_([],V,!0),U,!0):U;this._isSearching?$=M:K&&K>0&&!n&&($=K);for(var J=0;J<$;J+=1)W[J]&&u(W[J]);return t},g.prototype._createItemsFragment=function(e,t){var n=this;t===void 0&&(t=document.createDocumentFragment());var s=this.config,v=s.shouldSortItems,P=s.sorter,M=s.removeItemButton;v&&!this._isSelectOneElement&&e.sort(P),this._isTextElement?this.passedElement.value=e.map(function(f){var u=f.value;return u}).join(this.config.delimiter):this.passedElement.options=e;var K=function(f){var u=n._getTemplate("item",f,M);t.appendChild(u)};return e.forEach(K),t},g.prototype._triggerChange=function(e){e!=null&&this.passedElement.triggerEvent(y.EVENTS.change,{value:e})},g.prototype._selectPlaceholderChoice=function(e){this._addItem({value:e.value,label:e.label,choiceId:e.id,groupId:e.groupId,placeholder:e.placeholder}),this._triggerChange(e.value)},g.prototype._handleButtonAction=function(e,t){if(!(!e||!t||!this.config.removeItems||!this.config.removeItemButton)){var n=t.parentNode&&t.parentNode.dataset.id,s=n&&e.find(function(v){return v.id===parseInt(n,10)});s&&(this._removeItem(s),this._triggerChange(s.value),this._isSelectOneElement&&this._store.placeholderChoice&&this._selectPlaceholderChoice(this._store.placeholderChoice))}},g.prototype._handleItemAction=function(e,t,n){var s=this;if(n===void 0&&(n=!1),!(!e||!t||!this.config.removeItems||this._isSelectOneElement)){var v=t.dataset.id;e.forEach(function(P){P.id===parseInt("".concat(v),10)&&!P.highlighted?s.highlightItem(P):!n&&P.highlighted&&s.unhighlightItem(P)}),this.input.focus()}},g.prototype._handleChoiceAction=function(e,t){if(!(!e||!t)){var n=t.dataset.id,s=n&&this._store.getChoiceById(n);if(s){var v=e[0]&&e[0].keyCode?e[0].keyCode:void 0,P=this.dropdown.isActive;if(s.keyCode=v,this.passedElement.triggerEvent(y.EVENTS.choice,{choice:s}),!s.selected&&!s.disabled){var M=this._canAddItem(e,s.value);M.response&&(this._addItem({value:s.value,label:s.label,choiceId:s.id,groupId:s.groupId,customProperties:s.customProperties,placeholder:s.placeholder,keyCode:s.keyCode}),this._triggerChange(s.value))}this.clearInput(),P&&this._isSelectOneElement&&(this.hideDropdown(!0),this.containerOuter.focus())}}},g.prototype._handleBackspace=function(e){if(!(!this.config.removeItems||!e)){var t=e[e.length-1],n=e.some(function(s){return s.highlighted});this.config.editItems&&!n&&t?(this.input.value=t.value,this.input.setWidth(),this._removeItem(t),this._triggerChange(t.value)):(n||this.highlightItem(t,!1),this.removeHighlightedItems(!0))}},g.prototype._startLoading=function(){this._store.dispatch((0,O.setIsLoading)(!0))},g.prototype._stopLoading=function(){this._store.dispatch((0,O.setIsLoading)(!1))},g.prototype._handleLoadingState=function(e){e===void 0&&(e=!0);var t=this.itemList.getChild(".".concat(this.config.classNames.placeholder));e?(this.disable(),this.containerOuter.addLoadingState(),this._isSelectOneElement?t?t.innerHTML=this.config.loadingText:(t=this._getTemplate("placeholder",this.config.loadingText),t&&this.itemList.append(t)):this.input.placeholder=this.config.loadingText):(this.enable(),this.containerOuter.removeLoadingState(),this._isSelectOneElement?t&&(t.innerHTML=this._placeholderValue||""):this.input.placeholder=this._placeholderValue||"")},g.prototype._handleSearch=function(e){if(this.input.isFocussed){var t=this._store.choices,n=this.config,s=n.searchFloor,v=n.searchChoices,P=t.some(function(K){return!K.active});if(e!==null&&typeof e<"u"&&e.length>=s){var M=v?this._searchChoices(e):0;this.passedElement.triggerEvent(y.EVENTS.search,{value:e,resultCount:M})}else P&&(this._isSearching=!1,this._store.dispatch((0,r.activateChoices)(!0)))}},g.prototype._canAddItem=function(e,t){var n=!0,s=typeof this.config.addItemText=="function"?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var v=(0,k.existsInArray)(e,t);this.config.maxItemCount>0&&this.config.maxItemCount<=e.length&&(n=!1,s=typeof this.config.maxItemText=="function"?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&v&&n&&(n=!1,s=typeof this.config.uniqueItemText=="function"?this.config.uniqueItemText(t):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&n&&typeof this.config.addItemFilter=="function"&&!this.config.addItemFilter(t)&&(n=!1,s=typeof this.config.customAddItemText=="function"?this.config.customAddItemText(t):this.config.customAddItemText)}return{response:n,notice:s}},g.prototype._searchChoices=function(e){var t=typeof e=="string"?e.trim():e,n=typeof this._currentValue=="string"?this._currentValue.trim():this._currentValue;if(t.length<1&&t==="".concat(n," "))return 0;var s=this._store.searchableChoices,v=t,P=Object.assign(this.config.fuseOptions,{keys:_([],this.config.searchFields,!0),includeMatches:!0}),M=new a.default(s,P),K=M.search(v);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch((0,r.filterChoices)(K)),K.length},g.prototype._addEventListeners=function(){var e=document.documentElement;e.addEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.addEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.addEventListener("mousedown",this._onMouseDown,!0),e.addEventListener("click",this._onClick,{passive:!0}),e.addEventListener("touchmove",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener("mouseover",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener("focus",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener("blur",this._onBlur,{passive:!0})),this.input.element.addEventListener("keyup",this._onKeyUp,{passive:!0}),this.input.element.addEventListener("focus",this._onFocus,{passive:!0}),this.input.element.addEventListener("blur",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener("reset",this._onFormReset,{passive:!0}),this.input.addEventListeners()},g.prototype._removeEventListeners=function(){var e=document.documentElement;e.removeEventListener("touchend",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener("keydown",this._onKeyDown,!0),this.containerOuter.element.removeEventListener("mousedown",this._onMouseDown,!0),e.removeEventListener("click",this._onClick),e.removeEventListener("touchmove",this._onTouchMove),this.dropdown.element.removeEventListener("mouseover",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener("focus",this._onFocus),this.containerOuter.element.removeEventListener("blur",this._onBlur)),this.input.element.removeEventListener("keyup",this._onKeyUp),this.input.element.removeEventListener("focus",this._onFocus),this.input.element.removeEventListener("blur",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener("reset",this._onFormReset),this.input.removeEventListeners()},g.prototype._onKeyDown=function(e){var t=e.keyCode,n=this._store.activeItems,s=this.input.isFocussed,v=this.dropdown.isActive,P=this.itemList.hasChildren(),M=String.fromCharCode(t),K=/[^\x00-\x1F]/.test(M),f=y.KEY_CODES.BACK_KEY,u=y.KEY_CODES.DELETE_KEY,C=y.KEY_CODES.ENTER_KEY,Y=y.KEY_CODES.A_KEY,V=y.KEY_CODES.ESC_KEY,U=y.KEY_CODES.UP_KEY,$=y.KEY_CODES.DOWN_KEY,W=y.KEY_CODES.PAGE_UP_KEY,J=y.KEY_CODES.PAGE_DOWN_KEY;switch(!this._isTextElement&&!v&&K&&(this.showDropdown(),this.input.isFocussed||(this.input.value+=e.key.toLowerCase())),t){case Y:return this._onSelectKey(e,P);case C:return this._onEnterKey(e,n,v);case V:return this._onEscapeKey(v);case U:case W:case $:case J:return this._onDirectionKey(e,v);case u:case f:return this._onDeleteKey(e,n,s);default:}},g.prototype._onKeyUp=function(e){var t=e.target,n=e.keyCode,s=this.input.value,v=this._store.activeItems,P=this._canAddItem(v,s),M=y.KEY_CODES.BACK_KEY,K=y.KEY_CODES.DELETE_KEY;if(this._isTextElement){var f=P.notice&&s;if(f){var u=this._getTemplate("notice",P.notice);this.dropdown.element.innerHTML=u.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0)}else{var C=n===M||n===K,Y=C&&t&&!t.value,V=!this._isTextElement&&this._isSearching,U=this._canSearch&&P.response;Y&&V?(this._isSearching=!1,this._store.dispatch((0,r.activateChoices)(!0))):U&&this._handleSearch(this.input.rawValue)}this._canSearch=this.config.searchEnabled},g.prototype._onSelectKey=function(e,t){var n=e.ctrlKey,s=e.metaKey,v=n||s;if(v&&t){this._canSearch=!1;var P=this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement;P&&this.highlightAll()}},g.prototype._onEnterKey=function(e,t,n){var s=e.target,v=y.KEY_CODES.ENTER_KEY,P=s&&s.hasAttribute("data-button");if(this._isTextElement&&s&&s.value){var M=this.input.value,K=this._canAddItem(t,M);K.response&&(this.hideDropdown(!0),this._addItem({value:M}),this._triggerChange(M),this.clearInput())}if(P&&(this._handleButtonAction(t,s),e.preventDefault()),n){var f=this.dropdown.getChild(".".concat(this.config.classNames.highlightedState));f&&(t[0]&&(t[0].keyCode=v),this._handleChoiceAction(t,f)),e.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),e.preventDefault())},g.prototype._onEscapeKey=function(e){e&&(this.hideDropdown(!0),this.containerOuter.focus())},g.prototype._onDirectionKey=function(e,t){var n=e.keyCode,s=e.metaKey,v=y.KEY_CODES.DOWN_KEY,P=y.KEY_CODES.PAGE_UP_KEY,M=y.KEY_CODES.PAGE_DOWN_KEY;if(t||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var K=n===v||n===M?1:-1,f=s||n===M||n===P,u="[data-choice-selectable]",C=void 0;if(f)K>0?C=this.dropdown.element.querySelector("".concat(u,":last-of-type")):C=this.dropdown.element.querySelector(u);else{var Y=this.dropdown.element.querySelector(".".concat(this.config.classNames.highlightedState));Y?C=(0,k.getAdjacentEl)(Y,u,K):C=this.dropdown.element.querySelector(u)}C&&((0,k.isScrolledIntoView)(C,this.choiceList.element,K)||this.choiceList.scrollToChildElement(C,K),this._highlightChoice(C)),e.preventDefault()}},g.prototype._onDeleteKey=function(e,t,n){var s=e.target;!this._isSelectOneElement&&!s.value&&n&&(this._handleBackspace(t),e.preventDefault())},g.prototype._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},g.prototype._onTouchEnd=function(e){var t=(e||e.touches[0]).target,n=this._wasTap&&this.containerOuter.element.contains(t);if(n){var s=t===this.containerOuter.element||t===this.containerInner.element;s&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),e.stopPropagation()}this._wasTap=!0},g.prototype._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(E&&this.choiceList.element.contains(t)){var n=this.choiceList.element.firstElementChild,s=this._direction==="ltr"?e.offsetX>=n.offsetWidth:e.offsetX0;s&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0)}},g.prototype._onFocus=function(e){var t,n=this,s=e.target,v=s&&this.containerOuter.element.contains(s);if(v){var P=(t={},t[y.TEXT_TYPE]=function(){s===n.input.element&&n.containerOuter.addFocusState()},t[y.SELECT_ONE_TYPE]=function(){n.containerOuter.addFocusState(),s===n.input.element&&n.showDropdown(!0)},t[y.SELECT_MULTIPLE_TYPE]=function(){s===n.input.element&&(n.showDropdown(!0),n.containerOuter.addFocusState())},t);P[this.passedElement.element.type]()}},g.prototype._onBlur=function(e){var t,n=this,s=e.target,v=s&&this.containerOuter.element.contains(s);if(v&&!this._isScrollingOnIe){var P=this._store.activeItems,M=P.some(function(f){return f.highlighted}),K=(t={},t[y.TEXT_TYPE]=function(){s===n.input.element&&(n.containerOuter.removeFocusState(),M&&n.unhighlightAll(),n.hideDropdown(!0))},t[y.SELECT_ONE_TYPE]=function(){n.containerOuter.removeFocusState(),(s===n.input.element||s===n.containerOuter.element&&!n._canSearch)&&n.hideDropdown(!0)},t[y.SELECT_MULTIPLE_TYPE]=function(){s===n.input.element&&(n.containerOuter.removeFocusState(),n.hideDropdown(!0),M&&n.unhighlightAll())},t);K[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},g.prototype._onFormReset=function(){this._store.dispatch((0,O.resetTo)(this._initialState))},g.prototype._highlightChoice=function(e){var t=this;e===void 0&&(e=null);var n=Array.from(this.dropdown.element.querySelectorAll("[data-choice-selectable]"));if(n.length){var s=e,v=Array.from(this.dropdown.element.querySelectorAll(".".concat(this.config.classNames.highlightedState)));v.forEach(function(P){P.classList.remove(t.config.classNames.highlightedState),P.setAttribute("aria-selected","false")}),s?this._highlightPosition=n.indexOf(s):(n.length>this._highlightPosition?s=n[this._highlightPosition]:s=n[n.length-1],s||(s=n[0])),s.classList.add(this.config.classNames.highlightedState),s.setAttribute("aria-selected","true"),this.passedElement.triggerEvent(y.EVENTS.highlightChoice,{el:s}),this.dropdown.isActive&&(this.input.setActiveDescendant(s.id),this.containerOuter.setActiveDescendant(s.id))}},g.prototype._addItem=function(e){var t=e.value,n=e.label,s=n===void 0?null:n,v=e.choiceId,P=v===void 0?-1:v,M=e.groupId,K=M===void 0?-1:M,f=e.customProperties,u=f===void 0?{}:f,C=e.placeholder,Y=C===void 0?!1:C,V=e.keyCode,U=V===void 0?-1:V,$=typeof t=="string"?t.trim():t,W=this._store.items,J=s||$,z=P||-1,ee=K>=0?this._store.getGroupById(K):null,ae=W?W.length+1:1;this.config.prependValue&&($=this.config.prependValue+$.toString()),this.config.appendValue&&($+=this.config.appendValue.toString()),this._store.dispatch((0,l.addItem)({value:$,label:J,id:ae,choiceId:z,groupId:K,customProperties:u,placeholder:Y,keyCode:U})),this._isSelectOneElement&&this.removeActiveItems(ae),this.passedElement.triggerEvent(y.EVENTS.addItem,{id:ae,value:$,label:J,customProperties:u,groupValue:ee&&ee.value?ee.value:null,keyCode:U})},g.prototype._removeItem=function(e){var t=e.id,n=e.value,s=e.label,v=e.customProperties,P=e.choiceId,M=e.groupId,K=M&&M>=0?this._store.getGroupById(M):null;!t||!P||(this._store.dispatch((0,l.removeItem)(t,P)),this.passedElement.triggerEvent(y.EVENTS.removeItem,{id:t,value:n,label:s,customProperties:v,groupValue:K&&K.value?K.value:null}))},g.prototype._addChoice=function(e){var t=e.value,n=e.label,s=n===void 0?null:n,v=e.isSelected,P=v===void 0?!1:v,M=e.isDisabled,K=M===void 0?!1:M,f=e.groupId,u=f===void 0?-1:f,C=e.customProperties,Y=C===void 0?{}:C,V=e.placeholder,U=V===void 0?!1:V,$=e.keyCode,W=$===void 0?-1:$;if(!(typeof t>"u"||t===null)){var J=this._store.choices,z=s||t,ee=J?J.length+1:1,ae="".concat(this._baseId,"-").concat(this._idNames.itemChoice,"-").concat(ee);this._store.dispatch((0,r.addChoice)({id:ee,groupId:u,elementId:ae,value:t,label:z,disabled:K,customProperties:Y,placeholder:U,keyCode:W})),P&&this._addItem({value:t,label:z,choiceId:ee,customProperties:Y,placeholder:U,keyCode:W})}},g.prototype._addGroup=function(e){var t=this,n=e.group,s=e.id,v=e.valueKey,P=v===void 0?"value":v,M=e.labelKey,K=M===void 0?"label":M,f=(0,k.isType)("Object",n)?n.choices:Array.from(n.getElementsByTagName("OPTION")),u=s||Math.floor(new Date().valueOf()*Math.random()),C=n.disabled?n.disabled:!1;if(f){this._store.dispatch((0,c.addGroup)({value:n.label,id:u,active:!0,disabled:C}));var Y=function(V){var U=V.disabled||V.parentNode&&V.parentNode.disabled;t._addChoice({value:V[P],label:(0,k.isType)("Object",V)?V[K]:V.innerHTML,isSelected:V.selected,isDisabled:U,groupId:u,customProperties:V.customProperties,placeholder:V.placeholder})};f.forEach(Y)}else this._store.dispatch((0,c.addGroup)({value:n.label,id:n.id,active:!1,disabled:n.disabled}))},g.prototype._getTemplate=function(e){for(var t,n=[],s=1;s0?this.element.scrollTop+y-O:a.offsetTop;requestAnimationFrame(function(){c._animateScroll(D,r)})}},d.prototype._scrollDown=function(a,r,c){var l=(c-a)/r,O=l>1?l:1;this.element.scrollTop=a+O},d.prototype._scrollUp=function(a,r,c){var l=(a-c)/r,O=l>1?l:1;this.element.scrollTop=a-O},d.prototype._animateScroll=function(a,r){var c=this,l=_.SCROLLING_SPEED,O=this.element.scrollTop,L=!1;r>0?(this._scrollDown(O,l,a),Oa&&(L=!0)),L&&requestAnimationFrame(function(){c._animateScroll(a,r)})},d}();i.default=h},730:function(j,i,b){Object.defineProperty(i,"__esModule",{value:!0});var _=b(799),h=function(){function d(a){var r=a.element,c=a.classNames;if(this.element=r,this.classNames=c,!(r instanceof HTMLInputElement)&&!(r instanceof HTMLSelectElement))throw new TypeError("Invalid element passed");this.isDisabled=!1}return Object.defineProperty(d.prototype,"isActive",{get:function(){return this.element.dataset.choice==="active"},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"dir",{get:function(){return this.element.dir},enumerable:!1,configurable:!0}),Object.defineProperty(d.prototype,"value",{get:function(){return this.element.value},set:function(a){this.element.value=a},enumerable:!1,configurable:!0}),d.prototype.conceal=function(){this.element.classList.add(this.classNames.input),this.element.hidden=!0,this.element.tabIndex=-1;var a=this.element.getAttribute("style");a&&this.element.setAttribute("data-choice-orig-style",a),this.element.setAttribute("data-choice","active")},d.prototype.reveal=function(){this.element.classList.remove(this.classNames.input),this.element.hidden=!1,this.element.removeAttribute("tabindex");var a=this.element.getAttribute("data-choice-orig-style");a?(this.element.removeAttribute("data-choice-orig-style"),this.element.setAttribute("style",a)):this.element.removeAttribute("style"),this.element.removeAttribute("data-choice"),this.element.value=this.element.value},d.prototype.enable=function(){this.element.removeAttribute("disabled"),this.element.disabled=!1,this.isDisabled=!1},d.prototype.disable=function(){this.element.setAttribute("disabled",""),this.element.disabled=!0,this.isDisabled=!0},d.prototype.triggerEvent=function(a,r){(0,_.dispatchEvent)(this.element,a,r)},d}();i.default=h},541:function(j,i,b){var _=this&&this.__extends||function(){var r=function(c,l){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(O,L){O.__proto__=L}||function(O,L){for(var y in L)Object.prototype.hasOwnProperty.call(L,y)&&(O[y]=L[y])},r(c,l)};return function(c,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");r(c,l);function O(){this.constructor=c}c.prototype=l===null?Object.create(l):(O.prototype=l.prototype,new O)}}(),h=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(i,"__esModule",{value:!0});var d=h(b(730)),a=function(r){_(c,r);function c(l){var O=l.element,L=l.classNames,y=l.delimiter,D=r.call(this,{element:O,classNames:L})||this;return D.delimiter=y,D}return Object.defineProperty(c.prototype,"value",{get:function(){return this.element.value},set:function(l){this.element.setAttribute("value",l),this.element.value=l},enumerable:!1,configurable:!0}),c}(d.default);i.default=a},982:function(j,i,b){var _=this&&this.__extends||function(){var r=function(c,l){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(O,L){O.__proto__=L}||function(O,L){for(var y in L)Object.prototype.hasOwnProperty.call(L,y)&&(O[y]=L[y])},r(c,l)};return function(c,l){if(typeof l!="function"&&l!==null)throw new TypeError("Class extends value "+String(l)+" is not a constructor or null");r(c,l);function O(){this.constructor=c}c.prototype=l===null?Object.create(l):(O.prototype=l.prototype,new O)}}(),h=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(i,"__esModule",{value:!0});var d=h(b(730)),a=function(r){_(c,r);function c(l){var O=l.element,L=l.classNames,y=l.template,D=r.call(this,{element:O,classNames:L})||this;return D.template=y,D}return Object.defineProperty(c.prototype,"placeholderOption",{get:function(){return this.element.querySelector('option[value=""]')||this.element.querySelector("option[placeholder]")},enumerable:!1,configurable:!0}),Object.defineProperty(c.prototype,"optionGroups",{get:function(){return Array.from(this.element.getElementsByTagName("OPTGROUP"))},enumerable:!1,configurable:!0}),Object.defineProperty(c.prototype,"options",{get:function(){return Array.from(this.element.options)},set:function(l){var O=this,L=document.createDocumentFragment(),y=function(D){var k=O.template(D);L.appendChild(k)};l.forEach(function(D){return y(D)}),this.appendDocFragment(L)},enumerable:!1,configurable:!0}),c.prototype.appendDocFragment=function(l){this.element.innerHTML="",this.element.appendChild(l)},c}(d.default);i.default=a},883:function(j,i){Object.defineProperty(i,"__esModule",{value:!0}),i.SCROLLING_SPEED=i.SELECT_MULTIPLE_TYPE=i.SELECT_ONE_TYPE=i.TEXT_TYPE=i.KEY_CODES=i.ACTION_TYPES=i.EVENTS=void 0,i.EVENTS={showDropdown:"showDropdown",hideDropdown:"hideDropdown",change:"change",choice:"choice",search:"search",addItem:"addItem",removeItem:"removeItem",highlightItem:"highlightItem",highlightChoice:"highlightChoice",unhighlightItem:"unhighlightItem"},i.ACTION_TYPES={ADD_CHOICE:"ADD_CHOICE",FILTER_CHOICES:"FILTER_CHOICES",ACTIVATE_CHOICES:"ACTIVATE_CHOICES",CLEAR_CHOICES:"CLEAR_CHOICES",ADD_GROUP:"ADD_GROUP",ADD_ITEM:"ADD_ITEM",REMOVE_ITEM:"REMOVE_ITEM",HIGHLIGHT_ITEM:"HIGHLIGHT_ITEM",CLEAR_ALL:"CLEAR_ALL",RESET_TO:"RESET_TO",SET_IS_LOADING:"SET_IS_LOADING"},i.KEY_CODES={BACK_KEY:46,DELETE_KEY:8,ENTER_KEY:13,A_KEY:65,ESC_KEY:27,UP_KEY:38,DOWN_KEY:40,PAGE_UP_KEY:33,PAGE_DOWN_KEY:34},i.TEXT_TYPE="text",i.SELECT_ONE_TYPE="select-one",i.SELECT_MULTIPLE_TYPE="select-multiple",i.SCROLLING_SPEED=4},789:function(j,i,b){Object.defineProperty(i,"__esModule",{value:!0}),i.DEFAULT_CONFIG=i.DEFAULT_CLASSNAMES=void 0;var _=b(799);i.DEFAULT_CLASSNAMES={containerOuter:"choices",containerInner:"choices__inner",input:"choices__input",inputCloned:"choices__input--cloned",list:"choices__list",listItems:"choices__list--multiple",listSingle:"choices__list--single",listDropdown:"choices__list--dropdown",item:"choices__item",itemSelectable:"choices__item--selectable",itemDisabled:"choices__item--disabled",itemChoice:"choices__item--choice",placeholder:"choices__placeholder",group:"choices__group",groupHeading:"choices__heading",button:"choices__button",activeState:"is-active",focusState:"is-focused",openState:"is-open",disabledState:"is-disabled",highlightedState:"is-highlighted",selectedState:"is-selected",flippedState:"is-flipped",loadingState:"is-loading",noResults:"has-no-results",noChoices:"has-no-choices"},i.DEFAULT_CONFIG={items:[],choices:[],silent:!1,renderChoiceLimit:-1,maxItemCount:-1,addItems:!0,addItemFilter:null,removeItems:!0,removeItemButton:!1,editItems:!1,allowHTML:!0,duplicateItemsAllowed:!0,delimiter:",",paste:!0,searchEnabled:!0,searchChoices:!0,searchFloor:1,searchResultLimit:4,searchFields:["label","value"],position:"auto",resetScrollPosition:!0,shouldSort:!0,shouldSortItems:!1,sorter:_.sortByAlpha,placeholder:!0,placeholderValue:null,searchPlaceholderValue:null,prependValue:null,appendValue:null,renderSelectedChoices:"auto",loadingText:"Loading...",noResultsText:"No results found",noChoicesText:"No choices to choose from",itemSelectText:"Press to select",uniqueItemText:"Only unique values can be added",customAddItemText:"Only values matching specific conditions can be added",addItemText:function(h){return'Press Enter to add "'.concat((0,_.sanitise)(h),'"')},maxItemText:function(h){return"Only ".concat(h," values can be added")},valueComparer:function(h,d){return h===d},fuseOptions:{includeScore:!0},labelId:"",callbackOnInit:null,callbackOnCreateTemplates:null,classNames:i.DEFAULT_CLASSNAMES}},18:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},978:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},948:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},359:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},285:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},533:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},187:function(j,i,b){var _=this&&this.__createBinding||(Object.create?function(d,a,r,c){c===void 0&&(c=r);var l=Object.getOwnPropertyDescriptor(a,r);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[r]}}),Object.defineProperty(d,c,l)}:function(d,a,r,c){c===void 0&&(c=r),d[c]=a[r]}),h=this&&this.__exportStar||function(d,a){for(var r in d)r!=="default"&&!Object.prototype.hasOwnProperty.call(a,r)&&_(a,d,r)};Object.defineProperty(i,"__esModule",{value:!0}),h(b(18),i),h(b(978),i),h(b(948),i),h(b(359),i),h(b(285),i),h(b(533),i),h(b(287),i),h(b(132),i),h(b(837),i),h(b(598),i),h(b(369),i),h(b(37),i),h(b(47),i),h(b(923),i),h(b(876),i)},287:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},132:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},837:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},598:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},37:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},369:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},47:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},923:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},876:function(j,i){Object.defineProperty(i,"__esModule",{value:!0})},799:function(j,i){Object.defineProperty(i,"__esModule",{value:!0}),i.parseCustomProperties=i.diff=i.cloneObject=i.existsInArray=i.dispatchEvent=i.sortByScore=i.sortByAlpha=i.strToEl=i.sanitise=i.isScrolledIntoView=i.getAdjacentEl=i.wrap=i.isType=i.getType=i.generateId=i.generateChars=i.getRandomNumber=void 0;var b=function(E,w){return Math.floor(Math.random()*(w-E)+E)};i.getRandomNumber=b;var _=function(E){return Array.from({length:E},function(){return(0,i.getRandomNumber)(0,36).toString(36)}).join("")};i.generateChars=_;var h=function(E,w){var N=E.id||E.name&&"".concat(E.name,"-").concat((0,i.generateChars)(2))||(0,i.generateChars)(4);return N=N.replace(/(:|\.|\[|\]|,)/g,""),N="".concat(w,"-").concat(N),N};i.generateId=h;var d=function(E){return Object.prototype.toString.call(E).slice(8,-1)};i.getType=d;var a=function(E,w){return w!=null&&(0,i.getType)(w)===E};i.isType=a;var r=function(E,w){return w===void 0&&(w=document.createElement("div")),E.parentNode&&(E.nextSibling?E.parentNode.insertBefore(w,E.nextSibling):E.parentNode.appendChild(w)),w.appendChild(E)};i.wrap=r;var c=function(E,w,N){N===void 0&&(N=1);for(var g="".concat(N>0?"next":"previous","ElementSibling"),e=E[g];e;){if(e.matches(w))return e;e=e[g]}return e};i.getAdjacentEl=c;var l=function(E,w,N){if(N===void 0&&(N=1),!E)return!1;var g;return N>0?g=w.scrollTop+w.offsetHeight>=E.offsetTop+E.offsetHeight:g=E.offsetTop>=w.scrollTop,g};i.isScrolledIntoView=l;var O=function(E){return typeof E!="string"?E:E.replace(/&/g,"&").replace(/>/g,">").replace(/-1?h.map(function(y){var D=y;return D.id===parseInt("".concat(c.choiceId),10)&&(D.selected=!0),D}):h}case"REMOVE_ITEM":{var l=d;return l.choiceId&&l.choiceId>-1?h.map(function(y){var D=y;return D.id===parseInt("".concat(l.choiceId),10)&&(D.selected=!1),D}):h}case"FILTER_CHOICES":{var O=d;return h.map(function(y){var D=y;return D.active=O.results.some(function(k){var Q=k.item,Z=k.score;return Q.id===D.id?(D.score=Z,!0):!1}),D})}case"ACTIVATE_CHOICES":{var L=d;return h.map(function(y){var D=y;return D.active=L.active,D})}case"CLEAR_CHOICES":return i.defaultState;default:return h}}i.default=_},871:function(j,i){var b=this&&this.__spreadArray||function(h,d,a){if(a||arguments.length===2)for(var r=0,c=d.length,l;r0?"treeitem":"option"),Object.assign(t.dataset,{choice:"",id:Q,value:Z,selectText:d}),N?(t.classList.add(D),t.dataset.choiceDisabled="",t.setAttribute("aria-disabled","true")):(t.classList.add(L),t.dataset.choiceSelectable=""),t},input:function(_,h){var d=_.classNames,a=d.input,r=d.inputCloned,c=Object.assign(document.createElement("input"),{type:"search",name:"search_terms",className:"".concat(a," ").concat(r),autocomplete:"off",autocapitalize:"off",spellcheck:!1});return c.setAttribute("role","textbox"),c.setAttribute("aria-autocomplete","list"),c.setAttribute("aria-label",h),c},dropdown:function(_){var h=_.classNames,d=h.list,a=h.listDropdown,r=document.createElement("div");return r.classList.add(d,a),r.setAttribute("aria-expanded","false"),r},notice:function(_,h,d){var a,r=_.allowHTML,c=_.classNames,l=c.item,O=c.itemChoice,L=c.noResults,y=c.noChoices;d===void 0&&(d="");var D=[l,O];return d==="no-choices"?D.push(y):d==="no-results"&&D.push(L),Object.assign(document.createElement("div"),(a={},a[r?"innerHTML":"innerText"]=h,a.className=D.join(" "),a))},option:function(_){var h=_.label,d=_.value,a=_.customProperties,r=_.active,c=_.disabled,l=new Option(h,d,!1,r);return a&&(l.dataset.customProperties="".concat(a)),l.disabled=!!c,l}};i.default=b},996:function(j){var i=function(w){return b(w)&&!_(w)};function b(E){return!!E&&typeof E=="object"}function _(E){var w=Object.prototype.toString.call(E);return w==="[object RegExp]"||w==="[object Date]"||a(E)}var h=typeof Symbol=="function"&&Symbol.for,d=h?Symbol.for("react.element"):60103;function a(E){return E.$$typeof===d}function r(E){return Array.isArray(E)?[]:{}}function c(E,w){return w.clone!==!1&&w.isMergeableObject(E)?Z(r(E),E,w):E}function l(E,w,N){return E.concat(w).map(function(g){return c(g,N)})}function O(E,w){if(!w.customMerge)return Z;var N=w.customMerge(E);return typeof N=="function"?N:Z}function L(E){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(E).filter(function(w){return E.propertyIsEnumerable(w)}):[]}function y(E){return Object.keys(E).concat(L(E))}function D(E,w){try{return w in E}catch{return!1}}function k(E,w){return D(E,w)&&!(Object.hasOwnProperty.call(E,w)&&Object.propertyIsEnumerable.call(E,w))}function Q(E,w,N){var g={};return N.isMergeableObject(E)&&y(E).forEach(function(e){g[e]=c(E[e],N)}),y(w).forEach(function(e){k(E,e)||(D(E,e)&&N.isMergeableObject(w[e])?g[e]=O(e,N)(E[e],w[e],N):g[e]=c(w[e],N))}),g}function Z(E,w,N){N=N||{},N.arrayMerge=N.arrayMerge||l,N.isMergeableObject=N.isMergeableObject||i,N.cloneUnlessOtherwiseSpecified=c;var g=Array.isArray(w),e=Array.isArray(E),t=g===e;return t?g?N.arrayMerge(E,w,N):Q(E,w,N):c(w,N)}Z.all=function(w,N){if(!Array.isArray(w))throw new Error("first argument should be an array");return w.reduce(function(g,e){return Z(g,e,N)},{})};var ne=Z;j.exports=ne},221:function(j,i,b){b.r(i),b.d(i,{default:function(){return Se}});function _(p){return Array.isArray?Array.isArray(p):k(p)==="[object Array]"}let h=1/0;function d(p){if(typeof p=="string")return p;let o=p+"";return o=="0"&&1/p==-h?"-0":o}function a(p){return p==null?"":d(p)}function r(p){return typeof p=="string"}function c(p){return typeof p=="number"}function l(p){return p===!0||p===!1||L(p)&&k(p)=="[object Boolean]"}function O(p){return typeof p=="object"}function L(p){return O(p)&&p!==null}function y(p){return p!=null}function D(p){return!p.trim().length}function k(p){return p==null?p===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(p)}let Q="Extended search is not available",Z="Incorrect 'index' type",ne=p=>`Invalid value for key ${p}`,E=p=>`Pattern length exceeds max of ${p}.`,w=p=>`Missing ${p} property in key`,N=p=>`Property 'weight' in key '${p}' must be a positive integer`,g=Object.prototype.hasOwnProperty;class e{constructor(o){this._keys=[],this._keyMap={};let m=0;o.forEach(S=>{let I=t(S);m+=I.weight,this._keys.push(I),this._keyMap[I.id]=I,m+=I.weight}),this._keys.forEach(S=>{S.weight/=m})}get(o){return this._keyMap[o]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function t(p){let o=null,m=null,S=null,I=1,T=null;if(r(p)||_(p))S=p,o=n(p),m=s(p);else{if(!g.call(p,"name"))throw new Error(w("name"));let A=p.name;if(S=A,g.call(p,"weight")&&(I=p.weight,I<=0))throw new Error(N(A));o=n(A),m=s(A),T=p.getFn}return{path:o,id:m,weight:I,src:S,getFn:T}}function n(p){return _(p)?p:p.split(".")}function s(p){return _(p)?p.join("."):p}function v(p,o){let m=[],S=!1,I=(T,A,R)=>{if(y(T))if(!A[R])m.push(T);else{let F=A[R],H=T[F];if(!y(H))return;if(R===A.length-1&&(r(H)||c(H)||l(H)))m.push(a(H));else if(_(H)){S=!0;for(let B=0,x=H.length;Bp.score===o.score?p.idx{this._keysMap[m.id]=S})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,r(this.docs[0])?this.docs.forEach((o,m)=>{this._addString(o,m)}):this.docs.forEach((o,m)=>{this._addObject(o,m)}),this.norm.clear())}add(o){let m=this.size();r(o)?this._addString(o,m):this._addObject(o,m)}removeAt(o){this.records.splice(o,1);for(let m=o,S=this.size();m{let A=I.getFn?I.getFn(o):this.getFn(o,I.path);if(y(A)){if(_(A)){let R=[],F=[{nestedArrIndex:-1,value:A}];for(;F.length;){let{nestedArrIndex:H,value:B}=F.pop();if(y(B))if(r(B)&&!D(B)){let x={v:B,i:H,n:this.norm.get(B)};R.push(x)}else _(B)&&B.forEach((x,G)=>{F.push({nestedArrIndex:G,value:x})})}S.$[T]=R}else if(r(A)&&!D(A)){let R={v:A,n:this.norm.get(A)};S.$[T]=R}}}),this.records.push(S)}toJSON(){return{keys:this.keys,records:this.records}}}function U(p,o,{getFn:m=u.getFn,fieldNormWeight:S=u.fieldNormWeight}={}){let I=new V({getFn:m,fieldNormWeight:S});return I.setKeys(p.map(t)),I.setSources(o),I.create(),I}function $(p,{getFn:o=u.getFn,fieldNormWeight:m=u.fieldNormWeight}={}){let{keys:S,records:I}=p,T=new V({getFn:o,fieldNormWeight:m});return T.setKeys(S),T.setIndexRecords(I),T}function W(p,{errors:o=0,currentLocation:m=0,expectedLocation:S=0,distance:I=u.distance,ignoreLocation:T=u.ignoreLocation}={}){let A=o/p.length;if(T)return A;let R=Math.abs(S-m);return I?A+R/I:R?1:A}function J(p=[],o=u.minMatchCharLength){let m=[],S=-1,I=-1,T=0;for(let A=p.length;T=o&&m.push([S,I]),S=-1)}return p[T-1]&&T-S>=o&&m.push([S,T-1]),m}let z=32;function ee(p,o,m,{location:S=u.location,distance:I=u.distance,threshold:T=u.threshold,findAllMatches:A=u.findAllMatches,minMatchCharLength:R=u.minMatchCharLength,includeMatches:F=u.includeMatches,ignoreLocation:H=u.ignoreLocation}={}){if(o.length>z)throw new Error(E(z));let B=o.length,x=p.length,G=Math.max(0,Math.min(S,x)),q=T,re=G,ue=R>1||F,Ee=ue?Array(x):[],ve;for(;(ve=p.indexOf(o,re))>-1;){let he=W(o,{currentLocation:ve,expectedLocation:G,distance:I,ignoreLocation:H});if(q=Math.min(he,q),re=ve+B,ue){let ge=0;for(;ge=Ue;fe-=1){let Le=fe-1,We=m[p.charAt(Le)];if(ue&&(Ee[Le]=+!!We),Oe[fe]=(Oe[fe+1]<<1|1)&We,he&&(Oe[fe]|=(Ie[fe+1]|Ie[fe])<<1|1|Ie[fe+1]),Oe[fe]&at&&(be=W(o,{errors:he,currentLocation:Le,expectedLocation:G,distance:I,ignoreLocation:H}),be<=q)){if(q=be,re=Le,re<=G)break;Ue=Math.max(1,2*G-re)}}if(W(o,{errors:he+1,currentLocation:G,expectedLocation:G,distance:I,ignoreLocation:H})>q)break;Ie=Oe}let Ke={isMatch:re>=0,score:Math.max(.001,be)};if(ue){let he=J(Ee,R);he.length?F&&(Ke.indices=he):Ke.isMatch=!1}return Ke}function ae(p){let o={};for(let m=0,S=p.length;m{this.chunks.push({pattern:G,alphabet:ae(G),startIndex:q})},x=this.pattern.length;if(x>z){let G=0,q=x%z,re=x-q;for(;G{let{isMatch:ve,score:Ie,indices:be}=ee(o,re,ue,{location:I+Ee,distance:T,threshold:A,findAllMatches:R,minMatchCharLength:F,includeMatches:S,ignoreLocation:H});ve&&(G=!0),x+=Ie,ve&&be&&(B=[...B,...be])});let q={isMatch:G,score:G?x/this.chunks.length:1};return G&&S&&(q.indices=B),q}}class le{constructor(o){this.pattern=o}static isMultiMatch(o){return _e(o,this.multiRegex)}static isSingleMatch(o){return _e(o,this.singleRegex)}search(){}}function _e(p,o){let m=p.match(o);return m?m[1]:null}class te extends le{constructor(o){super(o)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(o){let m=o===this.pattern;return{isMatch:m,score:m?0:1,indices:[0,this.pattern.length-1]}}}class de extends le{constructor(o){super(o)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(o){let S=o.indexOf(this.pattern)===-1;return{isMatch:S,score:S?0:1,indices:[0,o.length-1]}}}class pe extends le{constructor(o){super(o)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(o){let m=o.startsWith(this.pattern);return{isMatch:m,score:m?0:1,indices:[0,this.pattern.length-1]}}}class oe extends le{constructor(o){super(o)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(o){let m=!o.startsWith(this.pattern);return{isMatch:m,score:m?0:1,indices:[0,o.length-1]}}}class Te extends le{constructor(o){super(o)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(o){let m=o.endsWith(this.pattern);return{isMatch:m,score:m?0:1,indices:[o.length-this.pattern.length,o.length-1]}}}class Pe extends le{constructor(o){super(o)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(o){let m=!o.endsWith(this.pattern);return{isMatch:m,score:m?0:1,indices:[0,o.length-1]}}}class He extends le{constructor(o,{location:m=u.location,threshold:S=u.threshold,distance:I=u.distance,includeMatches:T=u.includeMatches,findAllMatches:A=u.findAllMatches,minMatchCharLength:R=u.minMatchCharLength,isCaseSensitive:F=u.isCaseSensitive,ignoreLocation:H=u.ignoreLocation}={}){super(o),this._bitapSearch=new ce(o,{location:m,threshold:S,distance:I,includeMatches:T,findAllMatches:A,minMatchCharLength:R,isCaseSensitive:F,ignoreLocation:H})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(o){return this._bitapSearch.searchIn(o)}}class Be extends le{constructor(o){super(o)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(o){let m=0,S,I=[],T=this.pattern.length;for(;(S=o.indexOf(this.pattern,m))>-1;)m=S+T,I.push([S,m-1]);let A=!!I.length;return{isMatch:A,score:A?0:1,indices:I}}}let Me=[te,Be,pe,oe,Pe,Te,de,He],Ve=Me.length,Xe=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,Je="|";function Qe(p,o={}){return p.split(Je).map(m=>{let S=m.trim().split(Xe).filter(T=>T&&!!T.trim()),I=[];for(let T=0,A=S.length;T!!(p[Ce.AND]||p[Ce.OR]),tt=p=>!!p[je.PATH],it=p=>!_(p)&&O(p)&&!Re(p),ke=p=>({[Ce.AND]:Object.keys(p).map(o=>({[o]:p[o]}))});function xe(p,o,{auto:m=!0}={}){let S=I=>{let T=Object.keys(I),A=tt(I);if(!A&&T.length>1&&!Re(I))return S(ke(I));if(it(I)){let F=A?I[je.PATH]:T[0],H=A?I[je.PATTERN]:I[F];if(!r(H))throw new Error(ne(F));let B={keyId:s(F),pattern:H};return m&&(B.searcher=Ne(H,o)),B}let R={children:[],operator:T[0]};return T.forEach(F=>{let H=I[F];_(H)&&H.forEach(B=>{R.children.push(S(B))})}),R};return Re(p)||(p=ke(p)),S(p)}function nt(p,{ignoreFieldNorm:o=u.ignoreFieldNorm}){p.forEach(m=>{let S=1;m.matches.forEach(({key:I,norm:T,score:A})=>{let R=I?I.weight:null;S*=Math.pow(A===0&&R?Number.EPSILON:A,(R||1)*(o?1:T))}),m.score=S})}function rt(p,o){let m=p.matches;o.matches=[],y(m)&&m.forEach(S=>{if(!y(S.indices)||!S.indices.length)return;let{indices:I,value:T}=S,A={indices:I,value:T};S.key&&(A.key=S.key.src),S.idx>-1&&(A.refIndex=S.idx),o.matches.push(A)})}function st(p,o){o.score=p.score}function ot(p,o,{includeMatches:m=u.includeMatches,includeScore:S=u.includeScore}={}){let I=[];return m&&I.push(rt),S&&I.push(st),p.map(T=>{let{idx:A}=T,R={item:o[A],refIndex:A};return I.length&&I.forEach(F=>{F(T,R)}),R})}class Se{constructor(o,m={},S){this.options={...u,...m},this.options.useExtendedSearch,this._keyStore=new e(this.options.keys),this.setCollection(o,S)}setCollection(o,m){if(this._docs=o,m&&!(m instanceof V))throw new Error(Z);this._myIndex=m||U(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(o){y(o)&&(this._docs.push(o),this._myIndex.add(o))}remove(o=()=>!1){let m=[];for(let S=0,I=this._docs.length;S-1&&(F=F.slice(0,m)),ot(F,this._docs,{includeMatches:S,includeScore:I})}_searchStringList(o){let m=Ne(o,this.options),{records:S}=this._myIndex,I=[];return S.forEach(({v:T,i:A,n:R})=>{if(!y(T))return;let{isMatch:F,score:H,indices:B}=m.searchIn(T);F&&I.push({item:T,idx:A,matches:[{score:H,value:T,norm:R,indices:B}]})}),I}_searchLogical(o){let m=xe(o,this.options),S=(R,F,H)=>{if(!R.children){let{keyId:x,searcher:G}=R,q=this._findMatches({key:this._keyStore.get(x),value:this._myIndex.getValueForItemAtKeyId(F,x),searcher:G});return q&&q.length?[{idx:H,item:F,matches:q}]:[]}let B=[];for(let x=0,G=R.children.length;x{if(y(R)){let H=S(m,R,F);H.length&&(T[F]||(T[F]={idx:F,item:R,matches:[]},A.push(T[F])),H.forEach(({matches:B})=>{T[F].matches.push(...B)}))}}),A}_searchObjectList(o){let m=Ne(o,this.options),{keys:S,records:I}=this._myIndex,T=[];return I.forEach(({$:A,i:R})=>{if(!y(A))return;let F=[];S.forEach((H,B)=>{F.push(...this._findMatches({key:H,value:A[B],searcher:m}))}),F.length&&T.push({idx:R,item:A,matches:F})}),T}_findMatches({key:o,value:m,searcher:S}){if(!y(m))return[];let I=[];if(_(m))m.forEach(({v:T,i:A,n:R})=>{if(!y(T))return;let{isMatch:F,score:H,indices:B}=S.searchIn(T);F&&I.push({score:H,key:o,value:T,idx:A,norm:R,indices:B})});else{let{v:T,n:A}=m,{isMatch:R,score:F,indices:H}=S.searchIn(T);R&&I.push({score:F,key:o,value:T,norm:A,indices:H})}return I}}Se.version="6.6.2",Se.createIndex=U,Se.parseIndex=$,Se.config=u,Se.parseQuery=xe,et(qe)},791:function(j,i,b){b.r(i),b.d(i,{__DO_NOT_USE__ActionTypes:function(){return y},applyMiddleware:function(){return M},bindActionCreators:function(){return v},combineReducers:function(){return n},compose:function(){return P},createStore:function(){return w},legacy_createStore:function(){return N}});function _(f){"@babel/helpers - typeof";return _=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},_(f)}function h(f,u){if(_(f)!=="object"||f===null)return f;var C=f[Symbol.toPrimitive];if(C!==void 0){var Y=C.call(f,u||"default");if(_(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return(u==="string"?String:Number)(f)}function d(f){var u=h(f,"string");return _(u)==="symbol"?u:String(u)}function a(f,u,C){return u=d(u),u in f?Object.defineProperty(f,u,{value:C,enumerable:!0,configurable:!0,writable:!0}):f[u]=C,f}function r(f,u){var C=Object.keys(f);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(f);u&&(Y=Y.filter(function(V){return Object.getOwnPropertyDescriptor(f,V).enumerable})),C.push.apply(C,Y)}return C}function c(f){for(var u=1;u"u"&&(C=u,u=void 0),typeof C<"u"){if(typeof C!="function")throw new Error(l(1));return C(w)(f,u)}if(typeof f!="function")throw new Error(l(2));var V=f,U=u,$=[],W=$,J=!1;function z(){W===$&&(W=$.slice())}function ee(){if(J)throw new Error(l(3));return U}function ae(te){if(typeof te!="function")throw new Error(l(4));if(J)throw new Error(l(5));var de=!0;return z(),W.push(te),function(){if(de){if(J)throw new Error(l(6));de=!1,z();var oe=W.indexOf(te);W.splice(oe,1),$=null}}}function ce(te){if(!D(te))throw new Error(l(7));if(typeof te.type>"u")throw new Error(l(8));if(J)throw new Error(l(9));try{J=!0,U=V(U,te)}finally{J=!1}for(var de=$=W,pe=0;pe0)return"Unexpected "+($.length>1?"keys":"key")+" "+('"'+$.join('", "')+'" found in '+U+". ")+"Expected to find one of the known reducer keys instead: "+('"'+V.join('", "')+'". Unexpected keys will be ignored.')}function t(f){Object.keys(f).forEach(function(u){var C=f[u],Y=C(void 0,{type:y.INIT});if(typeof Y>"u")throw new Error(l(12));if(typeof C(void 0,{type:y.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(l(13))})}function n(f){for(var u=Object.keys(f),C={},Y=0;Y"u"){var Te=ee&&ee.type;throw new Error(l(14))}le[te]=oe,ce=ce||oe!==pe}return ce=ce||U.length!==Object.keys(z).length,ce?le:z}}function s(f,u){return function(){return u(f.apply(this,arguments))}}function v(f,u){if(typeof f=="function")return s(f,u);if(typeof f!="object"||f===null)throw new Error(l(16));var C={};for(var Y in f){var V=f[Y];typeof V=="function"&&(C[Y]=s(V,u))}return C}function P(){for(var f=arguments.length,u=new Array(f),C=0;Cwindow.pluralize(O,e,{count:e}),noChoicesText:E,noResultsText:L,placeholderValue:k,position:Q??"auto",removeItemButton:se,renderChoiceLimit:D,searchEnabled:h,searchFields:w??["label"],searchPlaceholderValue:E,searchResultLimit:D,shouldSort:!1,searchFloor:a?0:1}),await this.refreshChoices({withInitialOptions:!0}),[null,void 0,""].includes(this.state)||this.select.setChoiceByValue(this.formatState(this.state)),this.refreshPlaceholder(),b&&this.select.showDropdown(),this.$refs.input.addEventListener("change",()=>{this.refreshPlaceholder(),!this.isStateBeingUpdated&&(this.isStateBeingUpdated=!0,this.state=this.select.getValue(!0)??null,this.$nextTick(()=>this.isStateBeingUpdated=!1))}),d&&this.$refs.input.addEventListener("showDropdown",async()=>{this.select.clearChoices(),await this.select.setChoices([{label:c,value:"",disabled:!0}]),await this.refreshChoices()}),a&&(this.$refs.input.addEventListener("search",async e=>{let t=e.detail.value?.trim();this.isSearching=!0,this.select.clearChoices(),await this.select.setChoices([{label:[null,void 0,""].includes(t)?c:ne,value:"",disabled:!0}])}),this.$refs.input.addEventListener("search",Alpine.debounce(async e=>{await this.refreshChoices({search:e.detail.value?.trim()}),this.isSearching=!1},Z))),_||window.addEventListener("filament-forms::select.refreshSelectedOptionLabel",async e=>{e.detail.livewireId===r&&e.detail.statePath===g&&await this.refreshChoices({withInitialOptions:!1})}),this.$watch("state",async()=>{this.select&&(this.refreshPlaceholder(),!this.isStateBeingUpdated&&await this.refreshChoices({withInitialOptions:!d}))})},destroy:function(){this.select.destroy(),this.select=null},refreshChoices:async function(e={}){let t=await this.getChoices(e);this.select&&(this.select.clearStore(),this.refreshPlaceholder(),this.setChoices(t),[null,void 0,""].includes(this.state)||this.select.setChoiceByValue(this.formatState(this.state)))},setChoices:function(e){this.select.setChoices(e,"value","label",!0)},getChoices:async function(e={}){let t=await this.getExistingOptions(e);return t.concat(await this.getMissingOptions(t))},getExistingOptions:async function({search:e,withInitialOptions:t}){if(t)return y;let n=[];return e!==""&&e!==null&&e!==void 0?n=await i(e):n=await j(),n.map(s=>s.choices?(s.choices=s.choices.map(v=>(v.selected=Array.isArray(this.state)?this.state.includes(v.value):this.state===v.value,v)),s):(s.selected=Array.isArray(this.state)?this.state.includes(s.value):this.state===s.value,s))},refreshPlaceholder:function(){_||(this.select._renderItems(),[null,void 0,""].includes(this.state)&&(this.$el.querySelector(".choices__list--single").innerHTML=`
${k??""}
`))},formatState:function(e){return _?(e??[]).map(t=>t?.toString()):e?.toString()},getMissingOptions:async function(e){let t=this.formatState(this.state);if([null,void 0,"",[],{}].includes(t))return{};let n=new Set;return e.forEach(s=>{if(s.choices){s.choices.forEach(v=>n.add(v.value));return}n.add(s.value)}),_?t.every(s=>n.has(s))?{}:(await me()).filter(s=>!n.has(s.value)).map(s=>(s.selected=!0,s)):n.has(t)?n:[{label:await X(),value:t,selected:!0}]}}}export{vt as default}; +var Ft=Math.min,vt=Math.max,Ht=Math.round;var st=n=>({x:n,y:n}),ji={left:"right",right:"left",bottom:"top",top:"bottom"},qi={start:"end",end:"start"};function De(n,t,e){return vt(n,Ft(t,e))}function Vt(n,t){return typeof n=="function"?n(t):n}function yt(n){return n.split("-")[0]}function Wt(n){return n.split("-")[1]}function Ae(n){return n==="x"?"y":"x"}function Ce(n){return n==="y"?"height":"width"}var Ji=new Set(["top","bottom"]);function ht(n){return Ji.has(yt(n))?"y":"x"}function Le(n){return Ae(ht(n))}function Je(n,t,e){e===void 0&&(e=!1);let i=Wt(n),o=Le(n),s=Ce(o),r=o==="x"?i===(e?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=Bt(r)),[r,Bt(r)]}function Qe(n){let t=Bt(n);return[ie(n),t,ie(t)]}function ie(n){return n.replace(/start|end/g,t=>qi[t])}var je=["left","right"],qe=["right","left"],Qi=["top","bottom"],Zi=["bottom","top"];function tn(n,t,e){switch(n){case"top":case"bottom":return e?t?qe:je:t?je:qe;case"left":case"right":return t?Qi:Zi;default:return[]}}function Ze(n,t,e,i){let o=Wt(n),s=tn(yt(n),e==="start",i);return o&&(s=s.map(r=>r+"-"+o),t&&(s=s.concat(s.map(ie)))),s}function Bt(n){return n.replace(/left|right|bottom|top/g,t=>ji[t])}function en(n){return{top:0,right:0,bottom:0,left:0,...n}}function ti(n){return typeof n!="number"?en(n):{top:n,right:n,bottom:n,left:n}}function Et(n){let{x:t,y:e,width:i,height:o}=n;return{width:i,height:o,top:e,left:t,right:t+i,bottom:e+o,x:t,y:e}}function ei(n,t,e){let{reference:i,floating:o}=n,s=ht(t),r=Le(t),a=Ce(r),l=yt(t),c=s==="y",f=i.x+i.width/2-o.width/2,d=i.y+i.height/2-o.height/2,p=i[a]/2-o[a]/2,u;switch(l){case"top":u={x:f,y:i.y-o.height};break;case"bottom":u={x:f,y:i.y+i.height};break;case"right":u={x:i.x+i.width,y:d};break;case"left":u={x:i.x-o.width,y:d};break;default:u={x:i.x,y:i.y}}switch(Wt(t)){case"start":u[r]-=p*(e&&c?-1:1);break;case"end":u[r]+=p*(e&&c?-1:1);break}return u}var ii=async(n,t,e)=>{let{placement:i="bottom",strategy:o="absolute",middleware:s=[],platform:r}=e,a=s.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t)),c=await r.getElementRects({reference:n,floating:t,strategy:o}),{x:f,y:d}=ei(c,i,l),p=i,u={},g=0;for(let m=0;mk<=0)){var W,tt;let k=(((W=s.flip)==null?void 0:W.index)||0)+1,$=q[k];if($&&(!(d==="alignment"?w!==ht($):!1)||V.every(L=>ht(L.placement)===w?L.overflows[0]>0:!0)))return{data:{index:k,overflows:V},reset:{placement:$}};let B=(tt=V.filter(X=>X.overflows[0]<=0).sort((X,L)=>X.overflows[1]-L.overflows[1])[0])==null?void 0:tt.placement;if(!B)switch(u){case"bestFit":{var z;let X=(z=V.filter(L=>{if(F){let et=ht(L.placement);return et===w||et==="y"}return!0}).map(L=>[L.placement,L.overflows.filter(et=>et>0).reduce((et,ee)=>et+ee,0)]).sort((L,et)=>L[1]-et[1])[0])==null?void 0:z[0];X&&(B=X);break}case"initialPlacement":B=a;break}if(o!==B)return{reset:{placement:B}}}return{}}}};var nn=new Set(["left","top"]);async function on(n,t){let{placement:e,platform:i,elements:o}=n,s=await(i.isRTL==null?void 0:i.isRTL(o.floating)),r=yt(e),a=Wt(e),l=ht(e)==="y",c=nn.has(r)?-1:1,f=s&&l?-1:1,d=Vt(t,n),{mainAxis:p,crossAxis:u,alignmentAxis:g}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&typeof g=="number"&&(u=a==="end"?g*-1:g),l?{x:u*f,y:p*c}:{x:p*c,y:u*f}}var oi=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(t){var e,i;let{x:o,y:s,placement:r,middlewareData:a}=t,l=await on(t,n);return r===((e=a.offset)==null?void 0:e.placement)&&(i=a.arrow)!=null&&i.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:r}}}}},si=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(t){let{x:e,y:i,placement:o}=t,{mainAxis:s=!0,crossAxis:r=!1,limiter:a={fn:S=>{let{x:O,y:w}=S;return{x:O,y:w}}},...l}=Vt(n,t),c={x:e,y:i},f=await Ie(t,l),d=ht(yt(o)),p=Ae(d),u=c[p],g=c[d];if(s){let S=p==="y"?"top":"left",O=p==="y"?"bottom":"right",w=u+f[S],D=u-f[O];u=De(w,u,D)}if(r){let S=d==="y"?"top":"left",O=d==="y"?"bottom":"right",w=g+f[S],D=g-f[O];g=De(w,g,D)}let m=a.fn({...t,[p]:u,[d]:g});return{...m,data:{x:m.x-e,y:m.y-i,enabled:{[p]:s,[d]:r}}}}}};function oe(){return typeof window<"u"}function Ot(n){return ai(n)?(n.nodeName||"").toLowerCase():"#document"}function U(n){var t;return(n==null||(t=n.ownerDocument)==null?void 0:t.defaultView)||window}function ct(n){var t;return(t=(ai(n)?n.ownerDocument:n.document)||window.document)==null?void 0:t.documentElement}function ai(n){return oe()?n instanceof Node||n instanceof U(n).Node:!1}function it(n){return oe()?n instanceof Element||n instanceof U(n).Element:!1}function rt(n){return oe()?n instanceof HTMLElement||n instanceof U(n).HTMLElement:!1}function ri(n){return!oe()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof U(n).ShadowRoot}var sn=new Set(["inline","contents"]);function It(n){let{overflow:t,overflowX:e,overflowY:i,display:o}=nt(n);return/auto|scroll|overlay|hidden|clip/.test(t+i+e)&&!sn.has(o)}var rn=new Set(["table","td","th"]);function li(n){return rn.has(Ot(n))}var an=[":popover-open",":modal"];function zt(n){return an.some(t=>{try{return n.matches(t)}catch{return!1}})}var ln=["transform","translate","scale","rotate","perspective"],cn=["transform","translate","scale","rotate","perspective","filter"],dn=["paint","layout","strict","content"];function se(n){let t=re(),e=it(n)?nt(n):n;return ln.some(i=>e[i]?e[i]!=="none":!1)||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||cn.some(i=>(e.willChange||"").includes(i))||dn.some(i=>(e.contain||"").includes(i))}function ci(n){let t=ut(n);for(;rt(t)&&!Dt(t);){if(se(t))return t;if(zt(t))return null;t=ut(t)}return null}function re(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var fn=new Set(["html","body","#document"]);function Dt(n){return fn.has(Ot(n))}function nt(n){return U(n).getComputedStyle(n)}function Xt(n){return it(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function ut(n){if(Ot(n)==="html")return n;let t=n.assignedSlot||n.parentNode||ri(n)&&n.host||ct(n);return ri(t)?t.host:t}function di(n){let t=ut(n);return Dt(t)?n.ownerDocument?n.ownerDocument.body:n.body:rt(t)&&It(t)?t:di(t)}function ne(n,t,e){var i;t===void 0&&(t=[]),e===void 0&&(e=!0);let o=di(n),s=o===((i=n.ownerDocument)==null?void 0:i.body),r=U(o);if(s){let a=ae(r);return t.concat(r,r.visualViewport||[],It(o)?o:[],a&&e?ne(a):[])}return t.concat(o,ne(o,[],e))}function ae(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function pi(n){let t=nt(n),e=parseFloat(t.width)||0,i=parseFloat(t.height)||0,o=rt(n),s=o?n.offsetWidth:e,r=o?n.offsetHeight:i,a=Ht(e)!==s||Ht(i)!==r;return a&&(e=s,i=r),{width:e,height:i,$:a}}function gi(n){return it(n)?n:n.contextElement}function Tt(n){let t=gi(n);if(!rt(t))return st(1);let e=t.getBoundingClientRect(),{width:i,height:o,$:s}=pi(t),r=(s?Ht(e.width):e.width)/i,a=(s?Ht(e.height):e.height)/o;return(!r||!Number.isFinite(r))&&(r=1),(!a||!Number.isFinite(a))&&(a=1),{x:r,y:a}}var hn=st(0);function mi(n){let t=U(n);return!re()||!t.visualViewport?hn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function un(n,t,e){return t===void 0&&(t=!1),!e||t&&e!==U(n)?!1:t}function Kt(n,t,e,i){t===void 0&&(t=!1),e===void 0&&(e=!1);let o=n.getBoundingClientRect(),s=gi(n),r=st(1);t&&(i?it(i)&&(r=Tt(i)):r=Tt(n));let a=un(s,e,i)?mi(s):st(0),l=(o.left+a.x)/r.x,c=(o.top+a.y)/r.y,f=o.width/r.x,d=o.height/r.y;if(s){let p=U(s),u=i&&it(i)?U(i):i,g=p,m=ae(g);for(;m&&i&&u!==g;){let S=Tt(m),O=m.getBoundingClientRect(),w=nt(m),D=O.left+(m.clientLeft+parseFloat(w.paddingLeft))*S.x,A=O.top+(m.clientTop+parseFloat(w.paddingTop))*S.y;l*=S.x,c*=S.y,f*=S.x,d*=S.y,l+=D,c+=A,g=U(m),m=ae(g)}}return Et({width:f,height:d,x:l,y:c})}function le(n,t){let e=Xt(n).scrollLeft;return t?t.left+e:Kt(ct(n)).left+e}function bi(n,t){let e=n.getBoundingClientRect(),i=e.left+t.scrollLeft-le(n,e),o=e.top+t.scrollTop;return{x:i,y:o}}function pn(n){let{elements:t,rect:e,offsetParent:i,strategy:o}=n,s=o==="fixed",r=ct(i),a=t?zt(t.floating):!1;if(i===r||a&&s)return e;let l={scrollLeft:0,scrollTop:0},c=st(1),f=st(0),d=rt(i);if((d||!d&&!s)&&((Ot(i)!=="body"||It(r))&&(l=Xt(i)),rt(i))){let u=Kt(i);c=Tt(i),f.x=u.x+i.clientLeft,f.y=u.y+i.clientTop}let p=r&&!d&&!s?bi(r,l):st(0);return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x+p.x,y:e.y*c.y-l.scrollTop*c.y+f.y+p.y}}function gn(n){return Array.from(n.getClientRects())}function mn(n){let t=ct(n),e=Xt(n),i=n.ownerDocument.body,o=vt(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),s=vt(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),r=-e.scrollLeft+le(n),a=-e.scrollTop;return nt(i).direction==="rtl"&&(r+=vt(t.clientWidth,i.clientWidth)-o),{width:o,height:s,x:r,y:a}}var fi=25;function bn(n,t){let e=U(n),i=ct(n),o=e.visualViewport,s=i.clientWidth,r=i.clientHeight,a=0,l=0;if(o){s=o.width,r=o.height;let f=re();(!f||f&&t==="fixed")&&(a=o.offsetLeft,l=o.offsetTop)}let c=le(i);if(c<=0){let f=i.ownerDocument,d=f.body,p=getComputedStyle(d),u=f.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,g=Math.abs(i.clientWidth-d.clientWidth-u);g<=fi&&(s-=g)}else c<=fi&&(s+=c);return{width:s,height:r,x:a,y:l}}var vn=new Set(["absolute","fixed"]);function yn(n,t){let e=Kt(n,!0,t==="fixed"),i=e.top+n.clientTop,o=e.left+n.clientLeft,s=rt(n)?Tt(n):st(1),r=n.clientWidth*s.x,a=n.clientHeight*s.y,l=o*s.x,c=i*s.y;return{width:r,height:a,x:l,y:c}}function hi(n,t,e){let i;if(t==="viewport")i=bn(n,e);else if(t==="document")i=mn(ct(n));else if(it(t))i=yn(t,e);else{let o=mi(n);i={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Et(i)}function vi(n,t){let e=ut(n);return e===t||!it(e)||Dt(e)?!1:nt(e).position==="fixed"||vi(e,t)}function wn(n,t){let e=t.get(n);if(e)return e;let i=ne(n,[],!1).filter(a=>it(a)&&Ot(a)!=="body"),o=null,s=nt(n).position==="fixed",r=s?ut(n):n;for(;it(r)&&!Dt(r);){let a=nt(r),l=se(r);!l&&a.position==="fixed"&&(o=null),(s?!l&&!o:!l&&a.position==="static"&&!!o&&vn.has(o.position)||It(r)&&!l&&vi(n,r))?i=i.filter(f=>f!==r):o=a,r=ut(r)}return t.set(n,i),i}function Sn(n){let{element:t,boundary:e,rootBoundary:i,strategy:o}=n,r=[...e==="clippingAncestors"?zt(t)?[]:wn(t,this._c):[].concat(e),i],a=r[0],l=r.reduce((c,f)=>{let d=hi(t,f,o);return c.top=vt(d.top,c.top),c.right=Ft(d.right,c.right),c.bottom=Ft(d.bottom,c.bottom),c.left=vt(d.left,c.left),c},hi(t,a,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function xn(n){let{width:t,height:e}=pi(n);return{width:t,height:e}}function En(n,t,e){let i=rt(t),o=ct(t),s=e==="fixed",r=Kt(n,!0,s,t),a={scrollLeft:0,scrollTop:0},l=st(0);function c(){l.x=le(o)}if(i||!i&&!s)if((Ot(t)!=="body"||It(o))&&(a=Xt(t)),i){let u=Kt(t,!0,s,t);l.x=u.x+t.clientLeft,l.y=u.y+t.clientTop}else o&&c();s&&!i&&o&&c();let f=o&&!i&&!s?bi(o,a):st(0),d=r.left+a.scrollLeft-l.x-f.x,p=r.top+a.scrollTop-l.y-f.y;return{x:d,y:p,width:r.width,height:r.height}}function Te(n){return nt(n).position==="static"}function ui(n,t){if(!rt(n)||nt(n).position==="fixed")return null;if(t)return t(n);let e=n.offsetParent;return ct(n)===e&&(e=e.ownerDocument.body),e}function yi(n,t){let e=U(n);if(zt(n))return e;if(!rt(n)){let o=ut(n);for(;o&&!Dt(o);){if(it(o)&&!Te(o))return o;o=ut(o)}return e}let i=ui(n,t);for(;i&&li(i)&&Te(i);)i=ui(i,t);return i&&Dt(i)&&Te(i)&&!se(i)?e:i||ci(n)||e}var On=async function(n){let t=this.getOffsetParent||yi,e=this.getDimensions,i=await e(n.floating);return{reference:En(n.reference,await t(n.floating),n.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function Dn(n){return nt(n).direction==="rtl"}var An={convertOffsetParentRelativeRectToViewportRelativeRect:pn,getDocumentElement:ct,getClippingRect:Sn,getOffsetParent:yi,getElementRects:On,getClientRects:gn,getDimensions:xn,getScale:Tt,isElement:it,isRTL:Dn};var wi=oi;var Si=si,xi=ni;var Ei=(n,t,e)=>{let i=new Map,o={platform:An,...e},s={...o.platform,_c:i};return ii(n,t,{...o,platform:s})};function Oi(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(n,o).enumerable})),e.push.apply(e,i)}return e}function ft(n){for(var t=1;t=0)&&(e[o]=n[o]);return e}function In(n,t){if(n==null)return{};var e=Ln(n,t),i,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(e[i]=n[i])}return e}var Tn="1.15.6";function pt(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var mt=pt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Zt=pt(/Edge/i),Di=pt(/firefox/i),Gt=pt(/safari/i)&&!pt(/chrome/i)&&!pt(/android/i),Ke=pt(/iP(ad|od|hone)/i),Mi=pt(/chrome/i)&&pt(/android/i),Pi={capture:!1,passive:!1};function E(n,t,e){n.addEventListener(t,e,!mt&&Pi)}function x(n,t,e){n.removeEventListener(t,e,!mt&&Pi)}function ve(n,t){if(t){if(t[0]===">"&&(t=t.substring(1)),n)try{if(n.matches)return n.matches(t);if(n.msMatchesSelector)return n.msMatchesSelector(t);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(t)}catch{return!1}return!1}}function Ni(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function lt(n,t,e,i){if(n){e=e||document;do{if(t!=null&&(t[0]===">"?n.parentNode===e&&ve(n,t):ve(n,t))||i&&n===e)return n;if(n===e)break}while(n=Ni(n))}return null}var Ai=/\s+/g;function Q(n,t,e){if(n&&t)if(n.classList)n.classList[e?"add":"remove"](t);else{var i=(" "+n.className+" ").replace(Ai," ").replace(" "+t+" "," ");n.className=(i+(e?" "+t:"")).replace(Ai," ")}}function b(n,t,e){var i=n&&n.style;if(i){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(e=n.currentStyle),t===void 0?e:e[t];!(t in i)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),i[t]=e+(typeof e=="string"?"":"px")}}function Nt(n,t){var e="";if(typeof n=="string")e=n;else do{var i=b(n,"transform");i&&i!=="none"&&(e=i+" "+e)}while(!t&&(n=n.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(e)}function ki(n,t,e){if(n){var i=n.getElementsByTagName(t),o=0,s=i.length;if(e)for(;o=s:r=o<=s,!r)return i;if(i===dt())break;i=xt(i,!1)}return!1}function kt(n,t,e,i){for(var o=0,s=0,r=n.children;s2&&arguments[2]!==void 0?arguments[2]:{},o=i.evt,s=In(i,Fn);te.pluginEvent.bind(v)(t,e,ft({dragEl:h,parentEl:R,ghostEl:y,rootEl:I,nextEl:Lt,lastDownEl:pe,cloneEl:T,cloneHidden:St,dragStarted:Yt,putSortable:H,activeSortable:v.active,originalEvent:o,oldIndex:Pt,oldDraggableIndex:qt,newIndex:Z,newDraggableIndex:wt,hideGhostForTarget:Ki,unhideGhostForTarget:Yi,cloneNowHidden:function(){St=!0},cloneNowShown:function(){St=!1},dispatchSortableEvent:function(a){Y({sortable:e,name:a,originalEvent:o})}},s))};function Y(n){Bn(ft({putSortable:H,cloneEl:T,targetEl:h,rootEl:I,oldIndex:Pt,oldDraggableIndex:qt,newIndex:Z,newDraggableIndex:wt},n))}var h,R,y,I,Lt,pe,T,St,Pt,Z,qt,wt,ce,H,Mt=!1,ye=!1,we=[],At,at,Me,Pe,Ii,Ti,Yt,Rt,Jt,Qt=!1,de=!1,ge,K,Ne=[],Ve=!1,Se=[],Ee=typeof document<"u",fe=Ke,_i=Zt||mt?"cssFloat":"float",Hn=Ee&&!Mi&&!Ke&&"draggable"in document.createElement("div"),Wi=(function(){if(Ee){if(mt)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}})(),zi=function(t,e){var i=b(t),o=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),s=kt(t,0,e),r=kt(t,1,e),a=s&&b(s),l=r&&b(r),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+N(s).width,f=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+N(r).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&a.float&&a.float!=="none"){var d=a.float==="left"?"left":"right";return r&&(l.clear==="both"||l.clear===d)?"vertical":"horizontal"}return s&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=o&&i[_i]==="none"||r&&i[_i]==="none"&&c+f>o)?"vertical":"horizontal"},Vn=function(t,e,i){var o=i?t.left:t.top,s=i?t.right:t.bottom,r=i?t.width:t.height,a=i?e.left:e.top,l=i?e.right:e.bottom,c=i?e.width:e.height;return o===a||s===l||o+r/2===a+c/2},Wn=function(t,e){var i;return we.some(function(o){var s=o[j].options.emptyInsertThreshold;if(!(!s||Ye(o))){var r=N(o),a=t>=r.left-s&&t<=r.right+s,l=e>=r.top-s&&e<=r.bottom+s;if(a&&l)return i=o}}),i},Xi=function(t){function e(s,r){return function(a,l,c,f){var d=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(s==null&&(r||d))return!0;if(s==null||s===!1)return!1;if(r&&s==="clone")return s;if(typeof s=="function")return e(s(a,l,c,f),r)(a,l,c,f);var p=(r?a:l).options.group.name;return s===!0||typeof s=="string"&&s===p||s.join&&s.indexOf(p)>-1}}var i={},o=t.group;(!o||ue(o)!="object")&&(o={name:o}),i.name=o.name,i.checkPull=e(o.pull,!0),i.checkPut=e(o.put),i.revertClone=o.revertClone,t.group=i},Ki=function(){!Wi&&y&&b(y,"display","none")},Yi=function(){!Wi&&y&&b(y,"display","")};Ee&&!Mi&&document.addEventListener("click",function(n){if(ye)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),ye=!1,!1},!0);var Ct=function(t){if(h){t=t.touches?t.touches[0]:t;var e=Wn(t.clientX,t.clientY);if(e){var i={};for(var o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);i.target=i.rootEl=e,i.preventDefault=void 0,i.stopPropagation=void 0,e[j]._onDragOver(i)}}},zn=function(t){h&&h.parentNode[j]._isOutsideThisEl(t.target)};function v(n,t){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=t=gt({},t),n[j]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return zi(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,a){r.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:v.supportPointer!==!1&&"PointerEvent"in window&&(!Gt||Ke),emptyInsertThreshold:5};te.initializePlugins(this,n,e);for(var i in e)!(i in t)&&(t[i]=e[i]);Xi(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Hn,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?E(n,"pointerdown",this._onTapStart):(E(n,"mousedown",this._onTapStart),E(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(E(n,"dragover",this),E(n,"dragenter",this)),we.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),gt(this,Pn())}v.prototype={constructor:v,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Rt=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,h):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,i=this.el,o=this.options,s=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,l=(a||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,f=o.filter;if(qn(i),!h&&!(/mousedown|pointerdown/.test(r)&&t.button!==0||o.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&Gt&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=lt(l,o.draggable,i,!1),!(l&&l.animated)&&pe!==l)){if(Pt=ot(l),qt=ot(l,o.draggable),typeof f=="function"){if(f.call(this,t,l,this)){Y({sortable:e,rootEl:c,name:"filter",targetEl:l,toEl:i,fromEl:i}),G("filter",e,{evt:t}),s&&t.preventDefault();return}}else if(f&&(f=f.split(",").some(function(d){if(d=lt(c,d.trim(),i,!1),d)return Y({sortable:e,rootEl:d,name:"filter",targetEl:l,fromEl:i,toEl:i}),G("filter",e,{evt:t}),!0}),f)){s&&t.preventDefault();return}o.handle&&!lt(c,o.handle,i,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,i){var o=this,s=o.el,r=o.options,a=s.ownerDocument,l;if(i&&!h&&i.parentNode===s){var c=N(i);if(I=s,h=i,R=h.parentNode,Lt=h.nextSibling,pe=i,ce=r.group,v.dragged=h,At={target:h,clientX:(e||t).clientX,clientY:(e||t).clientY},Ii=At.clientX-c.left,Ti=At.clientY-c.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,h.style["will-change"]="all",l=function(){if(G("delayEnded",o,{evt:t}),v.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Di&&o.nativeDraggable&&(h.draggable=!0),o._triggerDragStart(t,e),Y({sortable:o,name:"choose",originalEvent:t}),Q(h,r.chosenClass,!0)},r.ignore.split(",").forEach(function(f){ki(h,f.trim(),ke)}),E(a,"dragover",Ct),E(a,"mousemove",Ct),E(a,"touchmove",Ct),r.supportPointer?(E(a,"pointerup",o._onDrop),!this.nativeDraggable&&E(a,"pointercancel",o._onDrop)):(E(a,"mouseup",o._onDrop),E(a,"touchend",o._onDrop),E(a,"touchcancel",o._onDrop)),Di&&this.nativeDraggable&&(this.options.touchStartThreshold=4,h.draggable=!0),G("delayStart",this,{evt:t}),r.delay&&(!r.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Zt||mt))){if(v.eventCanceled){this._onDrop();return}r.supportPointer?(E(a,"pointerup",o._disableDelayedDrag),E(a,"pointercancel",o._disableDelayedDrag)):(E(a,"mouseup",o._disableDelayedDrag),E(a,"touchend",o._disableDelayedDrag),E(a,"touchcancel",o._disableDelayedDrag)),E(a,"mousemove",o._delayedDragTouchMoveHandler),E(a,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&E(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(l,r.delay)}else l()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){h&&ke(h),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;x(t,"mouseup",this._disableDelayedDrag),x(t,"touchend",this._disableDelayedDrag),x(t,"touchcancel",this._disableDelayedDrag),x(t,"pointerup",this._disableDelayedDrag),x(t,"pointercancel",this._disableDelayedDrag),x(t,"mousemove",this._delayedDragTouchMoveHandler),x(t,"touchmove",this._delayedDragTouchMoveHandler),x(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?E(document,"pointermove",this._onTouchMove):e?E(document,"touchmove",this._onTouchMove):E(document,"mousemove",this._onTouchMove):(E(h,"dragend",this),E(I,"dragstart",this._onDragStart));try{document.selection?me(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(Mt=!1,I&&h){G("dragStarted",this,{evt:e}),this.nativeDraggable&&E(document,"dragover",zn);var i=this.options;!t&&Q(h,i.dragClass,!1),Q(h,i.ghostClass,!0),v.active=this,t&&this._appendGhost(),Y({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(at){this._lastX=at.clientX,this._lastY=at.clientY,Ki();for(var t=document.elementFromPoint(at.clientX,at.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(at.clientX,at.clientY),t!==e);)e=t;if(h.parentNode[j]._isOutsideThisEl(t),e)do{if(e[j]){var i=void 0;if(i=e[j]._onDragOver({clientX:at.clientX,clientY:at.clientY,target:t,rootEl:e}),i&&!this.options.dragoverBubble)break}t=e}while(e=Ni(e));Yi()}},_onTouchMove:function(t){if(At){var e=this.options,i=e.fallbackTolerance,o=e.fallbackOffset,s=t.touches?t.touches[0]:t,r=y&&Nt(y,!0),a=y&&r&&r.a,l=y&&r&&r.d,c=fe&&K&&Li(K),f=(s.clientX-At.clientX+o.x)/(a||1)+(c?c[0]-Ne[0]:0)/(a||1),d=(s.clientY-At.clientY+o.y)/(l||1)+(c?c[1]-Ne[1]:0)/(l||1);if(!v.active&&!Mt){if(i&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))=0&&(Y({rootEl:R,name:"add",toEl:R,fromEl:I,originalEvent:t}),Y({sortable:this,name:"remove",toEl:R,originalEvent:t}),Y({rootEl:R,name:"sort",toEl:R,fromEl:I,originalEvent:t}),Y({sortable:this,name:"sort",toEl:R,originalEvent:t})),H&&H.save()):Z!==Pt&&Z>=0&&(Y({sortable:this,name:"update",toEl:R,originalEvent:t}),Y({sortable:this,name:"sort",toEl:R,originalEvent:t})),v.active&&((Z==null||Z===-1)&&(Z=Pt,wt=qt),Y({sortable:this,name:"end",toEl:R,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){G("nulling",this),I=h=R=y=Lt=T=pe=St=At=at=Yt=Z=wt=Pt=qt=Rt=Jt=H=ce=v.dragged=v.ghost=v.clone=v.active=null,Se.forEach(function(t){t.checked=!0}),Se.length=Me=Pe=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":h&&(this._onDragOver(t),Xn(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,i=this.el.children,o=0,s=i.length,r=this.options;oo.right+s||n.clientY>i.bottom&&n.clientX>i.left:n.clientY>o.bottom+s||n.clientX>i.right&&n.clientY>i.top}function Un(n,t,e,i,o,s,r,a){var l=i?n.clientY:n.clientX,c=i?e.height:e.width,f=i?e.top:e.left,d=i?e.bottom:e.right,p=!1;if(!r){if(a&&gef+c*s/2:ld-ge)return-Jt}else if(l>f+c*(1-o)/2&&ld-c*s/2)?l>f+c/2?1:-1:0}function Gn(n){return ot(h){},options:W,optionsLimit:tt=null,placeholder:z,position:k=null,searchableOptionFields:$=["label"],searchDebounce:B=1e3,searchingMessage:X="Searching...",searchPrompt:L="Search...",state:et,statePath:ee=null}){this.canOptionLabelsWrap=t,this.canSelectPlaceholder=e,this.element=i,this.getOptionLabelUsing=o,this.getOptionLabelsUsing=s,this.getOptionsUsing=r,this.getSearchResultsUsing=a,this.hasDynamicOptions=l,this.hasDynamicSearchResults=c,this.hasInitialNoOptionsMessage=f,this.initialOptionLabel=d,this.initialOptionLabels=p,this.initialState=u,this.isAutofocused=g,this.isDisabled=m,this.isHtmlAllowed=S,this.isMultiple=O,this.isReorderable=w,this.isSearchable=D,this.livewireId=A,this.loadingMessage=C,this.maxItems=F,this.maxItemsMessage=q,this.noOptionsMessage=J,this.noSearchResultsMessage=_,this.onStateChange=V,this.options=W,this.optionsLimit=tt,this.originalOptions=JSON.parse(JSON.stringify(W)),this.placeholder=z,this.position=k,this.searchableOptionFields=Array.isArray($)?$:["label"],this.searchDebounce=B,this.searchingMessage=X,this.searchPrompt=L,this.state=et,this.statePath=ee,this.activeSearchId=0,this.labelRepository={},this.isOpen=!1,this.selectedIndex=-1,this.searchQuery="",this.searchTimeout=null,this.isSearching=!1,this.selectedDisplayVersion=0,this.render(),this.setUpEventListeners(),this.isAutofocused&&this.selectButton.focus()}populateLabelRepositoryFromOptions(t){if(!(!t||!Array.isArray(t)))for(let e of t)e.options&&Array.isArray(e.options)?this.populateLabelRepositoryFromOptions(e.options):e.value!==void 0&&e.label!==void 0&&(this.labelRepository[e.value]=e.label)}render(){this.populateLabelRepositoryFromOptions(this.options),this.container=document.createElement("div"),this.container.className="fi-select-input-ctn",this.canOptionLabelsWrap||this.container.classList.add("fi-select-input-ctn-option-labels-not-wrapped"),this.container.setAttribute("aria-haspopup","listbox"),this.selectButton=document.createElement("button"),this.selectButton.className="fi-select-input-btn",this.selectButton.type="button",this.selectButton.setAttribute("aria-expanded","false"),this.selectedDisplay=document.createElement("div"),this.selectedDisplay.className="fi-select-input-value-ctn",this.updateSelectedDisplay(),this.selectButton.appendChild(this.selectedDisplay),this.dropdown=document.createElement("div"),this.dropdown.className="fi-dropdown-panel fi-scrollable",this.dropdown.setAttribute("role","listbox"),this.dropdown.setAttribute("tabindex","-1"),this.dropdown.style.display="none",this.dropdownId=`fi-select-input-dropdown-${Math.random().toString(36).substring(2,11)}`,this.dropdown.id=this.dropdownId,this.isMultiple&&this.dropdown.setAttribute("aria-multiselectable","true"),this.isSearchable&&(this.searchContainer=document.createElement("div"),this.searchContainer.className="fi-select-input-search-ctn",this.searchInput=document.createElement("input"),this.searchInput.className="fi-input",this.searchInput.type="text",this.searchInput.placeholder=this.searchPrompt,this.searchInput.setAttribute("aria-label","Search"),this.searchContainer.appendChild(this.searchInput),this.dropdown.appendChild(this.searchContainer),this.searchInput.addEventListener("input",t=>{this.isDisabled||this.handleSearch(t)}),this.searchInput.addEventListener("keydown",t=>{if(!this.isDisabled){if(t.key==="Tab"){t.preventDefault();let e=this.getVisibleOptions();if(e.length===0)return;t.shiftKey?this.selectedIndex=e.length-1:this.selectedIndex=0,e.forEach(i=>{i.classList.remove("fi-selected")}),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus()}else if(t.key==="ArrowDown"){if(t.preventDefault(),t.stopPropagation(),this.getVisibleOptions().length===0)return;this.selectedIndex=-1,this.searchInput.blur(),this.focusNextOption()}else if(t.key==="ArrowUp"){t.preventDefault(),t.stopPropagation();let e=this.getVisibleOptions();if(e.length===0)return;this.selectedIndex=e.length-1,this.searchInput.blur(),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus(),e[this.selectedIndex].id&&this.dropdown.setAttribute("aria-activedescendant",e[this.selectedIndex].id),this.scrollOptionIntoView(e[this.selectedIndex])}else if(t.key==="Enter"){if(t.preventDefault(),t.stopPropagation(),this.isSearching)return;let e=this.getVisibleOptions();if(e.length===0)return;let i=e.find(s=>{let r=s.getAttribute("aria-disabled")==="true",a=s.classList.contains("fi-disabled"),l=s.offsetParent===null;return!(r||a||l)});if(!i)return;let o=i.getAttribute("data-value");if(o===null)return;this.selectOption(o)}}})),this.optionsList=document.createElement("ul"),this.renderOptions(),this.container.appendChild(this.selectButton),this.container.appendChild(this.dropdown),this.element.appendChild(this.container),this.applyDisabledState()}renderOptions(){this.optionsList.innerHTML="";let t=0,e=this.options,i=0,o=!1;this.options.forEach(a=>{a.options&&Array.isArray(a.options)?(i+=a.options.length,o=!0):i++}),o?this.optionsList.className="fi-select-input-options-ctn":i>0&&(this.optionsList.className="fi-dropdown-list");let s=o?null:this.optionsList,r=0;for(let a of e){if(this.optionsLimit&&r>=this.optionsLimit)break;if(a.options&&Array.isArray(a.options)){let l=a.options;if(this.isMultiple&&Array.isArray(this.state)&&this.state.length>0&&(l=a.options.filter(c=>!this.state.includes(c.value))),l.length>0){if(this.optionsLimit){let c=this.optionsLimit-r;c{let a=this.createOptionElement(r.value,r);s.appendChild(a)}),i.appendChild(o),i.appendChild(s),this.optionsList.appendChild(i)}createOptionElement(t,e){let i=t,o=e,s=!1;typeof e=="object"&&e!==null&&"label"in e&&"value"in e&&(i=e.value,o=e.label,s=e.isDisabled||!1);let r=document.createElement("li");r.className="fi-dropdown-list-item fi-select-input-option",s&&r.classList.add("fi-disabled");let a=`fi-select-input-option-${Math.random().toString(36).substring(2,11)}`;if(r.id=a,r.setAttribute("role","option"),r.setAttribute("data-value",i),r.setAttribute("tabindex","0"),s&&r.setAttribute("aria-disabled","true"),this.isHtmlAllowed&&typeof o=="string"){let f=document.createElement("div");f.innerHTML=o;let d=f.textContent||f.innerText||o;r.setAttribute("aria-label",d)}let l=this.isMultiple?Array.isArray(this.state)&&this.state.includes(i):this.state===i;r.setAttribute("aria-selected",l?"true":"false"),l&&r.classList.add("fi-selected");let c=document.createElement("span");return this.isHtmlAllowed?c.innerHTML=o:c.textContent=o,r.appendChild(c),s||r.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),this.selectOption(i),this.isMultiple&&(this.isSearchable&&this.searchInput?setTimeout(()=>{this.searchInput.focus()},0):setTimeout(()=>{r.focus()},0))}),r}async updateSelectedDisplay(){this.selectedDisplayVersion=this.selectedDisplayVersion+1;let t=this.selectedDisplayVersion,e=document.createDocumentFragment();if(this.isMultiple){if(!Array.isArray(this.state)||this.state.length===0){let o=document.createElement("span");o.textContent=this.placeholder,o.classList.add("fi-select-input-placeholder"),e.appendChild(o)}else{let o=await this.getLabelsForMultipleSelection();if(t!==this.selectedDisplayVersion)return;this.addBadgesForSelectedOptions(o,e)}t===this.selectedDisplayVersion&&(this.selectedDisplay.replaceChildren(e),this.isOpen&&this.positionDropdown());return}if(this.state===null||this.state===""){let o=document.createElement("span");if(o.textContent=this.placeholder,o.classList.add("fi-select-input-placeholder"),e.appendChild(o),t===this.selectedDisplayVersion){this.selectedDisplay.replaceChildren(e);let s=this.container.querySelector(".fi-select-input-value-remove-btn");s&&s.remove(),this.container.classList.remove("fi-select-input-ctn-clearable")}return}let i=await this.getLabelForSingleSelection();t===this.selectedDisplayVersion&&(this.addSingleSelectionDisplay(i,e),t===this.selectedDisplayVersion&&this.selectedDisplay.replaceChildren(e))}async getLabelsForMultipleSelection(){let t=this.getSelectedOptionLabels(),e=[];if(Array.isArray(this.state)){for(let o of this.state)if(!M(this.labelRepository[o])){if(M(t[o])){this.labelRepository[o]=t[o];continue}e.push(o.toString())}}if(e.length>0&&M(this.initialOptionLabels)&&JSON.stringify(this.state)===JSON.stringify(this.initialState)){if(Array.isArray(this.initialOptionLabels))for(let o of this.initialOptionLabels)M(o)&&o.value!==void 0&&o.label!==void 0&&e.includes(o.value)&&(this.labelRepository[o.value]=o.label)}else if(e.length>0&&this.getOptionLabelsUsing)try{let o=await this.getOptionLabelsUsing();for(let s of o)M(s)&&s.value!==void 0&&s.label!==void 0&&(this.labelRepository[s.value]=s.label)}catch(o){console.error("Error fetching option labels:",o)}let i=[];if(Array.isArray(this.state))for(let o of this.state)M(this.labelRepository[o])?i.push(this.labelRepository[o]):M(t[o])?i.push(t[o]):i.push(o);return i}createBadgeElement(t,e){let i=document.createElement("span");i.className="fi-badge fi-size-md fi-color fi-color-primary fi-text-color-600 dark:fi-text-color-200",M(t)&&i.setAttribute("data-value",t);let o=document.createElement("span");o.className="fi-badge-label-ctn";let s=document.createElement("span");s.className="fi-badge-label",this.canOptionLabelsWrap&&s.classList.add("fi-wrapped"),this.isHtmlAllowed?s.innerHTML=e:s.textContent=e,o.appendChild(s),i.appendChild(o);let r=this.createRemoveButton(t,e);return i.appendChild(r),i}createRemoveButton(t,e){let i=document.createElement("button");return i.type="button",i.className="fi-badge-delete-btn",i.innerHTML='',i.setAttribute("aria-label","Remove "+(this.isHtmlAllowed?e.replace(/<[^>]*>/g,""):e)),i.addEventListener("click",o=>{o.stopPropagation(),M(t)&&this.selectOption(t)}),i.addEventListener("keydown",o=>{(o.key===" "||o.key==="Enter")&&(o.preventDefault(),o.stopPropagation(),M(t)&&this.selectOption(t))}),i}addBadgesForSelectedOptions(t,e=this.selectedDisplay){let i=document.createElement("div");i.className="fi-select-input-value-badges-ctn",t.forEach((o,s)=>{let r=Array.isArray(this.state)?this.state[s]:null,a=this.createBadgeElement(r,o);i.appendChild(a)}),e.appendChild(i),this.isReorderable&&(i.addEventListener("click",o=>{o.stopPropagation()}),i.addEventListener("mousedown",o=>{o.stopPropagation()}),new Ui(i,{animation:150,onEnd:()=>{let o=[];i.querySelectorAll("[data-value]").forEach(s=>{o.push(s.getAttribute("data-value"))}),this.state=o,this.onStateChange(this.state)}}))}async getLabelForSingleSelection(){let t=this.labelRepository[this.state];if(bt(t)&&(t=this.getSelectedOptionLabel(this.state)),bt(t)&&M(this.initialOptionLabel)&&this.state===this.initialState)t=this.initialOptionLabel,M(this.state)&&(this.labelRepository[this.state]=t);else if(bt(t)&&this.getOptionLabelUsing)try{t=await this.getOptionLabelUsing(),M(t)&&M(this.state)&&(this.labelRepository[this.state]=t)}catch(e){console.error("Error fetching option label:",e),t=this.state}else bt(t)&&(t=this.state);return t}addSingleSelectionDisplay(t,e=this.selectedDisplay){let i=document.createElement("span");if(i.className="fi-select-input-value-label",this.isHtmlAllowed?i.innerHTML=t:i.textContent=t,e.appendChild(i),!this.canSelectPlaceholder||this.container.querySelector(".fi-select-input-value-remove-btn"))return;let o=document.createElement("button");o.type="button",o.className="fi-select-input-value-remove-btn",o.innerHTML='',o.setAttribute("aria-label","Clear selection"),o.addEventListener("click",s=>{s.stopPropagation(),this.selectOption("")}),o.addEventListener("keydown",s=>{(s.key===" "||s.key==="Enter")&&(s.preventDefault(),s.stopPropagation(),this.selectOption(""))}),this.container.appendChild(o),this.container.classList.add("fi-select-input-ctn-clearable")}getSelectedOptionLabel(t){if(M(this.labelRepository[t]))return this.labelRepository[t];let e="";for(let i of this.options)if(i.options&&Array.isArray(i.options)){for(let o of i.options)if(o.value===t){e=o.label,this.labelRepository[t]=e;break}}else if(i.value===t){e=i.label,this.labelRepository[t]=e;break}return e}setUpEventListeners(){this.buttonClickListener=()=>{this.toggleDropdown()},this.documentClickListener=t=>{!this.container.contains(t.target)&&this.isOpen&&this.closeDropdown()},this.buttonKeydownListener=t=>{this.isDisabled||this.handleSelectButtonKeydown(t)},this.dropdownKeydownListener=t=>{this.isDisabled||this.isSearchable&&document.activeElement===this.searchInput&&!["Tab","Escape"].includes(t.key)||this.handleDropdownKeydown(t)},this.selectButton.addEventListener("click",this.buttonClickListener),document.addEventListener("click",this.documentClickListener),this.selectButton.addEventListener("keydown",this.buttonKeydownListener),this.dropdown.addEventListener("keydown",this.dropdownKeydownListener),!this.isMultiple&&this.livewireId&&this.statePath&&this.getOptionLabelUsing&&(this.refreshOptionLabelListener=async t=>{if(t.detail.livewireId===this.livewireId&&t.detail.statePath===this.statePath&&M(this.state))try{delete this.labelRepository[this.state];let e=await this.getOptionLabelUsing();M(e)&&(this.labelRepository[this.state]=e);let i=this.selectedDisplay.querySelector(".fi-select-input-value-label");M(i)&&(this.isHtmlAllowed?i.innerHTML=e:i.textContent=e),this.updateOptionLabelInList(this.state,e)}catch(e){console.error("Error refreshing option label:",e)}},window.addEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener))}updateOptionLabelInList(t,e){this.labelRepository[t]=e;let i=this.getVisibleOptions();for(let o of i)if(o.getAttribute("data-value")===String(t)){if(o.innerHTML="",this.isHtmlAllowed){let s=document.createElement("span");s.innerHTML=e,o.appendChild(s)}else o.appendChild(document.createTextNode(e));break}for(let o of this.options)if(o.options&&Array.isArray(o.options)){for(let s of o.options)if(s.value===t){s.label=e;break}}else if(o.value===t){o.label=e;break}for(let o of this.originalOptions)if(o.options&&Array.isArray(o.options)){for(let s of o.options)if(s.value===t){s.label=e;break}}else if(o.value===t){o.label=e;break}}handleSelectButtonKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusNextOption():this.openDropdown();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusPreviousOption():this.openDropdown();break;case" ":if(t.preventDefault(),this.isOpen){if(this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}}else this.openDropdown();break;case"Enter":break;case"Escape":this.isOpen&&(t.preventDefault(),this.closeDropdown());break;case"Tab":this.isOpen&&this.closeDropdown();break;default:if(this.isSearchable&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&typeof t.key=="string"&&t.key.length===1){t.preventDefault();let e=t.key;this.isOpen||this.openDropdown(),this.searchInput&&(this.searchInput.focus(),this.searchInput.value=(this.searchInput.value||"")+e,this.searchInput.dispatchEvent(new Event("input",{bubbles:!0})))}break}}handleDropdownKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.focusNextOption();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.focusPreviousOption();break;case" ":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}break;case"Enter":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}else{let e=this.element.closest("form");e&&e.submit()}break;case"Escape":t.preventDefault(),this.closeDropdown(),this.selectButton.focus();break;case"Tab":this.closeDropdown();break;default:if(this.isSearchable&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&typeof t.key=="string"&&t.key.length===1){t.preventDefault();let e=t.key;this.searchInput&&(this.searchInput.focus(),this.searchInput.value=(this.searchInput.value||"")+e,this.searchInput.dispatchEvent(new Event("input",{bubbles:!0})))}break}}toggleDropdown(){if(!this.isDisabled){if(this.isOpen){this.closeDropdown();return}this.isMultiple&&!this.isSearchable&&!this.hasAvailableOptions()||this.openDropdown()}}hasAvailableOptions(){for(let t of this.options)if(t.options&&Array.isArray(t.options)){for(let e of t.options)if(!Array.isArray(this.state)||!this.state.includes(e.value))return!0}else if(!Array.isArray(this.state)||!this.state.includes(t.value))return!0;return!1}async openDropdown(){this.dropdown.style.display="block",this.dropdown.style.opacity="0";let t=this.selectButton.closest(".fi-fixed-positioning-context")!==null&&this.selectButton.closest(".fi-absolute-positioning-context")===null;if(this.dropdown.style.position=t?"fixed":"absolute",this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.selectButton.setAttribute("aria-expanded","true"),this.isOpen=!0,this.positionDropdown(),this.resizeListener||(this.resizeListener=()=>{this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.positionDropdown()},window.addEventListener("resize",this.resizeListener)),this.scrollListener||(this.scrollListener=()=>this.positionDropdown(),window.addEventListener("scroll",this.scrollListener,!0)),this.dropdown.style.opacity="1",this.isSearchable&&this.searchInput&&(this.searchInput.value="",this.searchQuery="",this.hasDynamicOptions||(this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions())),this.hasDynamicOptions&&this.getOptionsUsing){this.showLoadingState(!1);try{let e=await this.getOptionsUsing(),i=Array.isArray(e)?e:e&&Array.isArray(e.options)?e.options:[];if(this.options=i,this.originalOptions=JSON.parse(JSON.stringify(i)),this.populateLabelRepositoryFromOptions(i),this.isSearchable&&this.searchInput&&(this.searchInput.value&&this.searchInput.value.trim()!==""||this.searchQuery&&this.searchQuery.trim()!=="")){let o=(this.searchInput.value||this.searchQuery||"").trim().toLowerCase();this.hideLoadingState(),this.filterOptions(o)}else this.renderOptions()}catch(e){console.error("Error fetching options:",e),this.hideLoadingState()}}else(!this.hasInitialNoOptionsMessage||this.searchQuery)&&this.hideLoadingState();if(this.isSearchable&&this.searchInput)this.searchInput.focus();else{this.selectedIndex=-1;let e=this.getVisibleOptions();if(this.isMultiple){if(Array.isArray(this.state)&&this.state.length>0){for(let i=0;i0&&(this.selectedIndex=0),this.selectedIndex>=0&&(e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus())}}positionDropdown(){let t=this.position==="top"?"top-start":"bottom-start",e=[wi(4),Si({padding:5})];this.position!=="top"&&this.position!=="bottom"&&e.push(xi());let i=this.selectButton.closest(".fi-fixed-positioning-context")!==null&&this.selectButton.closest(".fi-absolute-positioning-context")===null;Ei(this.selectButton,this.dropdown,{placement:t,middleware:e,strategy:i?"fixed":"absolute"}).then(({x:o,y:s})=>{Object.assign(this.dropdown.style,{left:`${o}px`,top:`${s}px`})})}closeDropdown(){this.dropdown.style.display="none",this.selectButton.setAttribute("aria-expanded","false"),this.isOpen=!1,this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null),this.activeSearchId++,this.isSearching=!1,this.hideLoadingState(),this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.getVisibleOptions().forEach(e=>{e.classList.remove("fi-selected")}),this.dropdown.removeAttribute("aria-activedescendant")}focusNextOption(){let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex>=0&&this.selectedIndex=0&&this.selectedIndexe.bottom?this.dropdown.scrollTop+=i.bottom-e.bottom:i.top li[role="option"]')):t=Array.from(this.optionsList.querySelectorAll(':scope > ul.fi-dropdown-list > li[role="option"]'));let e=Array.from(this.optionsList.querySelectorAll('li.fi-select-input-option-group > ul > li[role="option"]'));return[...t,...e]}getSelectedOptionLabels(){if(!Array.isArray(this.state)||this.state.length===0)return{};let t={};for(let e of this.state){let i=!1;for(let o of this.options)if(o.options&&Array.isArray(o.options)){for(let s of o.options)if(s.value===e){t[e]=s.label,i=!0;break}if(i)break}else if(o.value===e){t[e]=o.label,i=!0;break}}return t}handleSearch(t){let e=t.target.value.trim();if(this.searchQuery=e,this.searchTimeout&&clearTimeout(this.searchTimeout),e===""){this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions();return}if(!this.getSearchResultsUsing||typeof this.getSearchResultsUsing!="function"||!this.hasDynamicSearchResults){this.filterOptions(e);return}this.searchTimeout=setTimeout(async()=>{this.searchTimeout=null;let i=++this.activeSearchId;this.isSearching=!0;try{this.showLoadingState(!0);let o=await this.getSearchResultsUsing(e);if(i!==this.activeSearchId||!this.isOpen)return;let s=Array.isArray(o)?o:o&&Array.isArray(o.options)?o.options:[];this.options=s,this.populateLabelRepositoryFromOptions(s),this.hideLoadingState(),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.options.length===0&&this.showNoResultsMessage()}catch(o){i===this.activeSearchId&&(console.error("Error fetching search results:",o),this.hideLoadingState(),this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions())}finally{i===this.activeSearchId&&(this.isSearching=!1)}},this.searchDebounce)}showLoadingState(t=!1){this.optionsList.parentNode===this.dropdown&&this.dropdown.removeChild(this.optionsList),this.hideLoadingState();let e=document.createElement("div");e.className="fi-select-input-message",e.textContent=t?this.searchingMessage:this.loadingMessage,this.dropdown.appendChild(e)}hideLoadingState(){let t=this.dropdown.querySelector(".fi-select-input-message");t&&t.remove()}showNoOptionsMessage(){this.optionsList.parentNode===this.dropdown&&this.dropdown.removeChild(this.optionsList),this.hideLoadingState();let t=document.createElement("div");t.className="fi-select-input-message",t.textContent=this.noOptionsMessage,this.dropdown.appendChild(t)}showNoResultsMessage(){this.optionsList.parentNode===this.dropdown&&this.dropdown.removeChild(this.optionsList),this.hideLoadingState();let t=document.createElement("div");t.className="fi-select-input-message",t.textContent=this.noSearchResultsMessage,this.dropdown.appendChild(t)}filterOptions(t){let e=this.searchableOptionFields.includes("label"),i=this.searchableOptionFields.includes("value");t=t.toLowerCase();let o=[];for(let s of this.originalOptions)if(s.options&&Array.isArray(s.options)){let r=s.options.filter(a=>e&&a.label.toLowerCase().includes(t)||i&&String(a.value).toLowerCase().includes(t));r.length>0&&o.push({label:s.label,options:r})}else(e&&s.label.toLowerCase().includes(t)||i&&String(s.value).toLowerCase().includes(t))&&o.push(s);this.options=o,this.renderOptions(),this.options.length===0&&this.showNoResultsMessage(),this.isOpen&&this.positionDropdown()}selectOption(t){if(this.isDisabled)return;if(!this.isMultiple){this.state=t,this.updateSelectedDisplay(),this.renderOptions(),this.closeDropdown(),this.selectButton.focus(),this.onStateChange(this.state);return}let e=Array.isArray(this.state)?[...this.state]:[];if(e.includes(t)){let o=this.selectedDisplay.querySelector(`[data-value="${t}"]`);if(M(o)){let s=o.parentElement;M(s)&&s.children.length===1?(e=e.filter(r=>r!==t),this.state=e,this.updateSelectedDisplay()):(o.remove(),e=e.filter(r=>r!==t),this.state=e)}else e=e.filter(s=>s!==t),this.state=e,this.updateSelectedDisplay();this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state);return}if(this.maxItems&&e.length>=this.maxItems){this.maxItemsMessage&&alert(this.maxItemsMessage);return}e.push(t),this.state=e;let i=this.selectedDisplay.querySelector(".fi-select-input-value-badges-ctn");bt(i)?this.updateSelectedDisplay():this.addSingleBadge(t,i),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state)}async addSingleBadge(t,e){let i=this.labelRepository[t];if(bt(i)&&(i=this.getSelectedOptionLabel(t),M(i)&&(this.labelRepository[t]=i)),bt(i)&&this.getOptionLabelsUsing)try{let s=await this.getOptionLabelsUsing();for(let r of s)if(M(r)&&r.value===t&&r.label!==void 0){i=r.label,this.labelRepository[t]=i;break}}catch(s){console.error("Error fetching option label:",s)}bt(i)&&(i=t);let o=this.createBadgeElement(t,i);e.appendChild(o)}maintainFocusInMultipleMode(){if(this.isSearchable&&this.searchInput){this.searchInput.focus();return}let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex=-1,Array.isArray(this.state)&&this.state.length>0){for(let e=0;e{e.setAttribute("disabled","disabled"),e.classList.add("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.setAttribute("disabled","disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.setAttribute("disabled","disabled"),this.searchInput.classList.add("fi-disabled"))}else{if(this.selectButton.removeAttribute("disabled"),this.selectButton.removeAttribute("aria-disabled"),this.selectButton.classList.remove("fi-disabled"),this.isMultiple&&this.container.querySelectorAll(".fi-select-input-badge-remove").forEach(e=>{e.removeAttribute("disabled"),e.classList.remove("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.removeAttribute("disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.removeAttribute("disabled"),this.searchInput.classList.remove("fi-disabled"))}}destroy(){this.selectButton&&this.buttonClickListener&&this.selectButton.removeEventListener("click",this.buttonClickListener),this.documentClickListener&&document.removeEventListener("click",this.documentClickListener),this.selectButton&&this.buttonKeydownListener&&this.selectButton.removeEventListener("keydown",this.buttonKeydownListener),this.dropdown&&this.dropdownKeydownListener&&this.dropdown.removeEventListener("keydown",this.dropdownKeydownListener),this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.refreshOptionLabelListener&&window.removeEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener),this.isOpen&&this.closeDropdown(),this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null),this.container&&this.container.remove()}};function Qn({canOptionLabelsWrap:n,canSelectPlaceholder:t,getOptionLabelUsing:e,getOptionLabelsUsing:i,getOptionsUsing:o,getSearchResultsUsing:s,hasDynamicOptions:r,hasDynamicSearchResults:a,hasInitialNoOptionsMessage:l,initialOptionLabel:c,initialOptionLabels:f,initialState:d,isAutofocused:p,isDisabled:u,isHtmlAllowed:g,isMultiple:m,isReorderable:S,isSearchable:O,livewireId:w,loadingMessage:D,maxItems:A,maxItemsMessage:C,noOptionsMessage:F,noSearchResultsMessage:q,options:J,optionsLimit:_,placeholder:V,position:W,searchDebounce:tt,searchingMessage:z,searchPrompt:k,searchableOptionFields:$,state:B,statePath:X}){return{select:null,state:B,init(){this.select=new Oe({canOptionLabelsWrap:n,canSelectPlaceholder:t,element:this.$refs.select,getOptionLabelUsing:e,getOptionLabelsUsing:i,getOptionsUsing:o,getSearchResultsUsing:s,hasDynamicOptions:r,hasDynamicSearchResults:a,hasInitialNoOptionsMessage:l,initialOptionLabel:c,initialOptionLabels:f,initialState:d,isAutofocused:p,isDisabled:u,isHtmlAllowed:g,isMultiple:m,isReorderable:S,isSearchable:O,livewireId:w,loadingMessage:D,maxItems:A,maxItemsMessage:C,noOptionsMessage:F,noSearchResultsMessage:q,onStateChange:L=>{this.state=L},options:J,optionsLimit:_,placeholder:V,position:W,searchableOptionFields:$,searchDebounce:tt,searchingMessage:z,searchPrompt:k,state:this.state,statePath:X}),this.$watch("state",L=>{this.select&&this.select.state!==L&&(this.select.state=L,this.select.updateSelectedDisplay(),this.select.renderOptions())})},destroy(){this.select&&(this.select.destroy(),this.select=null)}}}export{Qn as default}; /*! Bundled license information: -choices.js/public/assets/scripts/choices.js: - (*! choices.js v10.2.0 | © 2022 Josh Johnson | https://github.com/jshjohnson/Choices#readme *) +sortablejs/modular/sortable.esm.js: + (**! + * Sortable 1.15.6 + * @author RubaXa + * @author owenm + * @license MIT + *) */ diff --git a/public/js/filament/forms/components/slider.js b/public/js/filament/forms/components/slider.js new file mode 100644 index 000000000..c79171c2d --- /dev/null +++ b/public/js/filament/forms/components/slider.js @@ -0,0 +1 @@ +var I;(function(r){r.Range="range",r.Steps="steps",r.Positions="positions",r.Count="count",r.Values="values"})(I||(I={}));var O;(function(r){r[r.None=-1]="None",r[r.NoValue=0]="NoValue",r[r.LargeValue=1]="LargeValue",r[r.SmallValue=2]="SmallValue"})(O||(O={}));function we(r){return rt(r)&&typeof r.from=="function"}function rt(r){return typeof r=="object"&&typeof r.to=="function"}function zt(r){r.parentElement.removeChild(r)}function St(r){return r!=null}function Ft(r){r.preventDefault()}function Ce(r){return r.filter(function(t){return this[t]?!1:this[t]=!0},{})}function Ee(r,t){return Math.round(r/t)*t}function Ae(r,t){var s=r.getBoundingClientRect(),f=r.ownerDocument,u=f.documentElement,d=Bt(f);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(d.x=0),t?s.top+d.y-u.clientTop:s.left+d.x-u.clientLeft}function R(r){return typeof r=="number"&&!isNaN(r)&&isFinite(r)}function Rt(r,t,s){s>0&&(L(r,t),setTimeout(function(){et(r,t)},s))}function jt(r){return Math.max(Math.min(r,100),0)}function it(r){return Array.isArray(r)?r:[r]}function Pe(r){r=String(r);var t=r.split(".");return t.length>1?t[1].length:0}function L(r,t){r.classList&&!/\s/.test(t)?r.classList.add(t):r.className+=" "+t}function et(r,t){r.classList&&!/\s/.test(t)?r.classList.remove(t):r.className=r.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," ")}function Ve(r,t){return r.classList?r.classList.contains(t):new RegExp("\\b"+t+"\\b").test(r.className)}function Bt(r){var t=window.pageXOffset!==void 0,s=(r.compatMode||"")==="CSS1Compat",f=t?window.pageXOffset:s?r.documentElement.scrollLeft:r.body.scrollLeft,u=t?window.pageYOffset:s?r.documentElement.scrollTop:r.body.scrollTop;return{x:f,y:u}}function De(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function ye(){var r=!1;try{var t=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("test",null,t)}catch{}return r}function ke(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function bt(r,t){return 100/(t-r)}function xt(r,t,s){return t*100/(r[s+1]-r[s])}function Ue(r,t){return xt(r,r[0]<0?t+Math.abs(r[0]):t-r[0],0)}function Me(r,t){return t*(r[1]-r[0])/100+r[0]}function G(r,t){for(var s=1;r>=t[s];)s+=1;return s}function _e(r,t,s){if(s>=r.slice(-1)[0])return 100;var f=G(s,r),u=r[f-1],d=r[f],v=t[f-1],w=t[f];return v+Ue([u,d],s)/bt(v,w)}function Le(r,t,s){if(s>=100)return r.slice(-1)[0];var f=G(s,t),u=r[f-1],d=r[f],v=t[f-1],w=t[f];return Me([u,d],(s-v)*bt(v,w))}function Oe(r,t,s,f){if(f===100)return f;var u=G(f,r),d=r[u-1],v=r[u];return s?f-d>(v-d)/2?v:d:t[u-1]?r[u-1]+Ee(f-r[u-1],t[u-1]):f}var Kt=(function(){function r(t,s,f){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[f||!1],this.xNumSteps=[!1],this.snap=s;var u,d=[];for(Object.keys(t).forEach(function(v){d.push([it(t[v]),v])}),d.sort(function(v,w){return v[0][0]-w[0][0]}),u=0;uthis.xPct[u+1];)u++;else t===this.xPct[this.xPct.length-1]&&(u=this.xPct.length-2);!f&&t===this.xPct[u+1]&&u++,s===null&&(s=[]);var d,v=1,w=s[u],C=0,p=0,D=0,y=0;for(f?d=(t-this.xPct[u])/(this.xPct[u+1]-this.xPct[u]):d=(this.xPct[u+1]-t)/(this.xPct[u+1]-this.xPct[u]);w>0;)C=this.xPct[u+1+y]-this.xPct[u+y],s[u+y]*v+100-d*100>100?(p=C*d,v=(w-100*d)/s[u+y],d=1):(p=s[u+y]*C/100*v,v=0),f?(D=D-p,this.xPct.length+y>=1&&y--):(D=D+p,this.xPct.length-y>=1&&y++),w=s[u+y]*v;return t+D},r.prototype.toStepping=function(t){return t=_e(this.xVal,this.xPct,t),t},r.prototype.fromStepping=function(t){return Le(this.xVal,this.xPct,t)},r.prototype.getStep=function(t){return t=Oe(this.xPct,this.xSteps,this.snap,t),t},r.prototype.getDefaultStep=function(t,s,f){var u=G(t,this.xPct);return(t===100||s&&t===this.xPct[u-1])&&(u=Math.max(u-1,1)),(this.xVal[u]-this.xVal[u-1])/f},r.prototype.getNearbySteps=function(t){var s=G(t,this.xPct);return{stepBefore:{startValue:this.xVal[s-2],step:this.xNumSteps[s-2],highestStep:this.xHighestCompleteStep[s-2]},thisStep:{startValue:this.xVal[s-1],step:this.xNumSteps[s-1],highestStep:this.xHighestCompleteStep[s-1]},stepAfter:{startValue:this.xVal[s],step:this.xNumSteps[s],highestStep:this.xHighestCompleteStep[s]}}},r.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(Pe);return Math.max.apply(null,t)},r.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},r.prototype.convert=function(t){return this.getStep(this.toStepping(t))},r.prototype.handleEntryPoint=function(t,s){var f;if(t==="min"?f=0:t==="max"?f=100:f=parseFloat(t),!R(f)||!R(s[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(f),this.xVal.push(s[0]);var u=Number(s[1]);f?this.xSteps.push(isNaN(u)?!1:u):isNaN(u)||(this.xSteps[0]=u),this.xHighestCompleteStep.push(0)},r.prototype.handleStepPoint=function(t,s){if(s){if(this.xVal[t]===this.xVal[t+1]){this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t];return}this.xSteps[t]=xt([this.xVal[t],this.xVal[t+1]],s,0)/bt(this.xPct[t],this.xPct[t+1]);var f=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],u=Math.ceil(Number(f.toFixed(3))-1),d=this.xVal[t]+this.xNumSteps[t]*u;this.xHighestCompleteStep[t]=d}},r})(),Nt={to:function(r){return r===void 0?"":r.toFixed(2)},from:Number},It={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},K={tooltips:".__tooltips",aria:".__aria"};function He(r,t){if(!R(t))throw new Error("noUiSlider: 'step' is not numeric.");r.singleStep=t}function ze(r,t){if(!R(t))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");r.keyboardPageMultiplier=t}function Fe(r,t){if(!R(t))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");r.keyboardMultiplier=t}function Re(r,t){if(!R(t))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");r.keyboardDefaultStep=t}function je(r,t){if(typeof t!="object"||Array.isArray(t))throw new Error("noUiSlider: 'range' is not an object.");if(t.min===void 0||t.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");r.spectrum=new Kt(t,r.snap||!1,r.singleStep)}function Ne(r,t){if(t=it(t),!Array.isArray(t)||!t.length)throw new Error("noUiSlider: 'start' option is incorrect.");r.handles=t.length,r.start=t}function Be(r,t){if(typeof t!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");r.snap=t}function Ke(r,t){if(typeof t!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");r.animate=t}function Ie(r,t){if(typeof t!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");r.animationDuration=t}function qt(r,t){var s=[!1],f;if(t==="lower"?t=[!0,!1]:t==="upper"&&(t=[!1,!0]),t===!0||t===!1){for(f=1;f1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function Ye(r,t){switch(t){case"ltr":r.dir=0;break;case"rtl":r.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function We(r,t){if(typeof t!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var s=t.indexOf("tap")>=0,f=t.indexOf("drag")>=0,u=t.indexOf("fixed")>=0,d=t.indexOf("snap")>=0,v=t.indexOf("hover")>=0,w=t.indexOf("unconstrained")>=0,C=t.indexOf("invert-connects")>=0,p=t.indexOf("drag-all")>=0,D=t.indexOf("smooth-steps")>=0;if(u){if(r.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");Tt(r,r.start[1]-r.start[0])}if(C&&r.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(w&&(r.margin||r.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");r.events={tap:s||d,drag:f,dragAll:p,smoothSteps:D,fixed:u,snap:d,hover:v,unconstrained:w,invertConnects:C}}function $e(r,t){if(t!==!1)if(t===!0||rt(t)){r.tooltips=[];for(var s=0;s= 2) required for mode 'count'.");for(var i=e.values-1,a=100/i,n=[];i--;)n[i]=i*a;return n.push(100),Et(n,e.stepped)}return e.mode===I.Positions?Et(e.values,e.stepped):e.mode===I.Values?e.stepped?e.values.map(function(o){return m.fromStepping(m.getStep(m.toStepping(o)))}):e.values:[]}function Et(e,i){return e.map(function(a){return m.fromStepping(i?m.getStep(a):a)})}function ie(e){function i(x,E){return Number((x+E).toFixed(7))}var a=re(e),n={},o=m.xVal[0],l=m.xVal[m.xVal.length-1],h=!1,c=!1,S=0;return a=Ce(a.slice().sort(function(x,E){return x-E})),a[0]!==o&&(a.unshift(o),h=!0),a[a.length-1]!==l&&(a.push(l),c=!0),a.forEach(function(x,E){var A,g,V,_=x,k=a[E+1],U,dt,pt,mt,Lt,gt,Ot,Ht=e.mode===I.Steps;for(Ht&&(A=m.xNumSteps[E]),A||(A=k-_),k===void 0&&(k=_),A=Math.max(A,1e-7),g=_;g<=k;g=i(g,A)){for(U=m.toStepping(g),dt=U-S,Lt=dt/(e.density||1),gt=Math.round(Lt),Ot=dt/gt,V=1;V<=gt;V+=1)pt=S+V*Ot,n[pt.toFixed(5)]=[m.fromStepping(pt),0];mt=a.indexOf(g)>-1?O.LargeValue:Ht?O.SmallValue:O.NoValue,!E&&h&&g!==k&&(mt=0),g===k&&c||(n[U.toFixed(5)]=[g,mt]),S=U}}),n}function ae(e,i,a){var n,o,l=B.createElement("div"),h=(n={},n[O.None]="",n[O.NoValue]=t.cssClasses.valueNormal,n[O.LargeValue]=t.cssClasses.valueLarge,n[O.SmallValue]=t.cssClasses.valueSub,n),c=(o={},o[O.None]="",o[O.NoValue]=t.cssClasses.markerNormal,o[O.LargeValue]=t.cssClasses.markerLarge,o[O.SmallValue]=t.cssClasses.markerSub,o),S=[t.cssClasses.valueHorizontal,t.cssClasses.valueVertical],x=[t.cssClasses.markerHorizontal,t.cssClasses.markerVertical];L(l,t.cssClasses.pips),L(l,t.ort===0?t.cssClasses.pipsHorizontal:t.cssClasses.pipsVertical);function E(g,V){var _=V===t.cssClasses.value,k=_?S:x,U=_?h:c;return V+" "+k[t.ort]+" "+U[g]}function A(g,V,_){if(_=i?i(V,_):_,_!==O.None){var k=N(l,!1);k.className=E(_,t.cssClasses.marker),k.style[t.style]=g+"%",_>O.NoValue&&(k=N(l,!1),k.className=E(_,t.cssClasses.value),k.setAttribute("data-value",String(V)),k.style[t.style]=g+"%",k.innerHTML=String(a.to(V)))}}return Object.keys(e).forEach(function(g){A(g,e[g][0],e[g][1])}),l}function ot(){y&&(zt(y),y=null)}function lt(e){ot();var i=ie(e),a=e.filter,n=e.format||{to:function(o){return String(Math.round(o))}};return y=v.appendChild(ae(i,a,n)),y}function At(){var e=w.getBoundingClientRect(),i="offset"+["Width","Height"][t.ort];return t.ort===0?e.width||w[i]:e.height||w[i]}function T(e,i,a,n){var o=function(h){var c=ne(h,n.pageOffset,n.target||i);if(!c||wt()&&!n.doNotReject||Ve(v,t.cssClasses.tap)&&!n.doNotReject||e===f.start&&c.buttons!==void 0&&c.buttons>1||n.hover&&c.buttons)return!1;d||c.preventDefault(),c.calcPoint=c.points[t.ort],a(c,n)},l=[];return e.split(" ").forEach(function(h){i.addEventListener(h,o,d?{passive:!0}:!1),l.push([h,o])}),l}function ne(e,i,a){var n=e.type.indexOf("touch")===0,o=e.type.indexOf("mouse")===0,l=e.type.indexOf("pointer")===0,h=0,c=0;if(e.type.indexOf("MSPointer")===0&&(l=!0),e.type==="mousedown"&&!e.buttons&&!e.touches)return!1;if(n){var S=function(A){var g=A.target;return g===a||a.contains(g)||e.composed&&e.composedPath().shift()===a};if(e.type==="touchstart"){var x=Array.prototype.filter.call(e.touches,S);if(x.length>1)return!1;h=x[0].pageX,c=x[0].pageY}else{var E=Array.prototype.find.call(e.changedTouches,S);if(!E)return!1;h=E.pageX,c=E.pageY}}return i=i||Bt(B),(o||l)&&(h=e.clientX+i.x,c=e.clientY+i.y),e.pageOffset=i,e.points=[h,c],e.cursor=o||l,e}function Pt(e){var i=e-Ae(w,t.ort),a=i*100/At();return a=jt(a),t.dir?100-a:a}function se(e){var i=100,a=!1;return p.forEach(function(n,o){if(!nt(o)){var l=b[o],h=Math.abs(l-e),c=h===100&&i===100,S=hl;(S||x||c)&&(a=o,i=h)}}),a}function oe(e,i){e.type==="mouseout"&&e.target.nodeName==="HTML"&&e.relatedTarget===null&&ft(e,i)}function le(e,i){if(navigator.appVersion.indexOf("MSIE 9")===-1&&e.buttons===0&&i.buttonsProperty!==0)return ft(e,i);var a=(t.dir?-1:1)*(e.calcPoint-i.startCalcPoint),n=a*100/i.baseSize;Dt(a>0,n,i.locations,i.handleNumbers,i.connect)}function ft(e,i){i.handle&&(et(i.handle,t.cssClasses.active),Y-=1),i.listeners.forEach(function(a){H.removeEventListener(a[0],a[1])}),Y===0&&(et(v,t.cssClasses.drag),vt(),e.cursor&&(J.style.cursor="",J.removeEventListener("selectstart",Ft))),t.events.smoothSteps&&(i.handleNumbers.forEach(function(a){X(a,b[a],!0,!0,!1,!1)}),i.handleNumbers.forEach(function(a){P("update",a)})),i.handleNumbers.forEach(function(a){P("change",a),P("set",a),P("end",a)})}function ut(e,i){if(!i.handleNumbers.some(nt)){var a;if(i.handleNumbers.length===1){var n=p[i.handleNumbers[0]];a=n.children[0],Y+=1,L(a,t.cssClasses.active)}e.stopPropagation();var o=[],l=T(f.move,H,le,{target:e.target,handle:a,connect:i.connect,listeners:o,startCalcPoint:e.calcPoint,baseSize:At(),pageOffset:e.pageOffset,handleNumbers:i.handleNumbers,buttonsProperty:e.buttons,locations:b.slice()}),h=T(f.end,H,ft,{target:e.target,handle:a,listeners:o,doNotReject:!0,handleNumbers:i.handleNumbers}),c=T("mouseout",H,oe,{target:e.target,handle:a,listeners:o,doNotReject:!0,handleNumbers:i.handleNumbers});o.push.apply(o,l.concat(h,c)),e.cursor&&(J.style.cursor=getComputedStyle(e.target).cursor,p.length>1&&L(v,t.cssClasses.drag),J.addEventListener("selectstart",Ft,!1)),i.handleNumbers.forEach(function(S){P("start",S)})}}function fe(e){e.stopPropagation();var i=Pt(e.calcPoint),a=se(i);a!==!1&&(t.events.snap||Rt(v,t.cssClasses.tap,t.animationDuration),X(a,i,!0,!0),vt(),P("slide",a,!0),P("update",a,!0),t.events.snap?ut(e,{handleNumbers:[a]}):(P("change",a,!0),P("set",a,!0)))}function ue(e){var i=Pt(e.calcPoint),a=m.getStep(i),n=m.fromStepping(a);Object.keys(F).forEach(function(o){o.split(".")[0]==="hover"&&F[o].forEach(function(l){l.call(tt,n)})})}function ce(e,i){if(wt()||nt(i))return!1;var a=["Left","Right"],n=["Down","Up"],o=["PageDown","PageUp"],l=["Home","End"];t.dir&&!t.ort?a.reverse():t.ort&&!t.dir&&(n.reverse(),o.reverse());var h=e.key.replace("Arrow",""),c=h===o[0],S=h===o[1],x=h===n[0]||h===a[0]||c,E=h===n[1]||h===a[1]||S,A=h===l[0],g=h===l[1];if(!x&&!E&&!A&&!g)return!0;e.preventDefault();var V;if(E||x){var _=x?0:1,k=Mt(i),U=k[_];if(U===null)return!1;U===!1&&(U=m.getDefaultStep(b[i],x,t.keyboardDefaultStep)),S||c?U*=t.keyboardPageMultiplier:U*=t.keyboardMultiplier,U=Math.max(U,1e-7),U=(x?-1:1)*U,V=z[i]+U}else g?V=t.spectrum.xVal[t.spectrum.xVal.length-1]:V=t.spectrum.xVal[0];return X(i,m.toStepping(V),!0,!0),P("slide",i),P("update",i),P("change",i),P("set",i),!1}function Vt(e){e.fixed||p.forEach(function(i,a){T(f.start,i.children[0],ut,{handleNumbers:[a]})}),e.tap&&T(f.start,w,fe,{}),e.hover&&T(f.move,w,ue,{hover:!0}),e.drag&&D.forEach(function(i,a){if(!(i===!1||a===0||a===D.length-1)){var n=p[a-1],o=p[a],l=[i],h=[n,o],c=[a-1,a];L(i,t.cssClasses.draggable),e.fixed&&(l.push(n.children[0]),l.push(o.children[0])),e.dragAll&&(h=p,c=M),l.forEach(function(S){T(f.start,S,ut,{handles:h,handleNumbers:c,connect:i})})}})}function ct(e,i){F[e]=F[e]||[],F[e].push(i),e.split(".")[0]==="update"&&p.forEach(function(a,n){P("update",n)})}function he(e){return e===K.aria||e===K.tooltips}function W(e){var i=e&&e.split(".")[0],a=i?e.substring(i.length):e;Object.keys(F).forEach(function(n){var o=n.split(".")[0],l=n.substring(o.length);(!i||i===o)&&(!a||a===l)&&(!he(l)||a===l)&&delete F[n]})}function P(e,i,a){Object.keys(F).forEach(function(n){var o=n.split(".")[0];e===o&&F[n].forEach(function(l){l.call(tt,z.map(t.format.to),i,z.slice(),a||!1,b.slice(),tt)})})}function Z(e,i,a,n,o,l,h){var c;return p.length>1&&!t.events.unconstrained&&(n&&i>0&&(c=m.getAbsoluteDistance(e[i-1],t.margin,!1),a=Math.max(a,c)),o&&i1&&t.limit&&(n&&i>0&&(c=m.getAbsoluteDistance(e[i-1],t.limit,!1),a=Math.min(a,c)),o&&i1?n.forEach(function(A,g){var V=Z(l,A,l[A]+i,S[g],x[g],!1,c);V===!1?i=0:(i=V-l[A],l[A]=V)}):S=x=[!0];var E=!1;n.forEach(function(A,g){E=X(A,a[A]+i,S[g],x[g],!1,c)||E}),E&&(n.forEach(function(A){P("update",A),P("slide",A)}),o!=null&&P("drag",h))}function yt(e,i){return t.dir?100-e-i:e}function ve(e,i){b[e]=i,z[e]=m.fromStepping(i);var a=yt(i,0)-Wt,n="translate("+ht(a+"%","0")+")";if(p[e].style[t.transformRule]=n,t.events.invertConnects&&b.length>1){var o=b.every(function(l,h,c){return h===0||l>=c[h-1]});if(q!==!o){xe();return}}$(e),$(e+1),q&&($(e-1),$(e+2))}function vt(){M.forEach(function(e){var i=b[e]>50?-1:1,a=3+(p.length+i*e);p[e].style.zIndex=String(a)})}function X(e,i,a,n,o,l){return o||(i=Z(b,e,i,a,n,!1,l)),i===!1?!1:(ve(e,i),!0)}function $(e){if(D[e]){var i=b.slice();q&&i.sort(function(c,S){return c-S});var a=0,n=100;e!==0&&(a=i[e-1]),e!==D.length-1&&(n=i[e]);var o=n-a,l="translate("+ht(yt(a,o)+"%","0")+")",h="scale("+ht(o/100,"1")+")";D[e].style[t.transformRule]=l+" "+h}}function kt(e,i){return e===null||e===!1||e===void 0||(typeof e=="number"&&(e=String(e)),e=t.format.from(e),e!==!1&&(e=m.toStepping(e)),e===!1||isNaN(e))?b[i]:e}function Q(e,i,a){var n=it(e),o=b[0]===void 0;i=i===void 0?!0:i,t.animate&&!o&&Rt(v,t.cssClasses.tap,t.animationDuration),M.forEach(function(c){X(c,kt(n[c],c),!0,!1,a)});var l=M.length===1?0:1;if(o&&m.hasNoSize()&&(a=!0,b[0]=0,M.length>1)){var h=100/(M.length-1);M.forEach(function(c){b[c]=c*h})}for(;l=0&&ea.stepAfter.startValue&&(o=a.stepAfter.startValue-n),n>a.thisStep.startValue?l=a.thisStep.step:a.stepBefore.step===!1?l=!1:l=n-a.stepBefore.highestStep,i===100?o=null:i===0&&(l=null);var h=m.countStepDecimals();return o!==null&&o!==!1&&(o=Number(o.toFixed(h))),l!==null&&l!==!1&&(l=Number(l.toFixed(h))),[l,o]}function ge(){return M.map(Mt)}function Se(e,i){var a=Ut(),n=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];n.forEach(function(l){e[l]!==void 0&&(s[l]=e[l])});var o=Xt(s);n.forEach(function(l){e[l]!==void 0&&(t[l]=o[l])}),m=o.spectrum,t.margin=o.margin,t.limit=o.limit,t.padding=o.padding,t.pips?lt(t.pips):ot(),t.tooltips?Ct():st(),b=[],Q(St(e.start)?e.start:a,i),e.connect&&_t()}function _t(){for(;C.firstChild;)C.removeChild(C.firstChild);for(var e=0;e<=t.handles;e++)D[e]=at(C,t.connect[e]),$(e);Vt({drag:t.events.drag,fixed:!0})}function xe(){q=!q,qt(t,t.connect.map(function(e){return!e})),_t()}function be(){w=Jt(v),Gt(t.connect,w),Vt(t.events),Q(t.start),t.pips&<(t.pips),t.tooltips&&Ct(),ee()}be();var tt={destroy:me,steps:ge,on:ct,off:W,get:Ut,set:Q,setHandle:pe,reset:de,disable:Qt,enable:te,__moveHandles:function(e,i,a){Dt(e,i,b,a)},options:s,updateOptions:Se,target:v,removePips:ot,removeTooltips:st,getPositions:function(){return b.slice()},getTooltips:function(){return j},getOrigins:function(){return p},pips:lt};return tt}function ar(r,t){if(!r||!r.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+r);if(r.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var s=Xt(t),f=ir(r,s,t);return r.noUiSlider=f,f}var Yt={__spectrum:Kt,cssClasses:It,create:ar};function nr({arePipsStepped:r,behavior:t,decimalPlaces:s,fillTrack:f,isDisabled:u,isRtl:d,isVertical:v,maxDifference:w,minDifference:C,maxValue:p,minValue:D,nonLinearPoints:y,pipsDensity:j,pipsFilter:m,pipsFormatter:z,pipsMode:b,pipsValues:M,rangePadding:Y,state:F,step:q,tooltips:B}){return{state:F,slider:null,init(){this.slider=Yt.create(this.$el,{behaviour:t,direction:d?"rtl":"ltr",connect:f,format:{from:H=>+H,to:H=>s!==null?+H.toFixed(s):H},limit:w,margin:C,orientation:v?"vertical":"horizontal",padding:Y,pips:b?{density:j??10,filter:m,format:z,mode:b,stepped:r,values:M}:null,range:{min:D,...y??{},max:p},start:Alpine.raw(this.state),step:q,tooltips:B}),u&&this.slider.disable(),this.slider.on("change",H=>{this.state=H.length>1?H:H[0]}),this.$watch("state",()=>{this.slider.set(Alpine.raw(this.state))})},destroy(){this.slider.destroy(),this.slider=null}}}export{nr as default}; diff --git a/public/js/filament/forms/components/tags-input.js b/public/js/filament/forms/components/tags-input.js index c19c04a13..2266d496c 100644 --- a/public/js/filament/forms/components/tags-input.js +++ b/public/js/filament/forms/components/tags-input.js @@ -1 +1 @@ -function i({state:a,splitKeys:n}){return{newTag:"",state:a,createTag:function(){if(this.newTag=this.newTag.trim(),this.newTag!==""){if(this.state.includes(this.newTag)){this.newTag="";return}this.state.push(this.newTag),this.newTag=""}},deleteTag:function(t){this.state=this.state.filter(e=>e!==t)},reorderTags:function(t){let e=this.state.splice(t.oldIndex,1)[0];this.state.splice(t.newIndex,0,e),this.state=[...this.state]},input:{["x-on:blur"]:"createTag()",["x-model"]:"newTag",["x-on:keydown"](t){["Enter",...n].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.createTag())},["x-on:paste"](){this.$nextTick(()=>{if(n.length===0){this.createTag();return}let t=n.map(e=>e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")).join("|");this.newTag.split(new RegExp(t,"g")).forEach(e=>{this.newTag=e,this.createTag()})})}}}}export{i as default}; +function s({state:n,splitKeys:a}){return{newTag:"",state:n,createTag(){if(this.newTag=this.newTag.trim(),this.newTag!==""){if(this.state.includes(this.newTag)){this.newTag="";return}this.state.push(this.newTag),this.newTag=""}},deleteTag(t){this.state=this.state.filter(e=>e!==t)},reorderTags(t){let e=this.state.splice(t.oldIndex,1)[0];this.state.splice(t.newIndex,0,e),this.state=[...this.state]},input:{"x-on:blur":"createTag()","x-model":"newTag","x-on:keydown"(t){["Enter",...a].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),this.createTag())},"x-on:paste"(){this.$nextTick(()=>{if(a.length===0){this.createTag();return}let t=a.map(e=>e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&")).join("|");this.newTag.split(new RegExp(t,"g")).forEach(e=>{this.newTag=e,this.createTag()})})}}}}export{s as default}; diff --git a/public/js/filament/forms/components/textarea.js b/public/js/filament/forms/components/textarea.js index e93fa52c9..d3491c3ca 100644 --- a/public/js/filament/forms/components/textarea.js +++ b/public/js/filament/forms/components/textarea.js @@ -1 +1 @@ -function t({initialHeight:e}){return{init:function(){this.render()},render:function(){this.$el.scrollHeight>0&&(this.$el.style.height=e+"rem",this.$el.style.height=this.$el.scrollHeight+"px")}}}export{t as default}; +function n({initialHeight:e,shouldAutosize:i,state:h}){return{state:h,wrapperEl:null,init(){this.wrapperEl=this.$el.parentNode,this.setInitialHeight(),i?this.$watch("state",()=>{this.resize()}):this.setUpResizeObserver()},setInitialHeight(){this.$el.scrollHeight<=0||(this.wrapperEl.style.height=e+"rem")},resize(){if(this.$el.scrollHeight<=0)return;let t=this.$el.style.height;this.$el.style.height="0px";let r=this.$el.scrollHeight;this.$el.style.height=t;let l=parseFloat(e)*parseFloat(getComputedStyle(document.documentElement).fontSize),s=Math.max(r,l)+"px";this.wrapperEl.style.height!==s&&(this.wrapperEl.style.height=s)},setUpResizeObserver(){new ResizeObserver(()=>{this.wrapperEl.style.height=this.$el.style.height}).observe(this.$el)}}}export{n as default}; diff --git a/public/js/filament/notifications/notifications.js b/public/js/filament/notifications/notifications.js index c41b9136f..efe3ee68a 100644 --- a/public/js/filament/notifications/notifications.js +++ b/public/js/filament/notifications/notifications.js @@ -1 +1 @@ -(()=>{var O=Object.create;var $=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var d=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports);var j=(i,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Y(t))!W.call(i,n)&&n!==e&&$(i,n,{get:()=>t[n],enumerable:!(s=V(t,n))||s.enumerable});return i};var J=(i,t,e)=>(e=i!=null?O(H(i)):{},j(t||!i||!i.__esModule?$(e,"default",{value:i,enumerable:!0}):e,i));var S=d((ut,_)=>{var v,g=typeof global<"u"&&(global.crypto||global.msCrypto);g&&g.getRandomValues&&(y=new Uint8Array(16),v=function(){return g.getRandomValues(y),y});var y;v||(T=new Array(16),v=function(){for(var i=0,t;i<16;i++)i&3||(t=Math.random()*4294967296),T[i]=t>>>((i&3)<<3)&255;return T});var T;_.exports=v});var C=d((ct,U)=>{var P=[];for(f=0;f<256;++f)P[f]=(f+256).toString(16).substr(1);var f;function K(i,t){var e=t||0,s=P;return s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]}U.exports=K});var R=d((lt,F)=>{var Q=S(),X=C(),a=Q(),Z=[a[0]|1,a[1],a[2],a[3],a[4],a[5]],b=(a[6]<<8|a[7])&16383,D=0,A=0;function tt(i,t,e){var s=t&&e||0,n=t||[];i=i||{};var r=i.clockseq!==void 0?i.clockseq:b,o=i.msecs!==void 0?i.msecs:new Date().getTime(),h=i.nsecs!==void 0?i.nsecs:A+1,l=o-D+(h-A)/1e4;if(l<0&&i.clockseq===void 0&&(r=r+1&16383),(l<0||o>D)&&i.nsecs===void 0&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");D=o,A=h,b=r,o+=122192928e5;var c=((o&268435455)*1e4+h)%4294967296;n[s++]=c>>>24&255,n[s++]=c>>>16&255,n[s++]=c>>>8&255,n[s++]=c&255;var u=o/4294967296*1e4&268435455;n[s++]=u>>>8&255,n[s++]=u&255,n[s++]=u>>>24&15|16,n[s++]=u>>>16&255,n[s++]=r>>>8|128,n[s++]=r&255;for(var N=i.node||Z,m=0;m<6;++m)n[s+m]=N[m];return t||X(n)}F.exports=tt});var I=d((dt,G)=>{var it=S(),et=C();function st(i,t,e){var s=t&&e||0;typeof i=="string"&&(t=i=="binary"?new Array(16):null,i=null),i=i||{};var n=i.random||(i.rng||it)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t)for(var r=0;r<16;++r)t[s+r]=n[r];return t||et(n)}G.exports=st});var B=d((ft,z)=>{var nt=R(),M=I(),E=M;E.v1=nt;E.v4=M;z.exports=E});function k(i,t=()=>{}){let e=!1;return function(){e?t.apply(this,arguments):(e=!0,i.apply(this,arguments))}}var q=i=>{i.data("notificationComponent",({notification:t})=>({isShown:!1,computedStyle:null,transitionDuration:null,transitionEasing:null,init:function(){this.computedStyle=window.getComputedStyle(this.$el),this.transitionDuration=parseFloat(this.computedStyle.transitionDuration)*1e3,this.transitionEasing=this.computedStyle.transitionTimingFunction,this.configureTransitions(),this.configureAnimations(),t.duration&&t.duration!=="persistent"&&setTimeout(()=>this.close(),t.duration),this.isShown=!0},configureTransitions:function(){let e=this.computedStyle.display,s=()=>{i.mutateDom(()=>{this.$el.style.setProperty("display",e),this.$el.style.setProperty("visibility","visible")}),this.$el._x_isShown=!0},n=()=>{i.mutateDom(()=>{this.$el._x_isShown?this.$el.style.setProperty("visibility","hidden"):this.$el.style.setProperty("display","none")})},r=k(o=>o?s():n(),o=>{this.$el._x_toggleAndCascadeWithTransitions(this.$el,o,s,n)});i.effect(()=>r(this.isShown))},configureAnimations:function(){let e;Livewire.hook("commit",({component:s,commit:n,succeed:r,fail:o,respond:h})=>{if(!s.snapshot.data.isFilamentNotificationsComponent)return;let l=()=>this.$el.getBoundingClientRect().top,c=l();h(()=>{e=()=>{this.isShown&&this.$el.animate([{transform:`translateY(${c-l()}px)`},{transform:"translateY(0px)"}],{duration:this.transitionDuration,easing:this.transitionEasing})},this.$el.getAnimations().forEach(u=>u.finish())}),r(({snapshot:u,effect:N})=>{e()})})},close:function(){this.isShown=!1,setTimeout(()=>window.dispatchEvent(new CustomEvent("notificationClosed",{detail:{id:t.id}})),this.transitionDuration)},markAsRead:function(){window.dispatchEvent(new CustomEvent("markedNotificationAsRead",{detail:{id:t.id}}))},markAsUnread:function(){window.dispatchEvent(new CustomEvent("markedNotificationAsUnread",{detail:{id:t.id}}))}}))};var L=J(B(),1),p=class{constructor(){return this.id((0,L.v4)()),this}id(t){return this.id=t,this}title(t){return this.title=t,this}body(t){return this.body=t,this}actions(t){return this.actions=t,this}status(t){return this.status=t,this}color(t){return this.color=t,this}icon(t){return this.icon=t,this}iconColor(t){return this.iconColor=t,this}duration(t){return this.duration=t,this}seconds(t){return this.duration(t*1e3),this}persistent(){return this.duration("persistent"),this}danger(){return this.status("danger"),this}info(){return this.status("info"),this}success(){return this.status("success"),this}warning(){return this.status("warning"),this}view(t){return this.view=t,this}viewData(t){return this.viewData=t,this}send(){return window.dispatchEvent(new CustomEvent("notificationSent",{detail:{notification:this}})),this}},w=class{constructor(t){return this.name(t),this}name(t){return this.name=t,this}color(t){return this.color=t,this}dispatch(t,e){return this.event(t),this.eventData(e),this}dispatchSelf(t,e){return this.dispatch(t,e),this.dispatchDirection="self",this}dispatchTo(t,e,s){return this.dispatch(e,s),this.dispatchDirection="to",this.dispatchToComponent=t,this}emit(t,e){return this.dispatch(t,e),this}emitSelf(t,e){return this.dispatchSelf(t,e),this}emitTo(t,e,s){return this.dispatchTo(t,e,s),this}dispatchDirection(t){return this.dispatchDirection=t,this}dispatchToComponent(t){return this.dispatchToComponent=t,this}event(t){return this.event=t,this}eventData(t){return this.eventData=t,this}extraAttributes(t){return this.extraAttributes=t,this}icon(t){return this.icon=t,this}iconPosition(t){return this.iconPosition=t,this}outlined(t=!0){return this.isOutlined=t,this}disabled(t=!0){return this.isDisabled=t,this}label(t){return this.label=t,this}close(t=!0){return this.shouldClose=t,this}openUrlInNewTab(t=!0){return this.shouldOpenUrlInNewTab=t,this}size(t){return this.size=t,this}url(t){return this.url=t,this}view(t){return this.view=t,this}button(){return this.view("filament-actions::button-action"),this}grouped(){return this.view("filament-actions::grouped-action"),this}link(){return this.view("filament-actions::link-action"),this}},x=class{constructor(t){return this.actions(t),this}actions(t){return this.actions=t.map(e=>e.grouped()),this}color(t){return this.color=t,this}icon(t){return this.icon=t,this}iconPosition(t){return this.iconPosition=t,this}label(t){return this.label=t,this}tooltip(t){return this.tooltip=t,this}};window.FilamentNotificationAction=w;window.FilamentNotificationActionGroup=x;window.FilamentNotification=p;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(q)});})(); +(()=>{var O=Object.create;var N=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var d=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports);var j=(i,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Y(t))!W.call(i,n)&&n!==e&&N(i,n,{get:()=>t[n],enumerable:!(s=V(t,n))||s.enumerable});return i};var J=(i,t,e)=>(e=i!=null?O(H(i)):{},j(t||!i||!i.__esModule?N(e,"default",{value:i,enumerable:!0}):e,i));var S=d((ut,_)=>{var v,g=typeof global<"u"&&(global.crypto||global.msCrypto);g&&g.getRandomValues&&(y=new Uint8Array(16),v=function(){return g.getRandomValues(y),y});var y;v||(T=new Array(16),v=function(){for(var i=0,t;i<16;i++)(i&3)===0&&(t=Math.random()*4294967296),T[i]=t>>>((i&3)<<3)&255;return T});var T;_.exports=v});var C=d((ct,U)=>{var P=[];for(f=0;f<256;++f)P[f]=(f+256).toString(16).substr(1);var f;function K(i,t){var e=t||0,s=P;return s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+"-"+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]+s[i[e++]]}U.exports=K});var R=d((lt,F)=>{var Q=S(),X=C(),a=Q(),Z=[a[0]|1,a[1],a[2],a[3],a[4],a[5]],b=(a[6]<<8|a[7])&16383,D=0,A=0;function tt(i,t,e){var s=t&&e||0,n=t||[];i=i||{};var r=i.clockseq!==void 0?i.clockseq:b,o=i.msecs!==void 0?i.msecs:new Date().getTime(),h=i.nsecs!==void 0?i.nsecs:A+1,l=o-D+(h-A)/1e4;if(l<0&&i.clockseq===void 0&&(r=r+1&16383),(l<0||o>D)&&i.nsecs===void 0&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");D=o,A=h,b=r,o+=122192928e5;var c=((o&268435455)*1e4+h)%4294967296;n[s++]=c>>>24&255,n[s++]=c>>>16&255,n[s++]=c>>>8&255,n[s++]=c&255;var u=o/4294967296*1e4&268435455;n[s++]=u>>>8&255,n[s++]=u&255,n[s++]=u>>>24&15|16,n[s++]=u>>>16&255,n[s++]=r>>>8|128,n[s++]=r&255;for(var $=i.node||Z,m=0;m<6;++m)n[s+m]=$[m];return t||X(n)}F.exports=tt});var G=d((dt,B)=>{var it=S(),et=C();function st(i,t,e){var s=t&&e||0;typeof i=="string"&&(t=i=="binary"?new Array(16):null,i=null),i=i||{};var n=i.random||(i.rng||it)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t)for(var r=0;r<16;++r)t[s+r]=n[r];return t||et(n)}B.exports=st});var M=d((ft,L)=>{var nt=R(),I=G(),E=I;E.v1=nt;E.v4=I;L.exports=E});function k(i,t=()=>{}){let e=!1;return function(){e?t.apply(this,arguments):(e=!0,i.apply(this,arguments))}}var q=i=>{i.data("notificationComponent",({notification:t})=>({isShown:!1,computedStyle:null,transitionDuration:null,transitionEasing:null,init(){this.computedStyle=window.getComputedStyle(this.$el),this.transitionDuration=parseFloat(this.computedStyle.transitionDuration)*1e3,this.transitionEasing=this.computedStyle.transitionTimingFunction,this.configureTransitions(),this.configureAnimations(),t.duration&&t.duration!=="persistent"&&setTimeout(()=>{if(!this.$el.matches(":hover")){this.close();return}this.$el.addEventListener("mouseleave",()=>this.close())},t.duration),this.isShown=!0},configureTransitions(){let e=this.computedStyle.display,s=()=>{i.mutateDom(()=>{this.$el.style.setProperty("display",e),this.$el.style.setProperty("visibility","visible")}),this.$el._x_isShown=!0},n=()=>{i.mutateDom(()=>{this.$el._x_isShown?this.$el.style.setProperty("visibility","hidden"):this.$el.style.setProperty("display","none")})},r=k(o=>o?s():n(),o=>{this.$el._x_toggleAndCascadeWithTransitions(this.$el,o,s,n)});i.effect(()=>r(this.isShown))},configureAnimations(){let e;Livewire.hook("commit",({component:s,commit:n,succeed:r,fail:o,respond:h})=>{s.snapshot.data.isFilamentNotificationsComponent&&requestAnimationFrame(()=>{let l=()=>this.$el.getBoundingClientRect().top,c=l();h(()=>{e=()=>{this.isShown&&this.$el.animate([{transform:`translateY(${c-l()}px)`},{transform:"translateY(0px)"}],{duration:this.transitionDuration,easing:this.transitionEasing})},this.$el.getAnimations().forEach(u=>u.finish())}),r(({snapshot:u,effect:$})=>{e()})})})},close(){this.isShown=!1,setTimeout(()=>window.dispatchEvent(new CustomEvent("notificationClosed",{detail:{id:t.id}})),this.transitionDuration)},markAsRead(){window.dispatchEvent(new CustomEvent("markedNotificationAsRead",{detail:{id:t.id}}))},markAsUnread(){window.dispatchEvent(new CustomEvent("markedNotificationAsUnread",{detail:{id:t.id}}))}}))};var z=J(M(),1),p=class{constructor(){return this.id((0,z.v4)()),this}id(t){return this.id=t,this}title(t){return this.title=t,this}body(t){return this.body=t,this}actions(t){return this.actions=t,this}status(t){return this.status=t,this}color(t){return this.color=t,this}icon(t){return this.icon=t,this}iconColor(t){return this.iconColor=t,this}duration(t){return this.duration=t,this}seconds(t){return this.duration(t*1e3),this}persistent(){return this.duration("persistent"),this}danger(){return this.status("danger"),this}info(){return this.status("info"),this}success(){return this.status("success"),this}warning(){return this.status("warning"),this}view(t){return this.view=t,this}viewData(t){return this.viewData=t,this}send(){return window.dispatchEvent(new CustomEvent("notificationSent",{detail:{notification:this}})),this}},w=class{constructor(t){return this.name(t),this}name(t){return this.name=t,this}color(t){return this.color=t,this}dispatch(t,e){return this.event(t),this.eventData(e),this}dispatchSelf(t,e){return this.dispatch(t,e),this.dispatchDirection="self",this}dispatchTo(t,e,s){return this.dispatch(e,s),this.dispatchDirection="to",this.dispatchToComponent=t,this}emit(t,e){return this.dispatch(t,e),this}emitSelf(t,e){return this.dispatchSelf(t,e),this}emitTo(t,e,s){return this.dispatchTo(t,e,s),this}dispatchDirection(t){return this.dispatchDirection=t,this}dispatchToComponent(t){return this.dispatchToComponent=t,this}event(t){return this.event=t,this}eventData(t){return this.eventData=t,this}extraAttributes(t){return this.extraAttributes=t,this}icon(t){return this.icon=t,this}iconPosition(t){return this.iconPosition=t,this}outlined(t=!0){return this.isOutlined=t,this}disabled(t=!0){return this.isDisabled=t,this}label(t){return this.label=t,this}close(t=!0){return this.shouldClose=t,this}openUrlInNewTab(t=!0){return this.shouldOpenUrlInNewTab=t,this}size(t){return this.size=t,this}url(t){return this.url=t,this}view(t){return this.view=t,this}button(){return this.view("filament::components.button.index"),this}grouped(){return this.view("filament::components.dropdown.list.item"),this}iconButton(){return this.view("filament::components.icon-button"),this}link(){return this.view("filament::components.link"),this}},x=class{constructor(t){return this.actions(t),this}actions(t){return this.actions=t.map(e=>e.grouped()),this}color(t){return this.color=t,this}icon(t){return this.icon=t,this}iconPosition(t){return this.iconPosition=t,this}label(t){return this.label=t,this}tooltip(t){return this.tooltip=t,this}};window.FilamentNotificationAction=w;window.FilamentNotificationActionGroup=x;window.FilamentNotification=p;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(q)});})(); diff --git a/public/js/filament/schemas/components/actions.js b/public/js/filament/schemas/components/actions.js new file mode 100644 index 000000000..703b92d65 --- /dev/null +++ b/public/js/filament/schemas/components/actions.js @@ -0,0 +1 @@ +var i=()=>({isSticky:!1,width:0,resizeObserver:null,boundUpdateWidth:null,init(){let e=this.$el.parentElement;e&&(this.updateWidth(),this.resizeObserver=new ResizeObserver(()=>this.updateWidth()),this.resizeObserver.observe(e),this.boundUpdateWidth=this.updateWidth.bind(this),window.addEventListener("resize",this.boundUpdateWidth))},enableSticky(){this.isSticky=this.$el.getBoundingClientRect().top>0},disableSticky(){this.isSticky=!1},updateWidth(){let e=this.$el.parentElement;if(!e)return;let t=getComputedStyle(this.$root.querySelector(".fi-ac"));this.width=e.offsetWidth+parseInt(t.marginInlineStart,10)*-1+parseInt(t.marginInlineEnd,10)*-1},destroy(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.boundUpdateWidth&&(window.removeEventListener("resize",this.boundUpdateWidth),this.boundUpdateWidth=null)}});export{i as default}; diff --git a/public/js/filament/schemas/components/tabs.js b/public/js/filament/schemas/components/tabs.js new file mode 100644 index 000000000..0c0bc9559 --- /dev/null +++ b/public/js/filament/schemas/components/tabs.js @@ -0,0 +1 @@ +function I({activeTab:w,isScrollable:f,isTabPersistedInQueryString:m,livewireId:g,tab:T,tabQueryStringKey:c}){return{boundResizeHandler:null,isScrollable:f,resizeDebounceTimer:null,tab:T,withinDropdownIndex:null,withinDropdownMounted:!1,init(){let t=this.getTabs(),e=new URLSearchParams(window.location.search);m&&e.has(c)&&t.includes(e.get(c))&&(this.tab=e.get(c)),this.$watch("tab",()=>this.updateQueryString()),(!this.tab||!t.includes(this.tab))&&(this.tab=t[w-1]),Livewire.hook("commit",({component:n,commit:d,succeed:r,fail:h,respond:u})=>{r(({snapshot:p,effect:i})=>{this.$nextTick(()=>{if(n.id!==g)return;let s=this.getTabs();s.includes(this.tab)||(this.tab=s[w-1]??this.tab)})})}),f||(this.boundResizeHandler=this.debouncedUpdateTabsWithinDropdown.bind(this),window.addEventListener("resize",this.boundResizeHandler),this.updateTabsWithinDropdown())},calculateAvailableWidth(t){let e=window.getComputedStyle(t);return Math.floor(t.clientWidth)-Math.ceil(parseFloat(e.paddingLeft))*2},calculateContainerGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap))},calculateDropdownIconWidth(t){let e=t.querySelector(".fi-icon");return Math.ceil(e.clientWidth)},calculateTabItemGap(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.columnGap)||8)},calculateTabItemPadding(t){let e=window.getComputedStyle(t);return Math.ceil(parseFloat(e.paddingLeft))+Math.ceil(parseFloat(e.paddingRight))},findOverflowIndex(t,e,n,d,r,h){let u=t.map(i=>Math.ceil(i.clientWidth)),p=t.map(i=>{let s=i.querySelector(".fi-tabs-item-label"),a=i.querySelector(".fi-badge"),o=Math.ceil(s.clientWidth),l=a?Math.ceil(a.clientWidth):0;return{label:o,badge:l,total:o+(l>0?d+l:0)}});for(let i=0;ib+y,0),a=i*n,o=p.slice(i+1),l=o.length>0,W=l?Math.max(...o.map(b=>b.total)):0,D=l?r+W+d+h+n:0;if(s+a+D>e)return i}return-1},get isDropdownButtonVisible(){return this.withinDropdownMounted?this.withinDropdownIndex===null?!1:this.getTabs().findIndex(e=>e===this.tab)this.updateTabsWithinDropdown(),150)},async updateTabsWithinDropdown(){this.withinDropdownIndex=null,this.withinDropdownMounted=!1,await this.$nextTick();let t=this.$el.querySelector(".fi-tabs"),e=t.querySelector(".fi-tabs-item:last-child"),n=Array.from(t.children).slice(0,-1),d=n.map(a=>a.style.display);n.forEach(a=>a.style.display=""),t.offsetHeight;let r=this.calculateAvailableWidth(t),h=this.calculateContainerGap(t),u=this.calculateDropdownIconWidth(e),p=this.calculateTabItemGap(n[0]),i=this.calculateTabItemPadding(n[0]),s=this.findOverflowIndex(n,r,h,p,i,u);n.forEach((a,o)=>a.style.display=d[o]),s!==-1&&(this.withinDropdownIndex=s),this.withinDropdownMounted=!0},destroy(){this.boundResizeHandler&&window.removeEventListener("resize",this.boundResizeHandler),clearTimeout(this.resizeDebounceTimer)}}}export{I as default}; diff --git a/public/js/filament/schemas/components/wizard.js b/public/js/filament/schemas/components/wizard.js new file mode 100644 index 000000000..2572f4784 --- /dev/null +++ b/public/js/filament/schemas/components/wizard.js @@ -0,0 +1 @@ +function o({isSkippable:s,isStepPersistedInQueryString:i,key:r,startStep:h,stepQueryStringKey:n}){return{step:null,init(){this.$watch("step",()=>this.updateQueryString()),this.step=this.getSteps().at(h-1),this.autofocusFields()},async requestNextStep(){await this.$wire.callSchemaComponentMethod(r,"nextStep",{currentStepIndex:this.getStepIndex(this.step)})},goToNextStep(){let t=this.getStepIndex(this.step)+1;t>=this.getSteps().length||(this.step=this.getSteps()[t],this.autofocusFields(),this.scroll())},goToPreviousStep(){let t=this.getStepIndex(this.step)-1;t<0||(this.step=this.getSteps()[t],this.autofocusFields(),this.scroll())},goToStep(t){let e=this.getStepIndex(t);e<=-1||!s&&e>this.getStepIndex(this.step)||(this.step=t,this.autofocusFields(),this.scroll())},scroll(){this.$nextTick(()=>{this.$refs.header?.children[this.getStepIndex(this.step)].scrollIntoView({behavior:"smooth",block:"start"})})},autofocusFields(){this.$nextTick(()=>this.$refs[`step-${this.step}`].querySelector("[autofocus]")?.focus())},getStepIndex(t){let e=this.getSteps().findIndex(p=>p===t);return e===-1?0:e},getSteps(){return JSON.parse(this.$refs.stepsData.value)},isFirstStep(){return this.getStepIndex(this.step)<=0},isLastStep(){return this.getStepIndex(this.step)+1>=this.getSteps().length},isStepAccessible(t){return s||this.getStepIndex(this.step)>this.getStepIndex(t)},updateQueryString(){if(!i)return;let t=new URL(window.location.href);t.searchParams.set(n,this.step),history.replaceState(null,document.title,t.toString())}}}export{o as default}; diff --git a/public/js/filament/schemas/schemas.js b/public/js/filament/schemas/schemas.js new file mode 100644 index 000000000..892ac1097 --- /dev/null +++ b/public/js/filament/schemas/schemas.js @@ -0,0 +1 @@ +(()=>{var d=()=>({isSticky:!1,width:0,resizeObserver:null,boundUpdateWidth:null,init(){let t=this.$el.parentElement;t&&(this.updateWidth(),this.resizeObserver=new ResizeObserver(()=>this.updateWidth()),this.resizeObserver.observe(t),this.boundUpdateWidth=this.updateWidth.bind(this),window.addEventListener("resize",this.boundUpdateWidth))},enableSticky(){this.isSticky=this.$el.getBoundingClientRect().top>0},disableSticky(){this.isSticky=!1},updateWidth(){let t=this.$el.parentElement;if(!t)return;let e=getComputedStyle(this.$root.querySelector(".fi-ac"));this.width=t.offsetWidth+parseInt(e.marginInlineStart,10)*-1+parseInt(e.marginInlineEnd,10)*-1},destroy(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.boundUpdateWidth&&(window.removeEventListener("resize",this.boundUpdateWidth),this.boundUpdateWidth=null)}});var u=function(t,e,n){let i=t;if(e.startsWith("/")&&(n=!0,e=e.slice(1)),n)return e;for(;e.startsWith("../");)i=i.includes(".")?i.slice(0,i.lastIndexOf(".")):null,e=e.slice(3);return["",null,void 0].includes(i)?e:["",null,void 0].includes(e)?i:`${i}.${e}`},c=t=>{let e=Alpine.findClosest(t,n=>n.__livewire);if(!e)throw"Could not find Livewire component in DOM tree.";return e.__livewire};document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentSchema",({livewireId:t})=>({handleFormValidationError(e){e.detail.livewireId===t&&this.$nextTick(()=>{let n=this.$el.querySelector("[data-validation-error]");if(!n)return;let i=n;for(;i;)i.dispatchEvent(new CustomEvent("expand")),i=i.parentNode;setTimeout(()=>n.closest("[data-field-wrapper]").scrollIntoView({behavior:"smooth",block:"start",inline:"start"}),200)})},isStateChanged(e,n){if(e===void 0)return!1;try{return JSON.stringify(e)!==JSON.stringify(n)}catch{return e!==n}}})),window.Alpine.data("filamentSchemaComponent",({path:t,containerPath:e,$wire:n})=>({$statePath:t,$get:(i,s)=>n.$get(u(e,i,s)),$set:(i,s,a,o=!1)=>n.$set(u(e,i,a),s,o),get $state(){return n.$get(t)}})),window.Alpine.data("filamentActionsSchemaComponent",d),Livewire.hook("commit",({component:t,commit:e,respond:n,succeed:i,fail:s})=>{i(({snapshot:a,effects:o})=>{o.dispatches?.forEach(r=>{if(!r.params?.awaitSchemaComponent)return;let l=Array.from(t.el.querySelectorAll(`[wire\\:partial="schema-component::${r.params.awaitSchemaComponent}"]`)).filter(h=>c(h)===t);if(l.length!==1){if(l.length>1)throw`Multiple schema components found with key [${r.params.awaitSchemaComponent}].`;window.addEventListener(`schema-component-${t.id}-${r.params.awaitSchemaComponent}-loaded`,()=>{window.dispatchEvent(new CustomEvent(r.name,{detail:r.params}))},{once:!0})}})})})});})(); diff --git a/public/js/filament/support/support.js b/public/js/filament/support/support.js index 1a088c96b..7a121bbc8 100644 --- a/public/js/filament/support/support.js +++ b/public/js/filament/support/support.js @@ -1,28 +1,28 @@ -(()=>{var jo=Object.create;var Di=Object.defineProperty;var Bo=Object.getOwnPropertyDescriptor;var Ho=Object.getOwnPropertyNames;var $o=Object.getPrototypeOf,Wo=Object.prototype.hasOwnProperty;var Kr=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Vo=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ho(e))!Wo.call(t,i)&&i!==r&&Di(t,i,{get:()=>e[i],enumerable:!(n=Bo(e,i))||n.enumerable});return t};var zo=(t,e,r)=>(r=t!=null?jo($o(t)):{},Vo(e||!t||!t.__esModule?Di(r,"default",{value:t,enumerable:!0}):r,t));var oo=Kr(()=>{});var ao=Kr(()=>{});var so=Kr((Os,yr)=>{(function(){"use strict";var t="input is invalid type",e="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_MD5_NO_WINDOW&&(r=!1);var i=!r&&typeof self=="object",o=!n.JS_MD5_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=global:i&&(n=self);var l=!n.JS_MD5_NO_COMMON_JS&&typeof yr=="object"&&yr.exports,h=typeof define=="function"&&define.amd,u=!n.JS_MD5_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",f="0123456789abcdef".split(""),y=[128,32768,8388608,-2147483648],b=[0,8,16,24],A=["hex","array","digest","buffer","arrayBuffer","base64"],E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),O=[],P;if(u){var R=new ArrayBuffer(68);P=new Uint8Array(R),O=new Uint32Array(R)}var $=Array.isArray;(n.JS_MD5_NO_NODE_JS||!$)&&($=function(s){return Object.prototype.toString.call(s)==="[object Array]"});var B=ArrayBuffer.isView;u&&(n.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!B)&&(B=function(s){return typeof s=="object"&&s.buffer&&s.buffer.constructor===ArrayBuffer});var K=function(s){var p=typeof s;if(p==="string")return[s,!0];if(p!=="object"||s===null)throw new Error(t);if(u&&s.constructor===ArrayBuffer)return[new Uint8Array(s),!1];if(!$(s)&&!B(s))throw new Error(t);return[s,!1]},X=function(s){return function(p){return new U(!0).update(p)[s]()}},ne=function(){var s=X("hex");o&&(s=J(s)),s.create=function(){return new U},s.update=function(d){return s.create().update(d)};for(var p=0;p>>6,Ue[_++]=128|d&63):d<55296||d>=57344?(Ue[_++]=224|d>>>12,Ue[_++]=128|d>>>6&63,Ue[_++]=128|d&63):(d=65536+((d&1023)<<10|s.charCodeAt(++N)&1023),Ue[_++]=240|d>>>18,Ue[_++]=128|d>>>12&63,Ue[_++]=128|d>>>6&63,Ue[_++]=128|d&63);else for(_=this.start;N>>2]|=d<>>2]|=(192|d>>>6)<>>2]|=(128|d&63)<=57344?(Q[_>>>2]|=(224|d>>>12)<>>2]|=(128|d>>>6&63)<>>2]|=(128|d&63)<>>2]|=(240|d>>>18)<>>2]|=(128|d>>>12&63)<>>2]|=(128|d>>>6&63)<>>2]|=(128|d&63)<>>2]|=s[N]<=64?(this.start=_-64,this.hash(),this.hashed=!0):this.start=_}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this},U.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var s=this.blocks,p=this.lastByteIndex;s[p>>>2]|=y[p&3],p>=56&&(this.hashed||this.hash(),s[0]=s[16],s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),s[14]=this.bytes<<3,s[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},U.prototype.hash=function(){var s,p,v,d,N,_,M=this.blocks;this.first?(s=M[0]-680876937,s=(s<<7|s>>>25)-271733879<<0,d=(-1732584194^s&2004318071)+M[1]-117830708,d=(d<<12|d>>>20)+s<<0,v=(-271733879^d&(s^-271733879))+M[2]-1126478375,v=(v<<17|v>>>15)+d<<0,p=(s^v&(d^s))+M[3]-1316259209,p=(p<<22|p>>>10)+v<<0):(s=this.h0,p=this.h1,v=this.h2,d=this.h3,s+=(d^p&(v^d))+M[0]-680876936,s=(s<<7|s>>>25)+p<<0,d+=(v^s&(p^v))+M[1]-389564586,d=(d<<12|d>>>20)+s<<0,v+=(p^d&(s^p))+M[2]+606105819,v=(v<<17|v>>>15)+d<<0,p+=(s^v&(d^s))+M[3]-1044525330,p=(p<<22|p>>>10)+v<<0),s+=(d^p&(v^d))+M[4]-176418897,s=(s<<7|s>>>25)+p<<0,d+=(v^s&(p^v))+M[5]+1200080426,d=(d<<12|d>>>20)+s<<0,v+=(p^d&(s^p))+M[6]-1473231341,v=(v<<17|v>>>15)+d<<0,p+=(s^v&(d^s))+M[7]-45705983,p=(p<<22|p>>>10)+v<<0,s+=(d^p&(v^d))+M[8]+1770035416,s=(s<<7|s>>>25)+p<<0,d+=(v^s&(p^v))+M[9]-1958414417,d=(d<<12|d>>>20)+s<<0,v+=(p^d&(s^p))+M[10]-42063,v=(v<<17|v>>>15)+d<<0,p+=(s^v&(d^s))+M[11]-1990404162,p=(p<<22|p>>>10)+v<<0,s+=(d^p&(v^d))+M[12]+1804603682,s=(s<<7|s>>>25)+p<<0,d+=(v^s&(p^v))+M[13]-40341101,d=(d<<12|d>>>20)+s<<0,v+=(p^d&(s^p))+M[14]-1502002290,v=(v<<17|v>>>15)+d<<0,p+=(s^v&(d^s))+M[15]+1236535329,p=(p<<22|p>>>10)+v<<0,s+=(v^d&(p^v))+M[1]-165796510,s=(s<<5|s>>>27)+p<<0,d+=(p^v&(s^p))+M[6]-1069501632,d=(d<<9|d>>>23)+s<<0,v+=(s^p&(d^s))+M[11]+643717713,v=(v<<14|v>>>18)+d<<0,p+=(d^s&(v^d))+M[0]-373897302,p=(p<<20|p>>>12)+v<<0,s+=(v^d&(p^v))+M[5]-701558691,s=(s<<5|s>>>27)+p<<0,d+=(p^v&(s^p))+M[10]+38016083,d=(d<<9|d>>>23)+s<<0,v+=(s^p&(d^s))+M[15]-660478335,v=(v<<14|v>>>18)+d<<0,p+=(d^s&(v^d))+M[4]-405537848,p=(p<<20|p>>>12)+v<<0,s+=(v^d&(p^v))+M[9]+568446438,s=(s<<5|s>>>27)+p<<0,d+=(p^v&(s^p))+M[14]-1019803690,d=(d<<9|d>>>23)+s<<0,v+=(s^p&(d^s))+M[3]-187363961,v=(v<<14|v>>>18)+d<<0,p+=(d^s&(v^d))+M[8]+1163531501,p=(p<<20|p>>>12)+v<<0,s+=(v^d&(p^v))+M[13]-1444681467,s=(s<<5|s>>>27)+p<<0,d+=(p^v&(s^p))+M[2]-51403784,d=(d<<9|d>>>23)+s<<0,v+=(s^p&(d^s))+M[7]+1735328473,v=(v<<14|v>>>18)+d<<0,p+=(d^s&(v^d))+M[12]-1926607734,p=(p<<20|p>>>12)+v<<0,N=p^v,s+=(N^d)+M[5]-378558,s=(s<<4|s>>>28)+p<<0,d+=(N^s)+M[8]-2022574463,d=(d<<11|d>>>21)+s<<0,_=d^s,v+=(_^p)+M[11]+1839030562,v=(v<<16|v>>>16)+d<<0,p+=(_^v)+M[14]-35309556,p=(p<<23|p>>>9)+v<<0,N=p^v,s+=(N^d)+M[1]-1530992060,s=(s<<4|s>>>28)+p<<0,d+=(N^s)+M[4]+1272893353,d=(d<<11|d>>>21)+s<<0,_=d^s,v+=(_^p)+M[7]-155497632,v=(v<<16|v>>>16)+d<<0,p+=(_^v)+M[10]-1094730640,p=(p<<23|p>>>9)+v<<0,N=p^v,s+=(N^d)+M[13]+681279174,s=(s<<4|s>>>28)+p<<0,d+=(N^s)+M[0]-358537222,d=(d<<11|d>>>21)+s<<0,_=d^s,v+=(_^p)+M[3]-722521979,v=(v<<16|v>>>16)+d<<0,p+=(_^v)+M[6]+76029189,p=(p<<23|p>>>9)+v<<0,N=p^v,s+=(N^d)+M[9]-640364487,s=(s<<4|s>>>28)+p<<0,d+=(N^s)+M[12]-421815835,d=(d<<11|d>>>21)+s<<0,_=d^s,v+=(_^p)+M[15]+530742520,v=(v<<16|v>>>16)+d<<0,p+=(_^v)+M[2]-995338651,p=(p<<23|p>>>9)+v<<0,s+=(v^(p|~d))+M[0]-198630844,s=(s<<6|s>>>26)+p<<0,d+=(p^(s|~v))+M[7]+1126891415,d=(d<<10|d>>>22)+s<<0,v+=(s^(d|~p))+M[14]-1416354905,v=(v<<15|v>>>17)+d<<0,p+=(d^(v|~s))+M[5]-57434055,p=(p<<21|p>>>11)+v<<0,s+=(v^(p|~d))+M[12]+1700485571,s=(s<<6|s>>>26)+p<<0,d+=(p^(s|~v))+M[3]-1894986606,d=(d<<10|d>>>22)+s<<0,v+=(s^(d|~p))+M[10]-1051523,v=(v<<15|v>>>17)+d<<0,p+=(d^(v|~s))+M[1]-2054922799,p=(p<<21|p>>>11)+v<<0,s+=(v^(p|~d))+M[8]+1873313359,s=(s<<6|s>>>26)+p<<0,d+=(p^(s|~v))+M[15]-30611744,d=(d<<10|d>>>22)+s<<0,v+=(s^(d|~p))+M[6]-1560198380,v=(v<<15|v>>>17)+d<<0,p+=(d^(v|~s))+M[13]+1309151649,p=(p<<21|p>>>11)+v<<0,s+=(v^(p|~d))+M[4]-145523070,s=(s<<6|s>>>26)+p<<0,d+=(p^(s|~v))+M[11]-1120210379,d=(d<<10|d>>>22)+s<<0,v+=(s^(d|~p))+M[2]+718787259,v=(v<<15|v>>>17)+d<<0,p+=(d^(v|~s))+M[9]-343485551,p=(p<<21|p>>>11)+v<<0,this.first?(this.h0=s+1732584193<<0,this.h1=p-271733879<<0,this.h2=v-1732584194<<0,this.h3=d+271733878<<0,this.first=!1):(this.h0=this.h0+s<<0,this.h1=this.h1+p<<0,this.h2=this.h2+v<<0,this.h3=this.h3+d<<0)},U.prototype.hex=function(){this.finalize();var s=this.h0,p=this.h1,v=this.h2,d=this.h3;return f[s>>>4&15]+f[s&15]+f[s>>>12&15]+f[s>>>8&15]+f[s>>>20&15]+f[s>>>16&15]+f[s>>>28&15]+f[s>>>24&15]+f[p>>>4&15]+f[p&15]+f[p>>>12&15]+f[p>>>8&15]+f[p>>>20&15]+f[p>>>16&15]+f[p>>>28&15]+f[p>>>24&15]+f[v>>>4&15]+f[v&15]+f[v>>>12&15]+f[v>>>8&15]+f[v>>>20&15]+f[v>>>16&15]+f[v>>>28&15]+f[v>>>24&15]+f[d>>>4&15]+f[d&15]+f[d>>>12&15]+f[d>>>8&15]+f[d>>>20&15]+f[d>>>16&15]+f[d>>>28&15]+f[d>>>24&15]},U.prototype.toString=U.prototype.hex,U.prototype.digest=function(){this.finalize();var s=this.h0,p=this.h1,v=this.h2,d=this.h3;return[s&255,s>>>8&255,s>>>16&255,s>>>24&255,p&255,p>>>8&255,p>>>16&255,p>>>24&255,v&255,v>>>8&255,v>>>16&255,v>>>24&255,d&255,d>>>8&255,d>>>16&255,d>>>24&255]},U.prototype.array=U.prototype.digest,U.prototype.arrayBuffer=function(){this.finalize();var s=new ArrayBuffer(16),p=new Uint32Array(s);return p[0]=this.h0,p[1]=this.h1,p[2]=this.h2,p[3]=this.h3,s},U.prototype.buffer=U.prototype.arrayBuffer,U.prototype.base64=function(){for(var s,p,v,d="",N=this.array(),_=0;_<15;)s=N[_++],p=N[_++],v=N[_++],d+=E[s>>>2]+E[(s<<4|p>>>4)&63]+E[(p<<2|v>>>6)&63]+E[v&63];return s=N[_],d+=E[s>>>2]+E[s<<4&63]+"==",d};function Z(s,p){var v,d=K(s);if(s=d[0],d[1]){var N=[],_=s.length,M=0,Q;for(v=0;v<_;++v)Q=s.charCodeAt(v),Q<128?N[M++]=Q:Q<2048?(N[M++]=192|Q>>>6,N[M++]=128|Q&63):Q<55296||Q>=57344?(N[M++]=224|Q>>>12,N[M++]=128|Q>>>6&63,N[M++]=128|Q&63):(Q=65536+((Q&1023)<<10|s.charCodeAt(++v)&1023),N[M++]=240|Q>>>18,N[M++]=128|Q>>>12&63,N[M++]=128|Q>>>6&63,N[M++]=128|Q&63);s=N}s.length>64&&(s=new U(!0).update(s).array());var Ue=[],Rt=[];for(v=0;v<64;++v){var Vt=s[v]||0;Ue[v]=92^Vt,Rt[v]=54^Vt}U.call(this,p),this.update(Rt),this.oKeyPad=Ue,this.inner=!0,this.sharedMemory=p}Z.prototype=new U,Z.prototype.finalize=function(){if(U.prototype.finalize.call(this),this.inner){this.inner=!1;var s=this.array();U.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(s),U.prototype.finalize.call(this)}};var me=ne();me.md5=me,me.md5.hmac=de(),l?yr.exports=me:(n.md5=me,h&&define(function(){return me}))})()});var ji=["top","right","bottom","left"],Ti=["start","end"],_i=ji.reduce((t,e)=>t.concat(e,e+"-"+Ti[0],e+"-"+Ti[1]),[]),Et=Math.min,tt=Math.max,hr=Math.round,pr=Math.floor,nn=t=>({x:t,y:t}),Uo={left:"right",right:"left",bottom:"top",top:"bottom"},Yo={start:"end",end:"start"};function Jr(t,e,r){return tt(t,Et(e,r))}function jt(t,e){return typeof t=="function"?t(e):t}function pt(t){return t.split("-")[0]}function xt(t){return t.split("-")[1]}function Bi(t){return t==="x"?"y":"x"}function Zr(t){return t==="y"?"height":"width"}function Pn(t){return["top","bottom"].includes(pt(t))?"y":"x"}function Qr(t){return Bi(Pn(t))}function Hi(t,e,r){r===void 0&&(r=!1);let n=xt(t),i=Qr(t),o=Zr(i),l=i==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[o]>e.floating[o]&&(l=mr(l)),[l,mr(l)]}function Xo(t){let e=mr(t);return[vr(t),e,vr(e)]}function vr(t){return t.replace(/start|end/g,e=>Yo[e])}function qo(t,e,r){let n=["left","right"],i=["right","left"],o=["top","bottom"],l=["bottom","top"];switch(t){case"top":case"bottom":return r?e?i:n:e?n:i;case"left":case"right":return e?o:l;default:return[]}}function Go(t,e,r,n){let i=xt(t),o=qo(pt(t),r==="start",n);return i&&(o=o.map(l=>l+"-"+i),e&&(o=o.concat(o.map(vr)))),o}function mr(t){return t.replace(/left|right|bottom|top/g,e=>Uo[e])}function Ko(t){return{top:0,right:0,bottom:0,left:0,...t}}function ei(t){return typeof t!="number"?Ko(t):{top:t,right:t,bottom:t,left:t}}function Dn(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function Pi(t,e,r){let{reference:n,floating:i}=t,o=Pn(e),l=Qr(e),h=Zr(l),u=pt(e),f=o==="y",y=n.x+n.width/2-i.width/2,b=n.y+n.height/2-i.height/2,A=n[h]/2-i[h]/2,E;switch(u){case"top":E={x:y,y:n.y-i.height};break;case"bottom":E={x:y,y:n.y+n.height};break;case"right":E={x:n.x+n.width,y:b};break;case"left":E={x:n.x-i.width,y:b};break;default:E={x:n.x,y:n.y}}switch(xt(e)){case"start":E[l]-=A*(r&&f?-1:1);break;case"end":E[l]+=A*(r&&f?-1:1);break}return E}var Jo=async(t,e,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:o=[],platform:l}=r,h=o.filter(Boolean),u=await(l.isRTL==null?void 0:l.isRTL(e)),f=await l.getElementRects({reference:t,floating:e,strategy:i}),{x:y,y:b}=Pi(f,n,u),A=n,E={},O=0;for(let P=0;P({name:"arrow",options:t,async fn(e){let{x:r,y:n,placement:i,rects:o,platform:l,elements:h,middlewareData:u}=e,{element:f,padding:y=0}=jt(t,e)||{};if(f==null)return{};let b=ei(y),A={x:r,y:n},E=Qr(i),O=Zr(E),P=await l.getDimensions(f),R=E==="y",$=R?"top":"left",B=R?"bottom":"right",K=R?"clientHeight":"clientWidth",X=o.reference[O]+o.reference[E]-A[E]-o.floating[O],ne=A[E]-o.reference[E],J=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f)),V=J?J[K]:0;(!V||!await(l.isElement==null?void 0:l.isElement(J)))&&(V=h.floating[K]||o.floating[O]);let de=X/2-ne/2,U=V/2-P[O]/2-1,Z=Et(b[$],U),me=Et(b[B],U),s=Z,p=V-P[O]-me,v=V/2-P[O]/2+de,d=Jr(s,v,p),N=!u.arrow&&xt(i)!=null&&v!==d&&o.reference[O]/2-(vxt(i)===t),...r.filter(i=>xt(i)!==t)]:r.filter(i=>pt(i)===i)).filter(i=>t?xt(i)===t||(e?vr(i)!==i:!1):!0)}var ea=function(t){return t===void 0&&(t={}),{name:"autoPlacement",options:t,async fn(e){var r,n,i;let{rects:o,middlewareData:l,placement:h,platform:u,elements:f}=e,{crossAxis:y=!1,alignment:b,allowedPlacements:A=_i,autoAlignment:E=!0,...O}=jt(t,e),P=b!==void 0||A===_i?Qo(b||null,E,A):A,R=await Tn(e,O),$=((r=l.autoPlacement)==null?void 0:r.index)||0,B=P[$];if(B==null)return{};let K=Hi(B,o,await(u.isRTL==null?void 0:u.isRTL(f.floating)));if(h!==B)return{reset:{placement:P[0]}};let X=[R[pt(B)],R[K[0]],R[K[1]]],ne=[...((n=l.autoPlacement)==null?void 0:n.overflows)||[],{placement:B,overflows:X}],J=P[$+1];if(J)return{data:{index:$+1,overflows:ne},reset:{placement:J}};let V=ne.map(Z=>{let me=xt(Z.placement);return[Z.placement,me&&y?Z.overflows.slice(0,2).reduce((s,p)=>s+p,0):Z.overflows[0],Z.overflows]}).sort((Z,me)=>Z[1]-me[1]),U=((i=V.filter(Z=>Z[2].slice(0,xt(Z[0])?2:3).every(me=>me<=0))[0])==null?void 0:i[0])||V[0][0];return U!==h?{data:{index:$+1,overflows:ne},reset:{placement:U}}:{}}}},ta=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var r,n;let{placement:i,middlewareData:o,rects:l,initialPlacement:h,platform:u,elements:f}=e,{mainAxis:y=!0,crossAxis:b=!0,fallbackPlacements:A,fallbackStrategy:E="bestFit",fallbackAxisSideDirection:O="none",flipAlignment:P=!0,...R}=jt(t,e);if((r=o.arrow)!=null&&r.alignmentOffset)return{};let $=pt(i),B=pt(h)===h,K=await(u.isRTL==null?void 0:u.isRTL(f.floating)),X=A||(B||!P?[mr(h)]:Xo(h));!A&&O!=="none"&&X.push(...Go(h,P,O,K));let ne=[h,...X],J=await Tn(e,R),V=[],de=((n=o.flip)==null?void 0:n.overflows)||[];if(y&&V.push(J[$]),b){let s=Hi(i,l,K);V.push(J[s[0]],J[s[1]])}if(de=[...de,{placement:i,overflows:V}],!V.every(s=>s<=0)){var U,Z;let s=(((U=o.flip)==null?void 0:U.index)||0)+1,p=ne[s];if(p)return{data:{index:s,overflows:de},reset:{placement:p}};let v=(Z=de.filter(d=>d.overflows[0]<=0).sort((d,N)=>d.overflows[1]-N.overflows[1])[0])==null?void 0:Z.placement;if(!v)switch(E){case"bestFit":{var me;let d=(me=de.map(N=>[N.placement,N.overflows.filter(_=>_>0).reduce((_,M)=>_+M,0)]).sort((N,_)=>N[1]-_[1])[0])==null?void 0:me[0];d&&(v=d);break}case"initialPlacement":v=h;break}if(i!==v)return{reset:{placement:v}}}return{}}}};function Mi(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function Ri(t){return ji.some(e=>t[e]>=0)}var na=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){let{rects:r}=e,{strategy:n="referenceHidden",...i}=jt(t,e);switch(n){case"referenceHidden":{let o=await Tn(e,{...i,elementContext:"reference"}),l=Mi(o,r.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Ri(l)}}}case"escaped":{let o=await Tn(e,{...i,altBoundary:!0}),l=Mi(o,r.floating);return{data:{escapedOffsets:l,escaped:Ri(l)}}}default:return{}}}}};function $i(t){let e=Et(...t.map(o=>o.left)),r=Et(...t.map(o=>o.top)),n=tt(...t.map(o=>o.right)),i=tt(...t.map(o=>o.bottom));return{x:e,y:r,width:n-e,height:i-r}}function ra(t){let e=t.slice().sort((i,o)=>i.y-o.y),r=[],n=null;for(let i=0;in.height/2?r.push([o]):r[r.length-1].push(o),n=o}return r.map(i=>Dn($i(i)))}var ia=function(t){return t===void 0&&(t={}),{name:"inline",options:t,async fn(e){let{placement:r,elements:n,rects:i,platform:o,strategy:l}=e,{padding:h=2,x:u,y:f}=jt(t,e),y=Array.from(await(o.getClientRects==null?void 0:o.getClientRects(n.reference))||[]),b=ra(y),A=Dn($i(y)),E=ei(h);function O(){if(b.length===2&&b[0].left>b[1].right&&u!=null&&f!=null)return b.find(R=>u>R.left-E.left&&uR.top-E.top&&f=2){if(Pn(r)==="y"){let Z=b[0],me=b[b.length-1],s=pt(r)==="top",p=Z.top,v=me.bottom,d=s?Z.left:me.left,N=s?Z.right:me.right,_=N-d,M=v-p;return{top:p,bottom:v,left:d,right:N,width:_,height:M,x:d,y:p}}let R=pt(r)==="left",$=tt(...b.map(Z=>Z.right)),B=Et(...b.map(Z=>Z.left)),K=b.filter(Z=>R?Z.left===B:Z.right===$),X=K[0].top,ne=K[K.length-1].bottom,J=B,V=$,de=V-J,U=ne-X;return{top:X,bottom:ne,left:J,right:V,width:de,height:U,x:J,y:X}}return A}let P=await o.getElementRects({reference:{getBoundingClientRect:O},floating:n.floating,strategy:l});return i.reference.x!==P.reference.x||i.reference.y!==P.reference.y||i.reference.width!==P.reference.width||i.reference.height!==P.reference.height?{reset:{rects:P}}:{}}}};async function oa(t,e){let{placement:r,platform:n,elements:i}=t,o=await(n.isRTL==null?void 0:n.isRTL(i.floating)),l=pt(r),h=xt(r),u=Pn(r)==="y",f=["left","top"].includes(l)?-1:1,y=o&&u?-1:1,b=jt(e,t),{mainAxis:A,crossAxis:E,alignmentAxis:O}=typeof b=="number"?{mainAxis:b,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...b};return h&&typeof O=="number"&&(E=h==="end"?O*-1:O),u?{x:E*y,y:A*f}:{x:A*f,y:E*y}}var Wi=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var r,n;let{x:i,y:o,placement:l,middlewareData:h}=e,u=await oa(e,t);return l===((r=h.offset)==null?void 0:r.placement)&&(n=h.arrow)!=null&&n.alignmentOffset?{}:{x:i+u.x,y:o+u.y,data:{...u,placement:l}}}}},aa=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){let{x:r,y:n,placement:i}=e,{mainAxis:o=!0,crossAxis:l=!1,limiter:h={fn:R=>{let{x:$,y:B}=R;return{x:$,y:B}}},...u}=jt(t,e),f={x:r,y:n},y=await Tn(e,u),b=Pn(pt(i)),A=Bi(b),E=f[A],O=f[b];if(o){let R=A==="y"?"top":"left",$=A==="y"?"bottom":"right",B=E+y[R],K=E-y[$];E=Jr(B,E,K)}if(l){let R=b==="y"?"top":"left",$=b==="y"?"bottom":"right",B=O+y[R],K=O-y[$];O=Jr(B,O,K)}let P=h.fn({...e,[A]:E,[b]:O});return{...P,data:{x:P.x-r,y:P.y-n}}}}},sa=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){let{placement:r,rects:n,platform:i,elements:o}=e,{apply:l=()=>{},...h}=jt(t,e),u=await Tn(e,h),f=pt(r),y=xt(r),b=Pn(r)==="y",{width:A,height:E}=n.floating,O,P;f==="top"||f==="bottom"?(O=f,P=y===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(P=f,O=y==="end"?"top":"bottom");let R=E-u[O],$=A-u[P],B=!e.middlewareData.shift,K=R,X=$;if(b){let J=A-u.left-u.right;X=y||B?Et($,J):J}else{let J=E-u.top-u.bottom;K=y||B?Et(R,J):J}if(B&&!y){let J=tt(u.left,0),V=tt(u.right,0),de=tt(u.top,0),U=tt(u.bottom,0);b?X=A-2*(J!==0||V!==0?J+V:tt(u.left,u.right)):K=E-2*(de!==0||U!==0?de+U:tt(u.top,u.bottom))}await l({...e,availableWidth:X,availableHeight:K});let ne=await i.getDimensions(o.floating);return A!==ne.width||E!==ne.height?{reset:{rects:!0}}:{}}}};function rn(t){return Vi(t)?(t.nodeName||"").toLowerCase():"#document"}function lt(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function Bt(t){var e;return(e=(Vi(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Vi(t){return t instanceof Node||t instanceof lt(t).Node}function kt(t){return t instanceof Element||t instanceof lt(t).Element}function _t(t){return t instanceof HTMLElement||t instanceof lt(t).HTMLElement}function Ii(t){return typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof lt(t).ShadowRoot}function Un(t){let{overflow:e,overflowX:r,overflowY:n,display:i}=ht(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+r)&&!["inline","contents"].includes(i)}function la(t){return["table","td","th"].includes(rn(t))}function ti(t){let e=ni(),r=ht(t);return r.transform!=="none"||r.perspective!=="none"||(r.containerType?r.containerType!=="normal":!1)||!e&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!e&&(r.filter?r.filter!=="none":!1)||["transform","perspective","filter"].some(n=>(r.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(r.contain||"").includes(n))}function ca(t){let e=_n(t);for(;_t(e)&&!gr(e);){if(ti(e))return e;e=_n(e)}return null}function ni(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function gr(t){return["html","body","#document"].includes(rn(t))}function ht(t){return lt(t).getComputedStyle(t)}function br(t){return kt(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function _n(t){if(rn(t)==="html")return t;let e=t.assignedSlot||t.parentNode||Ii(t)&&t.host||Bt(t);return Ii(e)?e.host:e}function zi(t){let e=_n(t);return gr(e)?t.ownerDocument?t.ownerDocument.body:t.body:_t(e)&&Un(e)?e:zi(e)}function zn(t,e,r){var n;e===void 0&&(e=[]),r===void 0&&(r=!0);let i=zi(t),o=i===((n=t.ownerDocument)==null?void 0:n.body),l=lt(i);return o?e.concat(l,l.visualViewport||[],Un(i)?i:[],l.frameElement&&r?zn(l.frameElement):[]):e.concat(i,zn(i,[],r))}function Ui(t){let e=ht(t),r=parseFloat(e.width)||0,n=parseFloat(e.height)||0,i=_t(t),o=i?t.offsetWidth:r,l=i?t.offsetHeight:n,h=hr(r)!==o||hr(n)!==l;return h&&(r=o,n=l),{width:r,height:n,$:h}}function ri(t){return kt(t)?t:t.contextElement}function Cn(t){let e=ri(t);if(!_t(e))return nn(1);let r=e.getBoundingClientRect(),{width:n,height:i,$:o}=Ui(e),l=(o?hr(r.width):r.width)/n,h=(o?hr(r.height):r.height)/i;return(!l||!Number.isFinite(l))&&(l=1),(!h||!Number.isFinite(h))&&(h=1),{x:l,y:h}}var fa=nn(0);function Yi(t){let e=lt(t);return!ni()||!e.visualViewport?fa:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function ua(t,e,r){return e===void 0&&(e=!1),!r||e&&r!==lt(t)?!1:e}function vn(t,e,r,n){e===void 0&&(e=!1),r===void 0&&(r=!1);let i=t.getBoundingClientRect(),o=ri(t),l=nn(1);e&&(n?kt(n)&&(l=Cn(n)):l=Cn(t));let h=ua(o,r,n)?Yi(o):nn(0),u=(i.left+h.x)/l.x,f=(i.top+h.y)/l.y,y=i.width/l.x,b=i.height/l.y;if(o){let A=lt(o),E=n&&kt(n)?lt(n):n,O=A,P=O.frameElement;for(;P&&n&&E!==O;){let R=Cn(P),$=P.getBoundingClientRect(),B=ht(P),K=$.left+(P.clientLeft+parseFloat(B.paddingLeft))*R.x,X=$.top+(P.clientTop+parseFloat(B.paddingTop))*R.y;u*=R.x,f*=R.y,y*=R.x,b*=R.y,u+=K,f+=X,O=lt(P),P=O.frameElement}}return Dn({width:y,height:b,x:u,y:f})}var da=[":popover-open",":modal"];function Xi(t){return da.some(e=>{try{return t.matches(e)}catch{return!1}})}function pa(t){let{elements:e,rect:r,offsetParent:n,strategy:i}=t,o=i==="fixed",l=Bt(n),h=e?Xi(e.floating):!1;if(n===l||h&&o)return r;let u={scrollLeft:0,scrollTop:0},f=nn(1),y=nn(0),b=_t(n);if((b||!b&&!o)&&((rn(n)!=="body"||Un(l))&&(u=br(n)),_t(n))){let A=vn(n);f=Cn(n),y.x=A.x+n.clientLeft,y.y=A.y+n.clientTop}return{width:r.width*f.x,height:r.height*f.y,x:r.x*f.x-u.scrollLeft*f.x+y.x,y:r.y*f.y-u.scrollTop*f.y+y.y}}function ha(t){return Array.from(t.getClientRects())}function qi(t){return vn(Bt(t)).left+br(t).scrollLeft}function va(t){let e=Bt(t),r=br(t),n=t.ownerDocument.body,i=tt(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),o=tt(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),l=-r.scrollLeft+qi(t),h=-r.scrollTop;return ht(n).direction==="rtl"&&(l+=tt(e.clientWidth,n.clientWidth)-i),{width:i,height:o,x:l,y:h}}function ma(t,e){let r=lt(t),n=Bt(t),i=r.visualViewport,o=n.clientWidth,l=n.clientHeight,h=0,u=0;if(i){o=i.width,l=i.height;let f=ni();(!f||f&&e==="fixed")&&(h=i.offsetLeft,u=i.offsetTop)}return{width:o,height:l,x:h,y:u}}function ga(t,e){let r=vn(t,!0,e==="fixed"),n=r.top+t.clientTop,i=r.left+t.clientLeft,o=_t(t)?Cn(t):nn(1),l=t.clientWidth*o.x,h=t.clientHeight*o.y,u=i*o.x,f=n*o.y;return{width:l,height:h,x:u,y:f}}function Fi(t,e,r){let n;if(e==="viewport")n=ma(t,r);else if(e==="document")n=va(Bt(t));else if(kt(e))n=ga(e,r);else{let i=Yi(t);n={...e,x:e.x-i.x,y:e.y-i.y}}return Dn(n)}function Gi(t,e){let r=_n(t);return r===e||!kt(r)||gr(r)?!1:ht(r).position==="fixed"||Gi(r,e)}function ba(t,e){let r=e.get(t);if(r)return r;let n=zn(t,[],!1).filter(h=>kt(h)&&rn(h)!=="body"),i=null,o=ht(t).position==="fixed",l=o?_n(t):t;for(;kt(l)&&!gr(l);){let h=ht(l),u=ti(l);!u&&h.position==="fixed"&&(i=null),(o?!u&&!i:!u&&h.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||Un(l)&&!u&&Gi(t,l))?n=n.filter(y=>y!==l):i=h,l=_n(l)}return e.set(t,n),n}function ya(t){let{element:e,boundary:r,rootBoundary:n,strategy:i}=t,l=[...r==="clippingAncestors"?ba(e,this._c):[].concat(r),n],h=l[0],u=l.reduce((f,y)=>{let b=Fi(e,y,i);return f.top=tt(b.top,f.top),f.right=Et(b.right,f.right),f.bottom=Et(b.bottom,f.bottom),f.left=tt(b.left,f.left),f},Fi(e,h,i));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function wa(t){let{width:e,height:r}=Ui(t);return{width:e,height:r}}function xa(t,e,r){let n=_t(e),i=Bt(e),o=r==="fixed",l=vn(t,!0,o,e),h={scrollLeft:0,scrollTop:0},u=nn(0);if(n||!n&&!o)if((rn(e)!=="body"||Un(i))&&(h=br(e)),n){let b=vn(e,!0,o,e);u.x=b.x+e.clientLeft,u.y=b.y+e.clientTop}else i&&(u.x=qi(i));let f=l.left+h.scrollLeft-u.x,y=l.top+h.scrollTop-u.y;return{x:f,y,width:l.width,height:l.height}}function Li(t,e){return!_t(t)||ht(t).position==="fixed"?null:e?e(t):t.offsetParent}function Ki(t,e){let r=lt(t);if(!_t(t)||Xi(t))return r;let n=Li(t,e);for(;n&&la(n)&&ht(n).position==="static";)n=Li(n,e);return n&&(rn(n)==="html"||rn(n)==="body"&&ht(n).position==="static"&&!ti(n))?r:n||ca(t)||r}var Ea=async function(t){let e=this.getOffsetParent||Ki,r=this.getDimensions;return{reference:xa(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,...await r(t.floating)}}};function Oa(t){return ht(t).direction==="rtl"}var Sa={convertOffsetParentRelativeRectToViewportRelativeRect:pa,getDocumentElement:Bt,getClippingRect:ya,getOffsetParent:Ki,getElementRects:Ea,getClientRects:ha,getDimensions:wa,getScale:Cn,isElement:kt,isRTL:Oa};function Aa(t,e){let r=null,n,i=Bt(t);function o(){var h;clearTimeout(n),(h=r)==null||h.disconnect(),r=null}function l(h,u){h===void 0&&(h=!1),u===void 0&&(u=1),o();let{left:f,top:y,width:b,height:A}=t.getBoundingClientRect();if(h||e(),!b||!A)return;let E=pr(y),O=pr(i.clientWidth-(f+b)),P=pr(i.clientHeight-(y+A)),R=pr(f),B={rootMargin:-E+"px "+-O+"px "+-P+"px "+-R+"px",threshold:tt(0,Et(1,u))||1},K=!0;function X(ne){let J=ne[0].intersectionRatio;if(J!==u){if(!K)return l();J?l(!1,J):n=setTimeout(()=>{l(!1,1e-7)},100)}K=!1}try{r=new IntersectionObserver(X,{...B,root:i.ownerDocument})}catch{r=new IntersectionObserver(X,B)}r.observe(t)}return l(!0),o}function Ni(t,e,r,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:h=typeof IntersectionObserver=="function",animationFrame:u=!1}=n,f=ri(t),y=i||o?[...f?zn(f):[],...zn(e)]:[];y.forEach($=>{i&&$.addEventListener("scroll",r,{passive:!0}),o&&$.addEventListener("resize",r)});let b=f&&h?Aa(f,r):null,A=-1,E=null;l&&(E=new ResizeObserver($=>{let[B]=$;B&&B.target===f&&E&&(E.unobserve(e),cancelAnimationFrame(A),A=requestAnimationFrame(()=>{var K;(K=E)==null||K.observe(e)})),r()}),f&&!u&&E.observe(f),E.observe(e));let O,P=u?vn(t):null;u&&R();function R(){let $=vn(t);P&&($.x!==P.x||$.y!==P.y||$.width!==P.width||$.height!==P.height)&&r(),P=$,O=requestAnimationFrame(R)}return r(),()=>{var $;y.forEach(B=>{i&&B.removeEventListener("scroll",r),o&&B.removeEventListener("resize",r)}),b?.(),($=E)==null||$.disconnect(),E=null,u&&cancelAnimationFrame(O)}}var ii=ea,Ji=aa,Zi=ta,Qi=sa,eo=na,to=Zo,no=ia,ki=(t,e,r)=>{let n=new Map,i={platform:Sa,...r},o={...i.platform,_c:n};return Jo(t,e,{...i,platform:o})},Ca=t=>{let e={placement:"bottom",strategy:"absolute",middleware:[]},r=Object.keys(t),n=i=>t[i];return r.includes("offset")&&e.middleware.push(Wi(n("offset"))),r.includes("teleport")&&(e.strategy="fixed"),r.includes("placement")&&(e.placement=n("placement")),r.includes("autoPlacement")&&!r.includes("flip")&&e.middleware.push(ii(n("autoPlacement"))),r.includes("flip")&&e.middleware.push(Zi(n("flip"))),r.includes("shift")&&e.middleware.push(Ji(n("shift"))),r.includes("inline")&&e.middleware.push(no(n("inline"))),r.includes("arrow")&&e.middleware.push(to(n("arrow"))),r.includes("hide")&&e.middleware.push(eo(n("hide"))),r.includes("size")&&e.middleware.push(Qi(n("size"))),e},Da=(t,e)=>{let r={component:{trap:!1},float:{placement:"bottom",strategy:"absolute",middleware:[]}},n=i=>t[t.indexOf(i)+1];if(t.includes("trap")&&(r.component.trap=!0),t.includes("teleport")&&(r.float.strategy="fixed"),t.includes("offset")&&r.float.middleware.push(Wi(e.offset||10)),t.includes("placement")&&(r.float.placement=n("placement")),t.includes("autoPlacement")&&!t.includes("flip")&&r.float.middleware.push(ii(e.autoPlacement)),t.includes("flip")&&r.float.middleware.push(Zi(e.flip)),t.includes("shift")&&r.float.middleware.push(Ji(e.shift)),t.includes("inline")&&r.float.middleware.push(no(e.inline)),t.includes("arrow")&&r.float.middleware.push(to(e.arrow)),t.includes("hide")&&r.float.middleware.push(eo(e.hide)),t.includes("size")){let i=e.size?.availableWidth??null,o=e.size?.availableHeight??null;i&&delete e.size.availableWidth,o&&delete e.size.availableHeight,r.float.middleware.push(Qi({...e.size,apply({availableWidth:l,availableHeight:h,elements:u}){Object.assign(u.floating.style,{maxWidth:`${i??l}px`,maxHeight:`${o??h}px`})}}))}return r},Ta=t=>{var e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),r="";t||(t=Math.floor(Math.random()*e.length));for(var n=0;n{}){let r=!1;return function(){r?e.apply(this,arguments):(r=!0,t.apply(this,arguments))}}function Pa(t){let e={dismissable:!0,trap:!1};function r(n,i=null){if(n){if(n.hasAttribute("aria-expanded")||n.setAttribute("aria-expanded",!1),i.hasAttribute("id"))n.setAttribute("aria-controls",i.getAttribute("id"));else{let o=`panel-${Ta(8)}`;n.setAttribute("aria-controls",o),i.setAttribute("id",o)}i.setAttribute("aria-modal",!0),i.setAttribute("role","dialog")}}t.magic("float",n=>(i={},o={})=>{let l={...e,...o},h=Object.keys(i).length>0?Ca(i):{middleware:[ii()]},u=n,f=n.parentElement.closest("[x-data]"),y=f.querySelector('[x-ref="panel"]');r(u,y);function b(){return y.style.display=="block"}function A(){y.style.display="none",u.setAttribute("aria-expanded","false"),l.trap&&y.setAttribute("x-trap","false"),Ni(n,y,P)}function E(){y.style.display="block",u.setAttribute("aria-expanded","true"),l.trap&&y.setAttribute("x-trap","true"),P()}function O(){b()?A():E()}async function P(){return await ki(n,y,h).then(({middlewareData:R,placement:$,x:B,y:K})=>{if(R.arrow){let X=R.arrow?.x,ne=R.arrow?.y,J=h.middleware.filter(de=>de.name=="arrow")[0].options.element,V={top:"bottom",right:"left",bottom:"top",left:"right"}[$.split("-")[0]];Object.assign(J.style,{left:X!=null?`${X}px`:"",top:ne!=null?`${ne}px`:"",right:"",bottom:"",[V]:"-4px"})}if(R.hide){let{referenceHidden:X}=R.hide;Object.assign(y.style,{visibility:X?"hidden":"visible"})}Object.assign(y.style,{left:`${B}px`,top:`${K}px`})})}l.dismissable&&(window.addEventListener("click",R=>{!f.contains(R.target)&&b()&&O()}),window.addEventListener("keydown",R=>{R.key==="Escape"&&b()&&O()},!0)),O()}),t.directive("float",(n,{modifiers:i,expression:o},{evaluate:l,effect:h})=>{let u=o?l(o):{},f=i.length>0?Da(i,u):{},y=null;f.float.strategy=="fixed"&&(n.style.position="fixed");let b=V=>n.parentElement&&!n.parentElement.closest("[x-data]").contains(V.target)?n.close():null,A=V=>V.key==="Escape"?n.close():null,E=n.getAttribute("x-ref"),O=n.parentElement.closest("[x-data]"),P=O.querySelectorAll(`[\\@click^="$refs.${E}"]`),R=O.querySelectorAll(`[x-on\\:click^="$refs.${E}"]`);n.style.setProperty("display","none"),r([...P,...R][0],n),n._x_isShown=!1,n.trigger=null,n._x_doHide||(n._x_doHide=()=>{n.style.setProperty("display","none",i.includes("important")?"important":void 0)}),n._x_doShow||(n._x_doShow=()=>{n.style.setProperty("display","block",i.includes("important")?"important":void 0)});let $=()=>{n._x_doHide(),n._x_isShown=!1},B=()=>{n._x_doShow(),n._x_isShown=!0},K=()=>setTimeout(B),X=_a(V=>V?B():$(),V=>{typeof n._x_toggleAndCascadeWithTransitions=="function"?n._x_toggleAndCascadeWithTransitions(n,V,B,$):V?K():$()}),ne,J=!0;h(()=>l(V=>{!J&&V===ne||(i.includes("immediate")&&(V?K():$()),X(V),ne=V,J=!1)})),n.open=async function(V){n.trigger=V.currentTarget?V.currentTarget:V,X(!0),n.trigger.setAttribute("aria-expanded","true"),f.component.trap&&n.setAttribute("x-trap","true"),y=Ni(n.trigger,n,()=>{ki(n.trigger,n,f.float).then(({middlewareData:de,placement:U,x:Z,y:me})=>{if(de.arrow){let s=de.arrow?.x,p=de.arrow?.y,v=f.float.middleware.filter(N=>N.name=="arrow")[0].options.element,d={top:"bottom",right:"left",bottom:"top",left:"right"}[U.split("-")[0]];Object.assign(v.style,{left:s!=null?`${s}px`:"",top:p!=null?`${p}px`:"",right:"",bottom:"",[d]:"-4px"})}if(de.hide){let{referenceHidden:s}=de.hide;Object.assign(n.style,{visibility:s?"hidden":"visible"})}Object.assign(n.style,{left:`${Z}px`,top:`${me}px`})})}),window.addEventListener("click",b),window.addEventListener("keydown",A,!0)},n.close=function(){if(!n._x_isShown)return!1;X(!1),n.trigger.setAttribute("aria-expanded","false"),f.component.trap&&n.setAttribute("x-trap","false"),y(),window.removeEventListener("click",b),window.removeEventListener("keydown",A,!1)},n.toggle=function(V){n._x_isShown?n.close():n.open(V)}})}var ro=Pa;function Ma(t){t.store("lazyLoadedAssets",{loaded:new Set,check(l){return Array.isArray(l)?l.every(h=>this.loaded.has(h)):this.loaded.has(l)},markLoaded(l){Array.isArray(l)?l.forEach(h=>this.loaded.add(h)):this.loaded.add(l)}});function e(l){return new CustomEvent(l,{bubbles:!0,composed:!0,cancelable:!0})}function r(l,h={},u,f){let y=document.createElement(l);for(let[b,A]of Object.entries(h))y[b]=A;return u&&(f?u.insertBefore(y,f):u.appendChild(y)),y}function n(l,h,u={},f=null,y=null){let b=l==="link"?`link[href="${h}"]`:`script[src="${h}"]`;if(document.querySelector(b)||t.store("lazyLoadedAssets").check(h))return Promise.resolve();let A=l==="link"?{...u,href:h}:{...u,src:h},E=r(l,A,f,y);return new Promise((O,P)=>{E.onload=()=>{t.store("lazyLoadedAssets").markLoaded(h),O()},E.onerror=()=>{P(new Error(`Failed to load ${l}: ${h}`))}})}async function i(l,h,u=null,f=null){let y={type:"text/css",rel:"stylesheet"};h&&(y.media=h);let b=document.head,A=null;if(u&&f){let E=document.querySelector(`link[href*="${f}"]`);E?(b=E.parentNode,A=u==="before"?E:E.nextSibling):console.warn(`Target (${f}) not found for ${l}. Appending to head.`)}await n("link",l,y,b,A)}async function o(l,h,u=null,f=null){let y,b;u&&f&&(y=document.querySelector(`script[src*="${f}"]`),y?b=u==="before"?y:y.nextSibling:console.warn(`Target (${f}) not found for ${l}. Appending to body.`));let A=h.has("body-start")?"prepend":"append";await n("script",l,{},y||document[h.has("body-end")?"body":"head"],b)}t.directive("load-css",(l,{expression:h},{evaluate:u})=>{let f=u(h),y=l.media,b=l.getAttribute("data-dispatch"),A=l.getAttribute("data-css-before")?"before":l.getAttribute("data-css-after")?"after":null,E=l.getAttribute("data-css-before")||l.getAttribute("data-css-after")||null;Promise.all(f.map(O=>i(O,y,A,E))).then(()=>{b&&window.dispatchEvent(e(b+"-css"))}).catch(O=>{console.error(O)})}),t.directive("load-js",(l,{expression:h,modifiers:u},{evaluate:f})=>{let y=f(h),b=new Set(u),A=l.getAttribute("data-js-before")?"before":l.getAttribute("data-js-after")?"after":null,E=l.getAttribute("data-js-before")||l.getAttribute("data-js-after")||null,O=l.getAttribute("data-dispatch");Promise.all(y.map(P=>o(P,b,A,E))).then(()=>{O&&window.dispatchEvent(e(O+"-js"))}).catch(P=>{console.error(P)})})}var io=Ma;var ko=zo(so(),1);function lo(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Mt(t){for(var e=1;e=0)&&(r[i]=t[i]);return r}function Fa(t,e){if(t==null)return{};var r=Ia(t,e),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var La="1.15.2";function Ht(t){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(t)}var Wt=Ht(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),er=Ht(/Edge/i),co=Ht(/firefox/i),Gn=Ht(/safari/i)&&!Ht(/chrome/i)&&!Ht(/android/i),bo=Ht(/iP(ad|od|hone)/i),yo=Ht(/chrome/i)&&Ht(/android/i),wo={capture:!1,passive:!1};function Ce(t,e,r){t.addEventListener(e,r,!Wt&&wo)}function Oe(t,e,r){t.removeEventListener(e,r,!Wt&&wo)}function _r(t,e){if(e){if(e[0]===">"&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch{return!1}return!1}}function Na(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function St(t,e,r,n){if(t){r=r||document;do{if(e!=null&&(e[0]===">"?t.parentNode===r&&_r(t,e):_r(t,e))||n&&t===r)return t;if(t===r)break}while(t=Na(t))}return null}var fo=/\s+/g;function ct(t,e,r){if(t&&e)if(t.classList)t.classList[r?"add":"remove"](e);else{var n=(" "+t.className+" ").replace(fo," ").replace(" "+e+" "," ");t.className=(n+(r?" "+e:"")).replace(fo," ")}}function ae(t,e,r){var n=t&&t.style;if(n){if(r===void 0)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(r=t.currentStyle),e===void 0?r:r[e];!(e in n)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),n[e]=r+(typeof r=="string"?"":"px")}}function Ln(t,e){var r="";if(typeof t=="string")r=t;else do{var n=ae(t,"transform");n&&n!=="none"&&(r=n+" "+r)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(r)}function xo(t,e,r){if(t){var n=t.getElementsByTagName(e),i=0,o=n.length;if(r)for(;i=o:l=i<=o,!l)return n;if(n===Pt())break;n=sn(n,!1)}return!1}function Nn(t,e,r,n){for(var i=0,o=0,l=t.children;o2&&arguments[2]!==void 0?arguments[2]:{},i=n.evt,o=Fa(n,za);tr.pluginEvent.bind(se)(e,r,Mt({dragEl:L,parentEl:ze,ghostEl:ue,rootEl:ke,nextEl:bn,lastDownEl:Ar,cloneEl:We,cloneHidden:an,dragStarted:Yn,putSortable:Ze,activeSortable:se.active,originalEvent:i,oldIndex:Fn,oldDraggableIndex:Jn,newIndex:ft,newDraggableIndex:on,hideGhostForTarget:_o,unhideGhostForTarget:Po,cloneNowHidden:function(){an=!0},cloneNowShown:function(){an=!1},dispatchSortableEvent:function(h){it({sortable:r,name:h,originalEvent:i})}},o))};function it(t){Va(Mt({putSortable:Ze,cloneEl:We,targetEl:L,rootEl:ke,oldIndex:Fn,oldDraggableIndex:Jn,newIndex:ft,newDraggableIndex:on},t))}var L,ze,ue,ke,bn,Ar,We,an,Fn,ft,Jn,on,wr,Ze,In=!1,Pr=!1,Mr=[],mn,Ot,si,li,ho,vo,Yn,Rn,Zn,Qn=!1,xr=!1,Cr,nt,ci=[],hi=!1,Rr=[],Fr=typeof document<"u",Er=bo,mo=er||Wt?"cssFloat":"float",Ua=Fr&&!yo&&!bo&&"draggable"in document.createElement("div"),Co=function(){if(Fr){if(Wt)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}}(),Do=function(e,r){var n=ae(e),i=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=Nn(e,0,r),l=Nn(e,1,r),h=o&&ae(o),u=l&&ae(l),f=h&&parseInt(h.marginLeft)+parseInt(h.marginRight)+qe(o).width,y=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+qe(l).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&h.float&&h.float!=="none"){var b=h.float==="left"?"left":"right";return l&&(u.clear==="both"||u.clear===b)?"vertical":"horizontal"}return o&&(h.display==="block"||h.display==="flex"||h.display==="table"||h.display==="grid"||f>=i&&n[mo]==="none"||l&&n[mo]==="none"&&f+y>i)?"vertical":"horizontal"},Ya=function(e,r,n){var i=n?e.left:e.top,o=n?e.right:e.bottom,l=n?e.width:e.height,h=n?r.left:r.top,u=n?r.right:r.bottom,f=n?r.width:r.height;return i===h||o===u||i+l/2===h+f/2},Xa=function(e,r){var n;return Mr.some(function(i){var o=i[ut].options.emptyInsertThreshold;if(!(!o||bi(i))){var l=qe(i),h=e>=l.left-o&&e<=l.right+o,u=r>=l.top-o&&r<=l.bottom+o;if(h&&u)return n=i}}),n},To=function(e){function r(o,l){return function(h,u,f,y){var b=h.options.group.name&&u.options.group.name&&h.options.group.name===u.options.group.name;if(o==null&&(l||b))return!0;if(o==null||o===!1)return!1;if(l&&o==="clone")return o;if(typeof o=="function")return r(o(h,u,f,y),l)(h,u,f,y);var A=(l?h:u).options.group.name;return o===!0||typeof o=="string"&&o===A||o.join&&o.indexOf(A)>-1}}var n={},i=e.group;(!i||Sr(i)!="object")&&(i={name:i}),n.name=i.name,n.checkPull=r(i.pull,!0),n.checkPut=r(i.put),n.revertClone=i.revertClone,e.group=n},_o=function(){!Co&&ue&&ae(ue,"display","none")},Po=function(){!Co&&ue&&ae(ue,"display","")};Fr&&!yo&&document.addEventListener("click",function(t){if(Pr)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Pr=!1,!1},!0);var gn=function(e){if(L){e=e.touches?e.touches[0]:e;var r=Xa(e.clientX,e.clientY);if(r){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=e[i]);n.target=n.rootEl=r,n.preventDefault=void 0,n.stopPropagation=void 0,r[ut]._onDragOver(n)}}},qa=function(e){L&&L.parentNode[ut]._isOutsideThisEl(e.target)};function se(t,e){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=$t({},e),t[ut]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Do(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(l,h){l.setData("Text",h.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:se.supportPointer!==!1&&"PointerEvent"in window&&!Gn,emptyInsertThreshold:5};tr.initializePlugins(this,t,r);for(var n in r)!(n in e)&&(e[n]=r[n]);To(e);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=e.forceFallback?!1:Ua,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?Ce(t,"pointerdown",this._onTapStart):(Ce(t,"mousedown",this._onTapStart),Ce(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(Ce(t,"dragover",this),Ce(t,"dragenter",this)),Mr.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),$t(this,Ha())}se.prototype={constructor:se,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Rn=null)},_getDirection:function(e,r){return typeof this.options.direction=="function"?this.options.direction.call(this,e,r,L):this.options.direction},_onTapStart:function(e){if(e.cancelable){var r=this,n=this.el,i=this.options,o=i.preventOnFilter,l=e.type,h=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,u=(h||e).target,f=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||u,y=i.filter;if(ns(n),!L&&!(/mousedown|pointerdown/.test(l)&&e.button!==0||i.disabled)&&!f.isContentEditable&&!(!this.nativeDraggable&&Gn&&u&&u.tagName.toUpperCase()==="SELECT")&&(u=St(u,i.draggable,n,!1),!(u&&u.animated)&&Ar!==u)){if(Fn=vt(u),Jn=vt(u,i.draggable),typeof y=="function"){if(y.call(this,e,u,this)){it({sortable:r,rootEl:f,name:"filter",targetEl:u,toEl:n,fromEl:n}),at("filter",r,{evt:e}),o&&e.cancelable&&e.preventDefault();return}}else if(y&&(y=y.split(",").some(function(b){if(b=St(f,b.trim(),n,!1),b)return it({sortable:r,rootEl:b,name:"filter",targetEl:u,fromEl:n,toEl:n}),at("filter",r,{evt:e}),!0}),y)){o&&e.cancelable&&e.preventDefault();return}i.handle&&!St(f,i.handle,n,!1)||this._prepareDragStart(e,h,u)}}},_prepareDragStart:function(e,r,n){var i=this,o=i.el,l=i.options,h=o.ownerDocument,u;if(n&&!L&&n.parentNode===o){var f=qe(n);if(ke=o,L=n,ze=L.parentNode,bn=L.nextSibling,Ar=n,wr=l.group,se.dragged=L,mn={target:L,clientX:(r||e).clientX,clientY:(r||e).clientY},ho=mn.clientX-f.left,vo=mn.clientY-f.top,this._lastX=(r||e).clientX,this._lastY=(r||e).clientY,L.style["will-change"]="all",u=function(){if(at("delayEnded",i,{evt:e}),se.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!co&&i.nativeDraggable&&(L.draggable=!0),i._triggerDragStart(e,r),it({sortable:i,name:"choose",originalEvent:e}),ct(L,l.chosenClass,!0)},l.ignore.split(",").forEach(function(y){xo(L,y.trim(),fi)}),Ce(h,"dragover",gn),Ce(h,"mousemove",gn),Ce(h,"touchmove",gn),Ce(h,"mouseup",i._onDrop),Ce(h,"touchend",i._onDrop),Ce(h,"touchcancel",i._onDrop),co&&this.nativeDraggable&&(this.options.touchStartThreshold=4,L.draggable=!0),at("delayStart",this,{evt:e}),l.delay&&(!l.delayOnTouchOnly||r)&&(!this.nativeDraggable||!(er||Wt))){if(se.eventCanceled){this._onDrop();return}Ce(h,"mouseup",i._disableDelayedDrag),Ce(h,"touchend",i._disableDelayedDrag),Ce(h,"touchcancel",i._disableDelayedDrag),Ce(h,"mousemove",i._delayedDragTouchMoveHandler),Ce(h,"touchmove",i._delayedDragTouchMoveHandler),l.supportPointer&&Ce(h,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(u,l.delay)}else u()}},_delayedDragTouchMoveHandler:function(e){var r=e.touches?e.touches[0]:e;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){L&&fi(L),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;Oe(e,"mouseup",this._disableDelayedDrag),Oe(e,"touchend",this._disableDelayedDrag),Oe(e,"touchcancel",this._disableDelayedDrag),Oe(e,"mousemove",this._delayedDragTouchMoveHandler),Oe(e,"touchmove",this._delayedDragTouchMoveHandler),Oe(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,r){r=r||e.pointerType=="touch"&&e,!this.nativeDraggable||r?this.options.supportPointer?Ce(document,"pointermove",this._onTouchMove):r?Ce(document,"touchmove",this._onTouchMove):Ce(document,"mousemove",this._onTouchMove):(Ce(L,"dragend",this),Ce(ke,"dragstart",this._onDragStart));try{document.selection?Dr(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,r){if(In=!1,ke&&L){at("dragStarted",this,{evt:r}),this.nativeDraggable&&Ce(document,"dragover",qa);var n=this.options;!e&&ct(L,n.dragClass,!1),ct(L,n.ghostClass,!0),se.active=this,e&&this._appendGhost(),it({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(Ot){this._lastX=Ot.clientX,this._lastY=Ot.clientY,_o();for(var e=document.elementFromPoint(Ot.clientX,Ot.clientY),r=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Ot.clientX,Ot.clientY),e!==r);)r=e;if(L.parentNode[ut]._isOutsideThisEl(e),r)do{if(r[ut]){var n=void 0;if(n=r[ut]._onDragOver({clientX:Ot.clientX,clientY:Ot.clientY,target:e,rootEl:r}),n&&!this.options.dragoverBubble)break}e=r}while(r=r.parentNode);Po()}},_onTouchMove:function(e){if(mn){var r=this.options,n=r.fallbackTolerance,i=r.fallbackOffset,o=e.touches?e.touches[0]:e,l=ue&&Ln(ue,!0),h=ue&&l&&l.a,u=ue&&l&&l.d,f=Er&&nt&&po(nt),y=(o.clientX-mn.clientX+i.x)/(h||1)+(f?f[0]-ci[0]:0)/(h||1),b=(o.clientY-mn.clientY+i.y)/(u||1)+(f?f[1]-ci[1]:0)/(u||1);if(!se.active&&!In){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))=0&&(it({rootEl:ze,name:"add",toEl:ze,fromEl:ke,originalEvent:e}),it({sortable:this,name:"remove",toEl:ze,originalEvent:e}),it({rootEl:ze,name:"sort",toEl:ze,fromEl:ke,originalEvent:e}),it({sortable:this,name:"sort",toEl:ze,originalEvent:e})),Ze&&Ze.save()):ft!==Fn&&ft>=0&&(it({sortable:this,name:"update",toEl:ze,originalEvent:e}),it({sortable:this,name:"sort",toEl:ze,originalEvent:e})),se.active&&((ft==null||ft===-1)&&(ft=Fn,on=Jn),it({sortable:this,name:"end",toEl:ze,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){at("nulling",this),ke=L=ze=ue=bn=We=Ar=an=mn=Ot=Yn=ft=on=Fn=Jn=Rn=Zn=Ze=wr=se.dragged=se.ghost=se.clone=se.active=null,Rr.forEach(function(e){e.checked=!0}),Rr.length=si=li=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":L&&(this._onDragOver(e),Ga(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],r,n=this.el.children,i=0,o=n.length,l=this.options;ii.right+o||t.clientY>n.bottom&&t.clientX>n.left:t.clientY>i.bottom+o||t.clientX>n.right&&t.clientY>n.top}function Qa(t,e,r,n,i,o,l,h){var u=n?t.clientY:t.clientX,f=n?r.height:r.width,y=n?r.top:r.left,b=n?r.bottom:r.right,A=!1;if(!l){if(h&&Cry+f*o/2:ub-Cr)return-Zn}else if(u>y+f*(1-i)/2&&ub-f*o/2)?u>y+f/2?1:-1:0}function es(t){return vt(L){t.directive("sortable",e=>{let r=parseInt(e.dataset?.sortableAnimationDuration);r!==0&&!r&&(r=300),e.sortable=xi.create(e,{group:e.getAttribute("x-sortable-group"),draggable:"[x-sortable-item]",handle:"[x-sortable-handle]",dataIdAttr:"x-sortable-item",animation:r,ghostClass:"fi-sortable-ghost"})})};var is=Object.create,Si=Object.defineProperty,os=Object.getPrototypeOf,as=Object.prototype.hasOwnProperty,ss=Object.getOwnPropertyNames,ls=Object.getOwnPropertyDescriptor,cs=t=>Si(t,"__esModule",{value:!0}),Io=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports),fs=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ss(e))!as.call(t,n)&&n!=="default"&&Si(t,n,{get:()=>e[n],enumerable:!(r=ls(e,n))||r.enumerable});return t},Fo=t=>fs(cs(Si(t!=null?is(os(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),us=Io(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});function e(c){var a=c.getBoundingClientRect();return{width:a.width,height:a.height,top:a.top,right:a.right,bottom:a.bottom,left:a.left,x:a.left,y:a.top}}function r(c){if(c==null)return window;if(c.toString()!=="[object Window]"){var a=c.ownerDocument;return a&&a.defaultView||window}return c}function n(c){var a=r(c),g=a.pageXOffset,D=a.pageYOffset;return{scrollLeft:g,scrollTop:D}}function i(c){var a=r(c).Element;return c instanceof a||c instanceof Element}function o(c){var a=r(c).HTMLElement;return c instanceof a||c instanceof HTMLElement}function l(c){if(typeof ShadowRoot>"u")return!1;var a=r(c).ShadowRoot;return c instanceof a||c instanceof ShadowRoot}function h(c){return{scrollLeft:c.scrollLeft,scrollTop:c.scrollTop}}function u(c){return c===r(c)||!o(c)?n(c):h(c)}function f(c){return c?(c.nodeName||"").toLowerCase():null}function y(c){return((i(c)?c.ownerDocument:c.document)||window.document).documentElement}function b(c){return e(y(c)).left+n(c).scrollLeft}function A(c){return r(c).getComputedStyle(c)}function E(c){var a=A(c),g=a.overflow,D=a.overflowX,T=a.overflowY;return/auto|scroll|overlay|hidden/.test(g+T+D)}function O(c,a,g){g===void 0&&(g=!1);var D=y(a),T=e(c),F=o(a),W={scrollLeft:0,scrollTop:0},j={x:0,y:0};return(F||!F&&!g)&&((f(a)!=="body"||E(D))&&(W=u(a)),o(a)?(j=e(a),j.x+=a.clientLeft,j.y+=a.clientTop):D&&(j.x=b(D))),{x:T.left+W.scrollLeft-j.x,y:T.top+W.scrollTop-j.y,width:T.width,height:T.height}}function P(c){var a=e(c),g=c.offsetWidth,D=c.offsetHeight;return Math.abs(a.width-g)<=1&&(g=a.width),Math.abs(a.height-D)<=1&&(D=a.height),{x:c.offsetLeft,y:c.offsetTop,width:g,height:D}}function R(c){return f(c)==="html"?c:c.assignedSlot||c.parentNode||(l(c)?c.host:null)||y(c)}function $(c){return["html","body","#document"].indexOf(f(c))>=0?c.ownerDocument.body:o(c)&&E(c)?c:$(R(c))}function B(c,a){var g;a===void 0&&(a=[]);var D=$(c),T=D===((g=c.ownerDocument)==null?void 0:g.body),F=r(D),W=T?[F].concat(F.visualViewport||[],E(D)?D:[]):D,j=a.concat(W);return T?j:j.concat(B(R(W)))}function K(c){return["table","td","th"].indexOf(f(c))>=0}function X(c){return!o(c)||A(c).position==="fixed"?null:c.offsetParent}function ne(c){var a=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,g=navigator.userAgent.indexOf("Trident")!==-1;if(g&&o(c)){var D=A(c);if(D.position==="fixed")return null}for(var T=R(c);o(T)&&["html","body"].indexOf(f(T))<0;){var F=A(T);if(F.transform!=="none"||F.perspective!=="none"||F.contain==="paint"||["transform","perspective"].indexOf(F.willChange)!==-1||a&&F.willChange==="filter"||a&&F.filter&&F.filter!=="none")return T;T=T.parentNode}return null}function J(c){for(var a=r(c),g=X(c);g&&K(g)&&A(g).position==="static";)g=X(g);return g&&(f(g)==="html"||f(g)==="body"&&A(g).position==="static")?a:g||ne(c)||a}var V="top",de="bottom",U="right",Z="left",me="auto",s=[V,de,U,Z],p="start",v="end",d="clippingParents",N="viewport",_="popper",M="reference",Q=s.reduce(function(c,a){return c.concat([a+"-"+p,a+"-"+v])},[]),Ue=[].concat(s,[me]).reduce(function(c,a){return c.concat([a,a+"-"+p,a+"-"+v])},[]),Rt="beforeRead",Vt="read",Lr="afterRead",Nr="beforeMain",kr="main",zt="afterMain",nr="beforeWrite",jr="write",rr="afterWrite",It=[Rt,Vt,Lr,Nr,kr,zt,nr,jr,rr];function Br(c){var a=new Map,g=new Set,D=[];c.forEach(function(F){a.set(F.name,F)});function T(F){g.add(F.name);var W=[].concat(F.requires||[],F.requiresIfExists||[]);W.forEach(function(j){if(!g.has(j)){var q=a.get(j);q&&T(q)}}),D.push(F)}return c.forEach(function(F){g.has(F.name)||T(F)}),D}function mt(c){var a=Br(c);return It.reduce(function(g,D){return g.concat(a.filter(function(T){return T.phase===D}))},[])}function Ut(c){var a;return function(){return a||(a=new Promise(function(g){Promise.resolve().then(function(){a=void 0,g(c())})})),a}}function At(c){for(var a=arguments.length,g=new Array(a>1?a-1:0),D=1;D=0,D=g&&o(c)?J(c):c;return i(D)?a.filter(function(T){return i(T)&&kn(T,D)&&f(T)!=="body"}):[]}function wn(c,a,g){var D=a==="clippingParents"?yn(c):[].concat(a),T=[].concat(D,[g]),F=T[0],W=T.reduce(function(j,q){var oe=sr(c,q);return j.top=gt(oe.top,j.top),j.right=ln(oe.right,j.right),j.bottom=ln(oe.bottom,j.bottom),j.left=gt(oe.left,j.left),j},sr(c,F));return W.width=W.right-W.left,W.height=W.bottom-W.top,W.x=W.left,W.y=W.top,W}function cn(c){return c.split("-")[1]}function dt(c){return["top","bottom"].indexOf(c)>=0?"x":"y"}function lr(c){var a=c.reference,g=c.element,D=c.placement,T=D?ot(D):null,F=D?cn(D):null,W=a.x+a.width/2-g.width/2,j=a.y+a.height/2-g.height/2,q;switch(T){case V:q={x:W,y:a.y-g.height};break;case de:q={x:W,y:a.y+a.height};break;case U:q={x:a.x+a.width,y:j};break;case Z:q={x:a.x-g.width,y:j};break;default:q={x:a.x,y:a.y}}var oe=T?dt(T):null;if(oe!=null){var z=oe==="y"?"height":"width";switch(F){case p:q[oe]=q[oe]-(a[z]/2-g[z]/2);break;case v:q[oe]=q[oe]+(a[z]/2-g[z]/2);break}}return q}function cr(){return{top:0,right:0,bottom:0,left:0}}function fr(c){return Object.assign({},cr(),c)}function ur(c,a){return a.reduce(function(g,D){return g[D]=c,g},{})}function qt(c,a){a===void 0&&(a={});var g=a,D=g.placement,T=D===void 0?c.placement:D,F=g.boundary,W=F===void 0?d:F,j=g.rootBoundary,q=j===void 0?N:j,oe=g.elementContext,z=oe===void 0?_:oe,De=g.altBoundary,Le=De===void 0?!1:De,Ae=g.padding,xe=Ae===void 0?0:Ae,Me=fr(typeof xe!="number"?xe:ur(xe,s)),Ee=z===_?M:_,Be=c.elements.reference,Re=c.rects.popper,He=c.elements[Le?Ee:z],ce=wn(i(He)?He:He.contextElement||y(c.elements.popper),W,q),Pe=e(Be),Te=lr({reference:Pe,element:Re,strategy:"absolute",placement:T}),Ne=Xt(Object.assign({},Re,Te)),Fe=z===_?Ne:Pe,Ye={top:ce.top-Fe.top+Me.top,bottom:Fe.bottom-ce.bottom+Me.bottom,left:ce.left-Fe.left+Me.left,right:Fe.right-ce.right+Me.right},$e=c.modifiersData.offset;if(z===_&&$e){var Ve=$e[T];Object.keys(Ye).forEach(function(wt){var et=[U,de].indexOf(wt)>=0?1:-1,Lt=[V,de].indexOf(wt)>=0?"y":"x";Ye[wt]+=Ve[Lt]*et})}return Ye}var dr="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",zr="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",xn={placement:"bottom",modifiers:[],strategy:"absolute"};function fn(){for(var c=arguments.length,a=new Array(c),g=0;g100){console.error(zr);break}if(z.reset===!0){z.reset=!1,Pe=-1;continue}var Te=z.orderedModifiers[Pe],Ne=Te.fn,Fe=Te.options,Ye=Fe===void 0?{}:Fe,$e=Te.name;typeof Ne=="function"&&(z=Ne({state:z,options:Ye,name:$e,instance:Ae})||z)}}},update:Ut(function(){return new Promise(function(Ee){Ae.forceUpdate(),Ee(z)})}),destroy:function(){Me(),Le=!0}};if(!fn(j,q))return console.error(dr),Ae;Ae.setOptions(oe).then(function(Ee){!Le&&oe.onFirstUpdate&&oe.onFirstUpdate(Ee)});function xe(){z.orderedModifiers.forEach(function(Ee){var Be=Ee.name,Re=Ee.options,He=Re===void 0?{}:Re,ce=Ee.effect;if(typeof ce=="function"){var Pe=ce({state:z,name:Be,instance:Ae,options:He}),Te=function(){};De.push(Pe||Te)}})}function Me(){De.forEach(function(Ee){return Ee()}),De=[]}return Ae}}var On={passive:!0};function Ur(c){var a=c.state,g=c.instance,D=c.options,T=D.scroll,F=T===void 0?!0:T,W=D.resize,j=W===void 0?!0:W,q=r(a.elements.popper),oe=[].concat(a.scrollParents.reference,a.scrollParents.popper);return F&&oe.forEach(function(z){z.addEventListener("scroll",g.update,On)}),j&&q.addEventListener("resize",g.update,On),function(){F&&oe.forEach(function(z){z.removeEventListener("scroll",g.update,On)}),j&&q.removeEventListener("resize",g.update,On)}}var jn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Ur,data:{}};function Yr(c){var a=c.state,g=c.name;a.modifiersData[g]=lr({reference:a.rects.reference,element:a.rects.popper,strategy:"absolute",placement:a.placement})}var Bn={name:"popperOffsets",enabled:!0,phase:"read",fn:Yr,data:{}},Xr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qr(c){var a=c.x,g=c.y,D=window,T=D.devicePixelRatio||1;return{x:Yt(Yt(a*T)/T)||0,y:Yt(Yt(g*T)/T)||0}}function Hn(c){var a,g=c.popper,D=c.popperRect,T=c.placement,F=c.offsets,W=c.position,j=c.gpuAcceleration,q=c.adaptive,oe=c.roundOffsets,z=oe===!0?qr(F):typeof oe=="function"?oe(F):F,De=z.x,Le=De===void 0?0:De,Ae=z.y,xe=Ae===void 0?0:Ae,Me=F.hasOwnProperty("x"),Ee=F.hasOwnProperty("y"),Be=Z,Re=V,He=window;if(q){var ce=J(g),Pe="clientHeight",Te="clientWidth";ce===r(g)&&(ce=y(g),A(ce).position!=="static"&&(Pe="scrollHeight",Te="scrollWidth")),ce=ce,T===V&&(Re=de,xe-=ce[Pe]-D.height,xe*=j?1:-1),T===Z&&(Be=U,Le-=ce[Te]-D.width,Le*=j?1:-1)}var Ne=Object.assign({position:W},q&&Xr);if(j){var Fe;return Object.assign({},Ne,(Fe={},Fe[Re]=Ee?"0":"",Fe[Be]=Me?"0":"",Fe.transform=(He.devicePixelRatio||1)<2?"translate("+Le+"px, "+xe+"px)":"translate3d("+Le+"px, "+xe+"px, 0)",Fe))}return Object.assign({},Ne,(a={},a[Re]=Ee?xe+"px":"",a[Be]=Me?Le+"px":"",a.transform="",a))}function m(c){var a=c.state,g=c.options,D=g.gpuAcceleration,T=D===void 0?!0:D,F=g.adaptive,W=F===void 0?!0:F,j=g.roundOffsets,q=j===void 0?!0:j,oe=A(a.elements.popper).transitionProperty||"";W&&["transform","top","right","bottom","left"].some(function(De){return oe.indexOf(De)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` +(()=>{var qo=Object.create;var Ti=Object.defineProperty;var Go=Object.getOwnPropertyDescriptor;var Ko=Object.getOwnPropertyNames;var Jo=Object.getPrototypeOf,Qo=Object.prototype.hasOwnProperty;var Kr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Zo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ko(t))!Qo.call(e,i)&&i!==r&&Ti(e,i,{get:()=>t[i],enumerable:!(n=Go(t,i))||n.enumerable});return e};var ea=(e,t,r)=>(r=e!=null?qo(Jo(e)):{},Zo(t||!e||!e.__esModule?Ti(r,"default",{value:e,enumerable:!0}):r,e));var uo=Kr(()=>{});var po=Kr(()=>{});var ho=Kr((Hs,yr)=>{(function(){"use strict";var e="input is invalid type",t="finalize already called",r=typeof window=="object",n=r?window:{};n.JS_MD5_NO_WINDOW&&(r=!1);var i=!r&&typeof self=="object",o=!n.JS_MD5_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=global:i&&(n=self);var a=!n.JS_MD5_NO_COMMON_JS&&typeof yr=="object"&&yr.exports,c=typeof define=="function"&&define.amd,f=!n.JS_MD5_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",d="0123456789abcdef".split(""),y=[128,32768,8388608,-2147483648],m=[0,8,16,24],O=["hex","array","digest","buffer","arrayBuffer","base64"],E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),S=[],_;if(f){var I=new ArrayBuffer(68);_=new Uint8Array(I),S=new Uint32Array(I)}var $=Array.isArray;(n.JS_MD5_NO_NODE_JS||!$)&&($=function(l){return Object.prototype.toString.call(l)==="[object Array]"});var A=ArrayBuffer.isView;f&&(n.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW||!A)&&(A=function(l){return typeof l=="object"&&l.buffer&&l.buffer.constructor===ArrayBuffer});var N=function(l){var h=typeof l;if(h==="string")return[l,!0];if(h!=="object"||l===null)throw new Error(e);if(f&&l.constructor===ArrayBuffer)return[new Uint8Array(l),!1];if(!$(l)&&!A(l))throw new Error(e);return[l,!1]},Y=function(l){return function(h){return new X(!0).update(h)[l]()}},ne=function(){var l=Y("hex");o&&(l=J(l)),l.create=function(){return new X},l.update=function(p){return l.create().update(p)};for(var h=0;h>>6,ze[M++]=128|p&63):p<55296||p>=57344?(ze[M++]=224|p>>>12,ze[M++]=128|p>>>6&63,ze[M++]=128|p&63):(p=65536+((p&1023)<<10|l.charCodeAt(++j)&1023),ze[M++]=240|p>>>18,ze[M++]=128|p>>>12&63,ze[M++]=128|p>>>6&63,ze[M++]=128|p&63);else for(M=this.start;j>>2]|=p<>>2]|=(192|p>>>6)<>>2]|=(128|p&63)<=57344?(Z[M>>>2]|=(224|p>>>12)<>>2]|=(128|p>>>6&63)<>>2]|=(128|p&63)<>>2]|=(240|p>>>18)<>>2]|=(128|p>>>12&63)<>>2]|=(128|p>>>6&63)<>>2]|=(128|p&63)<>>2]|=l[j]<=64?(this.start=M-64,this.hash(),this.hashed=!0):this.start=M}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this},X.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var l=this.blocks,h=this.lastByteIndex;l[h>>>2]|=y[h&3],h>=56&&(this.hashed||this.hash(),l[0]=l[16],l[16]=l[1]=l[2]=l[3]=l[4]=l[5]=l[6]=l[7]=l[8]=l[9]=l[10]=l[11]=l[12]=l[13]=l[14]=l[15]=0),l[14]=this.bytes<<3,l[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},X.prototype.hash=function(){var l,h,v,p,j,M,R=this.blocks;this.first?(l=R[0]-680876937,l=(l<<7|l>>>25)-271733879<<0,p=(-1732584194^l&2004318071)+R[1]-117830708,p=(p<<12|p>>>20)+l<<0,v=(-271733879^p&(l^-271733879))+R[2]-1126478375,v=(v<<17|v>>>15)+p<<0,h=(l^v&(p^l))+R[3]-1316259209,h=(h<<22|h>>>10)+v<<0):(l=this.h0,h=this.h1,v=this.h2,p=this.h3,l+=(p^h&(v^p))+R[0]-680876936,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[1]-389564586,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[2]+606105819,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[3]-1044525330,h=(h<<22|h>>>10)+v<<0),l+=(p^h&(v^p))+R[4]-176418897,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[5]+1200080426,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[6]-1473231341,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[7]-45705983,h=(h<<22|h>>>10)+v<<0,l+=(p^h&(v^p))+R[8]+1770035416,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[9]-1958414417,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[10]-42063,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[11]-1990404162,h=(h<<22|h>>>10)+v<<0,l+=(p^h&(v^p))+R[12]+1804603682,l=(l<<7|l>>>25)+h<<0,p+=(v^l&(h^v))+R[13]-40341101,p=(p<<12|p>>>20)+l<<0,v+=(h^p&(l^h))+R[14]-1502002290,v=(v<<17|v>>>15)+p<<0,h+=(l^v&(p^l))+R[15]+1236535329,h=(h<<22|h>>>10)+v<<0,l+=(v^p&(h^v))+R[1]-165796510,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[6]-1069501632,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[11]+643717713,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[0]-373897302,h=(h<<20|h>>>12)+v<<0,l+=(v^p&(h^v))+R[5]-701558691,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[10]+38016083,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[15]-660478335,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[4]-405537848,h=(h<<20|h>>>12)+v<<0,l+=(v^p&(h^v))+R[9]+568446438,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[14]-1019803690,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[3]-187363961,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[8]+1163531501,h=(h<<20|h>>>12)+v<<0,l+=(v^p&(h^v))+R[13]-1444681467,l=(l<<5|l>>>27)+h<<0,p+=(h^v&(l^h))+R[2]-51403784,p=(p<<9|p>>>23)+l<<0,v+=(l^h&(p^l))+R[7]+1735328473,v=(v<<14|v>>>18)+p<<0,h+=(p^l&(v^p))+R[12]-1926607734,h=(h<<20|h>>>12)+v<<0,j=h^v,l+=(j^p)+R[5]-378558,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[8]-2022574463,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[11]+1839030562,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[14]-35309556,h=(h<<23|h>>>9)+v<<0,j=h^v,l+=(j^p)+R[1]-1530992060,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[4]+1272893353,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[7]-155497632,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[10]-1094730640,h=(h<<23|h>>>9)+v<<0,j=h^v,l+=(j^p)+R[13]+681279174,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[0]-358537222,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[3]-722521979,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[6]+76029189,h=(h<<23|h>>>9)+v<<0,j=h^v,l+=(j^p)+R[9]-640364487,l=(l<<4|l>>>28)+h<<0,p+=(j^l)+R[12]-421815835,p=(p<<11|p>>>21)+l<<0,M=p^l,v+=(M^h)+R[15]+530742520,v=(v<<16|v>>>16)+p<<0,h+=(M^v)+R[2]-995338651,h=(h<<23|h>>>9)+v<<0,l+=(v^(h|~p))+R[0]-198630844,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[7]+1126891415,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[14]-1416354905,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[5]-57434055,h=(h<<21|h>>>11)+v<<0,l+=(v^(h|~p))+R[12]+1700485571,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[3]-1894986606,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[10]-1051523,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[1]-2054922799,h=(h<<21|h>>>11)+v<<0,l+=(v^(h|~p))+R[8]+1873313359,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[15]-30611744,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[6]-1560198380,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[13]+1309151649,h=(h<<21|h>>>11)+v<<0,l+=(v^(h|~p))+R[4]-145523070,l=(l<<6|l>>>26)+h<<0,p+=(h^(l|~v))+R[11]-1120210379,p=(p<<10|p>>>22)+l<<0,v+=(l^(p|~h))+R[2]+718787259,v=(v<<15|v>>>17)+p<<0,h+=(p^(v|~l))+R[9]-343485551,h=(h<<21|h>>>11)+v<<0,this.first?(this.h0=l+1732584193<<0,this.h1=h-271733879<<0,this.h2=v-1732584194<<0,this.h3=p+271733878<<0,this.first=!1):(this.h0=this.h0+l<<0,this.h1=this.h1+h<<0,this.h2=this.h2+v<<0,this.h3=this.h3+p<<0)},X.prototype.hex=function(){this.finalize();var l=this.h0,h=this.h1,v=this.h2,p=this.h3;return d[l>>>4&15]+d[l&15]+d[l>>>12&15]+d[l>>>8&15]+d[l>>>20&15]+d[l>>>16&15]+d[l>>>28&15]+d[l>>>24&15]+d[h>>>4&15]+d[h&15]+d[h>>>12&15]+d[h>>>8&15]+d[h>>>20&15]+d[h>>>16&15]+d[h>>>28&15]+d[h>>>24&15]+d[v>>>4&15]+d[v&15]+d[v>>>12&15]+d[v>>>8&15]+d[v>>>20&15]+d[v>>>16&15]+d[v>>>28&15]+d[v>>>24&15]+d[p>>>4&15]+d[p&15]+d[p>>>12&15]+d[p>>>8&15]+d[p>>>20&15]+d[p>>>16&15]+d[p>>>28&15]+d[p>>>24&15]},X.prototype.toString=X.prototype.hex,X.prototype.digest=function(){this.finalize();var l=this.h0,h=this.h1,v=this.h2,p=this.h3;return[l&255,l>>>8&255,l>>>16&255,l>>>24&255,h&255,h>>>8&255,h>>>16&255,h>>>24&255,v&255,v>>>8&255,v>>>16&255,v>>>24&255,p&255,p>>>8&255,p>>>16&255,p>>>24&255]},X.prototype.array=X.prototype.digest,X.prototype.arrayBuffer=function(){this.finalize();var l=new ArrayBuffer(16),h=new Uint32Array(l);return h[0]=this.h0,h[1]=this.h1,h[2]=this.h2,h[3]=this.h3,l},X.prototype.buffer=X.prototype.arrayBuffer,X.prototype.base64=function(){for(var l,h,v,p="",j=this.array(),M=0;M<15;)l=j[M++],h=j[M++],v=j[M++],p+=E[l>>>2]+E[(l<<4|h>>>4)&63]+E[(h<<2|v>>>6)&63]+E[v&63];return l=j[M],p+=E[l>>>2]+E[l<<4&63]+"==",p};function Q(l,h){var v,p=N(l);if(l=p[0],p[1]){var j=[],M=l.length,R=0,Z;for(v=0;v>>6,j[R++]=128|Z&63):Z<55296||Z>=57344?(j[R++]=224|Z>>>12,j[R++]=128|Z>>>6&63,j[R++]=128|Z&63):(Z=65536+((Z&1023)<<10|l.charCodeAt(++v)&1023),j[R++]=240|Z>>>18,j[R++]=128|Z>>>12&63,j[R++]=128|Z>>>6&63,j[R++]=128|Z&63);l=j}l.length>64&&(l=new X(!0).update(l).array());var ze=[],Rt=[];for(v=0;v<64;++v){var Ut=l[v]||0;ze[v]=92^Ut,Rt[v]=54^Ut}X.call(this,h),this.update(Rt),this.oKeyPad=ze,this.inner=!0,this.sharedMemory=h}Q.prototype=new X,Q.prototype.finalize=function(){if(X.prototype.finalize.call(this),this.inner){this.inner=!1;var l=this.array();X.call(this,this.sharedMemory),this.update(this.oKeyPad),this.update(l),X.prototype.finalize.call(this)}};var me=ne();me.md5=me,me.md5.hmac=de(),a?yr.exports=me:(n.md5=me,c&&define(function(){return me}))})()});var Hi=["top","right","bottom","left"],Pi=["start","end"],Mi=Hi.reduce((e,t)=>e.concat(t,t+"-"+Pi[0],t+"-"+Pi[1]),[]),Et=Math.min,tt=Math.max,hr=Math.round,pr=Math.floor,nn=e=>({x:e,y:e}),ta={left:"right",right:"left",bottom:"top",top:"bottom"},na={start:"end",end:"start"};function Jr(e,t,r){return tt(e,Et(t,r))}function jt(e,t){return typeof e=="function"?e(t):e}function pt(e){return e.split("-")[0]}function xt(e){return e.split("-")[1]}function $i(e){return e==="x"?"y":"x"}function Qr(e){return e==="y"?"height":"width"}function Pn(e){return["top","bottom"].includes(pt(e))?"y":"x"}function Zr(e){return $i(Pn(e))}function Wi(e,t,r){r===void 0&&(r=!1);let n=xt(e),i=Zr(e),o=Qr(i),a=i==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=mr(a)),[a,mr(a)]}function ra(e){let t=mr(e);return[vr(e),t,vr(t)]}function vr(e){return e.replace(/start|end/g,t=>na[t])}function ia(e,t,r){let n=["left","right"],i=["right","left"],o=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return r?t?i:n:t?n:i;case"left":case"right":return t?o:a;default:return[]}}function oa(e,t,r,n){let i=xt(e),o=ia(pt(e),r==="start",n);return i&&(o=o.map(a=>a+"-"+i),t&&(o=o.concat(o.map(vr)))),o}function mr(e){return e.replace(/left|right|bottom|top/g,t=>ta[t])}function aa(e){return{top:0,right:0,bottom:0,left:0,...e}}function ei(e){return typeof e!="number"?aa(e):{top:e,right:e,bottom:e,left:e}}function Dn(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function Ri(e,t,r){let{reference:n,floating:i}=e,o=Pn(t),a=Zr(t),c=Qr(a),f=pt(t),d=o==="y",y=n.x+n.width/2-i.width/2,m=n.y+n.height/2-i.height/2,O=n[c]/2-i[c]/2,E;switch(f){case"top":E={x:y,y:n.y-i.height};break;case"bottom":E={x:y,y:n.y+n.height};break;case"right":E={x:n.x+n.width,y:m};break;case"left":E={x:n.x-i.width,y:m};break;default:E={x:n.x,y:n.y}}switch(xt(t)){case"start":E[a]-=O*(r&&d?-1:1);break;case"end":E[a]+=O*(r&&d?-1:1);break}return E}var sa=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:o=[],platform:a}=r,c=o.filter(Boolean),f=await(a.isRTL==null?void 0:a.isRTL(t)),d=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:y,y:m}=Ri(d,n,f),O=n,E={},S=0;for(let _=0;_({name:"arrow",options:e,async fn(t){let{x:r,y:n,placement:i,rects:o,platform:a,elements:c,middlewareData:f}=t,{element:d,padding:y=0}=jt(e,t)||{};if(d==null)return{};let m=ei(y),O={x:r,y:n},E=Zr(i),S=Qr(E),_=await a.getDimensions(d),I=E==="y",$=I?"top":"left",A=I?"bottom":"right",N=I?"clientHeight":"clientWidth",Y=o.reference[S]+o.reference[E]-O[E]-o.floating[S],ne=O[E]-o.reference[E],J=await(a.getOffsetParent==null?void 0:a.getOffsetParent(d)),V=J?J[N]:0;(!V||!await(a.isElement==null?void 0:a.isElement(J)))&&(V=c.floating[N]||o.floating[S]);let de=Y/2-ne/2,X=V/2-_[S]/2-1,Q=Et(m[$],X),me=Et(m[A],X),l=Q,h=V-_[S]-me,v=V/2-_[S]/2+de,p=Jr(l,v,h),j=!f.arrow&&xt(i)!=null&&v!==p&&o.reference[S]/2-(vxt(i)===e),...r.filter(i=>xt(i)!==e)]:r.filter(i=>pt(i)===i)).filter(i=>e?xt(i)===e||(t?vr(i)!==i:!1):!0)}var fa=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var r,n,i;let{rects:o,middlewareData:a,placement:c,platform:f,elements:d}=t,{crossAxis:y=!1,alignment:m,allowedPlacements:O=Mi,autoAlignment:E=!0,...S}=jt(e,t),_=m!==void 0||O===Mi?ca(m||null,E,O):O,I=await _n(t,S),$=((r=a.autoPlacement)==null?void 0:r.index)||0,A=_[$];if(A==null)return{};let N=Wi(A,o,await(f.isRTL==null?void 0:f.isRTL(d.floating)));if(c!==A)return{reset:{placement:_[0]}};let Y=[I[pt(A)],I[N[0]],I[N[1]]],ne=[...((n=a.autoPlacement)==null?void 0:n.overflows)||[],{placement:A,overflows:Y}],J=_[$+1];if(J)return{data:{index:$+1,overflows:ne},reset:{placement:J}};let V=ne.map(Q=>{let me=xt(Q.placement);return[Q.placement,me&&y?Q.overflows.slice(0,2).reduce((l,h)=>l+h,0):Q.overflows[0],Q.overflows]}).sort((Q,me)=>Q[1]-me[1]),X=((i=V.filter(Q=>Q[2].slice(0,xt(Q[0])?2:3).every(me=>me<=0))[0])==null?void 0:i[0])||V[0][0];return X!==c?{data:{index:$+1,overflows:ne},reset:{placement:X}}:{}}}},ua=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;let{placement:i,middlewareData:o,rects:a,initialPlacement:c,platform:f,elements:d}=t,{mainAxis:y=!0,crossAxis:m=!0,fallbackPlacements:O,fallbackStrategy:E="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:_=!0,...I}=jt(e,t);if((r=o.arrow)!=null&&r.alignmentOffset)return{};let $=pt(i),A=pt(c)===c,N=await(f.isRTL==null?void 0:f.isRTL(d.floating)),Y=O||(A||!_?[mr(c)]:ra(c));!O&&S!=="none"&&Y.push(...oa(c,_,S,N));let ne=[c,...Y],J=await _n(t,I),V=[],de=((n=o.flip)==null?void 0:n.overflows)||[];if(y&&V.push(J[$]),m){let l=Wi(i,a,N);V.push(J[l[0]],J[l[1]])}if(de=[...de,{placement:i,overflows:V}],!V.every(l=>l<=0)){var X,Q;let l=(((X=o.flip)==null?void 0:X.index)||0)+1,h=ne[l];if(h)return{data:{index:l,overflows:de},reset:{placement:h}};let v=(Q=de.filter(p=>p.overflows[0]<=0).sort((p,j)=>p.overflows[1]-j.overflows[1])[0])==null?void 0:Q.placement;if(!v)switch(E){case"bestFit":{var me;let p=(me=de.map(j=>[j.placement,j.overflows.filter(M=>M>0).reduce((M,R)=>M+R,0)]).sort((j,M)=>j[1]-M[1])[0])==null?void 0:me[0];p&&(v=p);break}case"initialPlacement":v=c;break}if(i!==v)return{reset:{placement:v}}}return{}}}};function Ii(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Li(e){return Hi.some(t=>e[t]>=0)}var da=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r}=t,{strategy:n="referenceHidden",...i}=jt(e,t);switch(n){case"referenceHidden":{let o=await _n(t,{...i,elementContext:"reference"}),a=Ii(o,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Li(a)}}}case"escaped":{let o=await _n(t,{...i,altBoundary:!0}),a=Ii(o,r.floating);return{data:{escapedOffsets:a,escaped:Li(a)}}}default:return{}}}}};function Ui(e){let t=Et(...e.map(o=>o.left)),r=Et(...e.map(o=>o.top)),n=tt(...e.map(o=>o.right)),i=tt(...e.map(o=>o.bottom));return{x:t,y:r,width:n-t,height:i-r}}function pa(e){let t=e.slice().sort((i,o)=>i.y-o.y),r=[],n=null;for(let i=0;in.height/2?r.push([o]):r[r.length-1].push(o),n=o}return r.map(i=>Dn(Ui(i)))}var ha=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){let{placement:r,elements:n,rects:i,platform:o,strategy:a}=t,{padding:c=2,x:f,y:d}=jt(e,t),y=Array.from(await(o.getClientRects==null?void 0:o.getClientRects(n.reference))||[]),m=pa(y),O=Dn(Ui(y)),E=ei(c);function S(){if(m.length===2&&m[0].left>m[1].right&&f!=null&&d!=null)return m.find(I=>f>I.left-E.left&&fI.top-E.top&&d=2){if(Pn(r)==="y"){let Q=m[0],me=m[m.length-1],l=pt(r)==="top",h=Q.top,v=me.bottom,p=l?Q.left:me.left,j=l?Q.right:me.right,M=j-p,R=v-h;return{top:h,bottom:v,left:p,right:j,width:M,height:R,x:p,y:h}}let I=pt(r)==="left",$=tt(...m.map(Q=>Q.right)),A=Et(...m.map(Q=>Q.left)),N=m.filter(Q=>I?Q.left===A:Q.right===$),Y=N[0].top,ne=N[N.length-1].bottom,J=A,V=$,de=V-J,X=ne-Y;return{top:Y,bottom:ne,left:J,right:V,width:de,height:X,x:J,y:Y}}return O}let _=await o.getElementRects({reference:{getBoundingClientRect:S},floating:n.floating,strategy:a});return i.reference.x!==_.reference.x||i.reference.y!==_.reference.y||i.reference.width!==_.reference.width||i.reference.height!==_.reference.height?{reset:{rects:_}}:{}}}};async function va(e,t){let{placement:r,platform:n,elements:i}=e,o=await(n.isRTL==null?void 0:n.isRTL(i.floating)),a=pt(r),c=xt(r),f=Pn(r)==="y",d=["left","top"].includes(a)?-1:1,y=o&&f?-1:1,m=jt(t,e),{mainAxis:O,crossAxis:E,alignmentAxis:S}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...m};return c&&typeof S=="number"&&(E=c==="end"?S*-1:S),f?{x:E*y,y:O*d}:{x:O*d,y:E*y}}var Vi=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;let{x:i,y:o,placement:a,middlewareData:c}=t,f=await va(t,e);return a===((r=c.offset)==null?void 0:r.placement)&&(n=c.arrow)!=null&&n.alignmentOffset?{}:{x:i+f.x,y:o+f.y,data:{...f,placement:a}}}}},ma=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:n,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:c={fn:I=>{let{x:$,y:A}=I;return{x:$,y:A}}},...f}=jt(e,t),d={x:r,y:n},y=await _n(t,f),m=Pn(pt(i)),O=$i(m),E=d[O],S=d[m];if(o){let I=O==="y"?"top":"left",$=O==="y"?"bottom":"right",A=E+y[I],N=E-y[$];E=Jr(A,E,N)}if(a){let I=m==="y"?"top":"left",$=m==="y"?"bottom":"right",A=S+y[I],N=S-y[$];S=Jr(A,S,N)}let _=c.fn({...t,[O]:E,[m]:S});return{..._,data:{x:_.x-r,y:_.y-n}}}}},ga=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){let{placement:r,rects:n,platform:i,elements:o}=t,{apply:a=()=>{},...c}=jt(e,t),f=await _n(t,c),d=pt(r),y=xt(r),m=Pn(r)==="y",{width:O,height:E}=n.floating,S,_;d==="top"||d==="bottom"?(S=d,_=y===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(_=d,S=y==="end"?"top":"bottom");let I=E-f[S],$=O-f[_],A=!t.middlewareData.shift,N=I,Y=$;if(m){let J=O-f.left-f.right;Y=y||A?Et($,J):J}else{let J=E-f.top-f.bottom;N=y||A?Et(I,J):J}if(A&&!y){let J=tt(f.left,0),V=tt(f.right,0),de=tt(f.top,0),X=tt(f.bottom,0);m?Y=O-2*(J!==0||V!==0?J+V:tt(f.left,f.right)):N=E-2*(de!==0||X!==0?de+X:tt(f.top,f.bottom))}await a({...t,availableWidth:Y,availableHeight:N});let ne=await i.getDimensions(o.floating);return O!==ne.width||E!==ne.height?{reset:{rects:!0}}:{}}}};function rn(e){return zi(e)?(e.nodeName||"").toLowerCase():"#document"}function ct(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Bt(e){var t;return(t=(zi(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function zi(e){return e instanceof Node||e instanceof ct(e).Node}function Nt(e){return e instanceof Element||e instanceof ct(e).Element}function Tt(e){return e instanceof HTMLElement||e instanceof ct(e).HTMLElement}function Fi(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ct(e).ShadowRoot}function zn(e){let{overflow:t,overflowX:r,overflowY:n,display:i}=ht(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!["inline","contents"].includes(i)}function ba(e){return["table","td","th"].includes(rn(e))}function ti(e){let t=ni(),r=ht(e);return r.transform!=="none"||r.perspective!=="none"||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||["transform","perspective","filter"].some(n=>(r.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(r.contain||"").includes(n))}function ya(e){let t=Tn(e);for(;Tt(t)&&!gr(t);){if(ti(t))return t;t=Tn(t)}return null}function ni(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function gr(e){return["html","body","#document"].includes(rn(e))}function ht(e){return ct(e).getComputedStyle(e)}function br(e){return Nt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Tn(e){if(rn(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Fi(e)&&e.host||Bt(e);return Fi(t)?t.host:t}function Yi(e){let t=Tn(e);return gr(t)?e.ownerDocument?e.ownerDocument.body:e.body:Tt(t)&&zn(t)?t:Yi(t)}function Vn(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);let i=Yi(e),o=i===((n=e.ownerDocument)==null?void 0:n.body),a=ct(i);return o?t.concat(a,a.visualViewport||[],zn(i)?i:[],a.frameElement&&r?Vn(a.frameElement):[]):t.concat(i,Vn(i,[],r))}function Xi(e){let t=ht(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=Tt(e),o=i?e.offsetWidth:r,a=i?e.offsetHeight:n,c=hr(r)!==o||hr(n)!==a;return c&&(r=o,n=a),{width:r,height:n,$:c}}function ri(e){return Nt(e)?e:e.contextElement}function Cn(e){let t=ri(e);if(!Tt(t))return nn(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:o}=Xi(t),a=(o?hr(r.width):r.width)/n,c=(o?hr(r.height):r.height)/i;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}var wa=nn(0);function qi(e){let t=ct(e);return!ni()||!t.visualViewport?wa:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function xa(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==ct(e)?!1:t}function vn(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);let i=e.getBoundingClientRect(),o=ri(e),a=nn(1);t&&(n?Nt(n)&&(a=Cn(n)):a=Cn(e));let c=xa(o,r,n)?qi(o):nn(0),f=(i.left+c.x)/a.x,d=(i.top+c.y)/a.y,y=i.width/a.x,m=i.height/a.y;if(o){let O=ct(o),E=n&&Nt(n)?ct(n):n,S=O,_=S.frameElement;for(;_&&n&&E!==S;){let I=Cn(_),$=_.getBoundingClientRect(),A=ht(_),N=$.left+(_.clientLeft+parseFloat(A.paddingLeft))*I.x,Y=$.top+(_.clientTop+parseFloat(A.paddingTop))*I.y;f*=I.x,d*=I.y,y*=I.x,m*=I.y,f+=N,d+=Y,S=ct(_),_=S.frameElement}}return Dn({width:y,height:m,x:f,y:d})}var Ea=[":popover-open",":modal"];function Gi(e){return Ea.some(t=>{try{return e.matches(t)}catch{return!1}})}function Oa(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,o=i==="fixed",a=Bt(n),c=t?Gi(t.floating):!1;if(n===a||c&&o)return r;let f={scrollLeft:0,scrollTop:0},d=nn(1),y=nn(0),m=Tt(n);if((m||!m&&!o)&&((rn(n)!=="body"||zn(a))&&(f=br(n)),Tt(n))){let O=vn(n);d=Cn(n),y.x=O.x+n.clientLeft,y.y=O.y+n.clientTop}return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-f.scrollLeft*d.x+y.x,y:r.y*d.y-f.scrollTop*d.y+y.y}}function Sa(e){return Array.from(e.getClientRects())}function Ki(e){return vn(Bt(e)).left+br(e).scrollLeft}function Aa(e){let t=Bt(e),r=br(e),n=e.ownerDocument.body,i=tt(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=tt(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),a=-r.scrollLeft+Ki(e),c=-r.scrollTop;return ht(n).direction==="rtl"&&(a+=tt(t.clientWidth,n.clientWidth)-i),{width:i,height:o,x:a,y:c}}function Ca(e,t){let r=ct(e),n=Bt(e),i=r.visualViewport,o=n.clientWidth,a=n.clientHeight,c=0,f=0;if(i){o=i.width,a=i.height;let d=ni();(!d||d&&t==="fixed")&&(c=i.offsetLeft,f=i.offsetTop)}return{width:o,height:a,x:c,y:f}}function Da(e,t){let r=vn(e,!0,t==="fixed"),n=r.top+e.clientTop,i=r.left+e.clientLeft,o=Tt(e)?Cn(e):nn(1),a=e.clientWidth*o.x,c=e.clientHeight*o.y,f=i*o.x,d=n*o.y;return{width:a,height:c,x:f,y:d}}function ki(e,t,r){let n;if(t==="viewport")n=Ca(e,r);else if(t==="document")n=Aa(Bt(e));else if(Nt(t))n=Da(t,r);else{let i=qi(e);n={...t,x:t.x-i.x,y:t.y-i.y}}return Dn(n)}function Ji(e,t){let r=Tn(e);return r===t||!Nt(r)||gr(r)?!1:ht(r).position==="fixed"||Ji(r,t)}function _a(e,t){let r=t.get(e);if(r)return r;let n=Vn(e,[],!1).filter(c=>Nt(c)&&rn(c)!=="body"),i=null,o=ht(e).position==="fixed",a=o?Tn(e):e;for(;Nt(a)&&!gr(a);){let c=ht(a),f=ti(a);!f&&c.position==="fixed"&&(i=null),(o?!f&&!i:!f&&c.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||zn(a)&&!f&&Ji(e,a))?n=n.filter(y=>y!==a):i=c,a=Tn(a)}return t.set(e,n),n}function Ta(e){let{element:t,boundary:r,rootBoundary:n,strategy:i}=e,a=[...r==="clippingAncestors"?_a(t,this._c):[].concat(r),n],c=a[0],f=a.reduce((d,y)=>{let m=ki(t,y,i);return d.top=tt(m.top,d.top),d.right=Et(m.right,d.right),d.bottom=Et(m.bottom,d.bottom),d.left=tt(m.left,d.left),d},ki(t,c,i));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Pa(e){let{width:t,height:r}=Xi(e);return{width:t,height:r}}function Ma(e,t,r){let n=Tt(t),i=Bt(t),o=r==="fixed",a=vn(e,!0,o,t),c={scrollLeft:0,scrollTop:0},f=nn(0);if(n||!n&&!o)if((rn(t)!=="body"||zn(i))&&(c=br(t)),n){let m=vn(t,!0,o,t);f.x=m.x+t.clientLeft,f.y=m.y+t.clientTop}else i&&(f.x=Ki(i));let d=a.left+c.scrollLeft-f.x,y=a.top+c.scrollTop-f.y;return{x:d,y,width:a.width,height:a.height}}function Ni(e,t){return!Tt(e)||ht(e).position==="fixed"?null:t?t(e):e.offsetParent}function Qi(e,t){let r=ct(e);if(!Tt(e)||Gi(e))return r;let n=Ni(e,t);for(;n&&ba(n)&&ht(n).position==="static";)n=Ni(n,t);return n&&(rn(n)==="html"||rn(n)==="body"&&ht(n).position==="static"&&!ti(n))?r:n||ya(e)||r}var Ra=async function(e){let t=this.getOffsetParent||Qi,r=this.getDimensions;return{reference:Ma(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,...await r(e.floating)}}};function Ia(e){return ht(e).direction==="rtl"}var La={convertOffsetParentRelativeRectToViewportRelativeRect:Oa,getDocumentElement:Bt,getClippingRect:Ta,getOffsetParent:Qi,getElementRects:Ra,getClientRects:Sa,getDimensions:Pa,getScale:Cn,isElement:Nt,isRTL:Ia};function Fa(e,t){let r=null,n,i=Bt(e);function o(){var c;clearTimeout(n),(c=r)==null||c.disconnect(),r=null}function a(c,f){c===void 0&&(c=!1),f===void 0&&(f=1),o();let{left:d,top:y,width:m,height:O}=e.getBoundingClientRect();if(c||t(),!m||!O)return;let E=pr(y),S=pr(i.clientWidth-(d+m)),_=pr(i.clientHeight-(y+O)),I=pr(d),A={rootMargin:-E+"px "+-S+"px "+-_+"px "+-I+"px",threshold:tt(0,Et(1,f))||1},N=!0;function Y(ne){let J=ne[0].intersectionRatio;if(J!==f){if(!N)return a();J?a(!1,J):n=setTimeout(()=>{a(!1,1e-7)},100)}N=!1}try{r=new IntersectionObserver(Y,{...A,root:i.ownerDocument})}catch{r=new IntersectionObserver(Y,A)}r.observe(e)}return a(!0),o}function ji(e,t,r,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:f=!1}=n,d=ri(e),y=i||o?[...d?Vn(d):[],...Vn(t)]:[];y.forEach($=>{i&&$.addEventListener("scroll",r,{passive:!0}),o&&$.addEventListener("resize",r)});let m=d&&c?Fa(d,r):null,O=-1,E=null;a&&(E=new ResizeObserver($=>{let[A]=$;A&&A.target===d&&E&&(E.unobserve(t),cancelAnimationFrame(O),O=requestAnimationFrame(()=>{var N;(N=E)==null||N.observe(t)})),r()}),d&&!f&&E.observe(d),E.observe(t));let S,_=f?vn(e):null;f&&I();function I(){let $=vn(e);_&&($.x!==_.x||$.y!==_.y||$.width!==_.width||$.height!==_.height)&&r(),_=$,S=requestAnimationFrame(I)}return r(),()=>{var $;y.forEach(A=>{i&&A.removeEventListener("scroll",r),o&&A.removeEventListener("resize",r)}),m?.(),($=E)==null||$.disconnect(),E=null,f&&cancelAnimationFrame(S)}}var ii=fa,Zi=ma,eo=ua,to=ga,no=da,ro=la,io=ha,Bi=(e,t,r)=>{let n=new Map,i={platform:La,...r},o={...i.platform,_c:n};return sa(e,t,{...i,platform:o})},ka=e=>{let t={placement:"bottom",strategy:"absolute",middleware:[]},r=Object.keys(e),n=i=>e[i];return r.includes("offset")&&t.middleware.push(Vi(n("offset"))),r.includes("teleport")&&(t.strategy="fixed"),r.includes("placement")&&(t.placement=n("placement")),r.some(i=>/^auto-?placement$/i.test(i))&&!r.includes("flip")&&t.middleware.push(ii(n("autoPlacement"))),r.includes("flip")&&t.middleware.push(eo(n("flip"))),r.includes("shift")&&t.middleware.push(Zi(n("shift"))),r.includes("inline")&&t.middleware.push(io(n("inline"))),r.includes("arrow")&&t.middleware.push(ro(n("arrow"))),r.includes("hide")&&t.middleware.push(no(n("hide"))),r.includes("size")&&t.middleware.push(to(n("size"))),t},Na=(e,t)=>{let r={component:{trap:!1},float:{placement:"bottom",strategy:"absolute",middleware:[]}},n=i=>e[e.indexOf(i)+1];if(e.includes("trap")&&(r.component.trap=!0),e.includes("teleport")&&(r.float.strategy="fixed"),e.includes("offset")&&r.float.middleware.push(Vi(t.offset||10)),e.includes("placement")&&(r.float.placement=n("placement")),e.some(i=>/^auto-?placement$/i.test(i))&&!e.includes("flip")&&r.float.middleware.push(ii(t.autoPlacement)),e.includes("flip")&&r.float.middleware.push(eo(t.flip)),e.includes("shift")&&r.float.middleware.push(Zi(t.shift)),e.includes("inline")&&r.float.middleware.push(io(t.inline)),e.includes("arrow")&&r.float.middleware.push(ro(t.arrow)),e.includes("hide")&&r.float.middleware.push(no(t.hide)),e.includes("size")){let i=t.size?.availableWidth??null,o=t.size?.availableHeight??null;i&&delete t.size.availableWidth,o&&delete t.size.availableHeight,r.float.middleware.push(to({...t.size,apply({availableWidth:a,availableHeight:c,elements:f}){Object.assign(f.floating.style,{maxWidth:`${i??a}px`,maxHeight:`${o??c}px`})}}))}return r},ja=e=>{var t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split(""),r="";e||(e=Math.floor(Math.random()*t.length));for(var n=0;n{}){let r=!1;return function(){r?t.apply(this,arguments):(r=!0,e.apply(this,arguments))}}function Ha(e){let t={dismissable:!0,trap:!1};function r(n,i=null){if(n){if(n.hasAttribute("aria-expanded")||n.setAttribute("aria-expanded",!1),i.hasAttribute("id"))n.setAttribute("aria-controls",i.getAttribute("id"));else{let o=`panel-${ja(8)}`;n.setAttribute("aria-controls",o),i.setAttribute("id",o)}i.setAttribute("aria-modal",!0),i.setAttribute("role","dialog")}}e.magic("float",n=>(i={},o={})=>{let a={...t,...o},c=Object.keys(i).length>0?ka(i):{middleware:[ii()]},f=n,d=n.parentElement.closest("[x-data]"),y=d.querySelector('[x-ref="panel"]');r(f,y);function m(){return y.style.display=="block"}function O(){y.style.display="none",f.setAttribute("aria-expanded","false"),a.trap&&y.setAttribute("x-trap","false"),ji(n,y,_)}function E(){y.style.display="block",f.setAttribute("aria-expanded","true"),a.trap&&y.setAttribute("x-trap","true"),_()}function S(){m()?O():E()}async function _(){return await Bi(n,y,c).then(({middlewareData:I,placement:$,x:A,y:N})=>{if(I.arrow){let Y=I.arrow?.x,ne=I.arrow?.y,J=c.middleware.filter(de=>de.name=="arrow")[0].options.element,V={top:"bottom",right:"left",bottom:"top",left:"right"}[$.split("-")[0]];Object.assign(J.style,{left:Y!=null?`${Y}px`:"",top:ne!=null?`${ne}px`:"",right:"",bottom:"",[V]:"-4px"})}if(I.hide){let{referenceHidden:Y}=I.hide;Object.assign(y.style,{visibility:Y?"hidden":"visible"})}Object.assign(y.style,{left:`${A}px`,top:`${N}px`})})}a.dismissable&&(window.addEventListener("click",I=>{!d.contains(I.target)&&m()&&S()}),window.addEventListener("keydown",I=>{I.key==="Escape"&&m()&&S()},!0)),S()}),e.directive("float",(n,{modifiers:i,expression:o},{evaluate:a,effect:c})=>{let f=o?a(o):{},d=i.length>0?Na(i,f):{},y=null;d.float.strategy=="fixed"&&(n.style.position="fixed");let m=V=>n.parentElement&&!n.parentElement.closest("[x-data]").contains(V.target)?n.close():null,O=V=>V.key==="Escape"?n.close():null,E=n.getAttribute("x-ref"),S=n.parentElement.closest("[x-data]"),_=S.querySelectorAll(`[\\@click^="$refs.${E}"]`),I=S.querySelectorAll(`[x-on\\:click^="$refs.${E}"]`);n.style.setProperty("display","none"),r([..._,...I][0],n),n._x_isShown=!1,n.trigger=null,n._x_doHide||(n._x_doHide=()=>{n.style.setProperty("display","none",i.includes("important")?"important":void 0)}),n._x_doShow||(n._x_doShow=()=>{n.style.setProperty("display","block",i.includes("important")?"important":void 0)});let $=()=>{n._x_doHide(),n._x_isShown=!1},A=()=>{n._x_doShow(),n._x_isShown=!0},N=()=>setTimeout(A),Y=Ba(V=>V?A():$(),V=>{typeof n._x_toggleAndCascadeWithTransitions=="function"?n._x_toggleAndCascadeWithTransitions(n,V,A,$):V?N():$()}),ne,J=!0;c(()=>a(V=>{!J&&V===ne||(i.includes("immediate")&&(V?N():$()),Y(V),ne=V,J=!1)})),n.open=async function(V){n.trigger=V.currentTarget?V.currentTarget:V,Y(!0),n.trigger.setAttribute("aria-expanded","true"),d.component.trap&&n.setAttribute("x-trap","true"),y=ji(n.trigger,n,()=>{Bi(n.trigger,n,d.float).then(({middlewareData:de,placement:X,x:Q,y:me})=>{if(de.arrow){let l=de.arrow?.x,h=de.arrow?.y,v=d.float.middleware.filter(j=>j.name=="arrow")[0].options.element,p={top:"bottom",right:"left",bottom:"top",left:"right"}[X.split("-")[0]];Object.assign(v.style,{left:l!=null?`${l}px`:"",top:h!=null?`${h}px`:"",right:"",bottom:"",[p]:"-4px"})}if(de.hide){let{referenceHidden:l}=de.hide;Object.assign(n.style,{visibility:l?"hidden":"visible"})}Object.assign(n.style,{left:`${Q}px`,top:`${me}px`})})}),window.addEventListener("click",m),window.addEventListener("keydown",O,!0)},n.close=function(){if(!n._x_isShown)return!1;Y(!1),n.trigger.setAttribute("aria-expanded","false"),d.component.trap&&n.setAttribute("x-trap","false"),y(),window.removeEventListener("click",m),window.removeEventListener("keydown",O,!1)},n.toggle=function(V){n._x_isShown?n.close():n.open(V)}})}var oo=Ha;function $a(e){e.store("lazyLoadedAssets",{loaded:new Set,check(a){return Array.isArray(a)?a.every(c=>this.loaded.has(c)):this.loaded.has(a)},markLoaded(a){Array.isArray(a)?a.forEach(c=>this.loaded.add(c)):this.loaded.add(a)}});let t=a=>new CustomEvent(a,{bubbles:!0,composed:!0,cancelable:!0}),r=(a,c={},f,d)=>{let y=document.createElement(a);return Object.entries(c).forEach(([m,O])=>y[m]=O),f&&(d?f.insertBefore(y,d):f.appendChild(y)),y},n=(a,c,f={},d=null,y=null)=>{let m=a==="link"?`link[href="${c}"]`:`script[src="${c}"]`;if(document.querySelector(m)||e.store("lazyLoadedAssets").check(c))return Promise.resolve();let O=a==="link"?{...f,href:c}:{...f,src:c},E=r(a,O,d,y);return new Promise((S,_)=>{E.onload=()=>{e.store("lazyLoadedAssets").markLoaded(c),S()},E.onerror=()=>{_(new Error(`Failed to load ${a}: ${c}`))}})},i=async(a,c,f=null,d=null)=>{let y={type:"text/css",rel:"stylesheet"};c&&(y.media=c);let m=document.head,O=null;if(f&&d){let E=document.querySelector(`link[href*="${d}"]`);E?(m=E.parentElement,O=f==="before"?E:E.nextSibling):(console.warn(`Target (${d}) not found for ${a}. Appending to head.`),m=document.head,O=null)}await n("link",a,y,m,O)},o=async(a,c,f=null,d=null,y=null)=>{let m=document.head,O=null;if(f&&d){let S=document.querySelector(`script[src*="${d}"]`);S?(m=S.parentElement,O=f==="before"?S:S.nextSibling):(console.warn(`Target (${d}) not found for ${a}. Falling back to head or body.`),m=document.head,O=null)}else(c.has("body-start")||c.has("body-end"))&&(m=document.body,c.has("body-start")&&(O=document.body.firstChild));let E={};y&&(E.type="module"),await n("script",a,E,m,O)};e.directive("load-css",(a,{expression:c},{evaluate:f})=>{let d=f(c),y=a.media,m=a.getAttribute("data-dispatch"),O=a.getAttribute("data-css-before")?"before":a.getAttribute("data-css-after")?"after":null,E=a.getAttribute("data-css-before")||a.getAttribute("data-css-after")||null;Promise.all(d.map(S=>i(S,y,O,E))).then(()=>{m&&window.dispatchEvent(t(`${m}-css`))}).catch(console.error)}),e.directive("load-js",(a,{expression:c,modifiers:f},{evaluate:d})=>{let y=d(c),m=new Set(f),O=a.getAttribute("data-js-before")?"before":a.getAttribute("data-js-after")?"after":null,E=a.getAttribute("data-js-before")||a.getAttribute("data-js-after")||null,S=a.getAttribute("data-js-as-module")||a.getAttribute("data-as-module")||!1,_=a.getAttribute("data-dispatch");Promise.all(y.map(I=>o(I,m,O,E,S))).then(()=>{_&&window.dispatchEvent(t(`${_}-js`))}).catch(console.error)})}var ao=$a;function Wa(){return!0}function Ua({component:e,argument:t}){return new Promise(r=>{if(t)window.addEventListener(t,()=>r(),{once:!0});else{let n=i=>{i.detail.id===e.id&&(window.removeEventListener("async-alpine:load",n),r())};window.addEventListener("async-alpine:load",n)}})}function Va(){return new Promise(e=>{"requestIdleCallback"in window?window.requestIdleCallback(e):setTimeout(e,200)})}function za({argument:e}){return new Promise(t=>{if(!e)return console.log("Async Alpine: media strategy requires a media query. Treating as 'eager'"),t();let r=window.matchMedia(`(${e})`);r.matches?t():r.addEventListener("change",t,{once:!0})})}function Ya({component:e,argument:t}){return new Promise(r=>{let n=t||"0px 0px 0px 0px",i=new IntersectionObserver(o=>{o[0].isIntersecting&&(i.disconnect(),r())},{rootMargin:n});i.observe(e.el)})}var so={eager:Wa,event:Ua,idle:Va,media:za,visible:Ya};async function Xa(e){let t=qa(e.strategy);await oi(e,t)}async function oi(e,t){if(t.type==="expression"){if(t.operator==="&&")return Promise.all(t.parameters.map(r=>oi(e,r)));if(t.operator==="||")return Promise.any(t.parameters.map(r=>oi(e,r)))}return so[t.method]?so[t.method]({component:e,argument:t.argument}):!1}function qa(e){let t=Ga(e),r=co(t);return r.type==="method"?{type:"expression",operator:"&&",parameters:[r]}:r}function Ga(e){let t=/\s*([()])\s*|\s*(\|\||&&|\|)\s*|\s*((?:[^()&|]+\([^()]+\))|[^()&|]+)\s*/g,r=[],n;for(;(n=t.exec(e))!==null;){let[i,o,a,c]=n;if(o!==void 0)r.push({type:"parenthesis",value:o});else if(a!==void 0)r.push({type:"operator",value:a==="|"?"&&":a});else{let f={type:"method",method:c.trim()};c.includes("(")&&(f.method=c.substring(0,c.indexOf("(")).trim(),f.argument=c.substring(c.indexOf("(")+1,c.indexOf(")"))),c.method==="immediate"&&(c.method="eager"),r.push(f)}}return r}function co(e){let t=lo(e);for(;e.length>0&&(e[0].value==="&&"||e[0].value==="|"||e[0].value==="||");){let r=e.shift().value,n=lo(e);t.type==="expression"&&t.operator===r?t.parameters.push(n):t={type:"expression",operator:r,parameters:[t,n]}}return t}function lo(e){if(e[0].value==="("){e.shift();let t=co(e);return e[0].value===")"&&e.shift(),t}else return e.shift()}function fo(e){let t="load",r=e.prefixed("load-src"),n=e.prefixed("ignore"),i={defaultStrategy:"eager",keepRelativeURLs:!1},o=!1,a={},c=0;function f(){return c++}e.asyncOptions=A=>{i={...i,...A}},e.asyncData=(A,N=!1)=>{a[A]={loaded:!1,download:N}},e.asyncUrl=(A,N)=>{!A||!N||a[A]||(a[A]={loaded:!1,download:()=>import($(N))})},e.asyncAlias=A=>{o=A};let d=A=>{e.skipDuringClone(()=>{A._x_async||(A._x_async="init",A._x_ignore=!0,A.setAttribute(n,""))})()},y=async A=>{e.skipDuringClone(async()=>{if(A._x_async!=="init")return;A._x_async="await";let{name:N,strategy:Y}=m(A);await Xa({name:N,strategy:Y,el:A,id:A.id||f()}),A.isConnected&&(await O(N),A.isConnected&&(S(A),A._x_async="loaded"))})()};y.inline=d,e.directive(t,y).before("ignore");function m(A){let N=I(A.getAttribute(e.prefixed("data"))),Y=A.getAttribute(e.prefixed(t))||i.defaultStrategy,ne=A.getAttribute(r);return ne&&e.asyncUrl(N,ne),{name:N,strategy:Y}}async function O(A){if(A.startsWith("_x_async_")||(_(A),!a[A]||a[A].loaded))return;let N=await E(A);e.data(A,N),a[A].loaded=!0}async function E(A){if(!a[A])return;let N=await a[A].download(A);return typeof N=="function"?N:N[A]||N.default||Object.values(N)[0]||!1}function S(A){e.destroyTree(A),A._x_ignore=!1,A.removeAttribute(n),!A.closest(`[${n}]`)&&e.initTree(A)}function _(A){if(!(!o||a[A])){if(typeof o=="function"){e.asyncData(A,o);return}e.asyncUrl(A,o.replaceAll("[name]",A))}}function I(A){return(A||"").trim().split(/[({]/g)[0]||`_x_async_${f()}`}function $(A){return i.keepRelativeURLs||new RegExp("^(?:[a-z+]+:)?//","i").test(A)?A:new URL(A,document.baseURI).href}}var Xo=ea(ho(),1);function vo(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Mt(e){for(var t=1;t=0)&&(r[i]=e[i]);return r}function Qa(e,t){if(e==null)return{};var r=Ja(e,t),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Za="1.15.6";function Ht(e){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(e)}var Wt=Ht(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),er=Ht(/Edge/i),mo=Ht(/firefox/i),Gn=Ht(/safari/i)&&!Ht(/chrome/i)&&!Ht(/android/i),yi=Ht(/iP(ad|od|hone)/i),So=Ht(/chrome/i)&&Ht(/android/i),Ao={capture:!1,passive:!1};function Oe(e,t,r){e.addEventListener(t,r,!Wt&&Ao)}function Ee(e,t,r){e.removeEventListener(t,r,!Wt&&Ao)}function Tr(e,t){if(t){if(t[0]===">"&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch{return!1}return!1}}function Co(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function St(e,t,r,n){if(e){r=r||document;do{if(t!=null&&(t[0]===">"?e.parentNode===r&&Tr(e,t):Tr(e,t))||n&&e===r)return e;if(e===r)break}while(e=Co(e))}return null}var go=/\s+/g;function ft(e,t,r){if(e&&t)if(e.classList)e.classList[r?"add":"remove"](t);else{var n=(" "+e.className+" ").replace(go," ").replace(" "+t+" "," ");e.className=(n+(r?" "+t:"")).replace(go," ")}}function ae(e,t,r){var n=e&&e.style;if(n){if(r===void 0)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(r=e.currentStyle),t===void 0?r:r[t];!(t in n)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),n[t]=r+(typeof r=="string"?"":"px")}}function Fn(e,t){var r="";if(typeof e=="string")r=e;else do{var n=ae(e,"transform");n&&n!=="none"&&(r=n+" "+r)}while(!t&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(r)}function Do(e,t,r){if(e){var n=e.getElementsByTagName(t),i=0,o=n.length;if(r)for(;i=o:a=i<=o,!a)return n;if(n===Pt())break;n=sn(n,!1)}return!1}function kn(e,t,r,n){for(var i=0,o=0,a=e.children;o2&&arguments[2]!==void 0?arguments[2]:{},i=n.evt,o=Qa(n,ss);tr.pluginEvent.bind(se)(t,r,Mt({dragEl:k,parentEl:Ve,ghostEl:ue,rootEl:Ne,nextEl:bn,lastDownEl:Ar,cloneEl:We,cloneHidden:an,dragStarted:Yn,putSortable:Qe,activeSortable:se.active,originalEvent:i,oldIndex:Ln,oldDraggableIndex:Jn,newIndex:ut,newDraggableIndex:on,hideGhostForTarget:Fo,unhideGhostForTarget:ko,cloneNowHidden:function(){an=!0},cloneNowShown:function(){an=!1},dispatchSortableEvent:function(c){it({sortable:r,name:c,originalEvent:i})}},o))};function it(e){as(Mt({putSortable:Qe,cloneEl:We,targetEl:k,rootEl:Ne,oldIndex:Ln,oldDraggableIndex:Jn,newIndex:ut,newDraggableIndex:on},e))}var k,Ve,ue,Ne,bn,Ar,We,an,Ln,ut,Jn,on,wr,Qe,In=!1,Pr=!1,Mr=[],mn,Ot,li,ci,wo,xo,Yn,Rn,Qn,Zn=!1,xr=!1,Cr,nt,fi=[],vi=!1,Rr=[],Lr=typeof document<"u",Er=yi,Eo=er||Wt?"cssFloat":"float",ls=Lr&&!So&&!yi&&"draggable"in document.createElement("div"),Ro=(function(){if(Lr){if(Wt)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto",e.style.pointerEvents==="auto"}})(),Io=function(t,r){var n=ae(t),i=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=kn(t,0,r),a=kn(t,1,r),c=o&&ae(o),f=a&&ae(a),d=c&&parseInt(c.marginLeft)+parseInt(c.marginRight)+qe(o).width,y=f&&parseInt(f.marginLeft)+parseInt(f.marginRight)+qe(a).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&c.float&&c.float!=="none"){var m=c.float==="left"?"left":"right";return a&&(f.clear==="both"||f.clear===m)?"vertical":"horizontal"}return o&&(c.display==="block"||c.display==="flex"||c.display==="table"||c.display==="grid"||d>=i&&n[Eo]==="none"||a&&n[Eo]==="none"&&d+y>i)?"vertical":"horizontal"},cs=function(t,r,n){var i=n?t.left:t.top,o=n?t.right:t.bottom,a=n?t.width:t.height,c=n?r.left:r.top,f=n?r.right:r.bottom,d=n?r.width:r.height;return i===c||o===f||i+a/2===c+d/2},fs=function(t,r){var n;return Mr.some(function(i){var o=i[st].options.emptyInsertThreshold;if(!(!o||wi(i))){var a=qe(i),c=t>=a.left-o&&t<=a.right+o,f=r>=a.top-o&&r<=a.bottom+o;if(c&&f)return n=i}}),n},Lo=function(t){function r(o,a){return function(c,f,d,y){var m=c.options.group.name&&f.options.group.name&&c.options.group.name===f.options.group.name;if(o==null&&(a||m))return!0;if(o==null||o===!1)return!1;if(a&&o==="clone")return o;if(typeof o=="function")return r(o(c,f,d,y),a)(c,f,d,y);var O=(a?c:f).options.group.name;return o===!0||typeof o=="string"&&o===O||o.join&&o.indexOf(O)>-1}}var n={},i=t.group;(!i||Sr(i)!="object")&&(i={name:i}),n.name=i.name,n.checkPull=r(i.pull,!0),n.checkPut=r(i.put),n.revertClone=i.revertClone,t.group=n},Fo=function(){!Ro&&ue&&ae(ue,"display","none")},ko=function(){!Ro&&ue&&ae(ue,"display","")};Lr&&!So&&document.addEventListener("click",function(e){if(Pr)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Pr=!1,!1},!0);var gn=function(t){if(k){t=t.touches?t.touches[0]:t;var r=fs(t.clientX,t.clientY);if(r){var n={};for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);n.target=n.rootEl=r,n.preventDefault=void 0,n.stopPropagation=void 0,r[st]._onDragOver(n)}}},us=function(t){k&&k.parentNode[st]._isOutsideThisEl(t.target)};function se(e,t){if(!(e&&e.nodeType&&e.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=$t({},t),e[st]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Io(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(a,c){a.setData("Text",c.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:se.supportPointer!==!1&&"PointerEvent"in window&&(!Gn||yi),emptyInsertThreshold:5};tr.initializePlugins(this,e,r);for(var n in r)!(n in t)&&(t[n]=r[n]);Lo(t);for(var i in this)i.charAt(0)==="_"&&typeof this[i]=="function"&&(this[i]=this[i].bind(this));this.nativeDraggable=t.forceFallback?!1:ls,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Oe(e,"pointerdown",this._onTapStart):(Oe(e,"mousedown",this._onTapStart),Oe(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Oe(e,"dragover",this),Oe(e,"dragenter",this)),Mr.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),$t(this,rs())}se.prototype={constructor:se,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Rn=null)},_getDirection:function(t,r){return typeof this.options.direction=="function"?this.options.direction.call(this,t,r,k):this.options.direction},_onTapStart:function(t){if(t.cancelable){var r=this,n=this.el,i=this.options,o=i.preventOnFilter,a=t.type,c=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,f=(c||t).target,d=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||f,y=i.filter;if(ys(n),!k&&!(/mousedown|pointerdown/.test(a)&&t.button!==0||i.disabled)&&!d.isContentEditable&&!(!this.nativeDraggable&&Gn&&f&&f.tagName.toUpperCase()==="SELECT")&&(f=St(f,i.draggable,n,!1),!(f&&f.animated)&&Ar!==f)){if(Ln=vt(f),Jn=vt(f,i.draggable),typeof y=="function"){if(y.call(this,t,f,this)){it({sortable:r,rootEl:d,name:"filter",targetEl:f,toEl:n,fromEl:n}),at("filter",r,{evt:t}),o&&t.preventDefault();return}}else if(y&&(y=y.split(",").some(function(m){if(m=St(d,m.trim(),n,!1),m)return it({sortable:r,rootEl:m,name:"filter",targetEl:f,fromEl:n,toEl:n}),at("filter",r,{evt:t}),!0}),y)){o&&t.preventDefault();return}i.handle&&!St(d,i.handle,n,!1)||this._prepareDragStart(t,c,f)}}},_prepareDragStart:function(t,r,n){var i=this,o=i.el,a=i.options,c=o.ownerDocument,f;if(n&&!k&&n.parentNode===o){var d=qe(n);if(Ne=o,k=n,Ve=k.parentNode,bn=k.nextSibling,Ar=n,wr=a.group,se.dragged=k,mn={target:k,clientX:(r||t).clientX,clientY:(r||t).clientY},wo=mn.clientX-d.left,xo=mn.clientY-d.top,this._lastX=(r||t).clientX,this._lastY=(r||t).clientY,k.style["will-change"]="all",f=function(){if(at("delayEnded",i,{evt:t}),se.eventCanceled){i._onDrop();return}i._disableDelayedDragEvents(),!mo&&i.nativeDraggable&&(k.draggable=!0),i._triggerDragStart(t,r),it({sortable:i,name:"choose",originalEvent:t}),ft(k,a.chosenClass,!0)},a.ignore.split(",").forEach(function(y){Do(k,y.trim(),ui)}),Oe(c,"dragover",gn),Oe(c,"mousemove",gn),Oe(c,"touchmove",gn),a.supportPointer?(Oe(c,"pointerup",i._onDrop),!this.nativeDraggable&&Oe(c,"pointercancel",i._onDrop)):(Oe(c,"mouseup",i._onDrop),Oe(c,"touchend",i._onDrop),Oe(c,"touchcancel",i._onDrop)),mo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,k.draggable=!0),at("delayStart",this,{evt:t}),a.delay&&(!a.delayOnTouchOnly||r)&&(!this.nativeDraggable||!(er||Wt))){if(se.eventCanceled){this._onDrop();return}a.supportPointer?(Oe(c,"pointerup",i._disableDelayedDrag),Oe(c,"pointercancel",i._disableDelayedDrag)):(Oe(c,"mouseup",i._disableDelayedDrag),Oe(c,"touchend",i._disableDelayedDrag),Oe(c,"touchcancel",i._disableDelayedDrag)),Oe(c,"mousemove",i._delayedDragTouchMoveHandler),Oe(c,"touchmove",i._delayedDragTouchMoveHandler),a.supportPointer&&Oe(c,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(f,a.delay)}else f()}},_delayedDragTouchMoveHandler:function(t){var r=t.touches?t.touches[0]:t;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){k&&ui(k),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;Ee(t,"mouseup",this._disableDelayedDrag),Ee(t,"touchend",this._disableDelayedDrag),Ee(t,"touchcancel",this._disableDelayedDrag),Ee(t,"pointerup",this._disableDelayedDrag),Ee(t,"pointercancel",this._disableDelayedDrag),Ee(t,"mousemove",this._delayedDragTouchMoveHandler),Ee(t,"touchmove",this._delayedDragTouchMoveHandler),Ee(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,r){r=r||t.pointerType=="touch"&&t,!this.nativeDraggable||r?this.options.supportPointer?Oe(document,"pointermove",this._onTouchMove):r?Oe(document,"touchmove",this._onTouchMove):Oe(document,"mousemove",this._onTouchMove):(Oe(k,"dragend",this),Oe(Ne,"dragstart",this._onDragStart));try{document.selection?Dr(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,r){if(In=!1,Ne&&k){at("dragStarted",this,{evt:r}),this.nativeDraggable&&Oe(document,"dragover",us);var n=this.options;!t&&ft(k,n.dragClass,!1),ft(k,n.ghostClass,!0),se.active=this,t&&this._appendGhost(),it({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(Ot){this._lastX=Ot.clientX,this._lastY=Ot.clientY,Fo();for(var t=document.elementFromPoint(Ot.clientX,Ot.clientY),r=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(Ot.clientX,Ot.clientY),t!==r);)r=t;if(k.parentNode[st]._isOutsideThisEl(t),r)do{if(r[st]){var n=void 0;if(n=r[st]._onDragOver({clientX:Ot.clientX,clientY:Ot.clientY,target:t,rootEl:r}),n&&!this.options.dragoverBubble)break}t=r}while(r=Co(r));ko()}},_onTouchMove:function(t){if(mn){var r=this.options,n=r.fallbackTolerance,i=r.fallbackOffset,o=t.touches?t.touches[0]:t,a=ue&&Fn(ue,!0),c=ue&&a&&a.a,f=ue&&a&&a.d,d=Er&&nt&&yo(nt),y=(o.clientX-mn.clientX+i.x)/(c||1)+(d?d[0]-fi[0]:0)/(c||1),m=(o.clientY-mn.clientY+i.y)/(f||1)+(d?d[1]-fi[1]:0)/(f||1);if(!se.active&&!In){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))=0&&(it({rootEl:Ve,name:"add",toEl:Ve,fromEl:Ne,originalEvent:t}),it({sortable:this,name:"remove",toEl:Ve,originalEvent:t}),it({rootEl:Ve,name:"sort",toEl:Ve,fromEl:Ne,originalEvent:t}),it({sortable:this,name:"sort",toEl:Ve,originalEvent:t})),Qe&&Qe.save()):ut!==Ln&&ut>=0&&(it({sortable:this,name:"update",toEl:Ve,originalEvent:t}),it({sortable:this,name:"sort",toEl:Ve,originalEvent:t})),se.active&&((ut==null||ut===-1)&&(ut=Ln,on=Jn),it({sortable:this,name:"end",toEl:Ve,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){at("nulling",this),Ne=k=Ve=ue=bn=We=Ar=an=mn=Ot=Yn=ut=on=Ln=Jn=Rn=Qn=Qe=wr=se.dragged=se.ghost=se.clone=se.active=null,Rr.forEach(function(t){t.checked=!0}),Rr.length=li=ci=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":k&&(this._onDragOver(t),ds(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],r,n=this.el.children,i=0,o=n.length,a=this.options;ii.right+o||e.clientY>n.bottom&&e.clientX>n.left:e.clientY>i.bottom+o||e.clientX>n.right&&e.clientY>n.top}function ms(e,t,r,n,i,o,a,c){var f=n?e.clientY:e.clientX,d=n?r.height:r.width,y=n?r.top:r.left,m=n?r.bottom:r.right,O=!1;if(!a){if(c&&Cry+d*o/2:fm-Cr)return-Qn}else if(f>y+d*(1-i)/2&&fm-d*o/2)?f>y+d/2?1:-1:0}function gs(e){return vt(k){e.directive("sortable",t=>{let r=parseInt(t.dataset?.sortableAnimationDuration);r!==0&&!r&&(r=300),t.sortable=Oi.create(t,{group:t.getAttribute("x-sortable-group"),draggable:"[x-sortable-item]",handle:"[x-sortable-handle]",dataIdAttr:"x-sortable-item",animation:r,ghostClass:"fi-sortable-ghost",onEnd(n){let{item:i,to:o,oldDraggableIndex:a,newDraggableIndex:c}=n;if(a===c)return;let f=this.options.draggable,d=o.querySelectorAll(`:scope > ${f}`)[c-1];d&&o.insertBefore(i,d.nextSibling)}})})};var xs=Object.create,Ci=Object.defineProperty,Es=Object.getPrototypeOf,Os=Object.prototype.hasOwnProperty,Ss=Object.getOwnPropertyNames,As=Object.getOwnPropertyDescriptor,Cs=e=>Ci(e,"__esModule",{value:!0}),Bo=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),Ds=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ss(t))!Os.call(e,n)&&n!=="default"&&Ci(e,n,{get:()=>t[n],enumerable:!(r=As(t,n))||r.enumerable});return e},Ho=e=>Ds(Cs(Ci(e!=null?xs(Es(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),_s=Bo(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});function t(u){var s=u.getBoundingClientRect();return{width:s.width,height:s.height,top:s.top,right:s.right,bottom:s.bottom,left:s.left,x:s.left,y:s.top}}function r(u){if(u==null)return window;if(u.toString()!=="[object Window]"){var s=u.ownerDocument;return s&&s.defaultView||window}return u}function n(u){var s=r(u),b=s.pageXOffset,T=s.pageYOffset;return{scrollLeft:b,scrollTop:T}}function i(u){var s=r(u).Element;return u instanceof s||u instanceof Element}function o(u){var s=r(u).HTMLElement;return u instanceof s||u instanceof HTMLElement}function a(u){if(typeof ShadowRoot>"u")return!1;var s=r(u).ShadowRoot;return u instanceof s||u instanceof ShadowRoot}function c(u){return{scrollLeft:u.scrollLeft,scrollTop:u.scrollTop}}function f(u){return u===r(u)||!o(u)?n(u):c(u)}function d(u){return u?(u.nodeName||"").toLowerCase():null}function y(u){return((i(u)?u.ownerDocument:u.document)||window.document).documentElement}function m(u){return t(y(u)).left+n(u).scrollLeft}function O(u){return r(u).getComputedStyle(u)}function E(u){var s=O(u),b=s.overflow,T=s.overflowX,P=s.overflowY;return/auto|scroll|overlay|hidden/.test(b+P+T)}function S(u,s,b){b===void 0&&(b=!1);var T=y(s),P=t(u),F=o(s),U={scrollLeft:0,scrollTop:0},H={x:0,y:0};return(F||!F&&!b)&&((d(s)!=="body"||E(T))&&(U=f(s)),o(s)?(H=t(s),H.x+=s.clientLeft,H.y+=s.clientTop):T&&(H.x=m(T))),{x:P.left+U.scrollLeft-H.x,y:P.top+U.scrollTop-H.y,width:P.width,height:P.height}}function _(u){var s=t(u),b=u.offsetWidth,T=u.offsetHeight;return Math.abs(s.width-b)<=1&&(b=s.width),Math.abs(s.height-T)<=1&&(T=s.height),{x:u.offsetLeft,y:u.offsetTop,width:b,height:T}}function I(u){return d(u)==="html"?u:u.assignedSlot||u.parentNode||(a(u)?u.host:null)||y(u)}function $(u){return["html","body","#document"].indexOf(d(u))>=0?u.ownerDocument.body:o(u)&&E(u)?u:$(I(u))}function A(u,s){var b;s===void 0&&(s=[]);var T=$(u),P=T===((b=u.ownerDocument)==null?void 0:b.body),F=r(T),U=P?[F].concat(F.visualViewport||[],E(T)?T:[]):T,H=s.concat(U);return P?H:H.concat(A(I(U)))}function N(u){return["table","td","th"].indexOf(d(u))>=0}function Y(u){return!o(u)||O(u).position==="fixed"?null:u.offsetParent}function ne(u){var s=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,b=navigator.userAgent.indexOf("Trident")!==-1;if(b&&o(u)){var T=O(u);if(T.position==="fixed")return null}for(var P=I(u);o(P)&&["html","body"].indexOf(d(P))<0;){var F=O(P);if(F.transform!=="none"||F.perspective!=="none"||F.contain==="paint"||["transform","perspective"].indexOf(F.willChange)!==-1||s&&F.willChange==="filter"||s&&F.filter&&F.filter!=="none")return P;P=P.parentNode}return null}function J(u){for(var s=r(u),b=Y(u);b&&N(b)&&O(b).position==="static";)b=Y(b);return b&&(d(b)==="html"||d(b)==="body"&&O(b).position==="static")?s:b||ne(u)||s}var V="top",de="bottom",X="right",Q="left",me="auto",l=[V,de,X,Q],h="start",v="end",p="clippingParents",j="viewport",M="popper",R="reference",Z=l.reduce(function(u,s){return u.concat([s+"-"+h,s+"-"+v])},[]),ze=[].concat(l,[me]).reduce(function(u,s){return u.concat([s,s+"-"+h,s+"-"+v])},[]),Rt="beforeRead",Ut="read",Fr="afterRead",kr="beforeMain",Nr="main",Vt="afterMain",nr="beforeWrite",jr="write",rr="afterWrite",It=[Rt,Ut,Fr,kr,Nr,Vt,nr,jr,rr];function Br(u){var s=new Map,b=new Set,T=[];u.forEach(function(F){s.set(F.name,F)});function P(F){b.add(F.name);var U=[].concat(F.requires||[],F.requiresIfExists||[]);U.forEach(function(H){if(!b.has(H)){var G=s.get(H);G&&P(G)}}),T.push(F)}return u.forEach(function(F){b.has(F.name)||P(F)}),T}function mt(u){var s=Br(u);return It.reduce(function(b,T){return b.concat(s.filter(function(P){return P.phase===T}))},[])}function zt(u){var s;return function(){return s||(s=new Promise(function(b){Promise.resolve().then(function(){s=void 0,b(u())})})),s}}function At(u){for(var s=arguments.length,b=new Array(s>1?s-1:0),T=1;T=0,T=b&&o(u)?J(u):u;return i(T)?s.filter(function(P){return i(P)&&Nn(P,T)&&d(P)!=="body"}):[]}function wn(u,s,b){var T=s==="clippingParents"?yn(u):[].concat(s),P=[].concat(T,[b]),F=P[0],U=P.reduce(function(H,G){var oe=sr(u,G);return H.top=gt(oe.top,H.top),H.right=ln(oe.right,H.right),H.bottom=ln(oe.bottom,H.bottom),H.left=gt(oe.left,H.left),H},sr(u,F));return U.width=U.right-U.left,U.height=U.bottom-U.top,U.x=U.left,U.y=U.top,U}function cn(u){return u.split("-")[1]}function dt(u){return["top","bottom"].indexOf(u)>=0?"x":"y"}function lr(u){var s=u.reference,b=u.element,T=u.placement,P=T?ot(T):null,F=T?cn(T):null,U=s.x+s.width/2-b.width/2,H=s.y+s.height/2-b.height/2,G;switch(P){case V:G={x:U,y:s.y-b.height};break;case de:G={x:U,y:s.y+s.height};break;case X:G={x:s.x+s.width,y:H};break;case Q:G={x:s.x-b.width,y:H};break;default:G={x:s.x,y:s.y}}var oe=P?dt(P):null;if(oe!=null){var z=oe==="y"?"height":"width";switch(F){case h:G[oe]=G[oe]-(s[z]/2-b[z]/2);break;case v:G[oe]=G[oe]+(s[z]/2-b[z]/2);break}}return G}function cr(){return{top:0,right:0,bottom:0,left:0}}function fr(u){return Object.assign({},cr(),u)}function ur(u,s){return s.reduce(function(b,T){return b[T]=u,b},{})}function qt(u,s){s===void 0&&(s={});var b=s,T=b.placement,P=T===void 0?u.placement:T,F=b.boundary,U=F===void 0?p:F,H=b.rootBoundary,G=H===void 0?j:H,oe=b.elementContext,z=oe===void 0?M:oe,De=b.altBoundary,Fe=De===void 0?!1:De,Ce=b.padding,xe=Ce===void 0?0:Ce,Me=fr(typeof xe!="number"?xe:ur(xe,l)),Se=z===M?R:M,Be=u.elements.reference,Re=u.rects.popper,He=u.elements[Fe?Se:z],ce=wn(i(He)?He:He.contextElement||y(u.elements.popper),U,G),Pe=t(Be),_e=lr({reference:Pe,element:Re,strategy:"absolute",placement:P}),ke=Xt(Object.assign({},Re,_e)),Le=z===M?ke:Pe,Ye={top:ce.top-Le.top+Me.top,bottom:Le.bottom-ce.bottom+Me.bottom,left:ce.left-Le.left+Me.left,right:Le.right-ce.right+Me.right},$e=u.modifiersData.offset;if(z===M&&$e){var Ue=$e[P];Object.keys(Ye).forEach(function(wt){var et=[X,de].indexOf(wt)>=0?1:-1,Ft=[V,de].indexOf(wt)>=0?"y":"x";Ye[wt]+=Ue[Ft]*et})}return Ye}var dr="Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.",Vr="Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.",xn={placement:"bottom",modifiers:[],strategy:"absolute"};function fn(){for(var u=arguments.length,s=new Array(u),b=0;b100){console.error(Vr);break}if(z.reset===!0){z.reset=!1,Pe=-1;continue}var _e=z.orderedModifiers[Pe],ke=_e.fn,Le=_e.options,Ye=Le===void 0?{}:Le,$e=_e.name;typeof ke=="function"&&(z=ke({state:z,options:Ye,name:$e,instance:Ce})||z)}}},update:zt(function(){return new Promise(function(Se){Ce.forceUpdate(),Se(z)})}),destroy:function(){Me(),Fe=!0}};if(!fn(H,G))return console.error(dr),Ce;Ce.setOptions(oe).then(function(Se){!Fe&&oe.onFirstUpdate&&oe.onFirstUpdate(Se)});function xe(){z.orderedModifiers.forEach(function(Se){var Be=Se.name,Re=Se.options,He=Re===void 0?{}:Re,ce=Se.effect;if(typeof ce=="function"){var Pe=ce({state:z,name:Be,instance:Ce,options:He}),_e=function(){};De.push(Pe||_e)}})}function Me(){De.forEach(function(Se){return Se()}),De=[]}return Ce}}var On={passive:!0};function zr(u){var s=u.state,b=u.instance,T=u.options,P=T.scroll,F=P===void 0?!0:P,U=T.resize,H=U===void 0?!0:U,G=r(s.elements.popper),oe=[].concat(s.scrollParents.reference,s.scrollParents.popper);return F&&oe.forEach(function(z){z.addEventListener("scroll",b.update,On)}),H&&G.addEventListener("resize",b.update,On),function(){F&&oe.forEach(function(z){z.removeEventListener("scroll",b.update,On)}),H&&G.removeEventListener("resize",b.update,On)}}var jn={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:zr,data:{}};function Yr(u){var s=u.state,b=u.name;s.modifiersData[b]=lr({reference:s.rects.reference,element:s.rects.popper,strategy:"absolute",placement:s.placement})}var Bn={name:"popperOffsets",enabled:!0,phase:"read",fn:Yr,data:{}},Xr={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qr(u){var s=u.x,b=u.y,T=window,P=T.devicePixelRatio||1;return{x:Yt(Yt(s*P)/P)||0,y:Yt(Yt(b*P)/P)||0}}function Hn(u){var s,b=u.popper,T=u.popperRect,P=u.placement,F=u.offsets,U=u.position,H=u.gpuAcceleration,G=u.adaptive,oe=u.roundOffsets,z=oe===!0?qr(F):typeof oe=="function"?oe(F):F,De=z.x,Fe=De===void 0?0:De,Ce=z.y,xe=Ce===void 0?0:Ce,Me=F.hasOwnProperty("x"),Se=F.hasOwnProperty("y"),Be=Q,Re=V,He=window;if(G){var ce=J(b),Pe="clientHeight",_e="clientWidth";ce===r(b)&&(ce=y(b),O(ce).position!=="static"&&(Pe="scrollHeight",_e="scrollWidth")),ce=ce,P===V&&(Re=de,xe-=ce[Pe]-T.height,xe*=H?1:-1),P===Q&&(Be=X,Fe-=ce[_e]-T.width,Fe*=H?1:-1)}var ke=Object.assign({position:U},G&&Xr);if(H){var Le;return Object.assign({},ke,(Le={},Le[Re]=Se?"0":"",Le[Be]=Me?"0":"",Le.transform=(He.devicePixelRatio||1)<2?"translate("+Fe+"px, "+xe+"px)":"translate3d("+Fe+"px, "+xe+"px, 0)",Le))}return Object.assign({},ke,(s={},s[Re]=Se?xe+"px":"",s[Be]=Me?Fe+"px":"",s.transform="",s))}function g(u){var s=u.state,b=u.options,T=b.gpuAcceleration,P=T===void 0?!0:T,F=b.adaptive,U=F===void 0?!0:F,H=b.roundOffsets,G=H===void 0?!0:H,oe=O(s.elements.popper).transitionProperty||"";U&&["transform","top","right","bottom","left"].some(function(De){return oe.indexOf(De)>=0})&&console.warn(["Popper: Detected CSS transitions on at least one of the following",'CSS properties: "transform", "top", "right", "bottom", "left".',` `,'Disable the "computeStyles" modifier\'s `adaptive` option to allow',"for smooth transitions, or remove these properties from the CSS","transition declaration on the popper element if only transitioning","opacity or background-color for example.",` -`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "));var z={placement:ot(a.placement),popper:a.elements.popper,popperRect:a.rects.popper,gpuAcceleration:T};a.modifiersData.popperOffsets!=null&&(a.styles.popper=Object.assign({},a.styles.popper,Hn(Object.assign({},z,{offsets:a.modifiersData.popperOffsets,position:a.options.strategy,adaptive:W,roundOffsets:q})))),a.modifiersData.arrow!=null&&(a.styles.arrow=Object.assign({},a.styles.arrow,Hn(Object.assign({},z,{offsets:a.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:q})))),a.attributes.popper=Object.assign({},a.attributes.popper,{"data-popper-placement":a.placement})}var w={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:m,data:{}};function S(c){var a=c.state;Object.keys(a.elements).forEach(function(g){var D=a.styles[g]||{},T=a.attributes[g]||{},F=a.elements[g];!o(F)||!f(F)||(Object.assign(F.style,D),Object.keys(T).forEach(function(W){var j=T[W];j===!1?F.removeAttribute(W):F.setAttribute(W,j===!0?"":j)}))})}function I(c){var a=c.state,g={popper:{position:a.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(a.elements.popper.style,g.popper),a.styles=g,a.elements.arrow&&Object.assign(a.elements.arrow.style,g.arrow),function(){Object.keys(a.elements).forEach(function(D){var T=a.elements[D],F=a.attributes[D]||{},W=Object.keys(a.styles.hasOwnProperty(D)?a.styles[D]:g[D]),j=W.reduce(function(q,oe){return q[oe]="",q},{});!o(T)||!f(T)||(Object.assign(T.style,j),Object.keys(F).forEach(function(q){T.removeAttribute(q)}))})}}var Y={name:"applyStyles",enabled:!0,phase:"write",fn:S,effect:I,requires:["computeStyles"]};function H(c,a,g){var D=ot(c),T=[Z,V].indexOf(D)>=0?-1:1,F=typeof g=="function"?g(Object.assign({},a,{placement:c})):g,W=F[0],j=F[1];return W=W||0,j=(j||0)*T,[Z,U].indexOf(D)>=0?{x:j,y:W}:{x:W,y:j}}function k(c){var a=c.state,g=c.options,D=c.name,T=g.offset,F=T===void 0?[0,0]:T,W=Ue.reduce(function(z,De){return z[De]=H(De,a.rects,F),z},{}),j=W[a.placement],q=j.x,oe=j.y;a.modifiersData.popperOffsets!=null&&(a.modifiersData.popperOffsets.x+=q,a.modifiersData.popperOffsets.y+=oe),a.modifiersData[D]=W}var be={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:k},le={left:"right",right:"left",bottom:"top",top:"bottom"};function pe(c){return c.replace(/left|right|bottom|top/g,function(a){return le[a]})}var ye={start:"end",end:"start"};function _e(c){return c.replace(/start|end/g,function(a){return ye[a]})}function je(c,a){a===void 0&&(a={});var g=a,D=g.placement,T=g.boundary,F=g.rootBoundary,W=g.padding,j=g.flipVariations,q=g.allowedAutoPlacements,oe=q===void 0?Ue:q,z=cn(D),De=z?j?Q:Q.filter(function(xe){return cn(xe)===z}):s,Le=De.filter(function(xe){return oe.indexOf(xe)>=0});Le.length===0&&(Le=De,console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var Ae=Le.reduce(function(xe,Me){return xe[Me]=qt(c,{placement:Me,boundary:T,rootBoundary:F,padding:W})[ot(Me)],xe},{});return Object.keys(Ae).sort(function(xe,Me){return Ae[xe]-Ae[Me]})}function Se(c){if(ot(c)===me)return[];var a=pe(c);return[_e(c),a,_e(a)]}function Ie(c){var a=c.state,g=c.options,D=c.name;if(!a.modifiersData[D]._skip){for(var T=g.mainAxis,F=T===void 0?!0:T,W=g.altAxis,j=W===void 0?!0:W,q=g.fallbackPlacements,oe=g.padding,z=g.boundary,De=g.rootBoundary,Le=g.altBoundary,Ae=g.flipVariations,xe=Ae===void 0?!0:Ae,Me=g.allowedAutoPlacements,Ee=a.options.placement,Be=ot(Ee),Re=Be===Ee,He=q||(Re||!xe?[pe(Ee)]:Se(Ee)),ce=[Ee].concat(He).reduce(function(te,ge){return te.concat(ot(ge)===me?je(a,{placement:ge,boundary:z,rootBoundary:De,padding:oe,flipVariations:xe,allowedAutoPlacements:Me}):ge)},[]),Pe=a.rects.reference,Te=a.rects.popper,Ne=new Map,Fe=!0,Ye=ce[0],$e=0;$e=0,dn=Lt?"width":"height",Zt=qt(a,{placement:Ve,boundary:z,rootBoundary:De,altBoundary:Le,padding:oe}),Nt=Lt?et?U:Z:et?de:V;Pe[dn]>Te[dn]&&(Nt=pe(Nt));var $n=pe(Nt),Qt=[];if(F&&Qt.push(Zt[wt]<=0),j&&Qt.push(Zt[Nt]<=0,Zt[$n]<=0),Qt.every(function(te){return te})){Ye=Ve,Fe=!1;break}Ne.set(Ve,Qt)}if(Fe)for(var Sn=xe?3:1,Wn=function(ge){var we=ce.find(function(Ke){var Je=Ne.get(Ke);if(Je)return Je.slice(0,ge).every(function(Dt){return Dt})});if(we)return Ye=we,"break"},C=Sn;C>0;C--){var G=Wn(C);if(G==="break")break}a.placement!==Ye&&(a.modifiersData[D]._skip=!0,a.placement=Ye,a.reset=!0)}}var re={name:"flip",enabled:!0,phase:"main",fn:Ie,requiresIfExists:["offset"],data:{_skip:!1}};function he(c){return c==="x"?"y":"x"}function ve(c,a,g){return gt(c,ln(a,g))}function ee(c){var a=c.state,g=c.options,D=c.name,T=g.mainAxis,F=T===void 0?!0:T,W=g.altAxis,j=W===void 0?!1:W,q=g.boundary,oe=g.rootBoundary,z=g.altBoundary,De=g.padding,Le=g.tether,Ae=Le===void 0?!0:Le,xe=g.tetherOffset,Me=xe===void 0?0:xe,Ee=qt(a,{boundary:q,rootBoundary:oe,padding:De,altBoundary:z}),Be=ot(a.placement),Re=cn(a.placement),He=!Re,ce=dt(Be),Pe=he(ce),Te=a.modifiersData.popperOffsets,Ne=a.rects.reference,Fe=a.rects.popper,Ye=typeof Me=="function"?Me(Object.assign({},a.rects,{placement:a.placement})):Me,$e={x:0,y:0};if(Te){if(F||j){var Ve=ce==="y"?V:Z,wt=ce==="y"?de:U,et=ce==="y"?"height":"width",Lt=Te[ce],dn=Te[ce]+Ee[Ve],Zt=Te[ce]-Ee[wt],Nt=Ae?-Fe[et]/2:0,$n=Re===p?Ne[et]:Fe[et],Qt=Re===p?-Fe[et]:-Ne[et],Sn=a.elements.arrow,Wn=Ae&&Sn?P(Sn):{width:0,height:0},C=a.modifiersData["arrow#persistent"]?a.modifiersData["arrow#persistent"].padding:cr(),G=C[Ve],te=C[wt],ge=ve(0,Ne[et],Wn[et]),we=He?Ne[et]/2-Nt-ge-G-Ye:$n-ge-G-Ye,Ke=He?-Ne[et]/2+Nt+ge+te+Ye:Qt+ge+te+Ye,Je=a.elements.arrow&&J(a.elements.arrow),Dt=Je?ce==="y"?Je.clientTop||0:Je.clientLeft||0:0,Vn=a.modifiersData.offset?a.modifiersData.offset[a.placement][ce]:0,Tt=Te[ce]+we-Vn-Dt,An=Te[ce]+Ke-Vn;if(F){var pn=ve(Ae?ln(dn,Tt):dn,Lt,Ae?gt(Zt,An):Zt);Te[ce]=pn,$e[ce]=pn-Lt}if(j){var en=ce==="x"?V:Z,Gr=ce==="x"?de:U,tn=Te[Pe],hn=tn+Ee[en],Ai=tn-Ee[Gr],Ci=ve(Ae?ln(hn,Tt):hn,tn,Ae?gt(Ai,An):Ai);Te[Pe]=Ci,$e[Pe]=Ci-tn}}a.modifiersData[D]=$e}}var ie={name:"preventOverflow",enabled:!0,phase:"main",fn:ee,requiresIfExists:["offset"]},x=function(a,g){return a=typeof a=="function"?a(Object.assign({},g.rects,{placement:g.placement})):a,fr(typeof a!="number"?a:ur(a,s))};function Ge(c){var a,g=c.state,D=c.name,T=c.options,F=g.elements.arrow,W=g.modifiersData.popperOffsets,j=ot(g.placement),q=dt(j),oe=[Z,U].indexOf(j)>=0,z=oe?"height":"width";if(!(!F||!W)){var De=x(T.padding,g),Le=P(F),Ae=q==="y"?V:Z,xe=q==="y"?de:U,Me=g.rects.reference[z]+g.rects.reference[q]-W[q]-g.rects.popper[z],Ee=W[q]-g.rects.reference[q],Be=J(F),Re=Be?q==="y"?Be.clientHeight||0:Be.clientWidth||0:0,He=Me/2-Ee/2,ce=De[Ae],Pe=Re-Le[z]-De[xe],Te=Re/2-Le[z]/2+He,Ne=ve(ce,Te,Pe),Fe=q;g.modifiersData[D]=(a={},a[Fe]=Ne,a.centerOffset=Ne-Te,a)}}function fe(c){var a=c.state,g=c.options,D=g.element,T=D===void 0?"[data-popper-arrow]":D;if(T!=null&&!(typeof T=="string"&&(T=a.elements.popper.querySelector(T),!T))){if(o(T)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" ")),!kn(a.elements.popper,T)){console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" "));return}a.elements.arrow=T}}var Ft={name:"arrow",enabled:!0,phase:"main",fn:Ge,effect:fe,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function bt(c,a,g){return g===void 0&&(g={x:0,y:0}),{top:c.top-a.height-g.y,right:c.right-a.width+g.x,bottom:c.bottom-a.height+g.y,left:c.left-a.width-g.x}}function Gt(c){return[V,U,de,Z].some(function(a){return c[a]>=0})}function Kt(c){var a=c.state,g=c.name,D=a.rects.reference,T=a.rects.popper,F=a.modifiersData.preventOverflow,W=qt(a,{elementContext:"reference"}),j=qt(a,{altBoundary:!0}),q=bt(W,D),oe=bt(j,T,F),z=Gt(q),De=Gt(oe);a.modifiersData[g]={referenceClippingOffsets:q,popperEscapeOffsets:oe,isReferenceHidden:z,hasPopperEscaped:De},a.attributes.popper=Object.assign({},a.attributes.popper,{"data-popper-reference-hidden":z,"data-popper-escaped":De})}var Jt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kt},rt=[jn,Bn,w,Y],st=En({defaultModifiers:rt}),yt=[jn,Bn,w,Y,be,re,ie,Ft,Jt],un=En({defaultModifiers:yt});t.applyStyles=Y,t.arrow=Ft,t.computeStyles=w,t.createPopper=un,t.createPopperLite=st,t.defaultModifiers=yt,t.detectOverflow=qt,t.eventListeners=jn,t.flip=re,t.hide=Jt,t.offset=be,t.popperGenerator=En,t.popperOffsets=Bn,t.preventOverflow=ie}),Lo=Io(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var e=us(),r='',n="tippy-box",i="tippy-content",o="tippy-backdrop",l="tippy-arrow",h="tippy-svg-arrow",u={passive:!0,capture:!0};function f(m,w){return{}.hasOwnProperty.call(m,w)}function y(m,w,S){if(Array.isArray(m)){var I=m[w];return I??(Array.isArray(S)?S[w]:S)}return m}function b(m,w){var S={}.toString.call(m);return S.indexOf("[object")===0&&S.indexOf(w+"]")>-1}function A(m,w){return typeof m=="function"?m.apply(void 0,w):m}function E(m,w){if(w===0)return m;var S;return function(I){clearTimeout(S),S=setTimeout(function(){m(I)},w)}}function O(m,w){var S=Object.assign({},m);return w.forEach(function(I){delete S[I]}),S}function P(m){return m.split(/\s+/).filter(Boolean)}function R(m){return[].concat(m)}function $(m,w){m.indexOf(w)===-1&&m.push(w)}function B(m){return m.filter(function(w,S){return m.indexOf(w)===S})}function K(m){return m.split("-")[0]}function X(m){return[].slice.call(m)}function ne(m){return Object.keys(m).reduce(function(w,S){return m[S]!==void 0&&(w[S]=m[S]),w},{})}function J(){return document.createElement("div")}function V(m){return["Element","Fragment"].some(function(w){return b(m,w)})}function de(m){return b(m,"NodeList")}function U(m){return b(m,"MouseEvent")}function Z(m){return!!(m&&m._tippy&&m._tippy.reference===m)}function me(m){return V(m)?[m]:de(m)?X(m):Array.isArray(m)?m:X(document.querySelectorAll(m))}function s(m,w){m.forEach(function(S){S&&(S.style.transitionDuration=w+"ms")})}function p(m,w){m.forEach(function(S){S&&S.setAttribute("data-state",w)})}function v(m){var w,S=R(m),I=S[0];return!(I==null||(w=I.ownerDocument)==null)&&w.body?I.ownerDocument:document}function d(m,w){var S=w.clientX,I=w.clientY;return m.every(function(Y){var H=Y.popperRect,k=Y.popperState,be=Y.props,le=be.interactiveBorder,pe=K(k.placement),ye=k.modifiersData.offset;if(!ye)return!0;var _e=pe==="bottom"?ye.top.y:0,je=pe==="top"?ye.bottom.y:0,Se=pe==="right"?ye.left.x:0,Ie=pe==="left"?ye.right.x:0,re=H.top-I+_e>le,he=I-H.bottom-je>le,ve=H.left-S+Se>le,ee=S-H.right-Ie>le;return re||he||ve||ee})}function N(m,w,S){var I=w+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(Y){m[I](Y,S)})}var _={isTouch:!1},M=0;function Q(){_.isTouch||(_.isTouch=!0,window.performance&&document.addEventListener("mousemove",Ue))}function Ue(){var m=performance.now();m-M<20&&(_.isTouch=!1,document.removeEventListener("mousemove",Ue)),M=m}function Rt(){var m=document.activeElement;if(Z(m)){var w=m._tippy;m.blur&&!w.state.isVisible&&m.blur()}}function Vt(){document.addEventListener("touchstart",Q,u),window.addEventListener("blur",Rt)}var Lr=typeof window<"u"&&typeof document<"u",Nr=Lr?navigator.userAgent:"",kr=/MSIE |Trident\//.test(Nr);function zt(m){var w=m==="destroy"?"n already-":" ";return[m+"() was called on a"+w+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function nr(m){var w=/[ \t]{2,}/g,S=/^[ \t]*/gm;return m.replace(w," ").replace(S,"").trim()}function jr(m){return nr(` +`,"We recommend using the popper element as a wrapper around an inner","element that can have any CSS property transitioned for animations."].join(" "));var z={placement:ot(s.placement),popper:s.elements.popper,popperRect:s.rects.popper,gpuAcceleration:P};s.modifiersData.popperOffsets!=null&&(s.styles.popper=Object.assign({},s.styles.popper,Hn(Object.assign({},z,{offsets:s.modifiersData.popperOffsets,position:s.options.strategy,adaptive:U,roundOffsets:G})))),s.modifiersData.arrow!=null&&(s.styles.arrow=Object.assign({},s.styles.arrow,Hn(Object.assign({},z,{offsets:s.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:G})))),s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-placement":s.placement})}var w={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:g,data:{}};function C(u){var s=u.state;Object.keys(s.elements).forEach(function(b){var T=s.styles[b]||{},P=s.attributes[b]||{},F=s.elements[b];!o(F)||!d(F)||(Object.assign(F.style,T),Object.keys(P).forEach(function(U){var H=P[U];H===!1?F.removeAttribute(U):F.setAttribute(U,H===!0?"":H)}))})}function L(u){var s=u.state,b={popper:{position:s.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(s.elements.popper.style,b.popper),s.styles=b,s.elements.arrow&&Object.assign(s.elements.arrow.style,b.arrow),function(){Object.keys(s.elements).forEach(function(T){var P=s.elements[T],F=s.attributes[T]||{},U=Object.keys(s.styles.hasOwnProperty(T)?s.styles[T]:b[T]),H=U.reduce(function(G,oe){return G[oe]="",G},{});!o(P)||!d(P)||(Object.assign(P.style,H),Object.keys(F).forEach(function(G){P.removeAttribute(G)}))})}}var q={name:"applyStyles",enabled:!0,phase:"write",fn:C,effect:L,requires:["computeStyles"]};function W(u,s,b){var T=ot(u),P=[Q,V].indexOf(T)>=0?-1:1,F=typeof b=="function"?b(Object.assign({},s,{placement:u})):b,U=F[0],H=F[1];return U=U||0,H=(H||0)*P,[Q,X].indexOf(T)>=0?{x:H,y:U}:{x:U,y:H}}function B(u){var s=u.state,b=u.options,T=u.name,P=b.offset,F=P===void 0?[0,0]:P,U=ze.reduce(function(z,De){return z[De]=W(De,s.rects,F),z},{}),H=U[s.placement],G=H.x,oe=H.y;s.modifiersData.popperOffsets!=null&&(s.modifiersData.popperOffsets.x+=G,s.modifiersData.popperOffsets.y+=oe),s.modifiersData[T]=U}var be={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:B},le={left:"right",right:"left",bottom:"top",top:"bottom"};function pe(u){return u.replace(/left|right|bottom|top/g,function(s){return le[s]})}var ye={start:"end",end:"start"};function Te(u){return u.replace(/start|end/g,function(s){return ye[s]})}function je(u,s){s===void 0&&(s={});var b=s,T=b.placement,P=b.boundary,F=b.rootBoundary,U=b.padding,H=b.flipVariations,G=b.allowedAutoPlacements,oe=G===void 0?ze:G,z=cn(T),De=z?H?Z:Z.filter(function(xe){return cn(xe)===z}):l,Fe=De.filter(function(xe){return oe.indexOf(xe)>=0});Fe.length===0&&(Fe=De,console.error(["Popper: The `allowedAutoPlacements` option did not allow any","placements. Ensure the `placement` option matches the variation","of the allowed placements.",'For example, "auto" cannot be used to allow "bottom-start".','Use "auto-start" instead.'].join(" ")));var Ce=Fe.reduce(function(xe,Me){return xe[Me]=qt(u,{placement:Me,boundary:P,rootBoundary:F,padding:U})[ot(Me)],xe},{});return Object.keys(Ce).sort(function(xe,Me){return Ce[xe]-Ce[Me]})}function Ae(u){if(ot(u)===me)return[];var s=pe(u);return[Te(u),s,Te(s)]}function Ie(u){var s=u.state,b=u.options,T=u.name;if(!s.modifiersData[T]._skip){for(var P=b.mainAxis,F=P===void 0?!0:P,U=b.altAxis,H=U===void 0?!0:U,G=b.fallbackPlacements,oe=b.padding,z=b.boundary,De=b.rootBoundary,Fe=b.altBoundary,Ce=b.flipVariations,xe=Ce===void 0?!0:Ce,Me=b.allowedAutoPlacements,Se=s.options.placement,Be=ot(Se),Re=Be===Se,He=G||(Re||!xe?[pe(Se)]:Ae(Se)),ce=[Se].concat(He).reduce(function(te,ge){return te.concat(ot(ge)===me?je(s,{placement:ge,boundary:z,rootBoundary:De,padding:oe,flipVariations:xe,allowedAutoPlacements:Me}):ge)},[]),Pe=s.rects.reference,_e=s.rects.popper,ke=new Map,Le=!0,Ye=ce[0],$e=0;$e=0,dn=Ft?"width":"height",Qt=qt(s,{placement:Ue,boundary:z,rootBoundary:De,altBoundary:Fe,padding:oe}),kt=Ft?et?X:Q:et?de:V;Pe[dn]>_e[dn]&&(kt=pe(kt));var $n=pe(kt),Zt=[];if(F&&Zt.push(Qt[wt]<=0),H&&Zt.push(Qt[kt]<=0,Qt[$n]<=0),Zt.every(function(te){return te})){Ye=Ue,Le=!1;break}ke.set(Ue,Zt)}if(Le)for(var Sn=xe?3:1,Wn=function(ge){var we=ce.find(function(Ke){var Je=ke.get(Ke);if(Je)return Je.slice(0,ge).every(function(Dt){return Dt})});if(we)return Ye=we,"break"},D=Sn;D>0;D--){var K=Wn(D);if(K==="break")break}s.placement!==Ye&&(s.modifiersData[T]._skip=!0,s.placement=Ye,s.reset=!0)}}var re={name:"flip",enabled:!0,phase:"main",fn:Ie,requiresIfExists:["offset"],data:{_skip:!1}};function he(u){return u==="x"?"y":"x"}function ve(u,s,b){return gt(u,ln(s,b))}function ee(u){var s=u.state,b=u.options,T=u.name,P=b.mainAxis,F=P===void 0?!0:P,U=b.altAxis,H=U===void 0?!1:U,G=b.boundary,oe=b.rootBoundary,z=b.altBoundary,De=b.padding,Fe=b.tether,Ce=Fe===void 0?!0:Fe,xe=b.tetherOffset,Me=xe===void 0?0:xe,Se=qt(s,{boundary:G,rootBoundary:oe,padding:De,altBoundary:z}),Be=ot(s.placement),Re=cn(s.placement),He=!Re,ce=dt(Be),Pe=he(ce),_e=s.modifiersData.popperOffsets,ke=s.rects.reference,Le=s.rects.popper,Ye=typeof Me=="function"?Me(Object.assign({},s.rects,{placement:s.placement})):Me,$e={x:0,y:0};if(_e){if(F||H){var Ue=ce==="y"?V:Q,wt=ce==="y"?de:X,et=ce==="y"?"height":"width",Ft=_e[ce],dn=_e[ce]+Se[Ue],Qt=_e[ce]-Se[wt],kt=Ce?-Le[et]/2:0,$n=Re===h?ke[et]:Le[et],Zt=Re===h?-Le[et]:-ke[et],Sn=s.elements.arrow,Wn=Ce&&Sn?_(Sn):{width:0,height:0},D=s.modifiersData["arrow#persistent"]?s.modifiersData["arrow#persistent"].padding:cr(),K=D[Ue],te=D[wt],ge=ve(0,ke[et],Wn[et]),we=He?ke[et]/2-kt-ge-K-Ye:$n-ge-K-Ye,Ke=He?-ke[et]/2+kt+ge+te+Ye:Zt+ge+te+Ye,Je=s.elements.arrow&&J(s.elements.arrow),Dt=Je?ce==="y"?Je.clientTop||0:Je.clientLeft||0:0,Un=s.modifiersData.offset?s.modifiersData.offset[s.placement][ce]:0,_t=_e[ce]+we-Un-Dt,An=_e[ce]+Ke-Un;if(F){var pn=ve(Ce?ln(dn,_t):dn,Ft,Ce?gt(Qt,An):Qt);_e[ce]=pn,$e[ce]=pn-Ft}if(H){var en=ce==="x"?V:Q,Gr=ce==="x"?de:X,tn=_e[Pe],hn=tn+Se[en],Di=tn-Se[Gr],_i=ve(Ce?ln(hn,_t):hn,tn,Ce?gt(Di,An):Di);_e[Pe]=_i,$e[Pe]=_i-tn}}s.modifiersData[T]=$e}}var ie={name:"preventOverflow",enabled:!0,phase:"main",fn:ee,requiresIfExists:["offset"]},x=function(s,b){return s=typeof s=="function"?s(Object.assign({},b.rects,{placement:b.placement})):s,fr(typeof s!="number"?s:ur(s,l))};function Ge(u){var s,b=u.state,T=u.name,P=u.options,F=b.elements.arrow,U=b.modifiersData.popperOffsets,H=ot(b.placement),G=dt(H),oe=[Q,X].indexOf(H)>=0,z=oe?"height":"width";if(!(!F||!U)){var De=x(P.padding,b),Fe=_(F),Ce=G==="y"?V:Q,xe=G==="y"?de:X,Me=b.rects.reference[z]+b.rects.reference[G]-U[G]-b.rects.popper[z],Se=U[G]-b.rects.reference[G],Be=J(F),Re=Be?G==="y"?Be.clientHeight||0:Be.clientWidth||0:0,He=Me/2-Se/2,ce=De[Ce],Pe=Re-Fe[z]-De[xe],_e=Re/2-Fe[z]/2+He,ke=ve(ce,_e,Pe),Le=G;b.modifiersData[T]=(s={},s[Le]=ke,s.centerOffset=ke-_e,s)}}function fe(u){var s=u.state,b=u.options,T=b.element,P=T===void 0?"[data-popper-arrow]":T;if(P!=null&&!(typeof P=="string"&&(P=s.elements.popper.querySelector(P),!P))){if(o(P)||console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).',"To use an SVG arrow, wrap it in an HTMLElement that will be used as","the arrow."].join(" ")),!Nn(s.elements.popper,P)){console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper',"element."].join(" "));return}s.elements.arrow=P}}var Lt={name:"arrow",enabled:!0,phase:"main",fn:Ge,effect:fe,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function bt(u,s,b){return b===void 0&&(b={x:0,y:0}),{top:u.top-s.height-b.y,right:u.right-s.width+b.x,bottom:u.bottom-s.height+b.y,left:u.left-s.width-b.x}}function Gt(u){return[V,X,de,Q].some(function(s){return u[s]>=0})}function Kt(u){var s=u.state,b=u.name,T=s.rects.reference,P=s.rects.popper,F=s.modifiersData.preventOverflow,U=qt(s,{elementContext:"reference"}),H=qt(s,{altBoundary:!0}),G=bt(U,T),oe=bt(H,P,F),z=Gt(G),De=Gt(oe);s.modifiersData[b]={referenceClippingOffsets:G,popperEscapeOffsets:oe,isReferenceHidden:z,hasPopperEscaped:De},s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-reference-hidden":z,"data-popper-escaped":De})}var Jt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kt},rt=[jn,Bn,w,q],lt=En({defaultModifiers:rt}),yt=[jn,Bn,w,q,be,re,ie,Lt,Jt],un=En({defaultModifiers:yt});e.applyStyles=q,e.arrow=Lt,e.computeStyles=w,e.createPopper=un,e.createPopperLite=lt,e.defaultModifiers=yt,e.detectOverflow=qt,e.eventListeners=jn,e.flip=re,e.hide=Jt,e.offset=be,e.popperGenerator=En,e.popperOffsets=Bn,e.preventOverflow=ie}),$o=Bo(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=_s(),r='',n="tippy-box",i="tippy-content",o="tippy-backdrop",a="tippy-arrow",c="tippy-svg-arrow",f={passive:!0,capture:!0};function d(g,w){return{}.hasOwnProperty.call(g,w)}function y(g,w,C){if(Array.isArray(g)){var L=g[w];return L??(Array.isArray(C)?C[w]:C)}return g}function m(g,w){var C={}.toString.call(g);return C.indexOf("[object")===0&&C.indexOf(w+"]")>-1}function O(g,w){return typeof g=="function"?g.apply(void 0,w):g}function E(g,w){if(w===0)return g;var C;return function(L){clearTimeout(C),C=setTimeout(function(){g(L)},w)}}function S(g,w){var C=Object.assign({},g);return w.forEach(function(L){delete C[L]}),C}function _(g){return g.split(/\s+/).filter(Boolean)}function I(g){return[].concat(g)}function $(g,w){g.indexOf(w)===-1&&g.push(w)}function A(g){return g.filter(function(w,C){return g.indexOf(w)===C})}function N(g){return g.split("-")[0]}function Y(g){return[].slice.call(g)}function ne(g){return Object.keys(g).reduce(function(w,C){return g[C]!==void 0&&(w[C]=g[C]),w},{})}function J(){return document.createElement("div")}function V(g){return["Element","Fragment"].some(function(w){return m(g,w)})}function de(g){return m(g,"NodeList")}function X(g){return m(g,"MouseEvent")}function Q(g){return!!(g&&g._tippy&&g._tippy.reference===g)}function me(g){return V(g)?[g]:de(g)?Y(g):Array.isArray(g)?g:Y(document.querySelectorAll(g))}function l(g,w){g.forEach(function(C){C&&(C.style.transitionDuration=w+"ms")})}function h(g,w){g.forEach(function(C){C&&C.setAttribute("data-state",w)})}function v(g){var w,C=I(g),L=C[0];return!(L==null||(w=L.ownerDocument)==null)&&w.body?L.ownerDocument:document}function p(g,w){var C=w.clientX,L=w.clientY;return g.every(function(q){var W=q.popperRect,B=q.popperState,be=q.props,le=be.interactiveBorder,pe=N(B.placement),ye=B.modifiersData.offset;if(!ye)return!0;var Te=pe==="bottom"?ye.top.y:0,je=pe==="top"?ye.bottom.y:0,Ae=pe==="right"?ye.left.x:0,Ie=pe==="left"?ye.right.x:0,re=W.top-L+Te>le,he=L-W.bottom-je>le,ve=W.left-C+Ae>le,ee=C-W.right-Ie>le;return re||he||ve||ee})}function j(g,w,C){var L=w+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(q){g[L](q,C)})}var M={isTouch:!1},R=0;function Z(){M.isTouch||(M.isTouch=!0,window.performance&&document.addEventListener("mousemove",ze))}function ze(){var g=performance.now();g-R<20&&(M.isTouch=!1,document.removeEventListener("mousemove",ze)),R=g}function Rt(){var g=document.activeElement;if(Q(g)){var w=g._tippy;g.blur&&!w.state.isVisible&&g.blur()}}function Ut(){document.addEventListener("touchstart",Z,f),window.addEventListener("blur",Rt)}var Fr=typeof window<"u"&&typeof document<"u",kr=Fr?navigator.userAgent:"",Nr=/MSIE |Trident\//.test(kr);function Vt(g){var w=g==="destroy"?"n already-":" ";return[g+"() was called on a"+w+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function nr(g){var w=/[ \t]{2,}/g,C=/^[ \t]*/gm;return g.replace(w," ").replace(C,"").trim()}function jr(g){return nr(` %ctippy.js - %c`+nr(m)+` + %c`+nr(g)+` %c\u{1F477}\u200D This is a development-only message. It will be removed in production. - `)}function rr(m){return[jr(m),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var It;Br();function Br(){It=new Set}function mt(m,w){if(m&&!It.has(w)){var S;It.add(w),(S=console).warn.apply(S,rr(w))}}function Ut(m,w){if(m&&!It.has(w)){var S;It.add(w),(S=console).error.apply(S,rr(w))}}function At(m){var w=!m,S=Object.prototype.toString.call(m)==="[object Object]"&&!m.addEventListener;Ut(w,["tippy() was passed","`"+String(m)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),Ut(S,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var Ct={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Hr={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Qe=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Ct,{},Hr),$r=Object.keys(Qe),Wr=function(w){gt(w,[]);var S=Object.keys(w);S.forEach(function(I){Qe[I]=w[I]})};function ot(m){var w=m.plugins||[],S=w.reduce(function(I,Y){var H=Y.name,k=Y.defaultValue;return H&&(I[H]=m[H]!==void 0?m[H]:k),I},{});return Object.assign({},m,{},S)}function Vr(m,w){var S=w?Object.keys(ot(Object.assign({},Qe,{plugins:w}))):$r,I=S.reduce(function(Y,H){var k=(m.getAttribute("data-tippy-"+H)||"").trim();if(!k)return Y;if(H==="content")Y[H]=k;else try{Y[H]=JSON.parse(k)}catch{Y[H]=k}return Y},{});return I}function ir(m,w){var S=Object.assign({},w,{content:A(w.content,[m])},w.ignoreAttributes?{}:Vr(m,w.plugins));return S.aria=Object.assign({},Qe.aria,{},S.aria),S.aria={expanded:S.aria.expanded==="auto"?w.interactive:S.aria.expanded,content:S.aria.content==="auto"?w.interactive?null:"describedby":S.aria.content},S}function gt(m,w){m===void 0&&(m={}),w===void 0&&(w=[]);var S=Object.keys(m);S.forEach(function(I){var Y=O(Qe,Object.keys(Ct)),H=!f(Y,I);H&&(H=w.filter(function(k){return k.name===I}).length===0),mt(H,["`"+I+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",` + `)}function rr(g){return[jr(g),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var It;Br();function Br(){It=new Set}function mt(g,w){if(g&&!It.has(w)){var C;It.add(w),(C=console).warn.apply(C,rr(w))}}function zt(g,w){if(g&&!It.has(w)){var C;It.add(w),(C=console).error.apply(C,rr(w))}}function At(g){var w=!g,C=Object.prototype.toString.call(g)==="[object Object]"&&!g.addEventListener;zt(w,["tippy() was passed","`"+String(g)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),zt(C,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var Ct={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Hr={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Ze=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Ct,{},Hr),$r=Object.keys(Ze),Wr=function(w){gt(w,[]);var C=Object.keys(w);C.forEach(function(L){Ze[L]=w[L]})};function ot(g){var w=g.plugins||[],C=w.reduce(function(L,q){var W=q.name,B=q.defaultValue;return W&&(L[W]=g[W]!==void 0?g[W]:B),L},{});return Object.assign({},g,{},C)}function Ur(g,w){var C=w?Object.keys(ot(Object.assign({},Ze,{plugins:w}))):$r,L=C.reduce(function(q,W){var B=(g.getAttribute("data-tippy-"+W)||"").trim();if(!B)return q;if(W==="content")q[W]=B;else try{q[W]=JSON.parse(B)}catch{q[W]=B}return q},{});return L}function ir(g,w){var C=Object.assign({},w,{content:O(w.content,[g])},w.ignoreAttributes?{}:Ur(g,w.plugins));return C.aria=Object.assign({},Ze.aria,{},C.aria),C.aria={expanded:C.aria.expanded==="auto"?w.interactive:C.aria.expanded,content:C.aria.content==="auto"?w.interactive?null:"describedby":C.aria.content},C}function gt(g,w){g===void 0&&(g={}),w===void 0&&(w=[]);var C=Object.keys(g);C.forEach(function(L){var q=S(Ze,Object.keys(Ct)),W=!d(q,L);W&&(W=w.filter(function(B){return B.name===L}).length===0),mt(W,["`"+L+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",` `,`All props: https://atomiks.github.io/tippyjs/v6/all-props/ -`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var ln=function(){return"innerHTML"};function Yt(m,w){m[ln()]=w}function or(m){var w=J();return m===!0?w.className=l:(w.className=h,V(m)?w.appendChild(m):Yt(w,m)),w}function kn(m,w){V(w.content)?(Yt(m,""),m.appendChild(w.content)):typeof w.content!="function"&&(w.allowHTML?Yt(m,w.content):m.textContent=w.content)}function Xt(m){var w=m.firstElementChild,S=X(w.children);return{box:w,content:S.find(function(I){return I.classList.contains(i)}),arrow:S.find(function(I){return I.classList.contains(l)||I.classList.contains(h)}),backdrop:S.find(function(I){return I.classList.contains(o)})}}function ar(m){var w=J(),S=J();S.className=n,S.setAttribute("data-state","hidden"),S.setAttribute("tabindex","-1");var I=J();I.className=i,I.setAttribute("data-state","hidden"),kn(I,m.props),w.appendChild(S),S.appendChild(I),Y(m.props,m.props);function Y(H,k){var be=Xt(w),le=be.box,pe=be.content,ye=be.arrow;k.theme?le.setAttribute("data-theme",k.theme):le.removeAttribute("data-theme"),typeof k.animation=="string"?le.setAttribute("data-animation",k.animation):le.removeAttribute("data-animation"),k.inertia?le.setAttribute("data-inertia",""):le.removeAttribute("data-inertia"),le.style.maxWidth=typeof k.maxWidth=="number"?k.maxWidth+"px":k.maxWidth,k.role?le.setAttribute("role",k.role):le.removeAttribute("role"),(H.content!==k.content||H.allowHTML!==k.allowHTML)&&kn(pe,m.props),k.arrow?ye?H.arrow!==k.arrow&&(le.removeChild(ye),le.appendChild(or(k.arrow))):le.appendChild(or(k.arrow)):ye&&le.removeChild(ye)}return{popper:w,onUpdate:Y}}ar.$$tippy=!0;var sr=1,yn=[],wn=[];function cn(m,w){var S=ir(m,Object.assign({},Qe,{},ot(ne(w)))),I,Y,H,k=!1,be=!1,le=!1,pe=!1,ye,_e,je,Se=[],Ie=E(Re,S.interactiveDebounce),re,he=sr++,ve=null,ee=B(S.plugins),ie={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},x={id:he,reference:m,popper:J(),popperInstance:ve,props:S,state:ie,plugins:ee,clearDelayTimeouts:Lt,setProps:dn,setContent:Zt,show:Nt,hide:$n,hideWithInteractivity:Qt,enable:wt,disable:et,unmount:Sn,destroy:Wn};if(!S.render)return Ut(!0,"render() function has not been supplied."),x;var Ge=S.render(x),fe=Ge.popper,Ft=Ge.onUpdate;fe.setAttribute("data-tippy-root",""),fe.id="tippy-"+x.id,x.popper=fe,m._tippy=x,fe._tippy=x;var bt=ee.map(function(C){return C.fn(x)}),Gt=m.hasAttribute("aria-expanded");return Me(),T(),a(),g("onCreate",[x]),S.showOnCreate&&$e(),fe.addEventListener("mouseenter",function(){x.props.interactive&&x.state.isVisible&&x.clearDelayTimeouts()}),fe.addEventListener("mouseleave",function(C){x.props.interactive&&x.props.trigger.indexOf("mouseenter")>=0&&(yt().addEventListener("mousemove",Ie),Ie(C))}),x;function Kt(){var C=x.props.touch;return Array.isArray(C)?C:[C,0]}function Jt(){return Kt()[0]==="hold"}function rt(){var C;return!!((C=x.props.render)!=null&&C.$$tippy)}function st(){return re||m}function yt(){var C=st().parentNode;return C?v(C):document}function un(){return Xt(fe)}function c(C){return x.state.isMounted&&!x.state.isVisible||_.isTouch||ye&&ye.type==="focus"?0:y(x.props.delay,C?0:1,Qe.delay)}function a(){fe.style.pointerEvents=x.props.interactive&&x.state.isVisible?"":"none",fe.style.zIndex=""+x.props.zIndex}function g(C,G,te){if(te===void 0&&(te=!0),bt.forEach(function(we){we[C]&&we[C].apply(void 0,G)}),te){var ge;(ge=x.props)[C].apply(ge,G)}}function D(){var C=x.props.aria;if(C.content){var G="aria-"+C.content,te=fe.id,ge=R(x.props.triggerTarget||m);ge.forEach(function(we){var Ke=we.getAttribute(G);if(x.state.isVisible)we.setAttribute(G,Ke?Ke+" "+te:te);else{var Je=Ke&&Ke.replace(te,"").trim();Je?we.setAttribute(G,Je):we.removeAttribute(G)}})}}function T(){if(!(Gt||!x.props.aria.expanded)){var C=R(x.props.triggerTarget||m);C.forEach(function(G){x.props.interactive?G.setAttribute("aria-expanded",x.state.isVisible&&G===st()?"true":"false"):G.removeAttribute("aria-expanded")})}}function F(){yt().removeEventListener("mousemove",Ie),yn=yn.filter(function(C){return C!==Ie})}function W(C){if(!(_.isTouch&&(le||C.type==="mousedown"))&&!(x.props.interactive&&fe.contains(C.target))){if(st().contains(C.target)){if(_.isTouch||x.state.isVisible&&x.props.trigger.indexOf("click")>=0)return}else g("onClickOutside",[x,C]);x.props.hideOnClick===!0&&(x.clearDelayTimeouts(),x.hide(),be=!0,setTimeout(function(){be=!1}),x.state.isMounted||z())}}function j(){le=!0}function q(){le=!1}function oe(){var C=yt();C.addEventListener("mousedown",W,!0),C.addEventListener("touchend",W,u),C.addEventListener("touchstart",q,u),C.addEventListener("touchmove",j,u)}function z(){var C=yt();C.removeEventListener("mousedown",W,!0),C.removeEventListener("touchend",W,u),C.removeEventListener("touchstart",q,u),C.removeEventListener("touchmove",j,u)}function De(C,G){Ae(C,function(){!x.state.isVisible&&fe.parentNode&&fe.parentNode.contains(fe)&&G()})}function Le(C,G){Ae(C,G)}function Ae(C,G){var te=un().box;function ge(we){we.target===te&&(N(te,"remove",ge),G())}if(C===0)return G();N(te,"remove",_e),N(te,"add",ge),_e=ge}function xe(C,G,te){te===void 0&&(te=!1);var ge=R(x.props.triggerTarget||m);ge.forEach(function(we){we.addEventListener(C,G,te),Se.push({node:we,eventType:C,handler:G,options:te})})}function Me(){Jt()&&(xe("touchstart",Be,{passive:!0}),xe("touchend",He,{passive:!0})),P(x.props.trigger).forEach(function(C){if(C!=="manual")switch(xe(C,Be),C){case"mouseenter":xe("mouseleave",He);break;case"focus":xe(kr?"focusout":"blur",ce);break;case"focusin":xe("focusout",ce);break}})}function Ee(){Se.forEach(function(C){var G=C.node,te=C.eventType,ge=C.handler,we=C.options;G.removeEventListener(te,ge,we)}),Se=[]}function Be(C){var G,te=!1;if(!(!x.state.isEnabled||Pe(C)||be)){var ge=((G=ye)==null?void 0:G.type)==="focus";ye=C,re=C.currentTarget,T(),!x.state.isVisible&&U(C)&&yn.forEach(function(we){return we(C)}),C.type==="click"&&(x.props.trigger.indexOf("mouseenter")<0||k)&&x.props.hideOnClick!==!1&&x.state.isVisible?te=!0:$e(C),C.type==="click"&&(k=!te),te&&!ge&&Ve(C)}}function Re(C){var G=C.target,te=st().contains(G)||fe.contains(G);if(!(C.type==="mousemove"&&te)){var ge=Ye().concat(fe).map(function(we){var Ke,Je=we._tippy,Dt=(Ke=Je.popperInstance)==null?void 0:Ke.state;return Dt?{popperRect:we.getBoundingClientRect(),popperState:Dt,props:S}:null}).filter(Boolean);d(ge,C)&&(F(),Ve(C))}}function He(C){var G=Pe(C)||x.props.trigger.indexOf("click")>=0&&k;if(!G){if(x.props.interactive){x.hideWithInteractivity(C);return}Ve(C)}}function ce(C){x.props.trigger.indexOf("focusin")<0&&C.target!==st()||x.props.interactive&&C.relatedTarget&&fe.contains(C.relatedTarget)||Ve(C)}function Pe(C){return _.isTouch?Jt()!==C.type.indexOf("touch")>=0:!1}function Te(){Ne();var C=x.props,G=C.popperOptions,te=C.placement,ge=C.offset,we=C.getReferenceClientRect,Ke=C.moveTransition,Je=rt()?Xt(fe).arrow:null,Dt=we?{getBoundingClientRect:we,contextElement:we.contextElement||st()}:m,Vn={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(pn){var en=pn.state;if(rt()){var Gr=un(),tn=Gr.box;["placement","reference-hidden","escaped"].forEach(function(hn){hn==="placement"?tn.setAttribute("data-placement",en.placement):en.attributes.popper["data-popper-"+hn]?tn.setAttribute("data-"+hn,""):tn.removeAttribute("data-"+hn)}),en.attributes.popper={}}}},Tt=[{name:"offset",options:{offset:ge}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!Ke}},Vn];rt()&&Je&&Tt.push({name:"arrow",options:{element:Je,padding:3}}),Tt.push.apply(Tt,G?.modifiers||[]),x.popperInstance=e.createPopper(Dt,fe,Object.assign({},G,{placement:te,onFirstUpdate:je,modifiers:Tt}))}function Ne(){x.popperInstance&&(x.popperInstance.destroy(),x.popperInstance=null)}function Fe(){var C=x.props.appendTo,G,te=st();x.props.interactive&&C===Qe.appendTo||C==="parent"?G=te.parentNode:G=A(C,[te]),G.contains(fe)||G.appendChild(fe),Te(),mt(x.props.interactive&&C===Qe.appendTo&&te.nextElementSibling!==fe,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",` +`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var ln=function(){return"innerHTML"};function Yt(g,w){g[ln()]=w}function or(g){var w=J();return g===!0?w.className=a:(w.className=c,V(g)?w.appendChild(g):Yt(w,g)),w}function Nn(g,w){V(w.content)?(Yt(g,""),g.appendChild(w.content)):typeof w.content!="function"&&(w.allowHTML?Yt(g,w.content):g.textContent=w.content)}function Xt(g){var w=g.firstElementChild,C=Y(w.children);return{box:w,content:C.find(function(L){return L.classList.contains(i)}),arrow:C.find(function(L){return L.classList.contains(a)||L.classList.contains(c)}),backdrop:C.find(function(L){return L.classList.contains(o)})}}function ar(g){var w=J(),C=J();C.className=n,C.setAttribute("data-state","hidden"),C.setAttribute("tabindex","-1");var L=J();L.className=i,L.setAttribute("data-state","hidden"),Nn(L,g.props),w.appendChild(C),C.appendChild(L),q(g.props,g.props);function q(W,B){var be=Xt(w),le=be.box,pe=be.content,ye=be.arrow;B.theme?le.setAttribute("data-theme",B.theme):le.removeAttribute("data-theme"),typeof B.animation=="string"?le.setAttribute("data-animation",B.animation):le.removeAttribute("data-animation"),B.inertia?le.setAttribute("data-inertia",""):le.removeAttribute("data-inertia"),le.style.maxWidth=typeof B.maxWidth=="number"?B.maxWidth+"px":B.maxWidth,B.role?le.setAttribute("role",B.role):le.removeAttribute("role"),(W.content!==B.content||W.allowHTML!==B.allowHTML)&&Nn(pe,g.props),B.arrow?ye?W.arrow!==B.arrow&&(le.removeChild(ye),le.appendChild(or(B.arrow))):le.appendChild(or(B.arrow)):ye&&le.removeChild(ye)}return{popper:w,onUpdate:q}}ar.$$tippy=!0;var sr=1,yn=[],wn=[];function cn(g,w){var C=ir(g,Object.assign({},Ze,{},ot(ne(w)))),L,q,W,B=!1,be=!1,le=!1,pe=!1,ye,Te,je,Ae=[],Ie=E(Re,C.interactiveDebounce),re,he=sr++,ve=null,ee=A(C.plugins),ie={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},x={id:he,reference:g,popper:J(),popperInstance:ve,props:C,state:ie,plugins:ee,clearDelayTimeouts:Ft,setProps:dn,setContent:Qt,show:kt,hide:$n,hideWithInteractivity:Zt,enable:wt,disable:et,unmount:Sn,destroy:Wn};if(!C.render)return zt(!0,"render() function has not been supplied."),x;var Ge=C.render(x),fe=Ge.popper,Lt=Ge.onUpdate;fe.setAttribute("data-tippy-root",""),fe.id="tippy-"+x.id,x.popper=fe,g._tippy=x,fe._tippy=x;var bt=ee.map(function(D){return D.fn(x)}),Gt=g.hasAttribute("aria-expanded");return Me(),P(),s(),b("onCreate",[x]),C.showOnCreate&&$e(),fe.addEventListener("mouseenter",function(){x.props.interactive&&x.state.isVisible&&x.clearDelayTimeouts()}),fe.addEventListener("mouseleave",function(D){x.props.interactive&&x.props.trigger.indexOf("mouseenter")>=0&&(yt().addEventListener("mousemove",Ie),Ie(D))}),x;function Kt(){var D=x.props.touch;return Array.isArray(D)?D:[D,0]}function Jt(){return Kt()[0]==="hold"}function rt(){var D;return!!((D=x.props.render)!=null&&D.$$tippy)}function lt(){return re||g}function yt(){var D=lt().parentNode;return D?v(D):document}function un(){return Xt(fe)}function u(D){return x.state.isMounted&&!x.state.isVisible||M.isTouch||ye&&ye.type==="focus"?0:y(x.props.delay,D?0:1,Ze.delay)}function s(){fe.style.pointerEvents=x.props.interactive&&x.state.isVisible?"":"none",fe.style.zIndex=""+x.props.zIndex}function b(D,K,te){if(te===void 0&&(te=!0),bt.forEach(function(we){we[D]&&we[D].apply(void 0,K)}),te){var ge;(ge=x.props)[D].apply(ge,K)}}function T(){var D=x.props.aria;if(D.content){var K="aria-"+D.content,te=fe.id,ge=I(x.props.triggerTarget||g);ge.forEach(function(we){var Ke=we.getAttribute(K);if(x.state.isVisible)we.setAttribute(K,Ke?Ke+" "+te:te);else{var Je=Ke&&Ke.replace(te,"").trim();Je?we.setAttribute(K,Je):we.removeAttribute(K)}})}}function P(){if(!(Gt||!x.props.aria.expanded)){var D=I(x.props.triggerTarget||g);D.forEach(function(K){x.props.interactive?K.setAttribute("aria-expanded",x.state.isVisible&&K===lt()?"true":"false"):K.removeAttribute("aria-expanded")})}}function F(){yt().removeEventListener("mousemove",Ie),yn=yn.filter(function(D){return D!==Ie})}function U(D){if(!(M.isTouch&&(le||D.type==="mousedown"))&&!(x.props.interactive&&fe.contains(D.target))){if(lt().contains(D.target)){if(M.isTouch||x.state.isVisible&&x.props.trigger.indexOf("click")>=0)return}else b("onClickOutside",[x,D]);x.props.hideOnClick===!0&&(x.clearDelayTimeouts(),x.hide(),be=!0,setTimeout(function(){be=!1}),x.state.isMounted||z())}}function H(){le=!0}function G(){le=!1}function oe(){var D=yt();D.addEventListener("mousedown",U,!0),D.addEventListener("touchend",U,f),D.addEventListener("touchstart",G,f),D.addEventListener("touchmove",H,f)}function z(){var D=yt();D.removeEventListener("mousedown",U,!0),D.removeEventListener("touchend",U,f),D.removeEventListener("touchstart",G,f),D.removeEventListener("touchmove",H,f)}function De(D,K){Ce(D,function(){!x.state.isVisible&&fe.parentNode&&fe.parentNode.contains(fe)&&K()})}function Fe(D,K){Ce(D,K)}function Ce(D,K){var te=un().box;function ge(we){we.target===te&&(j(te,"remove",ge),K())}if(D===0)return K();j(te,"remove",Te),j(te,"add",ge),Te=ge}function xe(D,K,te){te===void 0&&(te=!1);var ge=I(x.props.triggerTarget||g);ge.forEach(function(we){we.addEventListener(D,K,te),Ae.push({node:we,eventType:D,handler:K,options:te})})}function Me(){Jt()&&(xe("touchstart",Be,{passive:!0}),xe("touchend",He,{passive:!0})),_(x.props.trigger).forEach(function(D){if(D!=="manual")switch(xe(D,Be),D){case"mouseenter":xe("mouseleave",He);break;case"focus":xe(Nr?"focusout":"blur",ce);break;case"focusin":xe("focusout",ce);break}})}function Se(){Ae.forEach(function(D){var K=D.node,te=D.eventType,ge=D.handler,we=D.options;K.removeEventListener(te,ge,we)}),Ae=[]}function Be(D){var K,te=!1;if(!(!x.state.isEnabled||Pe(D)||be)){var ge=((K=ye)==null?void 0:K.type)==="focus";ye=D,re=D.currentTarget,P(),!x.state.isVisible&&X(D)&&yn.forEach(function(we){return we(D)}),D.type==="click"&&(x.props.trigger.indexOf("mouseenter")<0||B)&&x.props.hideOnClick!==!1&&x.state.isVisible?te=!0:$e(D),D.type==="click"&&(B=!te),te&&!ge&&Ue(D)}}function Re(D){var K=D.target,te=lt().contains(K)||fe.contains(K);if(!(D.type==="mousemove"&&te)){var ge=Ye().concat(fe).map(function(we){var Ke,Je=we._tippy,Dt=(Ke=Je.popperInstance)==null?void 0:Ke.state;return Dt?{popperRect:we.getBoundingClientRect(),popperState:Dt,props:C}:null}).filter(Boolean);p(ge,D)&&(F(),Ue(D))}}function He(D){var K=Pe(D)||x.props.trigger.indexOf("click")>=0&&B;if(!K){if(x.props.interactive){x.hideWithInteractivity(D);return}Ue(D)}}function ce(D){x.props.trigger.indexOf("focusin")<0&&D.target!==lt()||x.props.interactive&&D.relatedTarget&&fe.contains(D.relatedTarget)||Ue(D)}function Pe(D){return M.isTouch?Jt()!==D.type.indexOf("touch")>=0:!1}function _e(){ke();var D=x.props,K=D.popperOptions,te=D.placement,ge=D.offset,we=D.getReferenceClientRect,Ke=D.moveTransition,Je=rt()?Xt(fe).arrow:null,Dt=we?{getBoundingClientRect:we,contextElement:we.contextElement||lt()}:g,Un={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(pn){var en=pn.state;if(rt()){var Gr=un(),tn=Gr.box;["placement","reference-hidden","escaped"].forEach(function(hn){hn==="placement"?tn.setAttribute("data-placement",en.placement):en.attributes.popper["data-popper-"+hn]?tn.setAttribute("data-"+hn,""):tn.removeAttribute("data-"+hn)}),en.attributes.popper={}}}},_t=[{name:"offset",options:{offset:ge}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!Ke}},Un];rt()&&Je&&_t.push({name:"arrow",options:{element:Je,padding:3}}),_t.push.apply(_t,K?.modifiers||[]),x.popperInstance=t.createPopper(Dt,fe,Object.assign({},K,{placement:te,onFirstUpdate:je,modifiers:_t}))}function ke(){x.popperInstance&&(x.popperInstance.destroy(),x.popperInstance=null)}function Le(){var D=x.props.appendTo,K,te=lt();x.props.interactive&&D===Ze.appendTo||D==="parent"?K=te.parentNode:K=O(D,[te]),K.contains(fe)||K.appendChild(fe),_e(),mt(x.props.interactive&&D===Ze.appendTo&&te.nextElementSibling!==fe,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",` `,"Using a wrapper
or tag around the reference element","solves this by creating a new parentNode context.",` `,"Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.",` -`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function Ye(){return X(fe.querySelectorAll("[data-tippy-root]"))}function $e(C){x.clearDelayTimeouts(),C&&g("onTrigger",[x,C]),oe();var G=c(!0),te=Kt(),ge=te[0],we=te[1];_.isTouch&&ge==="hold"&&we&&(G=we),G?I=setTimeout(function(){x.show()},G):x.show()}function Ve(C){if(x.clearDelayTimeouts(),g("onUntrigger",[x,C]),!x.state.isVisible){z();return}if(!(x.props.trigger.indexOf("mouseenter")>=0&&x.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(C.type)>=0&&k)){var G=c(!1);G?Y=setTimeout(function(){x.state.isVisible&&x.hide()},G):H=requestAnimationFrame(function(){x.hide()})}}function wt(){x.state.isEnabled=!0}function et(){x.hide(),x.state.isEnabled=!1}function Lt(){clearTimeout(I),clearTimeout(Y),cancelAnimationFrame(H)}function dn(C){if(mt(x.state.isDestroyed,zt("setProps")),!x.state.isDestroyed){g("onBeforeUpdate",[x,C]),Ee();var G=x.props,te=ir(m,Object.assign({},x.props,{},C,{ignoreAttributes:!0}));x.props=te,Me(),G.interactiveDebounce!==te.interactiveDebounce&&(F(),Ie=E(Re,te.interactiveDebounce)),G.triggerTarget&&!te.triggerTarget?R(G.triggerTarget).forEach(function(ge){ge.removeAttribute("aria-expanded")}):te.triggerTarget&&m.removeAttribute("aria-expanded"),T(),a(),Ft&&Ft(G,te),x.popperInstance&&(Te(),Ye().forEach(function(ge){requestAnimationFrame(ge._tippy.popperInstance.forceUpdate)})),g("onAfterUpdate",[x,C])}}function Zt(C){x.setProps({content:C})}function Nt(){mt(x.state.isDestroyed,zt("show"));var C=x.state.isVisible,G=x.state.isDestroyed,te=!x.state.isEnabled,ge=_.isTouch&&!x.props.touch,we=y(x.props.duration,0,Qe.duration);if(!(C||G||te||ge)&&!st().hasAttribute("disabled")&&(g("onShow",[x],!1),x.props.onShow(x)!==!1)){if(x.state.isVisible=!0,rt()&&(fe.style.visibility="visible"),a(),oe(),x.state.isMounted||(fe.style.transition="none"),rt()){var Ke=un(),Je=Ke.box,Dt=Ke.content;s([Je,Dt],0)}je=function(){var Tt;if(!(!x.state.isVisible||pe)){if(pe=!0,fe.offsetHeight,fe.style.transition=x.props.moveTransition,rt()&&x.props.animation){var An=un(),pn=An.box,en=An.content;s([pn,en],we),p([pn,en],"visible")}D(),T(),$(wn,x),(Tt=x.popperInstance)==null||Tt.forceUpdate(),x.state.isMounted=!0,g("onMount",[x]),x.props.animation&&rt()&&Le(we,function(){x.state.isShown=!0,g("onShown",[x])})}},Fe()}}function $n(){mt(x.state.isDestroyed,zt("hide"));var C=!x.state.isVisible,G=x.state.isDestroyed,te=!x.state.isEnabled,ge=y(x.props.duration,1,Qe.duration);if(!(C||G||te)&&(g("onHide",[x],!1),x.props.onHide(x)!==!1)){if(x.state.isVisible=!1,x.state.isShown=!1,pe=!1,k=!1,rt()&&(fe.style.visibility="hidden"),F(),z(),a(),rt()){var we=un(),Ke=we.box,Je=we.content;x.props.animation&&(s([Ke,Je],ge),p([Ke,Je],"hidden"))}D(),T(),x.props.animation?rt()&&De(ge,x.unmount):x.unmount()}}function Qt(C){mt(x.state.isDestroyed,zt("hideWithInteractivity")),yt().addEventListener("mousemove",Ie),$(yn,Ie),Ie(C)}function Sn(){mt(x.state.isDestroyed,zt("unmount")),x.state.isVisible&&x.hide(),x.state.isMounted&&(Ne(),Ye().forEach(function(C){C._tippy.unmount()}),fe.parentNode&&fe.parentNode.removeChild(fe),wn=wn.filter(function(C){return C!==x}),x.state.isMounted=!1,g("onHidden",[x]))}function Wn(){mt(x.state.isDestroyed,zt("destroy")),!x.state.isDestroyed&&(x.clearDelayTimeouts(),x.unmount(),Ee(),delete m._tippy,x.state.isDestroyed=!0,g("onDestroy",[x]))}}function dt(m,w){w===void 0&&(w={});var S=Qe.plugins.concat(w.plugins||[]);At(m),gt(w,S),Vt();var I=Object.assign({},w,{plugins:S}),Y=me(m),H=V(I.content),k=Y.length>1;mt(H&&k,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",` +`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function Ye(){return Y(fe.querySelectorAll("[data-tippy-root]"))}function $e(D){x.clearDelayTimeouts(),D&&b("onTrigger",[x,D]),oe();var K=u(!0),te=Kt(),ge=te[0],we=te[1];M.isTouch&&ge==="hold"&&we&&(K=we),K?L=setTimeout(function(){x.show()},K):x.show()}function Ue(D){if(x.clearDelayTimeouts(),b("onUntrigger",[x,D]),!x.state.isVisible){z();return}if(!(x.props.trigger.indexOf("mouseenter")>=0&&x.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(D.type)>=0&&B)){var K=u(!1);K?q=setTimeout(function(){x.state.isVisible&&x.hide()},K):W=requestAnimationFrame(function(){x.hide()})}}function wt(){x.state.isEnabled=!0}function et(){x.hide(),x.state.isEnabled=!1}function Ft(){clearTimeout(L),clearTimeout(q),cancelAnimationFrame(W)}function dn(D){if(mt(x.state.isDestroyed,Vt("setProps")),!x.state.isDestroyed){b("onBeforeUpdate",[x,D]),Se();var K=x.props,te=ir(g,Object.assign({},x.props,{},D,{ignoreAttributes:!0}));x.props=te,Me(),K.interactiveDebounce!==te.interactiveDebounce&&(F(),Ie=E(Re,te.interactiveDebounce)),K.triggerTarget&&!te.triggerTarget?I(K.triggerTarget).forEach(function(ge){ge.removeAttribute("aria-expanded")}):te.triggerTarget&&g.removeAttribute("aria-expanded"),P(),s(),Lt&&Lt(K,te),x.popperInstance&&(_e(),Ye().forEach(function(ge){requestAnimationFrame(ge._tippy.popperInstance.forceUpdate)})),b("onAfterUpdate",[x,D])}}function Qt(D){x.setProps({content:D})}function kt(){mt(x.state.isDestroyed,Vt("show"));var D=x.state.isVisible,K=x.state.isDestroyed,te=!x.state.isEnabled,ge=M.isTouch&&!x.props.touch,we=y(x.props.duration,0,Ze.duration);if(!(D||K||te||ge)&&!lt().hasAttribute("disabled")&&(b("onShow",[x],!1),x.props.onShow(x)!==!1)){if(x.state.isVisible=!0,rt()&&(fe.style.visibility="visible"),s(),oe(),x.state.isMounted||(fe.style.transition="none"),rt()){var Ke=un(),Je=Ke.box,Dt=Ke.content;l([Je,Dt],0)}je=function(){var _t;if(!(!x.state.isVisible||pe)){if(pe=!0,fe.offsetHeight,fe.style.transition=x.props.moveTransition,rt()&&x.props.animation){var An=un(),pn=An.box,en=An.content;l([pn,en],we),h([pn,en],"visible")}T(),P(),$(wn,x),(_t=x.popperInstance)==null||_t.forceUpdate(),x.state.isMounted=!0,b("onMount",[x]),x.props.animation&&rt()&&Fe(we,function(){x.state.isShown=!0,b("onShown",[x])})}},Le()}}function $n(){mt(x.state.isDestroyed,Vt("hide"));var D=!x.state.isVisible,K=x.state.isDestroyed,te=!x.state.isEnabled,ge=y(x.props.duration,1,Ze.duration);if(!(D||K||te)&&(b("onHide",[x],!1),x.props.onHide(x)!==!1)){if(x.state.isVisible=!1,x.state.isShown=!1,pe=!1,B=!1,rt()&&(fe.style.visibility="hidden"),F(),z(),s(),rt()){var we=un(),Ke=we.box,Je=we.content;x.props.animation&&(l([Ke,Je],ge),h([Ke,Je],"hidden"))}T(),P(),x.props.animation?rt()&&De(ge,x.unmount):x.unmount()}}function Zt(D){mt(x.state.isDestroyed,Vt("hideWithInteractivity")),yt().addEventListener("mousemove",Ie),$(yn,Ie),Ie(D)}function Sn(){mt(x.state.isDestroyed,Vt("unmount")),x.state.isVisible&&x.hide(),x.state.isMounted&&(ke(),Ye().forEach(function(D){D._tippy.unmount()}),fe.parentNode&&fe.parentNode.removeChild(fe),wn=wn.filter(function(D){return D!==x}),x.state.isMounted=!1,b("onHidden",[x]))}function Wn(){mt(x.state.isDestroyed,Vt("destroy")),!x.state.isDestroyed&&(x.clearDelayTimeouts(),x.unmount(),Se(),delete g._tippy,x.state.isDestroyed=!0,b("onDestroy",[x]))}}function dt(g,w){w===void 0&&(w={});var C=Ze.plugins.concat(w.plugins||[]);At(g),gt(w,C),Ut();var L=Object.assign({},w,{plugins:C}),q=me(g),W=V(L.content),B=q.length>1;mt(W&&B,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",` `,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",` `,`1) content: element.innerHTML -`,"2) content: () => element.cloneNode(true)"].join(" "));var be=Y.reduce(function(le,pe){var ye=pe&&cn(pe,I);return ye&&le.push(ye),le},[]);return V(m)?be[0]:be}dt.defaultProps=Qe,dt.setDefaultProps=Wr,dt.currentInput=_;var lr=function(w){var S=w===void 0?{}:w,I=S.exclude,Y=S.duration;wn.forEach(function(H){var k=!1;if(I&&(k=Z(I)?H.reference===I:H.popper===I.popper),!k){var be=H.props.duration;H.setProps({duration:Y}),H.hide(),H.state.isDestroyed||H.setProps({duration:be})}})},cr=Object.assign({},e.applyStyles,{effect:function(w){var S=w.state,I={popper:{position:S.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(S.elements.popper.style,I.popper),S.styles=I,S.elements.arrow&&Object.assign(S.elements.arrow.style,I.arrow)}}),fr=function(w,S){var I;S===void 0&&(S={}),Ut(!Array.isArray(w),["The first argument passed to createSingleton() must be an array of","tippy instances. The passed value was",String(w)].join(" "));var Y=w,H=[],k,be=S.overrides,le=[],pe=!1;function ye(){H=Y.map(function(ee){return ee.reference})}function _e(ee){Y.forEach(function(ie){ee?ie.enable():ie.disable()})}function je(ee){return Y.map(function(ie){var x=ie.setProps;return ie.setProps=function(Ge){x(Ge),ie.reference===k&&ee.setProps(Ge)},function(){ie.setProps=x}})}function Se(ee,ie){var x=H.indexOf(ie);if(ie!==k){k=ie;var Ge=(be||[]).concat("content").reduce(function(fe,Ft){return fe[Ft]=Y[x].props[Ft],fe},{});ee.setProps(Object.assign({},Ge,{getReferenceClientRect:typeof Ge.getReferenceClientRect=="function"?Ge.getReferenceClientRect:function(){return ie.getBoundingClientRect()}}))}}_e(!1),ye();var Ie={fn:function(){return{onDestroy:function(){_e(!0)},onHidden:function(){k=null},onClickOutside:function(x){x.props.showOnCreate&&!pe&&(pe=!0,k=null)},onShow:function(x){x.props.showOnCreate&&!pe&&(pe=!0,Se(x,H[0]))},onTrigger:function(x,Ge){Se(x,Ge.currentTarget)}}}},re=dt(J(),Object.assign({},O(S,["overrides"]),{plugins:[Ie].concat(S.plugins||[]),triggerTarget:H,popperOptions:Object.assign({},S.popperOptions,{modifiers:[].concat(((I=S.popperOptions)==null?void 0:I.modifiers)||[],[cr])})})),he=re.show;re.show=function(ee){if(he(),!k&&ee==null)return Se(re,H[0]);if(!(k&&ee==null)){if(typeof ee=="number")return H[ee]&&Se(re,H[ee]);if(Y.includes(ee)){var ie=ee.reference;return Se(re,ie)}if(H.includes(ee))return Se(re,ee)}},re.showNext=function(){var ee=H[0];if(!k)return re.show(0);var ie=H.indexOf(k);re.show(H[ie+1]||ee)},re.showPrevious=function(){var ee=H[H.length-1];if(!k)return re.show(ee);var ie=H.indexOf(k),x=H[ie-1]||ee;re.show(x)};var ve=re.setProps;return re.setProps=function(ee){be=ee.overrides||be,ve(ee)},re.setInstances=function(ee){_e(!0),le.forEach(function(ie){return ie()}),Y=ee,_e(!1),ye(),je(re),re.setProps({triggerTarget:H})},le=je(re),re},ur={mouseover:"mouseenter",focusin:"focus",click:"click"};function qt(m,w){Ut(!(w&&w.target),["You must specity a `target` prop indicating a CSS selector string matching","the target elements that should receive a tippy."].join(" "));var S=[],I=[],Y=!1,H=w.target,k=O(w,["target"]),be=Object.assign({},k,{trigger:"manual",touch:!1}),le=Object.assign({},k,{showOnCreate:!0}),pe=dt(m,be),ye=R(pe);function _e(he){if(!(!he.target||Y)){var ve=he.target.closest(H);if(ve){var ee=ve.getAttribute("data-tippy-trigger")||w.trigger||Qe.trigger;if(!ve._tippy&&!(he.type==="touchstart"&&typeof le.touch=="boolean")&&!(he.type!=="touchstart"&&ee.indexOf(ur[he.type])<0)){var ie=dt(ve,le);ie&&(I=I.concat(ie))}}}}function je(he,ve,ee,ie){ie===void 0&&(ie=!1),he.addEventListener(ve,ee,ie),S.push({node:he,eventType:ve,handler:ee,options:ie})}function Se(he){var ve=he.reference;je(ve,"touchstart",_e,u),je(ve,"mouseover",_e),je(ve,"focusin",_e),je(ve,"click",_e)}function Ie(){S.forEach(function(he){var ve=he.node,ee=he.eventType,ie=he.handler,x=he.options;ve.removeEventListener(ee,ie,x)}),S=[]}function re(he){var ve=he.destroy,ee=he.enable,ie=he.disable;he.destroy=function(x){x===void 0&&(x=!0),x&&I.forEach(function(Ge){Ge.destroy()}),I=[],Ie(),ve()},he.enable=function(){ee(),I.forEach(function(x){return x.enable()}),Y=!1},he.disable=function(){ie(),I.forEach(function(x){return x.disable()}),Y=!0},Se(he)}return ye.forEach(re),pe}var dr={name:"animateFill",defaultValue:!1,fn:function(w){var S;if(!((S=w.props.render)!=null&&S.$$tippy))return Ut(w.props.animateFill,"The `animateFill` plugin requires the default render function."),{};var I=Xt(w.popper),Y=I.box,H=I.content,k=w.props.animateFill?zr():null;return{onCreate:function(){k&&(Y.insertBefore(k,Y.firstElementChild),Y.setAttribute("data-animatefill",""),Y.style.overflow="hidden",w.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(k){var le=Y.style.transitionDuration,pe=Number(le.replace("ms",""));H.style.transitionDelay=Math.round(pe/10)+"ms",k.style.transitionDuration=le,p([k],"visible")}},onShow:function(){k&&(k.style.transitionDuration="0ms")},onHide:function(){k&&p([k],"hidden")}}}};function zr(){var m=J();return m.className=o,p([m],"hidden"),m}var xn={clientX:0,clientY:0},fn=[];function En(m){var w=m.clientX,S=m.clientY;xn={clientX:w,clientY:S}}function On(m){m.addEventListener("mousemove",En)}function Ur(m){m.removeEventListener("mousemove",En)}var jn={name:"followCursor",defaultValue:!1,fn:function(w){var S=w.reference,I=v(w.props.triggerTarget||S),Y=!1,H=!1,k=!0,be=w.props;function le(){return w.props.followCursor==="initial"&&w.state.isVisible}function pe(){I.addEventListener("mousemove",je)}function ye(){I.removeEventListener("mousemove",je)}function _e(){Y=!0,w.setProps({getReferenceClientRect:null}),Y=!1}function je(re){var he=re.target?S.contains(re.target):!0,ve=w.props.followCursor,ee=re.clientX,ie=re.clientY,x=S.getBoundingClientRect(),Ge=ee-x.left,fe=ie-x.top;(he||!w.props.interactive)&&w.setProps({getReferenceClientRect:function(){var bt=S.getBoundingClientRect(),Gt=ee,Kt=ie;ve==="initial"&&(Gt=bt.left+Ge,Kt=bt.top+fe);var Jt=ve==="horizontal"?bt.top:Kt,rt=ve==="vertical"?bt.right:Gt,st=ve==="horizontal"?bt.bottom:Kt,yt=ve==="vertical"?bt.left:Gt;return{width:rt-yt,height:st-Jt,top:Jt,right:rt,bottom:st,left:yt}}})}function Se(){w.props.followCursor&&(fn.push({instance:w,doc:I}),On(I))}function Ie(){fn=fn.filter(function(re){return re.instance!==w}),fn.filter(function(re){return re.doc===I}).length===0&&Ur(I)}return{onCreate:Se,onDestroy:Ie,onBeforeUpdate:function(){be=w.props},onAfterUpdate:function(he,ve){var ee=ve.followCursor;Y||ee!==void 0&&be.followCursor!==ee&&(Ie(),ee?(Se(),w.state.isMounted&&!H&&!le()&&pe()):(ye(),_e()))},onMount:function(){w.props.followCursor&&!H&&(k&&(je(xn),k=!1),le()||pe())},onTrigger:function(he,ve){U(ve)&&(xn={clientX:ve.clientX,clientY:ve.clientY}),H=ve.type==="focus"},onHidden:function(){w.props.followCursor&&(_e(),ye(),k=!0)}}}};function Yr(m,w){var S;return{popperOptions:Object.assign({},m.popperOptions,{modifiers:[].concat((((S=m.popperOptions)==null?void 0:S.modifiers)||[]).filter(function(I){var Y=I.name;return Y!==w.name}),[w])})}}var Bn={name:"inlinePositioning",defaultValue:!1,fn:function(w){var S=w.reference;function I(){return!!w.props.inlinePositioning}var Y,H=-1,k=!1,be={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(je){var Se=je.state;I()&&(Y!==Se.placement&&w.setProps({getReferenceClientRect:function(){return le(Se.placement)}}),Y=Se.placement)}};function le(_e){return Xr(K(_e),S.getBoundingClientRect(),X(S.getClientRects()),H)}function pe(_e){k=!0,w.setProps(_e),k=!1}function ye(){k||pe(Yr(w.props,be))}return{onCreate:ye,onAfterUpdate:ye,onTrigger:function(je,Se){if(U(Se)){var Ie=X(w.reference.getClientRects()),re=Ie.find(function(he){return he.left-2<=Se.clientX&&he.right+2>=Se.clientX&&he.top-2<=Se.clientY&&he.bottom+2>=Se.clientY});H=Ie.indexOf(re)}},onUntrigger:function(){H=-1}}}};function Xr(m,w,S,I){if(S.length<2||m===null)return w;if(S.length===2&&I>=0&&S[0].left>S[1].right)return S[I]||w;switch(m){case"top":case"bottom":{var Y=S[0],H=S[S.length-1],k=m==="top",be=Y.top,le=H.bottom,pe=k?Y.left:H.left,ye=k?Y.right:H.right,_e=ye-pe,je=le-be;return{top:be,bottom:le,left:pe,right:ye,width:_e,height:je}}case"left":case"right":{var Se=Math.min.apply(Math,S.map(function(fe){return fe.left})),Ie=Math.max.apply(Math,S.map(function(fe){return fe.right})),re=S.filter(function(fe){return m==="left"?fe.left===Se:fe.right===Ie}),he=re[0].top,ve=re[re.length-1].bottom,ee=Se,ie=Ie,x=ie-ee,Ge=ve-he;return{top:he,bottom:ve,left:ee,right:ie,width:x,height:Ge}}default:return w}}var qr={name:"sticky",defaultValue:!1,fn:function(w){var S=w.reference,I=w.popper;function Y(){return w.popperInstance?w.popperInstance.state.elements.reference:S}function H(pe){return w.props.sticky===!0||w.props.sticky===pe}var k=null,be=null;function le(){var pe=H("reference")?Y().getBoundingClientRect():null,ye=H("popper")?I.getBoundingClientRect():null;(pe&&Hn(k,pe)||ye&&Hn(be,ye))&&w.popperInstance&&w.popperInstance.update(),k=pe,be=ye,w.state.isMounted&&requestAnimationFrame(le)}return{onMount:function(){w.props.sticky&&le()}}}};function Hn(m,w){return m&&w?m.top!==w.top||m.right!==w.right||m.bottom!==w.bottom||m.left!==w.left:!0}dt.setDefaultProps({render:ar}),t.animateFill=dr,t.createSingleton=fr,t.default=dt,t.delegate=qt,t.followCursor=jn,t.hideAll=lr,t.inlinePositioning=Bn,t.roundArrow=r,t.sticky=qr}),Ei=Fo(Lo()),ds=Fo(Lo()),ps=t=>{let e={plugins:[]},r=i=>t[t.indexOf(i)+1];if(t.includes("animation")&&(e.animation=r("animation")),t.includes("duration")&&(e.duration=parseInt(r("duration"))),t.includes("delay")){let i=r("delay");e.delay=i.includes("-")?i.split("-").map(o=>parseInt(o)):parseInt(i)}if(t.includes("cursor")){e.plugins.push(ds.followCursor);let i=r("cursor");["x","initial"].includes(i)?e.followCursor=i==="x"?"horizontal":"initial":e.followCursor=!0}t.includes("on")&&(e.trigger=r("on")),t.includes("arrowless")&&(e.arrow=!1),t.includes("html")&&(e.allowHTML=!0),t.includes("interactive")&&(e.interactive=!0),t.includes("border")&&e.interactive&&(e.interactiveBorder=parseInt(r("border"))),t.includes("debounce")&&e.interactive&&(e.interactiveDebounce=parseInt(r("debounce"))),t.includes("max-width")&&(e.maxWidth=parseInt(r("max-width"))),t.includes("theme")&&(e.theme=r("theme")),t.includes("placement")&&(e.placement=r("placement"));let n={};return t.includes("no-flip")&&(n.modifiers||(n.modifiers=[]),n.modifiers.push({name:"flip",enabled:!1})),e.popperOptions=n,e};function Oi(t){t.magic("tooltip",e=>(r,n={})=>{let i=n.timeout;delete n.timeout;let o=(0,Ei.default)(e,{content:r,trigger:"manual",...n});o.show(),setTimeout(()=>{o.hide(),setTimeout(()=>o.destroy(),n.duration||300)},i||2e3)}),t.directive("tooltip",(e,{modifiers:r,expression:n},{evaluateLater:i,effect:o})=>{let l=r.length>0?ps(r):{};e.__x_tippy||(e.__x_tippy=(0,Ei.default)(e,l));let h=()=>e.__x_tippy.enable(),u=()=>e.__x_tippy.disable(),f=y=>{y?(h(),e.__x_tippy.setContent(y)):u()};if(r.includes("raw"))f(n);else{let y=i(n);o(()=>{y(b=>{typeof b=="object"?(e.__x_tippy.setProps(b),h()):f(b)})})}})}Oi.defaultProps=t=>(Ei.default.setDefaultProps(t),Oi);var hs=Oi,No=hs;document.addEventListener("alpine:init",()=>{window.Alpine.plugin(ro),window.Alpine.plugin(io),window.Alpine.plugin(Ro),window.Alpine.plugin(No)});var vs=function(t,e,r){function n(y,b){for(let A of y){let E=i(A,b);if(E!==null)return E}}function i(y,b){let A=y.match(/^[\{\[]([^\[\]\{\}]*)[\}\]](.*)/s);if(A===null||A.length!==3)return null;let E=A[1],O=A[2];if(E.includes(",")){let[P,R]=E.split(",",2);if(R==="*"&&b>=P)return O;if(P==="*"&&b<=R)return O;if(b>=P&&b<=R)return O}return E==b?O:null}function o(y){return y.toString().charAt(0).toUpperCase()+y.toString().slice(1)}function l(y,b){if(b.length===0)return y;let A={};for(let[E,O]of Object.entries(b))A[":"+o(E??"")]=o(O??""),A[":"+E.toUpperCase()]=O.toString().toUpperCase(),A[":"+E]=O;return Object.entries(A).forEach(([E,O])=>{y=y.replaceAll(E,O)}),y}function h(y){return y.map(b=>b.replace(/^[\{\[]([^\[\]\{\}]*)[\}\]]/,""))}let u=t.split("|"),f=n(u,e);return f!=null?l(f.trim(),r):(u=h(u),l(u.length>1&&e>1?u[1]:u[0],r))};window.jsMd5=ko.md5;window.pluralize=vs;})(); +`,"2) content: () => element.cloneNode(true)"].join(" "));var be=q.reduce(function(le,pe){var ye=pe&&cn(pe,L);return ye&&le.push(ye),le},[]);return V(g)?be[0]:be}dt.defaultProps=Ze,dt.setDefaultProps=Wr,dt.currentInput=M;var lr=function(w){var C=w===void 0?{}:w,L=C.exclude,q=C.duration;wn.forEach(function(W){var B=!1;if(L&&(B=Q(L)?W.reference===L:W.popper===L.popper),!B){var be=W.props.duration;W.setProps({duration:q}),W.hide(),W.state.isDestroyed||W.setProps({duration:be})}})},cr=Object.assign({},t.applyStyles,{effect:function(w){var C=w.state,L={popper:{position:C.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(C.elements.popper.style,L.popper),C.styles=L,C.elements.arrow&&Object.assign(C.elements.arrow.style,L.arrow)}}),fr=function(w,C){var L;C===void 0&&(C={}),zt(!Array.isArray(w),["The first argument passed to createSingleton() must be an array of","tippy instances. The passed value was",String(w)].join(" "));var q=w,W=[],B,be=C.overrides,le=[],pe=!1;function ye(){W=q.map(function(ee){return ee.reference})}function Te(ee){q.forEach(function(ie){ee?ie.enable():ie.disable()})}function je(ee){return q.map(function(ie){var x=ie.setProps;return ie.setProps=function(Ge){x(Ge),ie.reference===B&&ee.setProps(Ge)},function(){ie.setProps=x}})}function Ae(ee,ie){var x=W.indexOf(ie);if(ie!==B){B=ie;var Ge=(be||[]).concat("content").reduce(function(fe,Lt){return fe[Lt]=q[x].props[Lt],fe},{});ee.setProps(Object.assign({},Ge,{getReferenceClientRect:typeof Ge.getReferenceClientRect=="function"?Ge.getReferenceClientRect:function(){return ie.getBoundingClientRect()}}))}}Te(!1),ye();var Ie={fn:function(){return{onDestroy:function(){Te(!0)},onHidden:function(){B=null},onClickOutside:function(x){x.props.showOnCreate&&!pe&&(pe=!0,B=null)},onShow:function(x){x.props.showOnCreate&&!pe&&(pe=!0,Ae(x,W[0]))},onTrigger:function(x,Ge){Ae(x,Ge.currentTarget)}}}},re=dt(J(),Object.assign({},S(C,["overrides"]),{plugins:[Ie].concat(C.plugins||[]),triggerTarget:W,popperOptions:Object.assign({},C.popperOptions,{modifiers:[].concat(((L=C.popperOptions)==null?void 0:L.modifiers)||[],[cr])})})),he=re.show;re.show=function(ee){if(he(),!B&&ee==null)return Ae(re,W[0]);if(!(B&&ee==null)){if(typeof ee=="number")return W[ee]&&Ae(re,W[ee]);if(q.includes(ee)){var ie=ee.reference;return Ae(re,ie)}if(W.includes(ee))return Ae(re,ee)}},re.showNext=function(){var ee=W[0];if(!B)return re.show(0);var ie=W.indexOf(B);re.show(W[ie+1]||ee)},re.showPrevious=function(){var ee=W[W.length-1];if(!B)return re.show(ee);var ie=W.indexOf(B),x=W[ie-1]||ee;re.show(x)};var ve=re.setProps;return re.setProps=function(ee){be=ee.overrides||be,ve(ee)},re.setInstances=function(ee){Te(!0),le.forEach(function(ie){return ie()}),q=ee,Te(!1),ye(),je(re),re.setProps({triggerTarget:W})},le=je(re),re},ur={mouseover:"mouseenter",focusin:"focus",click:"click"};function qt(g,w){zt(!(w&&w.target),["You must specity a `target` prop indicating a CSS selector string matching","the target elements that should receive a tippy."].join(" "));var C=[],L=[],q=!1,W=w.target,B=S(w,["target"]),be=Object.assign({},B,{trigger:"manual",touch:!1}),le=Object.assign({},B,{showOnCreate:!0}),pe=dt(g,be),ye=I(pe);function Te(he){if(!(!he.target||q)){var ve=he.target.closest(W);if(ve){var ee=ve.getAttribute("data-tippy-trigger")||w.trigger||Ze.trigger;if(!ve._tippy&&!(he.type==="touchstart"&&typeof le.touch=="boolean")&&!(he.type!=="touchstart"&&ee.indexOf(ur[he.type])<0)){var ie=dt(ve,le);ie&&(L=L.concat(ie))}}}}function je(he,ve,ee,ie){ie===void 0&&(ie=!1),he.addEventListener(ve,ee,ie),C.push({node:he,eventType:ve,handler:ee,options:ie})}function Ae(he){var ve=he.reference;je(ve,"touchstart",Te,f),je(ve,"mouseover",Te),je(ve,"focusin",Te),je(ve,"click",Te)}function Ie(){C.forEach(function(he){var ve=he.node,ee=he.eventType,ie=he.handler,x=he.options;ve.removeEventListener(ee,ie,x)}),C=[]}function re(he){var ve=he.destroy,ee=he.enable,ie=he.disable;he.destroy=function(x){x===void 0&&(x=!0),x&&L.forEach(function(Ge){Ge.destroy()}),L=[],Ie(),ve()},he.enable=function(){ee(),L.forEach(function(x){return x.enable()}),q=!1},he.disable=function(){ie(),L.forEach(function(x){return x.disable()}),q=!0},Ae(he)}return ye.forEach(re),pe}var dr={name:"animateFill",defaultValue:!1,fn:function(w){var C;if(!((C=w.props.render)!=null&&C.$$tippy))return zt(w.props.animateFill,"The `animateFill` plugin requires the default render function."),{};var L=Xt(w.popper),q=L.box,W=L.content,B=w.props.animateFill?Vr():null;return{onCreate:function(){B&&(q.insertBefore(B,q.firstElementChild),q.setAttribute("data-animatefill",""),q.style.overflow="hidden",w.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(B){var le=q.style.transitionDuration,pe=Number(le.replace("ms",""));W.style.transitionDelay=Math.round(pe/10)+"ms",B.style.transitionDuration=le,h([B],"visible")}},onShow:function(){B&&(B.style.transitionDuration="0ms")},onHide:function(){B&&h([B],"hidden")}}}};function Vr(){var g=J();return g.className=o,h([g],"hidden"),g}var xn={clientX:0,clientY:0},fn=[];function En(g){var w=g.clientX,C=g.clientY;xn={clientX:w,clientY:C}}function On(g){g.addEventListener("mousemove",En)}function zr(g){g.removeEventListener("mousemove",En)}var jn={name:"followCursor",defaultValue:!1,fn:function(w){var C=w.reference,L=v(w.props.triggerTarget||C),q=!1,W=!1,B=!0,be=w.props;function le(){return w.props.followCursor==="initial"&&w.state.isVisible}function pe(){L.addEventListener("mousemove",je)}function ye(){L.removeEventListener("mousemove",je)}function Te(){q=!0,w.setProps({getReferenceClientRect:null}),q=!1}function je(re){var he=re.target?C.contains(re.target):!0,ve=w.props.followCursor,ee=re.clientX,ie=re.clientY,x=C.getBoundingClientRect(),Ge=ee-x.left,fe=ie-x.top;(he||!w.props.interactive)&&w.setProps({getReferenceClientRect:function(){var bt=C.getBoundingClientRect(),Gt=ee,Kt=ie;ve==="initial"&&(Gt=bt.left+Ge,Kt=bt.top+fe);var Jt=ve==="horizontal"?bt.top:Kt,rt=ve==="vertical"?bt.right:Gt,lt=ve==="horizontal"?bt.bottom:Kt,yt=ve==="vertical"?bt.left:Gt;return{width:rt-yt,height:lt-Jt,top:Jt,right:rt,bottom:lt,left:yt}}})}function Ae(){w.props.followCursor&&(fn.push({instance:w,doc:L}),On(L))}function Ie(){fn=fn.filter(function(re){return re.instance!==w}),fn.filter(function(re){return re.doc===L}).length===0&&zr(L)}return{onCreate:Ae,onDestroy:Ie,onBeforeUpdate:function(){be=w.props},onAfterUpdate:function(he,ve){var ee=ve.followCursor;q||ee!==void 0&&be.followCursor!==ee&&(Ie(),ee?(Ae(),w.state.isMounted&&!W&&!le()&&pe()):(ye(),Te()))},onMount:function(){w.props.followCursor&&!W&&(B&&(je(xn),B=!1),le()||pe())},onTrigger:function(he,ve){X(ve)&&(xn={clientX:ve.clientX,clientY:ve.clientY}),W=ve.type==="focus"},onHidden:function(){w.props.followCursor&&(Te(),ye(),B=!0)}}}};function Yr(g,w){var C;return{popperOptions:Object.assign({},g.popperOptions,{modifiers:[].concat((((C=g.popperOptions)==null?void 0:C.modifiers)||[]).filter(function(L){var q=L.name;return q!==w.name}),[w])})}}var Bn={name:"inlinePositioning",defaultValue:!1,fn:function(w){var C=w.reference;function L(){return!!w.props.inlinePositioning}var q,W=-1,B=!1,be={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(je){var Ae=je.state;L()&&(q!==Ae.placement&&w.setProps({getReferenceClientRect:function(){return le(Ae.placement)}}),q=Ae.placement)}};function le(Te){return Xr(N(Te),C.getBoundingClientRect(),Y(C.getClientRects()),W)}function pe(Te){B=!0,w.setProps(Te),B=!1}function ye(){B||pe(Yr(w.props,be))}return{onCreate:ye,onAfterUpdate:ye,onTrigger:function(je,Ae){if(X(Ae)){var Ie=Y(w.reference.getClientRects()),re=Ie.find(function(he){return he.left-2<=Ae.clientX&&he.right+2>=Ae.clientX&&he.top-2<=Ae.clientY&&he.bottom+2>=Ae.clientY});W=Ie.indexOf(re)}},onUntrigger:function(){W=-1}}}};function Xr(g,w,C,L){if(C.length<2||g===null)return w;if(C.length===2&&L>=0&&C[0].left>C[1].right)return C[L]||w;switch(g){case"top":case"bottom":{var q=C[0],W=C[C.length-1],B=g==="top",be=q.top,le=W.bottom,pe=B?q.left:W.left,ye=B?q.right:W.right,Te=ye-pe,je=le-be;return{top:be,bottom:le,left:pe,right:ye,width:Te,height:je}}case"left":case"right":{var Ae=Math.min.apply(Math,C.map(function(fe){return fe.left})),Ie=Math.max.apply(Math,C.map(function(fe){return fe.right})),re=C.filter(function(fe){return g==="left"?fe.left===Ae:fe.right===Ie}),he=re[0].top,ve=re[re.length-1].bottom,ee=Ae,ie=Ie,x=ie-ee,Ge=ve-he;return{top:he,bottom:ve,left:ee,right:ie,width:x,height:Ge}}default:return w}}var qr={name:"sticky",defaultValue:!1,fn:function(w){var C=w.reference,L=w.popper;function q(){return w.popperInstance?w.popperInstance.state.elements.reference:C}function W(pe){return w.props.sticky===!0||w.props.sticky===pe}var B=null,be=null;function le(){var pe=W("reference")?q().getBoundingClientRect():null,ye=W("popper")?L.getBoundingClientRect():null;(pe&&Hn(B,pe)||ye&&Hn(be,ye))&&w.popperInstance&&w.popperInstance.update(),B=pe,be=ye,w.state.isMounted&&requestAnimationFrame(le)}return{onMount:function(){w.props.sticky&&le()}}}};function Hn(g,w){return g&&w?g.top!==w.top||g.right!==w.right||g.bottom!==w.bottom||g.left!==w.left:!0}dt.setDefaultProps({render:ar}),e.animateFill=dr,e.createSingleton=fr,e.default=dt,e.delegate=qt,e.followCursor=jn,e.hideAll=lr,e.inlinePositioning=Bn,e.roundArrow=r,e.sticky=qr}),Si=Ho($o()),Ts=Ho($o()),Ps=e=>{let t={plugins:[]},r=i=>e[e.indexOf(i)+1];if(e.includes("animation")&&(t.animation=r("animation")),e.includes("duration")&&(t.duration=parseInt(r("duration"))),e.includes("delay")){let i=r("delay");t.delay=i.includes("-")?i.split("-").map(o=>parseInt(o)):parseInt(i)}if(e.includes("cursor")){t.plugins.push(Ts.followCursor);let i=r("cursor");["x","initial"].includes(i)?t.followCursor=i==="x"?"horizontal":"initial":t.followCursor=!0}e.includes("on")&&(t.trigger=r("on")),e.includes("arrowless")&&(t.arrow=!1),e.includes("html")&&(t.allowHTML=!0),e.includes("interactive")&&(t.interactive=!0),e.includes("border")&&t.interactive&&(t.interactiveBorder=parseInt(r("border"))),e.includes("debounce")&&t.interactive&&(t.interactiveDebounce=parseInt(r("debounce"))),e.includes("max-width")&&(t.maxWidth=parseInt(r("max-width"))),e.includes("theme")&&(t.theme=r("theme")),e.includes("placement")&&(t.placement=r("placement"));let n={};return e.includes("no-flip")&&(n.modifiers||(n.modifiers=[]),n.modifiers.push({name:"flip",enabled:!1})),t.popperOptions=n,t};function Ai(e){e.magic("tooltip",t=>(r,n={})=>{let i=n.timeout;delete n.timeout;let o=(0,Si.default)(t,{content:r,trigger:"manual",...n});o.show(),setTimeout(()=>{o.hide(),setTimeout(()=>o.destroy(),n.duration||300)},i||2e3)}),e.directive("tooltip",(t,{modifiers:r,expression:n},{evaluateLater:i,effect:o,cleanup:a})=>{let c=r.length>0?Ps(r):{};t.__x_tippy||(t.__x_tippy=(0,Si.default)(t,c)),a(()=>{t.__x_tippy&&(t.__x_tippy.destroy(),delete t.__x_tippy)});let f=()=>t.__x_tippy.enable(),d=()=>t.__x_tippy.disable(),y=m=>{m?(f(),t.__x_tippy.setContent(m)):d()};if(r.includes("raw"))y(n);else{let m=i(n);o(()=>{m(O=>{typeof O=="object"?(t.__x_tippy.setProps(O),f()):y(O)})})}})}Ai.defaultProps=e=>(Si.default.setDefaultProps(e),Ai);var Ms=Ai,Wo=Ms;var Uo=()=>({toggle(e){this.$refs.panel?.toggle(e)},open(e){this.$refs.panel?.open(e)},close(e){this.$refs.panel?.close(e)}});var Vo=()=>({form:null,isProcessing:!1,processingMessage:null,init(){let e=this.$el.closest("form");e?.addEventListener("form-processing-started",t=>{this.isProcessing=!0,this.processingMessage=t.detail.message}),e?.addEventListener("form-processing-finished",()=>{this.isProcessing=!1})}});var zo=({id:e})=>({isOpen:!1,isWindowVisible:!1,livewire:null,textSelectionClosePreventionMouseDownHandler:null,textSelectionClosePreventionMouseUpHandler:null,textSelectionClosePreventionClickHandler:null,init(){this.$nextTick(()=>{this.isWindowVisible=this.isOpen,this.setUpTextSelectionClosePrevention(),this.$watch("isOpen",()=>this.isWindowVisible=this.isOpen)})},setUpTextSelectionClosePrevention(){let t=".fi-modal-window",r=".fi-modal-close-overlay",i=!1,o=0;this.textSelectionClosePreventionClickHandler=c=>{c.stopPropagation(),c.preventDefault(),document.removeEventListener("click",this.textSelectionClosePreventionClickHandler,!0)};let a=c=>!c.target.closest(t)&&(c.target.closest(r)||c.target.closest("body"));this.textSelectionClosePreventionMouseDownHandler=c=>{o=Date.now(),i=!!c.target.closest(t)},this.textSelectionClosePreventionMouseUpHandler=c=>{let f=Date.now()-o<75;i&&a(c)&&!f?document.addEventListener("click",this.textSelectionClosePreventionClickHandler,!0):document.removeEventListener("click",this.textSelectionClosePreventionClickHandler,!0),i=!1},document.addEventListener("mousedown",this.textSelectionClosePreventionMouseDownHandler,!0),document.addEventListener("mouseup",this.textSelectionClosePreventionMouseUpHandler,!0)},close(){this.closeQuietly(),this.$dispatch("modal-closed",{id:e})},closeQuietly(){this.isOpen=!1},open(){this.$nextTick(()=>{this.isOpen=!0,document.dispatchEvent(new CustomEvent("x-modal-opened",{bubbles:!0,composed:!0,detail:{id:e}}))})},destroy(){this.textSelectionClosePreventionMouseDownHandler&&(document.removeEventListener("mousedown",this.textSelectionClosePreventionMouseDownHandler,!0),this.textSelectionClosePreventionMouseDownHandler=null),this.textSelectionClosePreventionMouseUpHandler&&(document.removeEventListener("mouseup",this.textSelectionClosePreventionMouseUpHandler,!0),this.textSelectionClosePreventionMouseUpHandler=null),this.textSelectionClosePreventionClickHandler&&(document.removeEventListener("click",this.textSelectionClosePreventionClickHandler,!0),this.textSelectionClosePreventionClickHandler=null)}});document.addEventListener("livewire:init",()=>{let e=t=>{let r=Alpine.findClosest(t,n=>n.__livewire);if(!r)throw"Could not find Livewire component in DOM tree.";return r.__livewire};Livewire.hook("commit",({component:t,commit:r,respond:n,succeed:i,fail:o})=>{n(()=>{queueMicrotask(()=>{if(!t.effects.html)for(let[f,d]of Object.entries(t.effects.partials??{})){let y=Array.from(t.el.querySelectorAll(`[wire\\:partial="${f}"]`)).filter(_=>e(_)===t);if(!y.length)continue;if(y.length>1)throw`Multiple elements found for partial [${f}].`;let m=y[0],O=m.parentElement?m.parentElement.tagName.toLowerCase():"div",E=document.createElement(O);E.innerHTML=d,E.__livewire=t;let S=E.firstElementChild;S.__livewire=t,window.Alpine.morph(m,S,{updating:(_,I,$,A)=>{if(!a(_)){if(_.__livewire_replace===!0&&(_.innerHTML=I.innerHTML),_.__livewire_replace_self===!0)return _.outerHTML=I.outerHTML,A();if(_.__livewire_ignore===!0||(_.__livewire_ignore_self===!0&&$(),c(_)&&_.getAttribute("wire:id")!==t.id))return A();c(_)&&(I.__livewire=t)}},key:_=>{if(!a(_))return _.hasAttribute("wire:key")?_.getAttribute("wire:key"):_.hasAttribute("wire:id")?_.getAttribute("wire:id"):_.id},lookahead:!1})}})});function a(f){return typeof f.hasAttribute!="function"}function c(f){return f.hasAttribute("wire:id")}})});var Yo=(e,t,r)=>{let n=(y,m)=>{for(let O of y){let E=i(O,m);if(E!==null)return E}},i=(y,m)=>{let O=y.match(/^[\{\[]([^\[\]\{\}]*)[\}\]](.*)/s);if(O===null||O.length!==3)return null;let E=O[1],S=O[2];if(E.includes(",")){let[_,I]=E.split(",",2);if(I==="*"&&m>=_)return S;if(_==="*"&&m<=I)return S;if(m>=_&&m<=I)return S}return E==m?S:null},o=y=>y.toString().charAt(0).toUpperCase()+y.toString().slice(1),a=(y,m)=>{if(m.length===0)return y;let O={};for(let[E,S]of Object.entries(m))O[":"+o(E??"")]=o(S??""),O[":"+E.toUpperCase()]=S.toString().toUpperCase(),O[":"+E]=S;return Object.entries(O).forEach(([E,S])=>{y=y.replaceAll(E,S)}),y},c=y=>y.map(m=>m.replace(/^[\{\[]([^\[\]\{\}]*)[\}\]]/,"")),f=e.split("|"),d=n(f,t);return d!=null?a(d.trim(),r):(f=c(f),a(f.length>1&&t>1?f[1]:f[0],r))};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(oo),window.Alpine.plugin(ao),window.Alpine.plugin(fo),window.Alpine.plugin(jo),window.Alpine.plugin(Wo),window.Alpine.data("filamentDropdown",Uo),window.Alpine.data("filamentFormButton",Vo),window.Alpine.data("filamentModal",zo)});window.jsMd5=Xo.md5;window.pluralize=Yo;})(); /*! Bundled license information: js-md5/src/md5.js: @@ -38,7 +38,7 @@ js-md5/src/md5.js: sortablejs/modular/sortable.esm.js: (**! - * Sortable 1.15.2 + * Sortable 1.15.6 * @author RubaXa * @author owenm * @license MIT diff --git a/public/js/filament/tables/components/columns/checkbox.js b/public/js/filament/tables/components/columns/checkbox.js new file mode 100644 index 000000000..f177b3ca2 --- /dev/null +++ b/public/js/filament/tables/components/columns/checkbox.js @@ -0,0 +1 @@ +function o({name:i,recordKey:s,state:a}){return{error:void 0,isLoading:!1,state:a,init(){Livewire.hook("commit",({component:e,commit:r,succeed:n,fail:h,respond:u})=>{n(({snapshot:f,effect:d})=>{this.$nextTick(()=>{if(this.isLoading||e.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let t=this.getServerState();t===void 0||Alpine.raw(this.state)===t||(this.state=t)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||Alpine.raw(this.state)===e)return;this.isLoading=!0;let r=await this.$wire.updateTableColumnState(i,s,this.state);this.error=r?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.state?"1":"0"),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[1,"1"].includes(this.$refs.serverState.value)}}}export{o as default}; diff --git a/public/js/filament/tables/components/columns/select.js b/public/js/filament/tables/components/columns/select.js new file mode 100644 index 000000000..e5e1640c8 --- /dev/null +++ b/public/js/filament/tables/components/columns/select.js @@ -0,0 +1,11 @@ +var Ft=Math.min,vt=Math.max,Ht=Math.round;var st=n=>({x:n,y:n}),ji={left:"right",right:"left",bottom:"top",top:"bottom"},qi={start:"end",end:"start"};function De(n,t,e){return vt(n,Ft(t,e))}function Vt(n,t){return typeof n=="function"?n(t):n}function yt(n){return n.split("-")[0]}function Wt(n){return n.split("-")[1]}function Ae(n){return n==="x"?"y":"x"}function Ce(n){return n==="y"?"height":"width"}var Ji=new Set(["top","bottom"]);function ht(n){return Ji.has(yt(n))?"y":"x"}function Le(n){return Ae(ht(n))}function Je(n,t,e){e===void 0&&(e=!1);let i=Wt(n),o=Le(n),s=Ce(o),r=o==="x"?i===(e?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=Bt(r)),[r,Bt(r)]}function Qe(n){let t=Bt(n);return[ie(n),t,ie(t)]}function ie(n){return n.replace(/start|end/g,t=>qi[t])}var je=["left","right"],qe=["right","left"],Qi=["top","bottom"],Zi=["bottom","top"];function tn(n,t,e){switch(n){case"top":case"bottom":return e?t?qe:je:t?je:qe;case"left":case"right":return t?Qi:Zi;default:return[]}}function Ze(n,t,e,i){let o=Wt(n),s=tn(yt(n),e==="start",i);return o&&(s=s.map(r=>r+"-"+o),t&&(s=s.concat(s.map(ie)))),s}function Bt(n){return n.replace(/left|right|bottom|top/g,t=>ji[t])}function en(n){return{top:0,right:0,bottom:0,left:0,...n}}function ti(n){return typeof n!="number"?en(n):{top:n,right:n,bottom:n,left:n}}function Et(n){let{x:t,y:e,width:i,height:o}=n;return{width:i,height:o,top:e,left:t,right:t+i,bottom:e+o,x:t,y:e}}function ei(n,t,e){let{reference:i,floating:o}=n,s=ht(t),r=Le(t),a=Ce(r),l=yt(t),c=s==="y",f=i.x+i.width/2-o.width/2,d=i.y+i.height/2-o.height/2,p=i[a]/2-o[a]/2,u;switch(l){case"top":u={x:f,y:i.y-o.height};break;case"bottom":u={x:f,y:i.y+i.height};break;case"right":u={x:i.x+i.width,y:d};break;case"left":u={x:i.x-o.width,y:d};break;default:u={x:i.x,y:i.y}}switch(Wt(t)){case"start":u[r]-=p*(e&&c?-1:1);break;case"end":u[r]+=p*(e&&c?-1:1);break}return u}var ii=async(n,t,e)=>{let{placement:i="bottom",strategy:o="absolute",middleware:s=[],platform:r}=e,a=s.filter(Boolean),l=await(r.isRTL==null?void 0:r.isRTL(t)),c=await r.getElementRects({reference:n,floating:t,strategy:o}),{x:f,y:d}=ei(c,i,l),p=i,u={},g=0;for(let m=0;mF<=0)){var L,Y;let F=(((L=s.flip)==null?void 0:L.index)||0)+1,Q=q[F];if(Q&&(!(d==="alignment"?w!==ht(Q):!1)||z.every(T=>ht(T.placement)===w?T.overflows[0]>0:!0)))return{data:{index:F,overflows:z},reset:{placement:Q}};let V=(Y=z.filter(X=>X.overflows[0]<=0).sort((X,T)=>X.overflows[1]-T.overflows[1])[0])==null?void 0:Y.placement;if(!V)switch(u){case"bestFit":{var B;let X=(B=z.filter(T=>{if(H){let et=ht(T.placement);return et===w||et==="y"}return!0}).map(T=>[T.placement,T.overflows.filter(et=>et>0).reduce((et,ee)=>et+ee,0)]).sort((T,et)=>T[1]-et[1])[0])==null?void 0:B[0];X&&(V=X);break}case"initialPlacement":V=a;break}if(o!==V)return{reset:{placement:V}}}return{}}}};var nn=new Set(["left","top"]);async function on(n,t){let{placement:e,platform:i,elements:o}=n,s=await(i.isRTL==null?void 0:i.isRTL(o.floating)),r=yt(e),a=Wt(e),l=ht(e)==="y",c=nn.has(r)?-1:1,f=s&&l?-1:1,d=Vt(t,n),{mainAxis:p,crossAxis:u,alignmentAxis:g}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&typeof g=="number"&&(u=a==="end"?g*-1:g),l?{x:u*f,y:p*c}:{x:p*c,y:u*f}}var oi=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(t){var e,i;let{x:o,y:s,placement:r,middlewareData:a}=t,l=await on(t,n);return r===((e=a.offset)==null?void 0:e.placement)&&(i=a.arrow)!=null&&i.alignmentOffset?{}:{x:o+l.x,y:s+l.y,data:{...l,placement:r}}}}},si=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(t){let{x:e,y:i,placement:o}=t,{mainAxis:s=!0,crossAxis:r=!1,limiter:a={fn:S=>{let{x:O,y:w}=S;return{x:O,y:w}}},...l}=Vt(n,t),c={x:e,y:i},f=await Ie(t,l),d=ht(yt(o)),p=Ae(d),u=c[p],g=c[d];if(s){let S=p==="y"?"top":"left",O=p==="y"?"bottom":"right",w=u+f[S],D=u-f[O];u=De(w,u,D)}if(r){let S=d==="y"?"top":"left",O=d==="y"?"bottom":"right",w=g+f[S],D=g-f[O];g=De(w,g,D)}let m=a.fn({...t,[p]:u,[d]:g});return{...m,data:{x:m.x-e,y:m.y-i,enabled:{[p]:s,[d]:r}}}}}};function oe(){return typeof window<"u"}function Ot(n){return ai(n)?(n.nodeName||"").toLowerCase():"#document"}function U(n){var t;return(n==null||(t=n.ownerDocument)==null?void 0:t.defaultView)||window}function ct(n){var t;return(t=(ai(n)?n.ownerDocument:n.document)||window.document)==null?void 0:t.documentElement}function ai(n){return oe()?n instanceof Node||n instanceof U(n).Node:!1}function it(n){return oe()?n instanceof Element||n instanceof U(n).Element:!1}function rt(n){return oe()?n instanceof HTMLElement||n instanceof U(n).HTMLElement:!1}function ri(n){return!oe()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof U(n).ShadowRoot}var sn=new Set(["inline","contents"]);function It(n){let{overflow:t,overflowX:e,overflowY:i,display:o}=nt(n);return/auto|scroll|overlay|hidden|clip/.test(t+i+e)&&!sn.has(o)}var rn=new Set(["table","td","th"]);function li(n){return rn.has(Ot(n))}var an=[":popover-open",":modal"];function zt(n){return an.some(t=>{try{return n.matches(t)}catch{return!1}})}var ln=["transform","translate","scale","rotate","perspective"],cn=["transform","translate","scale","rotate","perspective","filter"],dn=["paint","layout","strict","content"];function se(n){let t=re(),e=it(n)?nt(n):n;return ln.some(i=>e[i]?e[i]!=="none":!1)||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||cn.some(i=>(e.willChange||"").includes(i))||dn.some(i=>(e.contain||"").includes(i))}function ci(n){let t=ut(n);for(;rt(t)&&!Dt(t);){if(se(t))return t;if(zt(t))return null;t=ut(t)}return null}function re(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var fn=new Set(["html","body","#document"]);function Dt(n){return fn.has(Ot(n))}function nt(n){return U(n).getComputedStyle(n)}function $t(n){return it(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function ut(n){if(Ot(n)==="html")return n;let t=n.assignedSlot||n.parentNode||ri(n)&&n.host||ct(n);return ri(t)?t.host:t}function di(n){let t=ut(n);return Dt(t)?n.ownerDocument?n.ownerDocument.body:n.body:rt(t)&&It(t)?t:di(t)}function ne(n,t,e){var i;t===void 0&&(t=[]),e===void 0&&(e=!0);let o=di(n),s=o===((i=n.ownerDocument)==null?void 0:i.body),r=U(o);if(s){let a=ae(r);return t.concat(r,r.visualViewport||[],It(o)?o:[],a&&e?ne(a):[])}return t.concat(o,ne(o,[],e))}function ae(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function pi(n){let t=nt(n),e=parseFloat(t.width)||0,i=parseFloat(t.height)||0,o=rt(n),s=o?n.offsetWidth:e,r=o?n.offsetHeight:i,a=Ht(e)!==s||Ht(i)!==r;return a&&(e=s,i=r),{width:e,height:i,$:a}}function gi(n){return it(n)?n:n.contextElement}function Tt(n){let t=gi(n);if(!rt(t))return st(1);let e=t.getBoundingClientRect(),{width:i,height:o,$:s}=pi(t),r=(s?Ht(e.width):e.width)/i,a=(s?Ht(e.height):e.height)/o;return(!r||!Number.isFinite(r))&&(r=1),(!a||!Number.isFinite(a))&&(a=1),{x:r,y:a}}var hn=st(0);function mi(n){let t=U(n);return!re()||!t.visualViewport?hn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function un(n,t,e){return t===void 0&&(t=!1),!e||t&&e!==U(n)?!1:t}function Xt(n,t,e,i){t===void 0&&(t=!1),e===void 0&&(e=!1);let o=n.getBoundingClientRect(),s=gi(n),r=st(1);t&&(i?it(i)&&(r=Tt(i)):r=Tt(n));let a=un(s,e,i)?mi(s):st(0),l=(o.left+a.x)/r.x,c=(o.top+a.y)/r.y,f=o.width/r.x,d=o.height/r.y;if(s){let p=U(s),u=i&&it(i)?U(i):i,g=p,m=ae(g);for(;m&&i&&u!==g;){let S=Tt(m),O=m.getBoundingClientRect(),w=nt(m),D=O.left+(m.clientLeft+parseFloat(w.paddingLeft))*S.x,A=O.top+(m.clientTop+parseFloat(w.paddingTop))*S.y;l*=S.x,c*=S.y,f*=S.x,d*=S.y,l+=D,c+=A,g=U(m),m=ae(g)}}return Et({width:f,height:d,x:l,y:c})}function le(n,t){let e=$t(n).scrollLeft;return t?t.left+e:Xt(ct(n)).left+e}function bi(n,t){let e=n.getBoundingClientRect(),i=e.left+t.scrollLeft-le(n,e),o=e.top+t.scrollTop;return{x:i,y:o}}function pn(n){let{elements:t,rect:e,offsetParent:i,strategy:o}=n,s=o==="fixed",r=ct(i),a=t?zt(t.floating):!1;if(i===r||a&&s)return e;let l={scrollLeft:0,scrollTop:0},c=st(1),f=st(0),d=rt(i);if((d||!d&&!s)&&((Ot(i)!=="body"||It(r))&&(l=$t(i)),rt(i))){let u=Xt(i);c=Tt(i),f.x=u.x+i.clientLeft,f.y=u.y+i.clientTop}let p=r&&!d&&!s?bi(r,l):st(0);return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x+p.x,y:e.y*c.y-l.scrollTop*c.y+f.y+p.y}}function gn(n){return Array.from(n.getClientRects())}function mn(n){let t=ct(n),e=$t(n),i=n.ownerDocument.body,o=vt(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),s=vt(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),r=-e.scrollLeft+le(n),a=-e.scrollTop;return nt(i).direction==="rtl"&&(r+=vt(t.clientWidth,i.clientWidth)-o),{width:o,height:s,x:r,y:a}}var fi=25;function bn(n,t){let e=U(n),i=ct(n),o=e.visualViewport,s=i.clientWidth,r=i.clientHeight,a=0,l=0;if(o){s=o.width,r=o.height;let f=re();(!f||f&&t==="fixed")&&(a=o.offsetLeft,l=o.offsetTop)}let c=le(i);if(c<=0){let f=i.ownerDocument,d=f.body,p=getComputedStyle(d),u=f.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,g=Math.abs(i.clientWidth-d.clientWidth-u);g<=fi&&(s-=g)}else c<=fi&&(s+=c);return{width:s,height:r,x:a,y:l}}var vn=new Set(["absolute","fixed"]);function yn(n,t){let e=Xt(n,!0,t==="fixed"),i=e.top+n.clientTop,o=e.left+n.clientLeft,s=rt(n)?Tt(n):st(1),r=n.clientWidth*s.x,a=n.clientHeight*s.y,l=o*s.x,c=i*s.y;return{width:r,height:a,x:l,y:c}}function hi(n,t,e){let i;if(t==="viewport")i=bn(n,e);else if(t==="document")i=mn(ct(n));else if(it(t))i=yn(t,e);else{let o=mi(n);i={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return Et(i)}function vi(n,t){let e=ut(n);return e===t||!it(e)||Dt(e)?!1:nt(e).position==="fixed"||vi(e,t)}function wn(n,t){let e=t.get(n);if(e)return e;let i=ne(n,[],!1).filter(a=>it(a)&&Ot(a)!=="body"),o=null,s=nt(n).position==="fixed",r=s?ut(n):n;for(;it(r)&&!Dt(r);){let a=nt(r),l=se(r);!l&&a.position==="fixed"&&(o=null),(s?!l&&!o:!l&&a.position==="static"&&!!o&&vn.has(o.position)||It(r)&&!l&&vi(n,r))?i=i.filter(f=>f!==r):o=a,r=ut(r)}return t.set(n,i),i}function Sn(n){let{element:t,boundary:e,rootBoundary:i,strategy:o}=n,r=[...e==="clippingAncestors"?zt(t)?[]:wn(t,this._c):[].concat(e),i],a=r[0],l=r.reduce((c,f)=>{let d=hi(t,f,o);return c.top=vt(d.top,c.top),c.right=Ft(d.right,c.right),c.bottom=Ft(d.bottom,c.bottom),c.left=vt(d.left,c.left),c},hi(t,a,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function xn(n){let{width:t,height:e}=pi(n);return{width:t,height:e}}function En(n,t,e){let i=rt(t),o=ct(t),s=e==="fixed",r=Xt(n,!0,s,t),a={scrollLeft:0,scrollTop:0},l=st(0);function c(){l.x=le(o)}if(i||!i&&!s)if((Ot(t)!=="body"||It(o))&&(a=$t(t)),i){let u=Xt(t,!0,s,t);l.x=u.x+t.clientLeft,l.y=u.y+t.clientTop}else o&&c();s&&!i&&o&&c();let f=o&&!i&&!s?bi(o,a):st(0),d=r.left+a.scrollLeft-l.x-f.x,p=r.top+a.scrollTop-l.y-f.y;return{x:d,y:p,width:r.width,height:r.height}}function Te(n){return nt(n).position==="static"}function ui(n,t){if(!rt(n)||nt(n).position==="fixed")return null;if(t)return t(n);let e=n.offsetParent;return ct(n)===e&&(e=e.ownerDocument.body),e}function yi(n,t){let e=U(n);if(zt(n))return e;if(!rt(n)){let o=ut(n);for(;o&&!Dt(o);){if(it(o)&&!Te(o))return o;o=ut(o)}return e}let i=ui(n,t);for(;i&&li(i)&&Te(i);)i=ui(i,t);return i&&Dt(i)&&Te(i)&&!se(i)?e:i||ci(n)||e}var On=async function(n){let t=this.getOffsetParent||yi,e=this.getDimensions,i=await e(n.floating);return{reference:En(n.reference,await t(n.floating),n.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function Dn(n){return nt(n).direction==="rtl"}var An={convertOffsetParentRelativeRectToViewportRelativeRect:pn,getDocumentElement:ct,getClippingRect:Sn,getOffsetParent:yi,getElementRects:On,getClientRects:gn,getDimensions:xn,getScale:Tt,isElement:it,isRTL:Dn};var wi=oi;var Si=si,xi=ni;var Ei=(n,t,e)=>{let i=new Map,o={platform:An,...e},s={...o.platform,_c:i};return ii(n,t,{...o,platform:s})};function Oi(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(n,o).enumerable})),e.push.apply(e,i)}return e}function ft(n){for(var t=1;t=0)&&(e[o]=n[o]);return e}function In(n,t){if(n==null)return{};var e=Ln(n,t),i,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(e[i]=n[i])}return e}var Tn="1.15.6";function pt(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var mt=pt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Zt=pt(/Edge/i),Di=pt(/firefox/i),Gt=pt(/safari/i)&&!pt(/chrome/i)&&!pt(/android/i),Xe=pt(/iP(ad|od|hone)/i),Mi=pt(/chrome/i)&&pt(/android/i),Pi={capture:!1,passive:!1};function E(n,t,e){n.addEventListener(t,e,!mt&&Pi)}function x(n,t,e){n.removeEventListener(t,e,!mt&&Pi)}function ve(n,t){if(t){if(t[0]===">"&&(t=t.substring(1)),n)try{if(n.matches)return n.matches(t);if(n.msMatchesSelector)return n.msMatchesSelector(t);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(t)}catch{return!1}return!1}}function Ni(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function lt(n,t,e,i){if(n){e=e||document;do{if(t!=null&&(t[0]===">"?n.parentNode===e&&ve(n,t):ve(n,t))||i&&n===e)return n;if(n===e)break}while(n=Ni(n))}return null}var Ai=/\s+/g;function Z(n,t,e){if(n&&t)if(n.classList)n.classList[e?"add":"remove"](t);else{var i=(" "+n.className+" ").replace(Ai," ").replace(" "+t+" "," ");n.className=(i+(e?" "+t:"")).replace(Ai," ")}}function b(n,t,e){var i=n&&n.style;if(i){if(e===void 0)return document.defaultView&&document.defaultView.getComputedStyle?e=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(e=n.currentStyle),t===void 0?e:e[t];!(t in i)&&t.indexOf("webkit")===-1&&(t="-webkit-"+t),i[t]=e+(typeof e=="string"?"":"px")}}function Nt(n,t){var e="";if(typeof n=="string")e=n;else do{var i=b(n,"transform");i&&i!=="none"&&(e=i+" "+e)}while(!t&&(n=n.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(e)}function ki(n,t,e){if(n){var i=n.getElementsByTagName(t),o=0,s=i.length;if(e)for(;o=s:r=o<=s,!r)return i;if(i===dt())break;i=xt(i,!1)}return!1}function kt(n,t,e,i){for(var o=0,s=0,r=n.children;s2&&arguments[2]!==void 0?arguments[2]:{},o=i.evt,s=In(i,Fn);te.pluginEvent.bind(v)(t,e,ft({dragEl:h,parentEl:M,ghostEl:y,rootEl:I,nextEl:Lt,lastDownEl:pe,cloneEl:_,cloneHidden:St,dragStarted:Kt,putSortable:W,activeSortable:v.active,originalEvent:o,oldIndex:Pt,oldDraggableIndex:qt,newIndex:tt,newDraggableIndex:wt,hideGhostForTarget:Xi,unhideGhostForTarget:Ki,cloneNowHidden:function(){St=!0},cloneNowShown:function(){St=!1},dispatchSortableEvent:function(a){K({sortable:e,name:a,originalEvent:o})}},s))};function K(n){Bn(ft({putSortable:W,cloneEl:_,targetEl:h,rootEl:I,oldIndex:Pt,oldDraggableIndex:qt,newIndex:tt,newDraggableIndex:wt},n))}var h,M,y,I,Lt,pe,_,St,Pt,tt,qt,wt,ce,W,Mt=!1,ye=!1,we=[],At,at,Me,Pe,Ii,Ti,Kt,Rt,Jt,Qt=!1,de=!1,ge,$,Ne=[],Ve=!1,Se=[],Ee=typeof document<"u",fe=Xe,_i=Zt||mt?"cssFloat":"float",Hn=Ee&&!Mi&&!Xe&&"draggable"in document.createElement("div"),Wi=(function(){if(Ee){if(mt)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}})(),zi=function(t,e){var i=b(t),o=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),s=kt(t,0,e),r=kt(t,1,e),a=s&&b(s),l=r&&b(r),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+k(s).width,f=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+k(r).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&a.float&&a.float!=="none"){var d=a.float==="left"?"left":"right";return r&&(l.clear==="both"||l.clear===d)?"vertical":"horizontal"}return s&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=o&&i[_i]==="none"||r&&i[_i]==="none"&&c+f>o)?"vertical":"horizontal"},Vn=function(t,e,i){var o=i?t.left:t.top,s=i?t.right:t.bottom,r=i?t.width:t.height,a=i?e.left:e.top,l=i?e.right:e.bottom,c=i?e.width:e.height;return o===a||s===l||o+r/2===a+c/2},Wn=function(t,e){var i;return we.some(function(o){var s=o[j].options.emptyInsertThreshold;if(!(!s||Ke(o))){var r=k(o),a=t>=r.left-s&&t<=r.right+s,l=e>=r.top-s&&e<=r.bottom+s;if(a&&l)return i=o}}),i},$i=function(t){function e(s,r){return function(a,l,c,f){var d=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(s==null&&(r||d))return!0;if(s==null||s===!1)return!1;if(r&&s==="clone")return s;if(typeof s=="function")return e(s(a,l,c,f),r)(a,l,c,f);var p=(r?a:l).options.group.name;return s===!0||typeof s=="string"&&s===p||s.join&&s.indexOf(p)>-1}}var i={},o=t.group;(!o||ue(o)!="object")&&(o={name:o}),i.name=o.name,i.checkPull=e(o.pull,!0),i.checkPut=e(o.put),i.revertClone=o.revertClone,t.group=i},Xi=function(){!Wi&&y&&b(y,"display","none")},Ki=function(){!Wi&&y&&b(y,"display","")};Ee&&!Mi&&document.addEventListener("click",function(n){if(ye)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),ye=!1,!1},!0);var Ct=function(t){if(h){t=t.touches?t.touches[0]:t;var e=Wn(t.clientX,t.clientY);if(e){var i={};for(var o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);i.target=i.rootEl=e,i.preventDefault=void 0,i.stopPropagation=void 0,e[j]._onDragOver(i)}}},zn=function(t){h&&h.parentNode[j]._isOutsideThisEl(t.target)};function v(n,t){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=t=gt({},t),n[j]=this;var e={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return zi(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,a){r.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:v.supportPointer!==!1&&"PointerEvent"in window&&(!Gt||Xe),emptyInsertThreshold:5};te.initializePlugins(this,n,e);for(var i in e)!(i in t)&&(t[i]=e[i]);$i(t);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=t.forceFallback?!1:Hn,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?E(n,"pointerdown",this._onTapStart):(E(n,"mousedown",this._onTapStart),E(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(E(n,"dragover",this),E(n,"dragenter",this)),we.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),gt(this,Pn())}v.prototype={constructor:v,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Rt=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,h):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,i=this.el,o=this.options,s=o.preventOnFilter,r=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,l=(a||t).target,c=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||l,f=o.filter;if(qn(i),!h&&!(/mousedown|pointerdown/.test(r)&&t.button!==0||o.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&Gt&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=lt(l,o.draggable,i,!1),!(l&&l.animated)&&pe!==l)){if(Pt=ot(l),qt=ot(l,o.draggable),typeof f=="function"){if(f.call(this,t,l,this)){K({sortable:e,rootEl:c,name:"filter",targetEl:l,toEl:i,fromEl:i}),G("filter",e,{evt:t}),s&&t.preventDefault();return}}else if(f&&(f=f.split(",").some(function(d){if(d=lt(c,d.trim(),i,!1),d)return K({sortable:e,rootEl:d,name:"filter",targetEl:l,fromEl:i,toEl:i}),G("filter",e,{evt:t}),!0}),f)){s&&t.preventDefault();return}o.handle&&!lt(c,o.handle,i,!1)||this._prepareDragStart(t,a,l)}}},_prepareDragStart:function(t,e,i){var o=this,s=o.el,r=o.options,a=s.ownerDocument,l;if(i&&!h&&i.parentNode===s){var c=k(i);if(I=s,h=i,M=h.parentNode,Lt=h.nextSibling,pe=i,ce=r.group,v.dragged=h,At={target:h,clientX:(e||t).clientX,clientY:(e||t).clientY},Ii=At.clientX-c.left,Ti=At.clientY-c.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,h.style["will-change"]="all",l=function(){if(G("delayEnded",o,{evt:t}),v.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Di&&o.nativeDraggable&&(h.draggable=!0),o._triggerDragStart(t,e),K({sortable:o,name:"choose",originalEvent:t}),Z(h,r.chosenClass,!0)},r.ignore.split(",").forEach(function(f){ki(h,f.trim(),ke)}),E(a,"dragover",Ct),E(a,"mousemove",Ct),E(a,"touchmove",Ct),r.supportPointer?(E(a,"pointerup",o._onDrop),!this.nativeDraggable&&E(a,"pointercancel",o._onDrop)):(E(a,"mouseup",o._onDrop),E(a,"touchend",o._onDrop),E(a,"touchcancel",o._onDrop)),Di&&this.nativeDraggable&&(this.options.touchStartThreshold=4,h.draggable=!0),G("delayStart",this,{evt:t}),r.delay&&(!r.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Zt||mt))){if(v.eventCanceled){this._onDrop();return}r.supportPointer?(E(a,"pointerup",o._disableDelayedDrag),E(a,"pointercancel",o._disableDelayedDrag)):(E(a,"mouseup",o._disableDelayedDrag),E(a,"touchend",o._disableDelayedDrag),E(a,"touchcancel",o._disableDelayedDrag)),E(a,"mousemove",o._delayedDragTouchMoveHandler),E(a,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&E(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(l,r.delay)}else l()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){h&&ke(h),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;x(t,"mouseup",this._disableDelayedDrag),x(t,"touchend",this._disableDelayedDrag),x(t,"touchcancel",this._disableDelayedDrag),x(t,"pointerup",this._disableDelayedDrag),x(t,"pointercancel",this._disableDelayedDrag),x(t,"mousemove",this._delayedDragTouchMoveHandler),x(t,"touchmove",this._delayedDragTouchMoveHandler),x(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?E(document,"pointermove",this._onTouchMove):e?E(document,"touchmove",this._onTouchMove):E(document,"mousemove",this._onTouchMove):(E(h,"dragend",this),E(I,"dragstart",this._onDragStart));try{document.selection?me(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(Mt=!1,I&&h){G("dragStarted",this,{evt:e}),this.nativeDraggable&&E(document,"dragover",zn);var i=this.options;!t&&Z(h,i.dragClass,!1),Z(h,i.ghostClass,!0),v.active=this,t&&this._appendGhost(),K({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(at){this._lastX=at.clientX,this._lastY=at.clientY,Xi();for(var t=document.elementFromPoint(at.clientX,at.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(at.clientX,at.clientY),t!==e);)e=t;if(h.parentNode[j]._isOutsideThisEl(t),e)do{if(e[j]){var i=void 0;if(i=e[j]._onDragOver({clientX:at.clientX,clientY:at.clientY,target:t,rootEl:e}),i&&!this.options.dragoverBubble)break}t=e}while(e=Ni(e));Ki()}},_onTouchMove:function(t){if(At){var e=this.options,i=e.fallbackTolerance,o=e.fallbackOffset,s=t.touches?t.touches[0]:t,r=y&&Nt(y,!0),a=y&&r&&r.a,l=y&&r&&r.d,c=fe&&$&&Li($),f=(s.clientX-At.clientX+o.x)/(a||1)+(c?c[0]-Ne[0]:0)/(a||1),d=(s.clientY-At.clientY+o.y)/(l||1)+(c?c[1]-Ne[1]:0)/(l||1);if(!v.active&&!Mt){if(i&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))=0&&(K({rootEl:M,name:"add",toEl:M,fromEl:I,originalEvent:t}),K({sortable:this,name:"remove",toEl:M,originalEvent:t}),K({rootEl:M,name:"sort",toEl:M,fromEl:I,originalEvent:t}),K({sortable:this,name:"sort",toEl:M,originalEvent:t})),W&&W.save()):tt!==Pt&&tt>=0&&(K({sortable:this,name:"update",toEl:M,originalEvent:t}),K({sortable:this,name:"sort",toEl:M,originalEvent:t})),v.active&&((tt==null||tt===-1)&&(tt=Pt,wt=qt),K({sortable:this,name:"end",toEl:M,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){G("nulling",this),I=h=M=y=Lt=_=pe=St=At=at=Kt=tt=wt=Pt=qt=Rt=Jt=W=ce=v.dragged=v.ghost=v.clone=v.active=null,Se.forEach(function(t){t.checked=!0}),Se.length=Me=Pe=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":h&&(this._onDragOver(t),$n(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,i=this.el.children,o=0,s=i.length,r=this.options;oo.right+s||n.clientY>i.bottom&&n.clientX>i.left:n.clientY>o.bottom+s||n.clientX>i.right&&n.clientY>i.top}function Un(n,t,e,i,o,s,r,a){var l=i?n.clientY:n.clientX,c=i?e.height:e.width,f=i?e.top:e.left,d=i?e.bottom:e.right,p=!1;if(!r){if(a&&gef+c*s/2:ld-ge)return-Jt}else if(l>f+c*(1-o)/2&&ld-c*s/2)?l>f+c/2?1:-1:0}function Gn(n){return ot(h){},options:L,optionsLimit:Y=null,placeholder:B,position:F=null,searchableOptionFields:Q=["label"],searchDebounce:V=1e3,searchingMessage:X="Searching...",searchPrompt:T="Search...",state:et,statePath:ee=null}){this.canOptionLabelsWrap=t,this.canSelectPlaceholder=e,this.element=i,this.getOptionLabelUsing=o,this.getOptionLabelsUsing=s,this.getOptionsUsing=r,this.getSearchResultsUsing=a,this.hasDynamicOptions=l,this.hasDynamicSearchResults=c,this.hasInitialNoOptionsMessage=f,this.initialOptionLabel=d,this.initialOptionLabels=p,this.initialState=u,this.isAutofocused=g,this.isDisabled=m,this.isHtmlAllowed=S,this.isMultiple=O,this.isReorderable=w,this.isSearchable=D,this.livewireId=A,this.loadingMessage=C,this.maxItems=H,this.maxItemsMessage=q,this.noOptionsMessage=J,this.noSearchResultsMessage=R,this.onStateChange=z,this.options=L,this.optionsLimit=Y,this.originalOptions=JSON.parse(JSON.stringify(L)),this.placeholder=B,this.position=F,this.searchableOptionFields=Array.isArray(Q)?Q:["label"],this.searchDebounce=V,this.searchingMessage=X,this.searchPrompt=T,this.state=et,this.statePath=ee,this.activeSearchId=0,this.labelRepository={},this.isOpen=!1,this.selectedIndex=-1,this.searchQuery="",this.searchTimeout=null,this.isSearching=!1,this.selectedDisplayVersion=0,this.render(),this.setUpEventListeners(),this.isAutofocused&&this.selectButton.focus()}populateLabelRepositoryFromOptions(t){if(!(!t||!Array.isArray(t)))for(let e of t)e.options&&Array.isArray(e.options)?this.populateLabelRepositoryFromOptions(e.options):e.value!==void 0&&e.label!==void 0&&(this.labelRepository[e.value]=e.label)}render(){this.populateLabelRepositoryFromOptions(this.options),this.container=document.createElement("div"),this.container.className="fi-select-input-ctn",this.canOptionLabelsWrap||this.container.classList.add("fi-select-input-ctn-option-labels-not-wrapped"),this.container.setAttribute("aria-haspopup","listbox"),this.selectButton=document.createElement("button"),this.selectButton.className="fi-select-input-btn",this.selectButton.type="button",this.selectButton.setAttribute("aria-expanded","false"),this.selectedDisplay=document.createElement("div"),this.selectedDisplay.className="fi-select-input-value-ctn",this.updateSelectedDisplay(),this.selectButton.appendChild(this.selectedDisplay),this.dropdown=document.createElement("div"),this.dropdown.className="fi-dropdown-panel fi-scrollable",this.dropdown.setAttribute("role","listbox"),this.dropdown.setAttribute("tabindex","-1"),this.dropdown.style.display="none",this.dropdownId=`fi-select-input-dropdown-${Math.random().toString(36).substring(2,11)}`,this.dropdown.id=this.dropdownId,this.isMultiple&&this.dropdown.setAttribute("aria-multiselectable","true"),this.isSearchable&&(this.searchContainer=document.createElement("div"),this.searchContainer.className="fi-select-input-search-ctn",this.searchInput=document.createElement("input"),this.searchInput.className="fi-input",this.searchInput.type="text",this.searchInput.placeholder=this.searchPrompt,this.searchInput.setAttribute("aria-label","Search"),this.searchContainer.appendChild(this.searchInput),this.dropdown.appendChild(this.searchContainer),this.searchInput.addEventListener("input",t=>{this.isDisabled||this.handleSearch(t)}),this.searchInput.addEventListener("keydown",t=>{if(!this.isDisabled){if(t.key==="Tab"){t.preventDefault();let e=this.getVisibleOptions();if(e.length===0)return;t.shiftKey?this.selectedIndex=e.length-1:this.selectedIndex=0,e.forEach(i=>{i.classList.remove("fi-selected")}),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus()}else if(t.key==="ArrowDown"){if(t.preventDefault(),t.stopPropagation(),this.getVisibleOptions().length===0)return;this.selectedIndex=-1,this.searchInput.blur(),this.focusNextOption()}else if(t.key==="ArrowUp"){t.preventDefault(),t.stopPropagation();let e=this.getVisibleOptions();if(e.length===0)return;this.selectedIndex=e.length-1,this.searchInput.blur(),e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus(),e[this.selectedIndex].id&&this.dropdown.setAttribute("aria-activedescendant",e[this.selectedIndex].id),this.scrollOptionIntoView(e[this.selectedIndex])}else if(t.key==="Enter"){if(t.preventDefault(),t.stopPropagation(),this.isSearching)return;let e=this.getVisibleOptions();if(e.length===0)return;let i=e.find(s=>{let r=s.getAttribute("aria-disabled")==="true",a=s.classList.contains("fi-disabled"),l=s.offsetParent===null;return!(r||a||l)});if(!i)return;let o=i.getAttribute("data-value");if(o===null)return;this.selectOption(o)}}})),this.optionsList=document.createElement("ul"),this.renderOptions(),this.container.appendChild(this.selectButton),this.container.appendChild(this.dropdown),this.element.appendChild(this.container),this.applyDisabledState()}renderOptions(){this.optionsList.innerHTML="";let t=0,e=this.options,i=0,o=!1;this.options.forEach(a=>{a.options&&Array.isArray(a.options)?(i+=a.options.length,o=!0):i++}),o?this.optionsList.className="fi-select-input-options-ctn":i>0&&(this.optionsList.className="fi-dropdown-list");let s=o?null:this.optionsList,r=0;for(let a of e){if(this.optionsLimit&&r>=this.optionsLimit)break;if(a.options&&Array.isArray(a.options)){let l=a.options;if(this.isMultiple&&Array.isArray(this.state)&&this.state.length>0&&(l=a.options.filter(c=>!this.state.includes(c.value))),l.length>0){if(this.optionsLimit){let c=this.optionsLimit-r;c{let a=this.createOptionElement(r.value,r);s.appendChild(a)}),i.appendChild(o),i.appendChild(s),this.optionsList.appendChild(i)}createOptionElement(t,e){let i=t,o=e,s=!1;typeof e=="object"&&e!==null&&"label"in e&&"value"in e&&(i=e.value,o=e.label,s=e.isDisabled||!1);let r=document.createElement("li");r.className="fi-dropdown-list-item fi-select-input-option",s&&r.classList.add("fi-disabled");let a=`fi-select-input-option-${Math.random().toString(36).substring(2,11)}`;if(r.id=a,r.setAttribute("role","option"),r.setAttribute("data-value",i),r.setAttribute("tabindex","0"),s&&r.setAttribute("aria-disabled","true"),this.isHtmlAllowed&&typeof o=="string"){let f=document.createElement("div");f.innerHTML=o;let d=f.textContent||f.innerText||o;r.setAttribute("aria-label",d)}let l=this.isMultiple?Array.isArray(this.state)&&this.state.includes(i):this.state===i;r.setAttribute("aria-selected",l?"true":"false"),l&&r.classList.add("fi-selected");let c=document.createElement("span");return this.isHtmlAllowed?c.innerHTML=o:c.textContent=o,r.appendChild(c),s||r.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation(),this.selectOption(i),this.isMultiple&&(this.isSearchable&&this.searchInput?setTimeout(()=>{this.searchInput.focus()},0):setTimeout(()=>{r.focus()},0))}),r}async updateSelectedDisplay(){this.selectedDisplayVersion=this.selectedDisplayVersion+1;let t=this.selectedDisplayVersion,e=document.createDocumentFragment();if(this.isMultiple){if(!Array.isArray(this.state)||this.state.length===0){let o=document.createElement("span");o.textContent=this.placeholder,o.classList.add("fi-select-input-placeholder"),e.appendChild(o)}else{let o=await this.getLabelsForMultipleSelection();if(t!==this.selectedDisplayVersion)return;this.addBadgesForSelectedOptions(o,e)}t===this.selectedDisplayVersion&&(this.selectedDisplay.replaceChildren(e),this.isOpen&&this.positionDropdown());return}if(this.state===null||this.state===""){let o=document.createElement("span");if(o.textContent=this.placeholder,o.classList.add("fi-select-input-placeholder"),e.appendChild(o),t===this.selectedDisplayVersion){this.selectedDisplay.replaceChildren(e);let s=this.container.querySelector(".fi-select-input-value-remove-btn");s&&s.remove(),this.container.classList.remove("fi-select-input-ctn-clearable")}return}let i=await this.getLabelForSingleSelection();t===this.selectedDisplayVersion&&(this.addSingleSelectionDisplay(i,e),t===this.selectedDisplayVersion&&this.selectedDisplay.replaceChildren(e))}async getLabelsForMultipleSelection(){let t=this.getSelectedOptionLabels(),e=[];if(Array.isArray(this.state)){for(let o of this.state)if(!P(this.labelRepository[o])){if(P(t[o])){this.labelRepository[o]=t[o];continue}e.push(o.toString())}}if(e.length>0&&P(this.initialOptionLabels)&&JSON.stringify(this.state)===JSON.stringify(this.initialState)){if(Array.isArray(this.initialOptionLabels))for(let o of this.initialOptionLabels)P(o)&&o.value!==void 0&&o.label!==void 0&&e.includes(o.value)&&(this.labelRepository[o.value]=o.label)}else if(e.length>0&&this.getOptionLabelsUsing)try{let o=await this.getOptionLabelsUsing();for(let s of o)P(s)&&s.value!==void 0&&s.label!==void 0&&(this.labelRepository[s.value]=s.label)}catch(o){console.error("Error fetching option labels:",o)}let i=[];if(Array.isArray(this.state))for(let o of this.state)P(this.labelRepository[o])?i.push(this.labelRepository[o]):P(t[o])?i.push(t[o]):i.push(o);return i}createBadgeElement(t,e){let i=document.createElement("span");i.className="fi-badge fi-size-md fi-color fi-color-primary fi-text-color-600 dark:fi-text-color-200",P(t)&&i.setAttribute("data-value",t);let o=document.createElement("span");o.className="fi-badge-label-ctn";let s=document.createElement("span");s.className="fi-badge-label",this.canOptionLabelsWrap&&s.classList.add("fi-wrapped"),this.isHtmlAllowed?s.innerHTML=e:s.textContent=e,o.appendChild(s),i.appendChild(o);let r=this.createRemoveButton(t,e);return i.appendChild(r),i}createRemoveButton(t,e){let i=document.createElement("button");return i.type="button",i.className="fi-badge-delete-btn",i.innerHTML='',i.setAttribute("aria-label","Remove "+(this.isHtmlAllowed?e.replace(/<[^>]*>/g,""):e)),i.addEventListener("click",o=>{o.stopPropagation(),P(t)&&this.selectOption(t)}),i.addEventListener("keydown",o=>{(o.key===" "||o.key==="Enter")&&(o.preventDefault(),o.stopPropagation(),P(t)&&this.selectOption(t))}),i}addBadgesForSelectedOptions(t,e=this.selectedDisplay){let i=document.createElement("div");i.className="fi-select-input-value-badges-ctn",t.forEach((o,s)=>{let r=Array.isArray(this.state)?this.state[s]:null,a=this.createBadgeElement(r,o);i.appendChild(a)}),e.appendChild(i),this.isReorderable&&(i.addEventListener("click",o=>{o.stopPropagation()}),i.addEventListener("mousedown",o=>{o.stopPropagation()}),new Ui(i,{animation:150,onEnd:()=>{let o=[];i.querySelectorAll("[data-value]").forEach(s=>{o.push(s.getAttribute("data-value"))}),this.state=o,this.onStateChange(this.state)}}))}async getLabelForSingleSelection(){let t=this.labelRepository[this.state];if(bt(t)&&(t=this.getSelectedOptionLabel(this.state)),bt(t)&&P(this.initialOptionLabel)&&this.state===this.initialState)t=this.initialOptionLabel,P(this.state)&&(this.labelRepository[this.state]=t);else if(bt(t)&&this.getOptionLabelUsing)try{t=await this.getOptionLabelUsing(),P(t)&&P(this.state)&&(this.labelRepository[this.state]=t)}catch(e){console.error("Error fetching option label:",e),t=this.state}else bt(t)&&(t=this.state);return t}addSingleSelectionDisplay(t,e=this.selectedDisplay){let i=document.createElement("span");if(i.className="fi-select-input-value-label",this.isHtmlAllowed?i.innerHTML=t:i.textContent=t,e.appendChild(i),!this.canSelectPlaceholder||this.container.querySelector(".fi-select-input-value-remove-btn"))return;let o=document.createElement("button");o.type="button",o.className="fi-select-input-value-remove-btn",o.innerHTML='',o.setAttribute("aria-label","Clear selection"),o.addEventListener("click",s=>{s.stopPropagation(),this.selectOption("")}),o.addEventListener("keydown",s=>{(s.key===" "||s.key==="Enter")&&(s.preventDefault(),s.stopPropagation(),this.selectOption(""))}),this.container.appendChild(o),this.container.classList.add("fi-select-input-ctn-clearable")}getSelectedOptionLabel(t){if(P(this.labelRepository[t]))return this.labelRepository[t];let e="";for(let i of this.options)if(i.options&&Array.isArray(i.options)){for(let o of i.options)if(o.value===t){e=o.label,this.labelRepository[t]=e;break}}else if(i.value===t){e=i.label,this.labelRepository[t]=e;break}return e}setUpEventListeners(){this.buttonClickListener=()=>{this.toggleDropdown()},this.documentClickListener=t=>{!this.container.contains(t.target)&&this.isOpen&&this.closeDropdown()},this.buttonKeydownListener=t=>{this.isDisabled||this.handleSelectButtonKeydown(t)},this.dropdownKeydownListener=t=>{this.isDisabled||this.isSearchable&&document.activeElement===this.searchInput&&!["Tab","Escape"].includes(t.key)||this.handleDropdownKeydown(t)},this.selectButton.addEventListener("click",this.buttonClickListener),document.addEventListener("click",this.documentClickListener),this.selectButton.addEventListener("keydown",this.buttonKeydownListener),this.dropdown.addEventListener("keydown",this.dropdownKeydownListener),!this.isMultiple&&this.livewireId&&this.statePath&&this.getOptionLabelUsing&&(this.refreshOptionLabelListener=async t=>{if(t.detail.livewireId===this.livewireId&&t.detail.statePath===this.statePath&&P(this.state))try{delete this.labelRepository[this.state];let e=await this.getOptionLabelUsing();P(e)&&(this.labelRepository[this.state]=e);let i=this.selectedDisplay.querySelector(".fi-select-input-value-label");P(i)&&(this.isHtmlAllowed?i.innerHTML=e:i.textContent=e),this.updateOptionLabelInList(this.state,e)}catch(e){console.error("Error refreshing option label:",e)}},window.addEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener))}updateOptionLabelInList(t,e){this.labelRepository[t]=e;let i=this.getVisibleOptions();for(let o of i)if(o.getAttribute("data-value")===String(t)){if(o.innerHTML="",this.isHtmlAllowed){let s=document.createElement("span");s.innerHTML=e,o.appendChild(s)}else o.appendChild(document.createTextNode(e));break}for(let o of this.options)if(o.options&&Array.isArray(o.options)){for(let s of o.options)if(s.value===t){s.label=e;break}}else if(o.value===t){o.label=e;break}for(let o of this.originalOptions)if(o.options&&Array.isArray(o.options)){for(let s of o.options)if(s.value===t){s.label=e;break}}else if(o.value===t){o.label=e;break}}handleSelectButtonKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusNextOption():this.openDropdown();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.isOpen?this.focusPreviousOption():this.openDropdown();break;case" ":if(t.preventDefault(),this.isOpen){if(this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}}else this.openDropdown();break;case"Enter":break;case"Escape":this.isOpen&&(t.preventDefault(),this.closeDropdown());break;case"Tab":this.isOpen&&this.closeDropdown();break;default:if(this.isSearchable&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&typeof t.key=="string"&&t.key.length===1){t.preventDefault();let e=t.key;this.isOpen||this.openDropdown(),this.searchInput&&(this.searchInput.focus(),this.searchInput.value=(this.searchInput.value||"")+e,this.searchInput.dispatchEvent(new Event("input",{bubbles:!0})))}break}}handleDropdownKeydown(t){switch(t.key){case"ArrowDown":t.preventDefault(),t.stopPropagation(),this.focusNextOption();break;case"ArrowUp":t.preventDefault(),t.stopPropagation(),this.focusPreviousOption();break;case" ":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}break;case"Enter":if(t.preventDefault(),this.selectedIndex>=0){let e=this.getVisibleOptions()[this.selectedIndex];e&&e.click()}else{let e=this.element.closest("form");e&&e.submit()}break;case"Escape":t.preventDefault(),this.closeDropdown(),this.selectButton.focus();break;case"Tab":this.closeDropdown();break;default:if(this.isSearchable&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&typeof t.key=="string"&&t.key.length===1){t.preventDefault();let e=t.key;this.searchInput&&(this.searchInput.focus(),this.searchInput.value=(this.searchInput.value||"")+e,this.searchInput.dispatchEvent(new Event("input",{bubbles:!0})))}break}}toggleDropdown(){if(!this.isDisabled){if(this.isOpen){this.closeDropdown();return}this.isMultiple&&!this.isSearchable&&!this.hasAvailableOptions()||this.openDropdown()}}hasAvailableOptions(){for(let t of this.options)if(t.options&&Array.isArray(t.options)){for(let e of t.options)if(!Array.isArray(this.state)||!this.state.includes(e.value))return!0}else if(!Array.isArray(this.state)||!this.state.includes(t.value))return!0;return!1}async openDropdown(){this.dropdown.style.display="block",this.dropdown.style.opacity="0";let t=this.selectButton.closest(".fi-fixed-positioning-context")!==null&&this.selectButton.closest(".fi-absolute-positioning-context")===null;if(this.dropdown.style.position=t?"fixed":"absolute",this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.selectButton.setAttribute("aria-expanded","true"),this.isOpen=!0,this.positionDropdown(),this.resizeListener||(this.resizeListener=()=>{this.dropdown.style.width=`${this.selectButton.offsetWidth}px`,this.positionDropdown()},window.addEventListener("resize",this.resizeListener)),this.scrollListener||(this.scrollListener=()=>this.positionDropdown(),window.addEventListener("scroll",this.scrollListener,!0)),this.dropdown.style.opacity="1",this.isSearchable&&this.searchInput&&(this.searchInput.value="",this.searchQuery="",this.hasDynamicOptions||(this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions())),this.hasDynamicOptions&&this.getOptionsUsing){this.showLoadingState(!1);try{let e=await this.getOptionsUsing(),i=Array.isArray(e)?e:e&&Array.isArray(e.options)?e.options:[];if(this.options=i,this.originalOptions=JSON.parse(JSON.stringify(i)),this.populateLabelRepositoryFromOptions(i),this.isSearchable&&this.searchInput&&(this.searchInput.value&&this.searchInput.value.trim()!==""||this.searchQuery&&this.searchQuery.trim()!=="")){let o=(this.searchInput.value||this.searchQuery||"").trim().toLowerCase();this.hideLoadingState(),this.filterOptions(o)}else this.renderOptions()}catch(e){console.error("Error fetching options:",e),this.hideLoadingState()}}else(!this.hasInitialNoOptionsMessage||this.searchQuery)&&this.hideLoadingState();if(this.isSearchable&&this.searchInput)this.searchInput.focus();else{this.selectedIndex=-1;let e=this.getVisibleOptions();if(this.isMultiple){if(Array.isArray(this.state)&&this.state.length>0){for(let i=0;i0&&(this.selectedIndex=0),this.selectedIndex>=0&&(e[this.selectedIndex].classList.add("fi-selected"),e[this.selectedIndex].focus())}}positionDropdown(){let t=this.position==="top"?"top-start":"bottom-start",e=[wi(4),Si({padding:5})];this.position!=="top"&&this.position!=="bottom"&&e.push(xi());let i=this.selectButton.closest(".fi-fixed-positioning-context")!==null&&this.selectButton.closest(".fi-absolute-positioning-context")===null;Ei(this.selectButton,this.dropdown,{placement:t,middleware:e,strategy:i?"fixed":"absolute"}).then(({x:o,y:s})=>{Object.assign(this.dropdown.style,{left:`${o}px`,top:`${s}px`})})}closeDropdown(){this.dropdown.style.display="none",this.selectButton.setAttribute("aria-expanded","false"),this.isOpen=!1,this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null),this.activeSearchId++,this.isSearching=!1,this.hideLoadingState(),this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.getVisibleOptions().forEach(e=>{e.classList.remove("fi-selected")}),this.dropdown.removeAttribute("aria-activedescendant")}focusNextOption(){let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex>=0&&this.selectedIndex=0&&this.selectedIndexe.bottom?this.dropdown.scrollTop+=i.bottom-e.bottom:i.top li[role="option"]')):t=Array.from(this.optionsList.querySelectorAll(':scope > ul.fi-dropdown-list > li[role="option"]'));let e=Array.from(this.optionsList.querySelectorAll('li.fi-select-input-option-group > ul > li[role="option"]'));return[...t,...e]}getSelectedOptionLabels(){if(!Array.isArray(this.state)||this.state.length===0)return{};let t={};for(let e of this.state){let i=!1;for(let o of this.options)if(o.options&&Array.isArray(o.options)){for(let s of o.options)if(s.value===e){t[e]=s.label,i=!0;break}if(i)break}else if(o.value===e){t[e]=o.label,i=!0;break}}return t}handleSearch(t){let e=t.target.value.trim();if(this.searchQuery=e,this.searchTimeout&&clearTimeout(this.searchTimeout),e===""){this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions();return}if(!this.getSearchResultsUsing||typeof this.getSearchResultsUsing!="function"||!this.hasDynamicSearchResults){this.filterOptions(e);return}this.searchTimeout=setTimeout(async()=>{this.searchTimeout=null;let i=++this.activeSearchId;this.isSearching=!0;try{this.showLoadingState(!0);let o=await this.getSearchResultsUsing(e);if(i!==this.activeSearchId||!this.isOpen)return;let s=Array.isArray(o)?o:o&&Array.isArray(o.options)?o.options:[];this.options=s,this.populateLabelRepositoryFromOptions(s),this.hideLoadingState(),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.options.length===0&&this.showNoResultsMessage()}catch(o){i===this.activeSearchId&&(console.error("Error fetching search results:",o),this.hideLoadingState(),this.options=JSON.parse(JSON.stringify(this.originalOptions)),this.renderOptions())}finally{i===this.activeSearchId&&(this.isSearching=!1)}},this.searchDebounce)}showLoadingState(t=!1){this.optionsList.parentNode===this.dropdown&&this.dropdown.removeChild(this.optionsList),this.hideLoadingState();let e=document.createElement("div");e.className="fi-select-input-message",e.textContent=t?this.searchingMessage:this.loadingMessage,this.dropdown.appendChild(e)}hideLoadingState(){let t=this.dropdown.querySelector(".fi-select-input-message");t&&t.remove()}showNoOptionsMessage(){this.optionsList.parentNode===this.dropdown&&this.dropdown.removeChild(this.optionsList),this.hideLoadingState();let t=document.createElement("div");t.className="fi-select-input-message",t.textContent=this.noOptionsMessage,this.dropdown.appendChild(t)}showNoResultsMessage(){this.optionsList.parentNode===this.dropdown&&this.dropdown.removeChild(this.optionsList),this.hideLoadingState();let t=document.createElement("div");t.className="fi-select-input-message",t.textContent=this.noSearchResultsMessage,this.dropdown.appendChild(t)}filterOptions(t){let e=this.searchableOptionFields.includes("label"),i=this.searchableOptionFields.includes("value");t=t.toLowerCase();let o=[];for(let s of this.originalOptions)if(s.options&&Array.isArray(s.options)){let r=s.options.filter(a=>e&&a.label.toLowerCase().includes(t)||i&&String(a.value).toLowerCase().includes(t));r.length>0&&o.push({label:s.label,options:r})}else(e&&s.label.toLowerCase().includes(t)||i&&String(s.value).toLowerCase().includes(t))&&o.push(s);this.options=o,this.renderOptions(),this.options.length===0&&this.showNoResultsMessage(),this.isOpen&&this.positionDropdown()}selectOption(t){if(this.isDisabled)return;if(!this.isMultiple){this.state=t,this.updateSelectedDisplay(),this.renderOptions(),this.closeDropdown(),this.selectButton.focus(),this.onStateChange(this.state);return}let e=Array.isArray(this.state)?[...this.state]:[];if(e.includes(t)){let o=this.selectedDisplay.querySelector(`[data-value="${t}"]`);if(P(o)){let s=o.parentElement;P(s)&&s.children.length===1?(e=e.filter(r=>r!==t),this.state=e,this.updateSelectedDisplay()):(o.remove(),e=e.filter(r=>r!==t),this.state=e)}else e=e.filter(s=>s!==t),this.state=e,this.updateSelectedDisplay();this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state);return}if(this.maxItems&&e.length>=this.maxItems){this.maxItemsMessage&&alert(this.maxItemsMessage);return}e.push(t),this.state=e;let i=this.selectedDisplay.querySelector(".fi-select-input-value-badges-ctn");bt(i)?this.updateSelectedDisplay():this.addSingleBadge(t,i),this.renderOptions(),this.isOpen&&this.positionDropdown(),this.maintainFocusInMultipleMode(),this.onStateChange(this.state)}async addSingleBadge(t,e){let i=this.labelRepository[t];if(bt(i)&&(i=this.getSelectedOptionLabel(t),P(i)&&(this.labelRepository[t]=i)),bt(i)&&this.getOptionLabelsUsing)try{let s=await this.getOptionLabelsUsing();for(let r of s)if(P(r)&&r.value===t&&r.label!==void 0){i=r.label,this.labelRepository[t]=i;break}}catch(s){console.error("Error fetching option label:",s)}bt(i)&&(i=t);let o=this.createBadgeElement(t,i);e.appendChild(o)}maintainFocusInMultipleMode(){if(this.isSearchable&&this.searchInput){this.searchInput.focus();return}let t=this.getVisibleOptions();if(t.length!==0){if(this.selectedIndex=-1,Array.isArray(this.state)&&this.state.length>0){for(let e=0;e{e.setAttribute("disabled","disabled"),e.classList.add("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.setAttribute("disabled","disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.setAttribute("disabled","disabled"),this.searchInput.classList.add("fi-disabled"))}else{if(this.selectButton.removeAttribute("disabled"),this.selectButton.removeAttribute("aria-disabled"),this.selectButton.classList.remove("fi-disabled"),this.isMultiple&&this.container.querySelectorAll(".fi-select-input-badge-remove").forEach(e=>{e.removeAttribute("disabled"),e.classList.remove("fi-disabled")}),!this.isMultiple&&this.canSelectPlaceholder){let t=this.container.querySelector(".fi-select-input-value-remove-btn");t&&(t.removeAttribute("disabled"),t.classList.add("fi-disabled"))}this.isSearchable&&this.searchInput&&(this.searchInput.removeAttribute("disabled"),this.searchInput.classList.remove("fi-disabled"))}}destroy(){this.selectButton&&this.buttonClickListener&&this.selectButton.removeEventListener("click",this.buttonClickListener),this.documentClickListener&&document.removeEventListener("click",this.documentClickListener),this.selectButton&&this.buttonKeydownListener&&this.selectButton.removeEventListener("keydown",this.buttonKeydownListener),this.dropdown&&this.dropdownKeydownListener&&this.dropdown.removeEventListener("keydown",this.dropdownKeydownListener),this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null),this.scrollListener&&(window.removeEventListener("scroll",this.scrollListener,!0),this.scrollListener=null),this.refreshOptionLabelListener&&window.removeEventListener("filament-forms::select.refreshSelectedOptionLabel",this.refreshOptionLabelListener),this.isOpen&&this.closeDropdown(),this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null),this.container&&this.container.remove()}};function Qn({canOptionLabelsWrap:n,canSelectPlaceholder:t,getOptionLabelUsing:e,getOptionsUsing:i,getSearchResultsUsing:o,hasDynamicOptions:s,hasDynamicSearchResults:r,hasInitialNoOptionsMessage:a,initialOptionLabel:l,isDisabled:c,isHtmlAllowed:f,isNative:d,isSearchable:p,loadingMessage:u,name:g,noOptionsMessage:m,noSearchResultsMessage:S,options:O,optionsLimit:w,placeholder:D,position:A,recordKey:C,searchableOptionFields:H,searchDebounce:q,searchingMessage:J,searchPrompt:R,state:z}){return{error:void 0,isLoading:!1,select:null,state:z,init(){d||(this.select=new Oe({canOptionLabelsWrap:n,canSelectPlaceholder:t,element:this.$refs.select,getOptionLabelUsing:e,getOptionsUsing:i,getSearchResultsUsing:o,hasDynamicOptions:s,hasDynamicSearchResults:r,hasInitialNoOptionsMessage:a,initialOptionLabel:l,isDisabled:c,isHtmlAllowed:f,isSearchable:p,loadingMessage:u,noOptionsMessage:m,noSearchResultsMessage:S,onStateChange:L=>{this.state=L},options:O,optionsLimit:w,placeholder:D,position:A,searchableOptionFields:H,searchDebounce:q,searchingMessage:J,searchPrompt:R,state:this.state})),Livewire.hook("commit",({component:L,commit:Y,succeed:B,fail:F,respond:Q})=>{B(({snapshot:V,effect:X})=>{this.$nextTick(()=>{if(this.isLoading||L.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let T=this.getServerState();T===void 0||this.getNormalizedState()===T||(this.state=T)})})}),this.$watch("state",async L=>{!d&&this.select&&this.select.state!==L&&(this.select.state=L,this.select.updateSelectedDisplay(),this.select.renderOptions());let Y=this.getServerState();if(Y===void 0||this.getNormalizedState()===Y)return;this.isLoading=!0;let B=await this.$wire.updateTableColumnState(g,C,this.state);this.error=B?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.getNormalizedState()),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[null,void 0].includes(this.$refs.serverState.value)?"":this.$refs.serverState.value.replaceAll('\\"','"')},getNormalizedState(){let L=Alpine.raw(this.state);return[null,void 0].includes(L)?"":L},destroy(){this.select&&(this.select.destroy(),this.select=null)}}}export{Qn as default}; +/*! Bundled license information: + +sortablejs/modular/sortable.esm.js: + (**! + * Sortable 1.15.6 + * @author RubaXa + * @author owenm + * @license MIT + *) +*/ diff --git a/public/js/filament/tables/components/columns/text-input.js b/public/js/filament/tables/components/columns/text-input.js new file mode 100644 index 000000000..ebc15284a --- /dev/null +++ b/public/js/filament/tables/components/columns/text-input.js @@ -0,0 +1 @@ +function o({name:i,recordKey:s,state:a}){return{error:void 0,isLoading:!1,state:a,init(){Livewire.hook("commit",({component:e,commit:r,succeed:n,fail:d,respond:u})=>{n(({snapshot:f,effect:h})=>{this.$nextTick(()=>{if(this.isLoading||e.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let t=this.getServerState();t===void 0||this.getNormalizedState()===t||(this.state=t)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||this.getNormalizedState()===e)return;this.isLoading=!0;let r=await this.$wire.updateTableColumnState(i,s,this.state);this.error=r?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.getNormalizedState()),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[null,void 0].includes(this.$refs.serverState.value)?"":this.$refs.serverState.value.replaceAll('\\"','"')},getNormalizedState(){let e=Alpine.raw(this.state);return[null,void 0].includes(e)?"":e}}}export{o as default}; diff --git a/public/js/filament/tables/components/columns/toggle.js b/public/js/filament/tables/components/columns/toggle.js new file mode 100644 index 000000000..f177b3ca2 --- /dev/null +++ b/public/js/filament/tables/components/columns/toggle.js @@ -0,0 +1 @@ +function o({name:i,recordKey:s,state:a}){return{error:void 0,isLoading:!1,state:a,init(){Livewire.hook("commit",({component:e,commit:r,succeed:n,fail:h,respond:u})=>{n(({snapshot:f,effect:d})=>{this.$nextTick(()=>{if(this.isLoading||e.id!==this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value)return;let t=this.getServerState();t===void 0||Alpine.raw(this.state)===t||(this.state=t)})})}),this.$watch("state",async()=>{let e=this.getServerState();if(e===void 0||Alpine.raw(this.state)===e)return;this.isLoading=!0;let r=await this.$wire.updateTableColumnState(i,s,this.state);this.error=r?.error??void 0,!this.error&&this.$refs.serverState&&(this.$refs.serverState.value=this.state?"1":"0"),this.isLoading=!1})},getServerState(){if(this.$refs.serverState)return[1,"1"].includes(this.$refs.serverState.value)}}}export{o as default}; diff --git a/public/js/filament/tables/components/table.js b/public/js/filament/tables/components/table.js index 1c72d1353..4e3ce3a94 100644 --- a/public/js/filament/tables/components/table.js +++ b/public/js/filament/tables/components/table.js @@ -1 +1 @@ -function c(){return{collapsedGroups:[],isLoading:!1,selectedRecords:[],shouldCheckUniqueSelection:!0,init:function(){this.$wire.$on("deselectAllTableRecords",()=>this.deselectAllRecords()),this.$watch("selectedRecords",()=>{if(!this.shouldCheckUniqueSelection){this.shouldCheckUniqueSelection=!0;return}this.selectedRecords=[...new Set(this.selectedRecords)],this.shouldCheckUniqueSelection=!1})},mountAction:function(e,s=null){this.$wire.set("selectedTableRecords",this.selectedRecords,!1),this.$wire.mountTableAction(e,s)},mountBulkAction:function(e){this.$wire.set("selectedTableRecords",this.selectedRecords,!1),this.$wire.mountTableBulkAction(e)},toggleSelectRecordsOnPage:function(){let e=this.getRecordsOnPage();if(this.areRecordsSelected(e)){this.deselectRecords(e);return}this.selectRecords(e)},toggleSelectRecordsInGroup:async function(e){if(this.isLoading=!0,this.areRecordsSelected(this.getRecordsInGroupOnPage(e))){this.deselectRecords(await this.$wire.getGroupedSelectableTableRecordKeys(e));return}this.selectRecords(await this.$wire.getGroupedSelectableTableRecordKeys(e)),this.isLoading=!1},getRecordsInGroupOnPage:function(e){let s=[];for(let t of this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[])t.dataset.group===e&&s.push(t.value);return s},getRecordsOnPage:function(){let e=[];for(let s of this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[])e.push(s.value);return e},selectRecords:function(e){for(let s of e)this.isRecordSelected(s)||this.selectedRecords.push(s)},deselectRecords:function(e){for(let s of e){let t=this.selectedRecords.indexOf(s);t!==-1&&this.selectedRecords.splice(t,1)}},selectAllRecords:async function(){this.isLoading=!0,this.selectedRecords=await this.$wire.getAllSelectableTableRecordKeys(),this.isLoading=!1},deselectAllRecords:function(){this.selectedRecords=[]},isRecordSelected:function(e){return this.selectedRecords.includes(e)},areRecordsSelected:function(e){return e.every(s=>this.isRecordSelected(s))},toggleCollapseGroup:function(e){if(this.isGroupCollapsed(e)){this.collapsedGroups.splice(this.collapsedGroups.indexOf(e),1);return}this.collapsedGroups.push(e)},isGroupCollapsed:function(e){return this.collapsedGroups.includes(e)},resetCollapsedGroups:function(){this.collapsedGroups=[]}}}export{c as default}; +function d(){return{checkboxClickController:null,collapsedGroups:[],isLoading:!1,selectedRecords:[],shouldCheckUniqueSelection:!0,lastCheckedRecord:null,livewireId:null,init:function(){this.livewireId=this.$root.closest("[wire\\:id]").attributes["wire:id"].value,this.$wire.$on("deselectAllTableRecords",()=>this.deselectAllRecords()),this.$watch("selectedRecords",()=>{if(!this.shouldCheckUniqueSelection){this.shouldCheckUniqueSelection=!0;return}this.selectedRecords=[...new Set(this.selectedRecords)],this.shouldCheckUniqueSelection=!1}),this.$nextTick(()=>this.watchForCheckboxClicks()),Livewire.hook("element.init",({component:e})=>{e.id===this.livewireId&&this.watchForCheckboxClicks()})},mountAction:function(e,t=null){this.$wire.set("selectedTableRecords",this.selectedRecords,!1),this.$wire.mountTableAction(e,t)},mountBulkAction:function(e){this.$wire.set("selectedTableRecords",this.selectedRecords,!1),this.$wire.mountTableBulkAction(e)},toggleSelectRecordsOnPage:function(){let e=this.getRecordsOnPage();if(this.areRecordsSelected(e)){this.deselectRecords(e);return}this.selectRecords(e)},toggleSelectRecordsInGroup:async function(e){this.isLoading=!0;let t=await this.$wire.getGroupedSelectableTableRecordKeys(e);this.areRecordsSelected(this.getRecordsInGroupOnPage(e))?this.deselectRecords(t):this.selectRecords(t),this.isLoading=!1},getRecordsInGroupOnPage:function(e){let t=[];for(let s of this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[])s.dataset.group===e&&t.push(s.value);return t},getRecordsOnPage:function(){let e=[];for(let t of this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[])e.push(t.value);return e},selectRecords:function(e){for(let t of e)this.isRecordSelected(t)||this.selectedRecords.push(t)},deselectRecords:function(e){for(let t of e){let s=this.selectedRecords.indexOf(t);s!==-1&&this.selectedRecords.splice(s,1)}},selectAllRecords:async function(){this.isLoading=!0,this.selectedRecords=await this.$wire.getAllSelectableTableRecordKeys(),this.isLoading=!1},deselectAllRecords:function(){this.selectedRecords=[]},isRecordSelected:function(e){return this.selectedRecords.includes(e)},areRecordsSelected:function(e){return e.every(t=>this.isRecordSelected(t))},toggleCollapseGroup:function(e){if(this.isGroupCollapsed(e)){this.collapsedGroups.splice(this.collapsedGroups.indexOf(e),1);return}this.collapsedGroups.push(e)},isGroupCollapsed:function(e){return this.collapsedGroups.includes(e)},resetCollapsedGroups:function(){this.collapsedGroups=[]},watchForCheckboxClicks:function(){this.checkboxClickController&&this.checkboxClickController.abort(),this.checkboxClickController=new AbortController;let{signal:e}=this.checkboxClickController;this.$root?.addEventListener("click",t=>t.target?.matches(".fi-ta-record-checkbox")&&this.handleCheckboxClick(t,t.target),{signal:e})},handleCheckboxClick:function(e,t){if(!this.lastChecked){this.lastChecked=t;return}if(e.shiftKey){let s=Array.from(this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[]);if(!s.includes(this.lastChecked)){this.lastChecked=t;return}let l=s.indexOf(this.lastChecked),r=s.indexOf(t),o=[l,r].sort((c,n)=>c-n),i=[];for(let c=o[0];c<=o[1];c++)s[c].checked=t.checked,i.push(s[c].value);t.checked?this.selectRecords(i):this.deselectRecords(i)}this.lastChecked=t}}}export{d as default}; diff --git a/public/js/filament/tables/tables.js b/public/js/filament/tables/tables.js index 8a04fd2e0..40046a94b 100644 --- a/public/js/filament/tables/tables.js +++ b/public/js/filament/tables/tables.js @@ -1 +1 @@ -(()=>{})(); +(()=>{var M=Math.min,L=Math.max,B=Math.round,W=Math.floor,S=e=>({x:e,y:e});function q(e,t,i){return L(e,M(t,i))}function j(e,t){return typeof e=="function"?e(t):e}function H(e){return e.split("-")[0]}function Q(e){return e.split("-")[1]}function Z(e){return e==="x"?"y":"x"}function oe(e){return e==="y"?"height":"width"}var Pe=new Set(["top","bottom"]);function z(e){return Pe.has(H(e))?"y":"x"}function se(e){return Z(z(e))}function De(e){return{top:0,right:0,bottom:0,left:0,...e}}function re(e){return typeof e!="number"?De(e):{top:e,right:e,bottom:e,left:e}}function E(e){let{x:t,y:i,width:n,height:s}=e;return{width:n,height:s,top:i,left:t,right:t+n,bottom:i+s,x:t,y:i}}function le(e,t,i){let{reference:n,floating:s}=e,l=z(t),o=se(t),r=oe(o),c=H(t),a=l==="y",f=n.x+n.width/2-s.width/2,d=n.y+n.height/2-s.height/2,h=n[r]/2-s[r]/2,u;switch(c){case"top":u={x:f,y:n.y-s.height};break;case"bottom":u={x:f,y:n.y+n.height};break;case"right":u={x:n.x+n.width,y:d};break;case"left":u={x:n.x-s.width,y:d};break;default:u={x:n.x,y:n.y}}switch(Q(t)){case"start":u[o]-=h*(i&&a?-1:1);break;case"end":u[o]+=h*(i&&a?-1:1);break}return u}var ce=async(e,t,i)=>{let{placement:n="bottom",strategy:s="absolute",middleware:l=[],platform:o}=i,r=l.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t)),a=await o.getElementRects({reference:e,floating:t,strategy:s}),{x:f,y:d}=le(a,n,c),h=n,u={},m=0;for(let p=0;p{let{x:g,y:x}=w;return{x:g,y:x}}},...c}=j(e,t),a={x:i,y:n},f=await ae(t,c),d=z(H(s)),h=Z(d),u=a[h],m=a[d];if(l){let w=h==="y"?"top":"left",g=h==="y"?"bottom":"right",x=u+f[w],y=u-f[g];u=q(x,u,y)}if(o){let w=d==="y"?"top":"left",g=d==="y"?"bottom":"right",x=m+f[w],y=m-f[g];m=q(x,m,y)}let p=r.fn({...t,[h]:u,[d]:m});return{...p,data:{x:p.x-i,y:p.y-n,enabled:{[h]:l,[d]:o}}}}}};function X(){return typeof window<"u"}function P(e){return he(e)?(e.nodeName||"").toLowerCase():"#document"}function v(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function O(e){var t;return(t=(he(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function he(e){return X()?e instanceof Node||e instanceof v(e).Node:!1}function R(e){return X()?e instanceof Element||e instanceof v(e).Element:!1}function T(e){return X()?e instanceof HTMLElement||e instanceof v(e).HTMLElement:!1}function ue(e){return!X()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof v(e).ShadowRoot}var $e=new Set(["inline","contents"]);function N(e){let{overflow:t,overflowX:i,overflowY:n,display:s}=C(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+i)&&!$e.has(s)}var Ne=new Set(["table","td","th"]);function me(e){return Ne.has(P(e))}var Ve=[":popover-open",":modal"];function _(e){return Ve.some(t=>{try{return e.matches(t)}catch{return!1}})}var Be=["transform","translate","scale","rotate","perspective"],We=["transform","translate","scale","rotate","perspective","filter"],He=["paint","layout","strict","content"];function Y(e){let t=G(),i=R(e)?C(e):e;return Be.some(n=>i[n]?i[n]!=="none":!1)||(i.containerType?i.containerType!=="normal":!1)||!t&&(i.backdropFilter?i.backdropFilter!=="none":!1)||!t&&(i.filter?i.filter!=="none":!1)||We.some(n=>(i.willChange||"").includes(n))||He.some(n=>(i.contain||"").includes(n))}function ge(e){let t=k(e);for(;T(t)&&!D(t);){if(Y(t))return t;if(_(t))return null;t=k(t)}return null}function G(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var ze=new Set(["html","body","#document"]);function D(e){return ze.has(P(e))}function C(e){return v(e).getComputedStyle(e)}function I(e){return R(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function k(e){if(P(e)==="html")return e;let t=e.assignedSlot||e.parentNode||ue(e)&&e.host||O(e);return ue(t)?t.host:t}function pe(e){let t=k(e);return D(t)?e.ownerDocument?e.ownerDocument.body:e.body:T(t)&&N(t)?t:pe(t)}function $(e,t,i){var n;t===void 0&&(t=[]),i===void 0&&(i=!0);let s=pe(e),l=s===((n=e.ownerDocument)==null?void 0:n.body),o=v(s);if(l){let r=J(o);return t.concat(o,o.visualViewport||[],N(s)?s:[],r&&i?$(r):[])}return t.concat(s,$(s,[],i))}function J(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function be(e){let t=C(e),i=parseFloat(t.width)||0,n=parseFloat(t.height)||0,s=T(e),l=s?e.offsetWidth:i,o=s?e.offsetHeight:n,r=B(i)!==l||B(n)!==o;return r&&(i=l,n=o),{width:i,height:n,$:r}}function te(e){return R(e)?e:e.contextElement}function V(e){let t=te(e);if(!T(t))return S(1);let i=t.getBoundingClientRect(),{width:n,height:s,$:l}=be(t),o=(l?B(i.width):i.width)/n,r=(l?B(i.height):i.height)/s;return(!o||!Number.isFinite(o))&&(o=1),(!r||!Number.isFinite(r))&&(r=1),{x:o,y:r}}var _e=S(0);function ve(e){let t=v(e);return!G()||!t.visualViewport?_e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ie(e,t,i){return t===void 0&&(t=!1),!i||t&&i!==v(e)?!1:t}function F(e,t,i,n){t===void 0&&(t=!1),i===void 0&&(i=!1);let s=e.getBoundingClientRect(),l=te(e),o=S(1);t&&(n?R(n)&&(o=V(n)):o=V(e));let r=Ie(l,i,n)?ve(l):S(0),c=(s.left+r.x)/o.x,a=(s.top+r.y)/o.y,f=s.width/o.x,d=s.height/o.y;if(l){let h=v(l),u=n&&R(n)?v(n):n,m=h,p=J(m);for(;p&&n&&u!==m;){let w=V(p),g=p.getBoundingClientRect(),x=C(p),y=g.left+(p.clientLeft+parseFloat(x.paddingLeft))*w.x,A=g.top+(p.clientTop+parseFloat(x.paddingTop))*w.y;c*=w.x,a*=w.y,f*=w.x,d*=w.y,c+=y,a+=A,m=v(p),p=J(m)}}return E({width:f,height:d,x:c,y:a})}function K(e,t){let i=I(e).scrollLeft;return t?t.left+i:F(O(e)).left+i}function Re(e,t){let i=e.getBoundingClientRect(),n=i.left+t.scrollLeft-K(e,i),s=i.top+t.scrollTop;return{x:n,y:s}}function Ue(e){let{elements:t,rect:i,offsetParent:n,strategy:s}=e,l=s==="fixed",o=O(n),r=t?_(t.floating):!1;if(n===o||r&&l)return i;let c={scrollLeft:0,scrollTop:0},a=S(1),f=S(0),d=T(n);if((d||!d&&!l)&&((P(n)!=="body"||N(o))&&(c=I(n)),T(n))){let u=F(n);a=V(n),f.x=u.x+n.clientLeft,f.y=u.y+n.clientTop}let h=o&&!d&&!l?Re(o,c):S(0);return{width:i.width*a.x,height:i.height*a.y,x:i.x*a.x-c.scrollLeft*a.x+f.x+h.x,y:i.y*a.y-c.scrollTop*a.y+f.y+h.y}}function je(e){return Array.from(e.getClientRects())}function Xe(e){let t=O(e),i=I(e),n=e.ownerDocument.body,s=L(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),l=L(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),o=-i.scrollLeft+K(e),r=-i.scrollTop;return C(n).direction==="rtl"&&(o+=L(t.clientWidth,n.clientWidth)-s),{width:s,height:l,x:o,y:r}}var we=25;function Ye(e,t){let i=v(e),n=O(e),s=i.visualViewport,l=n.clientWidth,o=n.clientHeight,r=0,c=0;if(s){l=s.width,o=s.height;let f=G();(!f||f&&t==="fixed")&&(r=s.offsetLeft,c=s.offsetTop)}let a=K(n);if(a<=0){let f=n.ownerDocument,d=f.body,h=getComputedStyle(d),u=f.compatMode==="CSS1Compat"&&parseFloat(h.marginLeft)+parseFloat(h.marginRight)||0,m=Math.abs(n.clientWidth-d.clientWidth-u);m<=we&&(l-=m)}else a<=we&&(l+=a);return{width:l,height:o,x:r,y:c}}var Ge=new Set(["absolute","fixed"]);function Je(e,t){let i=F(e,!0,t==="fixed"),n=i.top+e.clientTop,s=i.left+e.clientLeft,l=T(e)?V(e):S(1),o=e.clientWidth*l.x,r=e.clientHeight*l.y,c=s*l.x,a=n*l.y;return{width:o,height:r,x:c,y:a}}function xe(e,t,i){let n;if(t==="viewport")n=Ye(e,i);else if(t==="document")n=Xe(O(e));else if(R(t))n=Je(t,i);else{let s=ve(e);n={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return E(n)}function Ce(e,t){let i=k(e);return i===t||!R(i)||D(i)?!1:C(i).position==="fixed"||Ce(i,t)}function Ke(e,t){let i=t.get(e);if(i)return i;let n=$(e,[],!1).filter(r=>R(r)&&P(r)!=="body"),s=null,l=C(e).position==="fixed",o=l?k(e):e;for(;R(o)&&!D(o);){let r=C(o),c=Y(o);!c&&r.position==="fixed"&&(s=null),(l?!c&&!s:!c&&r.position==="static"&&!!s&&Ge.has(s.position)||N(o)&&!c&&Ce(e,o))?n=n.filter(f=>f!==o):s=r,o=k(o)}return t.set(e,n),n}function qe(e){let{element:t,boundary:i,rootBoundary:n,strategy:s}=e,o=[...i==="clippingAncestors"?_(t)?[]:Ke(t,this._c):[].concat(i),n],r=o[0],c=o.reduce((a,f)=>{let d=xe(t,f,s);return a.top=L(d.top,a.top),a.right=M(d.right,a.right),a.bottom=M(d.bottom,a.bottom),a.left=L(d.left,a.left),a},xe(t,r,s));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function Qe(e){let{width:t,height:i}=be(e);return{width:t,height:i}}function Ze(e,t,i){let n=T(t),s=O(t),l=i==="fixed",o=F(e,!0,l,t),r={scrollLeft:0,scrollTop:0},c=S(0);function a(){c.x=K(s)}if(n||!n&&!l)if((P(t)!=="body"||N(s))&&(r=I(t)),n){let u=F(t,!0,l,t);c.x=u.x+t.clientLeft,c.y=u.y+t.clientTop}else s&&a();l&&!n&&s&&a();let f=s&&!n&&!l?Re(s,r):S(0),d=o.left+r.scrollLeft-c.x-f.x,h=o.top+r.scrollTop-c.y-f.y;return{x:d,y:h,width:o.width,height:o.height}}function ee(e){return C(e).position==="static"}function ye(e,t){if(!T(e)||C(e).position==="fixed")return null;if(t)return t(e);let i=e.offsetParent;return O(e)===i&&(i=i.ownerDocument.body),i}function Ae(e,t){let i=v(e);if(_(e))return i;if(!T(e)){let s=k(e);for(;s&&!D(s);){if(R(s)&&!ee(s))return s;s=k(s)}return i}let n=ye(e,t);for(;n&&me(n)&&ee(n);)n=ye(n,t);return n&&D(n)&&ee(n)&&!Y(n)?i:n||ge(e)||i}var et=async function(e){let t=this.getOffsetParent||Ae,i=this.getDimensions,n=await i(e.floating);return{reference:Ze(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function tt(e){return C(e).direction==="rtl"}var nt={convertOffsetParentRelativeRectToViewportRelativeRect:Ue,getDocumentElement:O,getClippingRect:qe,getOffsetParent:Ae,getElementRects:et,getClientRects:je,getDimensions:Qe,getScale:V,isElement:R,isRTL:tt};function Se(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function it(e,t){let i=null,n,s=O(e);function l(){var r;clearTimeout(n),(r=i)==null||r.disconnect(),i=null}function o(r,c){r===void 0&&(r=!1),c===void 0&&(c=1),l();let a=e.getBoundingClientRect(),{left:f,top:d,width:h,height:u}=a;if(r||t(),!h||!u)return;let m=W(d),p=W(s.clientWidth-(f+h)),w=W(s.clientHeight-(d+u)),g=W(f),y={rootMargin:-m+"px "+-p+"px "+-w+"px "+-g+"px",threshold:L(0,M(1,c))||1},A=!0;function b(ie){let U=ie[0].intersectionRatio;if(U!==c){if(!A)return o();U?o(!1,U):n=setTimeout(()=>{o(!1,1e-7)},1e3)}U===1&&!Se(a,e.getBoundingClientRect())&&o(),A=!1}try{i=new IntersectionObserver(b,{...y,root:s.ownerDocument})}catch{i=new IntersectionObserver(b,y)}i.observe(e)}return o(!0),l}function Oe(e,t,i,n){n===void 0&&(n={});let{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,a=te(e),f=s||l?[...a?$(a):[],...$(t)]:[];f.forEach(g=>{s&&g.addEventListener("scroll",i,{passive:!0}),l&&g.addEventListener("resize",i)});let d=a&&r?it(a,i):null,h=-1,u=null;o&&(u=new ResizeObserver(g=>{let[x]=g;x&&x.target===a&&u&&(u.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var y;(y=u)==null||y.observe(t)})),i()}),a&&!c&&u.observe(a),u.observe(t));let m,p=c?F(e):null;c&&w();function w(){let g=F(e);p&&!Se(p,g)&&i(),p=g,m=requestAnimationFrame(w)}return i(),()=>{var g;f.forEach(x=>{s&&x.removeEventListener("scroll",i),l&&x.removeEventListener("resize",i)}),d?.(),(g=u)==null||g.disconnect(),u=null,c&&cancelAnimationFrame(m)}}var Te=fe;var Le=de;var ke=(e,t,i)=>{let n=new Map,s={platform:nt,...i},l={...s.platform,_c:n};return ce(e,t,{...s,platform:l})};var Ee=({areGroupsCollapsedByDefault:e,canTrackDeselectedRecords:t,currentSelectionLivewireProperty:i,maxSelectableRecords:n,selectsCurrentPageOnly:s,$wire:l})=>({areFiltersOpen:!1,checkboxClickController:null,groupVisibility:[],isLoading:!1,selectedRecords:new Set,deselectedRecords:new Set,isTrackingDeselectedRecords:!1,shouldCheckUniqueSelection:!0,lastCheckedRecord:null,livewireId:null,entangledSelectedRecords:i?l.$entangle(i):null,cleanUpFiltersDropdown:null,init(){this.livewireId=this.$root.closest("[wire\\:id]")?.attributes["wire:id"].value,l.$on("deselectAllTableRecords",()=>this.deselectAllRecords()),l.$on("scrollToTopOfTable",()=>this.$root.scrollIntoView({block:"start",inline:"nearest"})),i&&(n!==1?this.selectedRecords=new Set(this.entangledSelectedRecords):this.selectedRecords=new Set(this.entangledSelectedRecords?[this.entangledSelectedRecords]:[])),this.$nextTick(()=>this.watchForCheckboxClicks()),Livewire.hook("element.init",({component:o})=>{o.id===this.livewireId&&this.watchForCheckboxClicks()})},mountAction(...o){l.set("isTrackingDeselectedTableRecords",this.isTrackingDeselectedRecords,!1),l.set("selectedTableRecords",[...this.selectedRecords],!1),l.set("deselectedTableRecords",[...this.deselectedRecords],!1),l.mountAction(...o)},toggleSelectRecordsOnPage(){let o=this.getRecordsOnPage();if(this.areRecordsSelected(o)){this.deselectRecords(o);return}this.selectRecords(o)},toggleSelectRecords(o){this.areRecordsSelected(o)?this.deselectRecords(o):this.selectRecords(o)},getSelectedRecordsCount(){return this.isTrackingDeselectedRecords?(this.$refs.allSelectableRecordsCount?.value??this.deselectedRecords.size)-this.deselectedRecords.size:this.selectedRecords.size},getRecordsOnPage(){let o=[];for(let r of this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[])o.push(r.value);return o},selectRecords(o){n===1&&(this.deselectAllRecords(),o=o.slice(0,1));for(let r of o)if(!this.isRecordSelected(r)){if(this.isTrackingDeselectedRecords){this.deselectedRecords.delete(r);continue}this.selectedRecords.add(r)}this.updatedSelectedRecords()},deselectRecords(o){for(let r of o){if(this.isTrackingDeselectedRecords){this.deselectedRecords.add(r);continue}this.selectedRecords.delete(r)}this.updatedSelectedRecords()},updatedSelectedRecords(){if(n!==1){this.entangledSelectedRecords=[...this.selectedRecords];return}this.entangledSelectedRecords=[...this.selectedRecords][0]??null},toggleSelectedRecord(o){if(this.isRecordSelected(o)){this.deselectRecords([o]);return}this.selectRecords([o])},async selectAllRecords(){if(!t||s){this.isLoading=!0,this.selectedRecords=new Set(await l.getAllSelectableTableRecordKeys()),this.updatedSelectedRecords(),this.isLoading=!1;return}this.isTrackingDeselectedRecords=!0,this.selectedRecords=new Set,this.deselectedRecords=new Set,this.updatedSelectedRecords()},canSelectAllRecords(){if(s){let c=this.getRecordsOnPage();return!this.areRecordsSelected(c)&&this.areRecordsToggleable(c)}let o=parseInt(this.$refs.allSelectableRecordsCount?.value);if(!o)return!1;let r=this.getSelectedRecordsCount();return o===r?!1:n===null||o<=n},deselectAllRecords(){this.isTrackingDeselectedRecords=!1,this.selectedRecords=new Set,this.deselectedRecords=new Set,this.updatedSelectedRecords()},isRecordSelected(o){return this.isTrackingDeselectedRecords?!this.deselectedRecords.has(o):this.selectedRecords.has(o)},areRecordsSelected(o){return o.every(r=>this.isRecordSelected(r))},areRecordsToggleable(o){if(n===null||n===1)return!0;let r=o.filter(c=>this.isRecordSelected(c));return r.length===o.length?!0:this.getSelectedRecordsCount()+(o.length-r.length)<=n},toggleCollapseGroup(o){this.isGroupCollapsed(o)?e?this.groupVisibility.push(o):this.groupVisibility.splice(this.groupVisibility.indexOf(o),1):e?this.groupVisibility.splice(this.groupVisibility.indexOf(o),1):this.groupVisibility.push(o)},isGroupCollapsed(o){return e?!this.groupVisibility.includes(o):this.groupVisibility.includes(o)},resetCollapsedGroups(){this.groupVisibility=[]},watchForCheckboxClicks(){this.checkboxClickController&&this.checkboxClickController.abort(),this.checkboxClickController=new AbortController;let{signal:o}=this.checkboxClickController;this.$root?.addEventListener("click",r=>r.target?.matches(".fi-ta-record-checkbox")&&this.handleCheckboxClick(r,r.target),{signal:o})},handleCheckboxClick(o,r){if(!this.lastChecked){this.lastChecked=r;return}if(o.shiftKey){let c=Array.from(this.$root?.getElementsByClassName("fi-ta-record-checkbox")??[]);if(!c.includes(this.lastChecked)){this.lastChecked=r;return}let a=c.indexOf(this.lastChecked),f=c.indexOf(r),d=[a,f].sort((u,m)=>u-m),h=[];for(let u=d[0];u<=d[1];u++)h.push(c[u].value);if(r.checked){if(!this.areRecordsToggleable(h)){r.checked=!1,this.deselectRecords([r.value]);return}this.selectRecords(h)}else this.deselectRecords(h)}this.lastChecked=r},toggleFiltersDropdown(){if(this.areFiltersOpen=!this.areFiltersOpen,this.areFiltersOpen){let o=Oe(this.$refs.filtersTriggerActionContainer,this.$refs.filtersContentContainer,async()=>{let{x:a,y:f}=await ke(this.$refs.filtersTriggerActionContainer,this.$refs.filtersContentContainer,{placement:"bottom-end",middleware:[Te(8),Le({padding:8})]});Object.assign(this.$refs.filtersContentContainer.style,{left:`${a}px`,top:`${f}px`})}),r=a=>{let f=this.$refs.filtersTriggerActionContainer,d=this.$refs.filtersContentContainer;d&&d.contains(a.target)||f&&f.contains(a.target)||(this.areFiltersOpen=!1,this.cleanUpFiltersDropdown&&(this.cleanUpFiltersDropdown(),this.cleanUpFiltersDropdown=null))};document.addEventListener("mousedown",r),document.addEventListener("touchstart",r,{passive:!0});let c=a=>{a.key==="Escape"&&r(a)};document.addEventListener("keydown",c),this.cleanUpFiltersDropdown=()=>{o(),document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r,{passive:!0}),document.removeEventListener("keydown",c)}}else this.cleanUpFiltersDropdown&&(this.cleanUpFiltersDropdown(),this.cleanUpFiltersDropdown=null)}});function ne({columns:e,isLive:t}){return{error:void 0,isLoading:!1,deferredColumns:[],columns:e,isLive:t,hasReordered:!1,init(){if(!this.columns||this.columns.length===0){this.columns=[];return}this.deferredColumns=JSON.parse(JSON.stringify(this.columns)),this.$watch("columns",()=>{this.resetDeferredColumns()})},get groupedColumns(){let i={};return this.deferredColumns.filter(n=>n.type==="group").forEach(n=>{i[n.name]=this.calculateGroupedColumns(n)}),i},calculateGroupedColumns(i){if((i?.columns?.filter(r=>!r.isHidden)??[]).length===0)return{hidden:!0,checked:!1,disabled:!1,indeterminate:!1};let s=i.columns.filter(r=>!r.isHidden&&r.isToggleable!==!1);if(s.length===0)return{checked:!0,disabled:!0,indeterminate:!1};let l=s.filter(r=>r.isToggled).length,o=i.columns.filter(r=>!r.isHidden&&r.isToggleable===!1);return l===0&&o.length>0?{checked:!0,disabled:!1,indeterminate:!0}:l===0?{checked:!1,disabled:!1,indeterminate:!1}:l===s.length?{checked:!0,disabled:!1,indeterminate:!1}:{checked:!0,disabled:!1,indeterminate:!0}},getColumn(i,n=null){return n?this.deferredColumns.find(l=>l.type==="group"&&l.name===n)?.columns?.find(l=>l.name===i):this.deferredColumns.find(s=>s.name===i)},toggleGroup(i){let n=this.deferredColumns.find(c=>c.type==="group"&&c.name===i);if(!n?.columns)return;let s=this.calculateGroupedColumns(n);if(s.disabled)return;let o=n.columns.filter(c=>c.isToggleable!==!1).some(c=>c.isToggled),r=s.indeterminate?!0:!o;n.columns.filter(c=>c.isToggleable!==!1).forEach(c=>{c.isToggled=r}),this.deferredColumns=[...this.deferredColumns],this.isLive&&this.applyTableColumnManager()},toggleColumn(i,n=null){let s=this.getColumn(i,n);!s||s.isToggleable===!1||(s.isToggled=!s.isToggled,this.deferredColumns=[...this.deferredColumns],this.isLive&&this.applyTableColumnManager())},reorderColumns(i){let n=i.map(s=>s.split("::"));this.reorderTopLevel(n),this.hasReordered=!0,this.isLive&&this.applyTableColumnManager()},reorderGroupColumns(i,n){let s=this.deferredColumns.find(r=>r.type==="group"&&r.name===n);if(!s)return;let l=i.map(r=>r.split("::")),o=[];l.forEach(([r,c])=>{let a=s.columns.find(f=>f.name===c);a&&o.push(a)}),s.columns=o,this.deferredColumns=[...this.deferredColumns],this.hasReordered=!0,this.isLive&&this.applyTableColumnManager()},reorderTopLevel(i){let n=this.deferredColumns,s=[];i.forEach(([l,o])=>{let r=n.find(c=>l==="group"?c.type==="group"&&c.name===o:l==="column"?c.type!=="group"&&c.name===o:!1);r&&s.push(r)}),this.deferredColumns=s},async applyTableColumnManager(){this.isLoading=!0;try{this.columns=JSON.parse(JSON.stringify(this.deferredColumns)),await this.$wire.call("applyTableColumnManager",this.columns,this.hasReordered),this.hasReordered=!1,this.error=void 0}catch(i){this.error="Failed to update column visibility",console.error("Table toggle columns error:",i)}finally{this.isLoading=!1}},resetDeferredColumns(){this.deferredColumns=JSON.parse(JSON.stringify(this.columns)),this.hasReordered=!1}}}document.addEventListener("alpine:init",()=>{window.Alpine.data("filamentTable",Ee),window.Alpine.data("filamentTableColumnManager",ne)});})(); diff --git a/public/js/filament/widgets/components/chart.js b/public/js/filament/widgets/components/chart.js index 4eb6c8cef..834fbfe99 100644 --- a/public/js/filament/widgets/components/chart.js +++ b/public/js/filament/widgets/components/chart.js @@ -1,29 +1,22 @@ -function Ft(){}var Mo=function(){let s=0;return function(){return s++}}();function R(s){return s===null||typeof s>"u"}function $(s){if(Array.isArray&&Array.isArray(s))return!0;let t=Object.prototype.toString.call(s);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function A(s){return s!==null&&Object.prototype.toString.call(s)==="[object Object]"}var K=s=>(typeof s=="number"||s instanceof Number)&&isFinite(+s);function mt(s,t){return K(s)?s:t}function I(s,t){return typeof s>"u"?t:s}var To=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100:s/t,Tn=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100*t:+s;function j(s,t,e){if(s&&typeof s.call=="function")return s.apply(e,t)}function H(s,t,e,i){let n,r,o;if($(s))if(r=s.length,i)for(n=r-1;n>=0;n--)t.call(e,s[n],n);else for(n=0;ns,x:s=>s.x,y:s=>s.y};function Bt(s,t){return(co[t]||(co[t]=Tc(t)))(s)}function Tc(s){let t=vc(s);return e=>{for(let i of t){if(i==="")break;e=e&&e[i]}return e}}function vc(s){let t=s.split("."),e=[],i="";for(let n of t)i+=n,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function Mi(s){return s.charAt(0).toUpperCase()+s.slice(1)}var ft=s=>typeof s<"u",Ht=s=>typeof s=="function",vn=(s,t)=>{if(s.size!==t.size)return!1;for(let e of s)if(!t.has(e))return!1;return!0};function Oo(s){return s.type==="mouseup"||s.type==="click"||s.type==="contextmenu"}var Y=Math.PI,B=2*Y,Oc=B+Y,wi=Number.POSITIVE_INFINITY,Dc=Y/180,Z=Y/2,gs=Y/4,ho=Y*2/3,gt=Math.log10,Tt=Math.sign;function On(s){let t=Math.round(s);s=Ne(s,t,s/1e3)?t:s;let e=Math.pow(10,Math.floor(gt(s))),i=s/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function Do(s){let t=[],e=Math.sqrt(s),i;for(i=1;in-r).pop(),t}function pe(s){return!isNaN(parseFloat(s))&&isFinite(s)}function Ne(s,t,e){return Math.abs(s-t)=s}function Dn(s,t,e){let i,n,r;for(i=0,n=s.length;il&&c=Math.min(t,e)-i&&s<=Math.max(t,e)+i}function vi(s,t,e){e=e||(o=>s[o]1;)r=n+i>>1,e(r)?n=r:i=r;return{lo:n,hi:i}}var Ct=(s,t,e,i)=>vi(s,e,i?n=>s[n][t]<=e:n=>s[n][t]vi(s,e,i=>s[i][t]>=e);function Fo(s,t,e){let i=0,n=s.length;for(;ii&&s[n-1]>e;)n--;return i>0||n{let i="_onData"+Mi(e),n=s[e];Object.defineProperty(s,e,{configurable:!0,enumerable:!1,value(...r){let o=n.apply(this,r);return s._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...r)}),o}})})}function Cn(s,t){let e=s._chartjs;if(!e)return;let i=e.listeners,n=i.indexOf(t);n!==-1&&i.splice(n,1),!(i.length>0)&&(Ao.forEach(r=>{delete s[r]}),delete s._chartjs)}function Fn(s){let t=new Set,e,i;for(e=0,i=s.length;e"u"?function(s){return s()}:window.requestAnimationFrame}();function Ln(s,t,e){let i=e||(o=>Array.prototype.slice.call(o)),n=!1,r=[];return function(...o){r=i(o),n||(n=!0,An.call(window,()=>{n=!1,s.apply(t,r)}))}}function Po(s,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(s,t,i)):s.apply(this,i),t}}var Oi=s=>s==="start"?"left":s==="end"?"right":"center",ot=(s,t,e)=>s==="start"?t:s==="end"?e:(t+e)/2,No=(s,t,e,i)=>s===(i?"left":"right")?e:s==="center"?(t+e)/2:t;function Pn(s,t,e){let i=t.length,n=0,r=i;if(s._sorted){let{iScale:o,_parsed:a}=s,l=o.axis,{min:c,max:h,minDefined:u,maxDefined:d}=o.getUserBounds();u&&(n=it(Math.min(Ct(a,o.axis,c).lo,e?i:Ct(t,l,o.getPixelForValue(c)).lo),0,i-1)),d?r=it(Math.max(Ct(a,o.axis,h,!0).hi+1,e?0:Ct(t,l,o.getPixelForValue(h),!0).hi+1),n,i)-n:r=i-n}return{start:n,count:r}}function Nn(s){let{xScale:t,yScale:e,_scaleRanges:i}=s,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return s._scaleRanges=n,!0;let r=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,n),r}var gi=s=>s===0||s===1,uo=(s,t,e)=>-(Math.pow(2,10*(s-=1))*Math.sin((s-t)*B/e)),fo=(s,t,e)=>Math.pow(2,-10*s)*Math.sin((s-t)*B/e)+1,Ie={linear:s=>s,easeInQuad:s=>s*s,easeOutQuad:s=>-s*(s-2),easeInOutQuad:s=>(s/=.5)<1?.5*s*s:-.5*(--s*(s-2)-1),easeInCubic:s=>s*s*s,easeOutCubic:s=>(s-=1)*s*s+1,easeInOutCubic:s=>(s/=.5)<1?.5*s*s*s:.5*((s-=2)*s*s+2),easeInQuart:s=>s*s*s*s,easeOutQuart:s=>-((s-=1)*s*s*s-1),easeInOutQuart:s=>(s/=.5)<1?.5*s*s*s*s:-.5*((s-=2)*s*s*s-2),easeInQuint:s=>s*s*s*s*s,easeOutQuint:s=>(s-=1)*s*s*s*s+1,easeInOutQuint:s=>(s/=.5)<1?.5*s*s*s*s*s:.5*((s-=2)*s*s*s*s+2),easeInSine:s=>-Math.cos(s*Z)+1,easeOutSine:s=>Math.sin(s*Z),easeInOutSine:s=>-.5*(Math.cos(Y*s)-1),easeInExpo:s=>s===0?0:Math.pow(2,10*(s-1)),easeOutExpo:s=>s===1?1:-Math.pow(2,-10*s)+1,easeInOutExpo:s=>gi(s)?s:s<.5?.5*Math.pow(2,10*(s*2-1)):.5*(-Math.pow(2,-10*(s*2-1))+2),easeInCirc:s=>s>=1?s:-(Math.sqrt(1-s*s)-1),easeOutCirc:s=>Math.sqrt(1-(s-=1)*s),easeInOutCirc:s=>(s/=.5)<1?-.5*(Math.sqrt(1-s*s)-1):.5*(Math.sqrt(1-(s-=2)*s)+1),easeInElastic:s=>gi(s)?s:uo(s,.075,.3),easeOutElastic:s=>gi(s)?s:fo(s,.075,.3),easeInOutElastic(s){return gi(s)?s:s<.5?.5*uo(s*2,.1125,.45):.5+.5*fo(s*2-1,.1125,.45)},easeInBack(s){return s*s*((1.70158+1)*s-1.70158)},easeOutBack(s){return(s-=1)*s*((1.70158+1)*s+1.70158)+1},easeInOutBack(s){let t=1.70158;return(s/=.5)<1?.5*(s*s*(((t*=1.525)+1)*s-t)):.5*((s-=2)*s*(((t*=1.525)+1)*s+t)+2)},easeInBounce:s=>1-Ie.easeOutBounce(1-s),easeOutBounce(s){return s<1/2.75?7.5625*s*s:s<2/2.75?7.5625*(s-=1.5/2.75)*s+.75:s<2.5/2.75?7.5625*(s-=2.25/2.75)*s+.9375:7.5625*(s-=2.625/2.75)*s+.984375},easeInOutBounce:s=>s<.5?Ie.easeInBounce(s*2)*.5:Ie.easeOutBounce(s*2-1)*.5+.5};function _s(s){return s+.5|0}var Kt=(s,t,e)=>Math.max(Math.min(s,e),t);function ps(s){return Kt(_s(s*2.55),0,255)}function Jt(s){return Kt(_s(s*255),0,255)}function Vt(s){return Kt(_s(s/2.55)/100,0,1)}function mo(s){return Kt(_s(s*100),0,100)}var _t={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},kn=[..."0123456789ABCDEF"],Ic=s=>kn[s&15],Cc=s=>kn[(s&240)>>4]+kn[s&15],pi=s=>(s&240)>>4===(s&15),Fc=s=>pi(s.r)&&pi(s.g)&&pi(s.b)&&pi(s.a);function Ac(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&_t[s[1]]*17,g:255&_t[s[2]]*17,b:255&_t[s[3]]*17,a:t===5?_t[s[4]]*17:255}:(t===7||t===9)&&(e={r:_t[s[1]]<<4|_t[s[2]],g:_t[s[3]]<<4|_t[s[4]],b:_t[s[5]]<<4|_t[s[6]],a:t===9?_t[s[7]]<<4|_t[s[8]]:255})),e}var Lc=(s,t)=>s<255?t(s):"";function Pc(s){var t=Fc(s)?Ic:Cc;return s?"#"+t(s.r)+t(s.g)+t(s.b)+Lc(s.a,t):void 0}var Nc=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Ro(s,t,e){let i=t*Math.min(e,1-e),n=(r,o=(r+s/30)%12)=>e-i*Math.max(Math.min(o-3,9-o,1),-1);return[n(0),n(8),n(4)]}function Rc(s,t,e){let i=(n,r=(n+s/60)%6)=>e-e*t*Math.max(Math.min(r,4-r,1),0);return[i(5),i(3),i(1)]}function Wc(s,t,e){let i=Ro(s,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function zc(s,t,e,i,n){return s===n?(t-e)/i+(t.5?h/(2-r-o):h/(r+o),l=zc(e,i,n,h,r),l=l*60+.5),[l|0,c||0,a]}function Wn(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(Jt)}function zn(s,t,e){return Wn(Ro,s,t,e)}function Vc(s,t,e){return Wn(Wc,s,t,e)}function Hc(s,t,e){return Wn(Rc,s,t,e)}function Wo(s){return(s%360+360)%360}function Bc(s){let t=Nc.exec(s),e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?ps(+t[5]):Jt(+t[5]));let n=Wo(+t[2]),r=+t[3]/100,o=+t[4]/100;return t[1]==="hwb"?i=Vc(n,r,o):t[1]==="hsv"?i=Hc(n,r,o):i=zn(n,r,o),{r:i[0],g:i[1],b:i[2],a:e}}function $c(s,t){var e=Rn(s);e[0]=Wo(e[0]+t),e=zn(e),s.r=e[0],s.g=e[1],s.b=e[2]}function jc(s){if(!s)return;let t=Rn(s),e=t[0],i=mo(t[1]),n=mo(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Vt(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}var go={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},po={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function Uc(){let s={},t=Object.keys(po),e=Object.keys(go),i,n,r,o,a;for(i=0;i>16&255,r>>8&255,r&255]}return s}var yi;function Yc(s){yi||(yi=Uc(),yi.transparent=[0,0,0,0]);let t=yi[s.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var Zc=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function qc(s){let t=Zc.exec(s),e=255,i,n,r;if(t){if(t[7]!==i){let o=+t[7];e=t[8]?ps(o):Kt(o*255,0,255)}return i=+t[1],n=+t[3],r=+t[5],i=255&(t[2]?ps(i):Kt(i,0,255)),n=255&(t[4]?ps(n):Kt(n,0,255)),r=255&(t[6]?ps(r):Kt(r,0,255)),{r:i,g:n,b:r,a:e}}}function Gc(s){return s&&(s.a<255?`rgba(${s.r}, ${s.g}, ${s.b}, ${Vt(s.a)})`:`rgb(${s.r}, ${s.g}, ${s.b})`)}var xn=s=>s<=.0031308?s*12.92:Math.pow(s,1/2.4)*1.055-.055,Ee=s=>s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4);function Xc(s,t,e){let i=Ee(Vt(s.r)),n=Ee(Vt(s.g)),r=Ee(Vt(s.b));return{r:Jt(xn(i+e*(Ee(Vt(t.r))-i))),g:Jt(xn(n+e*(Ee(Vt(t.g))-n))),b:Jt(xn(r+e*(Ee(Vt(t.b))-r))),a:s.a+e*(t.a-s.a)}}function bi(s,t,e){if(s){let i=Rn(s);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=zn(i),s.r=i[0],s.g=i[1],s.b=i[2]}}function zo(s,t){return s&&Object.assign(t||{},s)}function yo(s){var t={r:0,g:0,b:0,a:255};return Array.isArray(s)?s.length>=3&&(t={r:s[0],g:s[1],b:s[2],a:255},s.length>3&&(t.a=Jt(s[3]))):(t=zo(s,{r:0,g:0,b:0,a:1}),t.a=Jt(t.a)),t}function Kc(s){return s.charAt(0)==="r"?qc(s):Bc(s)}var Fe=class{constructor(t){if(t instanceof Fe)return t;let e=typeof t,i;e==="object"?i=yo(t):e==="string"&&(i=Ac(t)||Yc(t)||Kc(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=zo(this._rgb);return t&&(t.a=Vt(t.a)),t}set rgb(t){this._rgb=yo(t)}rgbString(){return this._valid?Gc(this._rgb):void 0}hexString(){return this._valid?Pc(this._rgb):void 0}hslString(){return this._valid?jc(this._rgb):void 0}mix(t,e){if(t){let i=this.rgb,n=t.rgb,r,o=e===r?.5:e,a=2*o-1,l=i.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;r=1-c,i.r=255&c*i.r+r*n.r+.5,i.g=255&c*i.g+r*n.g+.5,i.b=255&c*i.b+r*n.b+.5,i.a=o*i.a+(1-o)*n.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=Xc(this._rgb,t._rgb,e)),this}clone(){return new Fe(this.rgb)}alpha(t){return this._rgb.a=Jt(t),this}clearer(t){let e=this._rgb;return e.a*=1-t,this}greyscale(){let t=this._rgb,e=_s(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){let e=this._rgb;return e.a*=1+t,this}negate(){let t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return bi(this._rgb,2,t),this}darken(t){return bi(this._rgb,2,-t),this}saturate(t){return bi(this._rgb,1,t),this}desaturate(t){return bi(this._rgb,1,-t),this}rotate(t){return $c(this._rgb,t),this}};function Vo(s){return new Fe(s)}function Ho(s){if(s&&typeof s=="object"){let t=s.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Vn(s){return Ho(s)?s:Vo(s)}function _n(s){return Ho(s)?s:Vo(s).saturate(.5).darken(.1).hexString()}var Qt=Object.create(null),Di=Object.create(null);function ys(s,t){if(!t)return s;let e=t.split(".");for(let i=0,n=e.length;ie.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=(e,i)=>_n(i.backgroundColor),this.hoverBorderColor=(e,i)=>_n(i.borderColor),this.hoverColor=(e,i)=>_n(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return wn(this,t,e)}get(t){return ys(this,t)}describe(t,e){return wn(Di,t,e)}override(t,e){return wn(Qt,t,e)}route(t,e,i,n){let r=ys(this,t),o=ys(this,i),a="_"+e;Object.defineProperties(r,{[a]:{value:r[e],writable:!0},[e]:{enumerable:!0,get(){let l=this[a],c=o[n];return A(l)?Object.assign({},c,l):I(l,c)},set(l){this[a]=l}}})}},L=new Mn({_scriptable:s=>!s.startsWith("on"),_indexable:s=>s!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Jc(s){return!s||R(s.size)||R(s.family)?null:(s.style?s.style+" ":"")+(s.weight?s.weight+" ":"")+s.size+"px "+s.family}function bs(s,t,e,i,n){let r=t[n];return r||(r=t[n]=s.measureText(n).width,e.push(n)),r>i&&(i=r),i}function Bo(s,t,e,i){i=i||{};let n=i.data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(n=i.data={},r=i.garbageCollect=[],i.font=t),s.save(),s.font=t;let o=0,a=e.length,l,c,h,u,d;for(l=0;le.length){for(l=0;l0&&s.stroke()}}function Ae(s,t,e){return e=e||.5,!t||s&&s.x>t.left-e&&s.xt.top-e&&s.y0&&r.strokeColor!=="",l,c;for(s.save(),s.font=n.string,Qc(s,r),l=0;l+s||0;function Ii(s,t){let e={},i=A(t),n=i?Object.keys(t):t,r=A(s)?i?o=>I(s[o],s[t[o]]):o=>s[o]:()=>s;for(let o of n)e[o]=nh(r(o));return e}function $n(s){return Ii(s,{top:"y",right:"x",bottom:"y",left:"x"})}function se(s){return Ii(s,["topLeft","topRight","bottomLeft","bottomRight"])}function at(s){let t=$n(s);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function et(s,t){s=s||{},t=t||L.font;let e=I(s.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=I(s.style,t.style);i&&!(""+i).match(sh)&&(console.warn('Invalid font style specified: "'+i+'"'),i="");let n={family:I(s.family,t.family),lineHeight:ih(I(s.lineHeight,t.lineHeight),e),size:e,style:i,weight:I(s.weight,t.weight),string:""};return n.string=Jc(n),n}function ze(s,t,e,i){let n=!0,r,o,a;for(r=0,o=s.length;re&&a===0?0:a+l;return{min:o(i,-Math.abs(r)),max:o(n,r)}}function $t(s,t){return Object.assign(Object.create(s),t)}function Ci(s,t=[""],e=s,i,n=()=>s[0]){ft(i)||(i=qo("_fallback",s));let r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:s,_rootScopes:e,_fallback:i,_getTarget:n,override:o=>Ci([o,...s],t,e,i)};return new Proxy(r,{deleteProperty(o,a){return delete o[a],delete o._keys,delete s[0][a],!0},get(o,a){return Yo(o,a,()=>dh(a,t,s,o))},getOwnPropertyDescriptor(o,a){return Reflect.getOwnPropertyDescriptor(o._scopes[0],a)},getPrototypeOf(){return Reflect.getPrototypeOf(s[0])},has(o,a){return xo(o).includes(a)},ownKeys(o){return xo(o)},set(o,a,l){let c=o._storage||(o._storage=n());return o[a]=c[a]=l,delete o._keys,!0}})}function ge(s,t,e,i){let n={_cacheable:!1,_proxy:s,_context:t,_subProxy:e,_stack:new Set,_descriptors:jn(s,i),setContext:r=>ge(s,r,e,i),override:r=>ge(s.override(r),t,e,i)};return new Proxy(n,{deleteProperty(r,o){return delete r[o],delete s[o],!0},get(r,o,a){return Yo(r,o,()=>oh(r,o,a))},getOwnPropertyDescriptor(r,o){return r._descriptors.allKeys?Reflect.has(s,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(s,o)},getPrototypeOf(){return Reflect.getPrototypeOf(s)},has(r,o){return Reflect.has(s,o)},ownKeys(){return Reflect.ownKeys(s)},set(r,o,a){return s[o]=a,delete r[o],!0}})}function jn(s,t={scriptable:!0,indexable:!0}){let{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:n=t.allKeys}=s;return{allKeys:n,scriptable:e,indexable:i,isScriptable:Ht(e)?e:()=>e,isIndexable:Ht(i)?i:()=>i}}var rh=(s,t)=>s?s+Mi(t):t,Un=(s,t)=>A(t)&&s!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Yo(s,t,e){if(Object.prototype.hasOwnProperty.call(s,t))return s[t];let i=e();return s[t]=i,i}function oh(s,t,e){let{_proxy:i,_context:n,_subProxy:r,_descriptors:o}=s,a=i[t];return Ht(a)&&o.isScriptable(t)&&(a=ah(t,a,s,e)),$(a)&&a.length&&(a=lh(t,a,s,o.isIndexable)),Un(t,a)&&(a=ge(a,n,r&&r[t],o)),a}function ah(s,t,e,i){let{_proxy:n,_context:r,_subProxy:o,_stack:a}=e;if(a.has(s))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+s);return a.add(s),t=t(r,o||i),a.delete(s),Un(s,t)&&(t=Yn(n._scopes,n,s,t)),t}function lh(s,t,e,i){let{_proxy:n,_context:r,_subProxy:o,_descriptors:a}=e;if(ft(r.index)&&i(s))t=t[r.index%t.length];else if(A(t[0])){let l=t,c=n._scopes.filter(h=>h!==l);t=[];for(let h of l){let u=Yn(c,n,s,h);t.push(ge(u,r,o&&o[s],a))}}return t}function Zo(s,t,e){return Ht(s)?s(t,e):s}var ch=(s,t)=>s===!0?t:typeof s=="string"?Bt(t,s):void 0;function hh(s,t,e,i,n){for(let r of t){let o=ch(e,r);if(o){s.add(o);let a=Zo(o._fallback,e,n);if(ft(a)&&a!==e&&a!==i)return a}else if(o===!1&&ft(i)&&e!==i)return null}return!1}function Yn(s,t,e,i){let n=t._rootScopes,r=Zo(t._fallback,e,i),o=[...s,...n],a=new Set;a.add(i);let l=bo(a,o,e,r||e,i);return l===null||ft(r)&&r!==e&&(l=bo(a,o,r,l,i),l===null)?!1:Ci(Array.from(a),[""],n,r,()=>uh(t,e,i))}function bo(s,t,e,i,n){for(;e;)e=hh(s,t,e,i,n);return e}function uh(s,t,e){let i=s._getTarget();t in i||(i[t]={});let n=i[t];return $(n)&&A(e)?e:n}function dh(s,t,e,i){let n;for(let r of t)if(n=qo(rh(r,s),e),ft(n))return Un(s,n)?Yn(e,i,s,n):n}function qo(s,t){for(let e of t){if(!e)continue;let i=e[s];if(ft(i))return i}}function xo(s){let t=s._keys;return t||(t=s._keys=fh(s._scopes)),t}function fh(s){let t=new Set;for(let e of s)for(let i of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(i);return Array.from(t)}function Zn(s,t,e,i){let{iScale:n}=s,{key:r="r"}=this._parsing,o=new Array(i),a,l,c,h;for(a=0,l=i;ats==="x"?"y":"x";function gh(s,t,e,i){let n=s.skip?t:s,r=t,o=e.skip?t:e,a=Si(r,n),l=Si(o,r),c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;let u=i*c,d=i*h;return{previous:{x:r.x-u*(o.x-n.x),y:r.y-u*(o.y-n.y)},next:{x:r.x+d*(o.x-n.x),y:r.y+d*(o.y-n.y)}}}function ph(s,t,e){let i=s.length,n,r,o,a,l,c=Le(s,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")bh(s,n);else{let c=i?s[s.length-1]:s[0];for(r=0,o=s.length;rwindow.getComputedStyle(s,null);function _h(s,t){return Ai(s).getPropertyValue(t)}var wh=["top","right","bottom","left"];function me(s,t,e){let i={};e=e?"-"+e:"";for(let n=0;n<4;n++){let r=wh[n];i[r]=parseFloat(s[t+"-"+r+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}var Sh=(s,t,e)=>(s>0||t>0)&&(!e||!e.shadowRoot);function kh(s,t){let e=s.touches,i=e&&e.length?e[0]:s,{offsetX:n,offsetY:r}=i,o=!1,a,l;if(Sh(n,r,s.target))a=n,l=r;else{let c=t.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,o=!0}return{x:a,y:l,box:o}}function ie(s,t){if("native"in s)return s;let{canvas:e,currentDevicePixelRatio:i}=t,n=Ai(e),r=n.boxSizing==="border-box",o=me(n,"padding"),a=me(n,"border","width"),{x:l,y:c,box:h}=kh(s,e),u=o.left+(h&&a.left),d=o.top+(h&&a.top),{width:f,height:m}=t;return r&&(f-=o.width+a.width,m-=o.height+a.height),{x:Math.round((l-u)/f*e.width/i),y:Math.round((c-d)/m*e.height/i)}}function Mh(s,t,e){let i,n;if(t===void 0||e===void 0){let r=Fi(s);if(!r)t=s.clientWidth,e=s.clientHeight;else{let o=r.getBoundingClientRect(),a=Ai(r),l=me(a,"border","width"),c=me(a,"padding");t=o.width-c.width-l.width,e=o.height-c.height-l.height,i=ki(a.maxWidth,r,"clientWidth"),n=ki(a.maxHeight,r,"clientHeight")}}return{width:t,height:e,maxWidth:i||wi,maxHeight:n||wi}}var Sn=s=>Math.round(s*10)/10;function Ko(s,t,e,i){let n=Ai(s),r=me(n,"margin"),o=ki(n.maxWidth,s,"clientWidth")||wi,a=ki(n.maxHeight,s,"clientHeight")||wi,l=Mh(s,t,e),{width:c,height:h}=l;if(n.boxSizing==="content-box"){let u=me(n,"border","width"),d=me(n,"padding");c-=d.width+u.width,h-=d.height+u.height}return c=Math.max(0,c-r.width),h=Math.max(0,i?Math.floor(c/i):h-r.height),c=Sn(Math.min(c,o,l.maxWidth)),h=Sn(Math.min(h,a,l.maxHeight)),c&&!h&&(h=Sn(c/2)),{width:c,height:h}}function Gn(s,t,e){let i=t||1,n=Math.floor(s.height*i),r=Math.floor(s.width*i);s.height=n/i,s.width=r/i;let o=s.canvas;return o.style&&(e||!o.style.height&&!o.style.width)&&(o.style.height=`${s.height}px`,o.style.width=`${s.width}px`),s.currentDevicePixelRatio!==i||o.height!==n||o.width!==r?(s.currentDevicePixelRatio=i,o.height=n,o.width=r,s.ctx.setTransform(i,0,0,i,0,0),!0):!1}var Jo=function(){let s=!1;try{let t={get passive(){return s=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return s}();function Xn(s,t){let e=_h(s,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function Xt(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:s.y+e*(t.y-s.y)}}function Qo(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:i==="middle"?e<.5?s.y:t.y:i==="after"?e<1?s.y:t.y:e>0?t.y:s.y}}function ta(s,t,e,i){let n={x:s.cp2x,y:s.cp2y},r={x:t.cp1x,y:t.cp1y},o=Xt(s,n,e),a=Xt(n,r,e),l=Xt(r,t,e),c=Xt(o,a,e),h=Xt(a,l,e);return Xt(c,h,e)}var _o=new Map;function Th(s,t){t=t||{};let e=s+JSON.stringify(t),i=_o.get(e);return i||(i=new Intl.NumberFormat(s,t),_o.set(e,i)),i}function Ve(s,t,e){return Th(t,e).format(s)}var vh=function(s,t){return{x(e){return s+s+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},Oh=function(){return{x(s){return s},setWidth(s){},textAlign(s){return s},xPlus(s,t){return s+t},leftForLtr(s,t){return s}}};function ye(s,t,e){return s?vh(t,e):Oh()}function Kn(s,t){let e,i;(t==="ltr"||t==="rtl")&&(e=s.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),s.prevTextDirection=i)}function Jn(s,t){t!==void 0&&(delete s.prevTextDirection,s.canvas.style.setProperty("direction",t[0],t[1]))}function ea(s){return s==="angle"?{between:Re,compare:Ec,normalize:ht}:{between:At,compare:(t,e)=>t-e,normalize:t=>t}}function wo({start:s,end:t,count:e,loop:i,style:n}){return{start:s%e,end:t%e,loop:i&&(t-s+1)%e===0,style:n}}function Dh(s,t,e){let{property:i,start:n,end:r}=e,{between:o,normalize:a}=ea(i),l=t.length,{start:c,end:h,loop:u}=s,d,f;if(u){for(c+=l,h+=l,d=0,f=l;dl(n,_,y)&&a(n,_)!==0,x=()=>a(r,y)===0||l(r,_,y),S=()=>g||w(),k=()=>!g||x();for(let O=h,T=h;O<=u;++O)b=t[O%o],!b.skip&&(y=c(b[i]),y!==_&&(g=l(y,n,r),p===null&&S()&&(p=a(y,n)===0?O:T),p!==null&&k()&&(m.push(wo({start:p,end:O,loop:d,count:o,style:f})),p=null),T=O,_=y));return p!==null&&m.push(wo({start:p,end:u,loop:d,count:o,style:f})),m}function tr(s,t){let e=[],i=s.segments;for(let n=0;nn&&s[r%t].skip;)r--;return r%=t,{start:n,end:r}}function Ih(s,t,e,i){let n=s.length,r=[],o=t,a=s[t],l;for(l=t+1;l<=e;++l){let c=s[l%n];c.skip||c.stop?a.skip||(i=!1,r.push({start:t%n,end:(l-1)%n,loop:i}),t=o=c.stop?l:null):(o=l,a.skip&&(t=l)),a=c}return o!==null&&r.push({start:t%n,end:o%n,loop:i}),r}function sa(s,t){let e=s.points,i=s.options.spanGaps,n=e.length;if(!n)return[];let r=!!s._loop,{start:o,end:a}=Eh(e,n,r,i);if(i===!0)return So(s,[{start:o,end:a,loop:r}],e,t);let l=aa({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=An.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,n)=>{if(!i.running||!i.items.length)return;let r=i.items,o=r.length-1,a=!1,l;for(;o>=0;--o)l=r[o],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(r[o]=r[r.length-1],r.pop());a&&(n.draw(),this._notify(n,i,t,"progress")),r.length||(i.running=!1,this._notify(n,i,t,"complete"),i.initial=!1),e+=r.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){let e=this._charts,i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,n)=>Math.max(i,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let i=e.items,n=i.length-1;for(;n>=0;--n)i[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}},jt=new hr,ia="transparent",Ah={boolean(s,t,e){return e>.5?t:s},color(s,t,e){let i=Vn(s||ia),n=i.valid&&Vn(t||ia);return n&&n.valid?n.mix(i,e).hexString():t},number(s,t,e){return s+(t-s)*e}},ur=class{constructor(t,e,i,n){let r=e[i];n=ze([t.to,n,r,t.from]);let o=ze([t.from,r,n]);this._active=!0,this._fn=t.fn||Ah[t.type||typeof o],this._easing=Ie[t.easing]||Ie.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=i,this._from=o,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);let n=this._target[this._prop],r=i-this._start,o=this._duration-r;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=r,this._loop=!!t.loop,this._to=ze([t.to,e,n,t.from]),this._from=ze([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,i=this._duration,n=this._prop,r=this._from,o=this._loop,a=this._to,l;if(this._active=r!==a&&(o||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(r,a,l)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){let e=t?"res":"rej",i=this._promises||[];for(let n=0;ns!=="onProgress"&&s!=="onComplete"&&s!=="fn"});L.set("animations",{colors:{type:"color",properties:Ph},numbers:{type:"number",properties:Lh}});L.describe("animations",{_fallback:"animation"});L.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:s=>s|0}}}});var Hi=class{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!A(t))return;let e=this._properties;Object.getOwnPropertyNames(t).forEach(i=>{let n=t[i];if(!A(n))return;let r={};for(let o of Nh)r[o]=n[o];($(n.properties)&&n.properties||[i]).forEach(o=>{(o===i||!e.has(o))&&e.set(o,r)})})}_animateOptions(t,e){let i=e.options,n=Wh(t,i);if(!n)return[];let r=this._createAnimations(n,i);return i.$shared&&Rh(t.options.$animations,i).then(()=>{t.options=i},()=>{}),r}_createAnimations(t,e){let i=this._properties,n=[],r=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now(),l;for(l=o.length-1;l>=0;--l){let c=o[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}let h=e[c],u=r[c],d=i.get(c);if(u)if(d&&u.active()){u.update(d,h,a);continue}else u.cancel();if(!d||!d.duration){t[c]=h;continue}r[c]=u=new ur(d,t,c,h),n.push(u)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}let i=this._createAnimations(t,e);if(i.length)return jt.add(this._chart,i),!0}};function Rh(s,t){let e=[],i=Object.keys(t);for(let n=0;n0||!e&&r<0)return n.index}return null}function la(s,t){let{chart:e,_cachedMeta:i}=s,n=e._stacks||(e._stacks={}),{iScale:r,vScale:o,index:a}=i,l=r.axis,c=o.axis,h=Bh(r,o,i),u=t.length,d;for(let f=0;fe[i].axis===t).shift()}function Uh(s,t){return $t(s,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Yh(s,t,e){return $t(s,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function ks(s,t){let e=s.controller.index,i=s.vScale&&s.vScale.axis;if(i){t=t||s._parsed;for(let n of t){let r=n._stacks;if(!r||r[i]===void 0||r[i][e]===void 0)return;delete r[i][e]}}}var sr=s=>s==="reset"||s==="none",ca=(s,t)=>t?s:Object.assign({},s),Zh=(s,t,e)=>s&&!t.hidden&&t._stacked&&{keys:qa(e,!0),values:null},pt=class{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.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=oa(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&ks(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,i=this.getDataset(),n=(u,d,f,m)=>u==="x"?d:u==="r"?m:f,r=e.xAxisID=I(i.xAxisID,er(t,"x")),o=e.yAxisID=I(i.yAxisID,er(t,"y")),a=e.rAxisID=I(i.rAxisID,er(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,r,o,a),h=e.vAxisID=n(l,o,r,a);e.xScale=this.getScaleForId(r),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&Cn(this._data,this),t._stacked&&ks(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(A(e))this._data=Hh(e);else if(i!==e){if(i){Cn(i,this);let n=this._cachedMeta;ks(n),n._parsed=[]}e&&Object.isExtensible(e)&&Lo(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,i=this.getDataset(),n=!1;this._dataCheck();let r=e._stacked;e._stacked=oa(e.vScale,e),e.stack!==i.stack&&(n=!0,ks(e),e.stack=i.stack),this._resyncElements(t),(n||r!==e._stacked)&&la(this,e._parsed)}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:i,_data:n}=this,{iScale:r,_stacked:o}=i,a=r.axis,l=t===0&&e===n.length?!0:i._sorted,c=t>0&&i._parsed[t-1],h,u,d;if(this._parsing===!1)i._parsed=n,i._sorted=!0,d=n;else{$(n[t])?d=this.parseArrayData(i,n,t,e):A(n[t])?d=this.parseObjectData(i,n,t,e):d=this.parsePrimitiveData(i,n,t,e);let f=()=>u[a]===null||c&&u[a]g||u=0;--d)if(!m()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){let e=this._cachedMeta._parsed,i=[],n,r,o;for(n=0,r=e.length;n=0&&tthis.getContext(i,n),g=c.resolveNamedOptions(d,f,m,u);return g.$shared&&(g.$shared=l,r[o]=Object.freeze(ca(g,l))),g}_resolveAnimations(t,e,i){let n=this.chart,r=this._cachedDataOpts,o=`animation-${e}`,a=r[o];if(a)return a;let l;if(n.options.animation!==!1){let h=this.chart.config,u=h.datasetAnimationScopeKeys(this._type,e),d=h.getOptionScopes(this.getDataset(),u);l=h.createResolver(d,this.getContext(t,i,e))}let c=new Hi(n,l&&l.animations);return l&&l._cacheable&&(r[o]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||sr(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let i=this.resolveDataElementOptions(t,e),n=this._sharedOptions,r=this.getSharedOptions(i),o=this.includeOptions(e,r)||r!==n;return this.updateSharedOptions(r,e,i),{sharedOptions:r,includeOptions:o}}updateElement(t,e,i,n){sr(n)?Object.assign(t,i):this._resolveAnimations(e,n).update(t,i)}updateSharedOptions(t,e,i){t&&!sr(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,n){t.active=n;let r=this.getStyle(e,n);this._resolveAnimations(e,i,n).update(t,{options:!n&&this.getSharedOptions(r)||r})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,i=this._cachedMeta.data;for(let[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];let n=i.length,r=e.length,o=Math.min(r,n);o&&this.parse(0,o),r>n?this._insertElements(n,r-n,t):r{for(c.length+=e,a=c.length-1;a>=o;a--)c[a]=c[a-e]};for(l(r),a=t;an-r))}return s._cache.$bar}function Gh(s){let t=s.iScale,e=qh(t,s.type),i=t._length,n,r,o,a,l=()=>{o===32767||o===-32768||(ft(a)&&(i=Math.min(i,Math.abs(o-a)||i)),a=o)};for(n=0,r=e.length;n0?n[s-1]:null,a=sMath.abs(a)&&(l=a,c=o),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:r,min:o,max:a}}function Ga(s,t,e,i){return $(s)?Jh(s,t,e,i):t[e.axis]=e.parse(s,i),t}function ha(s,t,e,i){let n=s.iScale,r=s.vScale,o=n.getLabels(),a=n===r,l=[],c,h,u,d;for(c=e,h=e+i;c=e?1:-1)}function tu(s){let t,e,i,n,r;return s.horizontal?(t=s.base>s.x,e="left",i="right"):(t=s.basel.controller.options.grouped),r=i.options.stacked,o=[],a=l=>{let c=l.controller.getParsed(e),h=c&&c[l.vScale.axis];if(R(h)||isNaN(h))return!0};for(let l of n)if(!(e!==void 0&&a(l))&&((r===!1||o.indexOf(l.stack)===-1||r===void 0&&l.stack===void 0)&&o.push(l.stack),l.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){let n=this._getStacks(t,i),r=e!==void 0?n.indexOf(e):-1;return r===-1?n.length-1:r}_getRuler(){let t=this.options,e=this._cachedMeta,i=e.iScale,n=[],r,o;for(r=0,o=e.data.length;r=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){let e=this._cachedMeta,{xScale:i,yScale:n}=e,r=this.getParsed(t),o=i.getLabelForValue(r.x),a=n.getLabelForValue(r.y),l=r._custom;return{label:e.label,value:"("+o+", "+a+(l?", "+l:"")+")"}}update(t){let e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,n){let r=n==="reset",{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=o.axis,u=a.axis;for(let d=e;dRe(_,a,l,!0)?1:Math.max(w,w*e,x,x*e),m=(_,w,x)=>Re(_,a,l,!0)?-1:Math.min(w,w*e,x,x*e),g=f(0,c,u),p=f(Z,h,d),y=m(Y,c,u),b=m(Y+Z,h,d);i=(g-y)/2,n=(p-b)/2,r=-(g+y)/2,o=-(p+b)/2}return{ratioX:i,ratioY:n,offsetX:r,offsetY:o}}var oe=class extends pt{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){let i=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=i;else{let r=l=>+i[l];if(A(i[t])){let{key:l="value"}=this._parsing;r=c=>+Bt(i[c],l)}let o,a;for(o=t,a=t+e;o0&&!isNaN(t)?B*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,n=i.data.labels||[],r=Ve(e._parsed[t],i.options.locale);return{label:n[t]||"",value:r}}getMaxBorderWidth(t){let e=0,i=this.chart,n,r,o,a,l;if(!t){for(n=0,r=i.data.datasets.length;ns!=="spacing",_indexable:s=>s!=="spacing"};oe.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){let t=s.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:e}}=s.legend.options;return t.labels.map((i,n)=>{let o=s.getDatasetMeta(0).controller.getStyle(n);return{text:i,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:e,hidden:!s.getDataVisibility(n),index:n}})}return[]}},onClick(s,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(s){let t=s.label,e=": "+s.formattedValue;return $(t)?(t=t.slice(),t[0]+=e):t+=e,t}}}}};var Ue=class extends pt{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){let e=this._cachedMeta,{dataset:i,data:n=[],_dataset:r}=e,o=this.chart._animationsDisabled,{start:a,count:l}=Pn(e,n,o);this._drawStart=a,this._drawCount=l,Nn(e)&&(a=0,l=n.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!r._decimated,i.points=n;let c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:c},t),this.updateElements(n,a,l,t)}updateElements(t,e,i,n){let r=n==="reset",{iScale:o,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:u}=this._getSharedOptions(e,n),d=o.axis,f=a.axis,{spanGaps:m,segment:g}=this.options,p=pe(m)?m:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||r||n==="none",b=e>0&&this.getParsed(e-1);for(let _=e;_0&&Math.abs(x[d]-b[d])>p,g&&(S.parsed=x,S.raw=c.data[_]),u&&(S.options=h||this.resolveDataElementOptions(_,w.active?"active":n)),y||this.updateElement(w,_,S,n),b=x}}getMaxOverflow(){let t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return i;let r=n[0].size(this.resolveDataElementOptions(0)),o=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,r,o)/2}draw(){let t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}};Ue.id="line";Ue.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};Ue.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};var Ye=class extends pt{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,n=i.data.labels||[],r=Ve(e._parsed[t].r,i.options.locale);return{label:n[t]||"",value:r}}parseObjectData(t,e,i,n){return Zn.bind(this)(t,e,i,n)}update(t){let e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){let t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(re.max&&(e.max=r))}),e}_updateRadius(){let t=this.chart,e=t.chartArea,i=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),r=Math.max(n/2,0),o=Math.max(i.cutoutPercentage?r/100*i.cutoutPercentage:1,0),a=(r-o)/t.getVisibleDatasetCount();this.outerRadius=r-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,e,i,n){let r=n==="reset",o=this.chart,l=o.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,u=c.yCenter,d=c.getIndexAngle(0)-.5*Y,f=d,m,g=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?wt(this.resolveDataElementOptions(t,e).angle||i):0}};Ye.id="polarArea";Ye.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};Ye.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){let t=s.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:e}}=s.legend.options;return t.labels.map((i,n)=>{let o=s.getDatasetMeta(0).controller.getStyle(n);return{text:i,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,lineWidth:o.borderWidth,pointStyle:e,hidden:!s.getDataVisibility(n),index:n}})}return[]}},onClick(s,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(s){return s.chart.data.labels[s.dataIndex]+": "+s.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};var Is=class extends oe{};Is.id="pie";Is.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};var Ze=class extends pt{getLabelAndValue(t){let e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,n){return Zn.bind(this)(t,e,i,n)}update(t){let e=this._cachedMeta,i=e.dataset,n=e.data||[],r=e.iScale.getLabels();if(i.points=n,t!=="resize"){let o=this.resolveDatasetElementOptions(t);this.options.showLine||(o.borderWidth=0);let a={_loop:!0,_fullLoop:r.length===n.length,options:o};this.updateElement(i,void 0,a,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,i,n){let r=this._cachedMeta.rScale,o=n==="reset";for(let a=e;a{n[r]=i[r]&&i[r].active()?i[r]._to:this[r]}),n}};yt.defaults={};yt.defaultRoutes=void 0;var Xa={values(s){return $(s)?s:""+s},numeric(s,t,e){if(s===0)return"0";let i=this.chart.options.locale,n,r=s;if(e.length>1){let c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),r=ru(s,e)}let o=gt(Math.abs(r)),a=Math.max(Math.min(-1*Math.floor(o),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Ve(s,i,l)},logarithmic(s,t,e){if(s===0)return"0";let i=s/Math.pow(10,Math.floor(gt(s)));return i===1||i===2||i===5?Xa.numeric.call(this,s,t,e):""}};function ru(s,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&s!==Math.floor(s)&&(e=s-Math.floor(s)),e}var Zi={formatters:Xa};L.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,t)=>t.lineWidth,tickColor:(s,t)=>t.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:Zi.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}});L.route("scale.ticks","color","","color");L.route("scale.grid","color","","borderColor");L.route("scale.grid","borderColor","","borderColor");L.route("scale.title","color","","color");L.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"});L.describe("scales",{_fallback:"scale"});L.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"});function ou(s,t){let e=s.options.ticks,i=e.maxTicksLimit||au(s),n=e.major.enabled?cu(t):[],r=n.length,o=n[0],a=n[r-1],l=[];if(r>i)return hu(t,l,n,r/i),l;let c=lu(n,t,i);if(r>0){let h,u,d=r>1?Math.round((a-o)/(r-1)):null;for(Li(t,l,c,R(d)?0:o-d,o),h=0,u=r-1;hn)return l}return Math.max(n,1)}function cu(s){let t=[],e,i;for(e=0,i=s.length;es==="left"?"right":s==="right"?"left":s,fa=(s,t,e)=>t==="top"||t==="left"?s[t]+e:s[t]-e;function ma(s,t){let e=[],i=s.length/t,n=s.length,r=0;for(;ro+a)))return l}function mu(s,t){H(s,e=>{let i=e.gc,n=i.length/2,r;if(n>t){for(r=0;ri?i:e,i=n&&e>i?e:i,{min:mt(e,mt(i,e)),max:mt(i,mt(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){j(this.options.beforeUpdate,[this])}update(t,e,i){let{beginAtZero:n,grace:r,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Uo(this,r,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let l=a=r||i<=1||!this.isHorizontal()){this.labelRotation=n;return}let h=this._getLabelSizes(),u=h.widest.width,d=h.highest.height,f=it(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/i:f/(i-1),u+6>a&&(a=f/(i-(t.offset?.5:1)),l=this.maxHeight-Ms(t.grid)-e.padding-ga(t.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),o=Ti(Math.min(Math.asin(it((h.highest.height+6)/a,-1,1)),Math.asin(it(l/c,-1,1))-Math.asin(it(d/c,-1,1)))),o=Math.max(n,Math.min(r,o))),this.labelRotation=o}afterCalculateLabelRotation(){j(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){j(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:i,title:n,grid:r}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){let l=ga(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ms(r)+l):(t.height=this.maxHeight,t.width=Ms(r)+l),i.display&&this.ticks.length){let{first:c,last:h,widest:u,highest:d}=this._getLabelSizes(),f=i.padding*2,m=wt(this.labelRotation),g=Math.cos(m),p=Math.sin(m);if(a){let y=i.mirror?0:p*u.width+g*d.height;t.height=Math.min(this.maxHeight,t.height+y+f)}else{let y=i.mirror?0:g*u.width+p*d.height;t.width=Math.min(this.maxWidth,t.width+y+f)}this._calculatePadding(c,h,p,g)}}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,i,n){let{ticks:{align:r,padding:o},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){let h=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1),d=0,f=0;l?c?(d=n*t.width,f=i*e.height):(d=i*t.height,f=n*e.width):r==="start"?f=e.width:r==="end"?d=t.width:r!=="inner"&&(d=t.width/2,f=e.width/2),this.paddingLeft=Math.max((d-h+o)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-u+o)*this.width/(this.width-u),0)}else{let h=e.height/2,u=t.height/2;r==="start"?(h=0,u=t.height):r==="end"&&(h=e.height,u=0),this.paddingTop=h+o,this.paddingBottom=u+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(){j(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:r[k]||0,height:o[k]||0});return{first:S(0),last:S(e-1),widest:S(w),highest:S(x),widths:r,heights:o}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return Io(this._alignToPixels?te(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){let e=this.ticks||[];if(t>=0&&ta*n?a/i:l/n:l*n0}_computeGridLineItems(t){let e=this.axis,i=this.chart,n=this.options,{grid:r,position:o}=n,a=r.offset,l=this.isHorizontal(),h=this.ticks.length+(a?1:0),u=Ms(r),d=[],f=r.setContext(this.getContext()),m=f.drawBorder?f.borderWidth:0,g=m/2,p=function(E){return te(i,E,m)},y,b,_,w,x,S,k,O,T,F,W,P;if(o==="top")y=p(this.bottom),S=this.bottom-u,O=y-g,F=p(t.top)+g,P=t.bottom;else if(o==="bottom")y=p(this.top),F=t.top,P=p(t.bottom)-g,S=y+g,O=this.top+u;else if(o==="left")y=p(this.right),x=this.right-u,k=y-g,T=p(t.left)+g,W=t.right;else if(o==="right")y=p(this.left),T=t.left,W=p(t.right)-g,x=y+g,k=this.left+u;else if(e==="x"){if(o==="center")y=p((t.top+t.bottom)/2+.5);else if(A(o)){let E=Object.keys(o)[0],tt=o[E];y=p(this.chart.scales[E].getPixelForValue(tt))}F=t.top,P=t.bottom,S=y+g,O=S+u}else if(e==="y"){if(o==="center")y=p((t.left+t.right)/2);else if(A(o)){let E=Object.keys(o)[0],tt=o[E];y=p(this.chart.scales[E].getPixelForValue(tt))}x=y-g,k=x-u,T=t.left,W=t.right}let Q=I(n.ticks.maxTicksLimit,h),ct=Math.max(1,Math.ceil(h/Q));for(b=0;br.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){let e=this.options.grid,i=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),r,o,a=(l,c,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(e.display)for(r=0,o=n.length;r{this.draw(n)}}]:[{z:i,draw:n=>{this.drawBackground(),this.drawGrid(n),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:n=>{this.drawLabels(n)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",n=[],r,o;for(r=0,o=e.length;r{let i=e.split("."),n=i.pop(),r=[s].concat(i).join("."),o=t[e].split("."),a=o.pop(),l=o.join(".");L.route(r,n,l,a)})}function wu(s){return"id"in s&&"defaults"in s}var dr=class{constructor(){this.controllers=new Be(pt,"datasets",!0),this.elements=new Be(yt,"elements"),this.plugins=new Be(Object,"plugins"),this.scales=new Be(Yt,"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,i){[...e].forEach(n=>{let r=i||this._getRegistryForType(n);i||r.isForType(n)||r===this.plugins&&n.id?this._exec(t,r,n):H(n,o=>{let a=i||this._getRegistryForType(o);this._exec(t,a,o)})})}_exec(t,e,i){let n=Mi(t);j(i["before"+n],[],i),e[t](i),j(i["after"+n],[],i)}_getRegistryForType(t){for(let e=0;e0&&this.getParsed(e-1);for(let w=e;w0&&Math.abs(S[f]-_[f])>y,p&&(k.parsed=S,k.raw=c.data[w]),d&&(k.options=u||this.resolveDataElementOptions(w,x.active?"active":n)),b||this.updateElement(x,w,k,n),_=S}this.updateSharedOptions(u,n,h)}getMaxOverflow(){let t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let a=0;for(let l=e.length-1;l>=0;--l)a=Math.max(a,e[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}let i=t.dataset,n=i.options&&i.options.borderWidth||0;if(!e.length)return n;let r=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,r,o)/2}};qe.id="scatter";qe.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};qe.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title(){return""},label(s){return"("+s.label+", "+s.formattedValue+")"}}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Su=Object.freeze({__proto__:null,BarController:$e,BubbleController:je,DoughnutController:oe,LineController:Ue,PolarAreaController:Ye,PieController:Is,RadarController:Ze,ScatterController:qe});function be(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var Cs=class{constructor(t){this.options=t||{}}init(t){}formats(){return be()}parse(t,e){return be()}format(t,e){return be()}add(t,e,i){return be()}diff(t,e,i){return be()}startOf(t,e,i){return be()}endOf(t,e){return be()}};Cs.override=function(s){Object.assign(Cs.prototype,s)};var kr={_date:Cs};function ku(s,t,e,i){let{controller:n,data:r,_sorted:o}=s,a=n._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&o&&r.length){let l=a._reversePixels?Co:Ct;if(i){if(n._sharedOptions){let c=r[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){let u=l(r,t,e-h),d=l(r,t,e+h);return{lo:u.lo,hi:d.hi}}}}else return l(r,t,e)}return{lo:0,hi:r.length-1}}function Ws(s,t,e,i,n){let r=s.getSortedVisibleDatasetMetas(),o=e[t];for(let a=0,l=r.length;a{l[o](t[e],n)&&(r.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),i&&!a?[]:r}var Ou={evaluateInteractionItems:Ws,modes:{index(s,t,e,i){let n=ie(t,s),r=e.axis||"x",o=e.includeInvisible||!1,a=e.intersect?nr(s,n,r,i,o):rr(s,n,r,!1,i,o),l=[];return a.length?(s.getSortedVisibleDatasetMetas().forEach(c=>{let h=a[0].index,u=c.data[h];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:h})}),l):[]},dataset(s,t,e,i){let n=ie(t,s),r=e.axis||"xy",o=e.includeInvisible||!1,a=e.intersect?nr(s,n,r,i,o):rr(s,n,r,!1,i,o);if(a.length>0){let l=a[0].datasetIndex,c=s.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function ya(s,t){return s.filter(e=>Ka.indexOf(e.pos)===-1&&e.box.axis===t)}function vs(s,t){return s.sort((e,i)=>{let n=t?i:e,r=t?e:i;return n.weight===r.weight?n.index-r.index:n.weight-r.weight})}function Du(s){let t=[],e,i,n,r,o,a;for(e=0,i=(s||[]).length;ec.box.fullSize),!0),i=vs(Ts(t,"left"),!0),n=vs(Ts(t,"right")),r=vs(Ts(t,"top"),!0),o=vs(Ts(t,"bottom")),a=ya(t,"x"),l=ya(t,"y");return{fullSize:e,leftAndTop:i.concat(r),rightAndBottom:n.concat(l).concat(o).concat(a),chartArea:Ts(t,"chartArea"),vertical:i.concat(n).concat(l),horizontal:r.concat(o).concat(a)}}function ba(s,t,e,i){return Math.max(s[e],t[e])+Math.max(s[i],t[i])}function Ja(s,t){s.top=Math.max(s.top,t.top),s.left=Math.max(s.left,t.left),s.bottom=Math.max(s.bottom,t.bottom),s.right=Math.max(s.right,t.right)}function Fu(s,t,e,i){let{pos:n,box:r}=e,o=s.maxPadding;if(!A(n)){e.size&&(s[n]-=e.size);let u=i[e.stack]||{size:0,count:1};u.size=Math.max(u.size,e.horizontal?r.height:r.width),e.size=u.size/u.count,s[n]+=e.size}r.getPadding&&Ja(o,r.getPadding());let a=Math.max(0,t.outerWidth-ba(o,s,"left","right")),l=Math.max(0,t.outerHeight-ba(o,s,"top","bottom")),c=a!==s.w,h=l!==s.h;return s.w=a,s.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Au(s){let t=s.maxPadding;function e(i){let n=Math.max(t[i]-s[i],0);return s[i]+=n,n}s.y+=e("top"),s.x+=e("left"),e("right"),e("bottom")}function Lu(s,t){let e=t.maxPadding;function i(n){let r={left:0,top:0,right:0,bottom:0};return n.forEach(o=>{r[o]=Math.max(t[o],e[o])}),r}return i(s?["left","right"]:["top","bottom"])}function Ds(s,t,e,i){let n=[],r,o,a,l,c,h;for(r=0,o=s.length,c=0;r{typeof g.beforeLayout=="function"&&g.beforeLayout()});let h=l.reduce((g,p)=>p.box.options&&p.box.options.display===!1?g:g+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:r,availableHeight:o,vBoxMaxWidth:r/2/h,hBoxMaxHeight:o/2}),d=Object.assign({},n);Ja(d,at(i));let f=Object.assign({maxPadding:d,w:r,h:o,x:n.left,y:n.top},n),m=Iu(l.concat(c),u);Ds(a.fullSize,f,u,m),Ds(l,f,u,m),Ds(c,f,u,m)&&Ds(l,f,u,m),Au(f),xa(a.leftAndTop,f,u,m),f.x+=f.w,f.y+=f.h,xa(a.rightAndBottom,f,u,m),s.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},H(a.chartArea,g=>{let p=g.box;Object.assign(p,s.chartArea),p.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}},Bi=class{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,n){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):i)}}isAttached(t){return!0}updateConfig(t){}},fr=class extends Bi{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}},Vi="$chartjs",Pu={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},_a=s=>s===null||s==="";function Nu(s,t){let e=s.style,i=s.getAttribute("height"),n=s.getAttribute("width");if(s[Vi]={initial:{height:i,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",_a(n)){let r=Xn(s,"width");r!==void 0&&(s.width=r)}if(_a(i))if(s.style.height==="")s.height=s.width/(t||2);else{let r=Xn(s,"height");r!==void 0&&(s.height=r)}return s}var Qa=Jo?{passive:!0}:!1;function Ru(s,t,e){s.addEventListener(t,e,Qa)}function Wu(s,t,e){s.canvas.removeEventListener(t,e,Qa)}function zu(s,t){let e=Pu[s.type]||s.type,{x:i,y:n}=ie(s,t);return{type:e,chart:t,native:s,x:i!==void 0?i:null,y:n!==void 0?n:null}}function $i(s,t){for(let e of s)if(e===t||e.contains(t))return!0}function Vu(s,t,e){let i=s.canvas,n=new MutationObserver(r=>{let o=!1;for(let a of r)o=o||$i(a.addedNodes,i),o=o&&!$i(a.removedNodes,i);o&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Hu(s,t,e){let i=s.canvas,n=new MutationObserver(r=>{let o=!1;for(let a of r)o=o||$i(a.removedNodes,i),o=o&&!$i(a.addedNodes,i);o&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}var Fs=new Map,wa=0;function tl(){let s=window.devicePixelRatio;s!==wa&&(wa=s,Fs.forEach((t,e)=>{e.currentDevicePixelRatio!==s&&t()}))}function Bu(s,t){Fs.size||window.addEventListener("resize",tl),Fs.set(s,t)}function $u(s){Fs.delete(s),Fs.size||window.removeEventListener("resize",tl)}function ju(s,t,e){let i=s.canvas,n=i&&Fi(i);if(!n)return;let r=Ln((a,l)=>{let c=n.clientWidth;e(a,l),c{let l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||r(c,h)});return o.observe(n),Bu(s,r),o}function or(s,t,e){e&&e.disconnect(),t==="resize"&&$u(s)}function Uu(s,t,e){let i=s.canvas,n=Ln(r=>{s.ctx!==null&&e(zu(r,s))},s,r=>{let o=r[0];return[o,o.offsetX,o.offsetY]});return Ru(i,t,n),n}var mr=class extends Bi{acquireContext(t,e){let i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Nu(t,e),i):null}releaseContext(t){let e=t.canvas;if(!e[Vi])return!1;let i=e[Vi].initial;["height","width"].forEach(r=>{let o=i[r];R(o)?e.removeAttribute(r):e.setAttribute(r,o)});let n=i.style||{};return Object.keys(n).forEach(r=>{e.style[r]=n[r]}),e.width=e.width,delete e[Vi],!0}addEventListener(t,e,i){this.removeEventListener(t,e);let n=t.$proxies||(t.$proxies={}),o={attach:Vu,detach:Hu,resize:ju}[e]||Uu;n[e]=o(t,e,i)}removeEventListener(t,e){let i=t.$proxies||(t.$proxies={}),n=i[e];if(!n)return;({attach:or,detach:or,resize:or}[e]||Wu)(t,e,n),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,n){return Ko(t,e,i,n)}isAttached(t){let e=Fi(t);return!!(e&&e.isConnected)}};function Yu(s){return!qn()||typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas?fr:mr}var gr=class{constructor(){this._init=[]}notify(t,e,i,n){e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));let r=n?this._descriptors(t).filter(n):this._descriptors(t),o=this._notify(r,t,e,i);return e==="afterDestroy"&&(this._notify(r,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,n){n=n||{};for(let r of t){let o=r.plugin,a=o[i],l=[e,n,r.options];if(j(a,l,o)===!1&&n.cancelable)return!1}return!0}invalidate(){R(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;let e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){let i=t&&t.config,n=I(i.options&&i.options.plugins,{}),r=Zu(i);return n===!1&&!e?[]:Gu(t,r,n,e)}_notifyStateChanges(t){let e=this._oldCache||[],i=this._cache,n=(r,o)=>r.filter(a=>!o.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,i),t,"stop"),this._notify(n(i,e),t,"start")}};function Zu(s){let t={},e=[],i=Object.keys(Pt.plugins.items);for(let r=0;r{let l=i[a];if(!A(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);let c=yr(a,l),h=Ju(c,n),u=e.scales||{};r[c]=r[c]||a,o[a]=Pe(Object.create(null),[{axis:c},l,u[c],u[h]])}),s.data.datasets.forEach(a=>{let l=a.type||s.type,c=a.indexAxis||pr(l,t),u=(Qt[l]||{}).scales||{};Object.keys(u).forEach(d=>{let f=Ku(d,c),m=a[f+"AxisID"]||r[f]||f;o[m]=o[m]||Object.create(null),Pe(o[m],[{axis:f},i[m],u[d]])})}),Object.keys(o).forEach(a=>{let l=o[a];Pe(l,[L.scales[l.type],L.scale])}),o}function el(s){let t=s.options||(s.options={});t.plugins=I(t.plugins,{}),t.scales=td(s,t)}function sl(s){return s=s||{},s.datasets=s.datasets||[],s.labels=s.labels||[],s}function ed(s){return s=s||{},s.data=sl(s.data),el(s),s}var Sa=new Map,il=new Set;function Ni(s,t){let e=Sa.get(s);return e||(e=t(),Sa.set(s,e),il.add(e)),e}var Os=(s,t,e)=>{let i=Bt(t,e);i!==void 0&&s.add(i)},br=class{constructor(t){this._config=ed(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=sl(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),el(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ni(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Ni(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Ni(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,i=this.type;return Ni(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let i=this._scopeCache,n=i.get(t);return(!n||e)&&(n=new Map,i.set(t,n)),n}getOptionScopes(t,e,i){let{options:n,type:r}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;let l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(u=>Os(l,t,u))),h.forEach(u=>Os(l,n,u)),h.forEach(u=>Os(l,Qt[r]||{},u)),h.forEach(u=>Os(l,L,u)),h.forEach(u=>Os(l,Di,u))});let c=Array.from(l);return c.length===0&&c.push(Object.create(null)),il.has(e)&&o.set(e,c),c}chartOptionScopes(){let{options:t,type:e}=this;return[t,Qt[e]||{},L.datasets[e]||{},{type:e},L,Di]}resolveNamedOptions(t,e,i,n=[""]){let r={$shared:!0},{resolver:o,subPrefixes:a}=ka(this._resolverCache,t,n),l=o;if(id(o,e)){r.$shared=!1,i=Ht(i)?i():i;let c=this.createResolver(t,i,a);l=ge(o,i,c)}for(let c of e)r[c]=l[c];return r}createResolver(t,e,i=[""],n){let{resolver:r}=ka(this._resolverCache,t,i);return A(e)?ge(r,e,void 0,n):r}};function ka(s,t,e){let i=s.get(t);i||(i=new Map,s.set(t,i));let n=e.join(),r=i.get(n);return r||(r={resolver:Ci(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},i.set(n,r)),r}var sd=s=>A(s)&&Object.getOwnPropertyNames(s).reduce((t,e)=>t||Ht(s[e]),!1);function id(s,t){let{isScriptable:e,isIndexable:i}=jn(s);for(let n of t){let r=e(n),o=i(n),a=(o||r)&&s[n];if(r&&(Ht(a)||sd(a))||o&&$(a))return!0}return!1}var nd="3.9.1",rd=["top","bottom","left","right","chartArea"];function Ma(s,t){return s==="top"||s==="bottom"||rd.indexOf(s)===-1&&t==="x"}function Ta(s,t){return function(e,i){return e[s]===i[s]?e[t]-i[t]:e[s]-i[s]}}function va(s){let t=s.chart,e=t.options.animation;t.notifyPlugins("afterRender"),j(e&&e.onComplete,[s],t)}function od(s){let t=s.chart,e=t.options.animation;j(e&&e.onProgress,[s],t)}function nl(s){return qn()&&typeof s=="string"?s=document.getElementById(s):s&&s.length&&(s=s[0]),s&&s.canvas&&(s=s.canvas),s}var ji={},rl=s=>{let t=nl(s);return Object.values(ji).filter(e=>e.canvas===t).pop()};function ad(s,t,e){let i=Object.keys(s);for(let n of i){let r=+n;if(r>=t){let o=s[n];delete s[n],(e>0||r>t)&&(s[r+e]=o)}}}function ld(s,t,e,i){return!e||s.type==="mouseout"?null:i?t:s}var xe=class{constructor(t,e){let i=this.config=new br(e),n=nl(t),r=rl(n);if(r)throw new Error("Canvas is already in use. Chart with ID '"+r.id+"' must be destroyed before the canvas with ID '"+r.canvas.id+"' can be reused.");let o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Yu(n)),this.platform.updateConfig(i);let a=this.platform.acquireContext(n,o.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=Mo(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=o,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 gr,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Po(u=>this.update(u),o.resizeDelay||0),this._dataChanges=[],ji[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}jt.listen(this,"complete",va),jt.listen(this,"progress",od),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:r}=this;return R(t)?e&&r?r:n?i/n: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():Gn(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Hn(this.canvas,this.ctx),this}stop(){return jt.stop(this),this}resize(t,e){jt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let i=this.options,n=this.canvas,r=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(n,t,e,r),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Gn(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),j(i.onResize,[this,o],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){let e=this.options.scales||{};H(e,(i,n)=>{i.id=n})}buildOrUpdateScales(){let t=this.options,e=t.scales,i=this.scales,n=Object.keys(i).reduce((o,a)=>(o[a]=!1,o),{}),r=[];e&&(r=r.concat(Object.keys(e).map(o=>{let a=e[o],l=yr(o,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),H(r,o=>{let a=o.options,l=a.id,c=yr(l,a),h=I(a.type,o.dtype);(a.position===void 0||Ma(a.position,c)!==Ma(o.dposition))&&(a.position=o.dposition),n[l]=!0;let u=null;if(l in i&&i[l].type===h)u=i[l];else{let d=Pt.getScale(h);u=new d({id:l,type:h,ctx:this.ctx,chart:this}),i[u.id]=u}u.init(a,t)}),H(n,(o,a)=>{o||delete i[a]}),H(i,o=>{lt.configure(this,o,o.options),lt.addBox(this,o)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((n,r)=>n.index-r.index),i>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((i,n)=>{e.filter(r=>r===i._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,i,n;for(this._removeUnreferencedMetasets(),i=0,n=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;let r=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Ta("z","_idx"));let{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){H(this.scales,t=>{lt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!vn(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:i,start:n,count:r}of e){let o=i==="_removeElements"?-r:r;ad(t,n,o)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,i=r=>new Set(t.filter(o=>o[0]===r).map((o,a)=>a+","+o.splice(1).join(","))),n=i(0);for(let r=1;rr.split(",")).map(r=>({method:r[1],start:+r[2],count:+r[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;lt.update(this,this.width,this.height,t);let e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],H(this.boxes,n=>{i&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,r)=>{n._idx=r}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,i=t._clip,n=!i.disabled,r=this.chartArea,o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(n&&ws(e,{left:i.left===!1?0:r.left-i.left,right:i.right===!1?this.width:r.right+i.right,top:i.top===!1?0:r.top-i.top,bottom:i.bottom===!1?this.height:r.bottom+i.bottom}),t.controller.draw(),n&&Ss(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return Ae(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,n){let r=Ou.modes[e];return typeof r=="function"?r(this,t,i,n):[]}getDatasetMeta(t){let e=this.data.datasets[t],i=this._metasets,n=i.filter(r=>r&&r._dataset===e).pop();return n||(n={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},i.push(n)),n}getContext(){return this.$context||(this.$context=$t(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){let i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){let n=i?"show":"hide",r=this.getDatasetMeta(t),o=r.controller._resolveAnimations(void 0,n);ft(e)?(r.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(r,{visible:i}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),jt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,r,o),t[r]=o},n=(r,o,a)=>{r.offsetX=o,r.offsetY=a,this._eventHandler(r)};H(this.options.events,r=>i(r,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,i=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},r=(l,c)=>{this.canvas&&this.resize(l,c)},o,a=()=>{n("attach",a),this.attached=!0,this.resize(),i("resize",r),i("detach",o)};o=()=>{this.attached=!1,n("resize",r),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){H(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},H(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){let n=i?"set":"remove",r,o,a,l;for(e==="dataset"&&(r=this.getDatasetMeta(t[0].datasetIndex),r.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{let a=this.getDatasetMeta(r);if(!a)throw new Error("No dataset found at index "+r);return{datasetIndex:r,element:a.data[o],index:o}});!xs(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){let n=this.options.hover,r=(l,c)=>l.filter(h=>!c.some(u=>h.datasetIndex===u.datasetIndex&&h.index===u.index)),o=r(e,t),a=i?t:r(t,e);o.length&&this.updateHoverStyle(o,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){let i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,n)===!1)return;let r=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,n),(r||i.changed)&&this.render(),this}_handleEvent(t,e,i){let{_active:n=[],options:r}=this,o=e,a=this._getActiveElements(t,n,i,o),l=Oo(t),c=ld(t,this._lastEvent,i,l);i&&(this._lastEvent=null,j(r.onHover,[t,a,this],this),l&&j(r.onClick,[t,a,this],this));let h=!xs(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,i,n){if(t.type==="mouseout")return[];if(!i)return e;let r=this.options.hover;return this.getElementsAtEventForMode(t,r.mode,r,n)}},Oa=()=>H(xe.instances,s=>s._plugins.invalidate()),ne=!0;Object.defineProperties(xe,{defaults:{enumerable:ne,value:L},instances:{enumerable:ne,value:ji},overrides:{enumerable:ne,value:Qt},registry:{enumerable:ne,value:Pt},version:{enumerable:ne,value:nd},getChart:{enumerable:ne,value:rl},register:{enumerable:ne,value:(...s)=>{Pt.add(...s),Oa()}},unregister:{enumerable:ne,value:(...s)=>{Pt.remove(...s),Oa()}}});function ol(s,t,e){let{startAngle:i,pixelMargin:n,x:r,y:o,outerRadius:a,innerRadius:l}=t,c=n/a;s.beginPath(),s.arc(r,o,a,i-c,e+c),l>n?(c=n/l,s.arc(r,o,l,e+c,i-c,!0)):s.arc(r,o,n,e+Z,i-Z),s.closePath(),s.clip()}function cd(s){return Ii(s,["outerStart","outerEnd","innerStart","innerEnd"])}function hd(s,t,e,i){let n=cd(s.options.borderRadius),r=(e-t)/2,o=Math.min(r,i*t/2),a=l=>{let c=(e-Math.min(r,l))*i/2;return it(l,0,Math.min(r,c))};return{outerStart:a(n.outerStart),outerEnd:a(n.outerEnd),innerStart:it(n.innerStart,0,o),innerEnd:it(n.innerEnd,0,o)}}function He(s,t,e,i){return{x:e+s*Math.cos(t),y:i+s*Math.sin(t)}}function xr(s,t,e,i,n,r){let{x:o,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,u=Math.max(t.outerRadius+i+e-c,0),d=h>0?h+i+e+c:0,f=0,m=n-l;if(i){let E=h>0?h-i:0,tt=u>0?u-i:0,J=(E+tt)/2,fe=J!==0?m*J/(J+i):m;f=(m-fe)/2}let g=Math.max(.001,m*u-e/Y)/u,p=(m-g)/2,y=l+p+f,b=n-p-f,{outerStart:_,outerEnd:w,innerStart:x,innerEnd:S}=hd(t,d,u,b-y),k=u-_,O=u-w,T=y+_/k,F=b-w/O,W=d+x,P=d+S,Q=y+x/W,ct=b-S/P;if(s.beginPath(),r){if(s.arc(o,a,u,T,F),w>0){let J=He(O,F,o,a);s.arc(J.x,J.y,w,F,b+Z)}let E=He(P,b,o,a);if(s.lineTo(E.x,E.y),S>0){let J=He(P,ct,o,a);s.arc(J.x,J.y,S,b+Z,ct+Math.PI)}if(s.arc(o,a,d,b-S/d,y+x/d,!0),x>0){let J=He(W,Q,o,a);s.arc(J.x,J.y,x,Q+Math.PI,y-Z)}let tt=He(k,y,o,a);if(s.lineTo(tt.x,tt.y),_>0){let J=He(k,T,o,a);s.arc(J.x,J.y,_,y-Z,T)}}else{s.moveTo(o,a);let E=Math.cos(T)*u+o,tt=Math.sin(T)*u+a;s.lineTo(E,tt);let J=Math.cos(F)*u+o,fe=Math.sin(F)*u+a;s.lineTo(J,fe)}s.closePath()}function ud(s,t,e,i,n){let{fullCircles:r,startAngle:o,circumference:a}=t,l=t.endAngle;if(r){xr(s,t,e,i,o+B,n);for(let c=0;c=B||Re(r,a,l),g=At(o,c+d,h+d);return m&&g}getCenterPoint(t){let{x:e,y:i,startAngle:n,endAngle:r,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:l,spacing:c}=this.options,h=(n+r)/2,u=(o+a+c+l)/2;return{x:e+Math.cos(h)*u,y:i+Math.sin(h)*u}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){let{options:e,circumference:i}=this,n=(e.offset||0)/2,r=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=i>B?Math.floor(i/B):0,i===0||this.innerRadius<0||this.outerRadius<0)return;t.save();let a=0;if(n){a=n/2;let c=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(c)*a,Math.sin(c)*a),this.circumference>=Y&&(a=n)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;let l=ud(t,this,a,r,o);fd(t,this,a,r,l,o),t.restore()}};Ge.id="arc";Ge.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};Ge.defaultRoutes={backgroundColor:"backgroundColor"};function al(s,t,e=t){s.lineCap=I(e.borderCapStyle,t.borderCapStyle),s.setLineDash(I(e.borderDash,t.borderDash)),s.lineDashOffset=I(e.borderDashOffset,t.borderDashOffset),s.lineJoin=I(e.borderJoinStyle,t.borderJoinStyle),s.lineWidth=I(e.borderWidth,t.borderWidth),s.strokeStyle=I(e.borderColor,t.borderColor)}function md(s,t,e){s.lineTo(e.x,e.y)}function gd(s){return s.stepped?$o:s.tension||s.cubicInterpolationMode==="monotone"?jo:md}function ll(s,t,e={}){let i=s.length,{start:n=0,end:r=i-1}=e,{start:o,end:a}=t,l=Math.max(n,o),c=Math.min(r,a),h=na&&r>a;return{count:i,start:l,loop:t.loop,ilen:c(o+(c?a-w:w))%r,_=()=>{g!==p&&(s.lineTo(h,p),s.lineTo(h,g),s.lineTo(h,y))};for(l&&(f=n[b(0)],s.moveTo(f.x,f.y)),d=0;d<=a;++d){if(f=n[b(d)],f.skip)continue;let w=f.x,x=f.y,S=w|0;S===m?(xp&&(p=x),h=(u*h+w)/++u):(_(),s.lineTo(w,x),m=S,u=0,g=p=x),y=x}_()}function _r(s){let t=s.options,e=t.borderDash&&t.borderDash.length;return!s._decimated&&!s._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?yd:pd}function bd(s){return s.stepped?Qo:s.tension||s.cubicInterpolationMode==="monotone"?ta:Xt}function xd(s,t,e,i){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,i)&&n.closePath()),al(s,t.options),s.stroke(n)}function _d(s,t,e,i){let{segments:n,options:r}=t,o=_r(t);for(let a of n)al(s,r,a.style),s.beginPath(),o(s,t,a,{start:e,end:e+i-1})&&s.closePath(),s.stroke()}var wd=typeof Path2D=="function";function Sd(s,t,e,i){wd&&!t.options.segment?xd(s,t,e,i):_d(s,t,e,i)}var Nt=class extends yt{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){let i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){let n=i.spanGaps?this._loop:this._fullLoop;Xo(this._points,i,t,n,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=sa(this,this.options.segment))}first(){let t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){let t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){let i=this.options,n=t[e],r=this.points,o=tr(this,{property:e,start:n,end:n});if(!o.length)return;let a=[],l=bd(i),c,h;for(c=0,h=o.length;cs!=="borderDash"&&s!=="fill"};function Da(s,t,e,i){let n=s.options,{[e]:r}=s.getProps([e],i);return Math.abs(t-r)=e)return s.slice(t,t+e);let o=[],a=(e-2)/(r-2),l=0,c=t+e-1,h=t,u,d,f,m,g;for(o[l++]=s[h],u=0;uf&&(f=m,d=s[b],g=b);o[l++]=d,h=g}return o[l++]=s[c],o}function Id(s,t,e,i){let n=0,r=0,o,a,l,c,h,u,d,f,m,g,p=[],y=t+e-1,b=s[t].x,w=s[y].x-b;for(o=t;og&&(g=c,d=o),n=(r*n+a.x)/++r;else{let S=o-1;if(!R(u)&&!R(d)){let k=Math.min(u,d),O=Math.max(u,d);k!==f&&k!==S&&p.push({...s[k],x:n}),O!==f&&O!==S&&p.push({...s[O],x:n})}o>0&&S!==f&&p.push(s[S]),p.push(a),h=x,r=0,m=g=c,u=d=f=o}}return p}function hl(s){if(s._decimated){let t=s._data;delete s._decimated,delete s._data,Object.defineProperty(s,"data",{value:t})}}function Ea(s){s.data.datasets.forEach(t=>{hl(t)})}function Cd(s,t){let e=t.length,i=0,n,{iScale:r}=s,{min:o,max:a,minDefined:l,maxDefined:c}=r.getUserBounds();return l&&(i=it(Ct(t,r.axis,o).lo,0,e-1)),c?n=it(Ct(t,r.axis,a).hi+1,i,e)-i:n=e-i,{start:i,count:n}}var Fd={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(s,t,e)=>{if(!e.enabled){Ea(s);return}let i=s.width;s.data.datasets.forEach((n,r)=>{let{_data:o,indexAxis:a}=n,l=s.getDatasetMeta(r),c=o||n.data;if(ze([a,s.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;let h=s.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||s.options.parsing)return;let{start:u,count:d}=Cd(l,c),f=e.threshold||4*i;if(d<=f){hl(n);return}R(o)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}}));let m;switch(e.algorithm){case"lttb":m=Ed(c,u,d,i,e);break;case"min-max":m=Id(c,u,d,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=m})},destroy(s){Ea(s)}};function Ad(s,t,e){let i=s.segments,n=s.points,r=t.points,o=[];for(let a of i){let{start:l,end:c}=a;c=Mr(l,c,n);let h=wr(e,n[l],n[c],a.loop);if(!t.segments){o.push({source:a,target:h,start:n[l],end:n[c]});continue}let u=tr(t,h);for(let d of u){let f=wr(e,r[d.start],r[d.end],d.loop),m=Qn(a,n,f);for(let g of m)o.push({source:g,target:d,start:{[e]:Ia(h,f,"start",Math.max)},end:{[e]:Ia(h,f,"end",Math.min)}})}}return o}function wr(s,t,e,i){if(i)return;let n=t[s],r=e[s];return s==="angle"&&(n=ht(n),r=ht(r)),{property:s,start:n,end:r}}function Ld(s,t){let{x:e=null,y:i=null}=s||{},n=t.points,r=[];return t.segments.forEach(({start:o,end:a})=>{a=Mr(o,a,n);let l=n[o],c=n[a];i!==null?(r.push({x:l.x,y:i}),r.push({x:c.x,y:i})):e!==null&&(r.push({x:e,y:l.y}),r.push({x:e,y:c.y}))}),r}function Mr(s,t,e){for(;t>s;t--){let i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function Ia(s,t,e,i){return s&&t?i(s[e],t[e]):s?s[e]:t?t[e]:0}function ul(s,t){let e=[],i=!1;return $(s)?(i=!0,e=s):e=Ld(s,t),e.length?new Nt({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function Ca(s){return s&&s.fill!==!1}function Pd(s,t,e){let n=s[t].fill,r=[t],o;if(!e)return n;for(;n!==!1&&r.indexOf(n)===-1;){if(!K(n))return n;if(o=s[n],!o)return!1;if(o.visible)return n;r.push(n),n=o.fill}return!1}function Nd(s,t,e){let i=Vd(s);if(A(i))return isNaN(i.value)?!1:i;let n=parseFloat(i);return K(n)&&Math.floor(n)===n?Rd(i[0],t,n,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function Rd(s,t,e,i){return(s==="-"||s==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function Wd(s,t){let e=null;return s==="start"?e=t.bottom:s==="end"?e=t.top:A(s)?e=t.getPixelForValue(s.value):t.getBasePixel&&(e=t.getBasePixel()),e}function zd(s,t,e){let i;return s==="start"?i=e:s==="end"?i=t.options.reverse?t.min:t.max:A(s)?i=s.value:i=t.getBaseValue(),i}function Vd(s){let t=s.options,e=t.fill,i=I(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function Hd(s){let{scale:t,index:e,line:i}=s,n=[],r=i.segments,o=i.points,a=Bd(t,e);a.push(ul({x:null,y:t.bottom},i));for(let l=0;l=0;--o){let a=n[o].$filler;a&&(a.line.updateControlPoints(r,a.axis),i&&a.fill&&cr(s.ctx,a,r))}},beforeDatasetsDraw(s,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;let i=s.getSortedVisibleDatasetMetas();for(let n=i.length-1;n>=0;--n){let r=i[n].$filler;Ca(r)&&cr(s.ctx,r,s.chartArea)}},beforeDatasetDraw(s,t,e){let i=t.meta.$filler;!Ca(i)||e.drawTime!=="beforeDatasetDraw"||cr(s.ctx,i,s.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},Pa=(s,t)=>{let{boxHeight:e=t,boxWidth:i=t}=s;return s.usePointStyle&&(e=Math.min(e,t),i=s.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},Qd=(s,t)=>s!==null&&t!==null&&s.datasetIndex===t.datasetIndex&&s.index===t.index,Yi=class extends yt{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,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,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(){let t=this.options.labels||{},e=j(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,n)=>t.sort(i,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let i=t.labels,n=et(i.font),r=n.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Pa(i,r),c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(o,r,a,l)+10):(h=this.maxHeight,c=this._fitCols(o,r,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,n){let{ctx:r,maxWidth:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a,u=t;r.textAlign="left",r.textBaseline="middle";let d=-1,f=-h;return this.legendItems.forEach((m,g)=>{let p=i+e/2+r.measureText(m.text).width;(g===0||c[c.length-1]+p+2*a>o)&&(u+=h,c[c.length-(g>0?0:1)]=0,f+=h,d++),l[g]={left:0,top:f,row:d,width:p,height:n},c[c.length-1]+=p+a}),u}_fitCols(t,e,i,n){let{ctx:r,maxHeight:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=o-t,u=a,d=0,f=0,m=0,g=0;return this.legendItems.forEach((p,y)=>{let b=i+e/2+r.measureText(p.text).width;y>0&&f+n+2*a>h&&(u+=d+a,c.push({width:d,height:f}),m+=d+a,g++,d=f=0),l[y]={left:m,top:f,col:g,width:b,height:n},d=Math.max(d,b),f+=n+a}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:n},rtl:r}}=this,o=ye(r,this.left,this.width);if(this.isHorizontal()){let a=0,l=ot(i,this.left+n,this.right-this.lineWidths[a]);for(let c of e)a!==c.row&&(a=c.row,l=ot(i,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=o.leftForLtr(o.x(l),c.width),l+=c.width+n}else{let a=0,l=ot(i,this.top+t+n,this.bottom-this.columnSizes[a].height);for(let c of e)c.col!==a&&(a=c.col,l=ot(i,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=o.leftForLtr(o.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let t=this.ctx;ws(t,this),this._draw(),Ss(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:i,ctx:n}=this,{align:r,labels:o}=t,a=L.color,l=ye(t.rtl,this.left,this.width),c=et(o.font),{color:h,padding:u}=o,d=c.size,f=d/2,m;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;let{boxWidth:g,boxHeight:p,itemHeight:y}=Pa(o,d),b=function(k,O,T){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;n.save();let F=I(T.lineWidth,1);if(n.fillStyle=I(T.fillStyle,a),n.lineCap=I(T.lineCap,"butt"),n.lineDashOffset=I(T.lineDashOffset,0),n.lineJoin=I(T.lineJoin,"miter"),n.lineWidth=F,n.strokeStyle=I(T.strokeStyle,a),n.setLineDash(I(T.lineDash,[])),o.usePointStyle){let W={radius:p*Math.SQRT2/2,pointStyle:T.pointStyle,rotation:T.rotation,borderWidth:F},P=l.xPlus(k,g/2),Q=O+f;Bn(n,W,P,Q,o.pointStyleWidth&&g)}else{let W=O+Math.max((d-p)/2,0),P=l.leftForLtr(k,g),Q=se(T.borderRadius);n.beginPath(),Object.values(Q).some(ct=>ct!==0)?We(n,{x:P,y:W,w:g,h:p,radius:Q}):n.rect(P,W,g,p),n.fill(),F!==0&&n.stroke()}n.restore()},_=function(k,O,T){ee(n,T.text,k,O+y/2,c,{strikethrough:T.hidden,textAlign:l.textAlign(T.textAlign)})},w=this.isHorizontal(),x=this._computeTitleHeight();w?m={x:ot(r,this.left+u,this.right-i[0]),y:this.top+u+x,line:0}:m={x:this.left+u,y:ot(r,this.top+x+u,this.bottom-e[0].height),line:0},Kn(this.ctx,t.textDirection);let S=y+u;this.legendItems.forEach((k,O)=>{n.strokeStyle=k.fontColor||h,n.fillStyle=k.fontColor||h;let T=n.measureText(k.text).width,F=l.textAlign(k.textAlign||(k.textAlign=o.textAlign)),W=g+f+T,P=m.x,Q=m.y;l.setWidth(this.width),w?O>0&&P+W+u>this.right&&(Q=m.y+=S,m.line++,P=m.x=ot(r,this.left+u,this.right-i[m.line])):O>0&&Q+S>this.bottom&&(P=m.x=P+e[m.line].width+u,m.line++,Q=m.y=ot(r,this.top+x+u,this.bottom-e[m.line].height));let ct=l.x(P);b(ct,Q,k),P=No(F,P+g+f,w?P+W:this.right,t.rtl),_(l.x(P),Q,k),w?m.x+=W+u:m.y+=S}),Jn(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,i=et(e.font),n=at(e.padding);if(!e.display)return;let r=ye(t.rtl,this.left,this.width),o=this.ctx,a=e.position,l=i.size/2,c=n.top+l,h,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+c,u=ot(t.align,u,this.right-d);else{let m=this.columnSizes.reduce((g,p)=>Math.max(g,p.height),0);h=c+ot(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}let f=ot(a,u,u+d);o.textAlign=r.textAlign(Oi(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,ee(o,e.text,f,h,i)}_computeTitleHeight(){let t=this.options.title,e=et(t.font),i=at(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,n,r;if(At(t,this.left,this.right)&&At(e,this.top,this.bottom)){for(r=this.legendHitBoxes,i=0;is.chart.options.color,boxWidth:40,padding:10,generateLabels(s){let t=s.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:n,color:r}}=s.legend.options;return s._getSortedDatasetMetas().map(o=>{let a=o.controller.getStyle(e?0:void 0),l=at(a.borderWidth);return{text:t[o.index].label,fillStyle:a.backgroundColor,fontColor:r,hidden:!o.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:o.index}},this)}},title:{color:s=>s.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:s=>!s.startsWith("on"),labels:{_scriptable:s=>!["generateLabels","filter","sort"].includes(s)}}},As=class extends yt{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){let i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;let n=$(i.text)?i.text.length:1;this._padding=at(i.padding);let r=n*et(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=r:this.width=r}isHorizontal(){let t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){let{top:e,left:i,bottom:n,right:r,options:o}=this,a=o.align,l=0,c,h,u;return this.isHorizontal()?(h=ot(a,i,r),u=e+t,c=r-i):(o.position==="left"?(h=i+t,u=ot(a,n,e),l=Y*-.5):(h=r-t,u=ot(a,e,n),l=Y*.5),c=n-e),{titleX:h,titleY:u,maxWidth:c,rotation:l}}draw(){let t=this.ctx,e=this.options;if(!e.display)return;let i=et(e.font),r=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(r);ee(t,e.text,0,0,i,{color:e.color,maxWidth:l,rotation:c,textAlign:Oi(e.align),textBaseline:"middle",translation:[o,a]})}};function sf(s,t){let e=new As({ctx:s.ctx,options:t,chart:s});lt.configure(s,e,t),lt.addBox(s,e),s.titleBlock=e}var nf={id:"title",_element:As,start(s,t,e){sf(s,e)},stop(s){let t=s.titleBlock;lt.removeBox(s,t),delete s.titleBlock},beforeUpdate(s,t,e){let i=s.titleBlock;lt.configure(s,i,e),i.options=e},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}},Ri=new WeakMap,rf={id:"subtitle",start(s,t,e){let i=new As({ctx:s.ctx,options:e,chart:s});lt.configure(s,i,e),lt.addBox(s,i),Ri.set(s,i)},stop(s){lt.removeBox(s,Ri.get(s)),Ri.delete(s)},beforeUpdate(s,t,e){let i=Ri.get(s);lt.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Es={average(s){if(!s.length)return!1;let t,e,i=0,n=0,r=0;for(t=0,e=s.length;tt in s?Mc(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var v=(s,t,e)=>Oc(s,typeof t!="symbol"?t+"":t,e);function us(s){return s+.5|0}var Zt=(s,t,e)=>Math.max(Math.min(s,e),t);function cs(s){return Zt(us(s*2.55),0,255)}function qt(s){return Zt(us(s*255),0,255)}function Nt(s){return Zt(us(s/2.55)/100,0,1)}function zo(s){return Zt(us(s*100),0,100)}var 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},qi=[..."0123456789ABCDEF"],Tc=s=>qi[s&15],Dc=s=>qi[(s&240)>>4]+qi[s&15],Us=s=>(s&240)>>4===(s&15),Cc=s=>Us(s.r)&&Us(s.g)&&Us(s.b)&&Us(s.a);function Pc(s){var t=s.length,e;return s[0]==="#"&&(t===4||t===5?e={r:255&pt[s[1]]*17,g:255&pt[s[2]]*17,b:255&pt[s[3]]*17,a:t===5?pt[s[4]]*17:255}:(t===7||t===9)&&(e={r:pt[s[1]]<<4|pt[s[2]],g:pt[s[3]]<<4|pt[s[4]],b:pt[s[5]]<<4|pt[s[6]],a:t===9?pt[s[7]]<<4|pt[s[8]]:255})),e}var Ac=(s,t)=>s<255?t(s):"";function Ic(s){var t=Cc(s)?Tc:Dc;return s?"#"+t(s.r)+t(s.g)+t(s.b)+Ac(s.a,t):void 0}var Ec=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Ho(s,t,e){let i=t*Math.min(e,1-e),n=(o,r=(o+s/30)%12)=>e-i*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function Lc(s,t,e){let i=(n,o=(n+s/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function Fc(s,t,e){let i=Ho(s,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)i[n]*=1-t-e,i[n]+=t;return i}function Rc(s,t,e,i,n){return s===n?(t-e)/i+(t.5?h/(2-o-r):h/(o+r),l=Rc(e,i,n,h,o),l=l*60+.5),[l|0,c||0,a]}function Xi(s,t,e,i){return(Array.isArray(t)?s(t[0],t[1],t[2]):s(t,e,i)).map(qt)}function Ji(s,t,e){return Xi(Ho,s,t,e)}function Nc(s,t,e){return Xi(Fc,s,t,e)}function zc(s,t,e){return Xi(Lc,s,t,e)}function $o(s){return(s%360+360)%360}function Vc(s){let t=Ec.exec(s),e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?cs(+t[5]):qt(+t[5]));let n=$o(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?i=Nc(n,o,r):t[1]==="hsv"?i=zc(n,o,r):i=Ji(n,o,r),{r:i[0],g:i[1],b:i[2],a:e}}function Wc(s,t){var e=Gi(s);e[0]=$o(e[0]+t),e=Ji(e),s.r=e[0],s.g=e[1],s.b=e[2]}function Bc(s){if(!s)return;let t=Gi(s),e=t[0],i=zo(t[1]),n=zo(t[2]);return s.a<255?`hsla(${e}, ${i}%, ${n}%, ${Nt(s.a)})`:`hsl(${e}, ${i}%, ${n}%)`}var Vo={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Wo={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function Hc(){let s={},t=Object.keys(Wo),e=Object.keys(Vo),i,n,o,r,a;for(i=0;i>16&255,o>>8&255,o&255]}return s}var Ys;function $c(s){Ys||(Ys=Hc(),Ys.transparent=[0,0,0,0]);let t=Ys[s.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var jc=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Uc(s){let t=jc.exec(s),e=255,i,n,o;if(t){if(t[7]!==i){let r=+t[7];e=t[8]?cs(r):Zt(r*255,0,255)}return i=+t[1],n=+t[3],o=+t[5],i=255&(t[2]?cs(i):Zt(i,0,255)),n=255&(t[4]?cs(n):Zt(n,0,255)),o=255&(t[6]?cs(o):Zt(o,0,255)),{r:i,g:n,b:o,a:e}}}function Yc(s){return s&&(s.a<255?`rgba(${s.r}, ${s.g}, ${s.b}, ${Nt(s.a)})`:`rgb(${s.r}, ${s.g}, ${s.b})`)}var Zi=s=>s<=.0031308?s*12.92:Math.pow(s,1/2.4)*1.055-.055,De=s=>s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4);function Zc(s,t,e){let i=De(Nt(s.r)),n=De(Nt(s.g)),o=De(Nt(s.b));return{r:qt(Zi(i+e*(De(Nt(t.r))-i))),g:qt(Zi(n+e*(De(Nt(t.g))-n))),b:qt(Zi(o+e*(De(Nt(t.b))-o))),a:s.a+e*(t.a-s.a)}}function Zs(s,t,e){if(s){let i=Gi(s);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Ji(i),s.r=i[0],s.g=i[1],s.b=i[2]}}function jo(s,t){return s&&Object.assign(t||{},s)}function Bo(s){var t={r:0,g:0,b:0,a:255};return Array.isArray(s)?s.length>=3&&(t={r:s[0],g:s[1],b:s[2],a:255},s.length>3&&(t.a=qt(s[3]))):(t=jo(s,{r:0,g:0,b:0,a:1}),t.a=qt(t.a)),t}function qc(s){return s.charAt(0)==="r"?Uc(s):Vc(s)}var hs=class s{constructor(t){if(t instanceof s)return t;let e=typeof t,i;e==="object"?i=Bo(t):e==="string"&&(i=Pc(t)||$c(t)||qc(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=jo(this._rgb);return t&&(t.a=Nt(t.a)),t}set rgb(t){this._rgb=Bo(t)}rgbString(){return this._valid?Yc(this._rgb):void 0}hexString(){return this._valid?Ic(this._rgb):void 0}hslString(){return this._valid?Bc(this._rgb):void 0}mix(t,e){if(t){let i=this.rgb,n=t.rgb,o,r=e===o?.5:e,a=2*r-1,l=i.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,i.r=255&c*i.r+o*n.r+.5,i.g=255&c*i.g+o*n.g+.5,i.b=255&c*i.b+o*n.b+.5,i.a=r*i.a+(1-r)*n.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=Zc(this._rgb,t._rgb,e)),this}clone(){return new s(this.rgb)}alpha(t){return this._rgb.a=qt(t),this}clearer(t){let e=this._rgb;return e.a*=1-t,this}greyscale(){let t=this._rgb,e=us(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){let e=this._rgb;return e.a*=1+t,this}negate(){let t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Zs(this._rgb,2,t),this}darken(t){return Zs(this._rgb,2,-t),this}saturate(t){return Zs(this._rgb,1,t),this}desaturate(t){return Zs(this._rgb,1,-t),this}rotate(t){return Wc(this._rgb,t),this}};function At(){}var er=(()=>{let s=0;return()=>s++})();function I(s){return s==null}function H(s){if(Array.isArray&&Array.isArray(s))return!0;let t=Object.prototype.toString.call(s);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function E(s){return s!==null&&Object.prototype.toString.call(s)==="[object Object]"}function Z(s){return(typeof s=="number"||s instanceof Number)&&isFinite(+s)}function at(s,t){return Z(s)?s:t}function P(s,t){return typeof s>"u"?t:s}var sr=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100:+s/t,en=(s,t)=>typeof s=="string"&&s.endsWith("%")?parseFloat(s)/100*t:+s;function W(s,t,e){if(s&&typeof s.call=="function")return s.apply(e,t)}function z(s,t,e,i){let n,o,r;if(H(s))if(o=s.length,i)for(n=o-1;n>=0;n--)t.call(e,s[n],n);else for(n=0;ns,x:s=>s.x,y:s=>s.y};function Jc(s){let t=s.split("."),e=[],i="";for(let n of t)i+=n,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function Kc(s){let t=Jc(s);return e=>{for(let i of t){if(i==="")break;e=e&&e[i]}return e}}function Wt(s,t){return(Uo[t]||(Uo[t]=Kc(t)))(s)}function ei(s){return s.charAt(0).toUpperCase()+s.slice(1)}var Ee=s=>typeof s<"u",zt=s=>typeof s=="function",sn=(s,t)=>{if(s.size!==t.size)return!1;for(let e of s)if(!t.has(e))return!1;return!0};function nr(s){return s.type==="mouseup"||s.type==="click"||s.type==="contextmenu"}var F=Math.PI,$=2*F,Qc=$+F,Ks=Number.POSITIVE_INFINITY,th=F/180,q=F/2,he=F/4,Yo=F*2/3,Vt=Math.log10,St=Math.sign;function Le(s,t,e){return Math.abs(s-t)n-o).pop(),t}function eh(s){return typeof s=="symbol"||typeof s=="object"&&s!==null&&!(Symbol.toPrimitive in s||"toString"in s||"valueOf"in s)}function fe(s){return!eh(s)&&!isNaN(parseFloat(s))&&isFinite(s)}function rr(s,t){let e=Math.round(s);return e-t<=s&&e+t>=s}function on(s,t,e){let i,n,o;for(i=0,n=s.length;il&&c=Math.min(t,e)-i&&s<=Math.max(t,e)+i}function ii(s,t,e){e=e||(r=>s[r]1;)o=n+i>>1,e(o)?n=o:i=o;return{lo:n,hi:i}}var Ct=(s,t,e,i)=>ii(s,e,i?n=>{let o=s[n][t];return os[n][t]ii(s,e,i=>s[i][t]>=e);function cr(s,t,e){let i=0,n=s.length;for(;ii&&s[n-1]>e;)n--;return i>0||n{let i="_onData"+ei(e),n=s[e];Object.defineProperty(s,e,{configurable:!0,enumerable:!1,value(...o){let r=n.apply(this,o);return s._chartjs.listeners.forEach(a=>{typeof a[i]=="function"&&a[i](...o)}),r}})})}function ln(s,t){let e=s._chartjs;if(!e)return;let i=e.listeners,n=i.indexOf(t);n!==-1&&i.splice(n,1),!(i.length>0)&&(hr.forEach(o=>{delete s[o]}),delete s._chartjs)}function cn(s){let t=new Set(s);return t.size===s.length?s:Array.from(t)}var hn=(function(){return typeof window>"u"?function(s){return s()}:window.requestAnimationFrame})();function un(s,t){let e=[],i=!1;return function(...n){e=n,i||(i=!0,hn.call(window,()=>{i=!1,s.apply(t,e)}))}}function dr(s,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(s,t,i)):s.apply(this,i),t}}var ni=s=>s==="start"?"left":s==="end"?"right":"center",it=(s,t,e)=>s==="start"?t:s==="end"?e:(t+e)/2,fr=(s,t,e,i)=>s===(i?"left":"right")?e:s==="center"?(t+e)/2:t;function dn(s,t,e){let i=t.length,n=0,o=i;if(s._sorted){let{iScale:r,vScale:a,_parsed:l}=s,c=s.dataset&&s.dataset.options?s.dataset.options.spanGaps:null,h=r.axis,{min:u,max:d,minDefined:f,maxDefined:g}=r.getUserBounds();if(f){if(n=Math.min(Ct(l,h,u).lo,e?i:Ct(t,h,r.getPixelForValue(u)).lo),c){let m=l.slice(0,n+1).reverse().findIndex(p=>!I(p[a.axis]));n-=Math.max(0,m)}n=K(n,0,i-1)}if(g){let m=Math.max(Ct(l,r.axis,d,!0).hi+1,e?0:Ct(t,h,r.getPixelForValue(d),!0).hi+1);if(c){let p=l.slice(m-1).findIndex(b=>!I(b[a.axis]));m+=Math.max(0,p)}o=K(m,n,i)-n}else o=i-n}return{start:n,count:o}}function fn(s){let{xScale:t,yScale:e,_scaleRanges:i}=s,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return s._scaleRanges=n,!0;let o=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,n),o}var qs=s=>s===0||s===1,Zo=(s,t,e)=>-(Math.pow(2,10*(s-=1))*Math.sin((s-t)*$/e)),qo=(s,t,e)=>Math.pow(2,-10*s)*Math.sin((s-t)*$/e)+1,Ce={linear:s=>s,easeInQuad:s=>s*s,easeOutQuad:s=>-s*(s-2),easeInOutQuad:s=>(s/=.5)<1?.5*s*s:-.5*(--s*(s-2)-1),easeInCubic:s=>s*s*s,easeOutCubic:s=>(s-=1)*s*s+1,easeInOutCubic:s=>(s/=.5)<1?.5*s*s*s:.5*((s-=2)*s*s+2),easeInQuart:s=>s*s*s*s,easeOutQuart:s=>-((s-=1)*s*s*s-1),easeInOutQuart:s=>(s/=.5)<1?.5*s*s*s*s:-.5*((s-=2)*s*s*s-2),easeInQuint:s=>s*s*s*s*s,easeOutQuint:s=>(s-=1)*s*s*s*s+1,easeInOutQuint:s=>(s/=.5)<1?.5*s*s*s*s*s:.5*((s-=2)*s*s*s*s+2),easeInSine:s=>-Math.cos(s*q)+1,easeOutSine:s=>Math.sin(s*q),easeInOutSine:s=>-.5*(Math.cos(F*s)-1),easeInExpo:s=>s===0?0:Math.pow(2,10*(s-1)),easeOutExpo:s=>s===1?1:-Math.pow(2,-10*s)+1,easeInOutExpo:s=>qs(s)?s:s<.5?.5*Math.pow(2,10*(s*2-1)):.5*(-Math.pow(2,-10*(s*2-1))+2),easeInCirc:s=>s>=1?s:-(Math.sqrt(1-s*s)-1),easeOutCirc:s=>Math.sqrt(1-(s-=1)*s),easeInOutCirc:s=>(s/=.5)<1?-.5*(Math.sqrt(1-s*s)-1):.5*(Math.sqrt(1-(s-=2)*s)+1),easeInElastic:s=>qs(s)?s:Zo(s,.075,.3),easeOutElastic:s=>qs(s)?s:qo(s,.075,.3),easeInOutElastic(s){return qs(s)?s:s<.5?.5*Zo(s*2,.1125,.45):.5+.5*qo(s*2-1,.1125,.45)},easeInBack(s){return s*s*((1.70158+1)*s-1.70158)},easeOutBack(s){return(s-=1)*s*((1.70158+1)*s+1.70158)+1},easeInOutBack(s){let t=1.70158;return(s/=.5)<1?.5*(s*s*(((t*=1.525)+1)*s-t)):.5*((s-=2)*s*(((t*=1.525)+1)*s+t)+2)},easeInBounce:s=>1-Ce.easeOutBounce(1-s),easeOutBounce(s){return s<1/2.75?7.5625*s*s:s<2/2.75?7.5625*(s-=1.5/2.75)*s+.75:s<2.5/2.75?7.5625*(s-=2.25/2.75)*s+.9375:7.5625*(s-=2.625/2.75)*s+.984375},easeInOutBounce:s=>s<.5?Ce.easeInBounce(s*2)*.5:Ce.easeOutBounce(s*2-1)*.5+.5};function gn(s){if(s&&typeof s=="object"){let t=s.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function mn(s){return gn(s)?s:new hs(s)}function Ki(s){return gn(s)?s:new hs(s).saturate(.5).darken(.1).hexString()}var ih=["x","y","borderWidth","radius","tension"],nh=["color","borderColor","backgroundColor"];function oh(s){s.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),s.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),s.set("animations",{colors:{type:"color",properties:nh},numbers:{type:"number",properties:ih}}),s.describe("animations",{_fallback:"animation"}),s.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function rh(s){s.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var Go=new Map;function ah(s,t){t=t||{};let e=s+JSON.stringify(t),i=Go.get(e);return i||(i=new Intl.NumberFormat(s,t),Go.set(e,i)),i}function Re(s,t,e){return ah(t,e).format(s)}var gr={values(s){return H(s)?s:""+s},numeric(s,t,e){if(s===0)return"0";let i=this.chart.options.locale,n,o=s;if(e.length>1){let c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=lh(s,e)}let r=Vt(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),Re(s,i,l)},logarithmic(s,t,e){if(s===0)return"0";let i=e[t].significand||s/Math.pow(10,Math.floor(Vt(s)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?gr.numeric.call(this,s,t,e):""}};function lh(s,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&s!==Math.floor(s)&&(e=s-Math.floor(s)),e}var ms={formatters:gr};function ch(s){s.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ms.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),s.route("scale.ticks","color","","color"),s.route("scale.grid","color","","borderColor"),s.route("scale.border","color","","borderColor"),s.route("scale.title","color","","color"),s.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),s.describe("scales",{_fallback:"scale"}),s.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}var Jt=Object.create(null),oi=Object.create(null);function ds(s,t){if(!t)return s;let e=t.split(".");for(let i=0,n=e.length;ii.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=(i,n)=>Ki(n.backgroundColor),this.hoverBorderColor=(i,n)=>Ki(n.borderColor),this.hoverColor=(i,n)=>Ki(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Qi(this,t,e)}get(t){return ds(this,t)}describe(t,e){return Qi(oi,t,e)}override(t,e){return Qi(Jt,t,e)}route(t,e,i,n){let o=ds(this,t),r=ds(this,i),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){let l=this[a],c=r[n];return E(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}},j=new tn({_scriptable:s=>!s.startsWith("on"),_indexable:s=>s!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[oh,rh,ch]);function hh(s){return!s||I(s.size)||I(s.family)?null:(s.style?s.style+" ":"")+(s.weight?s.weight+" ":"")+s.size+"px "+s.family}function fs(s,t,e,i,n){let o=t[n];return o||(o=t[n]=s.measureText(n).width,e.push(n)),o>i&&(i=o),i}function mr(s,t,e,i){i=i||{};let n=i.data=i.data||{},o=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(n=i.data={},o=i.garbageCollect=[],i.font=t),s.save(),s.font=t;let r=0,a=e.length,l,c,h,u,d;for(l=0;le.length){for(l=0;l0&&s.stroke()}}function Pt(s,t,e){return e=e||.5,!t||s&&s.x>t.left-e&&s.xt.top-e&&s.y0&&o.strokeColor!=="",l,c;for(s.save(),s.font=n.string,uh(s,o),l=0;l+s||0;function ai(s,t){let e={},i=E(t),n=i?Object.keys(t):t,o=E(s)?i?r=>P(s[r],s[t[r]]):r=>s[r]:()=>s;for(let r of n)e[r]=bh(o(r));return e}function yn(s){return ai(s,{top:"y",right:"x",bottom:"y",left:"x"})}function te(s){return ai(s,["topLeft","topRight","bottomLeft","bottomRight"])}function nt(s){let t=yn(s);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function X(s,t){s=s||{},t=t||j.font;let e=P(s.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=P(s.style,t.style);i&&!(""+i).match(mh)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);let n={family:P(s.family,t.family),lineHeight:ph(P(s.lineHeight,t.lineHeight),e),size:e,style:i,weight:P(s.weight,t.weight),string:""};return n.string=hh(n),n}function ze(s,t,e,i){let n=!0,o,r,a;for(o=0,r=s.length;oe&&a===0?0:a+l;return{min:r(i,-Math.abs(o)),max:r(n,o)}}function Bt(s,t){return Object.assign(Object.create(s),t)}function li(s,t=[""],e,i,n=()=>s[0]){let o=e||s;typeof i>"u"&&(i=wr("_fallback",s));let r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:s,_rootScopes:o,_fallback:i,_getTarget:n,override:a=>li([a,...s],t,o,i)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete s[0][l],!0},get(a,l){return xr(a,l,()=>Mh(l,t,s,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(s[0])},has(a,l){return Jo(a).includes(l)},ownKeys(a){return Jo(a)},set(a,l,c){let h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function de(s,t,e,i){let n={_cacheable:!1,_proxy:s,_context:t,_subProxy:e,_stack:new Set,_descriptors:xn(s,i),setContext:o=>de(s,o,e,i),override:o=>de(s.override(o),t,e,i)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete s[r],!0},get(o,r,a){return xr(o,r,()=>xh(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(s,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(s,r)},getPrototypeOf(){return Reflect.getPrototypeOf(s)},has(o,r){return Reflect.has(s,r)},ownKeys(){return Reflect.ownKeys(s)},set(o,r,a){return s[r]=a,delete o[r],!0}})}function xn(s,t={scriptable:!0,indexable:!0}){let{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:n=t.allKeys}=s;return{allKeys:n,scriptable:e,indexable:i,isScriptable:zt(e)?e:()=>e,isIndexable:zt(i)?i:()=>i}}var yh=(s,t)=>s?s+ei(t):t,_n=(s,t)=>E(t)&&s!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function xr(s,t,e){if(Object.prototype.hasOwnProperty.call(s,t)||t==="constructor")return s[t];let i=e();return s[t]=i,i}function xh(s,t,e){let{_proxy:i,_context:n,_subProxy:o,_descriptors:r}=s,a=i[t];return zt(a)&&r.isScriptable(t)&&(a=_h(t,a,s,e)),H(a)&&a.length&&(a=wh(t,a,s,r.isIndexable)),_n(t,a)&&(a=de(a,n,o&&o[t],r)),a}function _h(s,t,e,i){let{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(s))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+s);a.add(s);let l=t(o,r||i);return a.delete(s),_n(s,l)&&(l=wn(n._scopes,n,s,l)),l}function wh(s,t,e,i){let{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&i(s))return t[o.index%t.length];if(E(t[0])){let l=t,c=n._scopes.filter(h=>h!==l);t=[];for(let h of l){let u=wn(c,n,s,h);t.push(de(u,o,r&&r[s],a))}}return t}function _r(s,t,e){return zt(s)?s(t,e):s}var kh=(s,t)=>s===!0?t:typeof s=="string"?Wt(t,s):void 0;function vh(s,t,e,i,n){for(let o of t){let r=kh(e,o);if(r){s.add(r);let a=_r(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==i)return a}else if(r===!1&&typeof i<"u"&&e!==i)return null}return!1}function wn(s,t,e,i){let n=t._rootScopes,o=_r(t._fallback,e,i),r=[...s,...n],a=new Set;a.add(i);let l=Xo(a,r,e,o||e,i);return l===null||typeof o<"u"&&o!==e&&(l=Xo(a,r,o,l,i),l===null)?!1:li(Array.from(a),[""],n,o,()=>Sh(t,e,i))}function Xo(s,t,e,i,n){for(;e;)e=vh(s,t,e,i,n);return e}function Sh(s,t,e){let i=s._getTarget();t in i||(i[t]={});let n=i[t];return H(n)&&E(e)?e:n||{}}function Mh(s,t,e,i){let n;for(let o of t)if(n=wr(yh(o,s),e),typeof n<"u")return _n(s,n)?wn(e,i,s,n):n}function wr(s,t){for(let e of t){if(!e)continue;let i=e[s];if(typeof i<"u")return i}}function Jo(s){let t=s._keys;return t||(t=s._keys=Oh(s._scopes)),t}function Oh(s){let t=new Set;for(let e of s)for(let i of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(i);return Array.from(t)}function kn(s,t,e,i){let{iScale:n}=s,{key:o="r"}=this._parsing,r=new Array(i),a,l,c,h;for(a=0,l=i;ats==="x"?"y":"x";function Dh(s,t,e,i){let n=s.skip?t:s,o=t,r=e.skip?t:e,a=Qs(o,n),l=Qs(r,o),c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;let u=i*c,d=i*h;return{previous:{x:o.x-u*(r.x-n.x),y:o.y-u*(r.y-n.y)},next:{x:o.x+d*(r.x-n.x),y:o.y+d*(r.y-n.y)}}}function Ch(s,t,e){let i=s.length,n,o,r,a,l,c=Ae(s,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")Ah(s,n);else{let c=i?s[s.length-1]:s[0];for(o=0,r=s.length;os.ownerDocument.defaultView.getComputedStyle(s,null);function Eh(s,t){return ui(s).getPropertyValue(t)}var Lh=["top","right","bottom","left"];function ue(s,t,e){let i={};e=e?"-"+e:"";for(let n=0;n<4;n++){let o=Lh[n];i[o]=parseFloat(s[t+"-"+o+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}var Fh=(s,t,e)=>(s>0||t>0)&&(!e||!e.shadowRoot);function Rh(s,t){let e=s.touches,i=e&&e.length?e[0]:s,{offsetX:n,offsetY:o}=i,r=!1,a,l;if(Fh(n,o,s.target))a=n,l=o;else{let c=t.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function ee(s,t){if("native"in s)return s;let{canvas:e,currentDevicePixelRatio:i}=t,n=ui(e),o=n.boxSizing==="border-box",r=ue(n,"padding"),a=ue(n,"border","width"),{x:l,y:c,box:h}=Rh(s,e),u=r.left+(h&&a.left),d=r.top+(h&&a.top),{width:f,height:g}=t;return o&&(f-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-u)/f*e.width/i),y:Math.round((c-d)/g*e.height/i)}}function Nh(s,t,e){let i,n;if(t===void 0||e===void 0){let o=s&&hi(s);if(!o)t=s.clientWidth,e=s.clientHeight;else{let r=o.getBoundingClientRect(),a=ui(o),l=ue(a,"border","width"),c=ue(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,i=ti(a.maxWidth,o,"clientWidth"),n=ti(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:i||Ks,maxHeight:n||Ks}}var Xt=s=>Math.round(s*10)/10;function Sr(s,t,e,i){let n=ui(s),o=ue(n,"margin"),r=ti(n.maxWidth,s,"clientWidth")||Ks,a=ti(n.maxHeight,s,"clientHeight")||Ks,l=Nh(s,t,e),{width:c,height:h}=l;if(n.boxSizing==="content-box"){let d=ue(n,"border","width"),f=ue(n,"padding");c-=f.width+d.width,h-=f.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,i?c/i:h-o.height),c=Xt(Math.min(c,r,l.maxWidth)),h=Xt(Math.min(h,a,l.maxHeight)),c&&!h&&(h=Xt(c/2)),(t!==void 0||e!==void 0)&&i&&l.height&&h>l.height&&(h=l.height,c=Xt(Math.floor(h*i))),{width:c,height:h}}function vn(s,t,e){let i=t||1,n=Xt(s.height*i),o=Xt(s.width*i);s.height=Xt(s.height),s.width=Xt(s.width);let r=s.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${s.height}px`,r.style.width=`${s.width}px`),s.currentDevicePixelRatio!==i||r.height!==n||r.width!==o?(s.currentDevicePixelRatio=i,r.height=n,r.width=o,s.ctx.setTransform(i,0,0,i,0,0),!0):!1}var Mr=(function(){let s=!1;try{let t={get passive(){return s=!0,!1}};ci()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return s})();function Sn(s,t){let e=Eh(s,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function Gt(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:s.y+e*(t.y-s.y)}}function Or(s,t,e,i){return{x:s.x+e*(t.x-s.x),y:i==="middle"?e<.5?s.y:t.y:i==="after"?e<1?s.y:t.y:e>0?t.y:s.y}}function Tr(s,t,e,i){let n={x:s.cp2x,y:s.cp2y},o={x:t.cp1x,y:t.cp1y},r=Gt(s,n,e),a=Gt(n,o,e),l=Gt(o,t,e),c=Gt(r,a,e),h=Gt(a,l,e);return Gt(c,h,e)}var zh=function(s,t){return{x(e){return s+s+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},Vh=function(){return{x(s){return s},setWidth(s){},textAlign(s){return s},xPlus(s,t){return s+t},leftForLtr(s,t){return s}}};function ge(s,t,e){return s?zh(t,e):Vh()}function Mn(s,t){let e,i;(t==="ltr"||t==="rtl")&&(e=s.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),s.prevTextDirection=i)}function On(s,t){t!==void 0&&(delete s.prevTextDirection,s.canvas.style.setProperty("direction",t[0],t[1]))}function Dr(s){return s==="angle"?{between:Fe,compare:sh,normalize:st}:{between:It,compare:(t,e)=>t-e,normalize:t=>t}}function Ko({start:s,end:t,count:e,loop:i,style:n}){return{start:s%e,end:t%e,loop:i&&(t-s+1)%e===0,style:n}}function Wh(s,t,e){let{property:i,start:n,end:o}=e,{between:r,normalize:a}=Dr(i),l=t.length,{start:c,end:h,loop:u}=s,d,f;if(u){for(c+=l,h+=l,d=0,f=l;dl(n,_,b)&&a(n,_)!==0,x=()=>a(o,b)===0||l(o,_,b),k=()=>m||w(),S=()=>!m||x();for(let M=h,T=h;M<=u;++M)y=t[M%r],!y.skip&&(b=c(y[i]),b!==_&&(m=l(b,n,o),p===null&&k()&&(p=a(b,n)===0?M:T),p!==null&&S()&&(g.push(Ko({start:p,end:M,loop:d,count:r,style:f})),p=null),T=M,_=b));return p!==null&&g.push(Ko({start:p,end:u,loop:d,count:r,style:f})),g}function Dn(s,t){let e=[],i=s.segments;for(let n=0;nn&&s[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Hh(s,t,e,i){let n=s.length,o=[],r=t,a=s[t],l;for(l=t+1;l<=e;++l){let c=s[l%n];c.skip||c.stop?a.skip||(i=!1,o.push({start:t%n,end:(l-1)%n,loop:i}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:i}),o}function Cr(s,t){let e=s.points,i=s.options.spanGaps,n=e.length;if(!n)return[];let o=!!s._loop,{start:r,end:a}=Bh(e,n,o,i);if(i===!0)return Qo(s,[{start:r,end:a,loop:o}],e,t);let l=aa({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(i-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=hn.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,n)=>{if(!i.running||!i.items.length)return;let o=i.items,r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,i,t,"progress")),o.length||(i.running=!1,this._notify(n,i,t,"complete"),i.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){let e=this._charts,i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,n)=>Math.max(i,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let i=e.items,n=i.length-1;for(;n>=0;--n)i[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}},Ht=new Bn,Pr="transparent",Yh={boolean(s,t,e){return e>.5?t:s},color(s,t,e){let i=mn(s||Pr),n=i.valid&&mn(t||Pr);return n&&n.valid?n.mix(i,e).hexString():t},number(s,t,e){return s+(t-s)*e}},Hn=class{constructor(t,e,i,n){let o=e[i];n=ze([t.to,n,o,t.from]);let r=ze([t.from,o,n]);this._active=!0,this._fn=t.fn||Yh[t.type||typeof r],this._easing=Ce[t.easing]||Ce.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=i,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);let n=this._target[this._prop],o=i-this._start,r=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=ze([t.to,e,n,t.from]),this._from=ze([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,i=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to,l;if(this._active=o!==a&&(r||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){let e=t?"res":"rej",i=this._promises||[];for(let n=0;n{let o=t[n];if(!E(o))return;let r={};for(let a of e)r[a]=o[a];(H(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!i.has(a))&&i.set(a,r)})})}_animateOptions(t,e){let i=e.options,n=qh(t,i);if(!n)return[];let o=this._createAnimations(n,i);return i.$shared&&Zh(t.options.$animations,i).then(()=>{t.options=i},()=>{}),o}_createAnimations(t,e){let i=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now(),l;for(l=r.length-1;l>=0;--l){let c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}let h=e[c],u=o[c],d=i.get(c);if(u)if(d&&u.active()){u.update(d,h,a);continue}else u.cancel();if(!d||!d.duration){t[c]=h;continue}o[c]=u=new Hn(d,t,c,h),n.push(u)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}let i=this._createAnimations(t,e);if(i.length)return Ht.add(this._chart,i),!0}};function Zh(s,t){let e=[],i=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function Lr(s,t){let{chart:e,_cachedMeta:i}=s,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=i,l=o.axis,c=r.axis,h=Kh(o,r,i),u=t.length,d;for(let f=0;fe[i].axis===t).shift()}function eu(s,t){return Bt(s,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function su(s,t,e){return Bt(s,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function ys(s,t){let e=s.controller.index,i=s.vScale&&s.vScale.axis;if(i){t=t||s._parsed;for(let n of t){let o=n._stacks;if(!o||o[i]===void 0||o[i][e]===void 0)return;delete o[i][e],o[i]._visualValues!==void 0&&o[i]._visualValues[e]!==void 0&&delete o[i]._visualValues[e]}}}var In=s=>s==="reset"||s==="none",Fr=(s,t)=>t?s:Object.assign({},s),iu=(s,t,e)=>s&&!t.hidden&&t._stacked&&{keys:Ca(e,!0),values:null},ut=class{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.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Pn(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&ys(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,i=this.getDataset(),n=(u,d,f,g)=>u==="x"?d:u==="r"?g:f,o=e.xAxisID=P(i.xAxisID,An(t,"x")),r=e.yAxisID=P(i.yAxisID,An(t,"y")),a=e.rAxisID=P(i.rAxisID,An(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&ln(this._data,this),t._stacked&&ys(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(E(e)){let n=this._cachedMeta;this._data=Jh(e,n)}else if(i!==e){if(i){ln(i,this);let n=this._cachedMeta;ys(n),n._parsed=[]}e&&Object.isExtensible(e)&&ur(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,i=this.getDataset(),n=!1;this._dataCheck();let o=e._stacked;e._stacked=Pn(e.vScale,e),e.stack!==i.stack&&(n=!0,ys(e),e.stack=i.stack),this._resyncElements(t),(n||o!==e._stacked)&&(Lr(this,e._parsed),e._stacked=Pn(e.vScale,e))}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:i,_data:n}=this,{iScale:o,_stacked:r}=i,a=o.axis,l=t===0&&e===n.length?!0:i._sorted,c=t>0&&i._parsed[t-1],h,u,d;if(this._parsing===!1)i._parsed=n,i._sorted=!0,d=n;else{H(n[t])?d=this.parseArrayData(i,n,t,e):E(n[t])?d=this.parseObjectData(i,n,t,e):d=this.parsePrimitiveData(i,n,t,e);let f=()=>u[a]===null||c&&u[a]m||u=0;--d)if(!g()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){let e=this._cachedMeta._parsed,i=[],n,o,r;for(n=0,o=e.length;n=0&&tthis.getContext(i,n,e),m=c.resolveNamedOptions(d,f,g,u);return m.$shared&&(m.$shared=l,o[r]=Object.freeze(Fr(m,l))),m}_resolveAnimations(t,e,i){let n=this.chart,o=this._cachedDataOpts,r=`animation-${e}`,a=o[r];if(a)return a;let l;if(n.options.animation!==!1){let h=this.chart.config,u=h.datasetAnimationScopeKeys(this._type,e),d=h.getOptionScopes(this.getDataset(),u);l=h.createResolver(d,this.getContext(t,i,e))}let c=new _i(n,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||In(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let i=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(i),r=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,i),{sharedOptions:o,includeOptions:r}}updateElement(t,e,i,n){In(n)?Object.assign(t,i):this._resolveAnimations(e,n).update(t,i)}updateSharedOptions(t,e,i){t&&!In(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,n){t.active=n;let o=this.getStyle(e,n);this._resolveAnimations(e,i,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,i=this._cachedMeta.data;for(let[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];let n=i.length,o=e.length,r=Math.min(o,n);r&&this.parse(0,r),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,a=c.length-1;a>=r;a--)c[a]=c[a-e]};for(l(o),a=t;an-o))}return s._cache.$bar}function ou(s){let t=s.iScale,e=nu(t,s.type),i=t._length,n,o,r,a,l=()=>{r===32767||r===-32768||(Ee(a)&&(i=Math.min(i,Math.abs(r-a)||i)),a=r)};for(n=0,o=e.length;n0?n[s-1]:null,a=sMath.abs(a)&&(l=a,c=r),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:r,max:a}}function Pa(s,t,e,i){return H(s)?lu(s,t,e,i):t[e.axis]=e.parse(s,i),t}function Rr(s,t,e,i){let n=s.iScale,o=s.vScale,r=n.getLabels(),a=n===o,l=[],c,h,u,d;for(c=e,h=e+i;c=e?1:-1)}function hu(s){let t,e,i,n,o;return s.horizontal?(t=s.base>s.x,e="left",i="right"):(t=s.baseh.controller.options.grouped),o=i.options.stacked,r=[],a=this._cachedMeta.controller.getParsed(e),l=a&&a[i.axis],c=h=>{let u=h._parsed.find(f=>f[i.axis]===l),d=u&&u[h.vScale.axis];if(I(d)||isNaN(d))return!0};for(let h of n)if(!(e!==void 0&&c(h))&&((o===!1||r.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&r.push(h.stack),h.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(i=>t[i].axis===e).shift()}_getAxis(){let t={},e=this.getFirstScaleIdForIndexAxis();for(let i of this.chart.data.datasets)t[P(this.chart.options.indexAxis==="x"?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){let n=this._getStacks(t,i),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){let t=this.options,e=this._cachedMeta,i=e.iScale,n=[],o,r;for(o=0,r=e.data.length;o=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:n,yScale:o}=e,r=this.getParsed(t),a=n.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:i[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){let e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,n){let o=n==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=r.axis,u=a.axis;for(let d=e;dFe(_,a,l,!0)?1:Math.max(w,w*e,x,x*e),g=(_,w,x)=>Fe(_,a,l,!0)?-1:Math.min(w,w*e,x,x*e),m=f(0,c,u),p=f(q,h,d),b=g(F,c,u),y=g(F+q,h,d);i=(m-b)/2,n=(p-y)/2,o=-(m+b)/2,r=-(p+y)/2}return{ratioX:i,ratioY:n,offsetX:o,offsetY:r}}var jt=class extends ut{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){let i=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=i;else{let o=l=>+i[l];if(E(i[t])){let{key:l="value"}=this._parsing;o=c=>+Wt(i[c],l)}let r,a;for(r=t,a=t+e;r0&&!isNaN(t)?$*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=Re(e._parsed[t],i.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0,i=this.chart,n,o,r,a,l;if(!t){for(n=0,o=i.data.datasets.length;nt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),v(jt,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data,{labels:{pointStyle:i,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((l,c)=>{let u=t.getDatasetMeta(0).controller.getStyle(c);return{text:l,fillStyle:u.backgroundColor,fontColor:o,hidden:!t.getDataVisibility(c),lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:u.borderWidth,strokeStyle:u.borderColor,textAlign:n,pointStyle:i,borderRadius:r&&(a||u.borderRadius),index:c}}):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}});var He=class extends ut{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){let e=this._cachedMeta,{dataset:i,data:n=[],_dataset:o}=e,r=this.chart._animationsDisabled,{start:a,count:l}=dn(e,n,r);this._drawStart=a,this._drawCount=l,fn(e)&&(a=0,l=n.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!o._decimated,i.points=n;let c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(i,void 0,{animated:!r,options:c},t),this.updateElements(n,a,l,t)}updateElements(t,e,i,n){let o=n==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:u}=this._getSharedOptions(e,n),d=r.axis,f=a.axis,{spanGaps:g,segment:m}=this.options,p=fe(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||n==="none",y=e+i,_=t.length,w=e>0&&this.getParsed(e-1);for(let x=0;x<_;++x){let k=t[x],S=b?k:{};if(x=y){S.skip=!0;continue}let M=this.getParsed(x),T=I(M[f]),C=S[d]=r.getPixelForValue(M[d],x),A=S[f]=o||T?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,M,l):M[f],x);S.skip=isNaN(C)||isNaN(A)||T,S.stop=x>0&&Math.abs(M[d]-w[d])>p,m&&(S.parsed=M,S.raw=c.data[x]),u&&(S.options=h||this.resolveDataElementOptions(x,k.active?"active":n)),b||this.updateElement(k,x,S,n),w=M}}getMaxOverflow(){let t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return i;let o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}draw(){let t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}};v(He,"id","line"),v(He,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),v(He,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});var xe=class extends ut{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){let e=this._cachedMeta,i=this.chart,n=i.data.labels||[],o=Re(e._parsed[t].r,i.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,i,n){return kn.bind(this)(t,e,i,n)}update(t){let e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){let t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,n)=>{let o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){let t=this.chart,e=t.chartArea,i=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),r=Math.max(i.cutoutPercentage?o/100*i.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,e,i,n){let o=n==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,u=c.yCenter,d=c.getIndexAngle(0)-.5*F,f=d,g,m=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?bt(this.resolveDataElementOptions(t,e).angle||i):0}};v(xe,"id","polarArea"),v(xe,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),v(xe,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data;if(e.labels.length&&e.datasets.length){let{labels:{pointStyle:i,color:n}}=t.legend.options;return e.labels.map((o,r)=>{let l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:n,lineWidth:l.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});var vs=class extends jt{};v(vs,"id","pie"),v(vs,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});var $e=class extends ut{getLabelAndValue(t){let e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,n){return kn.bind(this)(t,e,i,n)}update(t){let e=this._cachedMeta,i=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(i.points=n,t!=="resize"){let r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);let a={_loop:!0,_fullLoop:o.length===n.length,options:r};this.updateElement(i,void 0,a,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,i,n){let o=this._cachedMeta.rScale,r=n==="reset";for(let a=e;a0&&this.getParsed(e-1);for(let w=e;w0&&Math.abs(k[f]-_[f])>b,p&&(S.parsed=k,S.raw=c.data[w]),d&&(S.options=u||this.resolveDataElementOptions(w,x.active?"active":n)),y||this.updateElement(x,w,S,n),_=k}this.updateSharedOptions(u,n,h)}getMaxOverflow(){let t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let a=0;for(let l=e.length-1;l>=0;--l)a=Math.max(a,e[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}let i=t.dataset,n=i.options&&i.options.borderWidth||0;if(!e.length)return n;let o=e[0].size(this.resolveDataElementOptions(0)),r=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,r)/2}};v(je,"id","scatter"),v(je,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),v(je,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var mu=Object.freeze({__proto__:null,BarController:We,BubbleController:Be,DoughnutController:jt,LineController:He,PieController:vs,PolarAreaController:xe,RadarController:$e,ScatterController:je});function me(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var $n=class s{constructor(t){v(this,"options");this.options=t||{}}static override(t){Object.assign(s.prototype,t)}init(){}formats(){return me()}parse(){return me()}format(){return me()}add(){return me()}diff(){return me()}startOf(){return me()}endOf(){return me()}},eo={_date:$n};function pu(s,t,e,i){let{controller:n,data:o,_sorted:r}=s,a=n._cachedMeta.iScale,l=s.dataset&&s.dataset.options?s.dataset.options.spanGaps:null;if(a&&t===a.axis&&t!=="r"&&r&&o.length){let c=a._reversePixels?lr:Ct;if(i){if(n._sharedOptions){let h=o[0],u=typeof h.getRange=="function"&&h.getRange(t);if(u){let d=c(o,t,e-u),f=c(o,t,e+u);return{lo:d.lo,hi:f.hi}}}}else{let h=c(o,t,e);if(l){let{vScale:u}=n._cachedMeta,{_parsed:d}=s,f=d.slice(0,h.lo+1).reverse().findIndex(m=>!I(m[u.axis]));h.lo-=Math.max(0,f);let g=d.slice(h.hi).findIndex(m=>!I(m[u.axis]));h.hi+=Math.max(0,g)}return h}}return{lo:0,hi:o.length-1}}function Ls(s,t,e,i,n){let o=s.getSortedVisibleDatasetMetas(),r=e[t];for(let a=0,l=o.length;a{l[r]&&l[r](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),a=a||l.inRange(t.x,t.y,n))}),i&&!a?[]:o}var _u={evaluateInteractionItems:Ls,modes:{index(s,t,e,i){let n=ee(t,s),o=e.axis||"x",r=e.includeInvisible||!1,a=e.intersect?Ln(s,n,o,i,r):Fn(s,n,o,!1,i,r),l=[];return a.length?(s.getSortedVisibleDatasetMetas().forEach(c=>{let h=a[0].index,u=c.data[h];u&&!u.skip&&l.push({element:u,datasetIndex:c.index,index:h})}),l):[]},dataset(s,t,e,i){let n=ee(t,s),o=e.axis||"xy",r=e.includeInvisible||!1,a=e.intersect?Ln(s,n,o,i,r):Fn(s,n,o,!1,i,r);if(a.length>0){let l=a[0].datasetIndex,c=s.getDatasetMeta(l).data;a=[];for(let h=0;he.pos===t)}function Wr(s,t){return s.filter(e=>Aa.indexOf(e.pos)===-1&&e.box.axis===t)}function _s(s,t){return s.sort((e,i)=>{let n=t?i:e,o=t?e:i;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function wu(s){let t=[],e,i,n,o,r,a;for(e=0,i=(s||[]).length;ec.box.fullSize),!0),i=_s(xs(t,"left"),!0),n=_s(xs(t,"right")),o=_s(xs(t,"top"),!0),r=_s(xs(t,"bottom")),a=Wr(t,"x"),l=Wr(t,"y");return{fullSize:e,leftAndTop:i.concat(o),rightAndBottom:n.concat(l).concat(r).concat(a),chartArea:xs(t,"chartArea"),vertical:i.concat(n).concat(l),horizontal:o.concat(r).concat(a)}}function Br(s,t,e,i){return Math.max(s[e],t[e])+Math.max(s[i],t[i])}function Ia(s,t){s.top=Math.max(s.top,t.top),s.left=Math.max(s.left,t.left),s.bottom=Math.max(s.bottom,t.bottom),s.right=Math.max(s.right,t.right)}function Mu(s,t,e,i){let{pos:n,box:o}=e,r=s.maxPadding;if(!E(n)){e.size&&(s[n]-=e.size);let u=i[e.stack]||{size:0,count:1};u.size=Math.max(u.size,e.horizontal?o.height:o.width),e.size=u.size/u.count,s[n]+=e.size}o.getPadding&&Ia(r,o.getPadding());let a=Math.max(0,t.outerWidth-Br(r,s,"left","right")),l=Math.max(0,t.outerHeight-Br(r,s,"top","bottom")),c=a!==s.w,h=l!==s.h;return s.w=a,s.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Ou(s){let t=s.maxPadding;function e(i){let n=Math.max(t[i]-s[i],0);return s[i]+=n,n}s.y+=e("top"),s.x+=e("left"),e("right"),e("bottom")}function Tu(s,t){let e=t.maxPadding;function i(n){let o={left:0,top:0,right:0,bottom:0};return n.forEach(r=>{o[r]=Math.max(t[r],e[r])}),o}return i(s?["left","right"]:["top","bottom"])}function Ss(s,t,e,i){let n=[],o,r,a,l,c,h;for(o=0,r=s.length,c=0;o{typeof m.beforeLayout=="function"&&m.beforeLayout()});let h=l.reduce((m,p)=>p.box.options&&p.box.options.display===!1?m:m+1,0)||1,u=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/h,hBoxMaxHeight:r/2}),d=Object.assign({},n);Ia(d,nt(i));let f=Object.assign({maxPadding:d,w:o,h:r,x:n.left,y:n.top},n),g=vu(l.concat(c),u);Ss(a.fullSize,f,u,g),Ss(l,f,u,g),Ss(c,f,u,g)&&Ss(l,f,u,g),Ou(f),Hr(a.leftAndTop,f,u,g),f.x+=f.w,f.y+=f.h,Hr(a.rightAndBottom,f,u,g),s.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},z(a.chartArea,m=>{let p=m.box;Object.assign(p,s.chartArea),p.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}},wi=class{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,n){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):i)}}isAttached(t){return!0}updateConfig(t){}},jn=class extends wi{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}},yi="$chartjs",Du={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},$r=s=>s===null||s==="";function Cu(s,t){let e=s.style,i=s.getAttribute("height"),n=s.getAttribute("width");if(s[yi]={initial:{height:i,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",$r(n)){let o=Sn(s,"width");o!==void 0&&(s.width=o)}if($r(i))if(s.style.height==="")s.height=s.width/(t||2);else{let o=Sn(s,"height");o!==void 0&&(s.height=o)}return s}var Ea=Mr?{passive:!0}:!1;function Pu(s,t,e){s&&s.addEventListener(t,e,Ea)}function Au(s,t,e){s&&s.canvas&&s.canvas.removeEventListener(t,e,Ea)}function Iu(s,t){let e=Du[s.type]||s.type,{x:i,y:n}=ee(s,t);return{type:e,chart:t,native:s,x:i!==void 0?i:null,y:n!==void 0?n:null}}function ki(s,t){for(let e of s)if(e===t||e.contains(t))return!0}function Eu(s,t,e){let i=s.canvas,n=new MutationObserver(o=>{let r=!1;for(let a of o)r=r||ki(a.addedNodes,i),r=r&&!ki(a.removedNodes,i);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Lu(s,t,e){let i=s.canvas,n=new MutationObserver(o=>{let r=!1;for(let a of o)r=r||ki(a.removedNodes,i),r=r&&!ki(a.addedNodes,i);r&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}var As=new Map,jr=0;function La(){let s=window.devicePixelRatio;s!==jr&&(jr=s,As.forEach((t,e)=>{e.currentDevicePixelRatio!==s&&t()}))}function Fu(s,t){As.size||window.addEventListener("resize",La),As.set(s,t)}function Ru(s){As.delete(s),As.size||window.removeEventListener("resize",La)}function Nu(s,t,e){let i=s.canvas,n=i&&hi(i);if(!n)return;let o=un((a,l)=>{let c=n.clientWidth;e(a,l),c{let l=a[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return r.observe(n),Fu(s,o),r}function Rn(s,t,e){e&&e.disconnect(),t==="resize"&&Ru(s)}function zu(s,t,e){let i=s.canvas,n=un(o=>{s.ctx!==null&&e(Iu(o,s))},s);return Pu(i,t,n),n}var Un=class extends wi{acquireContext(t,e){let i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(Cu(t,e),i):null}releaseContext(t){let e=t.canvas;if(!e[yi])return!1;let i=e[yi].initial;["height","width"].forEach(o=>{let r=i[o];I(r)?e.removeAttribute(o):e.setAttribute(o,r)});let n=i.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[yi],!0}addEventListener(t,e,i){this.removeEventListener(t,e);let n=t.$proxies||(t.$proxies={}),r={attach:Eu,detach:Lu,resize:Nu}[e]||zu;n[e]=r(t,e,i)}removeEventListener(t,e){let i=t.$proxies||(t.$proxies={}),n=i[e];if(!n)return;({attach:Rn,detach:Rn,resize:Rn}[e]||Au)(t,e,n),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,n){return Sr(t,e,i,n)}isAttached(t){let e=t&&hi(t);return!!(e&&e.isConnected)}};function Vu(s){return!ci()||typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas?jn:Un}var dt=class{constructor(){v(this,"x");v(this,"y");v(this,"active",!1);v(this,"options");v(this,"$animations")}tooltipPosition(t){let{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return fe(this.x)&&fe(this.y)}getProps(t,e){let i=this.$animations;if(!e||!i)return this;let n={};return t.forEach(o=>{n[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),n}};v(dt,"defaults",{}),v(dt,"defaultRoutes");function Wu(s,t){let e=s.options.ticks,i=Bu(s),n=Math.min(e.maxTicksLimit||i,i),o=e.major.enabled?$u(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>n)return ju(t,c,o,r/n),c;let h=Hu(o,t,n);if(r>0){let u,d,f=r>1?Math.round((l-a)/(r-1)):null;for(fi(t,c,h,I(f)?0:a-f,a),u=0,d=r-1;un)return l}return Math.max(n,1)}function $u(s){let t=[],e,i;for(e=0,i=s.length;es==="left"?"right":s==="right"?"left":s,Ur=(s,t,e)=>t==="top"||t==="left"?s[t]+e:s[t]-e,Yr=(s,t)=>Math.min(t||s,s);function Zr(s,t){let e=[],i=s.length/t,n=s.length,o=0;for(;or+a)))return l}function qu(s,t){z(s,e=>{let i=e.gc,n=i.length/2,o;if(n>t){for(o=0;oi?i:e,i=n&&e>i?e:i,{min:at(e,at(i,e)),max:at(i,at(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){W(this.options.beforeUpdate,[this])}update(t,e,i){let{beginAtZero:n,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=yr(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let l=a=o||i<=1||!this.isHorizontal()){this.labelRotation=n;return}let h=this._getLabelSizes(),u=h.widest.width,d=h.highest.height,f=K(this.chart.width-u,0,this.maxWidth);a=t.offset?this.maxWidth/i:f/(i-1),u+6>a&&(a=f/(i-(t.offset?.5:1)),l=this.maxHeight-ws(t.grid)-e.padding-qr(t.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),r=si(Math.min(Math.asin(K((h.highest.height+6)/a,-1,1)),Math.asin(K(l/c,-1,1))-Math.asin(K(d/c,-1,1)))),r=Math.max(n,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){W(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){W(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:i,title:n,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){let l=qr(n,e.options.font);if(a?(t.width=this.maxWidth,t.height=ws(o)+l):(t.height=this.maxHeight,t.width=ws(o)+l),i.display&&this.ticks.length){let{first:c,last:h,widest:u,highest:d}=this._getLabelSizes(),f=i.padding*2,g=bt(this.labelRotation),m=Math.cos(g),p=Math.sin(g);if(a){let b=i.mirror?0:p*u.width+m*d.height;t.height=Math.min(this.maxHeight,t.height+b+f)}else{let b=i.mirror?0:m*u.width+p*d.height;t.width=Math.min(this.maxWidth,t.width+b+f)}this._calculatePadding(c,h,p,m)}}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,i,n){let{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){let h=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1),d=0,f=0;l?c?(d=n*t.width,f=i*e.height):(d=i*t.height,f=n*e.width):o==="start"?f=e.width:o==="end"?d=t.width:o!=="inner"&&(d=t.width/2,f=e.width/2),this.paddingLeft=Math.max((d-h+r)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-u+r)*this.width/(this.width-u),0)}else{let h=e.height/2,u=t.height/2;o==="start"?(h=0,u=t.height):o==="end"&&(h=e.height,u=0),this.paddingTop=h+r,this.paddingBottom=u+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){W(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:r[T]||0,height:a[T]||0});return{first:M(0),last:M(e-1),widest:M(k),highest:M(S),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return ar(this._alignToPixels?Kt(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){let e=this.ticks||[];if(t>=0&&ta*n?a/i:l/n:l*n0}_computeGridLineItems(t){let e=this.axis,i=this.chart,n=this.options,{grid:o,position:r,border:a}=n,l=o.offset,c=this.isHorizontal(),u=this.ticks.length+(l?1:0),d=ws(o),f=[],g=a.setContext(this.getContext()),m=g.display?g.width:0,p=m/2,b=function(U){return Kt(i,U,m)},y,_,w,x,k,S,M,T,C,A,L,et;if(r==="top")y=b(this.bottom),S=this.bottom-d,T=y-p,A=b(t.top)+p,et=t.bottom;else if(r==="bottom")y=b(this.top),A=t.top,et=b(t.bottom)-p,S=y+p,T=this.top+d;else if(r==="left")y=b(this.right),k=this.right-d,M=y-p,C=b(t.left)+p,L=t.right;else if(r==="right")y=b(this.left),C=t.left,L=b(t.right)-p,k=y+p,M=this.left+d;else if(e==="x"){if(r==="center")y=b((t.top+t.bottom)/2+.5);else if(E(r)){let U=Object.keys(r)[0],G=r[U];y=b(this.chart.scales[U].getPixelForValue(G))}A=t.top,et=t.bottom,S=y+p,T=S+d}else if(e==="y"){if(r==="center")y=b((t.left+t.right)/2);else if(E(r)){let U=Object.keys(r)[0],G=r[U];y=b(this.chart.scales[U].getPixelForValue(G))}k=y-p,M=k-d,C=t.left,L=t.right}let ht=P(n.ticks.maxTicksLimit,u),V=Math.max(1,Math.ceil(u/ht));for(_=0;_0&&(ce-=le/2);break}js={left:ce,top:ls,width:le+Te.width,height:as+Te.height,color:V.backdropColor}}p.push({label:w,font:T,textOffset:L,options:{rotation:m,color:G,strokeColor:vt,strokeWidth:ot,textAlign:Oe,textBaseline:et,translation:[x,k],backdrop:js}})}return p}_getXAxisLabelAlignment(){let{position:t,ticks:e}=this.options;if(-bt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){let{position:e,ticks:{crossAlign:i,mirror:n,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width,c,h;return e==="left"?n?(h=this.right+o,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-a,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,i==="near"?c="right":i==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+a,i==="near"?c="left":i==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;let t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){let{ctx:t,options:{backgroundColor:e},left:i,top:n,width:o,height:r}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,n,o,r),t.restore())}getLineWidthForValue(t){let e=this.options.grid;if(!this._isVisible()||!e.display)return 0;let n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){let e=this.options.grid,i=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),o,r,a=(l,c,h)=>{!h.width||!h.color||(i.save(),i.lineWidth=h.width,i.strokeStyle=h.color,i.setLineDash(h.borderDash||[]),i.lineDashOffset=h.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(e.display)for(o=0,r=n.length;o{this.draw(o)}}]:[{z:i,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",n=[],o,r;for(o=0,r=e.length;o{let i=e.split("."),n=i.pop(),o=[s].concat(i).join("."),r=t[e].split("."),a=r.pop(),l=r.join(".");j.route(o,n,l,a)})}function ed(s){return"id"in s&&"defaults"in s}var Yn=class{constructor(){this.controllers=new Ze(ut,"datasets",!0),this.elements=new Ze(dt,"elements"),this.plugins=new Ze(Object,"plugins"),this.scales=new Ze(we,"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,i){[...e].forEach(n=>{let o=i||this._getRegistryForType(n);i||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):z(n,r=>{let a=i||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,e,i){let n=ei(t);W(i["before"+n],[],i),e[t](i),W(i["after"+n],[],i)}_getRegistryForType(t){for(let e=0;eo.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(n(e,i),t,"stop"),this._notify(n(i,e),t,"start")}};function sd(s){let t={},e=[],i=Object.keys(Lt.plugins.items);for(let o=0;o1&&Gr(s[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${s}' axis. Please provide 'axis' or 'position' option.`)}function Xr(s,t,e){if(e[t+"AxisID"]===s)return{axis:t}}function cd(s,t){if(t.data&&t.data.datasets){let e=t.data.datasets.filter(i=>i.xAxisID===s||i.yAxisID===s);if(e.length)return Xr(s,"x",e[0])||Xr(s,"y",e[0])}return{}}function hd(s,t){let e=Jt[s.type]||{scales:{}},i=t.scales||{},n=qn(s.type,t),o=Object.create(null);return Object.keys(i).forEach(r=>{let a=i[r];if(!E(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);let l=Gn(r,a,cd(r,s),j.scales[a.type]),c=ad(l,n),h=e.scales||{};o[r]=Ie(Object.create(null),[{axis:l},a,h[l],h[c]])}),s.data.datasets.forEach(r=>{let a=r.type||s.type,l=r.indexAxis||qn(a,t),h=(Jt[a]||{}).scales||{};Object.keys(h).forEach(u=>{let d=rd(u,l),f=r[d+"AxisID"]||d;o[f]=o[f]||Object.create(null),Ie(o[f],[{axis:d},i[f],h[u]])})}),Object.keys(o).forEach(r=>{let a=o[r];Ie(a,[j.scales[a.type],j.scale])}),o}function Fa(s){let t=s.options||(s.options={});t.plugins=P(t.plugins,{}),t.scales=hd(s,t)}function Ra(s){return s=s||{},s.datasets=s.datasets||[],s.labels=s.labels||[],s}function ud(s){return s=s||{},s.data=Ra(s.data),Fa(s),s}var Jr=new Map,Na=new Set;function gi(s,t){let e=Jr.get(s);return e||(e=t(),Jr.set(s,e),Na.add(e)),e}var ks=(s,t,e)=>{let i=Wt(t,e);i!==void 0&&s.add(i)},Xn=class{constructor(t){this._config=ud(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=Ra(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),Fa(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return gi(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return gi(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return gi(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,i=this.type;return gi(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let i=this._scopeCache,n=i.get(t);return(!n||e)&&(n=new Map,i.set(t,n)),n}getOptionScopes(t,e,i){let{options:n,type:o}=this,r=this._cachedScopes(t,i),a=r.get(e);if(a)return a;let l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(u=>ks(l,t,u))),h.forEach(u=>ks(l,n,u)),h.forEach(u=>ks(l,Jt[o]||{},u)),h.forEach(u=>ks(l,j,u)),h.forEach(u=>ks(l,oi,u))});let c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Na.has(e)&&r.set(e,c),c}chartOptionScopes(){let{options:t,type:e}=this;return[t,Jt[e]||{},j.datasets[e]||{},{type:e},j,oi]}resolveNamedOptions(t,e,i,n=[""]){let o={$shared:!0},{resolver:r,subPrefixes:a}=Kr(this._resolverCache,t,n),l=r;if(fd(r,e)){o.$shared=!1,i=zt(i)?i():i;let c=this.createResolver(t,i,a);l=de(r,i,c)}for(let c of e)o[c]=l[c];return o}createResolver(t,e,i=[""],n){let{resolver:o}=Kr(this._resolverCache,t,i);return E(e)?de(o,e,void 0,n):o}};function Kr(s,t,e){let i=s.get(t);i||(i=new Map,s.set(t,i));let n=e.join(),o=i.get(n);return o||(o={resolver:li(t,e),subPrefixes:e.filter(a=>!a.toLowerCase().includes("hover"))},i.set(n,o)),o}var dd=s=>E(s)&&Object.getOwnPropertyNames(s).some(t=>zt(s[t]));function fd(s,t){let{isScriptable:e,isIndexable:i}=xn(s);for(let n of t){let o=e(n),r=i(n),a=(r||o)&&s[n];if(o&&(zt(a)||dd(a))||r&&H(a))return!0}return!1}var gd="4.5.1",md=["top","bottom","left","right","chartArea"];function Qr(s,t){return s==="top"||s==="bottom"||md.indexOf(s)===-1&&t==="x"}function ta(s,t){return function(e,i){return e[s]===i[s]?e[t]-i[t]:e[s]-i[s]}}function ea(s){let t=s.chart,e=t.options.animation;t.notifyPlugins("afterRender"),W(e&&e.onComplete,[s],t)}function pd(s){let t=s.chart,e=t.options.animation;W(e&&e.onProgress,[s],t)}function za(s){return ci()&&typeof s=="string"?s=document.getElementById(s):s&&s.length&&(s=s[0]),s&&s.canvas&&(s=s.canvas),s}var xi={},sa=s=>{let t=za(s);return Object.values(xi).filter(e=>e.canvas===t).pop()};function bd(s,t,e){let i=Object.keys(s);for(let n of i){let o=+n;if(o>=t){let r=s[n];delete s[n],(e>0||o>t)&&(s[o+e]=r)}}}function yd(s,t,e,i){return!e||s.type==="mouseout"?null:i?t:s}var yt=class{static register(...t){Lt.add(...t),ia()}static unregister(...t){Lt.remove(...t),ia()}constructor(t,e){let i=this.config=new Xn(e),n=za(t),o=sa(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");let r=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||Vu(n)),this.platform.updateConfig(i);let a=this.platform.acquireContext(n,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,h=l&&l.width;if(this.id=er(),this.ctx=a,this.canvas=l,this.width=h,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Zn,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dr(u=>this.update(u),r.resizeDelay||0),this._dataChanges=[],xi[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Ht.listen(this,"complete",ea),Ht.listen(this,"progress",pd),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return I(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return Lt}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():vn(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return pn(this.canvas,this.ctx),this}stop(){return Ht.stop(this),this}resize(t,e){Ht.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let i=this.options,n=this.canvas,o=i.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(n,t,e,o),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,vn(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),W(i.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){let e=this.options.scales||{};z(e,(i,n)=>{i.id=n})}buildOrUpdateScales(){let t=this.options,e=t.scales,i=this.scales,n=Object.keys(i).reduce((r,a)=>(r[a]=!1,r),{}),o=[];e&&(o=o.concat(Object.keys(e).map(r=>{let a=e[r],l=Gn(r,a),c=l==="r",h=l==="x";return{options:a,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),z(o,r=>{let a=r.options,l=a.id,c=Gn(l,a),h=P(a.type,r.dtype);(a.position===void 0||Qr(a.position,c)!==Qr(r.dposition))&&(a.position=r.dposition),n[l]=!0;let u=null;if(l in i&&i[l].type===h)u=i[l];else{let d=Lt.getScale(h);u=new d({id:l,type:h,ctx:this.ctx,chart:this}),i[u.id]=u}u.init(a,t)}),z(n,(r,a)=>{r||delete i[a]}),z(i,r=>{rt.configure(this,r,r.options),rt.addBox(this,r)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((n,o)=>n.index-o.index),i>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((i,n)=>{e.filter(o=>o===i._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,i,n;for(this._removeUnreferencedMetasets(),i=0,n=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;let o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(ta("z","_idx"));let{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){z(this.scales,t=>{rt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!sn(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:i,start:n,count:o}of e){let r=i==="_removeElements"?-o:o;bd(t,n,r)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,i=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),n=i(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;rt.update(this,this.width,this.height,t);let e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],z(this.boxes,n=>{i&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,i={meta:t,index:t.index,cancelable:!0},n=Cn(this,t);this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(n&&ps(e,n),t.controller.draw(),n&&bs(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Pt(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,n){let o=_u.modes[e];return typeof o=="function"?o(this,t,i,n):[]}getDatasetMeta(t){let e=this.data.datasets[t],i=this._metasets,n=i.filter(o=>o&&o._dataset===e).pop();return n||(n={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},i.push(n)),n}getContext(){return this.$context||(this.$context=Bt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){let i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){let n=i?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,n);Ee(e)?(o.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),r.update(o,{visible:i}),this.update(a=>a.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),Ht.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,r),t[o]=r},n=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};z(this.options.events,o=>i(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,i=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)},r,a=()=>{n("attach",a),this.attached=!0,this.resize(),i("resize",o),i("detach",r)};r=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():r()}unbindEvents(){z(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},z(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){let n=i?"set":"remove",o,r,a,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),a=0,l=t.length;a{let a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!gs(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){let n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(u=>h.datasetIndex===u.datasetIndex&&h.index===u.index)),r=o(e,t),a=i?t:o(t,e);r.length&&this.updateHoverStyle(r,n.mode,!1),a.length&&n.mode&&this.updateHoverStyle(a,n.mode,!0)}_eventHandler(t,e){let i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,n)===!1)return;let o=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,n),(o||i.changed)&&this.render(),this}_handleEvent(t,e,i){let{_active:n=[],options:o}=this,r=e,a=this._getActiveElements(t,n,i,r),l=nr(t),c=yd(t,this._lastEvent,i,l);i&&(this._lastEvent=null,W(o.onHover,[t,a,this],this),l&&W(o.onClick,[t,a,this],this));let h=!gs(a,n);return(h||e)&&(this._active=a,this._updateHoverStyles(a,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,i,n){if(t.type==="mouseout")return[];if(!i)return e;let o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};v(yt,"defaults",j),v(yt,"instances",xi),v(yt,"overrides",Jt),v(yt,"registry",Lt),v(yt,"version",gd),v(yt,"getChart",sa);function ia(){return z(yt.instances,s=>s._plugins.invalidate())}function xd(s,t,e){let{startAngle:i,x:n,y:o,outerRadius:r,innerRadius:a,options:l}=t,{borderWidth:c,borderJoinStyle:h}=l,u=Math.min(c/r,st(i-e));if(s.beginPath(),s.arc(n,o,r-c/2,i+u/2,e-u/2),a>0){let d=Math.min(c/a,st(i-e));s.arc(n,o,a+c/2,e-d/2,i+d/2,!0)}else{let d=Math.min(c/2,r*st(i-e));if(h==="round")s.arc(n,o,d,e-F/2,i+F/2,!0);else if(h==="bevel"){let f=2*d*d,g=-f*Math.cos(e+F/2)+n,m=-f*Math.sin(e+F/2)+o,p=f*Math.cos(i+F/2)+n,b=f*Math.sin(i+F/2)+o;s.lineTo(g,m),s.lineTo(p,b)}}s.closePath(),s.moveTo(0,0),s.rect(0,0,s.canvas.width,s.canvas.height),s.clip("evenodd")}function _d(s,t,e){let{startAngle:i,pixelMargin:n,x:o,y:r,outerRadius:a,innerRadius:l}=t,c=n/a;s.beginPath(),s.arc(o,r,a,i-c,e+c),l>n?(c=n/l,s.arc(o,r,l,e+c,i-c,!0)):s.arc(o,r,n,e+q,i-q),s.closePath(),s.clip()}function wd(s){return ai(s,["outerStart","outerEnd","innerStart","innerEnd"])}function kd(s,t,e,i){let n=wd(s.options.borderRadius),o=(e-t)/2,r=Math.min(o,i*t/2),a=l=>{let c=(e-Math.min(o,l))*i/2;return K(l,0,Math.min(o,c))};return{outerStart:a(n.outerStart),outerEnd:a(n.outerEnd),innerStart:K(n.innerStart,0,r),innerEnd:K(n.innerEnd,0,r)}}function Ve(s,t,e,i){return{x:e+s*Math.cos(t),y:i+s*Math.sin(t)}}function vi(s,t,e,i,n,o){let{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:h}=t,u=Math.max(t.outerRadius+i+e-c,0),d=h>0?h+i+e+c:0,f=0,g=n-l;if(i){let V=h>0?h-i:0,U=u>0?u-i:0,G=(V+U)/2,vt=G!==0?g*G/(G+i):g;f=(g-vt)/2}let m=Math.max(.001,g*u-e/F)/u,p=(g-m)/2,b=l+p+f,y=n-p-f,{outerStart:_,outerEnd:w,innerStart:x,innerEnd:k}=kd(t,d,u,y-b),S=u-_,M=u-w,T=b+_/S,C=y-w/M,A=d+x,L=d+k,et=b+x/A,ht=y-k/L;if(s.beginPath(),o){let V=(T+C)/2;if(s.arc(r,a,u,T,V),s.arc(r,a,u,V,C),w>0){let ot=Ve(M,C,r,a);s.arc(ot.x,ot.y,w,C,y+q)}let U=Ve(L,y,r,a);if(s.lineTo(U.x,U.y),k>0){let ot=Ve(L,ht,r,a);s.arc(ot.x,ot.y,k,y+q,ht+Math.PI)}let G=(y-k/d+(b+x/d))/2;if(s.arc(r,a,d,y-k/d,G,!0),s.arc(r,a,d,G,b+x/d,!0),x>0){let ot=Ve(A,et,r,a);s.arc(ot.x,ot.y,x,et+Math.PI,b-q)}let vt=Ve(S,b,r,a);if(s.lineTo(vt.x,vt.y),_>0){let ot=Ve(S,T,r,a);s.arc(ot.x,ot.y,_,b-q,T)}}else{s.moveTo(r,a);let V=Math.cos(T)*u+r,U=Math.sin(T)*u+a;s.lineTo(V,U);let G=Math.cos(C)*u+r,vt=Math.sin(C)*u+a;s.lineTo(G,vt)}s.closePath()}function vd(s,t,e,i,n){let{fullCircles:o,startAngle:r,circumference:a}=t,l=t.endAngle;if(o){vi(s,t,e,i,l,n);for(let c=0;c=F&&f===0&&h!=="miter"&&xd(s,t,m),o||(vi(s,t,e,i,m,n),s.stroke())}var be=class extends dt{constructor(e){super();v(this,"circumference");v(this,"endAngle");v(this,"fullCircles");v(this,"innerRadius");v(this,"outerRadius");v(this,"pixelMargin");v(this,"startAngle");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,e&&Object.assign(this,e)}inRange(e,i,n){let o=this.getProps(["x","y"],n),{angle:r,distance:a}=an(o,{x:e,y:i}),{startAngle:l,endAngle:c,innerRadius:h,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=(this.options.spacing+this.options.borderWidth)/2,g=P(d,c-l),m=Fe(r,l,c)&&l!==c,p=g>=$||m,b=It(a,h+f,u+f);return p&&b}getCenterPoint(e){let{x:i,y:n,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:c,spacing:h}=this.options,u=(o+r)/2,d=(a+l+h+c)/2;return{x:i+Math.cos(u)*d,y:n+Math.sin(u)*d}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:i,circumference:n}=this,o=(i.offset||0)/4,r=(i.spacing||0)/2,a=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=n>$?Math.floor(n/$):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o);let c=1-Math.sin(Math.min(F,n||0)),h=o*c;e.fillStyle=i.backgroundColor,e.strokeStyle=i.borderColor,vd(e,this,h,r,a),Sd(e,this,h,r,a),e.restore()}};v(be,"id","arc"),v(be,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1}),v(be,"defaultRoutes",{backgroundColor:"backgroundColor"}),v(be,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function Va(s,t,e=t){s.lineCap=P(e.borderCapStyle,t.borderCapStyle),s.setLineDash(P(e.borderDash,t.borderDash)),s.lineDashOffset=P(e.borderDashOffset,t.borderDashOffset),s.lineJoin=P(e.borderJoinStyle,t.borderJoinStyle),s.lineWidth=P(e.borderWidth,t.borderWidth),s.strokeStyle=P(e.borderColor,t.borderColor)}function Md(s,t,e){s.lineTo(e.x,e.y)}function Od(s){return s.stepped?pr:s.tension||s.cubicInterpolationMode==="monotone"?br:Md}function Wa(s,t,e={}){let i=s.length,{start:n=0,end:o=i-1}=e,{start:r,end:a}=t,l=Math.max(n,r),c=Math.min(o,a),h=na&&o>a;return{count:i,start:l,loop:t.loop,ilen:c(r+(c?a-w:w))%o,_=()=>{m!==p&&(s.lineTo(h,p),s.lineTo(h,m),s.lineTo(h,b))};for(l&&(f=n[y(0)],s.moveTo(f.x,f.y)),d=0;d<=a;++d){if(f=n[y(d)],f.skip)continue;let w=f.x,x=f.y,k=w|0;k===g?(xp&&(p=x),h=(u*h+w)/++u):(_(),s.lineTo(w,x),g=k,u=0,m=p=x),b=x}_()}function Jn(s){let t=s.options,e=t.borderDash&&t.borderDash.length;return!s._decimated&&!s._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Dd:Td}function Cd(s){return s.stepped?Or:s.tension||s.cubicInterpolationMode==="monotone"?Tr:Gt}function Pd(s,t,e,i){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,i)&&n.closePath()),Va(s,t.options),s.stroke(n)}function Ad(s,t,e,i){let{segments:n,options:o}=t,r=Jn(t);for(let a of n)Va(s,o,a.style),s.beginPath(),r(s,t,a,{start:e,end:e+i-1})&&s.closePath(),s.stroke()}var Id=typeof Path2D=="function";function Ed(s,t,e,i){Id&&!t.options.segment?Pd(s,t,e,i):Ad(s,t,e,i)}var Ft=class extends dt{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){let i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){let n=i.spanGaps?this._loop:this._fullLoop;vr(this._points,i,t,n,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=Cr(this,this.options.segment))}first(){let t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){let t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){let i=this.options,n=t[e],o=this.points,r=Dn(this,{property:e,start:n,end:n});if(!r.length)return;let a=[],l=Cd(i),c,h;for(c=0,h=r.length;ct!=="borderDash"&&t!=="fill"});function na(s,t,e,i){let n=s.options,{[e]:o}=s.getProps([e],i);return Math.abs(t-o)s.replace("rgb(","rgba(").replace(")",", 0.5)"));function Ha(s){return Kn[s%Kn.length]}function $a(s){return oa[s%oa.length]}function Wd(s,t){return s.borderColor=Ha(t),s.backgroundColor=$a(t),++t}function Bd(s,t){return s.backgroundColor=s.data.map(()=>Ha(t++)),t}function Hd(s,t){return s.backgroundColor=s.data.map(()=>$a(t++)),t}function $d(s){let t=0;return(e,i)=>{let n=s.getDatasetMeta(i).controller;n instanceof jt?t=Bd(e,t):n instanceof xe?t=Hd(e,t):n&&(t=Wd(e,t))}}function ra(s){let t;for(t in s)if(s[t].borderColor||s[t].backgroundColor)return!0;return!1}function jd(s){return s&&(s.borderColor||s.backgroundColor)}function Ud(){return j.borderColor!=="rgba(0,0,0,0.1)"||j.backgroundColor!=="rgba(0,0,0,0.1)"}var Yd={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(s,t,e){if(!e.enabled)return;let{data:{datasets:i},options:n}=s.config,{elements:o}=n,r=ra(i)||jd(n)||o&&ra(o)||Ud();if(!e.forceOverride&&r)return;let a=$d(s);i.forEach(a)}};function Zd(s,t,e,i,n){let o=n.samples||i;if(o>=e)return s.slice(t,t+e);let r=[],a=(e-2)/(o-2),l=0,c=t+e-1,h=t,u,d,f,g,m;for(r[l++]=s[h],u=0;uf&&(f=g,d=s[y],m=y);r[l++]=d,h=m}return r[l++]=s[c],r}function qd(s,t,e,i){let n=0,o=0,r,a,l,c,h,u,d,f,g,m,p=[],b=t+e-1,y=s[t].x,w=s[b].x-y;for(r=t;rm&&(m=c,d=r),n=(o*n+a.x)/++o;else{let k=r-1;if(!I(u)&&!I(d)){let S=Math.min(u,d),M=Math.max(u,d);S!==f&&S!==k&&p.push({...s[S],x:n}),M!==f&&M!==k&&p.push({...s[M],x:n})}r>0&&k!==f&&p.push(s[k]),p.push(a),h=x,o=0,g=m=c,u=d=f=r}}return p}function ja(s){if(s._decimated){let t=s._data;delete s._decimated,delete s._data,Object.defineProperty(s,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function aa(s){s.data.datasets.forEach(t=>{ja(t)})}function Gd(s,t){let e=t.length,i=0,n,{iScale:o}=s,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(i=K(Ct(t,o.axis,r).lo,0,e-1)),c?n=K(Ct(t,o.axis,a).hi+1,i,e)-i:n=e-i,{start:i,count:n}}var Xd={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(s,t,e)=>{if(!e.enabled){aa(s);return}let i=s.width;s.data.datasets.forEach((n,o)=>{let{_data:r,indexAxis:a}=n,l=s.getDatasetMeta(o),c=r||n.data;if(ze([a,s.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;let h=s.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||s.options.parsing)return;let{start:u,count:d}=Gd(l,c),f=e.threshold||4*i;if(d<=f){ja(n);return}I(r)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(m){this._data=m}}));let g;switch(e.algorithm){case"lttb":g=Zd(c,u,d,i,e);break;case"min-max":g=qd(c,u,d,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=g})},destroy(s){aa(s)}};function Jd(s,t,e){let i=s.segments,n=s.points,o=t.points,r=[];for(let a of i){let{start:l,end:c}=a;c=Oi(l,c,n);let h=Qn(e,n[l],n[c],a.loop);if(!t.segments){r.push({source:a,target:h,start:n[l],end:n[c]});continue}let u=Dn(t,h);for(let d of u){let f=Qn(e,o[d.start],o[d.end],d.loop),g=Tn(a,n,f);for(let m of g)r.push({source:m,target:d,start:{[e]:la(h,f,"start",Math.max)},end:{[e]:la(h,f,"end",Math.min)}})}}return r}function Qn(s,t,e,i){if(i)return;let n=t[s],o=e[s];return s==="angle"&&(n=st(n),o=st(o)),{property:s,start:n,end:o}}function Kd(s,t){let{x:e=null,y:i=null}=s||{},n=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=Oi(r,a,n);let l=n[r],c=n[a];i!==null?(o.push({x:l.x,y:i}),o.push({x:c.x,y:i})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Oi(s,t,e){for(;t>s;t--){let i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function la(s,t,e,i){return s&&t?i(s[e],t[e]):s?s[e]:t?t[e]:0}function Ua(s,t){let e=[],i=!1;return H(s)?(i=!0,e=s):e=Kd(s,t),e.length?new Ft({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function ca(s){return s&&s.fill!==!1}function Qd(s,t,e){let n=s[t].fill,o=[t],r;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!Z(n))return n;if(r=s[n],!r)return!1;if(r.visible)return n;o.push(n),n=r.fill}return!1}function tf(s,t,e){let i=of(s);if(E(i))return isNaN(i.value)?!1:i;let n=parseFloat(i);return Z(n)&&Math.floor(n)===n?ef(i[0],t,n,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function ef(s,t,e,i){return(s==="-"||s==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function sf(s,t){let e=null;return s==="start"?e=t.bottom:s==="end"?e=t.top:E(s)?e=t.getPixelForValue(s.value):t.getBasePixel&&(e=t.getBasePixel()),e}function nf(s,t,e){let i;return s==="start"?i=e:s==="end"?i=t.options.reverse?t.min:t.max:E(s)?i=s.value:i=t.getBaseValue(),i}function of(s){let t=s.options,e=t.fill,i=P(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function rf(s){let{scale:t,index:e,line:i}=s,n=[],o=i.segments,r=i.points,a=af(t,e);a.push(Ua({x:null,y:t.bottom},i));for(let l=0;l=0;--r){let a=n[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),i&&a.fill&&Vn(s.ctx,a,o))}},beforeDatasetsDraw(s,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;let i=s.getSortedVisibleDatasetMetas();for(let n=i.length-1;n>=0;--n){let o=i[n].$filler;ca(o)&&Vn(s.ctx,o,s.chartArea)}},beforeDatasetDraw(s,t,e){let i=t.meta.$filler;!ca(i)||e.drawTime!=="beforeDatasetDraw"||Vn(s.ctx,i,s.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},fa=(s,t)=>{let{boxHeight:e=t,boxWidth:i=t}=s;return s.usePointStyle&&(e=Math.min(e,t),i=s.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},yf=(s,t)=>s!==null&&t!==null&&s.datasetIndex===t.datasetIndex&&s.index===t.index,Mi=class extends dt{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,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,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(){let t=this.options.labels||{},e=W(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,n)=>t.sort(i,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let i=t.labels,n=X(i.font),o=n.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=fa(i,o),c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(r,o,a,l)+10):(h=this.maxHeight,c=this._fitCols(r,n,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,n){let{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+a,u=t;o.textAlign="left",o.textBaseline="middle";let d=-1,f=-h;return this.legendItems.forEach((g,m)=>{let p=i+e/2+o.measureText(g.text).width;(m===0||c[c.length-1]+p+2*a>r)&&(u+=h,c[c.length-(m>0?0:1)]=0,f+=h,d++),l[m]={left:0,top:f,row:d,width:p,height:n},c[c.length-1]+=p+a}),u}_fitCols(t,e,i,n){let{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=r-t,u=a,d=0,f=0,g=0,m=0;return this.legendItems.forEach((p,b)=>{let{itemWidth:y,itemHeight:_}=xf(i,e,o,p,n);b>0&&f+_+2*a>h&&(u+=d+a,c.push({width:d,height:f}),g+=d+a,m++,d=f=0),l[b]={left:g,top:f,col:m,width:y,height:_},d=Math.max(d,y),f+=_+a}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:n},rtl:o}}=this,r=ge(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=it(i,this.left+n,this.right-this.lineWidths[a]);for(let c of e)a!==c.row&&(a=c.row,l=it(i,this.left+n,this.right-this.lineWidths[a])),c.top+=this.top+t+n,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+n}else{let a=0,l=it(i,this.top+t+n,this.bottom-this.columnSizes[a].height);for(let c of e)c.col!==a&&(a=c.col,l=it(i,this.top+t+n,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+n,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let t=this.ctx;ps(t,this),this._draw(),bs(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:i,ctx:n}=this,{align:o,labels:r}=t,a=j.color,l=ge(t.rtl,this.left,this.width),c=X(r.font),{padding:h}=r,u=c.size,d=u/2,f;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;let{boxWidth:g,boxHeight:m,itemHeight:p}=fa(r,u),b=function(k,S,M){if(isNaN(g)||g<=0||isNaN(m)||m<0)return;n.save();let T=P(M.lineWidth,1);if(n.fillStyle=P(M.fillStyle,a),n.lineCap=P(M.lineCap,"butt"),n.lineDashOffset=P(M.lineDashOffset,0),n.lineJoin=P(M.lineJoin,"miter"),n.lineWidth=T,n.strokeStyle=P(M.strokeStyle,a),n.setLineDash(P(M.lineDash,[])),r.usePointStyle){let C={radius:m*Math.SQRT2/2,pointStyle:M.pointStyle,rotation:M.rotation,borderWidth:T},A=l.xPlus(k,g/2),L=S+d;bn(n,C,A,L,r.pointStyleWidth&&g)}else{let C=S+Math.max((u-m)/2,0),A=l.leftForLtr(k,g),L=te(M.borderRadius);n.beginPath(),Object.values(L).some(et=>et!==0)?Ne(n,{x:A,y:C,w:g,h:m,radius:L}):n.rect(A,C,g,m),n.fill(),T!==0&&n.stroke()}n.restore()},y=function(k,S,M){Qt(n,M.text,k,S+p/2,c,{strikethrough:M.hidden,textAlign:l.textAlign(M.textAlign)})},_=this.isHorizontal(),w=this._computeTitleHeight();_?f={x:it(o,this.left+h,this.right-i[0]),y:this.top+h+w,line:0}:f={x:this.left+h,y:it(o,this.top+w+h,this.bottom-e[0].height),line:0},Mn(this.ctx,t.textDirection);let x=p+h;this.legendItems.forEach((k,S)=>{n.strokeStyle=k.fontColor,n.fillStyle=k.fontColor;let M=n.measureText(k.text).width,T=l.textAlign(k.textAlign||(k.textAlign=r.textAlign)),C=g+d+M,A=f.x,L=f.y;l.setWidth(this.width),_?S>0&&A+C+h>this.right&&(L=f.y+=x,f.line++,A=f.x=it(o,this.left+h,this.right-i[f.line])):S>0&&L+x>this.bottom&&(A=f.x=A+e[f.line].width+h,f.line++,L=f.y=it(o,this.top+w+h,this.bottom-e[f.line].height));let et=l.x(A);if(b(et,L,k),A=fr(T,A+g+d,_?A+C:this.right,t.rtl),y(l.x(A),L,k),_)f.x+=C+h;else if(typeof k.text!="string"){let ht=c.lineHeight;f.y+=Ya(k,ht)+h}else f.y+=x}),On(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,i=X(e.font),n=nt(e.padding);if(!e.display)return;let o=ge(t.rtl,this.left,this.width),r=this.ctx,a=e.position,l=i.size/2,c=n.top+l,h,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+c,u=it(t.align,u,this.right-d);else{let g=this.columnSizes.reduce((m,p)=>Math.max(m,p.height),0);h=c+it(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}let f=it(a,u,u+d);r.textAlign=o.textAlign(ni(a)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,Qt(r,e.text,f,h,i)}_computeTitleHeight(){let t=this.options.title,e=X(t.font),i=nt(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,n,o;if(It(t,this.left,this.right)&&It(e,this.top,this.bottom)){for(o=this.legendHitBoxes,i=0;io.length>r.length?o:r)),t+e.size/2+i.measureText(n).width}function wf(s,t,e){let i=s;return typeof t.text!="string"&&(i=Ya(t,e)),i}function Ya(s,t){let e=s.text?s.text.length:0;return t*e}function kf(s,t){return!!((s==="mousemove"||s==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(s==="click"||s==="mouseup"))}var vf={id:"legend",_element:Mi,start(s,t,e){let i=s.legend=new Mi({ctx:s.ctx,options:e,chart:s});rt.configure(s,i,e),rt.addBox(s,i)},stop(s){rt.removeBox(s,s.legend),delete s.legend},beforeUpdate(s,t,e){let i=s.legend;rt.configure(s,i,e),i.options=e},afterUpdate(s){let t=s.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(s,t){t.replay||s.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(s,t,e){let i=t.datasetIndex,n=e.chart;n.isDatasetVisible(i)?(n.hide(i),t.hidden=!0):(n.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:s=>s.chart.options.color,boxWidth:40,padding:10,generateLabels(s){let t=s.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:n,color:o,useBorderRadius:r,borderRadius:a}}=s.legend.options;return s._getSortedDatasetMetas().map(l=>{let c=l.controller.getStyle(e?0:void 0),h=nt(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:s=>s.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:s=>!s.startsWith("on"),labels:{_scriptable:s=>!["generateLabels","filter","sort"].includes(s)}}},Is=class extends dt{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){let i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;let n=H(i.text)?i.text.length:1;this._padding=nt(i.padding);let o=n*X(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){let t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){let{top:e,left:i,bottom:n,right:o,options:r}=this,a=r.align,l=0,c,h,u;return this.isHorizontal()?(h=it(a,i,o),u=e+t,c=o-i):(r.position==="left"?(h=i+t,u=it(a,n,e),l=F*-.5):(h=o-t,u=it(a,e,n),l=F*.5),c=n-e),{titleX:h,titleY:u,maxWidth:c,rotation:l}}draw(){let t=this.ctx,e=this.options;if(!e.display)return;let i=X(e.font),o=i.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Qt(t,e.text,0,0,i,{color:e.color,maxWidth:l,rotation:c,textAlign:ni(e.align),textBaseline:"middle",translation:[r,a]})}};function Sf(s,t){let e=new Is({ctx:s.ctx,options:t,chart:s});rt.configure(s,e,t),rt.addBox(s,e),s.titleBlock=e}var Mf={id:"title",_element:Is,start(s,t,e){Sf(s,e)},stop(s){let t=s.titleBlock;rt.removeBox(s,t),delete s.titleBlock},beforeUpdate(s,t,e){let i=s.titleBlock;rt.configure(s,i,e),i.options=e},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}},mi=new WeakMap,Of={id:"subtitle",start(s,t,e){let i=new Is({ctx:s.ctx,options:e,chart:s});rt.configure(s,i,e),rt.addBox(s,i),mi.set(s,i)},stop(s){rt.removeBox(s,mi.get(s)),mi.delete(s)},beforeUpdate(s,t,e){let i=mi.get(s);rt.configure(s,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Ms={average(s){if(!s.length)return!1;let t,e,i=new Set,n=0,o=0;for(t=0,e=s.length;ta+l)/i.size,y:n/o}},nearest(s,t){if(!s.length)return!1;let e=t.x,i=t.y,n=Number.POSITIVE_INFINITY,o,r,a;for(o=0,r=s.length;o-1?s.split(` -`):s}function of(s,t){let{element:e,datasetIndex:i,index:n}=t,r=s.getDatasetMeta(i).controller,{label:o,value:a}=r.getLabelAndValue(n);return{chart:s,label:o,parsed:r.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:r.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function Na(s,t){let e=s.chart.ctx,{body:i,footer:n,title:r}=s,{boxWidth:o,boxHeight:a}=t,l=et(t.bodyFont),c=et(t.titleFont),h=et(t.footerFont),u=r.length,d=n.length,f=i.length,m=at(t.padding),g=m.height,p=0,y=i.reduce((w,x)=>w+x.before.length+x.lines.length+x.after.length,0);if(y+=s.beforeBody.length+s.afterBody.length,u&&(g+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),y){let w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;g+=f*w+(y-f)*l.lineHeight+(y-1)*t.bodySpacing}d&&(g+=t.footerMarginTop+d*h.lineHeight+(d-1)*t.footerSpacing);let b=0,_=function(w){p=Math.max(p,e.measureText(w).width+b)};return e.save(),e.font=c.string,H(s.title,_),e.font=l.string,H(s.beforeBody.concat(s.afterBody),_),b=t.displayColors?o+2+t.boxPadding:0,H(i,w=>{H(w.before,_),H(w.lines,_),H(w.after,_)}),b=0,e.font=h.string,H(s.footer,_),e.restore(),p+=m.width,{width:p,height:g}}function af(s,t){let{y:e,height:i}=t;return es.height-i/2?"bottom":"center"}function lf(s,t,e,i){let{x:n,width:r}=i,o=e.caretSize+e.caretPadding;if(s==="left"&&n+r+o>t.width||s==="right"&&n-r-o<0)return!0}function cf(s,t,e,i){let{x:n,width:r}=e,{width:o,chartArea:{left:a,right:l}}=s,c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=r/2?c="left":n>=o-r/2&&(c="right"),lf(c,s,t,e)&&(c="center"),c}function Ra(s,t,e){let i=e.yAlign||t.yAlign||af(s,e);return{xAlign:e.xAlign||t.xAlign||cf(s,t,e,i),yAlign:i}}function hf(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function uf(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function Wa(s,t,e,i){let{caretSize:n,caretPadding:r,cornerRadius:o}=s,{xAlign:a,yAlign:l}=e,c=n+r,{topLeft:h,topRight:u,bottomLeft:d,bottomRight:f}=se(o),m=hf(t,a),g=uf(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(h,d)+n:a==="right"&&(m+=Math.max(u,f)+n),{x:it(m,0,i.width-t.width),y:it(g,0,i.height-t.height)}}function Wi(s,t,e){let i=at(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function za(s){return Lt([],Ut(s))}function df(s,t,e){return $t(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Va(s,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}var Ls=class extends yt{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(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,r=new Hi(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(r)),r}getContext(){return this.$context||(this.$context=df(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:i}=e,n=i.beforeTitle.apply(this,[t]),r=i.title.apply(this,[t]),o=i.afterTitle.apply(this,[t]),a=[];return a=Lt(a,Ut(n)),a=Lt(a,Ut(r)),a=Lt(a,Ut(o)),a}getBeforeBody(t,e){return za(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){let{callbacks:i}=e,n=[];return H(t,r=>{let o={before:[],lines:[],after:[]},a=Va(i,r);Lt(o.before,Ut(a.beforeLabel.call(this,r))),Lt(o.lines,a.label.call(this,r)),Lt(o.after,Ut(a.afterLabel.call(this,r))),n.push(o)}),n}getAfterBody(t,e){return za(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){let{callbacks:i}=e,n=i.beforeFooter.apply(this,[t]),r=i.footer.apply(this,[t]),o=i.afterFooter.apply(this,[t]),a=[];return a=Lt(a,Ut(n)),a=Lt(a,Ut(r)),a=Lt(a,Ut(o)),a}_createItems(t){let e=this._active,i=this.chart.data,n=[],r=[],o=[],a=[],l,c;for(l=0,c=e.length;lt.filter(h,u,d,i))),t.itemSort&&(a=a.sort((h,u)=>t.itemSort(h,u,i))),H(a,h=>{let u=Va(t.callbacks,h);n.push(u.labelColor.call(this,h)),r.push(u.labelPointStyle.call(this,h)),o.push(u.labelTextColor.call(this,h))}),this.labelColors=n,this.labelPointStyles=r,this.labelTextColors=o,this.dataPoints=a,a}update(t,e){let i=this.options.setContext(this.getContext()),n=this._active,r,o=[];if(!n.length)this.opacity!==0&&(r={opacity:0});else{let a=Es[i.position].call(this,n,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);let l=this._size=Na(this,i),c=Object.assign({},a,l),h=Ra(this.chart,i,c),u=Wa(i,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,r={opacity:1,x:u.x,y:u.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=o,this.$context=void 0,r&&this._resolveAnimations().update(this,r),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,n){let r=this.getCaretPosition(t,i,n);e.lineTo(r.x1,r.y1),e.lineTo(r.x2,r.y2),e.lineTo(r.x3,r.y3)}getCaretPosition(t,e,i){let{xAlign:n,yAlign:r}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:u}=se(a),{x:d,y:f}=t,{width:m,height:g}=e,p,y,b,_,w,x;return r==="center"?(w=f+g/2,n==="left"?(p=d,y=p-o,_=w+o,x=w-o):(p=d+m,y=p+o,_=w-o,x=w+o),b=p):(n==="left"?y=d+Math.max(l,h)+o:n==="right"?y=d+m-Math.max(c,u)-o:y=this.caretX,r==="top"?(_=f,w=_-o,p=y-o,b=y+o):(_=f+g,w=_+o,p=y+o,b=y-o),x=_),{x1:p,x2:y,x3:b,y1:_,y2:w,y3:x}}drawTitle(t,e,i){let n=this.title,r=n.length,o,a,l;if(r){let c=ye(i.rtl,this.x,this.width);for(t.x=Wi(this,i.titleAlign,i),e.textAlign=c.textAlign(i.titleAlign),e.textBaseline="middle",o=et(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,l=0;l_!==0)?(t.beginPath(),t.fillStyle=r.multiKeyBackground,We(t,{x:p,y:g,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),We(t,{x:y,y:g+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=r.multiKeyBackground,t.fillRect(p,g,c,l),t.strokeRect(p,g,c,l),t.fillStyle=o.backgroundColor,t.fillRect(y,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){let{body:n}=this,{bodySpacing:r,bodyAlign:o,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=i,u=et(i.bodyFont),d=u.lineHeight,f=0,m=ye(i.rtl,this.x,this.width),g=function(O){e.fillText(O,m.x(t.x+f),t.y+d/2),t.y+=d+r},p=m.textAlign(o),y,b,_,w,x,S,k;for(e.textAlign=o,e.textBaseline="middle",e.font=u.string,t.x=Wi(this,p,i),e.fillStyle=i.bodyColor,H(this.beforeBody,g),f=a&&p!=="right"?o==="center"?c/2+h:c+2+h:0,w=0,S=n.length;w0&&e.stroke()}_updateAnimationTarget(t){let e=this.chart,i=this.$animations,n=i&&i.x,r=i&&i.y;if(n||r){let o=Es[t.position].call(this,this._active,this._eventPosition);if(!o)return;let a=this._size=Na(this,t),l=Object.assign({},o,this._size),c=Ra(e,t,l),h=Wa(t,l,c,e);(n._to!==h.x||r._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){let e=this.options.setContext(this.getContext()),i=this.opacity;if(!i)return;this._updateAnimationTarget(e);let n={width:this.width,height:this.height},r={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;let o=at(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=i,this.drawBackground(r,t,n,e),Kn(t,e.textDirection),r.y+=o.top,this.drawTitle(r,t,e),this.drawBody(r,t,e),this.drawFooter(r,t,e),Jn(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){let i=this._active,n=t.map(({datasetIndex:a,index:l})=>{let c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),r=!xs(i,n),o=this._positionChanged(n,e);(r||o)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let n=this.options,r=this._active||[],o=this._getActiveElements(t,r,e,i),a=this._positionChanged(o,t),l=e||!xs(o,r)||a;return l&&(this._active=o,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,i,n){let r=this.options;if(t.type==="mouseout")return[];if(!n)return e;let o=this.chart.getElementsAtEventForMode(t,r.mode,r,i);return r.reverse&&o.reverse(),o}_positionChanged(t,e){let{caretX:i,caretY:n,options:r}=this,o=Es[r.position].call(this,t,e);return o!==!1&&(i!==o.x||n!==o.y)}};Ls.positioners=Es;var ff={id:"tooltip",_element:Ls,positioners:Es,afterInit(s,t,e){e&&(s.tooltip=new Ls({chart:s,options:e}))},beforeUpdate(s,t,e){s.tooltip&&s.tooltip.initialize(e)},reset(s,t,e){s.tooltip&&s.tooltip.initialize(e)},afterDraw(s){let t=s.tooltip;if(t&&t._willRender()){let e={tooltip:t};if(s.notifyPlugins("beforeTooltipDraw",e)===!1)return;t.draw(s.ctx),s.notifyPlugins("afterTooltipDraw",e)}},afterEvent(s,t){if(s.tooltip){let e=t.replay;s.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(s,t)=>t.bodyFont.size,boxWidth:(s,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:Ft,title(s){if(s.length>0){let t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndexs!=="filter"&&s!=="itemSort"&&s!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},mf=Object.freeze({__proto__:null,Decimation:Fd,Filler:Jd,Legend:ef,SubTitle:rf,Title:nf,Tooltip:ff}),gf=(s,t,e,i)=>(typeof t=="string"?(e=s.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function pf(s,t,e,i){let n=s.indexOf(t);if(n===-1)return gf(s,t,e,i);let r=s.lastIndexOf(t);return n!==r?e:n}var yf=(s,t)=>s===null?null:it(Math.round(s),0,t),Je=class extends Yt{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){let e=this._addedLabels;if(e.length){let i=this.getLabels();for(let{index:n,label:r}of e)i[n]===r&&i.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(R(t))return null;let i=this.getLabels();return e=isFinite(e)&&i[e]===t?e:pf(i,t,I(e,t),this._addedLabels),yf(e,i.length-1)}determineDataLimits(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),{min:i,max:n}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(i=0),e||(n=this.getLabels().length-1)),this.min=i,this.max=n}buildTicks(){let t=this.min,e=this.max,i=this.options.offset,n=[],r=this.getLabels();r=t===0&&e===r.length-1?r:r.slice(t,e+1),this._valueRange=Math.max(r.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let o=t;o<=e;o++)n.push({value:o});return n}getLabelForValue(t){let 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}};Je.id="category";Je.defaults={ticks:{callback:Je.prototype.getLabelForValue}};function bf(s,t){let e=[],{bounds:n,step:r,min:o,max:a,precision:l,count:c,maxTicks:h,maxDigits:u,includeBounds:d}=s,f=r||1,m=h-1,{min:g,max:p}=t,y=!R(o),b=!R(a),_=!R(c),w=(p-g)/(u+1),x=On((p-g)/m/f)*f,S,k,O,T;if(x<1e-14&&!y&&!b)return[{value:g},{value:p}];T=Math.ceil(p/x)-Math.floor(g/x),T>m&&(x=On(T*x/m/f)*f),R(l)||(S=Math.pow(10,l),x=Math.ceil(x*S)/S),n==="ticks"?(k=Math.floor(g/x)*x,O=Math.ceil(p/x)*x):(k=g,O=p),y&&b&&r&&Eo((a-o)/r,x/1e3)?(T=Math.round(Math.min((a-o)/x,h)),x=(a-o)/T,k=o,O=a):_?(k=y?o:k,O=b?a:O,T=c-1,x=(O-k)/T):(T=(O-k)/x,Ne(T,Math.round(T),x/1e3)?T=Math.round(T):T=Math.ceil(T));let F=Math.max(En(x),En(k));S=Math.pow(10,R(l)?F:l),k=Math.round(k*S)/S,O=Math.round(O*S)/S;let W=0;for(y&&(d&&k!==o?(e.push({value:o}),kn=e?n:l,a=l=>r=i?r:l;if(t){let l=Tt(n),c=Tt(r);l<0&&c<0?a(0):l>0&&c>0&&o(0)}if(n===r){let l=1;(r>=Number.MAX_SAFE_INTEGER||n<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(r*.05)),a(r+l),t||o(n-l)}this.min=n,this.max=r}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:i}=t,n;return i?(n=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,i=this.getTickLimit();i=Math.max(2,i);let n={maxTicks:i,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:e.includeBounds!==!1},r=this._range||this,o=bf(n,r);return t.bounds==="ticks"&&Dn(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){let t=this.ticks,e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){let n=(i-e)/Math.max(t.length-1,1)/2;e-=n,i+=n}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Ve(t,this.chart.options.locale,this.options.ticks.format)}},Ps=class extends Qe{determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=K(t)?t:0,this.max=K(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){let t=this.isHorizontal(),e=t?this.width:this.height,i=wt(this.options.ticks.minRotation),n=(t?Math.sin(i):Math.cos(i))||.001,r=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,r.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}};Ps.id="linear";Ps.defaults={ticks:{callback:Zi.formatters.numeric}};function Ba(s){return s/Math.pow(10,Math.floor(gt(s)))===1}function xf(s,t){let e=Math.floor(gt(t.max)),i=Math.ceil(t.max/Math.pow(10,e)),n=[],r=mt(s.min,Math.pow(10,Math.floor(gt(t.min)))),o=Math.floor(gt(r)),a=Math.floor(r/Math.pow(10,o)),l=o<0?Math.pow(10,Math.abs(o)):1;do n.push({value:r,major:Ba(r)}),++a,a===10&&(a=1,++o,l=o>=0?1:l),r=Math.round(a*Math.pow(10,o)*l)/l;while(o0?i:null}determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=K(t)?Math.max(0,t):null,this.max=K(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),i=this.min,n=this.max,r=l=>i=t?i:l,o=l=>n=e?n:l,a=(l,c)=>Math.pow(10,Math.floor(gt(l))+c);i===n&&(i<=0?(r(1),o(10)):(r(a(i,-1)),o(a(n,1)))),i<=0&&r(a(n,-1)),n<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&r(a(i,-1)),this.min=i,this.max=n}buildTicks(){let t=this.options,e={min:this._userMin,max:this._userMax},i=xf(e,this);return t.bounds==="ticks"&&Dn(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":Ve(t,this.chart.options.locale,this.options.ticks.format)}configure(){let t=this.min;super.configure(),this._startValue=gt(t),this._valueRange=gt(this.max)-gt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(gt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){let e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}};Ns.id="logarithmic";Ns.defaults={ticks:{callback:Zi.formatters.logarithmic,major:{enabled:!0}}};function Sr(s){let t=s.ticks;if(t.display&&s.display){let e=at(t.backdropPadding);return I(t.font&&t.font.size,L.font.size)+e.height}return 0}function _f(s,t,e){return e=$(e)?e:[e],{w:Bo(s,t.string,e),h:e.length*t.lineHeight}}function $a(s,t,e,i,n){return s===i||s===n?{start:t-e/2,end:t+e/2}:sn?{start:t-e,end:t}:{start:t,end:t+e}}function wf(s){let t={l:s.left+s._padding.left,r:s.right-s._padding.right,t:s.top+s._padding.top,b:s.bottom-s._padding.bottom},e=Object.assign({},t),i=[],n=[],r=s._pointLabels.length,o=s.options.pointLabels,a=o.centerPointLabels?Y/r:0;for(let l=0;lt.r&&(a=(i.end-t.r)/r,s.r=Math.max(s.r,t.r+a)),n.startt.b&&(l=(n.end-t.b)/o,s.b=Math.max(s.b,t.b+l))}function kf(s,t,e){let i=[],n=s._pointLabels.length,r=s.options,o=Sr(r)/2,a=s.drawingArea,l=r.pointLabels.centerPointLabels?Y/n:0;for(let c=0;c270||e<90)&&(s-=t),s}function Of(s,t){let{ctx:e,options:{pointLabels:i}}=s;for(let n=t-1;n>=0;n--){let r=i.setContext(s.getPointLabelContext(n)),o=et(r.font),{x:a,y:l,textAlign:c,left:h,top:u,right:d,bottom:f}=s._pointLabelItems[n],{backdropColor:m}=r;if(!R(m)){let g=se(r.borderRadius),p=at(r.backdropPadding);e.fillStyle=m;let y=h-p.left,b=u-p.top,_=d-h+p.width,w=f-u+p.height;Object.values(g).some(x=>x!==0)?(e.beginPath(),We(e,{x:y,y:b,w:_,h:w,radius:g}),e.fill()):e.fillRect(y,b,_,w)}ee(e,s._pointLabels[n],a,l+o.lineHeight/2,o,{color:r.color,textAlign:c,textBaseline:"middle"})}}function dl(s,t,e,i){let{ctx:n}=s;if(e)n.arc(s.xCenter,s.yCenter,t,0,B);else{let r=s.getPointPosition(0,t);n.moveTo(r.x,r.y);for(let o=1;o{let n=j(this.options.pointLabels.callback,[e,i],this);return n||n===0?n:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){let t=this.options;t.display&&t.pointLabels.display?wf(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,n))}getIndexAngle(t){let e=B/(this._pointLabels.length||1),i=this.options.startAngle||0;return ht(t*e+wt(i))}getDistanceFromCenterForValue(t){if(R(t))return NaN;let e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(R(t))return NaN;let e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){let e=this._pointLabels||[];if(t>=0&&t{if(h!==0){a=this.getDistanceFromCenterForValue(c.value);let u=n.setContext(this.getContext(h-1));Df(this,u,a,r)}}),i.display){for(t.save(),o=r-1;o>=0;o--){let c=i.setContext(this.getPointLabelContext(o)),{color:h,lineWidth:u}=c;!u||!h||(t.lineWidth=u,t.strokeStyle=h,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(o,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){let t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;let n=this.getIndexAngle(0),r,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!e.reverse)return;let c=i.setContext(this.getContext(l)),h=et(c.font);if(r=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,o=t.measureText(a.label).width,t.fillStyle=c.backdropColor;let u=at(c.backdropPadding);t.fillRect(-o/2-u.left,-r-h.size/2-u.top,o+u.width,h.size+u.height)}ee(t,a.label,0,-r,h,{color:c.color})}),t.restore()}drawTitle(){}};_e.id="radialLinear";_e.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Zi.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(s){return s},padding:5,centerPointLabels:!1}};_e.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};_e.descriptors={angleLines:{_fallback:"grid"}};var qi={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}},ut=Object.keys(qi);function If(s,t){return s-t}function ja(s,t){if(R(t))return null;let e=s._adapter,{parser:i,round:n,isoWeekday:r}=s._parseOpts,o=t;return typeof i=="function"&&(o=i(o)),K(o)||(o=typeof i=="string"?e.parse(o,i):e.parse(o)),o===null?null:(n&&(o=n==="week"&&(pe(r)||r===!0)?e.startOf(o,"isoWeek",r):e.startOf(o,n)),+o)}function Ua(s,t,e,i){let n=ut.length;for(let r=ut.indexOf(s);r=ut.indexOf(e);r--){let o=ut[r];if(qi[o].common&&s._adapter.diff(n,i,o)>=t-1)return o}return ut[e?ut.indexOf(e):0]}function Ff(s){for(let t=ut.indexOf(s)+1,e=ut.length;t=t?e[i]:e[n];s[r]=!0}}function Af(s,t,e,i){let n=s._adapter,r=+n.startOf(t[0].value,i),o=t[t.length-1].value,a,l;for(a=r;a<=o;a=+n.add(a,1,i))l=e[a],l>=0&&(t[l].major=!0);return t}function Za(s,t,e){let i=[],n={},r=t.length,o,a;for(o=0;o+t.value))}initOffsets(t){let e=0,i=0,n,r;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,r=this.getDecimalForValue(t[t.length-1]),t.length===1?i=r:i=(r-this.getDecimalForValue(t[t.length-2]))/2);let o=t.length<3?.5:.25;e=it(e,0,o),i=it(i,0,o),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){let t=this._adapter,e=this.min,i=this.max,n=this.options,r=n.time,o=r.unit||Ua(r.minUnit,e,i,this._getLabelCapacity(e)),a=I(r.stepSize,1),l=o==="week"?r.isoWeekday:!1,c=pe(l)||l===!0,h={},u=e,d,f;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);let m=n.ticks.source==="data"&&this.getDataTimestamps();for(d=u,f=0;dg-p).map(g=>+g)}getLabelForValue(t){let e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,n){let r=this.options,o=r.time.displayFormats,a=this._unit,l=this._majorUnit,c=a&&o[a],h=l&&o[l],u=i[e],d=l&&h&&u&&u.major,f=this._adapter.format(t,n||(d?h:c)),m=r.ticks.callback;return m?j(m,[f,e,i],this):f}generateTickLabels(t){let e,i,n;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;let n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,i=n.length;e=s[i].pos&&t<=s[n].pos&&({lo:i,hi:n}=Ct(s,"pos",t)),{pos:r,time:a}=s[i],{pos:o,time:l}=s[n]):(t>=s[i].time&&t<=s[n].time&&({lo:i,hi:n}=Ct(s,"time",t)),{time:r,pos:a}=s[i],{time:o,pos:l}=s[n]);let c=o-r;return c?a+(l-a)*(t-r)/c:a}var Rs=class extends we{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=zi(e,this.min),this._tableRange=zi(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){let{min:e,max:i}=this,n=[],r=[],o,a,l,c,h;for(o=0,a=t.length;o=e&&c<=i&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=n.length;o=0?m:1e3+m,(d-f)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}};var ml={};function zf(s,t={}){let e=JSON.stringify([s,t]),i=ml[e];return i||(i=new Intl.ListFormat(s,t),ml[e]=i),i}var Dr={};function Er(s,t={}){let e=JSON.stringify([s,t]),i=Dr[e];return i||(i=new Intl.DateTimeFormat(s,t),Dr[e]=i),i}var Ir={};function Vf(s,t={}){let e=JSON.stringify([s,t]),i=Ir[e];return i||(i=new Intl.NumberFormat(s,t),Ir[e]=i),i}var Cr={};function Hf(s,t={}){let{base:e,...i}=t,n=JSON.stringify([s,i]),r=Cr[n];return r||(r=new Intl.RelativeTimeFormat(s,t),Cr[n]=r),r}var ni=null;function Bf(){return ni||(ni=new Intl.DateTimeFormat().resolvedOptions().locale,ni)}var gl={};function $f(s){let t=gl[s];if(!t){let e=new Intl.Locale(s);t="getWeekInfo"in e?e.getWeekInfo():e.weekInfo,gl[s]=t}return t}function jf(s){let t=s.indexOf("-x-");t!==-1&&(s=s.substring(0,t));let e=s.indexOf("-u-");if(e===-1)return[s];{let i,n;try{i=Er(s).resolvedOptions(),n=s}catch{let l=s.substring(0,e);i=Er(l).resolvedOptions(),n=l}let{numberingSystem:r,calendar:o}=i;return[n,r,o]}}function Uf(s,t,e){return(e||t)&&(s.includes("-u-")||(s+="-u"),e&&(s+=`-ca-${e}`),t&&(s+=`-nu-${t}`)),s}function Yf(s){let t=[];for(let e=1;e<=12;e++){let i=v.utc(2009,e,1);t.push(s(i))}return t}function Zf(s){let t=[];for(let e=1;e<=7;e++){let i=v.utc(2016,11,13+e);t.push(s(i))}return t}function sn(s,t,e,i){let n=s.listingMode();return n==="error"?null:n==="en"?e(t):i(t)}function qf(s){return s.numberingSystem&&s.numberingSystem!=="latn"?!1:s.numberingSystem==="latn"||!s.locale||s.locale.startsWith("en")||new Intl.DateTimeFormat(s.intl).resolvedOptions().numberingSystem==="latn"}var Fr=class{constructor(t,e,i){this.padTo=i.padTo||0,this.floor=i.floor||!1;let{padTo:n,floor:r,...o}=i;if(!e||Object.keys(o).length>0){let a={useGrouping:!1,...i};i.padTo>0&&(a.minimumIntegerDigits=i.padTo),this.inf=Vf(t,a)}}format(t){if(this.inf){let e=this.floor?Math.floor(t):t;return this.inf.format(e)}else{let e=this.floor?Math.floor(t):ss(t,3);return q(e,this.padTo)}}},Ar=class{constructor(t,e,i){this.opts=i,this.originalZone=void 0;let n;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){let o=-1*(t.offset/60),a=o>=0?`Etc/GMT+${o}`:`Etc/GMT${o}`;t.offset!==0&&nt.create(a).valid?(n=a,this.dt=t):(n="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,n=t.zone.name):(n="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);let r={...this.opts};r.timeZone=r.timeZone||n,this.dtf=Er(e,r)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(e=>{if(e.type==="timeZoneName"){let i=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:i}}else return e}):t}resolvedOptions(){return this.dtf.resolvedOptions()}},Lr=class{constructor(t,e,i){this.opts={style:"long",...i},!e&&nn()&&(this.rtf=Hf(t,i))}format(t,e){return this.rtf?this.rtf.format(t,e):pl(e,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}},Gf={firstDay:1,minimalDays:4,weekend:[6,7]},N=class{static fromOpts(t){return N.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,e,i,n,r=!1){let o=t||z.defaultLocale,a=o||(r?"en-US":Bf()),l=e||z.defaultNumberingSystem,c=i||z.defaultOutputCalendar,h=ri(n)||z.defaultWeekSettings;return new N(a,l,c,h,o)}static resetCache(){ni=null,Dr={},Ir={},Cr={}}static fromObject({locale:t,numberingSystem:e,outputCalendar:i,weekSettings:n}={}){return N.create(t,e,i,n)}constructor(t,e,i,n,r){let[o,a,l]=jf(t);this.locale=o,this.numberingSystem=e||a||null,this.outputCalendar=i||l||null,this.weekSettings=n,this.intl=Uf(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=r,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=qf(this)),this.fastNumbersCached}listingMode(){let t=this.isEnglish(),e=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&e?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:N.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,ri(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return sn(this,t,Pr,()=>{let i=e?{month:t,day:"numeric"}:{month:t},n=e?"format":"standalone";return this.monthsCache[n][t]||(this.monthsCache[n][t]=Yf(r=>this.extract(r,i,"month"))),this.monthsCache[n][t]})}weekdays(t,e=!1){return sn(this,t,Nr,()=>{let i=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},n=e?"format":"standalone";return this.weekdaysCache[n][t]||(this.weekdaysCache[n][t]=Zf(r=>this.extract(r,i,"weekday"))),this.weekdaysCache[n][t]})}meridiems(){return sn(this,void 0,()=>Rr,()=>{if(!this.meridiemCache){let t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[v.utc(2016,11,13,9),v.utc(2016,11,13,19)].map(e=>this.extract(e,t,"dayperiod"))}return this.meridiemCache})}eras(t){return sn(this,t,Wr,()=>{let e={era:t};return this.eraCache[t]||(this.eraCache[t]=[v.utc(-40,1,1),v.utc(2017,1,1)].map(i=>this.extract(i,e,"era"))),this.eraCache[t]})}extract(t,e,i){let n=this.dtFormatter(t,e),r=n.formatToParts(),o=r.find(a=>a.type.toLowerCase()===i);return o?o.value:null}numberFormatter(t={}){return new Fr(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new Ar(t,this.intl,e)}relFormatter(t={}){return new Lr(this.intl,this.isEnglish(),t)}listFormatter(t={}){return zf(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:rn()?$f(this.locale):Gf}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}};var Vr=null,G=class extends dt{static get utcInstance(){return Vr===null&&(Vr=new G(0)),Vr}static instance(t){return t===0?G.utcInstance:new G(t)}static parseSpecifier(t){if(t){let e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new G(Se(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${le(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${le(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return le(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}};var is=class extends dt{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function Et(s,t){let e;if(D(s)||s===null)return t;if(s instanceof dt)return s;if(yl(s)){let i=s.toLowerCase();return i==="default"?t:i==="local"||i==="system"?Wt.instance:i==="utc"||i==="gmt"?G.utcInstance:G.parseSpecifier(i)||nt.create(s)}else return zt(s)?G.instance(s):typeof s=="object"&&"offset"in s&&typeof s.offset=="function"?s:new is(s)}var bl=()=>Date.now(),xl="system",_l=null,wl=null,Sl=null,kl=60,Ml,Tl=null,z=class{static get now(){return bl}static set now(t){bl=t}static set defaultZone(t){xl=t}static get defaultZone(){return Et(xl,Wt.instance)}static get defaultLocale(){return _l}static set defaultLocale(t){_l=t}static get defaultNumberingSystem(){return wl}static set defaultNumberingSystem(t){wl=t}static get defaultOutputCalendar(){return Sl}static set defaultOutputCalendar(t){Sl=t}static get defaultWeekSettings(){return Tl}static set defaultWeekSettings(t){Tl=ri(t)}static get twoDigitCutoffYear(){return kl}static set twoDigitCutoffYear(t){kl=t%100}static get throwOnInvalid(){return Ml}static set throwOnInvalid(t){Ml=t}static resetCaches(){N.resetCache(),nt.resetCache()}};var rt=class{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}};var vl=[0,31,59,90,120,151,181,212,243,273,304,334],Ol=[0,31,60,91,121,152,182,213,244,274,305,335];function St(s,t){return new rt("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${s}, which is invalid`)}function on(s,t,e){let i=new Date(Date.UTC(s,t-1,e));s<100&&s>=0&&i.setUTCFullYear(i.getUTCFullYear()-1900);let n=i.getUTCDay();return n===0?7:n}function Dl(s,t,e){return e+(Me(s)?Ol:vl)[t-1]}function El(s,t){let e=Me(s)?Ol:vl,i=e.findIndex(r=>rke(i,t,e)?(c=i+1,l=1):c=i,{weekYear:c,weekNumber:l,weekday:a,...li(s)}}function Hr(s,t=4,e=1){let{weekYear:i,weekNumber:n,weekday:r}=s,o=an(on(i,1,t),e),a=ce(i),l=n*7+r-o-7+t,c;l<1?(c=i-1,l+=ce(c)):l>a?(c=i+1,l-=ce(i)):c=i;let{month:h,day:u}=El(c,l);return{year:c,month:h,day:u,...li(s)}}function ln(s){let{year:t,month:e,day:i}=s,n=Dl(t,e,i);return{year:t,ordinal:n,...li(s)}}function Br(s){let{year:t,ordinal:e}=s,{month:i,day:n}=El(t,e);return{year:t,month:i,day:n,...li(s)}}function $r(s,t){if(!D(s.localWeekday)||!D(s.localWeekNumber)||!D(s.localWeekYear)){if(!D(s.weekday)||!D(s.weekNumber)||!D(s.weekYear))throw new vt("Cannot mix locale-based week fields with ISO-based week fields");return D(s.localWeekday)||(s.weekday=s.localWeekday),D(s.localWeekNumber)||(s.weekNumber=s.localWeekNumber),D(s.localWeekYear)||(s.weekYear=s.localWeekYear),delete s.localWeekday,delete s.localWeekNumber,delete s.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function Il(s,t=4,e=1){let i=ai(s.weekYear),n=xt(s.weekNumber,1,ke(s.weekYear,t,e)),r=xt(s.weekday,1,7);return i?n?r?!1:St("weekday",s.weekday):St("week",s.weekNumber):St("weekYear",s.weekYear)}function Cl(s){let t=ai(s.year),e=xt(s.ordinal,1,ce(s.year));return t?e?!1:St("ordinal",s.ordinal):St("year",s.year)}function jr(s){let t=ai(s.year),e=xt(s.month,1,12),i=xt(s.day,1,ns(s.year,s.month));return t?e?i?!1:St("day",s.day):St("month",s.month):St("year",s.year)}function Ur(s){let{hour:t,minute:e,second:i,millisecond:n}=s,r=xt(t,0,23)||t===24&&e===0&&i===0&&n===0,o=xt(e,0,59),a=xt(i,0,59),l=xt(n,0,999);return r?o?a?l?!1:St("millisecond",n):St("second",i):St("minute",e):St("hour",t)}function D(s){return typeof s>"u"}function zt(s){return typeof s=="number"}function ai(s){return typeof s=="number"&&s%1===0}function yl(s){return typeof s=="string"}function Al(s){return Object.prototype.toString.call(s)==="[object Date]"}function nn(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function rn(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function Ll(s){return Array.isArray(s)?s:[s]}function Yr(s,t,e){if(s.length!==0)return s.reduce((i,n)=>{let r=[t(n),n];return i&&e(i[0],r[0])===i[0]?i:r},null)[1]}function Pl(s,t){return t.reduce((e,i)=>(e[i]=s[i],e),{})}function he(s,t){return Object.prototype.hasOwnProperty.call(s,t)}function ri(s){if(s==null)return null;if(typeof s!="object")throw new st("Week settings must be an object");if(!xt(s.firstDay,1,7)||!xt(s.minimalDays,1,7)||!Array.isArray(s.weekend)||s.weekend.some(t=>!xt(t,1,7)))throw new st("Invalid week settings");return{firstDay:s.firstDay,minimalDays:s.minimalDays,weekend:Array.from(s.weekend)}}function xt(s,t,e){return ai(s)&&s>=t&&s<=e}function Xf(s,t){return s-t*Math.floor(s/t)}function q(s,t=2){let e=s<0,i;return e?i="-"+(""+-s).padStart(t,"0"):i=(""+s).padStart(t,"0"),i}function qt(s){if(!(D(s)||s===null||s===""))return parseInt(s,10)}function ue(s){if(!(D(s)||s===null||s===""))return parseFloat(s)}function ci(s){if(!(D(s)||s===null||s==="")){let t=parseFloat("0."+s)*1e3;return Math.floor(t)}}function ss(s,t,e=!1){let i=10**t;return(e?Math.trunc:Math.round)(s*i)/i}function Me(s){return s%4===0&&(s%100!==0||s%400===0)}function ce(s){return Me(s)?366:365}function ns(s,t){let e=Xf(t-1,12)+1,i=s+(t-e)/12;return e===2?Me(i)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][e-1]}function es(s){let t=Date.UTC(s.year,s.month-1,s.day,s.hour,s.minute,s.second,s.millisecond);return s.year<100&&s.year>=0&&(t=new Date(t),t.setUTCFullYear(s.year,s.month-1,s.day)),+t}function Fl(s,t,e){return-an(on(s,1,t),e)+t-1}function ke(s,t=4,e=1){let i=Fl(s,t,e),n=Fl(s+1,t,e);return(ce(s)-i+n)/7}function hi(s){return s>99?s:s>z.twoDigitCutoffYear?1900+s:2e3+s}function Qi(s,t,e,i=null){let n=new Date(s),r={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};i&&(r.timeZone=i);let o={timeZoneName:t,...r},a=new Intl.DateTimeFormat(e,o).formatToParts(n).find(l=>l.type.toLowerCase()==="timezonename");return a?a.value:null}function Se(s,t){let e=parseInt(s,10);Number.isNaN(e)&&(e=0);let i=parseInt(t,10)||0,n=e<0||Object.is(e,-0)?-i:i;return e*60+n}function Zr(s){let t=Number(s);if(typeof s=="boolean"||s===""||Number.isNaN(t))throw new st(`Invalid unit value ${s}`);return t}function rs(s,t){let e={};for(let i in s)if(he(s,i)){let n=s[i];if(n==null)continue;e[t(i)]=Zr(n)}return e}function le(s,t){let e=Math.trunc(Math.abs(s/60)),i=Math.trunc(Math.abs(s%60)),n=s>=0?"+":"-";switch(t){case"short":return`${n}${q(e,2)}:${q(i,2)}`;case"narrow":return`${n}${e}${i>0?`:${i}`:""}`;case"techie":return`${n}${q(e,2)}${q(i,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function li(s){return Pl(s,["hour","minute","second","millisecond"])}var Kf=["January","February","March","April","May","June","July","August","September","October","November","December"],qr=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Jf=["J","F","M","A","M","J","J","A","S","O","N","D"];function Pr(s){switch(s){case"narrow":return[...Jf];case"short":return[...qr];case"long":return[...Kf];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Gr=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Xr=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Qf=["M","T","W","T","F","S","S"];function Nr(s){switch(s){case"narrow":return[...Qf];case"short":return[...Xr];case"long":return[...Gr];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var Rr=["AM","PM"],tm=["Before Christ","Anno Domini"],em=["BC","AD"],sm=["B","A"];function Wr(s){switch(s){case"narrow":return[...sm];case"short":return[...em];case"long":return[...tm];default:return null}}function Nl(s){return Rr[s.hour<12?0:1]}function Rl(s,t){return Nr(t)[s.weekday-1]}function Wl(s,t){return Pr(t)[s.month-1]}function zl(s,t){return Wr(t)[s.year<0?0:1]}function pl(s,t,e="always",i=!1){let n={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},r=["hours","minutes","seconds"].indexOf(s)===-1;if(e==="auto"&&r){let u=s==="days";switch(t){case 1:return u?"tomorrow":`next ${n[s][0]}`;case-1:return u?"yesterday":`last ${n[s][0]}`;case 0:return u?"today":`this ${n[s][0]}`;default:}}let o=Object.is(t,-0)||t<0,a=Math.abs(t),l=a===1,c=n[s],h=i?l?c[1]:c[2]||c[1]:l?n[s][0]:s;return o?`${a} ${h} ago`:`in ${a} ${h}`}function Vl(s,t){let e="";for(let i of s)i.literal?e+=i.val:e+=t(i.val);return e}var im={D:ae,DD:zs,DDD:Vs,DDDD:Hs,t:Bs,tt:$s,ttt:js,tttt:Us,T:Ys,TT:Zs,TTT:qs,TTTT:Gs,f:Xs,ff:Js,fff:ti,ffff:si,F:Ks,FF:Qs,FFF:ei,FFFF:ii},X=class{static create(t,e={}){return new X(t,e)}static parseFormat(t){let e=null,i="",n=!1,r=[];for(let o=0;o0&&r.push({literal:n||/^\s+$/.test(i),val:i}),e=null,i="",n=!n):n||a===e?i+=a:(i.length>0&&r.push({literal:/^\s+$/.test(i),val:i}),i=a,e=a)}return i.length>0&&r.push({literal:n||/^\s+$/.test(i),val:i}),r}static macroTokenToFormatOpts(t){return im[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0){if(this.opts.forceSimple)return q(t,e);let i={...this.opts};return e>0&&(i.padTo=e),this.loc.numberFormatter(i).format(t)}formatDateTimeFromString(t,e){let i=this.loc.listingMode()==="en",n=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",r=(f,m)=>this.loc.extract(t,f,m),o=f=>t.isOffsetFixed&&t.offset===0&&f.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,f.format):"",a=()=>i?Nl(t):r({hour:"numeric",hourCycle:"h12"},"dayperiod"),l=(f,m)=>i?Wl(t,f):r(m?{month:f}:{month:f,day:"numeric"},"month"),c=(f,m)=>i?Rl(t,f):r(m?{weekday:f}:{weekday:f,month:"long",day:"numeric"},"weekday"),h=f=>{let m=X.macroTokenToFormatOpts(f);return m?this.formatWithSystemDefault(t,m):f},u=f=>i?zl(t,f):r({era:f},"era"),d=f=>{switch(f){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return o({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return o({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return o({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return n?r({day:"numeric"},"day"):this.num(t.day);case"dd":return n?r({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return n?r({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return n?r({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return n?r({month:"numeric"},"month"):this.num(t.month);case"MM":return n?r({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return n?r({year:"numeric"},"year"):this.num(t.year);case"yy":return n?r({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return n?r({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return n?r({year:"numeric"},"year"):this.num(t.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return h(f)}};return Vl(X.parseFormat(e),d)}formatDurationFromString(t,e){let i=l=>{switch(l[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},n=l=>c=>{let h=i(c);return h?this.num(l.get(h),c.length):c},r=X.parseFormat(e),o=r.reduce((l,{literal:c,val:h})=>c?l:l.concat(h),[]),a=t.shiftTo(...o.map(i).filter(l=>l));return Vl(r,n(a))}};var Bl=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function as(...s){let t=s.reduce((e,i)=>e+i.source,"");return RegExp(`^${t}$`)}function ls(...s){return t=>s.reduce(([e,i,n],r)=>{let[o,a,l]=r(t,n);return[{...e,...o},a||i,l]},[{},null,1]).slice(0,2)}function cs(s,...t){if(s==null)return[null,null];for(let[e,i]of t){let n=e.exec(s);if(n)return i(n)}return[null,null]}function $l(...s){return(t,e)=>{let i={},n;for(n=0;nf!==void 0&&(m||f&&h)?-f:f;return[{years:d(ue(e)),months:d(ue(i)),weeks:d(ue(n)),days:d(ue(r)),hours:d(ue(o)),minutes:d(ue(a)),seconds:d(ue(l),l==="-0"),milliseconds:d(ci(c),u)}]}var pm={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Qr(s,t,e,i,n,r,o){let a={year:t.length===2?hi(qt(t)):qt(t),month:qr.indexOf(e)+1,day:qt(i),hour:qt(n),minute:qt(r)};return o&&(a.second=qt(o)),s&&(a.weekday=s.length>3?Gr.indexOf(s)+1:Xr.indexOf(s)+1),a}var ym=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function bm(s){let[,t,e,i,n,r,o,a,l,c,h,u]=s,d=Qr(t,n,i,e,r,o,a),f;return l?f=pm[l]:c?f=0:f=Se(h,u),[d,new G(f)]}function xm(s){return s.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var _m=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,wm=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Sm=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function Hl(s){let[,t,e,i,n,r,o,a]=s;return[Qr(t,n,i,e,r,o,a),G.utcInstance]}function km(s){let[,t,e,i,n,r,o,a]=s;return[Qr(t,a,e,i,n,r,o),G.utcInstance]}var Mm=as(rm,Jr),Tm=as(om,Jr),vm=as(am,Jr),Om=as(Ul),Zl=ls(dm,hs,ui,di),Dm=ls(lm,hs,ui,di),Em=ls(cm,hs,ui,di),Im=ls(hs,ui,di);function ql(s){return cs(s,[Mm,Zl],[Tm,Dm],[vm,Em],[Om,Im])}function Gl(s){return cs(xm(s),[ym,bm])}function Xl(s){return cs(s,[_m,Hl],[wm,Hl],[Sm,km])}function Kl(s){return cs(s,[mm,gm])}var Cm=ls(hs);function Jl(s){return cs(s,[fm,Cm])}var Fm=as(hm,um),Am=as(Yl),Lm=ls(hs,ui,di);function Ql(s){return cs(s,[Fm,Zl],[Am,Lm])}var tc="Invalid Duration",sc={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},Pm={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...sc},kt=146097/400,us=146097/4800,Nm={years:{quarters:4,months:12,weeks:kt/7,days:kt,hours:kt*24,minutes:kt*24*60,seconds:kt*24*60*60,milliseconds:kt*24*60*60*1e3},quarters:{months:3,weeks:kt/28,days:kt/4,hours:kt*24/4,minutes:kt*24*60/4,seconds:kt*24*60*60/4,milliseconds:kt*24*60*60*1e3/4},months:{weeks:us/7,days:us,hours:us*24,minutes:us*24*60,seconds:us*24*60*60,milliseconds:us*24*60*60*1e3},...sc},Te=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Rm=Te.slice(0).reverse();function de(s,t,e=!1){let i={values:e?t.values:{...s.values,...t.values||{}},loc:s.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||s.conversionAccuracy,matrix:t.matrix||s.matrix};return new C(i)}function ic(s,t){let e=t.milliseconds??0;for(let i of Rm.slice(1))t[i]&&(e+=t[i]*s[i].milliseconds);return e}function ec(s,t){let e=ic(s,t)<0?-1:1;Te.reduceRight((i,n)=>{if(D(t[n]))return i;if(i){let r=t[i]*e,o=s[n][i],a=Math.floor(r/o);t[n]+=a*e,t[i]-=a*o*e}return n},null),Te.reduce((i,n)=>{if(D(t[n]))return i;if(i){let r=t[i]%1;t[i]-=r,t[n]+=r*s[i][n]}return n},null)}function Wm(s){let t={};for(let[e,i]of Object.entries(s))i!==0&&(t[e]=i);return t}var C=class{constructor(t){let e=t.conversionAccuracy==="longterm"||!1,i=e?Nm:Pm;t.matrix&&(i=t.matrix),this.values=t.values,this.loc=t.loc||N.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=i,this.isLuxonDuration=!0}static fromMillis(t,e){return C.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(t==null||typeof t!="object")throw new st(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new C({values:rs(t,C.normalizeUnit),loc:N.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(zt(t))return C.fromMillis(t);if(C.isDuration(t))return t;if(typeof t=="object")return C.fromObject(t);throw new st(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){let[i]=Kl(t);return i?C.fromObject(i,e):C.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){let[i]=Jl(t);return i?C.fromObject(i,e):C.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new st("need to specify a reason the Duration is invalid");let i=t instanceof rt?t:new rt(t,e);if(z.throwOnInvalid)throw new Ki(i);return new C({invalid:i})}static normalizeUnit(t){let e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!e)throw new ts(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){let i={...e,floor:e.round!==!1&&e.floor!==!1};return this.isValid?X.create(this.loc,i).formatDurationFromString(this,t):tc}toHuman(t={}){if(!this.isValid)return tc;let e=Te.map(i=>{let n=this.values[i];return D(n)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:i.slice(0,-1)}).format(n)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(e)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=ss(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;let e=this.toMillis();return e<0||e>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},v.fromMillis(e,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?ic(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;let e=C.fromDurationLike(t),i={};for(let n of Te)(he(e.values,n)||he(this.values,n))&&(i[n]=e.get(n)+this.get(n));return de(this,{values:i},!0)}minus(t){if(!this.isValid)return this;let e=C.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;let e={};for(let i of Object.keys(this.values))e[i]=Zr(t(this.values[i],i));return de(this,{values:e},!0)}get(t){return this[C.normalizeUnit(t)]}set(t){if(!this.isValid)return this;let e={...this.values,...rs(t,C.normalizeUnit)};return de(this,{values:e})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:i,matrix:n}={}){let o={loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:n,conversionAccuracy:i};return de(this,o)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;let t=this.toObject();return ec(this.matrix,t),de(this,{values:t},!0)}rescale(){if(!this.isValid)return this;let t=Wm(this.normalize().shiftToAll().toObject());return de(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(o=>C.normalizeUnit(o));let e={},i={},n=this.toObject(),r;for(let o of Te)if(t.indexOf(o)>=0){r=o;let a=0;for(let c in i)a+=this.matrix[c][o]*i[c],i[c]=0;zt(n[o])&&(a+=n[o]);let l=Math.trunc(a);e[o]=l,i[o]=(a*1e3-l*1e3)/1e3}else zt(n[o])&&(i[o]=n[o]);for(let o in i)i[o]!==0&&(e[r]+=o===r?i[o]:i[o]/this.matrix[r][o]);return ec(this.matrix,e),de(this,{values:e},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let t={};for(let e of Object.keys(this.values))t[e]=this.values[e]===0?0:-this.values[e];return de(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function e(i,n){return i===void 0||i===0?n===void 0||n===0:i===n}for(let i of Te)if(!e(this.values[i],t.values[i]))return!1;return!0}};var ds="Invalid Interval";function zm(s,t){return!s||!s.isValid?U.invalid("missing or invalid start"):!t||!t.isValid?U.invalid("missing or invalid end"):tt:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:e}={}){return this.isValid?U.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];let e=t.map(fs).filter(o=>this.contains(o)).sort((o,a)=>o.toMillis()-a.toMillis()),i=[],{s:n}=this,r=0;for(;n+this.e?this.e:o;i.push(U.fromDateTimes(n,a)),n=a,r+=1}return i}splitBy(t){let e=C.fromDurationLike(t);if(!this.isValid||!e.isValid||e.as("milliseconds")===0)return[];let{s:i}=this,n=1,r,o=[];for(;il*n));r=+a>+this.e?this.e:a,o.push(U.fromDateTimes(i,r)),i=r,n+=1}return o}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;let e=this.s>t.s?this.s:t.s,i=this.e=i?null:U.fromDateTimes(e,i)}union(t){if(!this.isValid)return this;let e=this.st.e?this.e:t.e;return U.fromDateTimes(e,i)}static merge(t){let[e,i]=t.sort((n,r)=>n.s-r.s).reduce(([n,r],o)=>r?r.overlaps(o)||r.abutsStart(o)?[n,r.union(o)]:[n.concat([r]),o]:[n,o],[[],null]);return i&&e.push(i),e}static xor(t){let e=null,i=0,n=[],r=t.map(l=>[{time:l.s,type:"s"},{time:l.e,type:"e"}]),o=Array.prototype.concat(...r),a=o.sort((l,c)=>l.time-c.time);for(let l of a)i+=l.type==="s"?1:-1,i===1?e=l.time:(e&&+e!=+l.time&&n.push(U.fromDateTimes(e,l.time)),e=null);return U.merge(n)}difference(...t){return U.xor([this].concat(t)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:ds}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=ae,e={}){return this.isValid?X.create(this.s.loc.clone(e),t).formatInterval(this):ds}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:ds}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:ds}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:ds}toFormat(t,{separator:e=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:ds}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):C.invalid(this.invalidReason)}mapEndpoints(t){return U.fromDateTimes(t(this.s),t(this.e))}};var Gt=class{static hasDST(t=z.defaultZone){let e=v.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return nt.isValidZone(t)}static normalizeZone(t){return Et(t,z.defaultZone)}static getStartOfWeek({locale:t=null,locObj:e=null}={}){return(e||N.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:e=null}={}){return(e||N.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:e=null}={}){return(e||N.create(t)).getWeekendDays().slice()}static months(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:r="gregory"}={}){return(n||N.create(e,i,r)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:r="gregory"}={}){return(n||N.create(e,i,r)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||N.create(e,i,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||N.create(e,i,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return N.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return N.create(e,null,"gregory").eras(t)}static features(){return{relative:nn(),localeWeek:rn()}}};function nc(s,t){let e=n=>n.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),i=e(t)-e(s);return Math.floor(C.fromMillis(i).as("days"))}function Vm(s,t,e){let i=[["years",(l,c)=>c.year-l.year],["quarters",(l,c)=>c.quarter-l.quarter+(c.year-l.year)*4],["months",(l,c)=>c.month-l.month+(c.year-l.year)*12],["weeks",(l,c)=>{let h=nc(l,c);return(h-h%7)/7}],["days",nc]],n={},r=s,o,a;for(let[l,c]of i)e.indexOf(l)>=0&&(o=l,n[l]=c(s,t),a=r.plus(n),a>t?(n[l]--,s=r.plus(n),s>t&&(a=s,n[l]--,s=r.plus(n))):s=a);return[s,n,a,o]}function rc(s,t,e,i){let[n,r,o,a]=Vm(s,t,e),l=t-n,c=e.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);c.length===0&&(o0?C.fromMillis(l,i).shiftTo(...c).plus(h):h}var to={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},oc={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},Hm=to.hanidec.replace(/[\[|\]]/g,"").split("");function ac(s){let t=parseInt(s,10);if(isNaN(t)){t="";for(let e=0;e=r&&i<=o&&(t+=i-r)}}return parseInt(t,10)}else return t}function Mt({numberingSystem:s},t=""){return new RegExp(`${to[s||"latn"]}${t}`)}var Bm="missing Intl.DateTimeFormat.formatToParts support";function V(s,t=e=>e){return{regex:s,deser:([e])=>t(ac(e))}}var $m=String.fromCharCode(160),hc=`[ ${$m}]`,uc=new RegExp(hc,"g");function jm(s){return s.replace(/\./g,"\\.?").replace(uc,hc)}function lc(s){return s.replace(/\./g,"").replace(uc," ").toLowerCase()}function It(s,t){return s===null?null:{regex:RegExp(s.map(jm).join("|")),deser:([e])=>s.findIndex(i=>lc(e)===lc(i))+t}}function cc(s,t){return{regex:s,deser:([,e,i])=>Se(e,i),groups:t}}function cn(s){return{regex:s,deser:([t])=>t}}function Um(s){return s.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Ym(s,t){let e=Mt(t),i=Mt(t,"{2}"),n=Mt(t,"{3}"),r=Mt(t,"{4}"),o=Mt(t,"{6}"),a=Mt(t,"{1,2}"),l=Mt(t,"{1,3}"),c=Mt(t,"{1,6}"),h=Mt(t,"{1,9}"),u=Mt(t,"{2,4}"),d=Mt(t,"{4,6}"),f=p=>({regex:RegExp(Um(p.val)),deser:([y])=>y,literal:!0}),g=(p=>{if(s.literal)return f(p);switch(p.val){case"G":return It(t.eras("short"),0);case"GG":return It(t.eras("long"),0);case"y":return V(c);case"yy":return V(u,hi);case"yyyy":return V(r);case"yyyyy":return V(d);case"yyyyyy":return V(o);case"M":return V(a);case"MM":return V(i);case"MMM":return It(t.months("short",!0),1);case"MMMM":return It(t.months("long",!0),1);case"L":return V(a);case"LL":return V(i);case"LLL":return It(t.months("short",!1),1);case"LLLL":return It(t.months("long",!1),1);case"d":return V(a);case"dd":return V(i);case"o":return V(l);case"ooo":return V(n);case"HH":return V(i);case"H":return V(a);case"hh":return V(i);case"h":return V(a);case"mm":return V(i);case"m":return V(a);case"q":return V(a);case"qq":return V(i);case"s":return V(a);case"ss":return V(i);case"S":return V(l);case"SSS":return V(n);case"u":return cn(h);case"uu":return cn(a);case"uuu":return V(e);case"a":return It(t.meridiems(),0);case"kkkk":return V(r);case"kk":return V(u,hi);case"W":return V(a);case"WW":return V(i);case"E":case"c":return V(e);case"EEE":return It(t.weekdays("short",!1),1);case"EEEE":return It(t.weekdays("long",!1),1);case"ccc":return It(t.weekdays("short",!0),1);case"cccc":return It(t.weekdays("long",!0),1);case"Z":case"ZZ":return cc(new RegExp(`([+-]${a.source})(?::(${i.source}))?`),2);case"ZZZ":return cc(new RegExp(`([+-]${a.source})(${i.source})?`),2);case"z":return cn(/[a-z_+-/]{1,256}?/i);case" ":return cn(/[^\S\n\r]/);default:return f(p)}})(s)||{invalidReason:Bm};return g.token=s,g}var Zm={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function qm(s,t,e){let{type:i,value:n}=s;if(i==="literal"){let l=/^\s+$/.test(n);return{literal:!l,val:l?" ":n}}let r=t[i],o=i;i==="hour"&&(t.hour12!=null?o=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?o="hour12":o="hour24":o=e.hour12?"hour12":"hour24");let a=Zm[o];if(typeof a=="object"&&(a=a[r]),a)return{literal:!1,val:a}}function Gm(s){return[`^${s.map(e=>e.regex).reduce((e,i)=>`${e}(${i.source})`,"")}$`,s]}function Xm(s,t,e){let i=s.match(t);if(i){let n={},r=1;for(let o in e)if(he(e,o)){let a=e[o],l=a.groups?a.groups+1:1;!a.literal&&a.token&&(n[a.token.val[0]]=a.deser(i.slice(r,r+l))),r+=l}return[i,n]}else return[i,{}]}function Km(s){let t=r=>{switch(r){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},e=null,i;return D(s.z)||(e=nt.create(s.z)),D(s.Z)||(e||(e=new G(s.Z)),i=s.Z),D(s.q)||(s.M=(s.q-1)*3+1),D(s.h)||(s.h<12&&s.a===1?s.h+=12:s.h===12&&s.a===0&&(s.h=0)),s.G===0&&s.y&&(s.y=-s.y),D(s.u)||(s.S=ci(s.u)),[Object.keys(s).reduce((r,o)=>{let a=t(o);return a&&(r[a]=s[o]),r},{}),e,i]}var eo=null;function Jm(){return eo||(eo=v.fromMillis(1555555555555)),eo}function Qm(s,t){if(s.literal)return s;let e=X.macroTokenToFormatOpts(s.val),i=no(e,t);return i==null||i.includes(void 0)?s:i}function so(s,t){return Array.prototype.concat(...s.map(e=>Qm(e,t)))}function io(s,t,e){let i=so(X.parseFormat(e),s),n=i.map(o=>Ym(o,s)),r=n.find(o=>o.invalidReason);if(r)return{input:t,tokens:i,invalidReason:r.invalidReason};{let[o,a]=Gm(n),l=RegExp(o,"i"),[c,h]=Xm(t,l,a),[u,d,f]=h?Km(h):[null,null,void 0];if(he(h,"a")&&he(h,"H"))throw new vt("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:i,regex:l,rawMatches:c,matches:h,result:u,zone:d,specificOffset:f}}}function dc(s,t,e){let{result:i,zone:n,specificOffset:r,invalidReason:o}=io(s,t,e);return[i,n,r,o]}function no(s,t){if(!s)return null;let i=X.create(t,s).dtFormatter(Jm()),n=i.formatToParts(),r=i.resolvedOptions();return n.map(o=>qm(o,s,r))}var ro="Invalid DateTime",fc=864e13;function hn(s){return new rt("unsupported zone",`the zone "${s.name}" is not supported`)}function oo(s){return s.weekData===null&&(s.weekData=oi(s.c)),s.weekData}function ao(s){return s.localWeekData===null&&(s.localWeekData=oi(s.c,s.loc.getMinDaysInFirstWeek(),s.loc.getStartOfWeek())),s.localWeekData}function ve(s,t){let e={ts:s.ts,zone:s.zone,c:s.c,o:s.o,loc:s.loc,invalid:s.invalid};return new v({...e,...t,old:e})}function _c(s,t,e){let i=s-t*60*1e3,n=e.offset(i);if(t===n)return[i,t];i-=(n-t)*60*1e3;let r=e.offset(i);return n===r?[i,n]:[s-Math.min(n,r)*60*1e3,Math.max(n,r)]}function un(s,t){s+=t*60*1e3;let e=new Date(s);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),millisecond:e.getUTCMilliseconds()}}function fn(s,t,e){return _c(es(s),t,e)}function mc(s,t){let e=s.o,i=s.c.year+Math.trunc(t.years),n=s.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,r={...s.c,year:i,month:n,day:Math.min(s.c.day,ns(i,n))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},o=C.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),a=es(r),[l,c]=_c(a,e,s.zone);return o!==0&&(l+=o,c=s.zone.offset(l)),{ts:l,o:c}}function fi(s,t,e,i,n,r){let{setZone:o,zone:a}=e;if(s&&Object.keys(s).length!==0||t){let l=t||a,c=v.fromObject(s,{...e,zone:l,specificOffset:r});return o?c:c.setZone(a)}else return v.invalid(new rt("unparsable",`the input "${n}" can't be parsed as ${i}`))}function dn(s,t,e=!0){return s.isValid?X.create(N.create("en-US"),{allowZ:e,forceSimple:!0}).formatDateTimeFromString(s,t):null}function lo(s,t){let e=s.c.year>9999||s.c.year<0,i="";return e&&s.c.year>=0&&(i+="+"),i+=q(s.c.year,e?6:4),t?(i+="-",i+=q(s.c.month),i+="-",i+=q(s.c.day)):(i+=q(s.c.month),i+=q(s.c.day)),i}function gc(s,t,e,i,n,r){let o=q(s.c.hour);return t?(o+=":",o+=q(s.c.minute),(s.c.millisecond!==0||s.c.second!==0||!e)&&(o+=":")):o+=q(s.c.minute),(s.c.millisecond!==0||s.c.second!==0||!e)&&(o+=q(s.c.second),(s.c.millisecond!==0||!i)&&(o+=".",o+=q(s.c.millisecond,3))),n&&(s.isOffsetFixed&&s.offset===0&&!r?o+="Z":s.o<0?(o+="-",o+=q(Math.trunc(-s.o/60)),o+=":",o+=q(Math.trunc(-s.o%60))):(o+="+",o+=q(Math.trunc(s.o/60)),o+=":",o+=q(Math.trunc(s.o%60)))),r&&(o+="["+s.zone.ianaName+"]"),o}var wc={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},tg={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},eg={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Sc=["year","month","day","hour","minute","second","millisecond"],sg=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],ig=["year","ordinal","hour","minute","second","millisecond"];function ng(s){let t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[s.toLowerCase()];if(!t)throw new ts(s);return t}function pc(s){switch(s.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return ng(s)}}function yc(s,t){let e=Et(t.zone,z.defaultZone),i=N.fromObject(t),n=z.now(),r,o;if(D(s.year))r=n;else{for(let c of Sc)D(s[c])&&(s[c]=wc[c]);let a=jr(s)||Ur(s);if(a)return v.invalid(a);let l=e.offset(n);[r,o]=fn(s,l,e)}return new v({ts:r,zone:e,loc:i,o})}function bc(s,t,e){let i=D(e.round)?!0:e.round,n=(o,a)=>(o=ss(o,i||e.calendary?0:2,!0),t.loc.clone(e).relFormatter(e).format(o,a)),r=o=>e.calendary?t.hasSame(s,o)?0:t.startOf(o).diff(s.startOf(o),o).get(o):t.diff(s,o).get(o);if(e.unit)return n(r(e.unit),e.unit);for(let o of e.units){let a=r(o);if(Math.abs(a)>=1)return n(a,o)}return n(s>t?-0:0,e.units[e.units.length-1])}function xc(s){let t={},e;return s.length>0&&typeof s[s.length-1]=="object"?(t=s[s.length-1],e=Array.from(s).slice(0,s.length-1)):e=Array.from(s),[t,e]}var v=class{constructor(t){let e=t.zone||z.defaultZone,i=t.invalid||(Number.isNaN(t.ts)?new rt("invalid input"):null)||(e.isValid?null:hn(e));this.ts=D(t.ts)?z.now():t.ts;let n=null,r=null;if(!i)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[n,r]=[t.old.c,t.old.o];else{let a=e.offset(this.ts);n=un(this.ts,a),i=Number.isNaN(n.year)?new rt("invalid input"):null,n=i?null:n,r=i?null:a}this._zone=e,this.loc=t.loc||N.create(),this.invalid=i,this.weekData=null,this.localWeekData=null,this.c=n,this.o=r,this.isLuxonDateTime=!0}static now(){return new v({})}static local(){let[t,e]=xc(arguments),[i,n,r,o,a,l,c]=e;return yc({year:i,month:n,day:r,hour:o,minute:a,second:l,millisecond:c},t)}static utc(){let[t,e]=xc(arguments),[i,n,r,o,a,l,c]=e;return t.zone=G.utcInstance,yc({year:i,month:n,day:r,hour:o,minute:a,second:l,millisecond:c},t)}static fromJSDate(t,e={}){let i=Al(t)?t.valueOf():NaN;if(Number.isNaN(i))return v.invalid("invalid input");let n=Et(e.zone,z.defaultZone);return n.isValid?new v({ts:i,zone:n,loc:N.fromObject(e)}):v.invalid(hn(n))}static fromMillis(t,e={}){if(zt(t))return t<-fc||t>fc?v.invalid("Timestamp out of range"):new v({ts:t,zone:Et(e.zone,z.defaultZone),loc:N.fromObject(e)});throw new st(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(zt(t))return new v({ts:t*1e3,zone:Et(e.zone,z.defaultZone),loc:N.fromObject(e)});throw new st("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};let i=Et(e.zone,z.defaultZone);if(!i.isValid)return v.invalid(hn(i));let n=N.fromObject(e),r=rs(t,pc),{minDaysInFirstWeek:o,startOfWeek:a}=$r(r,n),l=z.now(),c=D(e.specificOffset)?i.offset(l):e.specificOffset,h=!D(r.ordinal),u=!D(r.year),d=!D(r.month)||!D(r.day),f=u||d,m=r.weekYear||r.weekNumber;if((f||h)&&m)throw new vt("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&h)throw new vt("Can't mix ordinal dates with month/day");let g=m||r.weekday&&!f,p,y,b=un(l,c);g?(p=sg,y=tg,b=oi(b,o,a)):h?(p=ig,y=eg,b=ln(b)):(p=Sc,y=wc);let _=!1;for(let F of p){let W=r[F];D(W)?_?r[F]=y[F]:r[F]=b[F]:_=!0}let w=g?Il(r,o,a):h?Cl(r):jr(r),x=w||Ur(r);if(x)return v.invalid(x);let S=g?Hr(r,o,a):h?Br(r):r,[k,O]=fn(S,c,i),T=new v({ts:k,zone:i,o:O,loc:n});return r.weekday&&f&&t.weekday!==T.weekday?v.invalid("mismatched weekday",`you can't specify both a weekday of ${r.weekday} and a date of ${T.toISO()}`):T}static fromISO(t,e={}){let[i,n]=ql(t);return fi(i,n,e,"ISO 8601",t)}static fromRFC2822(t,e={}){let[i,n]=Gl(t);return fi(i,n,e,"RFC 2822",t)}static fromHTTP(t,e={}){let[i,n]=Xl(t);return fi(i,n,e,"HTTP",e)}static fromFormat(t,e,i={}){if(D(t)||D(e))throw new st("fromFormat requires an input string and a format");let{locale:n=null,numberingSystem:r=null}=i,o=N.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0}),[a,l,c,h]=dc(o,t,e);return h?v.invalid(h):fi(a,l,i,`format ${e}`,t,c)}static fromString(t,e,i={}){return v.fromFormat(t,e,i)}static fromSQL(t,e={}){let[i,n]=Ql(t);return fi(i,n,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new st("need to specify a reason the DateTime is invalid");let i=t instanceof rt?t:new rt(t,e);if(z.throwOnInvalid)throw new Gi(i);return new v({invalid:i})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){let i=no(t,N.fromObject(e));return i?i.map(n=>n?n.val:null).join(""):null}static expandFormat(t,e={}){return so(X.parseFormat(t),N.fromObject(e)).map(n=>n.val).join("")}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?oo(this).weekYear:NaN}get weekNumber(){return this.isValid?oo(this).weekNumber:NaN}get weekday(){return this.isValid?oo(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?ao(this).weekday:NaN}get localWeekNumber(){return this.isValid?ao(this).weekNumber:NaN}get localWeekYear(){return this.isValid?ao(this).weekYear:NaN}get ordinal(){return this.isValid?ln(this.c).ordinal:NaN}get monthShort(){return this.isValid?Gt.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Gt.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Gt.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Gt.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let t=864e5,e=6e4,i=es(this.c),n=this.zone.offset(i-t),r=this.zone.offset(i+t),o=this.zone.offset(i-n*e),a=this.zone.offset(i-r*e);if(o===a)return[this];let l=i-o*e,c=i-a*e,h=un(l,o),u=un(c,a);return h.hour===u.hour&&h.minute===u.minute&&h.second===u.second&&h.millisecond===u.millisecond?[ve(this,{ts:l}),ve(this,{ts:c})]:[this]}get isInLeapYear(){return Me(this.year)}get daysInMonth(){return ns(this.year,this.month)}get daysInYear(){return this.isValid?ce(this.year):NaN}get weeksInWeekYear(){return this.isValid?ke(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ke(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){let{locale:e,numberingSystem:i,calendar:n}=X.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:i,outputCalendar:n}}toUTC(t=0,e={}){return this.setZone(G.instance(t),e)}toLocal(){return this.setZone(z.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:i=!1}={}){if(t=Et(t,z.defaultZone),t.equals(this.zone))return this;if(t.isValid){let n=this.ts;if(e||i){let r=t.offset(this.ts),o=this.toObject();[n]=fn(o,r,t)}return ve(this,{ts:n,zone:t})}else return v.invalid(hn(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:i}={}){let n=this.loc.clone({locale:t,numberingSystem:e,outputCalendar:i});return ve(this,{loc:n})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;let e=rs(t,pc),{minDaysInFirstWeek:i,startOfWeek:n}=$r(e,this.loc),r=!D(e.weekYear)||!D(e.weekNumber)||!D(e.weekday),o=!D(e.ordinal),a=!D(e.year),l=!D(e.month)||!D(e.day),c=a||l,h=e.weekYear||e.weekNumber;if((c||o)&&h)throw new vt("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&o)throw new vt("Can't mix ordinal dates with month/day");let u;r?u=Hr({...oi(this.c,i,n),...e},i,n):D(e.ordinal)?(u={...this.toObject(),...e},D(e.day)&&(u.day=Math.min(ns(u.year,u.month),u.day))):u=Br({...ln(this.c),...e});let[d,f]=fn(u,this.o,this.zone);return ve(this,{ts:d,o:f})}plus(t){if(!this.isValid)return this;let e=C.fromDurationLike(t);return ve(this,mc(this,e))}minus(t){if(!this.isValid)return this;let e=C.fromDurationLike(t).negate();return ve(this,mc(this,e))}startOf(t,{useLocaleWeeks:e=!1}={}){if(!this.isValid)return this;let i={},n=C.normalizeUnit(t);switch(n){case"years":i.month=1;case"quarters":case"months":i.day=1;case"weeks":case"days":i.hour=0;case"hours":i.minute=0;case"minutes":i.second=0;case"seconds":i.millisecond=0;break;case"milliseconds":break}if(n==="weeks")if(e){let r=this.loc.getStartOfWeek(),{weekday:o}=this;othis.valueOf(),a=o?this:t,l=o?t:this,c=rc(a,l,r,n);return o?c.negate():c}diffNow(t="milliseconds",e={}){return this.diff(v.now(),t,e)}until(t){return this.isValid?U.fromDateTimes(this,t):this}hasSame(t,e,i){if(!this.isValid)return!1;let n=t.valueOf(),r=this.setZone(t.zone,{keepLocalTime:!0});return r.startOf(e,i)<=n&&n<=r.endOf(e,i)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;let e=t.base||v.fromObject({},{zone:this.zone}),i=t.padding?thise.valueOf(),Math.min)}static max(...t){if(!t.every(v.isDateTime))throw new st("max requires all arguments be DateTimes");return Yr(t,e=>e.valueOf(),Math.max)}static fromFormatExplain(t,e,i={}){let{locale:n=null,numberingSystem:r=null}=i,o=N.fromOpts({locale:n,numberingSystem:r,defaultToEN:!0});return io(o,t,e)}static fromStringExplain(t,e,i={}){return v.fromFormatExplain(t,e,i)}static get DATE_SHORT(){return ae}static get DATE_MED(){return zs}static get DATE_MED_WITH_WEEKDAY(){return Tr}static get DATE_FULL(){return Vs}static get DATE_HUGE(){return Hs}static get TIME_SIMPLE(){return Bs}static get TIME_WITH_SECONDS(){return $s}static get TIME_WITH_SHORT_OFFSET(){return js}static get TIME_WITH_LONG_OFFSET(){return Us}static get TIME_24_SIMPLE(){return Ys}static get TIME_24_WITH_SECONDS(){return Zs}static get TIME_24_WITH_SHORT_OFFSET(){return qs}static get TIME_24_WITH_LONG_OFFSET(){return Gs}static get DATETIME_SHORT(){return Xs}static get DATETIME_SHORT_WITH_SECONDS(){return Ks}static get DATETIME_MED(){return Js}static get DATETIME_MED_WITH_SECONDS(){return Qs}static get DATETIME_MED_WITH_WEEKDAY(){return vr}static get DATETIME_FULL(){return ti}static get DATETIME_FULL_WITH_SECONDS(){return ei}static get DATETIME_HUGE(){return si}static get DATETIME_HUGE_WITH_SECONDS(){return ii}};function fs(s){if(v.isDateTime(s))return s;if(s&&s.valueOf&&zt(s.valueOf()))return v.fromJSDate(s);if(s&&typeof s=="object")return v.fromObject(s);throw new st(`Unknown datetime argument: ${s}, of type ${typeof s}`)}var rg={datetime:v.DATETIME_MED_WITH_SECONDS,millisecond:"h:mm:ss.SSS a",second:v.TIME_WITH_SECONDS,minute:v.TIME_SIMPLE,hour:{hour:"numeric"},day:{day:"numeric",month:"short"},week:"DD",month:{month:"short",year:"numeric"},quarter:"'Q'q - yyyy",year:{year:"numeric"}};kr._date.override({_id:"luxon",_create:function(s){return v.fromMillis(s,this.options)},init(s){this.options.locale||(this.options.locale=s.locale)},formats:function(){return rg},parse:function(s,t){let e=this.options,i=typeof s;return s===null||i==="undefined"?null:(i==="number"?s=this._create(s):i==="string"?typeof t=="string"?s=v.fromFormat(s,t,e):s=v.fromISO(s,e):s instanceof Date?s=v.fromJSDate(s,e):i==="object"&&!(s instanceof v)&&(s=v.fromObject(s,e)),s.isValid?s.valueOf():null)},format:function(s,t){let e=this._create(s);return typeof t=="string"?e.toFormat(t):e.toLocaleString(t)},add:function(s,t,e){let i={};return i[e]=t,this._create(s).plus(i).valueOf()},diff:function(s,t,e){return this._create(s).diff(this._create(t)).as(e).valueOf()},startOf:function(s,t,e){if(t==="isoWeek"){e=Math.trunc(Math.min(Math.max(0,e),6));let i=this._create(s);return i.minus({days:(i.weekday-e+7)%7}).startOf("day").valueOf()}return t?this._create(s).startOf(t).valueOf():s},endOf:function(s,t){return this._create(s).endOf(t).valueOf()}});function mn({cachedData:s,options:t,type:e}){return{init:function(){this.initChart(),this.$wire.$on("updateChartData",({data:i})=>{mn=this.getChart(),mn.data=i,mn.update("resize")}),Alpine.effect(()=>{Alpine.store("theme"),this.$nextTick(()=>{this.getChart()&&(this.getChart().destroy(),this.initChart())})}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Alpine.store("theme")==="system"&&this.$nextTick(()=>{this.getChart().destroy(),this.initChart()})})},initChart:function(i=null){var o,a,l,c,h,u,d;Rt.defaults.animation.duration=0,Rt.defaults.backgroundColor=getComputedStyle(this.$refs.backgroundColorElement).color;let n=getComputedStyle(this.$refs.borderColorElement).color;Rt.defaults.borderColor=n,Rt.defaults.color=getComputedStyle(this.$refs.textColorElement).color,Rt.defaults.font.family=getComputedStyle(this.$el).fontFamily,Rt.defaults.plugins.legend.labels.boxWidth=12,Rt.defaults.plugins.legend.position="bottom";let r=getComputedStyle(this.$refs.gridColorElement).color;return t??(t={}),t.borderWidth??(t.borderWidth=2),t.pointBackgroundColor??(t.pointBackgroundColor=n),t.pointHitRadius??(t.pointHitRadius=4),t.pointRadius??(t.pointRadius=2),t.scales??(t.scales={}),(o=t.scales).x??(o.x={}),(a=t.scales.x).grid??(a.grid={}),t.scales.x.grid.color=r,(l=t.scales.x.grid).display??(l.display=!1),(c=t.scales.x.grid).drawBorder??(c.drawBorder=!1),(h=t.scales).y??(h.y={}),(u=t.scales.y).grid??(u.grid={}),t.scales.y.grid.color=r,(d=t.scales.y.grid).drawBorder??(d.drawBorder=!1),new Rt(this.$refs.canvas,{type:e,data:i??s,options:t})},getChart:function(){return Rt.getChart(this.$refs.canvas)}}}export{mn as default}; +`):s}function Tf(s,t){let{element:e,datasetIndex:i,index:n}=t,o=s.getDatasetMeta(i).controller,{label:r,value:a}=o.getLabelAndValue(n);return{chart:s,label:r,parsed:o.getParsed(n),raw:s.data.datasets[i].data[n],formattedValue:a,dataset:o.getDataset(),dataIndex:n,datasetIndex:i,element:e}}function ga(s,t){let e=s.chart.ctx,{body:i,footer:n,title:o}=s,{boxWidth:r,boxHeight:a}=t,l=X(t.bodyFont),c=X(t.titleFont),h=X(t.footerFont),u=o.length,d=n.length,f=i.length,g=nt(t.padding),m=g.height,p=0,b=i.reduce((w,x)=>w+x.before.length+x.lines.length+x.after.length,0);if(b+=s.beforeBody.length+s.afterBody.length,u&&(m+=u*c.lineHeight+(u-1)*t.titleSpacing+t.titleMarginBottom),b){let w=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;m+=f*w+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}d&&(m+=t.footerMarginTop+d*h.lineHeight+(d-1)*t.footerSpacing);let y=0,_=function(w){p=Math.max(p,e.measureText(w).width+y)};return e.save(),e.font=c.string,z(s.title,_),e.font=l.string,z(s.beforeBody.concat(s.afterBody),_),y=t.displayColors?r+2+t.boxPadding:0,z(i,w=>{z(w.before,_),z(w.lines,_),z(w.after,_)}),y=0,e.font=h.string,z(s.footer,_),e.restore(),p+=g.width,{width:p,height:m}}function Df(s,t){let{y:e,height:i}=t;return es.height-i/2?"bottom":"center"}function Cf(s,t,e,i){let{x:n,width:o}=i,r=e.caretSize+e.caretPadding;if(s==="left"&&n+o+r>t.width||s==="right"&&n-o-r<0)return!0}function Pf(s,t,e,i){let{x:n,width:o}=e,{width:r,chartArea:{left:a,right:l}}=s,c="center";return i==="center"?c=n<=(a+l)/2?"left":"right":n<=o/2?c="left":n>=r-o/2&&(c="right"),Cf(c,s,t,e)&&(c="center"),c}function ma(s,t,e){let i=e.yAlign||t.yAlign||Df(s,e);return{xAlign:e.xAlign||t.xAlign||Pf(s,t,e,i),yAlign:i}}function Af(s,t){let{x:e,width:i}=s;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function If(s,t,e){let{y:i,height:n}=s;return t==="top"?i+=e:t==="bottom"?i-=n+e:i-=n/2,i}function pa(s,t,e,i){let{caretSize:n,caretPadding:o,cornerRadius:r}=s,{xAlign:a,yAlign:l}=e,c=n+o,{topLeft:h,topRight:u,bottomLeft:d,bottomRight:f}=te(r),g=Af(t,a),m=If(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(h,d)+n:a==="right"&&(g+=Math.max(u,f)+n),{x:K(g,0,i.width-t.width),y:K(m,0,i.height-t.height)}}function pi(s,t,e){let i=nt(e.padding);return t==="center"?s.x+s.width/2:t==="right"?s.x+s.width-i.right:s.x+i.left}function ba(s){return Et([],$t(s))}function Ef(s,t,e){return Bt(s,{tooltip:t,tooltipItems:e,type:"tooltip"})}function ya(s,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?s.override(e):s}var Za={beforeTitle:At,title(s){if(s.length>0){let t=s[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?Za[t].call(e,i):n}var Ps=class extends dt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,i=this.options.setContext(this.getContext()),n=i.enabled&&e.options.animation&&i.animations,o=new _i(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=Ef(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:i}=e,n=lt(i,"beforeTitle",this,t),o=lt(i,"title",this,t),r=lt(i,"afterTitle",this,t),a=[];return a=Et(a,$t(n)),a=Et(a,$t(o)),a=Et(a,$t(r)),a}getBeforeBody(t,e){return ba(lt(e.callbacks,"beforeBody",this,t))}getBody(t,e){let{callbacks:i}=e,n=[];return z(t,o=>{let r={before:[],lines:[],after:[]},a=ya(i,o);Et(r.before,$t(lt(a,"beforeLabel",this,o))),Et(r.lines,lt(a,"label",this,o)),Et(r.after,$t(lt(a,"afterLabel",this,o))),n.push(r)}),n}getAfterBody(t,e){return ba(lt(e.callbacks,"afterBody",this,t))}getFooter(t,e){let{callbacks:i}=e,n=lt(i,"beforeFooter",this,t),o=lt(i,"footer",this,t),r=lt(i,"afterFooter",this,t),a=[];return a=Et(a,$t(n)),a=Et(a,$t(o)),a=Et(a,$t(r)),a}_createItems(t){let e=this._active,i=this.chart.data,n=[],o=[],r=[],a=[],l,c;for(l=0,c=e.length;lt.filter(h,u,d,i))),t.itemSort&&(a=a.sort((h,u)=>t.itemSort(h,u,i))),z(a,h=>{let u=ya(t.callbacks,h);n.push(lt(u,"labelColor",this,h)),o.push(lt(u,"labelPointStyle",this,h)),r.push(lt(u,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,e){let i=this.options.setContext(this.getContext()),n=this._active,o,r=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{let a=Ms[i.position].call(this,n,this._eventPosition);r=this._createItems(i),this.title=this.getTitle(r,i),this.beforeBody=this.getBeforeBody(r,i),this.body=this.getBody(r,i),this.afterBody=this.getAfterBody(r,i),this.footer=this.getFooter(r,i);let l=this._size=ga(this,i),c=Object.assign({},a,l),h=ma(this.chart,i,c),u=pa(i,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:u.x,y:u.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,n){let o=this.getCaretPosition(t,i,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,i){let{xAlign:n,yAlign:o}=this,{caretSize:r,cornerRadius:a}=i,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:u}=te(a),{x:d,y:f}=t,{width:g,height:m}=e,p,b,y,_,w,x;return o==="center"?(w=f+m/2,n==="left"?(p=d,b=p-r,_=w+r,x=w-r):(p=d+g,b=p+r,_=w-r,x=w+r),y=p):(n==="left"?b=d+Math.max(l,h)+r:n==="right"?b=d+g-Math.max(c,u)-r:b=this.caretX,o==="top"?(_=f,w=_-r,p=b-r,y=b+r):(_=f+m,w=_+r,p=b+r,y=b-r),x=_),{x1:p,x2:b,x3:y,y1:_,y2:w,y3:x}}drawTitle(t,e,i){let n=this.title,o=n.length,r,a,l;if(o){let c=ge(i.rtl,this.x,this.width);for(t.x=pi(this,i.titleAlign,i),e.textAlign=c.textAlign(i.titleAlign),e.textBaseline="middle",r=X(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=r.string,l=0;ly!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Ne(t,{x:m,y:g,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Ne(t,{x:p,y:g+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,g,c,l),t.strokeRect(m,g,c,l),t.fillStyle=r.backgroundColor,t.fillRect(p,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){let{body:n}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:h}=i,u=X(i.bodyFont),d=u.lineHeight,f=0,g=ge(i.rtl,this.x,this.width),m=function(M){e.fillText(M,g.x(t.x+f),t.y+d/2),t.y+=d+o},p=g.textAlign(r),b,y,_,w,x,k,S;for(e.textAlign=r,e.textBaseline="middle",e.font=u.string,t.x=pi(this,p,i),e.fillStyle=i.bodyColor,z(this.beforeBody,m),f=a&&p!=="right"?r==="center"?c/2+h:c+2+h:0,w=0,k=n.length;w0&&e.stroke()}_updateAnimationTarget(t){let e=this.chart,i=this.$animations,n=i&&i.x,o=i&&i.y;if(n||o){let r=Ms[t.position].call(this,this._active,this._eventPosition);if(!r)return;let a=this._size=ga(this,t),l=Object.assign({},r,this._size),c=ma(e,t,l),h=pa(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){let e=this.options.setContext(this.getContext()),i=this.opacity;if(!i)return;this._updateAnimationTarget(e);let n={width:this.width,height:this.height},o={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;let r=nt(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=i,this.drawBackground(o,t,n,e),Mn(t,e.textDirection),o.y+=r.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),On(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){let i=this._active,n=t.map(({datasetIndex:a,index:l})=>{let c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!gs(i,n),r=this._positionChanged(n,e);(o||r)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let n=this.options,o=this._active||[],r=this._getActiveElements(t,o,e,i),a=this._positionChanged(r,t),l=e||!gs(r,o)||a;return l&&(this._active=r,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,i,n){let o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);let r=this.chart.getElementsAtEventForMode(t,o.mode,o,i);return o.reverse&&r.reverse(),r}_positionChanged(t,e){let{caretX:i,caretY:n,options:o}=this,r=Ms[o.position].call(this,t,e);return r!==!1&&(i!==r.x||n!==r.y)}};v(Ps,"positioners",Ms);var Lf={id:"tooltip",_element:Ps,positioners:Ms,afterInit(s,t,e){e&&(s.tooltip=new Ps({chart:s,options:e}))},beforeUpdate(s,t,e){s.tooltip&&s.tooltip.initialize(e)},reset(s,t,e){s.tooltip&&s.tooltip.initialize(e)},afterDraw(s){let t=s.tooltip;if(t&&t._willRender()){let e={tooltip:t};if(s.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(s.ctx),s.notifyPlugins("afterTooltipDraw",e)}},afterEvent(s,t){if(s.tooltip){let e=t.replay;s.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(s,t)=>t.bodyFont.size,boxWidth:(s,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Za},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:s=>s!=="filter"&&s!=="itemSort"&&s!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Ff=Object.freeze({__proto__:null,Colors:Yd,Decimation:Xd,Filler:bf,Legend:vf,SubTitle:Of,Title:Mf,Tooltip:Lf}),Rf=(s,t,e,i)=>(typeof t=="string"?(e=s.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function Nf(s,t,e,i){let n=s.indexOf(t);if(n===-1)return Rf(s,t,e,i);let o=s.lastIndexOf(t);return n!==o?e:n}var zf=(s,t)=>s===null?null:K(Math.round(s),0,t);function xa(s){let t=this.getLabels();return s>=0&&se.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}};v(Os,"id","category"),v(Os,"defaults",{ticks:{callback:xa}});function Vf(s,t){let e=[],{bounds:n,step:o,min:r,max:a,precision:l,count:c,maxTicks:h,maxDigits:u,includeBounds:d}=s,f=o||1,g=h-1,{min:m,max:p}=t,b=!I(r),y=!I(a),_=!I(c),w=(p-m)/(u+1),x=nn((p-m)/g/f)*f,k,S,M,T;if(x<1e-14&&!b&&!y)return[{value:m},{value:p}];T=Math.ceil(p/x)-Math.floor(m/x),T>g&&(x=nn(T*x/g/f)*f),I(l)||(k=Math.pow(10,l),x=Math.ceil(x*k)/k),n==="ticks"?(S=Math.floor(m/x)*x,M=Math.ceil(p/x)*x):(S=m,M=p),b&&y&&o&&rr((a-r)/o,x/1e3)?(T=Math.round(Math.min((a-r)/x,h)),x=(a-r)/T,S=r,M=a):_?(S=b?r:S,M=y?a:M,T=c-1,x=(M-S)/T):(T=(M-S)/x,Le(T,Math.round(T),x/1e3)?T=Math.round(T):T=Math.ceil(T));let C=Math.max(rn(x),rn(S));k=Math.pow(10,I(l)?C:l),S=Math.round(S*k)/k,M=Math.round(M*k)/k;let A=0;for(b&&(d&&S!==r?(e.push({value:r}),Sa)break;e.push({value:L})}return y&&d&&M!==a?e.length&&Le(e[e.length-1].value,a,_a(a,w,s))?e[e.length-1].value=a:e.push({value:a}):(!y||M===a)&&e.push({value:M}),e}function _a(s,t,{horizontal:e,minRotation:i}){let n=bt(i),o=(e?Math.sin(n):Math.cos(n))||.001,r=.75*t*(""+s).length;return Math.min(t/o,r)}var qe=class extends we{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return I(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){let{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds(),{min:n,max:o}=this,r=l=>n=e?n:l,a=l=>o=i?o:l;if(t){let l=St(n),c=St(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(n-l)}this.min=n,this.max=o}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:i}=t,n;return i?(n=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,i=this.getTickLimit();i=Math.max(2,i);let n={maxTicks:i,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:e.includeBounds!==!1},o=this._range||this,r=Vf(n,o);return t.bounds==="ticks"&&on(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let t=this.ticks,e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){let n=(i-e)/Math.max(t.length-1,1)/2;e-=n,i+=n}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Re(t,this.chart.options.locale,this.options.ticks.format)}},Ts=class extends qe{determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=Z(t)?t:0,this.max=Z(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){let t=this.isHorizontal(),e=t?this.width:this.height,i=bt(this.options.ticks.minRotation),n=(t?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}};v(Ts,"id","linear"),v(Ts,"defaults",{ticks:{callback:ms.formatters.numeric}});var Es=s=>Math.floor(Vt(s)),pe=(s,t)=>Math.pow(10,Es(s)+t);function wa(s){return s/Math.pow(10,Es(s))===1}function ka(s,t,e){let i=Math.pow(10,e),n=Math.floor(s/i);return Math.ceil(t/i)-n}function Wf(s,t){let e=t-s,i=Es(e);for(;ka(s,t,i)>10;)i++;for(;ka(s,t,i)<10;)i--;return Math.min(i,Es(s))}function Bf(s,{min:t,max:e}){t=at(s.min,t);let i=[],n=Es(t),o=Wf(t,e),r=o<0?Math.pow(10,Math.abs(o)):1,a=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*r)/r,h=Math.floor((t-l)/a/10)*a*10,u=Math.floor((c-h)/Math.pow(10,o)),d=at(s.min,Math.round((l+h+u*Math.pow(10,o))*r)/r);for(;d=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,r=o>=0?1:r),d=Math.round((l+h+u*Math.pow(10,o))*r)/r;let f=at(s.max,d);return i.push({value:f,major:wa(f),significand:u}),i}var Ds=class extends we{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){let i=qe.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return Z(i)&&i>0?i:null}determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=Z(t)?Math.max(0,t):null,this.max=Z(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Z(this._userMin)&&(this.min=t===pe(this.min,0)?pe(this.min,-1):pe(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),i=this.min,n=this.max,o=a=>i=t?i:a,r=a=>n=e?n:a;i===n&&(i<=0?(o(1),r(10)):(o(pe(i,-1)),r(pe(n,1)))),i<=0&&o(pe(n,-1)),n<=0&&r(pe(i,1)),this.min=i,this.max=n}buildTicks(){let t=this.options,e={min:this._userMin,max:this._userMax},i=Bf(e,this);return t.bounds==="ticks"&&on(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":Re(t,this.chart.options.locale,this.options.ticks.format)}configure(){let t=this.min;super.configure(),this._startValue=Vt(t),this._valueRange=Vt(this.max)-Vt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Vt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){let e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}};v(Ds,"id","logarithmic"),v(Ds,"defaults",{ticks:{callback:ms.formatters.logarithmic,major:{enabled:!0}}});function to(s){let t=s.ticks;if(t.display&&s.display){let e=nt(t.backdropPadding);return P(t.font&&t.font.size,j.font.size)+e.height}return 0}function Hf(s,t,e){return e=H(e)?e:[e],{w:mr(s,t.string,e),h:e.length*t.lineHeight}}function va(s,t,e,i,n){return s===i||s===n?{start:t-e/2,end:t+e/2}:sn?{start:t-e,end:t}:{start:t,end:t+e}}function $f(s){let t={l:s.left+s._padding.left,r:s.right-s._padding.right,t:s.top+s._padding.top,b:s.bottom-s._padding.bottom},e=Object.assign({},t),i=[],n=[],o=s._pointLabels.length,r=s.options.pointLabels,a=r.centerPointLabels?F/o:0;for(let l=0;lt.r&&(a=(i.end-t.r)/o,s.r=Math.max(s.r,t.r+a)),n.startt.b&&(l=(n.end-t.b)/r,s.b=Math.max(s.b,t.b+l))}function Uf(s,t,e){let i=s.drawingArea,{extra:n,additionalAngle:o,padding:r,size:a}=e,l=s.getPointPosition(t,i+n+r,o),c=Math.round(si(st(l.angle+q))),h=Xf(l.y,a.h,c),u=qf(c),d=Gf(l.x,a.w,u);return{visible:!0,x:l.x,y:h,textAlign:u,left:d,top:h,right:d+a.w,bottom:h+a.h}}function Yf(s,t){if(!t)return!0;let{left:e,top:i,right:n,bottom:o}=s;return!(Pt({x:e,y:i},t)||Pt({x:e,y:o},t)||Pt({x:n,y:i},t)||Pt({x:n,y:o},t))}function Zf(s,t,e){let i=[],n=s._pointLabels.length,o=s.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:to(o)/2,additionalAngle:r?F/n:0},c;for(let h=0;h270||e<90)&&(s-=t),s}function Jf(s,t,e){let{left:i,top:n,right:o,bottom:r}=e,{backdropColor:a}=t;if(!I(a)){let l=te(t.borderRadius),c=nt(t.backdropPadding);s.fillStyle=a;let h=i-c.left,u=n-c.top,d=o-i+c.width,f=r-n+c.height;Object.values(l).some(g=>g!==0)?(s.beginPath(),Ne(s,{x:h,y:u,w:d,h:f,radius:l}),s.fill()):s.fillRect(h,u,d,f)}}function Kf(s,t){let{ctx:e,options:{pointLabels:i}}=s;for(let n=t-1;n>=0;n--){let o=s._pointLabelItems[n];if(!o.visible)continue;let r=i.setContext(s.getPointLabelContext(n));Jf(e,r,o);let a=X(r.font),{x:l,y:c,textAlign:h}=o;Qt(e,s._pointLabels[n],l,c+a.lineHeight/2,a,{color:r.color,textAlign:h,textBaseline:"middle"})}}function qa(s,t,e,i){let{ctx:n}=s;if(e)n.arc(s.xCenter,s.yCenter,t,0,$);else{let o=s.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let r=1;r{let n=W(this.options.pointLabels.callback,[e,i],this);return n||n===0?n:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){let t=this.options;t.display&&t.pointLabels.display?$f(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,n))}getIndexAngle(t){let e=$/(this._pointLabels.length||1),i=this.options.startAngle||0;return st(t*e+bt(i))}getDistanceFromCenterForValue(t){if(I(t))return NaN;let e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(I(t))return NaN;let e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){let e=this._pointLabels||[];if(t>=0&&t{if(u!==0||u===0&&this.min<0){l=this.getDistanceFromCenterForValue(h.value);let d=this.getContext(u),f=n.setContext(d),g=o.setContext(d);Qf(this,f,l,r,g)}}),i.display){for(t.save(),a=r-1;a>=0;a--){let h=i.setContext(this.getPointLabelContext(a)),{color:u,lineWidth:d}=h;!d||!u||(t.lineWidth=d,t.strokeStyle=u,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){let t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;let n=this.getIndexAngle(0),o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&this.min>=0&&!e.reverse)return;let c=i.setContext(this.getContext(l)),h=X(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;let u=nt(c.backdropPadding);t.fillRect(-r/2-u.left,-o-h.size/2-u.top,r+u.width,h.size+u.height)}Qt(t,a.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}};v(ye,"id","radialLinear"),v(ye,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ms.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),v(ye,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),v(ye,"descriptors",{angleLines:{_fallback:"grid"}});var Ti={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}},ct=Object.keys(Ti);function Sa(s,t){return s-t}function Ma(s,t){if(I(t))return null;let e=s._adapter,{parser:i,round:n,isoWeekday:o}=s._parseOpts,r=t;return typeof i=="function"&&(r=i(r)),Z(r)||(r=typeof i=="string"?e.parse(r,i):e.parse(r)),r===null?null:(n&&(r=n==="week"&&(fe(o)||o===!0)?e.startOf(r,"isoWeek",o):e.startOf(r,n)),+r)}function Oa(s,t,e,i){let n=ct.length;for(let o=ct.indexOf(s);o=ct.indexOf(e);o--){let r=ct[o];if(Ti[r].common&&s._adapter.diff(n,i,r)>=t-1)return r}return ct[e?ct.indexOf(e):0]}function sg(s){for(let t=ct.indexOf(s)+1,e=ct.length;t=t?e[i]:e[n];s[o]=!0}}function ig(s,t,e,i){let n=s._adapter,o=+n.startOf(t[0].value,i),r=t[t.length-1].value,a,l;for(a=o;a<=r;a=+n.add(a,1,i))l=e[a],l>=0&&(t[l].major=!0);return t}function Da(s,t,e){let i=[],n={},o=t.length,r,a;for(r=0;r+t.value))}initOffsets(t=[]){let e=0,i=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?i=o:i=(o-this.getDecimalForValue(t[t.length-2]))/2);let r=t.length<3?.5:.25;e=K(e,0,r),i=K(i,0,r),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){let t=this._adapter,e=this.min,i=this.max,n=this.options,o=n.time,r=o.unit||Oa(o.minUnit,e,i,this._getLabelCapacity(e)),a=P(n.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=fe(l)||l===!0,h={},u=e,d,f;if(c&&(u=+t.startOf(u,"isoWeek",l)),u=+t.startOf(u,c?"day":r),t.diff(i,e,r)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+r);let g=n.ticks.source==="data"&&this.getDataTimestamps();for(d=u,f=0;d+m)}getLabelForValue(t){let e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){let n=this.options.time.displayFormats,o=this._unit,r=e||n[o];return this._adapter.format(t,r)}_tickFormatFunction(t,e,i,n){let o=this.options,r=o.ticks.callback;if(r)return W(r,[t,e,i],this);let a=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&a[l],u=c&&a[c],d=i[e],f=c&&u&&d&&d.major;return this._adapter.format(t,n||(f?u:h))}generateTickLabels(t){let e,i,n;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;let n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,i=n.length;e=s[i].pos&&t<=s[n].pos&&({lo:i,hi:n}=Ct(s,"pos",t)),{pos:o,time:a}=s[i],{pos:r,time:l}=s[n]):(t>=s[i].time&&t<=s[n].time&&({lo:i,hi:n}=Ct(s,"time",t)),{time:o,pos:a}=s[i],{time:r,pos:l}=s[n]);let c=r-o;return c?a+(l-a)*(t-o)/c:a}var Cs=class extends _e{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=bi(e,this.min),this._tableRange=bi(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){let{min:e,max:i}=this,n=[],o=[],r,a,l,c,h;for(r=0,a=t.length;r=e&&c<=i&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(r=0,a=n.length;rn-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;let e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(bi(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){let e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return bi(this._table,i*this._tableRange+this._minPos,!0)}};v(Cs,"id","timeseries"),v(Cs,"defaults",_e.defaults);var ng=Object.freeze({__proto__:null,CategoryScale:Os,LinearScale:Ts,LogarithmicScale:Ds,RadialLinearScale:ye,TimeScale:_e,TimeSeriesScale:Cs}),Ga=[mu,Vd,Ff,ng];yt.register(...Ga);var Mt=yt;var Yt=class extends Error{},uo=class extends Yt{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}},fo=class extends Yt{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}},go=class extends Yt{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}},oe=class extends Yt{},Fi=class extends Yt{constructor(t){super(`Invalid unit ${t}`)}},Q=class extends Yt{},Rt=class extends Yt{constructor(){super("Zone is an abstract class")}},O="numeric",Dt="short",mt="long",Ri={year:O,month:O,day:O},Ol={year:O,month:Dt,day:O},og={year:O,month:Dt,day:O,weekday:Dt},Tl={year:O,month:mt,day:O},Dl={year:O,month:mt,day:O,weekday:mt},Cl={hour:O,minute:O},Pl={hour:O,minute:O,second:O},Al={hour:O,minute:O,second:O,timeZoneName:Dt},Il={hour:O,minute:O,second:O,timeZoneName:mt},El={hour:O,minute:O,hourCycle:"h23"},Ll={hour:O,minute:O,second:O,hourCycle:"h23"},Fl={hour:O,minute:O,second:O,hourCycle:"h23",timeZoneName:Dt},Rl={hour:O,minute:O,second:O,hourCycle:"h23",timeZoneName:mt},Nl={year:O,month:O,day:O,hour:O,minute:O},zl={year:O,month:O,day:O,hour:O,minute:O,second:O},Vl={year:O,month:Dt,day:O,hour:O,minute:O},Wl={year:O,month:Dt,day:O,hour:O,minute:O,second:O},rg={year:O,month:Dt,day:O,weekday:Dt,hour:O,minute:O},Bl={year:O,month:mt,day:O,hour:O,minute:O,timeZoneName:Dt},Hl={year:O,month:mt,day:O,hour:O,minute:O,second:O,timeZoneName:Dt},$l={year:O,month:mt,day:O,weekday:mt,hour:O,minute:O,timeZoneName:mt},jl={year:O,month:mt,day:O,weekday:mt,hour:O,minute:O,second:O,timeZoneName:mt},Me=class{get type(){throw new Rt}get name(){throw new Rt}get ianaName(){return this.name}get isUniversal(){throw new Rt}offsetName(t,e){throw new Rt}formatOffset(t,e){throw new Rt}offset(t){throw new Rt}equals(t){throw new Rt}get isValid(){throw new Rt}},so=null,Ni=class s extends Me{static get instance(){return so===null&&(so=new s),so}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:e,locale:i}){return ec(t,e,i)}formatOffset(t,e){return Vs(this.offset(t),e)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}},mo=new Map;function ag(s){let t=mo.get(s);return t===void 0&&(t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:s,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),mo.set(s,t)),t}var lg={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function cg(s,t){let e=s.format(t).replace(/\u200E/g,""),i=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(e),[,n,o,r,a,l,c,h]=i;return[r,n,o,a,l,c,h]}function hg(s,t){let e=s.formatToParts(t),i=[];for(let n=0;n=0?g:1e3+g,(d-f)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}},Xa={};function ug(s,t={}){let e=JSON.stringify([s,t]),i=Xa[e];return i||(i=new Intl.ListFormat(s,t),Xa[e]=i),i}var po=new Map;function bo(s,t={}){let e=JSON.stringify([s,t]),i=po.get(e);return i===void 0&&(i=new Intl.DateTimeFormat(s,t),po.set(e,i)),i}var yo=new Map;function dg(s,t={}){let e=JSON.stringify([s,t]),i=yo.get(e);return i===void 0&&(i=new Intl.NumberFormat(s,t),yo.set(e,i)),i}var xo=new Map;function fg(s,t={}){let{base:e,...i}=t,n=JSON.stringify([s,i]),o=xo.get(n);return o===void 0&&(o=new Intl.RelativeTimeFormat(s,t),xo.set(n,o)),o}var Rs=null;function gg(){return Rs||(Rs=new Intl.DateTimeFormat().resolvedOptions().locale,Rs)}var _o=new Map;function Ul(s){let t=_o.get(s);return t===void 0&&(t=new Intl.DateTimeFormat(s).resolvedOptions(),_o.set(s,t)),t}var wo=new Map;function mg(s){let t=wo.get(s);if(!t){let e=new Intl.Locale(s);t="getWeekInfo"in e?e.getWeekInfo():e.weekInfo,"minimalDays"in t||(t={...Yl,...t}),wo.set(s,t)}return t}function pg(s){let t=s.indexOf("-x-");t!==-1&&(s=s.substring(0,t));let e=s.indexOf("-u-");if(e===-1)return[s];{let i,n;try{i=bo(s).resolvedOptions(),n=s}catch{let l=s.substring(0,e);i=bo(l).resolvedOptions(),n=l}let{numberingSystem:o,calendar:r}=i;return[n,o,r]}}function bg(s,t,e){return(e||t)&&(s.includes("-u-")||(s+="-u"),e&&(s+=`-ca-${e}`),t&&(s+=`-nu-${t}`)),s}function yg(s){let t=[];for(let e=1;e<=12;e++){let i=R.utc(2009,e,1);t.push(s(i))}return t}function xg(s){let t=[];for(let e=1;e<=7;e++){let i=R.utc(2016,11,13+e);t.push(s(i))}return t}function Di(s,t,e,i){let n=s.listingMode();return n==="error"?null:n==="en"?e(t):i(t)}function _g(s){return s.numberingSystem&&s.numberingSystem!=="latn"?!1:s.numberingSystem==="latn"||!s.locale||s.locale.startsWith("en")||Ul(s.locale).numberingSystem==="latn"}var ko=class{constructor(t,e,i){this.padTo=i.padTo||0,this.floor=i.floor||!1;let{padTo:n,floor:o,...r}=i;if(!e||Object.keys(r).length>0){let a={useGrouping:!1,...i};i.padTo>0&&(a.minimumIntegerDigits=i.padTo),this.inf=dg(t,a)}}format(t){if(this.inf){let e=this.floor?Math.floor(t):t;return this.inf.format(e)}else{let e=this.floor?Math.floor(t):Lo(t,3);return J(e,this.padTo)}}},vo=class{constructor(t,e,i){this.opts=i,this.originalZone=void 0;let n;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){let r=-1*(t.offset/60),a=r>=0?`Etc/GMT+${r}`:`Etc/GMT${r}`;t.offset!==0&&ae.create(a).valid?(n=a,this.dt=t):(n="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,n=t.zone.name):(n="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);let o={...this.opts};o.timeZone=o.timeZone||n,this.dtf=bo(e,o)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(e=>{if(e.type==="timeZoneName"){let i=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...e,value:i}}else return e}):t}resolvedOptions(){return this.dtf.resolvedOptions()}},So=class{constructor(t,e,i){this.opts={style:"long",...i},!e&&Ql()&&(this.rtf=fg(t,i))}format(t,e){return this.rtf?this.rtf.format(t,e):Bg(e,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,e){return this.rtf?this.rtf.formatToParts(t,e):[]}},Yl={firstDay:1,minimalDays:4,weekend:[6,7]},B=class s{static fromOpts(t){return s.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,e,i,n,o=!1){let r=t||Y.defaultLocale,a=r||(o?"en-US":gg()),l=e||Y.defaultNumberingSystem,c=i||Y.defaultOutputCalendar,h=To(n)||Y.defaultWeekSettings;return new s(a,l,c,h,r)}static resetCache(){Rs=null,po.clear(),yo.clear(),xo.clear(),_o.clear(),wo.clear()}static fromObject({locale:t,numberingSystem:e,outputCalendar:i,weekSettings:n}={}){return s.create(t,e,i,n)}constructor(t,e,i,n,o){let[r,a,l]=pg(t);this.locale=r,this.numberingSystem=e||a||null,this.outputCalendar=i||l||null,this.weekSettings=n,this.intl=bg(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=o,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=_g(this)),this.fastNumbersCached}listingMode(){let t=this.isEnglish(),e=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&e?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:s.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,To(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,e=!1){return Di(this,t,nc,()=>{let i=this.intl==="ja"||this.intl.startsWith("ja-");e&=!i;let n=e?{month:t,day:"numeric"}:{month:t},o=e?"format":"standalone";if(!this.monthsCache[o][t]){let r=i?a=>this.dtFormatter(a,n).format():a=>this.extract(a,n,"month");this.monthsCache[o][t]=yg(r)}return this.monthsCache[o][t]})}weekdays(t,e=!1){return Di(this,t,ac,()=>{let i=e?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},n=e?"format":"standalone";return this.weekdaysCache[n][t]||(this.weekdaysCache[n][t]=xg(o=>this.extract(o,i,"weekday"))),this.weekdaysCache[n][t]})}meridiems(){return Di(this,void 0,()=>lc,()=>{if(!this.meridiemCache){let t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[R.utc(2016,11,13,9),R.utc(2016,11,13,19)].map(e=>this.extract(e,t,"dayperiod"))}return this.meridiemCache})}eras(t){return Di(this,t,cc,()=>{let e={era:t};return this.eraCache[t]||(this.eraCache[t]=[R.utc(-40,1,1),R.utc(2017,1,1)].map(i=>this.extract(i,e,"era"))),this.eraCache[t]})}extract(t,e,i){let n=this.dtFormatter(t,e),o=n.formatToParts(),r=o.find(a=>a.type.toLowerCase()===i);return r?r.value:null}numberFormatter(t={}){return new ko(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,e={}){return new vo(t,this.intl,e)}relFormatter(t={}){return new So(this.intl,this.isEnglish(),t)}listFormatter(t={}){return ug(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||Ul(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:tc()?mg(this.locale):Yl}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},no=null,kt=class s extends Me{static get utcInstance(){return no===null&&(no=new s(0)),no}static instance(t){return t===0?s.utcInstance:new s(t)}static parseSpecifier(t){if(t){let e=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(e)return new s(ji(e[1],e[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Vs(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${Vs(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,e){return Vs(this.fixed,e)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}},Mo=class extends Me{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function ne(s,t){if(D(s)||s===null)return t;if(s instanceof Me)return s;if(Og(s)){let e=s.toLowerCase();return e==="default"?t:e==="local"||e==="system"?Ni.instance:e==="utc"||e==="gmt"?kt.utcInstance:kt.parseSpecifier(e)||ae.create(s)}else return re(s)?kt.instance(s):typeof s=="object"&&"offset"in s&&typeof s.offset=="function"?s:new Mo(s)}var Po={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},Ja={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},wg=Po.hanidec.replace(/[\[|\]]/g,"").split("");function kg(s){let t=parseInt(s,10);if(isNaN(t)){t="";for(let e=0;e=o&&i<=r&&(t+=i-o)}}return parseInt(t,10)}else return t}var Oo=new Map;function vg(){Oo.clear()}function Ot({numberingSystem:s},t=""){let e=s||"latn",i=Oo.get(e);i===void 0&&(i=new Map,Oo.set(e,i));let n=i.get(t);return n===void 0&&(n=new RegExp(`${Po[e]}${t}`),i.set(t,n)),n}var Ka=()=>Date.now(),Qa="system",tl=null,el=null,sl=null,il=60,nl,ol=null,Y=class{static get now(){return Ka}static set now(t){Ka=t}static set defaultZone(t){Qa=t}static get defaultZone(){return ne(Qa,Ni.instance)}static get defaultLocale(){return tl}static set defaultLocale(t){tl=t}static get defaultNumberingSystem(){return el}static set defaultNumberingSystem(t){el=t}static get defaultOutputCalendar(){return sl}static set defaultOutputCalendar(t){sl=t}static get defaultWeekSettings(){return ol}static set defaultWeekSettings(t){ol=To(t)}static get twoDigitCutoffYear(){return il}static set twoDigitCutoffYear(t){il=t%100}static get throwOnInvalid(){return nl}static set throwOnInvalid(t){nl=t}static resetCaches(){B.resetCache(),ae.resetCache(),R.resetCache(),vg()}},gt=class{constructor(t,e){this.reason=t,this.explanation=e}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},Zl=[0,31,59,90,120,151,181,212,243,273,304,334],ql=[0,31,60,91,121,152,182,213,244,274,305,335];function _t(s,t){return new gt("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${s}, which is invalid`)}function Ao(s,t,e){let i=new Date(Date.UTC(s,t-1,e));s<100&&s>=0&&i.setUTCFullYear(i.getUTCFullYear()-1900);let n=i.getUTCDay();return n===0?7:n}function Gl(s,t,e){return e+(Bs(s)?ql:Zl)[t-1]}function Xl(s,t){let e=Bs(s)?ql:Zl,i=e.findIndex(o=>oWs(i,t,e)?(c=i+1,l=1):c=i,{weekYear:c,weekNumber:l,weekday:a,...Ui(s)}}function rl(s,t=4,e=1){let{weekYear:i,weekNumber:n,weekday:o}=s,r=Io(Ao(i,1,t),e),a=Qe(i),l=n*7+o-r-7+t,c;l<1?(c=i-1,l+=Qe(c)):l>a?(c=i+1,l-=Qe(i)):c=i;let{month:h,day:u}=Xl(c,l);return{year:c,month:h,day:u,...Ui(s)}}function oo(s){let{year:t,month:e,day:i}=s,n=Gl(t,e,i);return{year:t,ordinal:n,...Ui(s)}}function al(s){let{year:t,ordinal:e}=s,{month:i,day:n}=Xl(t,e);return{year:t,month:i,day:n,...Ui(s)}}function ll(s,t){if(!D(s.localWeekday)||!D(s.localWeekNumber)||!D(s.localWeekYear)){if(!D(s.weekday)||!D(s.weekNumber)||!D(s.weekYear))throw new oe("Cannot mix locale-based week fields with ISO-based week fields");return D(s.localWeekday)||(s.weekday=s.localWeekday),D(s.localWeekNumber)||(s.weekNumber=s.localWeekNumber),D(s.localWeekYear)||(s.weekYear=s.localWeekYear),delete s.localWeekday,delete s.localWeekNumber,delete s.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function Sg(s,t=4,e=1){let i=Hi(s.weekYear),n=wt(s.weekNumber,1,Ws(s.weekYear,t,e)),o=wt(s.weekday,1,7);return i?n?o?!1:_t("weekday",s.weekday):_t("week",s.weekNumber):_t("weekYear",s.weekYear)}function Mg(s){let t=Hi(s.year),e=wt(s.ordinal,1,Qe(s.year));return t?e?!1:_t("ordinal",s.ordinal):_t("year",s.year)}function Jl(s){let t=Hi(s.year),e=wt(s.month,1,12),i=wt(s.day,1,Vi(s.year,s.month));return t?e?i?!1:_t("day",s.day):_t("month",s.month):_t("year",s.year)}function Kl(s){let{hour:t,minute:e,second:i,millisecond:n}=s,o=wt(t,0,23)||t===24&&e===0&&i===0&&n===0,r=wt(e,0,59),a=wt(i,0,59),l=wt(n,0,999);return o?r?a?l?!1:_t("millisecond",n):_t("second",i):_t("minute",e):_t("hour",t)}function D(s){return typeof s>"u"}function re(s){return typeof s=="number"}function Hi(s){return typeof s=="number"&&s%1===0}function Og(s){return typeof s=="string"}function Tg(s){return Object.prototype.toString.call(s)==="[object Date]"}function Ql(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function tc(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function Dg(s){return Array.isArray(s)?s:[s]}function cl(s,t,e){if(s.length!==0)return s.reduce((i,n)=>{let o=[t(n),n];return i&&e(i[0],o[0])===i[0]?i:o},null)[1]}function Cg(s,t){return t.reduce((e,i)=>(e[i]=s[i],e),{})}function ss(s,t){return Object.prototype.hasOwnProperty.call(s,t)}function To(s){if(s==null)return null;if(typeof s!="object")throw new Q("Week settings must be an object");if(!wt(s.firstDay,1,7)||!wt(s.minimalDays,1,7)||!Array.isArray(s.weekend)||s.weekend.some(t=>!wt(t,1,7)))throw new Q("Invalid week settings");return{firstDay:s.firstDay,minimalDays:s.minimalDays,weekend:Array.from(s.weekend)}}function wt(s,t,e){return Hi(s)&&s>=t&&s<=e}function Pg(s,t){return s-t*Math.floor(s/t)}function J(s,t=2){let e=s<0,i;return e?i="-"+(""+-s).padStart(t,"0"):i=(""+s).padStart(t,"0"),i}function ie(s){if(!(D(s)||s===null||s===""))return parseInt(s,10)}function ke(s){if(!(D(s)||s===null||s===""))return parseFloat(s)}function Eo(s){if(!(D(s)||s===null||s==="")){let t=parseFloat("0."+s)*1e3;return Math.floor(t)}}function Lo(s,t,e="round"){let i=10**t;switch(e){case"expand":return s>0?Math.ceil(s*i)/i:Math.floor(s*i)/i;case"trunc":return Math.trunc(s*i)/i;case"round":return Math.round(s*i)/i;case"floor":return Math.floor(s*i)/i;case"ceil":return Math.ceil(s*i)/i;default:throw new RangeError(`Value rounding ${e} is out of range`)}}function Bs(s){return s%4===0&&(s%100!==0||s%400===0)}function Qe(s){return Bs(s)?366:365}function Vi(s,t){let e=Pg(t-1,12)+1,i=s+(t-e)/12;return e===2?Bs(i)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][e-1]}function $i(s){let t=Date.UTC(s.year,s.month-1,s.day,s.hour,s.minute,s.second,s.millisecond);return s.year<100&&s.year>=0&&(t=new Date(t),t.setUTCFullYear(s.year,s.month-1,s.day)),+t}function hl(s,t,e){return-Io(Ao(s,1,t),e)+t-1}function Ws(s,t=4,e=1){let i=hl(s,t,e),n=hl(s+1,t,e);return(Qe(s)-i+n)/7}function Do(s){return s>99?s:s>Y.twoDigitCutoffYear?1900+s:2e3+s}function ec(s,t,e,i=null){let n=new Date(s),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};i&&(o.timeZone=i);let r={timeZoneName:t,...o},a=new Intl.DateTimeFormat(e,r).formatToParts(n).find(l=>l.type.toLowerCase()==="timezonename");return a?a.value:null}function ji(s,t){let e=parseInt(s,10);Number.isNaN(e)&&(e=0);let i=parseInt(t,10)||0,n=e<0||Object.is(e,-0)?-i:i;return e*60+n}function sc(s){let t=Number(s);if(typeof s=="boolean"||s===""||!Number.isFinite(t))throw new Q(`Invalid unit value ${s}`);return t}function Wi(s,t){let e={};for(let i in s)if(ss(s,i)){let n=s[i];if(n==null)continue;e[t(i)]=sc(n)}return e}function Vs(s,t){let e=Math.trunc(Math.abs(s/60)),i=Math.trunc(Math.abs(s%60)),n=s>=0?"+":"-";switch(t){case"short":return`${n}${J(e,2)}:${J(i,2)}`;case"narrow":return`${n}${e}${i>0?`:${i}`:""}`;case"techie":return`${n}${J(e,2)}${J(i,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function Ui(s){return Cg(s,["hour","minute","second","millisecond"])}var Ag=["January","February","March","April","May","June","July","August","September","October","November","December"],ic=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ig=["J","F","M","A","M","J","J","A","S","O","N","D"];function nc(s){switch(s){case"narrow":return[...Ig];case"short":return[...ic];case"long":return[...Ag];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var oc=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],rc=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],Eg=["M","T","W","T","F","S","S"];function ac(s){switch(s){case"narrow":return[...Eg];case"short":return[...rc];case"long":return[...oc];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var lc=["AM","PM"],Lg=["Before Christ","Anno Domini"],Fg=["BC","AD"],Rg=["B","A"];function cc(s){switch(s){case"narrow":return[...Rg];case"short":return[...Fg];case"long":return[...Lg];default:return null}}function Ng(s){return lc[s.hour<12?0:1]}function zg(s,t){return ac(t)[s.weekday-1]}function Vg(s,t){return nc(t)[s.month-1]}function Wg(s,t){return cc(t)[s.year<0?0:1]}function Bg(s,t,e="always",i=!1){let n={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=["hours","minutes","seconds"].indexOf(s)===-1;if(e==="auto"&&o){let u=s==="days";switch(t){case 1:return u?"tomorrow":`next ${n[s][0]}`;case-1:return u?"yesterday":`last ${n[s][0]}`;case 0:return u?"today":`this ${n[s][0]}`}}let r=Object.is(t,-0)||t<0,a=Math.abs(t),l=a===1,c=n[s],h=i?l?c[1]:c[2]||c[1]:l?n[s][0]:s;return r?`${a} ${h} ago`:`in ${a} ${h}`}function ul(s,t){let e="";for(let i of s)i.literal?e+=i.val:e+=t(i.val);return e}var Hg={D:Ri,DD:Ol,DDD:Tl,DDDD:Dl,t:Cl,tt:Pl,ttt:Al,tttt:Il,T:El,TT:Ll,TTT:Fl,TTTT:Rl,f:Nl,ff:Vl,fff:Bl,ffff:$l,F:zl,FF:Wl,FFF:Hl,FFFF:jl},ft=class s{static create(t,e={}){return new s(t,e)}static parseFormat(t){let e=null,i="",n=!1,o=[];for(let r=0;r0||n)&&o.push({literal:n||/^\s+$/.test(i),val:i===""?"'":i}),e=null,i="",n=!n):n||a===e?i+=a:(i.length>0&&o.push({literal:/^\s+$/.test(i),val:i}),i=a,e=a)}return i.length>0&&o.push({literal:n||/^\s+$/.test(i),val:i}),o}static macroTokenToFormatOpts(t){return Hg[t]}constructor(t,e){this.opts=e,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,e){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...e}).format()}dtFormatter(t,e={}){return this.loc.dtFormatter(t,{...this.opts,...e})}formatDateTime(t,e){return this.dtFormatter(t,e).format()}formatDateTimeParts(t,e){return this.dtFormatter(t,e).formatToParts()}formatInterval(t,e){return this.dtFormatter(t.start,e).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,e){return this.dtFormatter(t,e).resolvedOptions()}num(t,e=0,i=void 0){if(this.opts.forceSimple)return J(t,e);let n={...this.opts};return e>0&&(n.padTo=e),i&&(n.signDisplay=i),this.loc.numberFormatter(n).format(t)}formatDateTimeFromString(t,e){let i=this.loc.listingMode()==="en",n=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",o=(f,g)=>this.loc.extract(t,f,g),r=f=>t.isOffsetFixed&&t.offset===0&&f.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,f.format):"",a=()=>i?Ng(t):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),l=(f,g)=>i?Vg(t,f):o(g?{month:f}:{month:f,day:"numeric"},"month"),c=(f,g)=>i?zg(t,f):o(g?{weekday:f}:{weekday:f,month:"long",day:"numeric"},"weekday"),h=f=>{let g=s.macroTokenToFormatOpts(f);return g?this.formatWithSystemDefault(t,g):f},u=f=>i?Wg(t,f):o({era:f},"era"),d=f=>{switch(f){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return r({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return r({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return r({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return a();case"d":return n?o({day:"numeric"},"day"):this.num(t.day);case"dd":return n?o({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return n?o({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return n?o({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return n?o({month:"numeric"},"month"):this.num(t.month);case"MM":return n?o({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return n?o({year:"numeric"},"year"):this.num(t.year);case"yy":return n?o({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return n?o({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return n?o({year:"numeric"},"year"):this.num(t.year,6);case"G":return u("short");case"GG":return u("long");case"GGGGG":return u("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return h(f)}};return ul(s.parseFormat(e),d)}formatDurationFromString(t,e){let i=this.opts.signMode==="negativeLargestOnly"?-1:1,n=h=>{switch(h[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},o=(h,u)=>d=>{let f=n(d);if(f){let g=u.isNegativeDuration&&f!==u.largestUnit?i:1,m;return this.opts.signMode==="negativeLargestOnly"&&f!==u.largestUnit?m="never":this.opts.signMode==="all"?m="always":m="auto",this.num(h.get(f)*g,d.length,m)}else return d},r=s.parseFormat(e),a=r.reduce((h,{literal:u,val:d})=>u?h:h.concat(d),[]),l=t.shiftTo(...a.map(n).filter(h=>h)),c={isNegativeDuration:l<0,largestUnit:Object.keys(l.values)[0]};return ul(r,o(l,c))}},hc=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function is(...s){let t=s.reduce((e,i)=>e+i.source,"");return RegExp(`^${t}$`)}function ns(...s){return t=>s.reduce(([e,i,n],o)=>{let[r,a,l]=o(t,n);return[{...e,...r},a||i,l]},[{},null,1]).slice(0,2)}function os(s,...t){if(s==null)return[null,null];for(let[e,i]of t){let n=e.exec(s);if(n)return i(n)}return[null,null]}function uc(...s){return(t,e)=>{let i={},n;for(n=0;nf!==void 0&&(g||f&&h)?-f:f;return[{years:d(ke(e)),months:d(ke(i)),weeks:d(ke(n)),days:d(ke(o)),hours:d(ke(r)),minutes:d(ke(a)),seconds:d(ke(l),l==="-0"),milliseconds:d(Eo(c),u)}]}var em={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function No(s,t,e,i,n,o,r){let a={year:t.length===2?Do(ie(t)):ie(t),month:ic.indexOf(e)+1,day:ie(i),hour:ie(n),minute:ie(o)};return r&&(a.second=ie(r)),s&&(a.weekday=s.length>3?oc.indexOf(s)+1:rc.indexOf(s)+1),a}var sm=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function im(s){let[,t,e,i,n,o,r,a,l,c,h,u]=s,d=No(t,n,i,e,o,r,a),f;return l?f=em[l]:c?f=0:f=ji(h,u),[d,new kt(f)]}function nm(s){return s.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var om=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,rm=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,am=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function dl(s){let[,t,e,i,n,o,r,a]=s;return[No(t,n,i,e,o,r,a),kt.utcInstance]}function lm(s){let[,t,e,i,n,o,r,a]=s;return[No(t,a,e,i,n,o,r),kt.utcInstance]}var cm=is(jg,Ro),hm=is(Ug,Ro),um=is(Yg,Ro),dm=is(fc),mc=ns(Jg,rs,Hs,$s),fm=ns(Zg,rs,Hs,$s),gm=ns(qg,rs,Hs,$s),mm=ns(rs,Hs,$s);function pm(s){return os(s,[cm,mc],[hm,fm],[um,gm],[dm,mm])}function bm(s){return os(nm(s),[sm,im])}function ym(s){return os(s,[om,dl],[rm,dl],[am,lm])}function xm(s){return os(s,[Qg,tm])}var _m=ns(rs);function wm(s){return os(s,[Kg,_m])}var km=is(Gg,Xg),vm=is(gc),Sm=ns(rs,Hs,$s);function Mm(s){return os(s,[km,mc],[vm,Sm])}var fl="Invalid Duration",pc={weeks:{days:7,hours:168,minutes:10080,seconds:10080*60,milliseconds:10080*60*1e3},days:{hours:24,minutes:1440,seconds:1440*60,milliseconds:1440*60*1e3},hours:{minutes:60,seconds:3600,milliseconds:3600*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},Om={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:2184*60,seconds:2184*60*60,milliseconds:2184*60*60*1e3},months:{weeks:4,days:30,hours:720,minutes:720*60,seconds:720*60*60,milliseconds:720*60*60*1e3},...pc},xt=146097/400,Ge=146097/4800,Tm={years:{quarters:4,months:12,weeks:xt/7,days:xt,hours:xt*24,minutes:xt*24*60,seconds:xt*24*60*60,milliseconds:xt*24*60*60*1e3},quarters:{months:3,weeks:xt/28,days:xt/4,hours:xt*24/4,minutes:xt*24*60/4,seconds:xt*24*60*60/4,milliseconds:xt*24*60*60*1e3/4},months:{weeks:Ge/7,days:Ge,hours:Ge*24,minutes:Ge*24*60,seconds:Ge*24*60*60,milliseconds:Ge*24*60*60*1e3},...pc},Se=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Dm=Se.slice(0).reverse();function Ut(s,t,e=!1){let i={values:e?t.values:{...s.values,...t.values||{}},loc:s.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||s.conversionAccuracy,matrix:t.matrix||s.matrix};return new tt(i)}function bc(s,t){let e=t.milliseconds??0;for(let i of Dm.slice(1))t[i]&&(e+=t[i]*s[i].milliseconds);return e}function gl(s,t){let e=bc(s,t)<0?-1:1;Se.reduceRight((i,n)=>{if(D(t[n]))return i;if(i){let o=t[i]*e,r=s[n][i],a=Math.floor(o/r);t[n]+=a*e,t[i]-=a*r*e}return n},null),Se.reduce((i,n)=>{if(D(t[n]))return i;if(i){let o=t[i]%1;t[i]-=o,t[n]+=o*s[i][n]}return n},null)}function ml(s){let t={};for(let[e,i]of Object.entries(s))i!==0&&(t[e]=i);return t}var tt=class s{constructor(t){let e=t.conversionAccuracy==="longterm"||!1,i=e?Tm:Om;t.matrix&&(i=t.matrix),this.values=t.values,this.loc=t.loc||B.create(),this.conversionAccuracy=e?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=i,this.isLuxonDuration=!0}static fromMillis(t,e){return s.fromObject({milliseconds:t},e)}static fromObject(t,e={}){if(t==null||typeof t!="object")throw new Q(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new s({values:Wi(t,s.normalizeUnit),loc:B.fromObject(e),conversionAccuracy:e.conversionAccuracy,matrix:e.matrix})}static fromDurationLike(t){if(re(t))return s.fromMillis(t);if(s.isDuration(t))return t;if(typeof t=="object")return s.fromObject(t);throw new Q(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,e){let[i]=xm(t);return i?s.fromObject(i,e):s.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,e){let[i]=wm(t);return i?s.fromObject(i,e):s.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,e=null){if(!t)throw new Q("need to specify a reason the Duration is invalid");let i=t instanceof gt?t:new gt(t,e);if(Y.throwOnInvalid)throw new go(i);return new s({invalid:i})}static normalizeUnit(t){let e={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!e)throw new Fi(t);return e}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,e={}){let i={...e,floor:e.round!==!1&&e.floor!==!1};return this.isValid?ft.create(this.loc,i).formatDurationFromString(this,t):fl}toHuman(t={}){if(!this.isValid)return fl;let e=t.showZeros!==!1,i=Se.map(n=>{let o=this.values[n];return D(o)||o===0&&!e?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:n.slice(0,-1)}).format(o)}).filter(n=>n);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(i)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=Lo(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;let e=this.toMillis();return e<0||e>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},R.fromMillis(e,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?bc(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;let e=s.fromDurationLike(t),i={};for(let n of Se)(ss(e.values,n)||ss(this.values,n))&&(i[n]=e.get(n)+this.get(n));return Ut(this,{values:i},!0)}minus(t){if(!this.isValid)return this;let e=s.fromDurationLike(t);return this.plus(e.negate())}mapUnits(t){if(!this.isValid)return this;let e={};for(let i of Object.keys(this.values))e[i]=sc(t(this.values[i],i));return Ut(this,{values:e},!0)}get(t){return this[s.normalizeUnit(t)]}set(t){if(!this.isValid)return this;let e={...this.values,...Wi(t,s.normalizeUnit)};return Ut(this,{values:e})}reconfigure({locale:t,numberingSystem:e,conversionAccuracy:i,matrix:n}={}){let r={loc:this.loc.clone({locale:t,numberingSystem:e}),matrix:n,conversionAccuracy:i};return Ut(this,r)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;let t=this.toObject();return gl(this.matrix,t),Ut(this,{values:t},!0)}rescale(){if(!this.isValid)return this;let t=ml(this.normalize().shiftToAll().toObject());return Ut(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(r=>s.normalizeUnit(r));let e={},i={},n=this.toObject(),o;for(let r of Se)if(t.indexOf(r)>=0){o=r;let a=0;for(let c in i)a+=this.matrix[c][r]*i[c],i[c]=0;re(n[r])&&(a+=n[r]);let l=Math.trunc(a);e[r]=l,i[r]=(a*1e3-l*1e3)/1e3}else re(n[r])&&(i[r]=n[r]);for(let r in i)i[r]!==0&&(e[o]+=r===o?i[r]:i[r]/this.matrix[o][r]);return gl(this.matrix,e),Ut(this,{values:e},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let t={};for(let e of Object.keys(this.values))t[e]=this.values[e]===0?0:-this.values[e];return Ut(this,{values:t},!0)}removeZeros(){if(!this.isValid)return this;let t=ml(this.values);return Ut(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function e(i,n){return i===void 0||i===0?n===void 0||n===0:i===n}for(let i of Se)if(!e(this.values[i],t.values[i]))return!1;return!0}},Xe="Invalid Interval";function Cm(s,t){return!s||!s.isValid?es.invalid("missing or invalid start"):!t||!t.isValid?es.invalid("missing or invalid end"):tt:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:e}={}){return this.isValid?s.fromDateTimes(t||this.s,e||this.e):this}splitAt(...t){if(!this.isValid)return[];let e=t.map(Fs).filter(r=>this.contains(r)).sort((r,a)=>r.toMillis()-a.toMillis()),i=[],{s:n}=this,o=0;for(;n+this.e?this.e:r;i.push(s.fromDateTimes(n,a)),n=a,o+=1}return i}splitBy(t){let e=tt.fromDurationLike(t);if(!this.isValid||!e.isValid||e.as("milliseconds")===0)return[];let{s:i}=this,n=1,o,r=[];for(;il*n));o=+a>+this.e?this.e:a,r.push(s.fromDateTimes(i,o)),i=o,n+=1}return r}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;let e=this.s>t.s?this.s:t.s,i=this.e=i?null:s.fromDateTimes(e,i)}union(t){if(!this.isValid)return this;let e=this.st.e?this.e:t.e;return s.fromDateTimes(e,i)}static merge(t){let[e,i]=t.sort((n,o)=>n.s-o.s).reduce(([n,o],r)=>o?o.overlaps(r)||o.abutsStart(r)?[n,o.union(r)]:[n.concat([o]),r]:[n,r],[[],null]);return i&&e.push(i),e}static xor(t){let e=null,i=0,n=[],o=t.map(l=>[{time:l.s,type:"s"},{time:l.e,type:"e"}]),r=Array.prototype.concat(...o),a=r.sort((l,c)=>l.time-c.time);for(let l of a)i+=l.type==="s"?1:-1,i===1?e=l.time:(e&&+e!=+l.time&&n.push(s.fromDateTimes(e,l.time)),e=null);return s.merge(n)}difference(...t){return s.xor([this].concat(t)).map(e=>this.intersection(e)).filter(e=>e&&!e.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:Xe}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=Ri,e={}){return this.isValid?ft.create(this.s.loc.clone(e),t).formatInterval(this):Xe}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:Xe}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Xe}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:Xe}toFormat(t,{separator:e=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(t)}${e}${this.e.toFormat(t)}`:Xe}toDuration(t,e){return this.isValid?this.e.diff(this.s,t,e):tt.invalid(this.invalidReason)}mapEndpoints(t){return s.fromDateTimes(t(this.s),t(this.e))}},Ke=class{static hasDST(t=Y.defaultZone){let e=R.now().setZone(t).set({month:12});return!t.isUniversal&&e.offset!==e.set({month:6}).offset}static isValidIANAZone(t){return ae.isValidZone(t)}static normalizeZone(t){return ne(t,Y.defaultZone)}static getStartOfWeek({locale:t=null,locObj:e=null}={}){return(e||B.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:e=null}={}){return(e||B.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:e=null}={}){return(e||B.create(t)).getWeekendDays().slice()}static months(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:o="gregory"}={}){return(n||B.create(e,i,o)).months(t)}static monthsFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null,outputCalendar:o="gregory"}={}){return(n||B.create(e,i,o)).months(t,!0)}static weekdays(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||B.create(e,i,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:e=null,numberingSystem:i=null,locObj:n=null}={}){return(n||B.create(e,i,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return B.create(t).meridiems()}static eras(t="short",{locale:e=null}={}){return B.create(e,null,"gregory").eras(t)}static features(){return{relative:Ql(),localeWeek:tc()}}};function pl(s,t){let e=n=>n.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),i=e(t)-e(s);return Math.floor(tt.fromMillis(i).as("days"))}function Pm(s,t,e){let i=[["years",(l,c)=>c.year-l.year],["quarters",(l,c)=>c.quarter-l.quarter+(c.year-l.year)*4],["months",(l,c)=>c.month-l.month+(c.year-l.year)*12],["weeks",(l,c)=>{let h=pl(l,c);return(h-h%7)/7}],["days",pl]],n={},o=s,r,a;for(let[l,c]of i)e.indexOf(l)>=0&&(r=l,n[l]=c(s,t),a=o.plus(n),a>t?(n[l]--,s=o.plus(n),s>t&&(a=s,n[l]--,s=o.plus(n))):s=a);return[s,n,a,r]}function Am(s,t,e,i){let[n,o,r,a]=Pm(s,t,e),l=t-n,c=e.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);c.length===0&&(r0?tt.fromMillis(l,i).shiftTo(...c).plus(h):h}var Im="missing Intl.DateTimeFormat.formatToParts support";function N(s,t=e=>e){return{regex:s,deser:([e])=>t(kg(e))}}var Em="\xA0",yc=`[ ${Em}]`,xc=new RegExp(yc,"g");function Lm(s){return s.replace(/\./g,"\\.?").replace(xc,yc)}function bl(s){return s.replace(/\./g,"").replace(xc," ").toLowerCase()}function Tt(s,t){return s===null?null:{regex:RegExp(s.map(Lm).join("|")),deser:([e])=>s.findIndex(i=>bl(e)===bl(i))+t}}function yl(s,t){return{regex:s,deser:([,e,i])=>ji(e,i),groups:t}}function Ci(s){return{regex:s,deser:([t])=>t}}function Fm(s){return s.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Rm(s,t){let e=Ot(t),i=Ot(t,"{2}"),n=Ot(t,"{3}"),o=Ot(t,"{4}"),r=Ot(t,"{6}"),a=Ot(t,"{1,2}"),l=Ot(t,"{1,3}"),c=Ot(t,"{1,6}"),h=Ot(t,"{1,9}"),u=Ot(t,"{2,4}"),d=Ot(t,"{4,6}"),f=p=>({regex:RegExp(Fm(p.val)),deser:([b])=>b,literal:!0}),m=(p=>{if(s.literal)return f(p);switch(p.val){case"G":return Tt(t.eras("short"),0);case"GG":return Tt(t.eras("long"),0);case"y":return N(c);case"yy":return N(u,Do);case"yyyy":return N(o);case"yyyyy":return N(d);case"yyyyyy":return N(r);case"M":return N(a);case"MM":return N(i);case"MMM":return Tt(t.months("short",!0),1);case"MMMM":return Tt(t.months("long",!0),1);case"L":return N(a);case"LL":return N(i);case"LLL":return Tt(t.months("short",!1),1);case"LLLL":return Tt(t.months("long",!1),1);case"d":return N(a);case"dd":return N(i);case"o":return N(l);case"ooo":return N(n);case"HH":return N(i);case"H":return N(a);case"hh":return N(i);case"h":return N(a);case"mm":return N(i);case"m":return N(a);case"q":return N(a);case"qq":return N(i);case"s":return N(a);case"ss":return N(i);case"S":return N(l);case"SSS":return N(n);case"u":return Ci(h);case"uu":return Ci(a);case"uuu":return N(e);case"a":return Tt(t.meridiems(),0);case"kkkk":return N(o);case"kk":return N(u,Do);case"W":return N(a);case"WW":return N(i);case"E":case"c":return N(e);case"EEE":return Tt(t.weekdays("short",!1),1);case"EEEE":return Tt(t.weekdays("long",!1),1);case"ccc":return Tt(t.weekdays("short",!0),1);case"cccc":return Tt(t.weekdays("long",!0),1);case"Z":case"ZZ":return yl(new RegExp(`([+-]${a.source})(?::(${i.source}))?`),2);case"ZZZ":return yl(new RegExp(`([+-]${a.source})(${i.source})?`),2);case"z":return Ci(/[a-z_+-/]{1,256}?/i);case" ":return Ci(/[^\S\n\r]/);default:return f(p)}})(s)||{invalidReason:Im};return m.token=s,m}var Nm={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function zm(s,t,e){let{type:i,value:n}=s;if(i==="literal"){let l=/^\s+$/.test(n);return{literal:!l,val:l?" ":n}}let o=t[i],r=i;i==="hour"&&(t.hour12!=null?r=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?r="hour12":r="hour24":r=e.hour12?"hour12":"hour24");let a=Nm[r];if(typeof a=="object"&&(a=a[o]),a)return{literal:!1,val:a}}function Vm(s){return[`^${s.map(e=>e.regex).reduce((e,i)=>`${e}(${i.source})`,"")}$`,s]}function Wm(s,t,e){let i=s.match(t);if(i){let n={},o=1;for(let r in e)if(ss(e,r)){let a=e[r],l=a.groups?a.groups+1:1;!a.literal&&a.token&&(n[a.token.val[0]]=a.deser(i.slice(o,o+l))),o+=l}return[i,n]}else return[i,{}]}function Bm(s){let t=o=>{switch(o){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},e=null,i;return D(s.z)||(e=ae.create(s.z)),D(s.Z)||(e||(e=new kt(s.Z)),i=s.Z),D(s.q)||(s.M=(s.q-1)*3+1),D(s.h)||(s.h<12&&s.a===1?s.h+=12:s.h===12&&s.a===0&&(s.h=0)),s.G===0&&s.y&&(s.y=-s.y),D(s.u)||(s.S=Eo(s.u)),[Object.keys(s).reduce((o,r)=>{let a=t(r);return a&&(o[a]=s[r]),o},{}),e,i]}var ro=null;function Hm(){return ro||(ro=R.fromMillis(1555555555555)),ro}function $m(s,t){if(s.literal)return s;let e=ft.macroTokenToFormatOpts(s.val),i=kc(e,t);return i==null||i.includes(void 0)?s:i}function _c(s,t){return Array.prototype.concat(...s.map(e=>$m(e,t)))}var Bi=class{constructor(t,e){if(this.locale=t,this.format=e,this.tokens=_c(ft.parseFormat(e),t),this.units=this.tokens.map(i=>Rm(i,t)),this.disqualifyingUnit=this.units.find(i=>i.invalidReason),!this.disqualifyingUnit){let[i,n]=Vm(this.units);this.regex=RegExp(i,"i"),this.handlers=n}}explainFromTokens(t){if(this.isValid){let[e,i]=Wm(t,this.regex,this.handlers),[n,o,r]=i?Bm(i):[null,null,void 0];if(ss(i,"a")&&ss(i,"H"))throw new oe("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:e,matches:i,result:n,zone:o,specificOffset:r}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function wc(s,t,e){return new Bi(s,e).explainFromTokens(t)}function jm(s,t,e){let{result:i,zone:n,specificOffset:o,invalidReason:r}=wc(s,t,e);return[i,n,o,r]}function kc(s,t){if(!s)return null;let i=ft.create(t,s).dtFormatter(Hm()),n=i.formatToParts(),o=i.resolvedOptions();return n.map(r=>zm(r,s,o))}var ao="Invalid DateTime",xl=864e13;function Ns(s){return new gt("unsupported zone",`the zone "${s.name}" is not supported`)}function lo(s){return s.weekData===null&&(s.weekData=zi(s.c)),s.weekData}function co(s){return s.localWeekData===null&&(s.localWeekData=zi(s.c,s.loc.getMinDaysInFirstWeek(),s.loc.getStartOfWeek())),s.localWeekData}function ve(s,t){let e={ts:s.ts,zone:s.zone,c:s.c,o:s.o,loc:s.loc,invalid:s.invalid};return new R({...e,...t,old:e})}function vc(s,t,e){let i=s-t*60*1e3,n=e.offset(i);if(t===n)return[i,t];i-=(n-t)*60*1e3;let o=e.offset(i);return n===o?[i,n]:[s-Math.min(n,o)*60*1e3,Math.max(n,o)]}function Pi(s,t){s+=t*60*1e3;let e=new Date(s);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),millisecond:e.getUTCMilliseconds()}}function Ii(s,t,e){return vc($i(s),t,e)}function _l(s,t){let e=s.o,i=s.c.year+Math.trunc(t.years),n=s.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,o={...s.c,year:i,month:n,day:Math.min(s.c.day,Vi(i,n))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},r=tt.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),a=$i(o),[l,c]=vc(a,e,s.zone);return r!==0&&(l+=r,c=s.zone.offset(l)),{ts:l,o:c}}function Je(s,t,e,i,n,o){let{setZone:r,zone:a}=e;if(s&&Object.keys(s).length!==0||t){let l=t||a,c=R.fromObject(s,{...e,zone:l,specificOffset:o});return r?c:c.setZone(a)}else return R.invalid(new gt("unparsable",`the input "${n}" can't be parsed as ${i}`))}function Ai(s,t,e=!0){return s.isValid?ft.create(B.create("en-US"),{allowZ:e,forceSimple:!0}).formatDateTimeFromString(s,t):null}function ho(s,t,e){let i=s.c.year>9999||s.c.year<0,n="";if(i&&s.c.year>=0&&(n+="+"),n+=J(s.c.year,i?6:4),e==="year")return n;if(t){if(n+="-",n+=J(s.c.month),e==="month")return n;n+="-"}else if(n+=J(s.c.month),e==="month")return n;return n+=J(s.c.day),n}function wl(s,t,e,i,n,o,r){let a=!e||s.c.millisecond!==0||s.c.second!==0,l="";switch(r){case"day":case"month":case"year":break;default:if(l+=J(s.c.hour),r==="hour")break;if(t){if(l+=":",l+=J(s.c.minute),r==="minute")break;a&&(l+=":",l+=J(s.c.second))}else{if(l+=J(s.c.minute),r==="minute")break;a&&(l+=J(s.c.second))}if(r==="second")break;a&&(!i||s.c.millisecond!==0)&&(l+=".",l+=J(s.c.millisecond,3))}return n&&(s.isOffsetFixed&&s.offset===0&&!o?l+="Z":s.o<0?(l+="-",l+=J(Math.trunc(-s.o/60)),l+=":",l+=J(Math.trunc(-s.o%60))):(l+="+",l+=J(Math.trunc(s.o/60)),l+=":",l+=J(Math.trunc(s.o%60)))),o&&(l+="["+s.zone.ianaName+"]"),l}var Sc={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Um={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Ym={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ei=["year","month","day","hour","minute","second","millisecond"],Zm=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],qm=["year","ordinal","hour","minute","second","millisecond"];function Li(s){let t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[s.toLowerCase()];if(!t)throw new Fi(s);return t}function kl(s){switch(s.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Li(s)}}function Gm(s){if(zs===void 0&&(zs=Y.now()),s.type!=="iana")return s.offset(zs);let t=s.name,e=Co.get(t);return e===void 0&&(e=s.offset(zs),Co.set(t,e)),e}function vl(s,t){let e=ne(t.zone,Y.defaultZone);if(!e.isValid)return R.invalid(Ns(e));let i=B.fromObject(t),n,o;if(D(s.year))n=Y.now();else{for(let l of Ei)D(s[l])&&(s[l]=Sc[l]);let r=Jl(s)||Kl(s);if(r)return R.invalid(r);let a=Gm(e);[n,o]=Ii(s,a,e)}return new R({ts:n,zone:e,loc:i,o})}function Sl(s,t,e){let i=D(e.round)?!0:e.round,n=D(e.rounding)?"trunc":e.rounding,o=(a,l)=>(a=Lo(a,i||e.calendary?0:2,e.calendary?"round":n),t.loc.clone(e).relFormatter(e).format(a,l)),r=a=>e.calendary?t.hasSame(s,a)?0:t.startOf(a).diff(s.startOf(a),a).get(a):t.diff(s,a).get(a);if(e.unit)return o(r(e.unit),e.unit);for(let a of e.units){let l=r(a);if(Math.abs(l)>=1)return o(l,a)}return o(s>t?-0:0,e.units[e.units.length-1])}function Ml(s){let t={},e;return s.length>0&&typeof s[s.length-1]=="object"?(t=s[s.length-1],e=Array.from(s).slice(0,s.length-1)):e=Array.from(s),[t,e]}var zs,Co=new Map,R=class s{constructor(t){let e=t.zone||Y.defaultZone,i=t.invalid||(Number.isNaN(t.ts)?new gt("invalid input"):null)||(e.isValid?null:Ns(e));this.ts=D(t.ts)?Y.now():t.ts;let n=null,o=null;if(!i)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(e))[n,o]=[t.old.c,t.old.o];else{let a=re(t.o)&&!t.old?t.o:e.offset(this.ts);n=Pi(this.ts,a),i=Number.isNaN(n.year)?new gt("invalid input"):null,n=i?null:n,o=i?null:a}this._zone=e,this.loc=t.loc||B.create(),this.invalid=i,this.weekData=null,this.localWeekData=null,this.c=n,this.o=o,this.isLuxonDateTime=!0}static now(){return new s({})}static local(){let[t,e]=Ml(arguments),[i,n,o,r,a,l,c]=e;return vl({year:i,month:n,day:o,hour:r,minute:a,second:l,millisecond:c},t)}static utc(){let[t,e]=Ml(arguments),[i,n,o,r,a,l,c]=e;return t.zone=kt.utcInstance,vl({year:i,month:n,day:o,hour:r,minute:a,second:l,millisecond:c},t)}static fromJSDate(t,e={}){let i=Tg(t)?t.valueOf():NaN;if(Number.isNaN(i))return s.invalid("invalid input");let n=ne(e.zone,Y.defaultZone);return n.isValid?new s({ts:i,zone:n,loc:B.fromObject(e)}):s.invalid(Ns(n))}static fromMillis(t,e={}){if(re(t))return t<-xl||t>xl?s.invalid("Timestamp out of range"):new s({ts:t,zone:ne(e.zone,Y.defaultZone),loc:B.fromObject(e)});throw new Q(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,e={}){if(re(t))return new s({ts:t*1e3,zone:ne(e.zone,Y.defaultZone),loc:B.fromObject(e)});throw new Q("fromSeconds requires a numerical input")}static fromObject(t,e={}){t=t||{};let i=ne(e.zone,Y.defaultZone);if(!i.isValid)return s.invalid(Ns(i));let n=B.fromObject(e),o=Wi(t,kl),{minDaysInFirstWeek:r,startOfWeek:a}=ll(o,n),l=Y.now(),c=D(e.specificOffset)?i.offset(l):e.specificOffset,h=!D(o.ordinal),u=!D(o.year),d=!D(o.month)||!D(o.day),f=u||d,g=o.weekYear||o.weekNumber;if((f||h)&&g)throw new oe("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&h)throw new oe("Can't mix ordinal dates with month/day");let m=g||o.weekday&&!f,p,b,y=Pi(l,c);m?(p=Zm,b=Um,y=zi(y,r,a)):h?(p=qm,b=Ym,y=oo(y)):(p=Ei,b=Sc);let _=!1;for(let C of p){let A=o[C];D(A)?_?o[C]=b[C]:o[C]=y[C]:_=!0}let w=m?Sg(o,r,a):h?Mg(o):Jl(o),x=w||Kl(o);if(x)return s.invalid(x);let k=m?rl(o,r,a):h?al(o):o,[S,M]=Ii(k,c,i),T=new s({ts:S,zone:i,o:M,loc:n});return o.weekday&&f&&t.weekday!==T.weekday?s.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${T.toISO()}`):T.isValid?T:s.invalid(T.invalid)}static fromISO(t,e={}){let[i,n]=pm(t);return Je(i,n,e,"ISO 8601",t)}static fromRFC2822(t,e={}){let[i,n]=bm(t);return Je(i,n,e,"RFC 2822",t)}static fromHTTP(t,e={}){let[i,n]=ym(t);return Je(i,n,e,"HTTP",e)}static fromFormat(t,e,i={}){if(D(t)||D(e))throw new Q("fromFormat requires an input string and a format");let{locale:n=null,numberingSystem:o=null}=i,r=B.fromOpts({locale:n,numberingSystem:o,defaultToEN:!0}),[a,l,c,h]=jm(r,t,e);return h?s.invalid(h):Je(a,l,i,`format ${e}`,t,c)}static fromString(t,e,i={}){return s.fromFormat(t,e,i)}static fromSQL(t,e={}){let[i,n]=Mm(t);return Je(i,n,e,"SQL",t)}static invalid(t,e=null){if(!t)throw new Q("need to specify a reason the DateTime is invalid");let i=t instanceof gt?t:new gt(t,e);if(Y.throwOnInvalid)throw new uo(i);return new s({invalid:i})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,e={}){let i=kc(t,B.fromObject(e));return i?i.map(n=>n?n.val:null).join(""):null}static expandFormat(t,e={}){return _c(ft.parseFormat(t),B.fromObject(e)).map(n=>n.val).join("")}static resetCache(){zs=void 0,Co.clear()}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?lo(this).weekYear:NaN}get weekNumber(){return this.isValid?lo(this).weekNumber:NaN}get weekday(){return this.isValid?lo(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?co(this).weekday:NaN}get localWeekNumber(){return this.isValid?co(this).weekNumber:NaN}get localWeekYear(){return this.isValid?co(this).weekYear:NaN}get ordinal(){return this.isValid?oo(this.c).ordinal:NaN}get monthShort(){return this.isValid?Ke.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Ke.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Ke.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Ke.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let t=864e5,e=6e4,i=$i(this.c),n=this.zone.offset(i-t),o=this.zone.offset(i+t),r=this.zone.offset(i-n*e),a=this.zone.offset(i-o*e);if(r===a)return[this];let l=i-r*e,c=i-a*e,h=Pi(l,r),u=Pi(c,a);return h.hour===u.hour&&h.minute===u.minute&&h.second===u.second&&h.millisecond===u.millisecond?[ve(this,{ts:l}),ve(this,{ts:c})]:[this]}get isInLeapYear(){return Bs(this.year)}get daysInMonth(){return Vi(this.year,this.month)}get daysInYear(){return this.isValid?Qe(this.year):NaN}get weeksInWeekYear(){return this.isValid?Ws(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Ws(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){let{locale:e,numberingSystem:i,calendar:n}=ft.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:e,numberingSystem:i,outputCalendar:n}}toUTC(t=0,e={}){return this.setZone(kt.instance(t),e)}toLocal(){return this.setZone(Y.defaultZone)}setZone(t,{keepLocalTime:e=!1,keepCalendarTime:i=!1}={}){if(t=ne(t,Y.defaultZone),t.equals(this.zone))return this;if(t.isValid){let n=this.ts;if(e||i){let o=t.offset(this.ts),r=this.toObject();[n]=Ii(r,o,t)}return ve(this,{ts:n,zone:t})}else return s.invalid(Ns(t))}reconfigure({locale:t,numberingSystem:e,outputCalendar:i}={}){let n=this.loc.clone({locale:t,numberingSystem:e,outputCalendar:i});return ve(this,{loc:n})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;let e=Wi(t,kl),{minDaysInFirstWeek:i,startOfWeek:n}=ll(e,this.loc),o=!D(e.weekYear)||!D(e.weekNumber)||!D(e.weekday),r=!D(e.ordinal),a=!D(e.year),l=!D(e.month)||!D(e.day),c=a||l,h=e.weekYear||e.weekNumber;if((c||r)&&h)throw new oe("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&r)throw new oe("Can't mix ordinal dates with month/day");let u;o?u=rl({...zi(this.c,i,n),...e},i,n):D(e.ordinal)?(u={...this.toObject(),...e},D(e.day)&&(u.day=Math.min(Vi(u.year,u.month),u.day))):u=al({...oo(this.c),...e});let[d,f]=Ii(u,this.o,this.zone);return ve(this,{ts:d,o:f})}plus(t){if(!this.isValid)return this;let e=tt.fromDurationLike(t);return ve(this,_l(this,e))}minus(t){if(!this.isValid)return this;let e=tt.fromDurationLike(t).negate();return ve(this,_l(this,e))}startOf(t,{useLocaleWeeks:e=!1}={}){if(!this.isValid)return this;let i={},n=tt.normalizeUnit(t);switch(n){case"years":i.month=1;case"quarters":case"months":i.day=1;case"weeks":case"days":i.hour=0;case"hours":i.minute=0;case"minutes":i.second=0;case"seconds":i.millisecond=0;break}if(n==="weeks")if(e){let o=this.loc.getStartOfWeek(),{weekday:r}=this;r=3&&(l+="T"),l+=wl(this,a,e,i,n,o,r),l}toISODate({format:t="extended",precision:e="day"}={}){return this.isValid?ho(this,t==="extended",Li(e)):null}toISOWeekDate(){return Ai(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:t=!1,suppressSeconds:e=!1,includeOffset:i=!0,includePrefix:n=!1,extendedZone:o=!1,format:r="extended",precision:a="milliseconds"}={}){return this.isValid?(a=Li(a),(n&&Ei.indexOf(a)>=3?"T":"")+wl(this,r==="extended",e,t,i,o,a)):null}toRFC2822(){return Ai(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Ai(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?ho(this,!0):null}toSQLTime({includeOffset:t=!0,includeZone:e=!1,includeOffsetSpace:i=!0}={}){let n="HH:mm:ss.SSS";return(e||t)&&(i&&(n+=" "),e?n+="z":t&&(n+="ZZ")),Ai(this,n,!0)}toSQL(t={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(t)}`:null}toString(){return this.isValid?this.toISO():ao}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(t={}){if(!this.isValid)return{};let e={...this.c};return t.includeConfig&&(e.outputCalendar=this.outputCalendar,e.numberingSystem=this.loc.numberingSystem,e.locale=this.loc.locale),e}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(t,e="milliseconds",i={}){if(!this.isValid||!t.isValid)return tt.invalid("created by diffing an invalid DateTime");let n={locale:this.locale,numberingSystem:this.numberingSystem,...i},o=Dg(e).map(tt.normalizeUnit),r=t.valueOf()>this.valueOf(),a=r?this:t,l=r?t:this,c=Am(a,l,o,n);return r?c.negate():c}diffNow(t="milliseconds",e={}){return this.diff(s.now(),t,e)}until(t){return this.isValid?es.fromDateTimes(this,t):this}hasSame(t,e,i){if(!this.isValid)return!1;let n=t.valueOf(),o=this.setZone(t.zone,{keepLocalTime:!0});return o.startOf(e,i)<=n&&n<=o.endOf(e,i)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;let e=t.base||s.fromObject({},{zone:this.zone}),i=t.padding?thise.valueOf(),Math.min)}static max(...t){if(!t.every(s.isDateTime))throw new Q("max requires all arguments be DateTimes");return cl(t,e=>e.valueOf(),Math.max)}static fromFormatExplain(t,e,i={}){let{locale:n=null,numberingSystem:o=null}=i,r=B.fromOpts({locale:n,numberingSystem:o,defaultToEN:!0});return wc(r,t,e)}static fromStringExplain(t,e,i={}){return s.fromFormatExplain(t,e,i)}static buildFormatParser(t,e={}){let{locale:i=null,numberingSystem:n=null}=e,o=B.fromOpts({locale:i,numberingSystem:n,defaultToEN:!0});return new Bi(o,t)}static fromFormatParser(t,e,i={}){if(D(t)||D(e))throw new Q("fromFormatParser requires an input string and a format parser");let{locale:n=null,numberingSystem:o=null}=i,r=B.fromOpts({locale:n,numberingSystem:o,defaultToEN:!0});if(!r.equals(e.locale))throw new Q(`fromFormatParser called with a locale of ${r}, but the format parser was created for ${e.locale}`);let{result:a,zone:l,specificOffset:c,invalidReason:h}=e.explainFromTokens(t);return h?s.invalid(h):Je(a,l,i,`format ${e.format}`,t,c)}static get DATE_SHORT(){return Ri}static get DATE_MED(){return Ol}static get DATE_MED_WITH_WEEKDAY(){return og}static get DATE_FULL(){return Tl}static get DATE_HUGE(){return Dl}static get TIME_SIMPLE(){return Cl}static get TIME_WITH_SECONDS(){return Pl}static get TIME_WITH_SHORT_OFFSET(){return Al}static get TIME_WITH_LONG_OFFSET(){return Il}static get TIME_24_SIMPLE(){return El}static get TIME_24_WITH_SECONDS(){return Ll}static get TIME_24_WITH_SHORT_OFFSET(){return Fl}static get TIME_24_WITH_LONG_OFFSET(){return Rl}static get DATETIME_SHORT(){return Nl}static get DATETIME_SHORT_WITH_SECONDS(){return zl}static get DATETIME_MED(){return Vl}static get DATETIME_MED_WITH_SECONDS(){return Wl}static get DATETIME_MED_WITH_WEEKDAY(){return rg}static get DATETIME_FULL(){return Bl}static get DATETIME_FULL_WITH_SECONDS(){return Hl}static get DATETIME_HUGE(){return $l}static get DATETIME_HUGE_WITH_SECONDS(){return jl}};function Fs(s){if(R.isDateTime(s))return s;if(s&&s.valueOf&&re(s.valueOf()))return R.fromJSDate(s);if(s&&typeof s=="object")return R.fromObject(s);throw new Q(`Unknown datetime argument: ${s}, of type ${typeof s}`)}var Xm={datetime:R.DATETIME_MED_WITH_SECONDS,millisecond:"h:mm:ss.SSS a",second:R.TIME_WITH_SECONDS,minute:R.TIME_SIMPLE,hour:{hour:"numeric"},day:{day:"numeric",month:"short"},week:"DD",month:{month:"short",year:"numeric"},quarter:"'Q'q - yyyy",year:{year:"numeric"}};eo._date.override({_id:"luxon",_create:function(s){return R.fromMillis(s,this.options)},init(s){this.options.locale||(this.options.locale=s.locale)},formats:function(){return Xm},parse:function(s,t){let e=this.options,i=typeof s;return s===null||i==="undefined"?null:(i==="number"?s=this._create(s):i==="string"?typeof t=="string"?s=R.fromFormat(s,t,e):s=R.fromISO(s,e):s instanceof Date?s=R.fromJSDate(s,e):i==="object"&&!(s instanceof R)&&(s=R.fromObject(s,e)),s.isValid?s.valueOf():null)},format:function(s,t){let e=this._create(s);return typeof t=="string"?e.toFormat(t):e.toLocaleString(t)},add:function(s,t,e){let i={};return i[e]=t,this._create(s).plus(i).valueOf()},diff:function(s,t,e){return this._create(s).diff(this._create(t)).as(e).valueOf()},startOf:function(s,t,e){if(t==="isoWeek"){e=Math.trunc(Math.min(Math.max(0,e),6));let i=this._create(s);return i.minus({days:(i.weekday-e+7)%7}).startOf("day").valueOf()}return t?this._create(s).startOf(t).valueOf():s},endOf:function(s,t){return this._create(s).endOf(t).valueOf()}});window.filamentChartJsGlobalPlugins&&Array.isArray(window.filamentChartJsGlobalPlugins)&&window.filamentChartJsGlobalPlugins.length>0&&Mt.register(...window.filamentChartJsGlobalPlugins);function Yi({cachedData:s,maxHeight:t,options:e,type:i}){return{userPointBackgroundColor:e?.pointBackgroundColor,userXGridColor:e?.scales?.x?.grid?.color,userYGridColor:e?.scales?.y?.grid?.color,userRadialGridColor:e?.scales?.r?.grid?.color,userRadialTicksColor:e?.scales?.r?.ticks?.color,init(){this.initChart(),this.$wire.$on("updateChartData",({data:n})=>{s=n,Yi=this.getChart(),Yi.data=n,Yi.update("resize")}),Alpine.effect(()=>{Alpine.store("theme"),this.$nextTick(()=>{this.getChart()&&(this.getChart().destroy(),this.initChart())})}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Alpine.store("theme")==="system"&&this.$nextTick(()=>{this.getChart().destroy(),this.initChart()})}),this.resizeHandler=Alpine.debounce(()=>{this.getChart().destroy(),this.initChart()},250),window.addEventListener("resize",this.resizeHandler),this.resizeObserver=new ResizeObserver(()=>this.resizeHandler()),this.resizeObserver.observe(this.$el)},initChart(n=null){var a,l,c,h,u,d,f,g,m,p,b,y,_,w,x,k;if(!this.$refs.canvas||!this.$refs.backgroundColorElement||!this.$refs.borderColorElement||!this.$refs.textColorElement||!this.$refs.gridColorElement)return;Mt.defaults.animation.duration=0,Mt.defaults.backgroundColor=getComputedStyle(this.$refs.backgroundColorElement).color;let o=getComputedStyle(this.$refs.borderColorElement).color;Mt.defaults.borderColor=o,Mt.defaults.color=getComputedStyle(this.$refs.textColorElement).color,Mt.defaults.font.family=getComputedStyle(this.$el).fontFamily,Mt.defaults.plugins.legend.labels.boxWidth=12,Mt.defaults.plugins.legend.position="bottom";let r=getComputedStyle(this.$refs.gridColorElement).color;if(e??(e={}),e.borderWidth??(e.borderWidth=2),e.maintainAspectRatio??(e.maintainAspectRatio=!!t),e.pointBackgroundColor=this.userPointBackgroundColor??o,e.pointHitRadius??(e.pointHitRadius=4),e.pointRadius??(e.pointRadius=2),e.scales??(e.scales={}),(a=e.scales).x??(a.x={}),(l=e.scales.x).border??(l.border={}),(c=e.scales.x.border).display??(c.display=!1),(h=e.scales.x).grid??(h.grid={}),e.scales.x.grid.color=this.userXGridColor??r,(u=e.scales.x.grid).display??(u.display=!1),(d=e.scales).y??(d.y={}),(f=e.scales.y).border??(f.border={}),(g=e.scales.y.border).display??(g.display=!1),(m=e.scales.y).grid??(m.grid={}),e.scales.y.grid.color=this.userYGridColor??r,["doughnut","pie","polarArea"].includes(i)&&((p=e.scales.x).display??(p.display=!1),(b=e.scales.y).display??(b.display=!1),(y=e.scales.y.grid).display??(y.display=!1)),i==="polarArea"){let S=getComputedStyle(this.$refs.textColorElement).color;(_=e.scales).r??(_.r={}),(w=e.scales.r).grid??(w.grid={}),e.scales.r.grid.color=this.userRadialGridColor??r,(x=e.scales.r).ticks??(x.ticks={}),e.scales.r.ticks.color=this.userRadialTicksColor??S,(k=e.scales.r.ticks).backdropColor??(k.backdropColor="transparent")}return new Mt(this.$refs.canvas,{type:i,data:n??s,options:e,plugins:window.filamentChartJsPlugins??[]})},getChart(){return this.$refs.canvas?Mt.getChart(this.$refs.canvas):null},destroy(){window.removeEventListener("resize",this.resizeHandler),this.resizeObserver&&this.resizeObserver.disconnect(),this.getChart()?.destroy()}}}export{Yi as default}; /*! Bundled license information: -chart.js/dist/chunks/helpers.segment.mjs: +@kurkle/color/dist/color.esm.js: (*! - * Chart.js v3.9.1 - * https://www.chartjs.org - * (c) 2022 Chart.js Contributors - * Released under the MIT License - *) - -chart.js/dist/chunks/helpers.segment.mjs: - (*! - * @kurkle/color v0.2.1 + * @kurkle/color v0.3.4 * https://github.com/kurkle/color#readme - * (c) 2022 Jukka Kurkela + * (c) 2024 Jukka Kurkela * Released under the MIT License *) -chart.js/dist/chart.mjs: +chart.js/dist/chunks/helpers.dataset.js: +chart.js/dist/chart.js: (*! - * Chart.js v3.9.1 + * Chart.js v4.5.1 * https://www.chartjs.org - * (c) 2022 Chart.js Contributors + * (c) 2025 Chart.js Contributors * Released under the MIT License *) diff --git a/public/js/filament/widgets/components/stats-overview/stat/chart.js b/public/js/filament/widgets/components/stats-overview/stat/chart.js index ea2cbe7d3..dd83e7101 100644 --- a/public/js/filament/widgets/components/stats-overview/stat/chart.js +++ b/public/js/filament/widgets/components/stats-overview/stat/chart.js @@ -1,29 +1,22 @@ -function rt(){}var Hs=function(){let i=0;return function(){return i++}}();function T(i){return i===null||typeof i>"u"}function I(i){if(Array.isArray&&Array.isArray(i))return!0;let t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function D(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}var W=i=>(typeof i=="number"||i instanceof Number)&&isFinite(+i);function Q(i,t){return W(i)?i:t}function C(i,t){return typeof i>"u"?t:i}var js=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100:i/t,Oi=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function z(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function E(i,t,e,s){let n,o,a;if(I(i))if(o=i.length,s)for(n=o-1;n>=0;n--)t.call(e,i[n],n);else for(n=0;ni,x:i=>i.x,y:i=>i.y};function gt(i,t){return(Ds[t]||(Ds[t]=Io(t)))(i)}function Io(i){let t=zo(i);return e=>{for(let s of t){if(s==="")break;e=e&&e[s]}return e}}function zo(i){let t=i.split("."),e=[],s="";for(let n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function Ke(i){return i.charAt(0).toUpperCase()+i.slice(1)}var J=i=>typeof i<"u",ft=i=>typeof i=="function",Ai=(i,t)=>{if(i.size!==t.size)return!1;for(let e of i)if(!t.has(e))return!1;return!0};function Ys(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}var B=Math.PI,F=2*B,Bo=F+B,Ye=Number.POSITIVE_INFINITY,Vo=B/180,V=B/2,fe=B/4,Os=B*2/3,tt=Math.log10,ot=Math.sign;function Ti(i){let t=Math.round(i);i=Kt(i,t,i/1e3)?t:i;let e=Math.pow(10,Math.floor(tt(i))),s=i/e;return(s<=1?1:s<=2?2:s<=5?5:10)*e}function Xs(i){let t=[],e=Math.sqrt(i),s;for(s=1;sn-o).pop(),t}function Rt(i){return!isNaN(parseFloat(i))&&isFinite(i)}function Kt(i,t,e){return Math.abs(i-t)=i}function Li(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function Ge(i,t,e){e=e||(a=>i[a]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}var at=(i,t,e,s)=>Ge(i,e,s?n=>i[n][t]<=e:n=>i[n][t]Ge(i,e,s=>i[s][t]>=e);function Gs(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{let s="_onData"+Ke(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){let a=n.apply(this,o);return i._chartjs.listeners.forEach(r=>{typeof r[s]=="function"&&r[s](...o)}),a}})})}function Fi(i,t){let e=i._chartjs;if(!e)return;let s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(Zs.forEach(o=>{delete i[o]}),delete i._chartjs)}function Ii(i){let t=new Set,e,s;for(e=0,s=i.length;e"u"?function(i){return i()}:window.requestAnimationFrame}();function Bi(i,t,e){let s=e||(a=>Array.prototype.slice.call(a)),n=!1,o=[];return function(...a){o=s(a),n||(n=!0,zi.call(window,()=>{n=!1,i.apply(t,o)}))}}function Qs(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}var Ze=i=>i==="start"?"left":i==="end"?"right":"center",X=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,tn=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Vi(i,t,e){let s=t.length,n=0,o=s;if(i._sorted){let{iScale:a,_parsed:r}=i,l=a.axis,{min:c,max:h,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=Y(Math.min(at(r,a.axis,c).lo,e?s:at(t,l,a.getPixelForValue(c)).lo),0,s-1)),u?o=Y(Math.max(at(r,a.axis,h,!0).hi+1,e?0:at(t,l,a.getPixelForValue(h),!0).hi+1),n,s)-n:o=s-n}return{start:n,count:o}}function Wi(i){let{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;let o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}var Ve=i=>i===0||i===1,As=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*F/e)),Ts=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*F/e)+1,Ht={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*V)+1,easeOutSine:i=>Math.sin(i*V),easeInOutSine:i=>-.5*(Math.cos(B*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>Ve(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>Ve(i)?i:As(i,.075,.3),easeOutElastic:i=>Ve(i)?i:Ts(i,.075,.3),easeInOutElastic(i){return Ve(i)?i:i<.5?.5*As(i*2,.1125,.45):.5+.5*Ts(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Ht.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Ht.easeInBounce(i*2)*.5:Ht.easeOutBounce(i*2-1)*.5+.5};function _e(i){return i+.5|0}var yt=(i,t,e)=>Math.max(Math.min(i,e),t);function ge(i){return yt(_e(i*2.55),0,255)}function vt(i){return yt(_e(i*255),0,255)}function ut(i){return yt(_e(i/2.55)/100,0,1)}function Ls(i){return yt(_e(i*100),0,100)}var st={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},Ci=[..."0123456789ABCDEF"],No=i=>Ci[i&15],Ho=i=>Ci[(i&240)>>4]+Ci[i&15],We=i=>(i&240)>>4===(i&15),jo=i=>We(i.r)&&We(i.g)&&We(i.b)&&We(i.a);function $o(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&st[i[1]]*17,g:255&st[i[2]]*17,b:255&st[i[3]]*17,a:t===5?st[i[4]]*17:255}:(t===7||t===9)&&(e={r:st[i[1]]<<4|st[i[2]],g:st[i[3]]<<4|st[i[4]],b:st[i[5]]<<4|st[i[6]],a:t===9?st[i[7]]<<4|st[i[8]]:255})),e}var Yo=(i,t)=>i<255?t(i):"";function Xo(i){var t=jo(i)?No:Ho;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Yo(i.a,t):void 0}var Uo=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function en(i,t,e){let s=t*Math.min(e,1-e),n=(o,a=(o+i/30)%12)=>e-s*Math.max(Math.min(a-3,9-a,1),-1);return[n(0),n(8),n(4)]}function Ko(i,t,e){let s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function qo(i,t,e){let s=en(i,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function Go(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-a):h/(o+a),l=Go(e,s,n,h,o),l=l*60+.5),[l|0,c||0,r]}function Hi(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(vt)}function ji(i,t,e){return Hi(en,i,t,e)}function Zo(i,t,e){return Hi(qo,i,t,e)}function Jo(i,t,e){return Hi(Ko,i,t,e)}function sn(i){return(i%360+360)%360}function Qo(i){let t=Uo.exec(i),e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?ge(+t[5]):vt(+t[5]));let n=sn(+t[2]),o=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?s=Zo(n,o,a):t[1]==="hsv"?s=Jo(n,o,a):s=ji(n,o,a),{r:s[0],g:s[1],b:s[2],a:e}}function ta(i,t){var e=Ni(i);e[0]=sn(e[0]+t),e=ji(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ea(i){if(!i)return;let t=Ni(i),e=t[0],s=Ls(t[1]),n=Ls(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${ut(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}var Rs={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Es={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ia(){let i={},t=Object.keys(Es),e=Object.keys(Rs),s,n,o,a,r;for(s=0;s>16&255,o>>8&255,o&255]}return i}var Ne;function sa(i){Ne||(Ne=ia(),Ne.transparent=[0,0,0,0]);let t=Ne[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var na=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function oa(i){let t=na.exec(i),e=255,s,n,o;if(t){if(t[7]!==s){let a=+t[7];e=t[8]?ge(a):yt(a*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?ge(s):yt(s,0,255)),n=255&(t[4]?ge(n):yt(n,0,255)),o=255&(t[6]?ge(o):yt(o,0,255)),{r:s,g:n,b:o,a:e}}}function aa(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${ut(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}var wi=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Nt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function ra(i,t,e){let s=Nt(ut(i.r)),n=Nt(ut(i.g)),o=Nt(ut(i.b));return{r:vt(wi(s+e*(Nt(ut(t.r))-s))),g:vt(wi(n+e*(Nt(ut(t.g))-n))),b:vt(wi(o+e*(Nt(ut(t.b))-o))),a:i.a+e*(t.a-i.a)}}function He(i,t,e){if(i){let s=Ni(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=ji(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function nn(i,t){return i&&Object.assign(t||{},i)}function Fs(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=vt(i[3]))):(t=nn(i,{r:0,g:0,b:0,a:1}),t.a=vt(t.a)),t}function la(i){return i.charAt(0)==="r"?oa(i):Qo(i)}var $t=class{constructor(t){if(t instanceof $t)return t;let e=typeof t,s;e==="object"?s=Fs(t):e==="string"&&(s=$o(t)||sa(t)||la(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=nn(this._rgb);return t&&(t.a=ut(t.a)),t}set rgb(t){this._rgb=Fs(t)}rgbString(){return this._valid?aa(this._rgb):void 0}hexString(){return this._valid?Xo(this._rgb):void 0}hslString(){return this._valid?ea(this._rgb):void 0}mix(t,e){if(t){let s=this.rgb,n=t.rgb,o,a=e===o?.5:e,r=2*a-1,l=s.a-n.a,c=((r*l===-1?r:(r+l)/(1+r*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=ra(this._rgb,t._rgb,e)),this}clone(){return new $t(this.rgb)}alpha(t){return this._rgb.a=vt(t),this}clearer(t){let e=this._rgb;return e.a*=1-t,this}greyscale(){let t=this._rgb,e=_e(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){let e=this._rgb;return e.a*=1+t,this}negate(){let t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return He(this._rgb,2,t),this}darken(t){return He(this._rgb,2,-t),this}saturate(t){return He(this._rgb,1,t),this}desaturate(t){return He(this._rgb,1,-t),this}rotate(t){return ta(this._rgb,t),this}};function on(i){return new $t(i)}function an(i){if(i&&typeof i=="object"){let t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function $i(i){return an(i)?i:on(i)}function ki(i){return an(i)?i:on(i).saturate(.5).darken(.1).hexString()}var Mt=Object.create(null),Je=Object.create(null);function pe(i,t){if(!t)return i;let e=t.split(".");for(let s=0,n=e.length;se.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=(e,s)=>ki(s.backgroundColor),this.hoverBorderColor=(e,s)=>ki(s.borderColor),this.hoverColor=(e,s)=>ki(s.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,e){return Si(this,t,e)}get(t){return pe(this,t)}describe(t,e){return Si(Je,t,e)}override(t,e){return Si(Mt,t,e)}route(t,e,s,n){let o=pe(this,t),a=pe(this,s),r="_"+e;Object.defineProperties(o,{[r]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){let l=this[r],c=a[n];return D(l)?Object.assign({},c,l):C(l,c)},set(l){this[r]=l}}})}},O=new Di({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function ca(i){return!i||T(i.size)||T(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function me(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function rn(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let a=0,r=e.length,l,c,h,d,u;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function Yt(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="",l,c;for(i.save(),i.font=n.string,ha(i,o),l=0;l+i||0;function ti(i,t){let e={},s=D(t),n=s?Object.keys(t):t,o=D(i)?s?a=>C(i[a],i[t[a]]):a=>i[a]:()=>i;for(let a of n)e[a]=pa(o(a));return e}function Ui(i){return ti(i,{top:"y",right:"x",bottom:"y",left:"x"})}function St(i){return ti(i,["topLeft","topRight","bottomLeft","bottomRight"])}function U(i){let t=Ui(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function $(i,t){i=i||{},t=t||O.font;let e=C(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=C(i.style,t.style);s&&!(""+s).match(fa)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");let n={family:C(i.family,t.family),lineHeight:ga(C(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:C(i.weight,t.weight),string:""};return n.string=ca(n),n}function Zt(i,t,e,s){let n=!0,o,a,r;for(o=0,a=i.length;oe&&r===0?0:r+l;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function pt(i,t){return Object.assign(Object.create(i),t)}function ei(i,t=[""],e=i,s,n=()=>i[0]){J(s)||(s=fn("_fallback",i));let o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:e,_fallback:s,_getTarget:n,override:a=>ei([a,...i],t,e,s)};return new Proxy(o,{deleteProperty(a,r){return delete a[r],delete a._keys,delete i[0][r],!0},get(a,r){return dn(a,r,()=>wa(r,t,i,a))},getOwnPropertyDescriptor(a,r){return Reflect.getOwnPropertyDescriptor(a._scopes[0],r)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,r){return zs(a).includes(r)},ownKeys(a){return zs(a)},set(a,r,l){let c=a._storage||(a._storage=n());return a[r]=c[r]=l,delete a._keys,!0}})}function Lt(i,t,e,s){let n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:Ki(i,s),setContext:o=>Lt(i,o,e,s),override:o=>Lt(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,a){return delete o[a],delete i[a],!0},get(o,a,r){return dn(o,a,()=>ba(o,a,r))},getOwnPropertyDescriptor(o,a){return o._descriptors.allKeys?Reflect.has(i,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,a)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,a){return Reflect.has(i,a)},ownKeys(){return Reflect.ownKeys(i)},set(o,a,r){return i[a]=r,delete o[a],!0}})}function Ki(i,t={scriptable:!0,indexable:!0}){let{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:ft(e)?e:()=>e,isIndexable:ft(s)?s:()=>s}}var ma=(i,t)=>i?i+Ke(t):t,qi=(i,t)=>D(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function dn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t))return i[t];let s=e();return i[t]=s,s}function ba(i,t,e){let{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=i,r=s[t];return ft(r)&&a.isScriptable(t)&&(r=_a(t,r,i,e)),I(r)&&r.length&&(r=xa(t,r,i,a.isIndexable)),qi(t,r)&&(r=Lt(r,n,o&&o[t],a)),r}function _a(i,t,e,s){let{_proxy:n,_context:o,_subProxy:a,_stack:r}=e;if(r.has(i))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+i);return r.add(i),t=t(o,a||s),r.delete(i),qi(i,t)&&(t=Gi(n._scopes,n,i,t)),t}function xa(i,t,e,s){let{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=e;if(J(o.index)&&s(i))t=t[o.index%t.length];else if(D(t[0])){let l=t,c=n._scopes.filter(h=>h!==l);t=[];for(let h of l){let d=Gi(c,n,i,h);t.push(Lt(d,o,a&&a[i],r))}}return t}function un(i,t,e){return ft(i)?i(t,e):i}var ya=(i,t)=>i===!0?t:typeof i=="string"?gt(t,i):void 0;function va(i,t,e,s,n){for(let o of t){let a=ya(e,o);if(a){i.add(a);let r=un(a._fallback,e,n);if(J(r)&&r!==e&&r!==s)return r}else if(a===!1&&J(s)&&e!==s)return null}return!1}function Gi(i,t,e,s){let n=t._rootScopes,o=un(t._fallback,e,s),a=[...i,...n],r=new Set;r.add(s);let l=Is(r,a,e,o||e,s);return l===null||J(o)&&o!==e&&(l=Is(r,a,o,l,s),l===null)?!1:ei(Array.from(r),[""],n,o,()=>Ma(t,e,s))}function Is(i,t,e,s,n){for(;e;)e=va(i,t,e,s,n);return e}function Ma(i,t,e){let s=i._getTarget();t in s||(s[t]={});let n=s[t];return I(n)&&D(e)?e:n}function wa(i,t,e,s){let n;for(let o of t)if(n=fn(ma(o,i),e),J(n))return qi(i,n)?Gi(e,s,i,n):n}function fn(i,t){for(let e of t){if(!e)continue;let s=e[i];if(J(s))return s}}function zs(i){let t=i._keys;return t||(t=i._keys=ka(i._scopes)),t}function ka(i){let t=new Set;for(let e of i)for(let s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}function Zi(i,t,e,s){let{iScale:n}=i,{key:o="r"}=this._parsing,a=new Array(s),r,l,c,h;for(r=0,l=s;rti==="x"?"y":"x";function Pa(i,t,e,s){let n=i.skip?t:i,o=t,a=e.skip?t:e,r=Xe(o,n),l=Xe(a,o),c=r/(r+l),h=l/(r+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;let d=s*c,u=s*h;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function Ca(i,t,e){let s=i.length,n,o,a,r,l,c=Xt(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")Oa(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,a=i.length;owindow.getComputedStyle(i,null);function Ta(i,t){return si(i).getPropertyValue(t)}var La=["top","right","bottom","left"];function Tt(i,t,e){let s={};e=e?"-"+e:"";for(let n=0;n<4;n++){let o=La[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}var Ra=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function Ea(i,t){let e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s,a=!1,r,l;if(Ra(n,o,i.target))r=n,l=o;else{let c=t.getBoundingClientRect();r=s.clientX-c.left,l=s.clientY-c.top,a=!0}return{x:r,y:l,box:a}}function Pt(i,t){if("native"in i)return i;let{canvas:e,currentDevicePixelRatio:s}=t,n=si(e),o=n.boxSizing==="border-box",a=Tt(n,"padding"),r=Tt(n,"border","width"),{x:l,y:c,box:h}=Ea(i,e),d=a.left+(h&&r.left),u=a.top+(h&&r.top),{width:f,height:g}=t;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*e.width/s),y:Math.round((c-u)/g*e.height/s)}}function Fa(i,t,e){let s,n;if(t===void 0||e===void 0){let o=ii(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{let a=o.getBoundingClientRect(),r=si(o),l=Tt(r,"border","width"),c=Tt(r,"padding");t=a.width-c.width-l.width,e=a.height-c.height-l.height,s=Ue(r.maxWidth,o,"clientWidth"),n=Ue(r.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Ye,maxHeight:n||Ye}}var Pi=i=>Math.round(i*10)/10;function mn(i,t,e,s){let n=si(i),o=Tt(n,"margin"),a=Ue(n.maxWidth,i,"clientWidth")||Ye,r=Ue(n.maxHeight,i,"clientHeight")||Ye,l=Fa(i,t,e),{width:c,height:h}=l;if(n.boxSizing==="content-box"){let d=Tt(n,"border","width"),u=Tt(n,"padding");c-=u.width+d.width,h-=u.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?Math.floor(c/s):h-o.height),c=Pi(Math.min(c,a,l.maxWidth)),h=Pi(Math.min(h,r,l.maxHeight)),c&&!h&&(h=Pi(c/2)),{width:c,height:h}}function Qi(i,t,e){let s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=n/s,i.width=o/s;let a=i.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${i.height}px`,a.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||a.height!==n||a.width!==o?(i.currentDevicePixelRatio=s,a.height=n,a.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}var bn=function(){let i=!1;try{let t={get passive(){return i=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch{}return i}();function ts(i,t){let e=Ta(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function xt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function _n(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function xn(i,t,e,s){let n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},a=xt(i,n,e),r=xt(n,o,e),l=xt(o,t,e),c=xt(a,r,e),h=xt(r,l,e);return xt(c,h,e)}var Bs=new Map;function Ia(i,t){t=t||{};let e=i+JSON.stringify(t),s=Bs.get(e);return s||(s=new Intl.NumberFormat(i,t),Bs.set(e,s)),s}function Jt(i,t,e){return Ia(t,e).format(i)}var za=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Ba=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function Et(i,t,e){return i?za(t,e):Ba()}function es(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function is(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function yn(i){return i==="angle"?{between:qt,compare:Wo,normalize:G}:{between:lt,compare:(t,e)=>t-e,normalize:t=>t}}function Vs({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Va(i,t,e){let{property:s,start:n,end:o}=e,{between:a,normalize:r}=yn(s),l=t.length,{start:c,end:h,loop:d}=i,u,f;if(d){for(c+=l,h+=l,u=0,f=l;ul(n,v,b)&&r(n,v)!==0,x=()=>r(o,b)===0||l(o,v,b),M=()=>p||y(),w=()=>!p||x();for(let S=h,k=h;S<=d;++S)_=t[S%a],!_.skip&&(b=c(_[s]),b!==v&&(p=l(b,n,o),m===null&&M()&&(m=r(b,n)===0?S:k),m!==null&&w()&&(g.push(Vs({start:m,end:S,loop:u,count:a,style:f})),m=null),k=S,v=b));return m!==null&&g.push(Vs({start:m,end:d,loop:u,count:a,style:f})),g}function ns(i,t){let e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Na(i,t,e,s){let n=i.length,o=[],a=t,r=i[t],l;for(l=t+1;l<=e;++l){let c=i[l%n];c.skip||c.stop?r.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=a=c.stop?l:null):(a=l,r.skip&&(t=l)),r=c}return a!==null&&o.push({start:t%n,end:a%n,loop:s}),o}function vn(i,t){let e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];let o=!!i._loop,{start:a,end:r}=Wa(e,n,o,s);if(s===!0)return Ws(i,[{start:a,end:r,loop:o}],e,t);let l=rr({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(s-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=zi.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;let o=s.items,a=o.length-1,r=!1,l;for(;a>=0;--a)l=o[a],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),r=!0):(o[a]=o[o.length-1],o.pop());r&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){let e=this._charts,s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let s=e.items,n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}},mt=new gs,Mn="transparent",$a={boolean(i,t,e){return e>.5?t:i},color(i,t,e){let s=$i(i||Mn),n=s.valid&&$i(t||Mn);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}},ps=class{constructor(t,e,s,n){let o=e[s];n=Zt([t.to,n,o,t.from]);let a=Zt([t.from,o,n]);this._active=!0,this._fn=t.fn||$a[t.type||typeof a],this._easing=Ht[t.easing]||Ht.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=s,this._from=a,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);let n=this._target[this._prop],o=s-this._start,a=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Zt([t.to,e,n,t.from]),this._from=Zt([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,s=this._duration,n=this._prop,o=this._from,a=this._loop,r=this._to,l;if(this._active=o!==r&&(a||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,r,l)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){let e=t?"res":"rej",s=this._promises||[];for(let n=0;ni!=="onProgress"&&i!=="onComplete"&&i!=="fn"});O.set("animations",{colors:{type:"color",properties:Xa},numbers:{type:"number",properties:Ya}});O.describe("animations",{_fallback:"animation"});O.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:i=>i|0}}}});var di=class{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!D(t))return;let e=this._properties;Object.getOwnPropertyNames(t).forEach(s=>{let n=t[s];if(!D(n))return;let o={};for(let a of Ua)o[a]=n[a];(I(n.properties)&&n.properties||[s]).forEach(a=>{(a===s||!e.has(a))&&e.set(a,o)})})}_animateOptions(t,e){let s=e.options,n=qa(t,s);if(!n)return[];let o=this._createAnimations(n,s);return s.$shared&&Ka(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){let s=this._properties,n=[],o=t.$animations||(t.$animations={}),a=Object.keys(e),r=Date.now(),l;for(l=a.length-1;l>=0;--l){let c=a[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}let h=e[c],d=o[c],u=s.get(c);if(d)if(u&&d.active()){d.update(u,h,r);continue}else d.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=d=new ps(u,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}let s=this._createAnimations(t,e);if(s.length)return mt.add(this._chart,s),!0}};function Ka(i,t){let e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function Cn(i,t){let{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,c=a.axis,h=Qa(o,a,s),d=t.length,u;for(let f=0;fe[s].axis===t).shift()}function ir(i,t){return pt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function sr(i,t,e){return pt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function ve(i,t){let e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(let n of t){let o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e]}}}var as=i=>i==="reset"||i==="none",Dn=(i,t)=>t?i:Object.assign({},i),nr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:go(e,!0),values:null},et=class{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.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Sn(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&ve(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,u,f,g)=>d==="x"?u:d==="r"?g:f,o=e.xAxisID=C(s.xAxisID,os(t,"x")),a=e.yAxisID=C(s.yAxisID,os(t,"y")),r=e.rAxisID=C(s.rAxisID,os(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,a,r),h=e.vAxisID=n(l,a,o,r);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(r),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&Fi(this._data,this),t._stacked&&ve(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(D(e))this._data=Ja(e);else if(s!==e){if(s){Fi(s,this);let n=this._cachedMeta;ve(n),n._parsed=[]}e&&Object.isExtensible(e)&&Js(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,s=this.getDataset(),n=!1;this._dataCheck();let o=e._stacked;e._stacked=Sn(e.vScale,e),e.stack!==s.stack&&(n=!0,ve(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&Cn(this,e._parsed)}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:a}=s,r=o.axis,l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,u;if(this._parsing===!1)s._parsed=n,s._sorted=!0,u=n;else{I(n[t])?u=this.parseArrayData(s,n,t,e):D(n[t])?u=this.parseObjectData(s,n,t,e):u=this.parsePrimitiveData(s,n,t,e);let f=()=>d[r]===null||c&&d[r]p||d=0;--u)if(!g()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){let e=this._cachedMeta._parsed,s=[],n,o,a;for(n=0,o=e.length;n=0&&tthis.getContext(s,n),p=c.resolveNamedOptions(u,f,g,d);return p.$shared&&(p.$shared=l,o[a]=Object.freeze(Dn(p,l))),p}_resolveAnimations(t,e,s){let n=this.chart,o=this._cachedDataOpts,a=`animation-${e}`,r=o[a];if(r)return r;let l;if(n.options.animation!==!1){let h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),u=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(u,this.getContext(t,s,e))}let c=new di(n,l&&l.animations);return l&&l._cacheable&&(o[a]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||as(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),a=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:a}}updateElement(t,e,s,n){as(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!as(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;let o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,s=this._cachedMeta.data;for(let[r,l,c]of this._syncList)this[r](l,c);this._syncList=[];let n=s.length,o=e.length,a=Math.min(o,n);a&&this.parse(0,a),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,r=c.length-1;r>=a;r--)c[r]=c[r-e]};for(l(o),r=t;rn-o))}return i._cache.$bar}function ar(i){let t=i.iScale,e=or(t,i.type),s=t._length,n,o,a,r,l=()=>{a===32767||a===-32768||(J(r)&&(s=Math.min(s,Math.abs(a-r)||s)),r=a)};for(n=0,o=e.length;n0?n[i-1]:null,r=iMath.abs(r)&&(l=r,c=a),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:a,max:r}}function po(i,t,e,s){return I(i)?cr(i,t,e,s):t[e.axis]=e.parse(i,s),t}function On(i,t,e,s){let n=i.iScale,o=i.vScale,a=n.getLabels(),r=n===o,l=[],c,h,d,u;for(c=e,h=e+s;c=e?1:-1)}function dr(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.basel.controller.options.grouped),o=s.options.stacked,a=[],r=l=>{let c=l.controller.getParsed(e),h=c&&c[l.vScale.axis];if(T(h)||isNaN(h))return!0};for(let l of n)if(!(e!==void 0&&r(l))&&((o===!1||a.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&a.push(l.stack),l.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,s){let n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){let t=this.options,e=this._cachedMeta,s=e.iScale,n=[],o,a;for(o=0,a=e.data.length;o=0;--s)e=Math.max(e,t[s].size(this.resolveDataElementOptions(s))/2);return e>0&&e}getLabelAndValue(t){let e=this._cachedMeta,{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:e.label,value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){let e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,s,n){let o=n==="reset",{iScale:a,vScale:r}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=a.axis,d=r.axis;for(let u=e;uqt(v,r,l,!0)?1:Math.max(y,y*e,x,x*e),g=(v,y,x)=>qt(v,r,l,!0)?-1:Math.min(y,y*e,x,x*e),p=f(0,c,d),m=f(V,h,u),b=g(B,c,d),_=g(B+V,h,u);s=(p-b)/2,n=(m-_)/2,o=-(p+b)/2,a=-(m+_)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}var Ot=class extends et{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){let s=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=s;else{let o=l=>+s[l];if(D(s[t])){let{key:l="value"}=this._parsing;o=c=>+gt(s[c],l)}let a,r;for(a=t,r=t+e;a0&&!isNaN(t)?F*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=Jt(e._parsed[t],s.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0,s=this.chart,n,o,a,r,l;if(!t){for(n=0,o=s.data.datasets.length;ni!=="spacing",_indexable:i=>i!=="spacing"};Ot.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(i){let t=i.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:e}}=i.legend.options;return t.labels.map((s,n)=>{let a=i.getDatasetMeta(0).controller.getStyle(n);return{text:s,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:e,hidden:!i.getDataVisibility(n),index:n}})}return[]}},onClick(i,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(i){let t=i.label,e=": "+i.formattedValue;return I(t)?(t=t.slice(),t[0]+=e):t+=e,t}}}}};var se=class extends et{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){let e=this._cachedMeta,{dataset:s,data:n=[],_dataset:o}=e,a=this.chart._animationsDisabled,{start:r,count:l}=Vi(e,n,a);this._drawStart=r,this._drawCount=l,Wi(e)&&(r=0,l=n.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=n;let c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!a,options:c},t),this.updateElements(n,r,l,t)}updateElements(t,e,s,n){let o=n==="reset",{iScale:a,vScale:r,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=Rt(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||n==="none",_=e>0&&this.getParsed(e-1);for(let v=e;v0&&Math.abs(x[u]-_[u])>m,p&&(M.parsed=x,M.raw=c.data[v]),d&&(M.options=h||this.resolveDataElementOptions(v,y.active?"active":n)),b||this.updateElement(y,v,M,n),_=x}}getMaxOverflow(){let t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;let o=n[0].size(this.resolveDataElementOptions(0)),a=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,a)/2}draw(){let t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}};se.id="line";se.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};se.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};var ne=class extends et{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=Jt(e._parsed[t].r,s.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,s,n){return Zi.bind(this)(t,e,s,n)}update(t){let e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){let t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,n)=>{let o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){let t=this.chart,e=t.chartArea,s=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),a=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),r=(o-a)/t.getVisibleDatasetCount();this.outerRadius=o-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(t,e,s,n){let o=n==="reset",a=this.chart,l=a.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,d=c.yCenter,u=c.getIndexAngle(0)-.5*B,f=u,g,p=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,s){return this.chart.getDataVisibility(t)?nt(this.resolveDataElementOptions(t,e).angle||s):0}};ne.id="polarArea";ne.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};ne.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(i){let t=i.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:e}}=i.legend.options;return t.labels.map((s,n)=>{let a=i.getDatasetMeta(0).controller.getStyle(n);return{text:s,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:e,hidden:!i.getDataVisibility(n),index:n}})}return[]}},onClick(i,t,e){e.chart.toggleDataVisibility(t.index),e.chart.update()}},tooltip:{callbacks:{title(){return""},label(i){return i.chart.data.labels[i.dataIndex]+": "+i.formattedValue}}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};var De=class extends Ot{};De.id="pie";De.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};var oe=class extends et{getLabelAndValue(t){let e=this._cachedMeta.vScale,s=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(s[e.axis])}}parseObjectData(t,e,s,n){return Zi.bind(this)(t,e,s,n)}update(t){let e=this._cachedMeta,s=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(s.points=n,t!=="resize"){let a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);let r={_loop:!0,_fullLoop:o.length===n.length,options:a};this.updateElement(s,void 0,r,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,s,n){let o=this._cachedMeta.rScale,a=n==="reset";for(let r=e;r{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}};it.defaults={};it.defaultRoutes=void 0;var mo={values(i){return I(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";let s=this.chart.options.locale,n,o=i;if(e.length>1){let c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=mr(i,e)}let a=tt(Math.abs(o)),r=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Jt(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";let s=i/Math.pow(10,Math.floor(tt(i)));return s===1||s===2||s===5?mo.numeric.call(this,i,t,e):""}};function mr(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var bi={formatters:mo};O.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(i,t)=>t.lineWidth,tickColor:(i,t)=>t.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:bi.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}});O.route("scale.ticks","color","","color");O.route("scale.grid","color","","borderColor");O.route("scale.grid","borderColor","","borderColor");O.route("scale.title","color","","color");O.describe("scale",{_fallback:!1,_scriptable:i=>!i.startsWith("before")&&!i.startsWith("after")&&i!=="callback"&&i!=="parser",_indexable:i=>i!=="borderDash"&&i!=="tickBorderDash"});O.describe("scales",{_fallback:"scale"});O.describe("scale.ticks",{_scriptable:i=>i!=="backdropPadding"&&i!=="callback",_indexable:i=>i!=="backdropPadding"});function br(i,t){let e=i.options.ticks,s=e.maxTicksLimit||_r(i),n=e.major.enabled?yr(t):[],o=n.length,a=n[0],r=n[o-1],l=[];if(o>s)return vr(t,l,n,o/s),l;let c=xr(n,t,s);if(o>0){let h,d,u=o>1?Math.round((r-a)/(o-1)):null;for(ni(t,l,c,T(u)?0:a-u,a),h=0,d=o-1;hn)return l}return Math.max(n,1)}function yr(i){let t=[],e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,Ln=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e;function Rn(i,t){let e=[],s=i.length/t,n=i.length,o=0;for(;oa+r)))return l}function Sr(i,t){E(i,e=>{let s=e.gc,n=s.length/2,o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:Q(e,Q(s,e)),max:Q(s,Q(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){z(this.options.beforeUpdate,[this])}update(t,e,s){let{beginAtZero:n,grace:o,ticks:a}=this.options,r=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=hn(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let l=r=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}let h=this._getLabelSizes(),d=h.widest.width,u=h.highest.height,f=Y(this.chart.width-d,0,this.maxWidth);r=t.offset?this.maxWidth/s:f/(s-1),d+6>r&&(r=f/(s-(t.offset?.5:1)),l=this.maxHeight-Me(t.grid)-e.padding-En(t.title,this.chart.options.font),c=Math.sqrt(d*d+u*u),a=qe(Math.min(Math.asin(Y((h.highest.height+6)/r,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(u/c,-1,1)))),a=Math.max(n,Math.min(o,a))),this.labelRotation=a}afterCalculateLabelRotation(){z(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){z(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,a=this._isVisible(),r=this.isHorizontal();if(a){let l=En(n,e.options.font);if(r?(t.width=this.maxWidth,t.height=Me(o)+l):(t.height=this.maxHeight,t.width=Me(o)+l),s.display&&this.ticks.length){let{first:c,last:h,widest:d,highest:u}=this._getLabelSizes(),f=s.padding*2,g=nt(this.labelRotation),p=Math.cos(g),m=Math.sin(g);if(r){let b=s.mirror?0:m*d.width+p*u.height;t.height=Math.min(this.maxHeight,t.height+b+f)}else{let b=s.mirror?0:p*d.width+m*u.height;t.width=Math.min(this.maxWidth,t.width+b+f)}this._calculatePadding(c,h,m,p)}}this._handleMargins(),r?(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,s,n){let{ticks:{align:o,padding:a},position:r}=this.options,l=this.labelRotation!==0,c=r!=="top"&&this.axis==="x";if(this.isHorizontal()){let h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1),u=0,f=0;l?c?(u=n*t.width,f=s*e.height):(u=s*t.height,f=n*e.width):o==="start"?f=e.width:o==="end"?u=t.width:o!=="inner"&&(u=t.width/2,f=e.width/2),this.paddingLeft=Math.max((u-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-d+a)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+a,this.paddingBottom=d+a}}_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(){z(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:o[w]||0,height:a[w]||0});return{first:M(0),last:M(e-1),widest:M(y),highest:M(x),widths:o,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return Ks(this._alignToPixels?wt(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){let e=this.ticks||[];if(t>=0&&tr*n?r/s:l/n:l*n0}_computeGridLineItems(t){let e=this.axis,s=this.chart,n=this.options,{grid:o,position:a}=n,r=o.offset,l=this.isHorizontal(),h=this.ticks.length+(r?1:0),d=Me(o),u=[],f=o.setContext(this.getContext()),g=f.drawBorder?f.borderWidth:0,p=g/2,m=function(P){return wt(s,P,g)},b,_,v,y,x,M,w,S,k,L,R,A;if(a==="top")b=m(this.bottom),M=this.bottom-d,S=b-p,L=m(t.top)+p,A=t.bottom;else if(a==="bottom")b=m(this.top),L=t.top,A=m(t.bottom)-p,M=b+p,S=this.top+d;else if(a==="left")b=m(this.right),x=this.right-d,w=b-p,k=m(t.left)+p,R=t.right;else if(a==="right")b=m(this.left),k=t.left,R=m(t.right)-p,x=b+p,w=this.left+d;else if(e==="x"){if(a==="center")b=m((t.top+t.bottom)/2+.5);else if(D(a)){let P=Object.keys(a)[0],j=a[P];b=m(this.chart.scales[P].getPixelForValue(j))}L=t.top,A=t.bottom,M=b+p,S=M+d}else if(e==="y"){if(a==="center")b=m((t.left+t.right)/2);else if(D(a)){let P=Object.keys(a)[0],j=a[P];b=m(this.chart.scales[P].getPixelForValue(j))}x=b-p,w=x-d,k=t.left,R=t.right}let H=C(n.ticks.maxTicksLimit,h),q=Math.max(1,Math.ceil(h/H));for(_=0;_o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){let e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),o,a,r=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,a=n.length;o{this.draw(n)}}]:[{z:s,draw:n=>{this.drawBackground(),this.drawGrid(n),this.drawTitle()}},{z:s+1,draw:()=>{this.drawBorder()}},{z:e,draw:n=>{this.drawLabels(n)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[],o,a;for(o=0,a=e.length;o{let s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),a=t[e].split("."),r=a.pop(),l=a.join(".");O.route(o,n,l,r)})}function Lr(i){return"id"in i&&"defaults"in i}var ms=class{constructor(){this.controllers=new te(et,"datasets",!0),this.elements=new te(it,"elements"),this.plugins=new te(Object,"plugins"),this.scales=new te(_t,"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,s){[...e].forEach(n=>{let o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):E(n,a=>{let r=s||this._getRegistryForType(a);this._exec(t,r,a)})})}_exec(t,e,s){let n=Ke(t);z(s["before"+n],[],s),e[t](s),z(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;e0&&this.getParsed(e-1);for(let y=e;y0&&Math.abs(M[f]-v[f])>b,m&&(w.parsed=M,w.raw=c.data[y]),u&&(w.options=d||this.resolveDataElementOptions(y,x.active?"active":n)),_||this.updateElement(x,y,w,n),v=M}this.updateSharedOptions(d,n,h)}getMaxOverflow(){let t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let r=0;for(let l=e.length-1;l>=0;--l)r=Math.max(r,e[l].size(this.resolveDataElementOptions(l))/2);return r>0&&r}let s=t.dataset,n=s.options&&s.options.borderWidth||0;if(!e.length)return n;let o=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,a)/2}};ae.id="scatter";ae.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};ae.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title(){return""},label(i){return"("+i.label+", "+i.formattedValue+")"}}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Rr=Object.freeze({__proto__:null,BarController:ee,BubbleController:ie,DoughnutController:Ot,LineController:se,PolarAreaController:ne,PieController:De,RadarController:oe,ScatterController:ae});function Ft(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var Oe=class{constructor(t){this.options=t||{}}init(t){}formats(){return Ft()}parse(t,e){return Ft()}format(t,e){return Ft()}add(t,e,s){return Ft()}diff(t,e,s){return Ft()}startOf(t,e,s){return Ft()}endOf(t,e){return Ft()}};Oe.override=function(i){Object.assign(Oe.prototype,i)};var Er={_date:Oe};function Fr(i,t,e,s){let{controller:n,data:o,_sorted:a}=i,r=n._cachedMeta.iScale;if(r&&t===r.axis&&t!=="r"&&a&&o.length){let l=r._reversePixels?qs:at;if(s){if(n._sharedOptions){let c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){let d=l(o,t,e-h),u=l(o,t,e+h);return{lo:d.lo,hi:u.hi}}}}else return l(o,t,e)}return{lo:0,hi:o.length-1}}function Ie(i,t,e,s,n){let o=i.getSortedVisibleDatasetMetas(),a=e[t];for(let r=0,l=o.length;r{l[a](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),r=r||l.inRange(t.x,t.y,n))}),s&&!r?[]:o}var Vr={evaluateInteractionItems:Ie,modes:{index(i,t,e,s){let n=Pt(t,i),o=e.axis||"x",a=e.includeInvisible||!1,r=e.intersect?ls(i,n,o,s,a):cs(i,n,o,!1,s,a),l=[];return r.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{let h=r[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){let n=Pt(t,i),o=e.axis||"xy",a=e.includeInvisible||!1,r=e.intersect?ls(i,n,o,s,a):cs(i,n,o,!1,s,a);if(r.length>0){let l=r[0].datasetIndex,c=i.getDatasetMeta(l).data;r=[];for(let h=0;he.pos===t)}function In(i,t){return i.filter(e=>bo.indexOf(e.pos)===-1&&e.box.axis===t)}function ke(i,t){return i.sort((e,s)=>{let n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function Wr(i){let t=[],e,s,n,o,a,r;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=ke(we(t,"left"),!0),n=ke(we(t,"right")),o=ke(we(t,"top"),!0),a=ke(we(t,"bottom")),r=In(t,"x"),l=In(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:we(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}function zn(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function _o(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function $r(i,t,e,s){let{pos:n,box:o}=e,a=i.maxPadding;if(!D(n)){e.size&&(i[n]-=e.size);let d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&_o(a,o.getPadding());let r=Math.max(0,t.outerWidth-zn(a,i,"left","right")),l=Math.max(0,t.outerHeight-zn(a,i,"top","bottom")),c=r!==i.w,h=l!==i.h;return i.w=r,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Yr(i){let t=i.maxPadding;function e(s){let n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Xr(i,t){let e=t.maxPadding;function s(n){let o={left:0,top:0,right:0,bottom:0};return n.forEach(a=>{o[a]=Math.max(t[a],e[a])}),o}return s(i?["left","right"]:["top","bottom"])}function Pe(i,t,e,s){let n=[],o,a,r,l,c,h;for(o=0,a=i.length,c=0;o{typeof p.beforeLayout=="function"&&p.beforeLayout()});let h=l.reduce((p,m)=>m.box.options&&m.box.options.display===!1?p:p+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/h,hBoxMaxHeight:a/2}),u=Object.assign({},n);_o(u,U(s));let f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=Hr(l.concat(c),d);Pe(r.fullSize,f,d,g),Pe(l,f,d,g),Pe(c,f,d,g)&&Pe(l,f,d,g),Yr(f),Bn(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,Bn(r.rightAndBottom,f,d,g),i.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},E(r.chartArea,p=>{let m=p.box;Object.assign(m,i.chartArea),m.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}},ui=class{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}},bs=class extends ui{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}},hi="$chartjs",Ur={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Vn=i=>i===null||i==="";function Kr(i,t){let e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[hi]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Vn(n)){let o=ts(i,"width");o!==void 0&&(i.width=o)}if(Vn(s))if(i.style.height==="")i.height=i.width/(t||2);else{let o=ts(i,"height");o!==void 0&&(i.height=o)}return i}var xo=bn?{passive:!0}:!1;function qr(i,t,e){i.addEventListener(t,e,xo)}function Gr(i,t,e){i.canvas.removeEventListener(t,e,xo)}function Zr(i,t){let e=Ur[i.type]||i.type,{x:s,y:n}=Pt(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function fi(i,t){for(let e of i)if(e===t||e.contains(t))return!0}function Jr(i,t,e){let s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(let r of o)a=a||fi(r.addedNodes,s),a=a&&!fi(r.removedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Qr(i,t,e){let s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(let r of o)a=a||fi(r.removedNodes,s),a=a&&!fi(r.addedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}var Ae=new Map,Wn=0;function yo(){let i=window.devicePixelRatio;i!==Wn&&(Wn=i,Ae.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function tl(i,t){Ae.size||window.addEventListener("resize",yo),Ae.set(i,t)}function el(i){Ae.delete(i),Ae.size||window.removeEventListener("resize",yo)}function il(i,t,e){let s=i.canvas,n=s&&ii(s);if(!n)return;let o=Bi((r,l)=>{let c=n.clientWidth;e(r,l),c{let l=r[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return a.observe(n),tl(i,o),a}function hs(i,t,e){e&&e.disconnect(),t==="resize"&&el(i)}function sl(i,t,e){let s=i.canvas,n=Bi(o=>{i.ctx!==null&&e(Zr(o,i))},i,o=>{let a=o[0];return[a,a.offsetX,a.offsetY]});return qr(s,t,n),n}var _s=class extends ui{acquireContext(t,e){let s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Kr(t,e),s):null}releaseContext(t){let e=t.canvas;if(!e[hi])return!1;let s=e[hi].initial;["height","width"].forEach(o=>{let a=s[o];T(a)?e.removeAttribute(o):e.setAttribute(o,a)});let n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[hi],!0}addEventListener(t,e,s){this.removeEventListener(t,e);let n=t.$proxies||(t.$proxies={}),a={attach:Jr,detach:Qr,resize:il}[e]||sl;n[e]=a(t,e,s)}removeEventListener(t,e){let s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:hs,detach:hs,resize:hs}[e]||Gr)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return mn(t,e,s,n)}isAttached(t){let e=ii(t);return!!(e&&e.isConnected)}};function nl(i){return!Ji()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?bs:_s}var xs=class{constructor(){this._init=[]}notify(t,e,s,n){e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));let o=n?this._descriptors(t).filter(n):this._descriptors(t),a=this._notify(o,t,e,s);return e==="afterDestroy"&&(this._notify(o,t,"stop"),this._notify(this._init,t,"uninstall")),a}_notify(t,e,s,n){n=n||{};for(let o of t){let a=o.plugin,r=a[s],l=[e,n,o.options];if(z(r,l,a)===!1&&n.cancelable)return!1}return!0}invalidate(){T(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;let e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){let s=t&&t.config,n=C(s.options&&s.options.plugins,{}),o=ol(s);return n===!1&&!e?[]:rl(t,o,n,e)}_notifyStateChanges(t){let e=this._oldCache||[],s=this._cache,n=(o,a)=>o.filter(r=>!a.some(l=>r.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}};function ol(i){let t={},e=[],s=Object.keys(ht.plugins.items);for(let o=0;o{let l=s[r];if(!D(l))return console.error(`Invalid scale configuration for scale: ${r}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);let c=vs(r,l),h=hl(c,n),d=e.scales||{};o[c]=o[c]||r,a[r]=Ut(Object.create(null),[{axis:c},l,d[c],d[h]])}),i.data.datasets.forEach(r=>{let l=r.type||i.type,c=r.indexAxis||ys(l,t),d=(Mt[l]||{}).scales||{};Object.keys(d).forEach(u=>{let f=cl(u,c),g=r[f+"AxisID"]||o[f]||f;a[g]=a[g]||Object.create(null),Ut(a[g],[{axis:f},s[g],d[u]])})}),Object.keys(a).forEach(r=>{let l=a[r];Ut(l,[O.scales[l.type],O.scale])}),a}function vo(i){let t=i.options||(i.options={});t.plugins=C(t.plugins,{}),t.scales=ul(i,t)}function Mo(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function fl(i){return i=i||{},i.data=Mo(i.data),vo(i),i}var Nn=new Map,wo=new Set;function ai(i,t){let e=Nn.get(i);return e||(e=t(),Nn.set(i,e),wo.add(e)),e}var Se=(i,t,e)=>{let s=gt(t,e);s!==void 0&&i.add(s)},Ms=class{constructor(t){this._config=fl(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=Mo(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),vo(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ai(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return ai(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return ai(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,s=this.type;return ai(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let s=this._scopeCache,n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){let{options:n,type:o}=this,a=this._cachedScopes(t,s),r=a.get(e);if(r)return r;let l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Se(l,t,d))),h.forEach(d=>Se(l,n,d)),h.forEach(d=>Se(l,Mt[o]||{},d)),h.forEach(d=>Se(l,O,d)),h.forEach(d=>Se(l,Je,d))});let c=Array.from(l);return c.length===0&&c.push(Object.create(null)),wo.has(e)&&a.set(e,c),c}chartOptionScopes(){let{options:t,type:e}=this;return[t,Mt[e]||{},O.datasets[e]||{},{type:e},O,Je]}resolveNamedOptions(t,e,s,n=[""]){let o={$shared:!0},{resolver:a,subPrefixes:r}=Hn(this._resolverCache,t,n),l=a;if(pl(a,e)){o.$shared=!1,s=ft(s)?s():s;let c=this.createResolver(t,s,r);l=Lt(a,s,c)}for(let c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){let{resolver:o}=Hn(this._resolverCache,t,s);return D(e)?Lt(o,e,void 0,n):o}};function Hn(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));let n=e.join(),o=s.get(n);return o||(o={resolver:ei(t,e),subPrefixes:e.filter(r=>!r.toLowerCase().includes("hover"))},s.set(n,o)),o}var gl=i=>D(i)&&Object.getOwnPropertyNames(i).reduce((t,e)=>t||ft(i[e]),!1);function pl(i,t){let{isScriptable:e,isIndexable:s}=Ki(i);for(let n of t){let o=e(n),a=s(n),r=(a||o)&&i[n];if(o&&(ft(r)||gl(r))||a&&I(r))return!0}return!1}var ml="3.9.1",bl=["top","bottom","left","right","chartArea"];function jn(i,t){return i==="top"||i==="bottom"||bl.indexOf(i)===-1&&t==="x"}function $n(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function Yn(i){let t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),z(e&&e.onComplete,[i],t)}function _l(i){let t=i.chart,e=t.options.animation;z(e&&e.onProgress,[i],t)}function ko(i){return Ji()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}var gi={},So=i=>{let t=ko(i);return Object.values(gi).filter(e=>e.canvas===t).pop()};function xl(i,t,e){let s=Object.keys(i);for(let n of s){let o=+n;if(o>=t){let a=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=a)}}}function yl(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}var It=class{constructor(t,e){let s=this.config=new Ms(e),n=ko(t),o=So(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");let a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||nl(n)),this.platform.updateConfig(s);let r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,c=l&&l.height,h=l&&l.width;if(this.id=Hs(),this.ctx=r,this.canvas=l,this.width=h,this.height=c,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 xs,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Qs(d=>this.update(d),a.resizeDelay||0),this._dataChanges=[],gi[this.id]=this,!r||!l){console.error("Failed to create chart: can't acquire context from the given item");return}mt.listen(this,"complete",Yn),mt.listen(this,"progress",_l),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return T(t)?e&&o?o:n?s/n: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():Qi(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Yi(this.canvas,this.ctx),this}stop(){return mt.stop(this),this}resize(t,e){mt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(n,t,e,o),r=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,Qi(this,r,!0)&&(this.notifyPlugins("resize",{size:a}),z(s.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){let e=this.options.scales||{};E(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){let t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((a,r)=>(a[r]=!1,a),{}),o=[];e&&(o=o.concat(Object.keys(e).map(a=>{let r=e[a],l=vs(a,r),c=l==="r",h=l==="x";return{options:r,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),E(o,a=>{let r=a.options,l=r.id,c=vs(l,r),h=C(r.type,a.dtype);(r.position===void 0||jn(r.position,c)!==jn(a.dposition))&&(r.position=a.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{let u=ht.getScale(h);d=new u({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(r,t)}),E(n,(a,r)=>{a||delete s[r]}),E(s,a=>{K.configure(this,a,a.options),K.addBox(this,a)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;let o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort($n("z","_idx"));let{_active:r,_lastEvent:l}=this;l?this._eventHandler(l,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){E(this.scales,t=>{K.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Ai(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:s,start:n,count:o}of e){let a=s==="_removeElements"?-o:o;xl(t,n,a)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,s=o=>new Set(t.filter(a=>a[0]===o).map((a,r)=>r+","+a.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;K.update(this,this.width,this.height,t);let e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],E(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,s=t._clip,n=!s.disabled,o=this.chartArea,a={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",a)!==!1&&(n&&xe(e,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),n&&ye(e),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return Yt(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){let o=Vr.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){let e=this.data.datasets[t],s=this._metasets,n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={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},s.push(n)),n}getContext(){return this.$context||(this.$context=pt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){let s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){let n=s?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,n);J(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),a.update(o,{visible:s}),this.update(r=>r.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),mt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,a),t[o]=a},n=(o,a,r)=>{o.offsetX=a,o.offsetY=r,this._eventHandler(o)};E(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)},a,r=()=>{n("attach",r),this.attached=!0,this.resize(),s("resize",o),s("detach",a)};a=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",r)},e.isAttached(this.canvas)?r():a()}unbindEvents(){E(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},E(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){let n=s?"set":"remove",o,a,r,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),r=0,l=t.length;r{let r=this.getDatasetMeta(o);if(!r)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:r.data[a],index:a}});!be(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}_updateHoverStyles(t,e,s){let n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),a=o(e,t),r=s?t:o(t,e);a.length&&this.updateHoverStyle(a,n.mode,!1),r.length&&n.mode&&this.updateHoverStyle(r,n.mode,!0)}_eventHandler(t,e){let s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;let o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){let{_active:n=[],options:o}=this,a=e,r=this._getActiveElements(t,n,s,a),l=Ys(t),c=yl(t,this._lastEvent,s,l);s&&(this._lastEvent=null,z(o.onHover,[t,r,this],this),l&&z(o.onClick,[t,r,this],this));let h=!be(r,n);return(h||e)&&(this._active=r,this._updateHoverStyles(r,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;let o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}},Xn=()=>E(It.instances,i=>i._plugins.invalidate()),Ct=!0;Object.defineProperties(It,{defaults:{enumerable:Ct,value:O},instances:{enumerable:Ct,value:gi},overrides:{enumerable:Ct,value:Mt},registry:{enumerable:Ct,value:ht},version:{enumerable:Ct,value:ml},getChart:{enumerable:Ct,value:So},register:{enumerable:Ct,value:(...i)=>{ht.add(...i),Xn()}},unregister:{enumerable:Ct,value:(...i)=>{ht.remove(...i),Xn()}}});function Po(i,t,e){let{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=t,c=n/r;i.beginPath(),i.arc(o,a,r,s-c,e+c),l>n?(c=n/l,i.arc(o,a,l,e+c,s-c,!0)):i.arc(o,a,n,e+V,s-V),i.closePath(),i.clip()}function vl(i){return ti(i,["outerStart","outerEnd","innerStart","innerEnd"])}function Ml(i,t,e,s){let n=vl(i.options.borderRadius),o=(e-t)/2,a=Math.min(o,s*t/2),r=l=>{let c=(e-Math.min(o,l))*s/2;return Y(l,0,Math.min(o,c))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Y(n.innerStart,0,a),innerEnd:Y(n.innerEnd,0,a)}}function Qt(i,t,e,s){return{x:e+i*Math.cos(t),y:s+i*Math.sin(t)}}function ws(i,t,e,s,n,o){let{x:a,y:r,startAngle:l,pixelMargin:c,innerRadius:h}=t,d=Math.max(t.outerRadius+s+e-c,0),u=h>0?h+s+e+c:0,f=0,g=n-l;if(s){let P=h>0?h-s:0,j=d>0?d-s:0,N=(P+j)/2,At=N!==0?g*N/(N+s):g;f=(g-At)/2}let p=Math.max(.001,g*d-e/B)/d,m=(g-p)/2,b=l+m+f,_=n-m-f,{outerStart:v,outerEnd:y,innerStart:x,innerEnd:M}=Ml(t,u,d,_-b),w=d-v,S=d-y,k=b+v/w,L=_-y/S,R=u+x,A=u+M,H=b+x/R,q=_-M/A;if(i.beginPath(),o){if(i.arc(a,r,d,k,L),y>0){let N=Qt(S,L,a,r);i.arc(N.x,N.y,y,L,_+V)}let P=Qt(A,_,a,r);if(i.lineTo(P.x,P.y),M>0){let N=Qt(A,q,a,r);i.arc(N.x,N.y,M,_+V,q+Math.PI)}if(i.arc(a,r,u,_-M/u,b+x/u,!0),x>0){let N=Qt(R,H,a,r);i.arc(N.x,N.y,x,H+Math.PI,b-V)}let j=Qt(w,b,a,r);if(i.lineTo(j.x,j.y),v>0){let N=Qt(w,k,a,r);i.arc(N.x,N.y,v,b-V,k)}}else{i.moveTo(a,r);let P=Math.cos(k)*d+a,j=Math.sin(k)*d+r;i.lineTo(P,j);let N=Math.cos(L)*d+a,At=Math.sin(L)*d+r;i.lineTo(N,At)}i.closePath()}function wl(i,t,e,s,n){let{fullCircles:o,startAngle:a,circumference:r}=t,l=t.endAngle;if(o){ws(i,t,e,s,a+F,n);for(let c=0;c=F||qt(o,r,l),p=lt(a,c+u,h+u);return g&&p}getCenterPoint(t){let{x:e,y:s,startAngle:n,endAngle:o,innerRadius:a,outerRadius:r}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:l,spacing:c}=this.options,h=(n+o)/2,d=(a+r+c+l)/2;return{x:e+Math.cos(h)*d,y:s+Math.sin(h)*d}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){let{options:e,circumference:s}=this,n=(e.offset||0)/2,o=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=s>F?Math.floor(s/F):0,s===0||this.innerRadius<0||this.outerRadius<0)return;t.save();let r=0;if(n){r=n/2;let c=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(c)*r,Math.sin(c)*r),this.circumference>=B&&(r=n)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;let l=wl(t,this,r,o,a);Sl(t,this,r,o,l,a),t.restore()}};re.id="arc";re.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};re.defaultRoutes={backgroundColor:"backgroundColor"};function Co(i,t,e=t){i.lineCap=C(e.borderCapStyle,t.borderCapStyle),i.setLineDash(C(e.borderDash,t.borderDash)),i.lineDashOffset=C(e.borderDashOffset,t.borderDashOffset),i.lineJoin=C(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=C(e.borderWidth,t.borderWidth),i.strokeStyle=C(e.borderColor,t.borderColor)}function Pl(i,t,e){i.lineTo(e.x,e.y)}function Cl(i){return i.stepped?ln:i.tension||i.cubicInterpolationMode==="monotone"?cn:Pl}function Do(i,t,e={}){let s=i.length,{start:n=0,end:o=s-1}=e,{start:a,end:r}=t,l=Math.max(n,a),c=Math.min(o,r),h=nr&&o>r;return{count:s,start:l,loop:t.loop,ilen:c(a+(c?r-y:y))%o,v=()=>{p!==m&&(i.lineTo(h,m),i.lineTo(h,p),i.lineTo(h,b))};for(l&&(f=n[_(0)],i.moveTo(f.x,f.y)),u=0;u<=r;++u){if(f=n[_(u)],f.skip)continue;let y=f.x,x=f.y,M=y|0;M===g?(xm&&(m=x),h=(d*h+y)/++d):(v(),i.lineTo(y,x),g=M,d=0,p=m=x),b=x}v()}function ks(i){let t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Ol:Dl}function Al(i){return i.stepped?_n:i.tension||i.cubicInterpolationMode==="monotone"?xn:xt}function Tl(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),Co(i,t.options),i.stroke(n)}function Ll(i,t,e,s){let{segments:n,options:o}=t,a=ks(t);for(let r of n)Co(i,o,r.style),i.beginPath(),a(i,t,r,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}var Rl=typeof Path2D=="function";function El(i,t,e,s){Rl&&!t.options.segment?Tl(i,t,e,s):Ll(i,t,e,s)}var dt=class extends it{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){let s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){let n=s.spanGaps?this._loop:this._fullLoop;pn(this._points,s,t,n,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=vn(this,this.options.segment))}first(){let t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){let t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){let s=this.options,n=t[e],o=this.points,a=ns(this,{property:e,start:n,end:n});if(!a.length)return;let r=[],l=Al(s),c,h;for(c=0,h=a.length;ci!=="borderDash"&&i!=="fill"};function Un(i,t,e,s){let n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o)=e)return i.slice(t,t+e);let a=[],r=(e-2)/(o-2),l=0,c=t+e-1,h=t,d,u,f,g,p;for(a[l++]=i[h],d=0;df&&(f=g,u=i[_],p=_);a[l++]=u,h=p}return a[l++]=i[c],a}function Hl(i,t,e,s){let n=0,o=0,a,r,l,c,h,d,u,f,g,p,m=[],b=t+e-1,_=i[t].x,y=i[b].x-_;for(a=t;ap&&(p=c,u=a),n=(o*n+r.x)/++o;else{let M=a-1;if(!T(d)&&!T(u)){let w=Math.min(d,u),S=Math.max(d,u);w!==f&&w!==M&&m.push({...i[w],x:n}),S!==f&&S!==M&&m.push({...i[S],x:n})}a>0&&M!==f&&m.push(i[M]),m.push(r),h=x,o=0,g=p=c,d=u=f=a}}return m}function Ao(i){if(i._decimated){let t=i._data;delete i._decimated,delete i._data,Object.defineProperty(i,"data",{value:t})}}function Kn(i){i.data.datasets.forEach(t=>{Ao(t)})}function jl(i,t){let e=t.length,s=0,n,{iScale:o}=i,{min:a,max:r,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=Y(at(t,o.axis,a).lo,0,e-1)),c?n=Y(at(t,o.axis,r).hi+1,s,e)-s:n=e-s,{start:s,count:n}}var $l={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(i,t,e)=>{if(!e.enabled){Kn(i);return}let s=i.width;i.data.datasets.forEach((n,o)=>{let{_data:a,indexAxis:r}=n,l=i.getDatasetMeta(o),c=a||n.data;if(Zt([r,i.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;let h=i.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||i.options.parsing)return;let{start:d,count:u}=jl(l,c),f=e.threshold||4*s;if(u<=f){Ao(n);return}T(a)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(p){this._data=p}}));let g;switch(e.algorithm){case"lttb":g=Nl(c,d,u,s,e);break;case"min-max":g=Hl(c,d,u,s);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=g})},destroy(i){Kn(i)}};function Yl(i,t,e){let s=i.segments,n=i.points,o=t.points,a=[];for(let r of s){let{start:l,end:c}=r;c=Cs(l,c,n);let h=Ss(e,n[l],n[c],r.loop);if(!t.segments){a.push({source:r,target:h,start:n[l],end:n[c]});continue}let d=ns(t,h);for(let u of d){let f=Ss(e,o[u.start],o[u.end],u.loop),g=ss(r,n,f);for(let p of g)a.push({source:p,target:u,start:{[e]:qn(h,f,"start",Math.max)},end:{[e]:qn(h,f,"end",Math.min)}})}}return a}function Ss(i,t,e,s){if(s)return;let n=t[i],o=e[i];return i==="angle"&&(n=G(n),o=G(o)),{property:i,start:n,end:o}}function Xl(i,t){let{x:e=null,y:s=null}=i||{},n=t.points,o=[];return t.segments.forEach(({start:a,end:r})=>{r=Cs(a,r,n);let l=n[a],c=n[r];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Cs(i,t,e){for(;t>i;t--){let s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function qn(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function To(i,t){let e=[],s=!1;return I(i)?(s=!0,e=i):e=Xl(i,t),e.length?new dt({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function Gn(i){return i&&i.fill!==!1}function Ul(i,t,e){let n=i[t].fill,o=[t],a;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!W(n))return n;if(a=i[n],!a)return!1;if(a.visible)return n;o.push(n),n=a.fill}return!1}function Kl(i,t,e){let s=Jl(i);if(D(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return W(n)&&Math.floor(n)===n?ql(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function ql(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Gl(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:D(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Zl(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:D(i)?s=i.value:s=t.getBaseValue(),s}function Jl(i){let t=i.options,e=t.fill,s=C(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Ql(i){let{scale:t,index:e,line:s}=i,n=[],o=s.segments,a=s.points,r=tc(t,e);r.push(To({x:null,y:t.bottom},s));for(let l=0;l=0;--a){let r=n[a].$filler;r&&(r.line.updateControlPoints(o,r.axis),s&&r.fill&&fs(i.ctx,r,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;let s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){let o=s[n].$filler;Gn(o)&&fs(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){let s=t.meta.$filler;!Gn(s)||e.drawTime!=="beforeDatasetDraw"||fs(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},to=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},dc=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index,mi=class extends it{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,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let t=this.options.labels||{},e=z(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let s=t.labels,n=$(s.font),o=n.size,a=this._computeTitleHeight(),{boxWidth:r,itemHeight:l}=to(s,o),c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(a,o,r,l)+10):(h=this.maxHeight,c=this._fitCols(a,o,r,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){let{ctx:o,maxWidth:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+r,d=t;o.textAlign="left",o.textBaseline="middle";let u=-1,f=-h;return this.legendItems.forEach((g,p)=>{let m=s+e/2+o.measureText(g.text).width;(p===0||c[c.length-1]+m+2*r>a)&&(d+=h,c[c.length-(p>0?0:1)]=0,f+=h,u++),l[p]={left:0,top:f,row:u,width:m,height:n},c[c.length-1]+=m+r}),d}_fitCols(t,e,s,n){let{ctx:o,maxHeight:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=a-t,d=r,u=0,f=0,g=0,p=0;return this.legendItems.forEach((m,b)=>{let _=s+e/2+o.measureText(m.text).width;b>0&&f+n+2*r>h&&(d+=u+r,c.push({width:u,height:f}),g+=u+r,p++,u=f=0),l[b]={left:g,top:f,col:p,width:_,height:n},u=Math.max(u,_),f+=n+r}),d+=u,c.push({width:u,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,a=Et(o,this.left,this.width);if(this.isHorizontal()){let r=0,l=X(s,this.left+n,this.right-this.lineWidths[r]);for(let c of e)r!==c.row&&(r=c.row,l=X(s,this.left+n,this.right-this.lineWidths[r])),c.top+=this.top+t+n,c.left=a.leftForLtr(a.x(l),c.width),l+=c.width+n}else{let r=0,l=X(s,this.top+t+n,this.bottom-this.columnSizes[r].height);for(let c of e)c.col!==r&&(r=c.col,l=X(s,this.top+t+n,this.bottom-this.columnSizes[r].height)),c.top=l,c.left+=this.left+n,c.left=a.leftForLtr(a.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let t=this.ctx;xe(t,this),this._draw(),ye(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:a}=t,r=O.color,l=Et(t.rtl,this.left,this.width),c=$(a.font),{color:h,padding:d}=a,u=c.size,f=u/2,g;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:b}=to(a,u),_=function(w,S,k){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;n.save();let L=C(k.lineWidth,1);if(n.fillStyle=C(k.fillStyle,r),n.lineCap=C(k.lineCap,"butt"),n.lineDashOffset=C(k.lineDashOffset,0),n.lineJoin=C(k.lineJoin,"miter"),n.lineWidth=L,n.strokeStyle=C(k.strokeStyle,r),n.setLineDash(C(k.lineDash,[])),a.usePointStyle){let R={radius:m*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:L},A=l.xPlus(w,p/2),H=S+f;Xi(n,R,A,H,a.pointStyleWidth&&p)}else{let R=S+Math.max((u-m)/2,0),A=l.leftForLtr(w,p),H=St(k.borderRadius);n.beginPath(),Object.values(H).some(q=>q!==0)?Gt(n,{x:A,y:R,w:p,h:m,radius:H}):n.rect(A,R,p,m),n.fill(),L!==0&&n.stroke()}n.restore()},v=function(w,S,k){kt(n,k.text,w,S+b/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})},y=this.isHorizontal(),x=this._computeTitleHeight();y?g={x:X(o,this.left+d,this.right-s[0]),y:this.top+d+x,line:0}:g={x:this.left+d,y:X(o,this.top+x+d,this.bottom-e[0].height),line:0},es(this.ctx,t.textDirection);let M=b+d;this.legendItems.forEach((w,S)=>{n.strokeStyle=w.fontColor||h,n.fillStyle=w.fontColor||h;let k=n.measureText(w.text).width,L=l.textAlign(w.textAlign||(w.textAlign=a.textAlign)),R=p+f+k,A=g.x,H=g.y;l.setWidth(this.width),y?S>0&&A+R+d>this.right&&(H=g.y+=M,g.line++,A=g.x=X(o,this.left+d,this.right-s[g.line])):S>0&&H+M>this.bottom&&(A=g.x=A+e[g.line].width+d,g.line++,H=g.y=X(o,this.top+x+d,this.bottom-e[g.line].height));let q=l.x(A);_(q,H,w),A=tn(L,A+p+f,y?A+R:this.right,t.rtl),v(l.x(A),H,w),y?g.x+=R+d:g.y+=M}),is(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,s=$(e.font),n=U(e.padding);if(!e.display)return;let o=Et(t.rtl,this.left,this.width),a=this.ctx,r=e.position,l=s.size/2,c=n.top+l,h,d=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),h=this.top+c,d=X(t.align,d,this.right-u);else{let g=this.columnSizes.reduce((p,m)=>Math.max(p,m.height),0);h=c+X(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}let f=X(r,d,d+u);a.textAlign=o.textAlign(Ze(r)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=s.string,kt(a,e.text,f,h,s)}_computeTitleHeight(){let t=this.options.title,e=$(t.font),s=U(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(lt(t,this.left,this.right)&<(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;si.chart.options.color,boxWidth:40,padding:10,generateLabels(i){let t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o}}=i.legend.options;return i._getSortedDatasetMetas().map(a=>{let r=a.controller.getStyle(e?0:void 0),l=U(r.borderWidth);return{text:t[a.index].label,fillStyle:r.backgroundColor,fontColor:o,hidden:!a.visible,lineCap:r.borderCapStyle,lineDash:r.borderDash,lineDashOffset:r.borderDashOffset,lineJoin:r.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:r.borderColor,pointStyle:s||r.pointStyle,rotation:r.rotation,textAlign:n||r.textAlign,borderRadius:0,datasetIndex:a.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}},Te=class extends it{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){let s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;let n=I(s.text)?s.text.length:1;this._padding=U(s.padding);let o=n*$(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){let t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){let{top:e,left:s,bottom:n,right:o,options:a}=this,r=a.align,l=0,c,h,d;return this.isHorizontal()?(h=X(r,s,o),d=e+t,c=o-s):(a.position==="left"?(h=s+t,d=X(r,n,e),l=B*-.5):(h=o-t,d=X(r,e,n),l=B*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){let t=this.ctx,e=this.options;if(!e.display)return;let s=$(e.font),o=s.lineHeight/2+this._padding.top,{titleX:a,titleY:r,maxWidth:l,rotation:c}=this._drawArgs(o);kt(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:Ze(e.align),textBaseline:"middle",translation:[a,r]})}};function gc(i,t){let e=new Te({ctx:i.ctx,options:t,chart:i});K.configure(i,e,t),K.addBox(i,e),i.titleBlock=e}var pc={id:"title",_element:Te,start(i,t,e){gc(i,e)},stop(i){let t=i.titleBlock;K.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){let s=i.titleBlock;K.configure(i,s,e),s.options=e},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}},ri=new WeakMap,mc={id:"subtitle",start(i,t,e){let s=new Te({ctx:i.ctx,options:e,chart:i});K.configure(i,s,e),K.addBox(i,s),ri.set(i,s)},stop(i){K.removeBox(i,ri.get(i)),ri.delete(i)},beforeUpdate(i,t,e){let s=ri.get(i);K.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Ce={average(i){if(!i.length)return!1;let t,e,s=0,n=0,o=0;for(t=0,e=i.length;tt in i?Jo(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var M=(i,t,e)=>Zo(i,typeof t!="symbol"?t+"":t,e);function ve(i){return i+.5|0}var wt=(i,t,e)=>Math.max(Math.min(i,e),t);function _e(i){return wt(ve(i*2.55),0,255)}function St(i){return wt(ve(i*255),0,255)}function mt(i){return wt(ve(i/2.55)/100,0,1)}function zs(i){return wt(ve(i*100),0,100)}var nt={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},Ai=[..."0123456789ABCDEF"],Qo=i=>Ai[i&15],ta=i=>Ai[(i&240)>>4]+Ai[i&15],Ue=i=>(i&240)>>4===(i&15),ea=i=>Ue(i.r)&&Ue(i.g)&&Ue(i.b)&&Ue(i.a);function ia(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&nt[i[1]]*17,g:255&nt[i[2]]*17,b:255&nt[i[3]]*17,a:t===5?nt[i[4]]*17:255}:(t===7||t===9)&&(e={r:nt[i[1]]<<4|nt[i[2]],g:nt[i[3]]<<4|nt[i[4]],b:nt[i[5]]<<4|nt[i[6]],a:t===9?nt[i[7]]<<4|nt[i[8]]:255})),e}var sa=(i,t)=>i<255?t(i):"";function na(i){var t=ea(i)?Qo:ta;return i?"#"+t(i.r)+t(i.g)+t(i.b)+sa(i.a,t):void 0}var oa=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Ns(i,t,e){let s=t*Math.min(e,1-e),n=(o,a=(o+i/30)%12)=>e-s*Math.max(Math.min(a-3,9-a,1),-1);return[n(0),n(8),n(4)]}function aa(i,t,e){let s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function ra(i,t,e){let s=Ns(i,1,.5),n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function la(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-a):h/(o+a),l=la(e,s,n,h,o),l=l*60+.5),[l|0,c||0,r]}function Li(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(St)}function Ri(i,t,e){return Li(Ns,i,t,e)}function ca(i,t,e){return Li(ra,i,t,e)}function ha(i,t,e){return Li(aa,i,t,e)}function Hs(i){return(i%360+360)%360}function da(i){let t=oa.exec(i),e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?_e(+t[5]):St(+t[5]));let n=Hs(+t[2]),o=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?s=ca(n,o,a):t[1]==="hsv"?s=ha(n,o,a):s=Ri(n,o,a),{r:s[0],g:s[1],b:s[2],a:e}}function ua(i,t){var e=Ti(i);e[0]=Hs(e[0]+t),e=Ri(e),i.r=e[0],i.g=e[1],i.b=e[2]}function fa(i){if(!i)return;let t=Ti(i),e=t[0],s=zs(t[1]),n=zs(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${mt(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}var Bs={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Vs={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function ga(){let i={},t=Object.keys(Vs),e=Object.keys(Bs),s,n,o,a,r;for(s=0;s>16&255,o>>8&255,o&255]}return i}var Xe;function pa(i){Xe||(Xe=ga(),Xe.transparent=[0,0,0,0]);let t=Xe[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var ma=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function ba(i){let t=ma.exec(i),e=255,s,n,o;if(t){if(t[7]!==s){let a=+t[7];e=t[8]?_e(a):wt(a*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?_e(s):wt(s,0,255)),n=255&(t[4]?_e(n):wt(n,0,255)),o=255&(t[6]?_e(o):wt(o,0,255)),{r:s,g:n,b:o,a:e}}}function xa(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${mt(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}var Ci=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,Gt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function _a(i,t,e){let s=Gt(mt(i.r)),n=Gt(mt(i.g)),o=Gt(mt(i.b));return{r:St(Ci(s+e*(Gt(mt(t.r))-s))),g:St(Ci(n+e*(Gt(mt(t.g))-n))),b:St(Ci(o+e*(Gt(mt(t.b))-o))),a:i.a+e*(t.a-i.a)}}function Ke(i,t,e){if(i){let s=Ti(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=Ri(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function js(i,t){return i&&Object.assign(t||{},i)}function Ws(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=St(i[3]))):(t=js(i,{r:0,g:0,b:0,a:1}),t.a=St(t.a)),t}function ya(i){return i.charAt(0)==="r"?ba(i):da(i)}var ye=class i{constructor(t){if(t instanceof i)return t;let e=typeof t,s;e==="object"?s=Ws(t):e==="string"&&(s=ia(t)||pa(t)||ya(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=js(this._rgb);return t&&(t.a=mt(t.a)),t}set rgb(t){this._rgb=Ws(t)}rgbString(){return this._valid?xa(this._rgb):void 0}hexString(){return this._valid?na(this._rgb):void 0}hslString(){return this._valid?fa(this._rgb):void 0}mix(t,e){if(t){let s=this.rgb,n=t.rgb,o,a=e===o?.5:e,r=2*a-1,l=s.a-n.a,c=((r*l===-1?r:(r+l)/(1+r*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=_a(this._rgb,t._rgb,e)),this}clone(){return new i(this.rgb)}alpha(t){return this._rgb.a=St(t),this}clearer(t){let e=this._rgb;return e.a*=1-t,this}greyscale(){let t=this._rgb,e=ve(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){let e=this._rgb;return e.a*=1+t,this}negate(){let t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Ke(this._rgb,2,t),this}darken(t){return Ke(this._rgb,2,-t),this}saturate(t){return Ke(this._rgb,1,t),this}desaturate(t){return Ke(this._rgb,1,-t),this}rotate(t){return ua(this._rgb,t),this}};function dt(){}var tn=(()=>{let i=0;return()=>i++})();function A(i){return i==null}function z(i){if(Array.isArray&&Array.isArray(i))return!0;let t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function T(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function N(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function Z(i,t){return N(i)?i:t}function D(i,t){return typeof i>"u"?t:i}var en=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100:+i/t,zi=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function F(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function E(i,t,e,s){let n,o,a;if(z(i))if(o=i.length,s)for(n=o-1;n>=0;n--)t.call(e,i[n],n);else for(n=0;ni,x:i=>i.x,y:i=>i.y};function ka(i){let t=i.split("."),e=[],s="";for(let n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function wa(i){let t=ka(i);return e=>{for(let s of t){if(s==="")break;e=e&&e[s]}return e}}function _t(i,t){return($s[t]||($s[t]=wa(t)))(i)}function ii(i){return i.charAt(0).toUpperCase()+i.slice(1)}var ee=i=>typeof i<"u",bt=i=>typeof i=="function",Bi=(i,t)=>{if(i.size!==t.size)return!1;for(let e of i)if(!t.has(e))return!1;return!0};function nn(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}var R=Math.PI,B=2*R,Sa=B+R,Qe=Number.POSITIVE_INFINITY,Pa=R/180,H=R/2,Ft=R/4,Ys=R*2/3,xt=Math.log10,lt=Math.sign;function ie(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Da(i){return typeof i=="symbol"||typeof i=="object"&&i!==null&&!(Symbol.toPrimitive in i||"toString"in i||"valueOf"in i)}function Vt(i){return!Da(i)&&!isNaN(parseFloat(i))&&isFinite(i)}function an(i,t){let e=Math.round(i);return e-t<=i&&e+t>=i}function Wi(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function ni(i,t,e){e=e||(a=>i[a]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}var ct=(i,t,e,s)=>ni(i,e,s?n=>{let o=i[n][t];return oi[n][t]ni(i,e,s=>i[s][t]>=e);function cn(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{let s="_onData"+ii(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){let a=n.apply(this,o);return i._chartjs.listeners.forEach(r=>{typeof r[s]=="function"&&r[s](...o)}),a}})})}function ji(i,t){let e=i._chartjs;if(!e)return;let s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(hn.forEach(o=>{delete i[o]}),delete i._chartjs)}function $i(i){let t=new Set(i);return t.size===i.length?i:Array.from(t)}var Yi=(function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame})();function Ui(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,Yi.call(window,()=>{s=!1,i.apply(t,e)}))}}function un(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}var oi=i=>i==="start"?"left":i==="end"?"right":"center",K=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,fn=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function Xi(i,t,e){let s=t.length,n=0,o=s;if(i._sorted){let{iScale:a,vScale:r,_parsed:l}=i,c=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null,h=a.axis,{min:d,max:u,minDefined:f,maxDefined:g}=a.getUserBounds();if(f){if(n=Math.min(ct(l,h,d).lo,e?s:ct(t,h,a.getPixelForValue(d)).lo),c){let p=l.slice(0,n+1).reverse().findIndex(m=>!A(m[r.axis]));n-=Math.max(0,p)}n=Y(n,0,s-1)}if(g){let p=Math.max(ct(l,a.axis,u,!0).hi+1,e?0:ct(t,h,a.getPixelForValue(u),!0).hi+1);if(c){let m=l.slice(p-1).findIndex(b=>!A(b[r.axis]));p+=Math.max(0,m)}o=Y(p,n,s)-n}else o=s-n}return{start:n,count:o}}function Ki(i){let{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;let o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}var qe=i=>i===0||i===1,Us=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*B/e)),Xs=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*B/e)+1,Jt={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*H)+1,easeOutSine:i=>Math.sin(i*H),easeInOutSine:i=>-.5*(Math.cos(R*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>qe(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>qe(i)?i:Us(i,.075,.3),easeOutElastic:i=>qe(i)?i:Xs(i,.075,.3),easeInOutElastic(i){return qe(i)?i:i<.5?.5*Us(i*2,.1125,.45):.5+.5*Xs(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Jt.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Jt.easeInBounce(i*2)*.5:Jt.easeOutBounce(i*2-1)*.5+.5};function qi(i){if(i&&typeof i=="object"){let t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Gi(i){return qi(i)?i:new ye(i)}function Ei(i){return qi(i)?i:new ye(i).saturate(.5).darken(.1).hexString()}var Ca=["x","y","borderWidth","radius","tension"],Aa=["color","borderColor","backgroundColor"];function Ta(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Aa},numbers:{type:"number",properties:Ca}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function La(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var Ks=new Map;function Ra(i,t){t=t||{};let e=i+JSON.stringify(t),s=Ks.get(e);return s||(s=new Intl.NumberFormat(i,t),Ks.set(e,s)),s}function ne(i,t,e){return Ra(t,e).format(i)}var gn={values(i){return z(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";let s=this.chart.options.locale,n,o=i;if(e.length>1){let c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Ea(i,e)}let a=xt(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";let s=e[t].significand||i/Math.pow(10,Math.floor(xt(i)));return[1,2,3,5,10,15].includes(s)||t>.8*e.length?gn.numeric.call(this,i,t,e):""}};function Ea(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var Se={formatters:gn};function Ia(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Se.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}var Ot=Object.create(null),ai=Object.create(null);function Me(i,t){if(!t)return i;let e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>Ei(n.backgroundColor),this.hoverBorderColor=(s,n)=>Ei(n.borderColor),this.hoverColor=(s,n)=>Ei(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Ii(this,t,e)}get(t){return Me(this,t)}describe(t,e){return Ii(ai,t,e)}override(t,e){return Ii(Ot,t,e)}route(t,e,s,n){let o=Me(this,t),a=Me(this,s),r="_"+e;Object.defineProperties(o,{[r]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){let l=this[r],c=a[n];return T(l)?Object.assign({},c,l):D(l,c)},set(l){this[r]=l}}})}apply(t){t.forEach(e=>e(this))}},V=new Fi({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Ta,La,Ia]);function Fa(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function ke(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function pn(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let a=0,r=e.length,l,c,h,d,u;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function ht(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="",l,c;for(i.save(),i.font=n.string,za(i,o),l=0;l+i||0;function li(i,t){let e={},s=T(t),n=s?Object.keys(t):t,o=T(i)?s?a=>D(i[a],i[t[a]]):a=>i[a]:()=>i;for(let a of n)e[a]=ja(o(a));return e}function Qi(i){return li(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Tt(i){return li(i,["topLeft","topRight","bottomLeft","bottomRight"])}function q(i){let t=Qi(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function $(i,t){i=i||{},t=t||V.font;let e=D(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=D(i.style,t.style);s&&!(""+s).match(Na)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);let n={family:D(i.family,t.family),lineHeight:Ha(D(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:D(i.weight,t.weight),string:""};return n.string=Fa(n),n}function ae(i,t,e,s){let n=!0,o,a,r;for(o=0,a=i.length;oe&&r===0?0:r+l;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function yt(i,t){return Object.assign(Object.create(i),t)}function ci(i,t=[""],e,s,n=()=>i[0]){let o=e||i;typeof s>"u"&&(s=vn("_fallback",i));let a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:r=>ci([r,...i],t,o,s)};return new Proxy(a,{deleteProperty(r,l){return delete r[l],delete r._keys,delete i[0][l],!0},get(r,l){return _n(r,l,()=>Ja(l,t,i,r))},getOwnPropertyDescriptor(r,l){return Reflect.getOwnPropertyDescriptor(r._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(r,l){return Gs(r).includes(l)},ownKeys(r){return Gs(r)},set(r,l,c){let h=r._storage||(r._storage=n());return r[l]=h[l]=c,delete r._keys,!0}})}function Bt(i,t,e,s){let n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:ts(i,s),setContext:o=>Bt(i,o,e,s),override:o=>Bt(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,a){return delete o[a],delete i[a],!0},get(o,a,r){return _n(o,a,()=>Ya(o,a,r))},getOwnPropertyDescriptor(o,a){return o._descriptors.allKeys?Reflect.has(i,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,a)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,a){return Reflect.has(i,a)},ownKeys(){return Reflect.ownKeys(i)},set(o,a,r){return i[a]=r,delete o[a],!0}})}function ts(i,t={scriptable:!0,indexable:!0}){let{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:bt(e)?e:()=>e,isIndexable:bt(s)?s:()=>s}}var $a=(i,t)=>i?i+ii(t):t,es=(i,t)=>T(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function _n(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];let s=e();return i[t]=s,s}function Ya(i,t,e){let{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=i,r=s[t];return bt(r)&&a.isScriptable(t)&&(r=Ua(t,r,i,e)),z(r)&&r.length&&(r=Xa(t,r,i,a.isIndexable)),es(t,r)&&(r=Bt(r,n,o&&o[t],a)),r}function Ua(i,t,e,s){let{_proxy:n,_context:o,_subProxy:a,_stack:r}=e;if(r.has(i))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+i);r.add(i);let l=t(o,a||s);return r.delete(i),es(i,l)&&(l=is(n._scopes,n,i,l)),l}function Xa(i,t,e,s){let{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(T(t[0])){let l=t,c=n._scopes.filter(h=>h!==l);t=[];for(let h of l){let d=is(c,n,i,h);t.push(Bt(d,o,a&&a[i],r))}}return t}function yn(i,t,e){return bt(i)?i(t,e):i}var Ka=(i,t)=>i===!0?t:typeof i=="string"?_t(t,i):void 0;function qa(i,t,e,s,n){for(let o of t){let a=Ka(e,o);if(a){i.add(a);let r=yn(a._fallback,e,n);if(typeof r<"u"&&r!==e&&r!==s)return r}else if(a===!1&&typeof s<"u"&&e!==s)return null}return!1}function is(i,t,e,s){let n=t._rootScopes,o=yn(t._fallback,e,s),a=[...i,...n],r=new Set;r.add(s);let l=qs(r,a,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=qs(r,a,o,l,s),l===null)?!1:ci(Array.from(r),[""],n,o,()=>Ga(t,e,s))}function qs(i,t,e,s,n){for(;e;)e=qa(i,t,e,s,n);return e}function Ga(i,t,e){let s=i._getTarget();t in s||(s[t]={});let n=s[t];return z(n)&&T(e)?e:n||{}}function Ja(i,t,e,s){let n;for(let o of t)if(n=vn($a(o,i),e),typeof n<"u")return es(i,n)?is(e,s,i,n):n}function vn(i,t){for(let e of t){if(!e)continue;let s=e[i];if(typeof s<"u")return s}}function Gs(i){let t=i._keys;return t||(t=i._keys=Za(i._scopes)),t}function Za(i){let t=new Set;for(let e of i)for(let s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}function ss(i,t,e,s){let{iScale:n}=i,{key:o="r"}=this._parsing,a=new Array(s),r,l,c,h;for(r=0,l=s;rti==="x"?"y":"x";function tr(i,t,e,s){let n=i.skip?t:i,o=t,a=e.skip?t:e,r=ti(o,n),l=ti(a,o),c=r/(r+l),h=l/(r+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;let d=s*c,u=s*h;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function er(i,t,e){let s=i.length,n,o,a,r,l,c=Qt(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")sr(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,a=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function or(i,t){return ui(i).getPropertyValue(t)}var ar=["top","right","bottom","left"];function zt(i,t,e){let s={};e=e?"-"+e:"";for(let n=0;n<4;n++){let o=ar[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}var rr=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function lr(i,t){let e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s,a=!1,r,l;if(rr(n,o,i.target))r=n,l=o;else{let c=t.getBoundingClientRect();r=s.clientX-c.left,l=s.clientY-c.top,a=!0}return{x:r,y:l,box:a}}function Lt(i,t){if("native"in i)return i;let{canvas:e,currentDevicePixelRatio:s}=t,n=ui(e),o=n.boxSizing==="border-box",a=zt(n,"padding"),r=zt(n,"border","width"),{x:l,y:c,box:h}=lr(i,e),d=a.left+(h&&r.left),u=a.top+(h&&r.top),{width:f,height:g}=t;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*e.width/s),y:Math.round((c-u)/g*e.height/s)}}function cr(i,t,e){let s,n;if(t===void 0||e===void 0){let o=i&&di(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{let a=o.getBoundingClientRect(),r=ui(o),l=zt(r,"border","width"),c=zt(r,"padding");t=a.width-c.width-l.width,e=a.height-c.height-l.height,s=ei(r.maxWidth,o,"clientWidth"),n=ei(r.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Qe,maxHeight:n||Qe}}var Dt=i=>Math.round(i*10)/10;function wn(i,t,e,s){let n=ui(i),o=zt(n,"margin"),a=ei(n.maxWidth,i,"clientWidth")||Qe,r=ei(n.maxHeight,i,"clientHeight")||Qe,l=cr(i,t,e),{width:c,height:h}=l;if(n.boxSizing==="content-box"){let u=zt(n,"border","width"),f=zt(n,"padding");c-=f.width+u.width,h-=f.height+u.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=Dt(Math.min(c,a,l.maxWidth)),h=Dt(Math.min(h,r,l.maxHeight)),c&&!h&&(h=Dt(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=Dt(Math.floor(h*s))),{width:c,height:h}}function ns(i,t,e){let s=t||1,n=Dt(i.height*s),o=Dt(i.width*s);i.height=Dt(i.height),i.width=Dt(i.width);let a=i.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${i.height}px`,a.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||a.height!==n||a.width!==o?(i.currentDevicePixelRatio=s,a.height=n,a.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}var Sn=(function(){let i=!1;try{let t={get passive(){return i=!0,!1}};hi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i})();function os(i,t){let e=or(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Pt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Pn(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Dn(i,t,e,s){let n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},a=Pt(i,n,e),r=Pt(n,o,e),l=Pt(o,t,e),c=Pt(a,r,e),h=Pt(r,l,e);return Pt(c,h,e)}var hr=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},dr=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function Wt(i,t,e){return i?hr(t,e):dr()}function as(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function rs(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function On(i){return i==="angle"?{between:se,compare:Oa,normalize:X}:{between:ut,compare:(t,e)=>t-e,normalize:t=>t}}function Js({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function ur(i,t,e){let{property:s,start:n,end:o}=e,{between:a,normalize:r}=On(s),l=t.length,{start:c,end:h,loop:d}=i,u,f;if(d){for(c+=l,h+=l,u=0,f=l;ul(n,v,b)&&r(n,v)!==0,_=()=>r(o,b)===0||l(o,v,b),k=()=>p||y(),w=()=>!p||_();for(let S=h,P=h;S<=d;++S)x=t[S%a],!x.skip&&(b=c(x[s]),b!==v&&(p=l(b,n,o),m===null&&k()&&(m=r(b,n)===0?S:P),m!==null&&w()&&(g.push(Js({start:m,end:S,loop:u,count:a,style:f})),m=null),P=S,v=b));return m!==null&&g.push(Js({start:m,end:d,loop:u,count:a,style:f})),g}function cs(i,t){let e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function gr(i,t,e,s){let n=i.length,o=[],a=t,r=i[t],l;for(l=t+1;l<=e;++l){let c=i[l%n];c.skip||c.stop?r.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=a=c.stop?l:null):(a=l,r.skip&&(t=l)),r=c}return a!==null&&o.push({start:t%n,end:a%n,loop:s}),o}function Cn(i,t){let e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];let o=!!i._loop,{start:a,end:r}=fr(e,n,o,s);if(s===!0)return Zs(i,[{start:a,end:r,loop:o}],e,t);let l=rr({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(s-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=Yi.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;let o=s.items,a=o.length-1,r=!1,l;for(;a>=0;--a)l=o[a],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),r=!0):(o[a]=o[o.length-1],o.pop());r&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){let e=this._charts,s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){let e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;let e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){let e=this._charts.get(t);if(!e||!e.items.length)return;let s=e.items,n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}},vt=new Ms,An="transparent",xr={boolean(i,t,e){return e>.5?t:i},color(i,t,e){let s=Gi(i||An),n=s.valid&&Gi(t||An);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}},ks=class{constructor(t,e,s,n){let o=e[s];n=ae([t.to,n,o,t.from]);let a=ae([t.from,o,n]);this._active=!0,this._fn=t.fn||xr[t.type||typeof a],this._easing=Jt[t.easing]||Jt.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=s,this._from=a,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);let n=this._target[this._prop],o=s-this._start,a=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=ae([t.to,e,n,t.from]),this._from=ae([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){let e=t-this._start,s=this._duration,n=this._prop,o=this._from,a=this._loop,r=this._to,l;if(this._active=o!==r&&(a||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,r,l)}wait(){let t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){let e=t?"res":"rej",s=this._promises||[];for(let n=0;n{let o=t[n];if(!T(o))return;let a={};for(let r of e)a[r]=o[r];(z(o.properties)&&o.properties||[n]).forEach(r=>{(r===n||!s.has(r))&&s.set(r,a)})})}_animateOptions(t,e){let s=e.options,n=yr(t,s);if(!n)return[];let o=this._createAnimations(n,s);return s.$shared&&_r(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){let s=this._properties,n=[],o=t.$animations||(t.$animations={}),a=Object.keys(e),r=Date.now(),l;for(l=a.length-1;l>=0;--l){let c=a[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}let h=e[c],d=o[c],u=s.get(c);if(d)if(u&&d.active()){d.update(u,h,r);continue}else d.cancel();if(!u||!u.duration){t[c]=h;continue}o[c]=d=new ks(u,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}let s=this._createAnimations(t,e);if(s.length)return vt.add(this._chart,s),!0}};function _r(i,t){let e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function En(i,t){let{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,c=a.axis,h=wr(o,a,s),d=t.length,u;for(let f=0;fe[s].axis===t).shift()}function Dr(i,t){return yt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Or(i,t,e){return yt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Oe(i,t){let e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(let n of t){let o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}var fs=i=>i==="reset"||i==="none",In=(i,t)=>t?i:Object.assign({},i),Cr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:Ao(e,!0),values:null},it=class{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.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ds(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Oe(this._cachedMeta),this.index=t}linkScales(){let t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,u,f,g)=>d==="x"?u:d==="r"?g:f,o=e.xAxisID=D(s.xAxisID,us(t,"x")),a=e.yAxisID=D(s.yAxisID,us(t,"y")),r=e.rAxisID=D(s.rAxisID,us(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,a,r),h=e.vAxisID=n(l,a,o,r);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(r),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){let e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){let t=this._cachedMeta;this._data&&ji(this._data,this),t._stacked&&Oe(t)}_dataCheck(){let t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(T(e)){let n=this._cachedMeta;this._data=kr(e,n)}else if(s!==e){if(s){ji(s,this);let n=this._cachedMeta;Oe(n),n._parsed=[]}e&&Object.isExtensible(e)&&dn(e,this),this._syncList=[],this._data=e}}addElements(){let t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){let e=this._cachedMeta,s=this.getDataset(),n=!1;this._dataCheck();let o=e._stacked;e._stacked=ds(e.vScale,e),e.stack!==s.stack&&(n=!0,Oe(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&(En(this,e._parsed),e._stacked=ds(e.vScale,e))}configure(){let t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){let{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:a}=s,r=o.axis,l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,u;if(this._parsing===!1)s._parsed=n,s._sorted=!0,u=n;else{z(n[t])?u=this.parseArrayData(s,n,t,e):T(n[t])?u=this.parseObjectData(s,n,t,e):u=this.parsePrimitiveData(s,n,t,e);let f=()=>d[r]===null||c&&d[r]p||d=0;--u)if(!g()){this.updateRangeFromParsed(c,t,f,l);break}}return c}getAllParsedValues(t){let e=this._cachedMeta._parsed,s=[],n,o,a;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),p=c.resolveNamedOptions(u,f,g,d);return p.$shared&&(p.$shared=l,o[a]=Object.freeze(In(p,l))),p}_resolveAnimations(t,e,s){let n=this.chart,o=this._cachedDataOpts,a=`animation-${e}`,r=o[a];if(r)return r;let l;if(n.options.animation!==!1){let h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),u=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(u,this.getContext(t,s,e))}let c=new vi(n,l&&l.animations);return l&&l._cacheable&&(o[a]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||fs(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){let s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),a=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:a}}updateElement(t,e,s,n){fs(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!fs(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;let o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){let t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){let e=this._data,s=this._cachedMeta.data;for(let[r,l,c]of this._syncList)this[r](l,c);this._syncList=[];let n=s.length,o=e.length,a=Math.min(o,n);a&&this.parse(0,a),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,r=c.length-1;r>=a;r--)c[r]=c[r-e]};for(l(o),r=t;rn-o))}return i._cache.$bar}function Tr(i){let t=i.iScale,e=Ar(t,i.type),s=t._length,n,o,a,r,l=()=>{a===32767||a===-32768||(ee(r)&&(s=Math.min(s,Math.abs(a-r)||s)),r=a)};for(n=0,o=e.length;n0?n[i-1]:null,r=iMath.abs(r)&&(l=r,c=a),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:a,max:r}}function To(i,t,e,s){return z(i)?Er(i,t,e,s):t[e.axis]=e.parse(i,s),t}function Fn(i,t,e,s){let n=i.iScale,o=i.vScale,a=n.getLabels(),r=n===o,l=[],c,h,d,u;for(c=e,h=e+s;c=e?1:-1)}function Fr(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.baseh.controller.options.grouped),o=s.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[s.axis],c=h=>{let d=h._parsed.find(f=>f[s.axis]===l),u=d&&d[h.vScale.axis];if(A(u)||isNaN(u))return!0};for(let h of n)if(!(e!==void 0&&c(h))&&((o===!1||a.indexOf(h.stack)===-1||o===void 0&&h.stack===void 0)&&a.push(h.stack),h.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(s=>t[s].axis===e).shift()}_getAxis(){let t={},e=this.getFirstScaleIdForIndexAxis();for(let s of this.chart.data.datasets)t[D(this.chart.options.indexAxis==="x"?s.xAxisID:s.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,s){let n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){let t=this.options,e=this._cachedMeta,s=e.iScale,n=[],o,a;for(o=0,a=e.data.length;o=0;--s)e=Math.max(e,t[s].size(this.resolveDataElementOptions(s))/2);return e>0&&e}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart.data.labels||[],{xScale:n,yScale:o}=e,a=this.getParsed(t),r=n.getLabelForValue(a.x),l=o.getLabelForValue(a.y),c=a._custom;return{label:s[t]||"",value:"("+r+", "+l+(c?", "+c:"")+")"}}update(t){let e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,s,n){let o=n==="reset",{iScale:a,vScale:r}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(e,n),h=a.axis,d=r.axis;for(let u=e;use(v,r,l,!0)?1:Math.max(y,y*e,_,_*e),g=(v,y,_)=>se(v,r,l,!0)?-1:Math.min(y,y*e,_,_*e),p=f(0,c,d),m=f(H,h,u),b=g(R,c,d),x=g(R+H,h,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}var kt=class extends it{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){let s=this.getDataset().data,n=this._cachedMeta;if(this._parsing===!1)n._parsed=s;else{let o=l=>+s[l];if(T(s[t])){let{key:l="value"}=this._parsing;o=c=>+_t(s[c],l)}let a,r;for(a=t,r=t+e;a0&&!isNaN(t)?B*(Math.abs(t)/e):0}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=ne(e._parsed[t],s.options.locale);return{label:n[t]||"",value:o}}getMaxBorderWidth(t){let e=0,s=this.chart,n,o,a,r,l;if(!t){for(n=0,o=s.data.datasets.length;nt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),M(kt,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data,{labels:{pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((l,c)=>{let d=t.getDatasetMeta(0).controller.getStyle(c);return{text:l,fillStyle:d.backgroundColor,fontColor:o,hidden:!t.getDataVisibility(c),lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:d.borderWidth,strokeStyle:d.borderColor,textAlign:n,pointStyle:s,borderRadius:a&&(r||d.borderRadius),index:c}}):[]}},onClick(t,e,s){s.chart.toggleDataVisibility(e.index),s.chart.update()}}}});var he=class extends it{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){let e=this._cachedMeta,{dataset:s,data:n=[],_dataset:o}=e,a=this.chart._animationsDisabled,{start:r,count:l}=Xi(e,n,a);this._drawStart=r,this._drawCount=l,Ki(e)&&(r=0,l=n.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=n;let c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!a,options:c},t),this.updateElements(n,r,l,t)}updateElements(t,e,s,n){let o=n==="reset",{iScale:a,vScale:r,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:h,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=Vt(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||n==="none",x=e+s,v=t.length,y=e>0&&this.getParsed(e-1);for(let _=0;_=x){w.skip=!0;continue}let S=this.getParsed(_),P=A(S[f]),O=w[u]=a.getPixelForValue(S[u],_),C=w[f]=o||P?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,S,l):S[f],_);w.skip=isNaN(O)||isNaN(C)||P,w.stop=_>0&&Math.abs(S[u]-y[u])>m,p&&(w.parsed=S,w.raw=c.data[_]),d&&(w.options=h||this.resolveDataElementOptions(_,k.active?"active":n)),b||this.updateElement(k,_,w,n),y=S}}getMaxOverflow(){let t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;let o=n[0].size(this.resolveDataElementOptions(0)),a=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,a)/2}draw(){let t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}};M(he,"id","line"),M(he,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),M(he,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});var Yt=class extends it{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){let e=this._cachedMeta,s=this.chart,n=s.data.labels||[],o=ne(e._parsed[t].r,s.options.locale);return{label:n[t]||"",value:o}}parseObjectData(t,e,s,n){return ss.bind(this)(t,e,s,n)}update(t){let e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){let t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,n)=>{let o=this.getParsed(n).r;!isNaN(o)&&this.chart.getDataVisibility(n)&&(oe.max&&(e.max=o))}),e}_updateRadius(){let t=this.chart,e=t.chartArea,s=t.options,n=Math.min(e.right-e.left,e.bottom-e.top),o=Math.max(n/2,0),a=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),r=(o-a)/t.getVisibleDatasetCount();this.outerRadius=o-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(t,e,s,n){let o=n==="reset",a=this.chart,l=a.options.animation,c=this._cachedMeta.rScale,h=c.xCenter,d=c.yCenter,u=c.getIndexAngle(0)-.5*R,f=u,g,p=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&e++}),e}_computeAngle(t,e,s){return this.chart.getDataVisibility(t)?ot(this.resolveDataElementOptions(t,e).angle||s):0}};M(Yt,"id","polarArea"),M(Yt,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),M(Yt,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){let e=t.data;if(e.labels.length&&e.datasets.length){let{labels:{pointStyle:s,color:n}}=t.legend.options;return e.labels.map((o,a)=>{let l=t.getDatasetMeta(0).controller.getStyle(a);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:n,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,s){s.chart.toggleDataVisibility(e.index),s.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});var Re=class extends kt{};M(Re,"id","pie"),M(Re,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});var de=class extends it{getLabelAndValue(t){let e=this._cachedMeta.vScale,s=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(s[e.axis])}}parseObjectData(t,e,s,n){return ss.bind(this)(t,e,s,n)}update(t){let e=this._cachedMeta,s=e.dataset,n=e.data||[],o=e.iScale.getLabels();if(s.points=n,t!=="resize"){let a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);let r={_loop:!0,_fullLoop:o.length===n.length,options:a};this.updateElement(s,void 0,r,t)}this.updateElements(n,0,n.length,t)}updateElements(t,e,s,n){let o=this._cachedMeta.rScale,a=n==="reset";for(let r=e;r0&&this.getParsed(e-1);for(let y=e;y0&&Math.abs(k[f]-v[f])>b,m&&(w.parsed=k,w.raw=c.data[y]),u&&(w.options=d||this.resolveDataElementOptions(y,_.active?"active":n)),x||this.updateElement(_,y,w,n),v=k}this.updateSharedOptions(d,n,h)}getMaxOverflow(){let t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let r=0;for(let l=e.length-1;l>=0;--l)r=Math.max(r,e[l].size(this.resolveDataElementOptions(l))/2);return r>0&&r}let s=t.dataset,n=s.options&&s.options.borderWidth||0;if(!e.length)return n;let o=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,a)/2}};M(ue,"id","scatter"),M(ue,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),M(ue,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var Nr=Object.freeze({__proto__:null,BarController:le,BubbleController:ce,DoughnutController:kt,LineController:he,PieController:Re,PolarAreaController:Yt,RadarController:de,ScatterController:ue});function Nt(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var ws=class i{constructor(t){M(this,"options");this.options=t||{}}static override(t){Object.assign(i.prototype,t)}init(){}formats(){return Nt()}parse(){return Nt()}format(){return Nt()}add(){return Nt()}diff(){return Nt()}startOf(){return Nt()}endOf(){return Nt()}},Hr={_date:ws};function jr(i,t,e,s){let{controller:n,data:o,_sorted:a}=i,r=n._cachedMeta.iScale,l=i.dataset&&i.dataset.options?i.dataset.options.spanGaps:null;if(r&&t===r.axis&&t!=="r"&&a&&o.length){let c=r._reversePixels?ln:ct;if(s){if(n._sharedOptions){let h=o[0],d=typeof h.getRange=="function"&&h.getRange(t);if(d){let u=c(o,t,e-d),f=c(o,t,e+d);return{lo:u.lo,hi:f.hi}}}}else{let h=c(o,t,e);if(l){let{vScale:d}=n._cachedMeta,{_parsed:u}=i,f=u.slice(0,h.lo+1).reverse().findIndex(p=>!A(p[d.axis]));h.lo-=Math.max(0,f);let g=u.slice(h.hi).findIndex(p=>!A(p[d.axis]));h.hi+=Math.max(0,g)}return h}}return{lo:0,hi:o.length-1}}function $e(i,t,e,s,n){let o=i.getSortedVisibleDatasetMetas(),a=e[t];for(let r=0,l=o.length;r{l[a]&&l[a](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),r=r||l.inRange(t.x,t.y,n))}),s&&!r?[]:o}var Xr={evaluateInteractionItems:$e,modes:{index(i,t,e,s){let n=Lt(t,i),o=e.axis||"x",a=e.includeInvisible||!1,r=e.intersect?ps(i,n,o,s,a):ms(i,n,o,!1,s,a),l=[];return r.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{let h=r[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){let n=Lt(t,i),o=e.axis||"xy",a=e.includeInvisible||!1,r=e.intersect?ps(i,n,o,s,a):ms(i,n,o,!1,s,a);if(r.length>0){let l=r[0].datasetIndex,c=i.getDatasetMeta(l).data;r=[];for(let h=0;he.pos===t)}function Wn(i,t){return i.filter(e=>Lo.indexOf(e.pos)===-1&&e.box.axis===t)}function Ae(i,t){return i.sort((e,s)=>{let n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function Kr(i){let t=[],e,s,n,o,a,r;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=Ae(Ce(t,"left"),!0),n=Ae(Ce(t,"right")),o=Ae(Ce(t,"top"),!0),a=Ae(Ce(t,"bottom")),r=Wn(t,"x"),l=Wn(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ce(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}function Nn(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function Ro(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function Zr(i,t,e,s){let{pos:n,box:o}=e,a=i.maxPadding;if(!T(n)){e.size&&(i[n]-=e.size);let d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&Ro(a,o.getPadding());let r=Math.max(0,t.outerWidth-Nn(a,i,"left","right")),l=Math.max(0,t.outerHeight-Nn(a,i,"top","bottom")),c=r!==i.w,h=l!==i.h;return i.w=r,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Qr(i){let t=i.maxPadding;function e(s){let n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function tl(i,t){let e=t.maxPadding;function s(n){let o={left:0,top:0,right:0,bottom:0};return n.forEach(a=>{o[a]=Math.max(t[a],e[a])}),o}return s(i?["left","right"]:["top","bottom"])}function Ee(i,t,e,s){let n=[],o,a,r,l,c,h;for(o=0,a=i.length,c=0;o{typeof p.beforeLayout=="function"&&p.beforeLayout()});let h=l.reduce((p,m)=>m.box.options&&m.box.options.display===!1?p:p+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/h,hBoxMaxHeight:a/2}),u=Object.assign({},n);Ro(u,q(s));let f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=Gr(l.concat(c),d);Ee(r.fullSize,f,d,g),Ee(l,f,d,g),Ee(c,f,d,g)&&Ee(l,f,d,g),Qr(f),Hn(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,Hn(r.rightAndBottom,f,d,g),i.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},E(r.chartArea,p=>{let m=p.box;Object.assign(m,i.chartArea),m.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}},Mi=class{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}},Ss=class extends Mi{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}},_i="$chartjs",el={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},jn=i=>i===null||i==="";function il(i,t){let e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[_i]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",jn(n)){let o=os(i,"width");o!==void 0&&(i.width=o)}if(jn(s))if(i.style.height==="")i.height=i.width/(t||2);else{let o=os(i,"height");o!==void 0&&(i.height=o)}return i}var Eo=Sn?{passive:!0}:!1;function sl(i,t,e){i&&i.addEventListener(t,e,Eo)}function nl(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,Eo)}function ol(i,t){let e=el[i.type]||i.type,{x:s,y:n}=Lt(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function ki(i,t){for(let e of i)if(e===t||e.contains(t))return!0}function al(i,t,e){let s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(let r of o)a=a||ki(r.addedNodes,s),a=a&&!ki(r.removedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function rl(i,t,e){let s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(let r of o)a=a||ki(r.removedNodes,s),a=a&&!ki(r.addedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}var Ne=new Map,$n=0;function Io(){let i=window.devicePixelRatio;i!==$n&&($n=i,Ne.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function ll(i,t){Ne.size||window.addEventListener("resize",Io),Ne.set(i,t)}function cl(i){Ne.delete(i),Ne.size||window.removeEventListener("resize",Io)}function hl(i,t,e){let s=i.canvas,n=s&&di(s);if(!n)return;let o=Ui((r,l)=>{let c=n.clientWidth;e(r,l),c{let l=r[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return a.observe(n),ll(i,o),a}function bs(i,t,e){e&&e.disconnect(),t==="resize"&&cl(i)}function dl(i,t,e){let s=i.canvas,n=Ui(o=>{i.ctx!==null&&e(ol(o,i))},i);return sl(s,t,n),n}var Ps=class extends Mi{acquireContext(t,e){let s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(il(t,e),s):null}releaseContext(t){let e=t.canvas;if(!e[_i])return!1;let s=e[_i].initial;["height","width"].forEach(o=>{let a=s[o];A(a)?e.removeAttribute(o):e.setAttribute(o,a)});let n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[_i],!0}addEventListener(t,e,s){this.removeEventListener(t,e);let n=t.$proxies||(t.$proxies={}),a={attach:al,detach:rl,resize:hl}[e]||dl;n[e]=a(t,e,s)}removeEventListener(t,e){let s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:bs,detach:bs,resize:bs}[e]||nl)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return wn(t,e,s,n)}isAttached(t){let e=t&&di(t);return!!(e&&e.isConnected)}};function ul(i){return!hi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?Ss:Ps}var st=class{constructor(){M(this,"x");M(this,"y");M(this,"active",!1);M(this,"options");M(this,"$animations")}tooltipPosition(t){let{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Vt(this.x)&&Vt(this.y)}getProps(t,e){let s=this.$animations;if(!e||!s)return this;let n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}};M(st,"defaults",{}),M(st,"defaultRoutes");function fl(i,t){let e=i.options.ticks,s=gl(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?ml(t):[],a=o.length,r=o[0],l=o[a-1],c=[];if(a>n)return bl(t,c,o,a/n),c;let h=pl(o,t,n);if(a>0){let d,u,f=a>1?Math.round((l-r)/(a-1)):null;for(gi(t,c,h,A(f)?0:r-f,r),d=0,u=a-1;dn)return l}return Math.max(n,1)}function ml(i){let t=[],e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,Yn=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,Un=(i,t)=>Math.min(t||i,i);function Xn(i,t){let e=[],s=i.length/t,n=i.length,o=0;for(;oa+r)))return l}function vl(i,t){E(i,e=>{let s=e.gc,n=s.length/2,o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:Z(e,Z(s,e)),max:Z(s,Z(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){F(this.options.beforeUpdate,[this])}update(t,e,s){let{beginAtZero:n,grace:o,ticks:a}=this.options,r=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xn(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let l=r=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}let h=this._getLabelSizes(),d=h.widest.width,u=h.highest.height,f=Y(this.chart.width-d,0,this.maxWidth);r=t.offset?this.maxWidth/s:f/(s-1),d+6>r&&(r=f/(s-(t.offset?.5:1)),l=this.maxHeight-Te(t.grid)-e.padding-Kn(t.title,this.chart.options.font),c=Math.sqrt(d*d+u*u),a=si(Math.min(Math.asin(Y((h.highest.height+6)/r,-1,1)),Math.asin(Y(l/c,-1,1))-Math.asin(Y(u/c,-1,1)))),a=Math.max(n,Math.min(o,a))),this.labelRotation=a}afterCalculateLabelRotation(){F(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){F(this.options.beforeFit,[this])}fit(){let t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,a=this._isVisible(),r=this.isHorizontal();if(a){let l=Kn(n,e.options.font);if(r?(t.width=this.maxWidth,t.height=Te(o)+l):(t.height=this.maxHeight,t.width=Te(o)+l),s.display&&this.ticks.length){let{first:c,last:h,widest:d,highest:u}=this._getLabelSizes(),f=s.padding*2,g=ot(this.labelRotation),p=Math.cos(g),m=Math.sin(g);if(r){let b=s.mirror?0:m*d.width+p*u.height;t.height=Math.min(this.maxHeight,t.height+b+f)}else{let b=s.mirror?0:p*d.width+m*u.height;t.width=Math.min(this.maxWidth,t.width+b+f)}this._calculatePadding(c,h,m,p)}}this._handleMargins(),r?(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,s,n){let{ticks:{align:o,padding:a},position:r}=this.options,l=this.labelRotation!==0,c=r!=="top"&&this.axis==="x";if(this.isHorizontal()){let h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1),u=0,f=0;l?c?(u=n*t.width,f=s*e.height):(u=s*t.height,f=n*e.width):o==="start"?f=e.width:o==="end"?u=t.width:o!=="inner"&&(u=t.width/2,f=e.width/2),this.paddingLeft=Math.max((u-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((f-d+a)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+a,this.paddingBottom=d+a}}_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(){F(this.options.afterFit,[this])}isHorizontal(){let{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:a[P]||0,height:r[P]||0});return{first:S(0),last:S(e-1),widest:S(k),highest:S(w),widths:a,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){let e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);let e=this._startPixel+t*this._length;return rn(this._alignToPixels?Ct(this.chart,e,0):e)}getDecimalForPixel(t){let e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){let e=this.ticks||[];if(t>=0&&tr*n?r/s:l/n:l*n0}_computeGridLineItems(t){let e=this.axis,s=this.chart,n=this.options,{grid:o,position:a,border:r}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),u=Te(o),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,b=function(W){return Ct(s,W,p)},x,v,y,_,k,w,S,P,O,C,L,U;if(a==="top")x=b(this.bottom),w=this.bottom-u,P=x-m,C=b(t.top)+m,U=t.bottom;else if(a==="bottom")x=b(this.top),C=t.top,U=b(t.bottom)-m,w=x+m,P=this.top+u;else if(a==="left")x=b(this.right),k=this.right-u,S=x-m,O=b(t.left)+m,L=t.right;else if(a==="right")x=b(this.left),O=t.left,L=b(t.right)-m,k=x+m,S=this.left+u;else if(e==="x"){if(a==="center")x=b((t.top+t.bottom)/2+.5);else if(T(a)){let W=Object.keys(a)[0],j=a[W];x=b(this.chart.scales[W].getPixelForValue(j))}C=t.top,U=t.bottom,w=x+m,P=w+u}else if(e==="y"){if(a==="center")x=b((t.left+t.right)/2);else if(T(a)){let W=Object.keys(a)[0],j=a[W];x=b(this.chart.scales[W].getPixelForValue(j))}k=x-m,S=k-u,O=t.left,L=t.right}let et=D(n.ticks.maxTicksLimit,d),I=Math.max(1,Math.ceil(d/et));for(v=0;v0&&(It-=Et/2);break}Ye={left:It,top:xe,width:Et+qt.width,height:be+qt.height,color:I.backdropColor}}m.push({label:y,font:P,textOffset:L,options:{rotation:p,color:j,strokeColor:rt,strokeWidth:G,textAlign:Kt,textBaseline:U,translation:[_,k],backdrop:Ye}})}return m}_getXAxisLabelAlignment(){let{position:t,ticks:e}=this.options;if(-ot(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){let{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,a=this._getLabelSizes(),r=t+o,l=a.widest.width,c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-r,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+r,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;let t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){let{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,a),t.restore())}getLineWidthForValue(t){let e=this.options.grid;if(!this._isVisible()||!e.display)return 0;let n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){let e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t)),o,a,r=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,a=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){let e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[],o,a;for(o=0,a=e.length;o{let s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),a=t[e].split("."),r=a.pop(),l=a.join(".");V.route(o,n,l,r)})}function Ol(i){return"id"in i&&"defaults"in i}var Ds=class{constructor(){this.controllers=new pe(it,"datasets",!0),this.elements=new pe(st,"elements"),this.plugins=new pe(Object,"plugins"),this.scales=new pe(Xt,"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,s){[...e].forEach(n=>{let o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):E(n,a=>{let r=s||this._getRegistryForType(a);this._exec(t,r,a)})})}_exec(t,e,s){let n=ii(t);F(s["before"+n],[],s),e[t](s),F(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(r=>!a.some(l=>r.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}};function Cl(i){let t={},e=[],s=Object.keys(gt.plugins.items);for(let o=0;o1&&qn(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function Gn(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function Fl(i,t){if(t.data&&t.data.datasets){let e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return Gn(i,"x",e[0])||Gn(i,"y",e[0])}return{}}function zl(i,t){let e=Ot[i.type]||{scales:{}},s=t.scales||{},n=Cs(i.type,t),o=Object.create(null);return Object.keys(s).forEach(a=>{let r=s[a];if(!T(r))return console.error(`Invalid scale configuration for scale: ${a}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);let l=As(a,r,Fl(a,i),V.scales[r.type]),c=El(l,n),h=e.scales||{};o[a]=te(Object.create(null),[{axis:l},r,h[l],h[c]])}),i.data.datasets.forEach(a=>{let r=a.type||i.type,l=a.indexAxis||Cs(r,t),h=(Ot[r]||{}).scales||{};Object.keys(h).forEach(d=>{let u=Rl(d,l),f=a[u+"AxisID"]||u;o[f]=o[f]||Object.create(null),te(o[f],[{axis:u},s[f],h[d]])})}),Object.keys(o).forEach(a=>{let r=o[a];te(r,[V.scales[r.type],V.scale])}),o}function Fo(i){let t=i.options||(i.options={});t.plugins=D(t.plugins,{}),t.scales=zl(i,t)}function zo(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function Bl(i){return i=i||{},i.data=zo(i.data),Fo(i),i}var Jn=new Map,Bo=new Set;function pi(i,t){let e=Jn.get(i);return e||(e=t(),Jn.set(i,e),Bo.add(e)),e}var Le=(i,t,e)=>{let s=_t(t,e);s!==void 0&&i.add(s)},Ts=class{constructor(t){this._config=Bl(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=zo(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){let t=this._config;this.clearCache(),Fo(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return pi(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return pi(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return pi(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){let e=t.id,s=this.type;return pi(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){let s=this._scopeCache,n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){let{options:n,type:o}=this,a=this._cachedScopes(t,s),r=a.get(e);if(r)return r;let l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>Le(l,t,d))),h.forEach(d=>Le(l,n,d)),h.forEach(d=>Le(l,Ot[o]||{},d)),h.forEach(d=>Le(l,V,d)),h.forEach(d=>Le(l,ai,d))});let c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Bo.has(e)&&a.set(e,c),c}chartOptionScopes(){let{options:t,type:e}=this;return[t,Ot[e]||{},V.datasets[e]||{},{type:e},V,ai]}resolveNamedOptions(t,e,s,n=[""]){let o={$shared:!0},{resolver:a,subPrefixes:r}=Zn(this._resolverCache,t,n),l=a;if(Wl(a,e)){o.$shared=!1,s=bt(s)?s():s;let c=this.createResolver(t,s,r);l=Bt(a,s,c)}for(let c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){let{resolver:o}=Zn(this._resolverCache,t,s);return T(e)?Bt(o,e,void 0,n):o}};function Zn(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));let n=e.join(),o=s.get(n);return o||(o={resolver:ci(t,e),subPrefixes:e.filter(r=>!r.toLowerCase().includes("hover"))},s.set(n,o)),o}var Vl=i=>T(i)&&Object.getOwnPropertyNames(i).some(t=>bt(i[t]));function Wl(i,t){let{isScriptable:e,isIndexable:s}=ts(i);for(let n of t){let o=e(n),a=s(n),r=(a||o)&&i[n];if(o&&(bt(r)||Vl(r))||a&&z(r))return!0}return!1}var Nl="4.5.1",Hl=["top","bottom","left","right","chartArea"];function Qn(i,t){return i==="top"||i==="bottom"||Hl.indexOf(i)===-1&&t==="x"}function to(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function eo(i){let t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),F(e&&e.onComplete,[i],t)}function jl(i){let t=i.chart,e=t.options.animation;F(e&&e.onProgress,[i],t)}function Vo(i){return hi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}var yi={},io=i=>{let t=Vo(i);return Object.values(yi).filter(e=>e.canvas===t).pop()};function $l(i,t,e){let s=Object.keys(i);for(let n of s){let o=+n;if(o>=t){let a=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=a)}}}function Yl(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}var at=class{static register(...t){gt.add(...t),so()}static unregister(...t){gt.remove(...t),so()}constructor(t,e){let s=this.config=new Ts(e),n=Vo(t),o=io(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");let a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ul(n)),this.platform.updateConfig(s);let r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,c=l&&l.height,h=l&&l.width;if(this.id=tn(),this.ctx=r,this.canvas=l,this.width=h,this.height=c,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 Os,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=un(d=>this.update(d),a.resizeDelay||0),this._dataChanges=[],yi[this.id]=this,!r||!l){console.error("Failed to create chart: can't acquire context from the given item");return}vt.listen(this,"complete",eo),vt.listen(this,"progress",jl),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return gt}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ns(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ji(this.canvas,this.ctx),this}stop(){return vt.stop(this),this}resize(t,e){vt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){let s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(n,t,e,o),r=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,ns(this,r,!0)&&(this.notifyPlugins("resize",{size:a}),F(s.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){let e=this.options.scales||{};E(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){let t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((a,r)=>(a[r]=!1,a),{}),o=[];e&&(o=o.concat(Object.keys(e).map(a=>{let r=e[a],l=As(a,r),c=l==="r",h=l==="x";return{options:r,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),E(o,a=>{let r=a.options,l=r.id,c=As(l,r),h=D(r.type,a.dtype);(r.position===void 0||Qn(r.position,c)!==Qn(a.dposition))&&(r.position=a.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{let u=gt.getScale(h);d=new u({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(r,t)}),E(n,(a,r)=>{a||delete s[r]}),E(s,a=>{J.configure(this,a,a.options),J.addBox(this,a)})}_updateMetasets(){let t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let t=[],e=this.data.datasets,s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){let e=this.config;e.update();let s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;let o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(to("z","_idx"));let{_active:r,_lastEvent:l}=this;l?this._eventHandler(l,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){E(this.scales,t=>{J.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Bi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(let{method:s,start:n,count:o}of e){let a=s==="_removeElements"?-o:o;$l(t,n,a)}}_getUniformDataChanges(){let t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];let e=this.data.datasets.length,s=o=>new Set(t.filter(a=>a[0]===o).map((a,r)=>r+","+a.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;J.update(this,this.width,this.height,t);let e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],E(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){let e=this.ctx,s={meta:t,index:t.index,cancelable:!0},n=hs(this,t);this.notifyPlugins("beforeDatasetDraw",s)!==!1&&(n&&Pe(e,n),t.controller.draw(),n&&De(e),s.cancelable=!1,this.notifyPlugins("afterDatasetDraw",s))}isPointInArea(t){return ht(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){let o=Xr.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){let e=this.data.datasets[t],s=this._metasets,n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={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},s.push(n)),n}getContext(){return this.$context||(this.$context=yt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){let e=this.data.datasets[t];if(!e)return!1;let s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){let s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){let n=s?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,n);ee(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),a.update(o,{visible:s}),this.update(r=>r.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){let e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),vt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,a),t[o]=a},n=(o,a,r)=>{o.offsetX=a,o.offsetY=r,this._eventHandler(o)};E(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});let t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)},a,r=()=>{n("attach",r),this.attached=!0,this.resize(),s("resize",o),s("detach",a)};a=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",r)},e.isAttached(this.canvas)?r():a()}unbindEvents(){E(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},E(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){let n=s?"set":"remove",o,a,r,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),r=0,l=t.length;r{let r=this.getDatasetMeta(o);if(!r)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:r.data[a],index:a}});!we(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){let n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),a=o(e,t),r=s?t:o(t,e);a.length&&this.updateHoverStyle(a,n.mode,!1),r.length&&n.mode&&this.updateHoverStyle(r,n.mode,!0)}_eventHandler(t,e){let s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;let o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){let{_active:n=[],options:o}=this,a=e,r=this._getActiveElements(t,n,s,a),l=nn(t),c=Yl(t,this._lastEvent,s,l);s&&(this._lastEvent=null,F(o.onHover,[t,r,this],this),l&&F(o.onClick,[t,r,this],this));let h=!we(r,n);return(h||e)&&(this._active=r,this._updateHoverStyles(r,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;let o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}};M(at,"defaults",V),M(at,"instances",yi),M(at,"overrides",Ot),M(at,"registry",gt),M(at,"version",Nl),M(at,"getChart",io);function so(){return E(at.instances,i=>i._plugins.invalidate())}function Ul(i,t,e){let{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=t,{borderWidth:c,borderJoinStyle:h}=l,d=Math.min(c/a,X(s-e));if(i.beginPath(),i.arc(n,o,a-c/2,s+d/2,e-d/2),r>0){let u=Math.min(c/r,X(s-e));i.arc(n,o,r+c/2,e-u/2,s+u/2,!0)}else{let u=Math.min(c/2,a*X(s-e));if(h==="round")i.arc(n,o,u,e-R/2,s+R/2,!0);else if(h==="bevel"){let f=2*u*u,g=-f*Math.cos(e+R/2)+n,p=-f*Math.sin(e+R/2)+o,m=f*Math.cos(s+R/2)+n,b=f*Math.sin(s+R/2)+o;i.lineTo(g,p),i.lineTo(m,b)}}i.closePath(),i.moveTo(0,0),i.rect(0,0,i.canvas.width,i.canvas.height),i.clip("evenodd")}function Xl(i,t,e){let{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=t,c=n/r;i.beginPath(),i.arc(o,a,r,s-c,e+c),l>n?(c=n/l,i.arc(o,a,l,e+c,s-c,!0)):i.arc(o,a,n,e+H,s-H),i.closePath(),i.clip()}function Kl(i){return li(i,["outerStart","outerEnd","innerStart","innerEnd"])}function ql(i,t,e,s){let n=Kl(i.options.borderRadius),o=(e-t)/2,a=Math.min(o,s*t/2),r=l=>{let c=(e-Math.min(o,l))*s/2;return Y(l,0,Math.min(o,c))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Y(n.innerStart,0,a),innerEnd:Y(n.innerEnd,0,a)}}function re(i,t,e,s){return{x:e+i*Math.cos(t),y:s+i*Math.sin(t)}}function wi(i,t,e,s,n,o){let{x:a,y:r,startAngle:l,pixelMargin:c,innerRadius:h}=t,d=Math.max(t.outerRadius+s+e-c,0),u=h>0?h+s+e+c:0,f=0,g=n-l;if(s){let I=h>0?h-s:0,W=d>0?d-s:0,j=(I+W)/2,rt=j!==0?g*j/(j+s):g;f=(g-rt)/2}let p=Math.max(.001,g*d-e/R)/d,m=(g-p)/2,b=l+m+f,x=n-m-f,{outerStart:v,outerEnd:y,innerStart:_,innerEnd:k}=ql(t,u,d,x-b),w=d-v,S=d-y,P=b+v/w,O=x-y/S,C=u+_,L=u+k,U=b+_/C,et=x-k/L;if(i.beginPath(),o){let I=(P+O)/2;if(i.arc(a,r,d,P,I),i.arc(a,r,d,I,O),y>0){let G=re(S,O,a,r);i.arc(G.x,G.y,y,O,x+H)}let W=re(L,x,a,r);if(i.lineTo(W.x,W.y),k>0){let G=re(L,et,a,r);i.arc(G.x,G.y,k,x+H,et+Math.PI)}let j=(x-k/u+(b+_/u))/2;if(i.arc(a,r,u,x-k/u,j,!0),i.arc(a,r,u,j,b+_/u,!0),_>0){let G=re(C,U,a,r);i.arc(G.x,G.y,_,U+Math.PI,b-H)}let rt=re(w,b,a,r);if(i.lineTo(rt.x,rt.y),v>0){let G=re(w,P,a,r);i.arc(G.x,G.y,v,b-H,P)}}else{i.moveTo(a,r);let I=Math.cos(P)*d+a,W=Math.sin(P)*d+r;i.lineTo(I,W);let j=Math.cos(O)*d+a,rt=Math.sin(O)*d+r;i.lineTo(j,rt)}i.closePath()}function Gl(i,t,e,s,n){let{fullCircles:o,startAngle:a,circumference:r}=t,l=t.endAngle;if(o){wi(i,t,e,s,l,n);for(let c=0;c=R&&f===0&&h!=="miter"&&Ul(i,t,p),o||(wi(i,t,e,s,p,n),i.stroke())}var jt=class extends st{constructor(e){super();M(this,"circumference");M(this,"endAngle");M(this,"fullCircles");M(this,"innerRadius");M(this,"outerRadius");M(this,"pixelMargin");M(this,"startAngle");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,e&&Object.assign(this,e)}inRange(e,s,n){let o=this.getProps(["x","y"],n),{angle:a,distance:r}=Hi(o,{x:e,y:s}),{startAngle:l,endAngle:c,innerRadius:h,outerRadius:d,circumference:u}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),f=(this.options.spacing+this.options.borderWidth)/2,g=D(u,c-l),p=se(a,l,c)&&l!==c,m=g>=B||p,b=ut(r,h+f,d+f);return m&&b}getCenterPoint(e){let{x:s,y:n,startAngle:o,endAngle:a,innerRadius:r,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:c,spacing:h}=this.options,d=(o+a)/2,u=(r+l+h+c)/2;return{x:s+Math.cos(d)*u,y:n+Math.sin(d)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:s,circumference:n}=this,o=(s.offset||0)/4,a=(s.spacing||0)/2,r=s.circular;if(this.pixelMargin=s.borderAlign==="inner"?.33:0,this.fullCircles=n>B?Math.floor(n/B):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o);let c=1-Math.sin(Math.min(R,n||0)),h=o*c;e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,Gl(e,this,h,a,r),Jl(e,this,h,a,r),e.restore()}};M(jt,"id","arc"),M(jt,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1}),M(jt,"defaultRoutes",{backgroundColor:"backgroundColor"}),M(jt,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function Wo(i,t,e=t){i.lineCap=D(e.borderCapStyle,t.borderCapStyle),i.setLineDash(D(e.borderDash,t.borderDash)),i.lineDashOffset=D(e.borderDashOffset,t.borderDashOffset),i.lineJoin=D(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=D(e.borderWidth,t.borderWidth),i.strokeStyle=D(e.borderColor,t.borderColor)}function Zl(i,t,e){i.lineTo(e.x,e.y)}function Ql(i){return i.stepped?mn:i.tension||i.cubicInterpolationMode==="monotone"?bn:Zl}function No(i,t,e={}){let s=i.length,{start:n=0,end:o=s-1}=e,{start:a,end:r}=t,l=Math.max(n,a),c=Math.min(o,r),h=nr&&o>r;return{count:s,start:l,loop:t.loop,ilen:c(a+(c?r-y:y))%o,v=()=>{p!==m&&(i.lineTo(h,m),i.lineTo(h,p),i.lineTo(h,b))};for(l&&(f=n[x(0)],i.moveTo(f.x,f.y)),u=0;u<=r;++u){if(f=n[x(u)],f.skip)continue;let y=f.x,_=f.y,k=y|0;k===g?(_m&&(m=_),h=(d*h+y)/++d):(v(),i.lineTo(y,_),g=k,d=0,p=m=_),b=_}v()}function Ls(i){let t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?ec:tc}function ic(i){return i.stepped?Pn:i.tension||i.cubicInterpolationMode==="monotone"?Dn:Pt}function sc(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),Wo(i,t.options),i.stroke(n)}function nc(i,t,e,s){let{segments:n,options:o}=t,a=Ls(t);for(let r of n)Wo(i,o,r.style),i.beginPath(),a(i,t,r,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}var oc=typeof Path2D=="function";function ac(i,t,e,s){oc&&!t.options.segment?sc(i,t,e,s):nc(i,t,e,s)}var pt=class extends st{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){let s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){let n=s.spanGaps?this._loop:this._fullLoop;kn(this._points,s,t,n,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=Cn(this,this.options.segment))}first(){let t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){let t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){let s=this.options,n=t[e],o=this.points,a=cs(this,{property:e,start:n,end:n});if(!a.length)return;let r=[],l=ic(s),c,h;for(c=0,h=a.length;ct!=="borderDash"&&t!=="fill"});function no(i,t,e,s){let n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o)i.replace("rgb(","rgba(").replace(")",", 0.5)"));function jo(i){return Rs[i%Rs.length]}function $o(i){return oo[i%oo.length]}function fc(i,t){return i.borderColor=jo(t),i.backgroundColor=$o(t),++t}function gc(i,t){return i.backgroundColor=i.data.map(()=>jo(t++)),t}function pc(i,t){return i.backgroundColor=i.data.map(()=>$o(t++)),t}function mc(i){let t=0;return(e,s)=>{let n=i.getDatasetMeta(s).controller;n instanceof kt?t=gc(e,t):n instanceof Yt?t=pc(e,t):n&&(t=fc(e,t))}}function ao(i){let t;for(t in i)if(i[t].borderColor||i[t].backgroundColor)return!0;return!1}function bc(i){return i&&(i.borderColor||i.backgroundColor)}function xc(){return V.borderColor!=="rgba(0,0,0,0.1)"||V.backgroundColor!=="rgba(0,0,0,0.1)"}var _c={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(i,t,e){if(!e.enabled)return;let{data:{datasets:s},options:n}=i.config,{elements:o}=n,a=ao(s)||bc(n)||o&&ao(o)||xc();if(!e.forceOverride&&a)return;let r=mc(i);s.forEach(r)}};function yc(i,t,e,s,n){let o=n.samples||s;if(o>=e)return i.slice(t,t+e);let a=[],r=(e-2)/(o-2),l=0,c=t+e-1,h=t,d,u,f,g,p;for(a[l++]=i[h],d=0;df&&(f=g,u=i[x],p=x);a[l++]=u,h=p}return a[l++]=i[c],a}function vc(i,t,e,s){let n=0,o=0,a,r,l,c,h,d,u,f,g,p,m=[],b=t+e-1,x=i[t].x,y=i[b].x-x;for(a=t;ap&&(p=c,u=a),n=(o*n+r.x)/++o;else{let k=a-1;if(!A(d)&&!A(u)){let w=Math.min(d,u),S=Math.max(d,u);w!==f&&w!==k&&m.push({...i[w],x:n}),S!==f&&S!==k&&m.push({...i[S],x:n})}a>0&&k!==f&&m.push(i[k]),m.push(r),h=_,o=0,g=p=c,d=u=f=a}}return m}function Yo(i){if(i._decimated){let t=i._data;delete i._decimated,delete i._data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function ro(i){i.data.datasets.forEach(t=>{Yo(t)})}function Mc(i,t){let e=t.length,s=0,n,{iScale:o}=i,{min:a,max:r,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=Y(ct(t,o.axis,a).lo,0,e-1)),c?n=Y(ct(t,o.axis,r).hi+1,s,e)-s:n=e-s,{start:s,count:n}}var kc={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(i,t,e)=>{if(!e.enabled){ro(i);return}let s=i.width;i.data.datasets.forEach((n,o)=>{let{_data:a,indexAxis:r}=n,l=i.getDatasetMeta(o),c=a||n.data;if(ae([r,i.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;let h=i.scales[l.xAxisID];if(h.type!=="linear"&&h.type!=="time"||i.options.parsing)return;let{start:d,count:u}=Mc(l,c),f=e.threshold||4*s;if(u<=f){Yo(n);return}A(a)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(p){this._data=p}}));let g;switch(e.algorithm){case"lttb":g=yc(c,d,u,s,e);break;case"min-max":g=vc(c,d,u,s);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=g})},destroy(i){ro(i)}};function wc(i,t,e){let s=i.segments,n=i.points,o=t.points,a=[];for(let r of s){let{start:l,end:c}=r;c=Di(l,c,n);let h=Es(e,n[l],n[c],r.loop);if(!t.segments){a.push({source:r,target:h,start:n[l],end:n[c]});continue}let d=cs(t,h);for(let u of d){let f=Es(e,o[u.start],o[u.end],u.loop),g=ls(r,n,f);for(let p of g)a.push({source:p,target:u,start:{[e]:lo(h,f,"start",Math.max)},end:{[e]:lo(h,f,"end",Math.min)}})}}return a}function Es(i,t,e,s){if(s)return;let n=t[i],o=e[i];return i==="angle"&&(n=X(n),o=X(o)),{property:i,start:n,end:o}}function Sc(i,t){let{x:e=null,y:s=null}=i||{},n=t.points,o=[];return t.segments.forEach(({start:a,end:r})=>{r=Di(a,r,n);let l=n[a],c=n[r];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):e!==null&&(o.push({x:e,y:l.y}),o.push({x:e,y:c.y}))}),o}function Di(i,t,e){for(;t>i;t--){let s=e[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function lo(i,t,e,s){return i&&t?s(i[e],t[e]):i?i[e]:t?t[e]:0}function Uo(i,t){let e=[],s=!1;return z(i)?(s=!0,e=i):e=Sc(i,t),e.length?new pt({points:e,options:{tension:0},_loop:s,_fullLoop:s}):null}function co(i){return i&&i.fill!==!1}function Pc(i,t,e){let n=i[t].fill,o=[t],a;if(!e)return n;for(;n!==!1&&o.indexOf(n)===-1;){if(!N(n))return n;if(a=i[n],!a)return!1;if(a.visible)return n;o.push(n),n=a.fill}return!1}function Dc(i,t,e){let s=Tc(i);if(T(s))return isNaN(s.value)?!1:s;let n=parseFloat(s);return N(n)&&Math.floor(n)===n?Oc(s[0],t,n,e):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function Oc(i,t,e,s){return(i==="-"||i==="+")&&(e=t+e),e===t||e<0||e>=s?!1:e}function Cc(i,t){let e=null;return i==="start"?e=t.bottom:i==="end"?e=t.top:T(i)?e=t.getPixelForValue(i.value):t.getBasePixel&&(e=t.getBasePixel()),e}function Ac(i,t,e){let s;return i==="start"?s=e:i==="end"?s=t.options.reverse?t.min:t.max:T(i)?s=i.value:s=t.getBaseValue(),s}function Tc(i){let t=i.options,e=t.fill,s=D(e&&e.target,e);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Lc(i){let{scale:t,index:e,line:s}=i,n=[],o=s.segments,a=s.points,r=Rc(t,e);r.push(Uo({x:null,y:t.bottom},s));for(let l=0;l=0;--a){let r=n[a].$filler;r&&(r.line.updateControlPoints(o,r.axis),s&&r.fill&&ys(i.ctx,r,o))}},beforeDatasetsDraw(i,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;let s=i.getSortedVisibleDatasetMetas();for(let n=s.length-1;n>=0;--n){let o=s[n].$filler;co(o)&&ys(i.ctx,o,i.chartArea)}},beforeDatasetDraw(i,t,e){let s=t.meta.$filler;!co(s)||e.drawTime!=="beforeDatasetDraw"||ys(i.ctx,s,i.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}},go=(i,t)=>{let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},$c=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index,Pi=class extends st{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,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let t=this.options.labels||{},e=F(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){let{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}let s=t.labels,n=$(s.font),o=n.size,a=this._computeTitleHeight(),{boxWidth:r,itemHeight:l}=go(s,o),c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(a,o,r,l)+10):(h=this.maxHeight,c=this._fitCols(a,n,r,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){let{ctx:o,maxWidth:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+r,d=t;o.textAlign="left",o.textBaseline="middle";let u=-1,f=-h;return this.legendItems.forEach((g,p)=>{let m=s+e/2+o.measureText(g.text).width;(p===0||c[c.length-1]+m+2*r>a)&&(d+=h,c[c.length-(p>0?0:1)]=0,f+=h,u++),l[p]={left:0,top:f,row:u,width:m,height:n},c[c.length-1]+=m+r}),d}_fitCols(t,e,s,n){let{ctx:o,maxHeight:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=a-t,d=r,u=0,f=0,g=0,p=0;return this.legendItems.forEach((m,b)=>{let{itemWidth:x,itemHeight:v}=Yc(s,e,o,m,n);b>0&&f+v+2*r>h&&(d+=u+r,c.push({width:u,height:f}),g+=u+r,p++,u=f=0),l[b]={left:g,top:f,col:p,width:x,height:v},u=Math.max(u,x),f+=v+r}),d+=u,c.push({width:u,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;let t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,a=Wt(o,this.left,this.width);if(this.isHorizontal()){let r=0,l=K(s,this.left+n,this.right-this.lineWidths[r]);for(let c of e)r!==c.row&&(r=c.row,l=K(s,this.left+n,this.right-this.lineWidths[r])),c.top+=this.top+t+n,c.left=a.leftForLtr(a.x(l),c.width),l+=c.width+n}else{let r=0,l=K(s,this.top+t+n,this.bottom-this.columnSizes[r].height);for(let c of e)c.col!==r&&(r=c.col,l=K(s,this.top+t+n,this.bottom-this.columnSizes[r].height)),c.top=l,c.left+=this.left+n,c.left=a.leftForLtr(a.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){let t=this.ctx;Pe(t,this),this._draw(),De(t)}}_draw(){let{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:a}=t,r=V.color,l=Wt(t.rtl,this.left,this.width),c=$(a.font),{padding:h}=a,d=c.size,u=d/2,f;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;let{boxWidth:g,boxHeight:p,itemHeight:m}=go(a,d),b=function(k,w,S){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;n.save();let P=D(S.lineWidth,1);if(n.fillStyle=D(S.fillStyle,r),n.lineCap=D(S.lineCap,"butt"),n.lineDashOffset=D(S.lineDashOffset,0),n.lineJoin=D(S.lineJoin,"miter"),n.lineWidth=P,n.strokeStyle=D(S.strokeStyle,r),n.setLineDash(D(S.lineDash,[])),a.usePointStyle){let O={radius:p*Math.SQRT2/2,pointStyle:S.pointStyle,rotation:S.rotation,borderWidth:P},C=l.xPlus(k,g/2),L=w+u;Zi(n,O,C,L,a.pointStyleWidth&&g)}else{let O=w+Math.max((d-p)/2,0),C=l.leftForLtr(k,g),L=Tt(S.borderRadius);n.beginPath(),Object.values(L).some(U=>U!==0)?oe(n,{x:C,y:O,w:g,h:p,radius:L}):n.rect(C,O,g,p),n.fill(),P!==0&&n.stroke()}n.restore()},x=function(k,w,S){At(n,S.text,k,w+m/2,c,{strikethrough:S.hidden,textAlign:l.textAlign(S.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();v?f={x:K(o,this.left+h,this.right-s[0]),y:this.top+h+y,line:0}:f={x:this.left+h,y:K(o,this.top+y+h,this.bottom-e[0].height),line:0},as(this.ctx,t.textDirection);let _=m+h;this.legendItems.forEach((k,w)=>{n.strokeStyle=k.fontColor,n.fillStyle=k.fontColor;let S=n.measureText(k.text).width,P=l.textAlign(k.textAlign||(k.textAlign=a.textAlign)),O=g+u+S,C=f.x,L=f.y;l.setWidth(this.width),v?w>0&&C+O+h>this.right&&(L=f.y+=_,f.line++,C=f.x=K(o,this.left+h,this.right-s[f.line])):w>0&&L+_>this.bottom&&(C=f.x=C+e[f.line].width+h,f.line++,L=f.y=K(o,this.top+y+h,this.bottom-e[f.line].height));let U=l.x(C);if(b(U,L,k),C=fn(P,C+g+u,v?C+O:this.right,t.rtl),x(l.x(C),L,k),v)f.x+=O+h;else if(typeof k.text!="string"){let et=c.lineHeight;f.y+=Xo(k,et)+h}else f.y+=_}),rs(this.ctx,t.textDirection)}drawTitle(){let t=this.options,e=t.title,s=$(e.font),n=q(e.padding);if(!e.display)return;let o=Wt(t.rtl,this.left,this.width),a=this.ctx,r=e.position,l=s.size/2,c=n.top+l,h,d=this.left,u=this.width;if(this.isHorizontal())u=Math.max(...this.lineWidths),h=this.top+c,d=K(t.align,d,this.right-u);else{let g=this.columnSizes.reduce((p,m)=>Math.max(p,m.height),0);h=c+K(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}let f=K(r,d,d+u);a.textAlign=o.textAlign(oi(r)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=s.string,At(a,e.text,f,h,s)}_computeTitleHeight(){let t=this.options.title,e=$(t.font),s=q(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(ut(t,this.left,this.right)&&ut(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>a.length?o:a)),t+e.size/2+s.measureText(n).width}function Xc(i,t,e){let s=i;return typeof t.text!="string"&&(s=Xo(t,e)),s}function Xo(i,t){let e=i.text?i.text.length:0;return t*e}function Kc(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var qc={id:"legend",_element:Pi,start(i,t,e){let s=i.legend=new Pi({ctx:i.ctx,options:e,chart:i});J.configure(i,s,e),J.addBox(i,s)},stop(i){J.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){let s=i.legend;J.configure(i,s,e),s.options=e},afterUpdate(i){let t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){let s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){let t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{let c=l.controller.getStyle(e?0:void 0),h=q(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:a&&(r||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}},He=class extends st{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){let s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;let n=z(s.text)?s.text.length:1;this._padding=q(s.padding);let o=n*$(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){let t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){let{top:e,left:s,bottom:n,right:o,options:a}=this,r=a.align,l=0,c,h,d;return this.isHorizontal()?(h=K(r,s,o),d=e+t,c=o-s):(a.position==="left"?(h=s+t,d=K(r,n,e),l=R*-.5):(h=o-t,d=K(r,e,n),l=R*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){let t=this.ctx,e=this.options;if(!e.display)return;let s=$(e.font),o=s.lineHeight/2+this._padding.top,{titleX:a,titleY:r,maxWidth:l,rotation:c}=this._drawArgs(o);At(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:oi(e.align),textBaseline:"middle",translation:[a,r]})}};function Gc(i,t){let e=new He({ctx:i.ctx,options:t,chart:i});J.configure(i,e,t),J.addBox(i,e),i.titleBlock=e}var Jc={id:"title",_element:He,start(i,t,e){Gc(i,e)},stop(i){let t=i.titleBlock;J.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){let s=i.titleBlock;J.configure(i,s,e),s.options=e},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}},mi=new WeakMap,Zc={id:"subtitle",start(i,t,e){let s=new He({ctx:i.ctx,options:e,chart:i});J.configure(i,s,e),J.addBox(i,s),mi.set(i,s)},stop(i){J.removeBox(i,mi.get(i)),mi.delete(i)},beforeUpdate(i,t,e){let s=mi.get(i);J.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}},Ie={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;tr+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,a,r;for(o=0,a=i.length;o-1?i.split(` -`):i}function bc(i,t){let{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:i,label:a,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function eo(i,t){let e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:a,boxHeight:r}=t,l=$(t.bodyFont),c=$(t.titleFont),h=$(t.footerFont),d=o.length,u=n.length,f=s.length,g=U(t.padding),p=g.height,m=0,b=s.reduce((y,x)=>y+x.before.length+x.lines.length+x.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(p+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){let y=t.displayColors?Math.max(r,l.lineHeight):l.lineHeight;p+=f*y+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}u&&(p+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let _=0,v=function(y){m=Math.max(m,e.measureText(y).width+_)};return e.save(),e.font=c.string,E(i.title,v),e.font=l.string,E(i.beforeBody.concat(i.afterBody),v),_=t.displayColors?a+2+t.boxPadding:0,E(s,y=>{E(y.before,v),E(y.lines,v),E(y.after,v)}),_=0,e.font=h.string,E(i.footer,v),e.restore(),m+=g.width,{width:m,height:p}}function _c(i,t){let{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function xc(i,t,e,s){let{x:n,width:o}=s,a=e.caretSize+e.caretPadding;if(i==="left"&&n+o+a>t.width||i==="right"&&n-o-a<0)return!0}function yc(i,t,e,s){let{x:n,width:o}=e,{width:a,chartArea:{left:r,right:l}}=i,c="center";return s==="center"?c=n<=(r+l)/2?"left":"right":n<=o/2?c="left":n>=a-o/2&&(c="right"),xc(c,i,t,e)&&(c="center"),c}function io(i,t,e){let s=e.yAlign||t.yAlign||_c(i,e);return{xAlign:e.xAlign||t.xAlign||yc(i,t,e,s),yAlign:s}}function vc(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function Mc(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function so(i,t,e,s){let{caretSize:n,caretPadding:o,cornerRadius:a}=i,{xAlign:r,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:u,bottomRight:f}=St(a),g=vc(t,r),p=Mc(t,l,c);return l==="center"?r==="left"?g+=c:r==="right"&&(g-=c):r==="left"?g-=Math.max(h,u)+n:r==="right"&&(g+=Math.max(d,f)+n),{x:Y(g,0,s.width-t.width),y:Y(p,0,s.height-t.height)}}function li(i,t,e){let s=U(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function no(i){return ct([],bt(i))}function wc(i,t,e){return pt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function oo(i,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}var Le=class extends it{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(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new di(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=wc(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:s}=e,n=s.beforeTitle.apply(this,[t]),o=s.title.apply(this,[t]),a=s.afterTitle.apply(this,[t]),r=[];return r=ct(r,bt(n)),r=ct(r,bt(o)),r=ct(r,bt(a)),r}getBeforeBody(t,e){return no(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){let{callbacks:s}=e,n=[];return E(t,o=>{let a={before:[],lines:[],after:[]},r=oo(s,o);ct(a.before,bt(r.beforeLabel.call(this,o))),ct(a.lines,r.label.call(this,o)),ct(a.after,bt(r.afterLabel.call(this,o))),n.push(a)}),n}getAfterBody(t,e){return no(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){let{callbacks:s}=e,n=s.beforeFooter.apply(this,[t]),o=s.footer.apply(this,[t]),a=s.afterFooter.apply(this,[t]),r=[];return r=ct(r,bt(n)),r=ct(r,bt(o)),r=ct(r,bt(a)),r}_createItems(t){let e=this._active,s=this.chart.data,n=[],o=[],a=[],r=[],l,c;for(l=0,c=e.length;lt.filter(h,d,u,s))),t.itemSort&&(r=r.sort((h,d)=>t.itemSort(h,d,s))),E(r,h=>{let d=oo(t.callbacks,h);n.push(d.labelColor.call(this,h)),o.push(d.labelPointStyle.call(this,h)),a.push(d.labelTextColor.call(this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=r,r}update(t,e){let s=this.options.setContext(this.getContext()),n=this._active,o,a=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{let r=Ce[s.position].call(this,n,this._eventPosition);a=this._createItems(s),this.title=this.getTitle(a,s),this.beforeBody=this.getBeforeBody(a,s),this.body=this.getBody(a,s),this.afterBody=this.getAfterBody(a,s),this.footer=this.getFooter(a,s);let l=this._size=eo(this,s),c=Object.assign({},r,l),h=io(this.chart,s,c),d=so(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:r.x,caretY:r.y}}this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){let o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){let{xAlign:n,yAlign:o}=this,{caretSize:a,cornerRadius:r}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=St(r),{x:u,y:f}=t,{width:g,height:p}=e,m,b,_,v,y,x;return o==="center"?(y=f+p/2,n==="left"?(m=u,b=m-a,v=y+a,x=y-a):(m=u+g,b=m+a,v=y-a,x=y+a),_=m):(n==="left"?b=u+Math.max(l,h)+a:n==="right"?b=u+g-Math.max(c,d)-a:b=this.caretX,o==="top"?(v=f,y=v-a,m=b-a,_=b+a):(v=f+p,y=v+a,m=b+a,_=b-a),x=v),{x1:m,x2:b,x3:_,y1:v,y2:y,y3:x}}drawTitle(t,e,s){let n=this.title,o=n.length,a,r,l;if(o){let c=Et(s.rtl,this.x,this.width);for(t.x=li(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",a=$(s.titleFont),r=s.titleSpacing,e.fillStyle=s.titleColor,e.font=a.string,l=0;lv!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Gt(t,{x:m,y:p,w:c,h:l,radius:_}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Gt(t,{x:b,y:p+1,w:c-2,h:l-2,radius:_}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(m,p,c,l),t.strokeRect(m,p,c,l),t.fillStyle=a.backgroundColor,t.fillRect(b,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){let{body:n}=this,{bodySpacing:o,bodyAlign:a,displayColors:r,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=$(s.bodyFont),u=d.lineHeight,f=0,g=Et(s.rtl,this.x,this.width),p=function(S){e.fillText(S,g.x(t.x+f),t.y+u/2),t.y+=u+o},m=g.textAlign(a),b,_,v,y,x,M,w;for(e.textAlign=a,e.textBaseline="middle",e.font=d.string,t.x=li(this,m,s),e.fillStyle=s.bodyColor,E(this.beforeBody,p),f=r&&m!=="right"?a==="center"?c/2+h:c+2+h:0,y=0,M=n.length;y0&&e.stroke()}_updateAnimationTarget(t){let e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){let a=Ce[t.position].call(this,this._active,this._eventPosition);if(!a)return;let r=this._size=eo(this,t),l=Object.assign({},a,this._size),c=io(e,t,l),h=so(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=r.width,this.height=r.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){let e=this.options.setContext(this.getContext()),s=this.opacity;if(!s)return;this._updateAnimationTarget(e);let n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;let a=U(e.padding),r=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&r&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),es(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),is(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){let s=this._active,n=t.map(({datasetIndex:r,index:l})=>{let c=this.chart.getDatasetMeta(r);if(!c)throw new Error("Cannot find a dataset at index "+r);return{datasetIndex:r,element:c.data[l],index:l}}),o=!be(s,n),a=this._positionChanged(n,e);(o||a)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let n=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,s),r=this._positionChanged(a,t),l=e||!be(a,o)||r;return l&&(this._active=a,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){let o=this.options;if(t.type==="mouseout")return[];if(!n)return e;let a=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&a.reverse(),a}_positionChanged(t,e){let{caretX:s,caretY:n,options:o}=this,a=Ce[o.position].call(this,t,e);return a!==!1&&(s!==a.x||n!==a.y)}};Le.positioners=Ce;var kc={id:"tooltip",_element:Le,positioners:Ce,afterInit(i,t,e){e&&(i.tooltip=new Le({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){let t=i.tooltip;if(t&&t._willRender()){let e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",e)===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){let e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:rt,title(i){if(i.length>0){let t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndexi!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},Sc=Object.freeze({__proto__:null,Decimation:$l,Filler:hc,Legend:fc,SubTitle:mc,Title:pc,Tooltip:kc}),Pc=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function Cc(i,t,e,s){let n=i.indexOf(t);if(n===-1)return Pc(i,t,e,s);let o=i.lastIndexOf(t);return n!==o?e:n}var Dc=(i,t)=>i===null?null:Y(Math.round(i),0,t),he=class extends _t{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){let e=this._addedLabels;if(e.length){let s=this.getLabels();for(let{index:n,label:o}of e)s[n]===o&&s.splice(n,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(T(t))return null;let s=this.getLabels();return e=isFinite(e)&&s[e]===t?e:Cc(s,t,C(e,t),this._addedLabels),Dc(e,s.length-1)}determineDataLimits(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),{min:s,max:n}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(s=0),e||(n=this.getLabels().length-1)),this.min=s,this.max=n}buildTicks(){let t=this.min,e=this.max,s=this.options.offset,n=[],o=this.getLabels();o=t===0&&e===o.length-1?o:o.slice(t,e+1),this._valueRange=Math.max(o.length-(s?0:1),1),this._startValue=this.min-(s?.5:0);for(let a=t;a<=e;a++)n.push({value:a});return n}getLabelForValue(t){let 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}};he.id="category";he.defaults={ticks:{callback:he.prototype.getLabelForValue}};function Oc(i,t){let e=[],{bounds:n,step:o,min:a,max:r,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:u}=i,f=o||1,g=h-1,{min:p,max:m}=t,b=!T(a),_=!T(r),v=!T(c),y=(m-p)/(d+1),x=Ti((m-p)/g/f)*f,M,w,S,k;if(x<1e-14&&!b&&!_)return[{value:p},{value:m}];k=Math.ceil(m/x)-Math.floor(p/x),k>g&&(x=Ti(k*x/g/f)*f),T(l)||(M=Math.pow(10,l),x=Math.ceil(x*M)/M),n==="ticks"?(w=Math.floor(p/x)*x,S=Math.ceil(m/x)*x):(w=p,S=m),b&&_&&o&&Us((r-a)/o,x/1e3)?(k=Math.round(Math.min((r-a)/x,h)),x=(r-a)/k,w=a,S=r):v?(w=b?a:w,S=_?r:S,k=c-1,x=(S-w)/k):(k=(S-w)/x,Kt(k,Math.round(k),x/1e3)?k=Math.round(k):k=Math.ceil(k));let L=Math.max(Ri(x),Ri(w));M=Math.pow(10,T(l)?L:l),w=Math.round(w*M)/M,S=Math.round(S*M)/M;let R=0;for(b&&(u&&w!==a?(e.push({value:a}),wn=e?n:l,r=l=>o=s?o:l;if(t){let l=ot(n),c=ot(o);l<0&&c<0?r(0):l>0&&c>0&&a(0)}if(n===o){let l=1;(o>=Number.MAX_SAFE_INTEGER||n<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(o*.05)),r(o+l),t||a(n-l)}this.min=n,this.max=o}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,s=this.getTickLimit();s=Math.max(2,s);let n={maxTicks:s,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:e.includeBounds!==!1},o=this._range||this,a=Oc(n,o);return t.bounds==="ticks"&&Li(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){let t=this.ticks,e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){let n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return Jt(t,this.chart.options.locale,this.options.ticks.format)}},Re=class extends de{determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=W(t)?t:0,this.max=W(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){let t=this.isHorizontal(),e=t?this.width:this.height,s=nt(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}};Re.id="linear";Re.defaults={ticks:{callback:bi.formatters.numeric}};function ro(i){return i/Math.pow(10,Math.floor(tt(i)))===1}function Ac(i,t){let e=Math.floor(tt(t.max)),s=Math.ceil(t.max/Math.pow(10,e)),n=[],o=Q(i.min,Math.pow(10,Math.floor(tt(t.min)))),a=Math.floor(tt(o)),r=Math.floor(o/Math.pow(10,a)),l=a<0?Math.pow(10,Math.abs(a)):1;do n.push({value:o,major:ro(o)}),++r,r===10&&(r=1,++a,l=a>=0?1:l),o=Math.round(r*Math.pow(10,a)*l)/l;while(a0?s:null}determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=W(t)?Math.max(0,t):null,this.max=W(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),s=this.min,n=this.max,o=l=>s=t?s:l,a=l=>n=e?n:l,r=(l,c)=>Math.pow(10,Math.floor(tt(l))+c);s===n&&(s<=0?(o(1),a(10)):(o(r(s,-1)),a(r(n,1)))),s<=0&&o(r(n,-1)),n<=0&&a(r(s,1)),this._zero&&this.min!==this._suggestedMin&&s===r(this.min,0)&&o(r(s,-1)),this.min=s,this.max=n}buildTicks(){let t=this.options,e={min:this._userMin,max:this._userMax},s=Ac(e,this);return t.bounds==="ticks"&&Li(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":Jt(t,this.chart.options.locale,this.options.ticks.format)}configure(){let t=this.min;super.configure(),this._startValue=tt(t),this._valueRange=tt(this.max)-tt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(tt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){let e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}};Ee.id="logarithmic";Ee.defaults={ticks:{callback:bi.formatters.logarithmic,major:{enabled:!0}}};function Ps(i){let t=i.ticks;if(t.display&&i.display){let e=U(t.backdropPadding);return C(t.font&&t.font.size,O.font.size)+e.height}return 0}function Tc(i,t,e){return e=I(e)?e:[e],{w:rn(i,t.string,e),h:e.length*t.lineHeight}}function lo(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function Lc(i){let t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,a=i.options.pointLabels,r=a.centerPointLabels?B/o:0;for(let l=0;lt.r&&(r=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+r)),n.startt.b&&(l=(n.end-t.b)/a,i.b=Math.max(i.b,t.b+l))}function Ec(i,t,e){let s=[],n=i._pointLabels.length,o=i.options,a=Ps(o)/2,r=i.drawingArea,l=o.pointLabels.centerPointLabels?B/n:0;for(let c=0;c270||e<90)&&(i-=t),i}function Bc(i,t){let{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){let o=s.setContext(i.getPointLabelContext(n)),a=$(o.font),{x:r,y:l,textAlign:c,left:h,top:d,right:u,bottom:f}=i._pointLabelItems[n],{backdropColor:g}=o;if(!T(g)){let p=St(o.borderRadius),m=U(o.backdropPadding);e.fillStyle=g;let b=h-m.left,_=d-m.top,v=u-h+m.width,y=f-d+m.height;Object.values(p).some(x=>x!==0)?(e.beginPath(),Gt(e,{x:b,y:_,w:v,h:y,radius:p}),e.fill()):e.fillRect(b,_,v,y)}kt(e,i._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:c,textBaseline:"middle"})}}function Lo(i,t,e,s){let{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,F);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let a=1;a{let n=z(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){let t=this.options;t.display&&t.pointLabels.display?Lc(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){let e=F/(this._pointLabels.length||1),s=this.options.startAngle||0;return G(t*e+nt(s))}getDistanceFromCenterForValue(t){if(T(t))return NaN;let e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(T(t))return NaN;let e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){let e=this._pointLabels||[];if(t>=0&&t{if(h!==0){r=this.getDistanceFromCenterForValue(c.value);let d=n.setContext(this.getContext(h-1));Vc(this,d,r,o)}}),s.display){for(t.save(),a=o-1;a>=0;a--){let c=s.setContext(this.getPointLabelContext(a)),{color:h,lineWidth:d}=c;!d||!h||(t.lineWidth=d,t.strokeStyle=h,t.setLineDash(c.borderDash),t.lineDashOffset=c.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){let t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;let n=this.getIndexAngle(0),o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((r,l)=>{if(l===0&&!e.reverse)return;let c=s.setContext(this.getContext(l)),h=$(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,a=t.measureText(r.label).width,t.fillStyle=c.backdropColor;let d=U(c.backdropPadding);t.fillRect(-a/2-d.left,-o-h.size/2-d.top,a+d.width,h.size+d.height)}kt(t,r.label,0,-o,h,{color:c.color})}),t.restore()}drawTitle(){}};zt.id="radialLinear";zt.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:bi.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(i){return i},padding:5,centerPointLabels:!1}};zt.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};zt.descriptors={angleLines:{_fallback:"grid"}};var _i={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}},Z=Object.keys(_i);function Nc(i,t){return i-t}function co(i,t){if(T(t))return null;let e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts,a=t;return typeof s=="function"&&(a=s(a)),W(a)||(a=typeof s=="string"?e.parse(a,s):e.parse(a)),a===null?null:(n&&(a=n==="week"&&(Rt(o)||o===!0)?e.startOf(a,"isoWeek",o):e.startOf(a,n)),+a)}function ho(i,t,e,s){let n=Z.length;for(let o=Z.indexOf(i);o=Z.indexOf(e);o--){let a=Z[o];if(_i[a].common&&i._adapter.diff(n,s,a)>=t-1)return a}return Z[e?Z.indexOf(e):0]}function jc(i){for(let t=Z.indexOf(i)+1,e=Z.length;t=t?e[s]:e[n];i[o]=!0}}function $c(i,t,e,s){let n=i._adapter,o=+n.startOf(t[0].value,s),a=t[t.length-1].value,r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=e[r],l>=0&&(t[l].major=!0);return t}function fo(i,t,e){let s=[],n={},o=t.length,a,r;for(a=0;a+t.value))}initOffsets(t){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);let a=t.length<3?.5:.25;e=Y(e,0,a),s=Y(s,0,a),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){let t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,a=o.unit||ho(o.minUnit,e,s,this._getLabelCapacity(e)),r=C(o.stepSize,1),l=a==="week"?o.isoWeekday:!1,c=Rt(l)||l===!0,h={},d=e,u,f;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":a),t.diff(s,e,a)>1e5*r)throw new Error(e+" and "+s+" are too far apart with stepSize of "+r+" "+a);let g=n.ticks.source==="data"&&this.getDataTimestamps();for(u=d,f=0;up-m).map(p=>+p)}getLabelForValue(t){let e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}_tickFormatFunction(t,e,s,n){let o=this.options,a=o.time.displayFormats,r=this._unit,l=this._majorUnit,c=r&&a[r],h=l&&a[l],d=s[e],u=l&&h&&d&&d.major,f=this._adapter.format(t,n||(u?h:c)),g=o.ticks.callback;return g?z(g,[f,e,s],this):f}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?r:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;let n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=at(i,"pos",t)),{pos:o,time:r}=i[s],{pos:a,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=at(i,"time",t)),{time:o,pos:r}=i[s],{time:a,pos:l}=i[n]);let c=a-o;return c?r+(l-r)*(t-o)/c:r}var Fe=class extends Bt{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=ci(e,this.min),this._tableRange=ci(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){let{min:e,max:s}=this,n=[],o=[],a,r,l,c,h;for(a=0,r=t.length;a=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(a=0,r=n.length;a{Alpine.store("theme");let s=this.getChart();s&&s.destroy(),this.initChart()}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Alpine.store("theme")==="system"&&this.$nextTick(()=>{let s=this.getChart();s&&s.destroy(),this.initChart()})})},initChart:function(){return ze.defaults.backgroundColor=getComputedStyle(this.$refs.backgroundColorElement).color,ze.defaults.borderColor=getComputedStyle(this.$refs.borderColorElement).color,new ze(this.$refs.canvas,{type:"line",data:{labels:t,datasets:[{data:e,borderWidth:2,fill:"start",tension:.5}]},options:{animation:{duration:0},elements:{point:{radius:0}},maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{x:{display:!1},y:{display:!1}},tooltips:{enabled:!1}}})},getChart:function(){return ze.getChart(this.$refs.canvas)}}}export{Xc as default}; +`):i}function Qc(i,t){let{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:i,label:a,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function po(i,t){let e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:a,boxHeight:r}=t,l=$(t.bodyFont),c=$(t.titleFont),h=$(t.footerFont),d=o.length,u=n.length,f=s.length,g=q(t.padding),p=g.height,m=0,b=s.reduce((y,_)=>y+_.before.length+_.lines.length+_.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(p+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){let y=t.displayColors?Math.max(r,l.lineHeight):l.lineHeight;p+=f*y+(b-f)*l.lineHeight+(b-1)*t.bodySpacing}u&&(p+=t.footerMarginTop+u*h.lineHeight+(u-1)*t.footerSpacing);let x=0,v=function(y){m=Math.max(m,e.measureText(y).width+x)};return e.save(),e.font=c.string,E(i.title,v),e.font=l.string,E(i.beforeBody.concat(i.afterBody),v),x=t.displayColors?a+2+t.boxPadding:0,E(s,y=>{E(y.before,v),E(y.lines,v),E(y.after,v)}),x=0,e.font=h.string,E(i.footer,v),e.restore(),m+=g.width,{width:m,height:p}}function th(i,t){let{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function eh(i,t,e,s){let{x:n,width:o}=s,a=e.caretSize+e.caretPadding;if(i==="left"&&n+o+a>t.width||i==="right"&&n-o-a<0)return!0}function ih(i,t,e,s){let{x:n,width:o}=e,{width:a,chartArea:{left:r,right:l}}=i,c="center";return s==="center"?c=n<=(r+l)/2?"left":"right":n<=o/2?c="left":n>=a-o/2&&(c="right"),eh(c,i,t,e)&&(c="center"),c}function mo(i,t,e){let s=e.yAlign||t.yAlign||th(i,e);return{xAlign:e.xAlign||t.xAlign||ih(i,t,e,s),yAlign:s}}function sh(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function nh(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function bo(i,t,e,s){let{caretSize:n,caretPadding:o,cornerRadius:a}=i,{xAlign:r,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:u,bottomRight:f}=Tt(a),g=sh(t,r),p=nh(t,l,c);return l==="center"?r==="left"?g+=c:r==="right"&&(g-=c):r==="left"?g-=Math.max(h,u)+n:r==="right"&&(g+=Math.max(d,f)+n),{x:Y(g,0,s.width-t.width),y:Y(p,0,s.height-t.height)}}function bi(i,t,e){let s=q(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function xo(i){return ft([],Mt(i))}function oh(i,t,e){return yt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function _o(i,t){let e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}var Ko={beforeTitle:dt,title(i){if(i.length>0){let t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?Ko[t].call(e,s):n}var We=class extends st{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let t=this._cachedAnimations;if(t)return t;let e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new vi(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=oh(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){let{callbacks:s}=e,n=Q(s,"beforeTitle",this,t),o=Q(s,"title",this,t),a=Q(s,"afterTitle",this,t),r=[];return r=ft(r,Mt(n)),r=ft(r,Mt(o)),r=ft(r,Mt(a)),r}getBeforeBody(t,e){return xo(Q(e.callbacks,"beforeBody",this,t))}getBody(t,e){let{callbacks:s}=e,n=[];return E(t,o=>{let a={before:[],lines:[],after:[]},r=_o(s,o);ft(a.before,Mt(Q(r,"beforeLabel",this,o))),ft(a.lines,Q(r,"label",this,o)),ft(a.after,Mt(Q(r,"afterLabel",this,o))),n.push(a)}),n}getAfterBody(t,e){return xo(Q(e.callbacks,"afterBody",this,t))}getFooter(t,e){let{callbacks:s}=e,n=Q(s,"beforeFooter",this,t),o=Q(s,"footer",this,t),a=Q(s,"afterFooter",this,t),r=[];return r=ft(r,Mt(n)),r=ft(r,Mt(o)),r=ft(r,Mt(a)),r}_createItems(t){let e=this._active,s=this.chart.data,n=[],o=[],a=[],r=[],l,c;for(l=0,c=e.length;lt.filter(h,d,u,s))),t.itemSort&&(r=r.sort((h,d)=>t.itemSort(h,d,s))),E(r,h=>{let d=_o(t.callbacks,h);n.push(Q(d,"labelColor",this,h)),o.push(Q(d,"labelPointStyle",this,h)),a.push(Q(d,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=r,r}update(t,e){let s=this.options.setContext(this.getContext()),n=this._active,o,a=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{let r=Ie[s.position].call(this,n,this._eventPosition);a=this._createItems(s),this.title=this.getTitle(a,s),this.beforeBody=this.getBeforeBody(a,s),this.body=this.getBody(a,s),this.afterBody=this.getAfterBody(a,s),this.footer=this.getFooter(a,s);let l=this._size=po(this,s),c=Object.assign({},r,l),h=mo(this.chart,s,c),d=bo(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:r.x,caretY:r.y}}this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){let o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){let{xAlign:n,yAlign:o}=this,{caretSize:a,cornerRadius:r}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=Tt(r),{x:u,y:f}=t,{width:g,height:p}=e,m,b,x,v,y,_;return o==="center"?(y=f+p/2,n==="left"?(m=u,b=m-a,v=y+a,_=y-a):(m=u+g,b=m+a,v=y-a,_=y+a),x=m):(n==="left"?b=u+Math.max(l,h)+a:n==="right"?b=u+g-Math.max(c,d)-a:b=this.caretX,o==="top"?(v=f,y=v-a,m=b-a,x=b+a):(v=f+p,y=v+a,m=b+a,x=b-a),_=v),{x1:m,x2:b,x3:x,y1:v,y2:y,y3:_}}drawTitle(t,e,s){let n=this.title,o=n.length,a,r,l;if(o){let c=Wt(s.rtl,this.x,this.width);for(t.x=bi(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",a=$(s.titleFont),r=s.titleSpacing,e.fillStyle=s.titleColor,e.font=a.string,l=0;lx!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,oe(t,{x:p,y:g,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),oe(t,{x:m,y:g+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(p,g,c,l),t.strokeRect(p,g,c,l),t.fillStyle=a.backgroundColor,t.fillRect(m,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){let{body:n}=this,{bodySpacing:o,bodyAlign:a,displayColors:r,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=$(s.bodyFont),u=d.lineHeight,f=0,g=Wt(s.rtl,this.x,this.width),p=function(S){e.fillText(S,g.x(t.x+f),t.y+u/2),t.y+=u+o},m=g.textAlign(a),b,x,v,y,_,k,w;for(e.textAlign=a,e.textBaseline="middle",e.font=d.string,t.x=bi(this,m,s),e.fillStyle=s.bodyColor,E(this.beforeBody,p),f=r&&m!=="right"?a==="center"?c/2+h:c+2+h:0,y=0,k=n.length;y0&&e.stroke()}_updateAnimationTarget(t){let e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){let a=Ie[t.position].call(this,this._active,this._eventPosition);if(!a)return;let r=this._size=po(this,t),l=Object.assign({},a,this._size),c=mo(e,t,l),h=bo(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=r.width,this.height=r.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){let e=this.options.setContext(this.getContext()),s=this.opacity;if(!s)return;this._updateAnimationTarget(e);let n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;let a=q(e.padding),r=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&r&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),as(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),rs(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){let s=this._active,n=t.map(({datasetIndex:r,index:l})=>{let c=this.chart.getDatasetMeta(r);if(!c)throw new Error("Cannot find a dataset at index "+r);return{datasetIndex:r,element:c.data[l],index:l}}),o=!we(s,n),a=this._positionChanged(n,e);(o||a)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let n=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,s),r=this._positionChanged(a,t),l=e||!we(a,o)||r;return l&&(this._active=a,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){let o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(r=>this.chart.data.datasets[r.datasetIndex]&&this.chart.getDatasetMeta(r.datasetIndex).controller.getParsed(r.index)!==void 0);let a=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&a.reverse(),a}_positionChanged(t,e){let{caretX:s,caretY:n,options:o}=this,a=Ie[o.position].call(this,t,e);return a!==!1&&(s!==a.x||n!==a.y)}};M(We,"positioners",Ie);var ah={id:"tooltip",_element:We,positioners:Ie,afterInit(i,t,e){e&&(i.tooltip=new We({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){let t=i.tooltip;if(t&&t._willRender()){let e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){let e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Ko},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:i=>i!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},rh=Object.freeze({__proto__:null,Colors:_c,Decimation:kc,Filler:jc,Legend:qc,SubTitle:Zc,Title:Jc,Tooltip:ah}),lh=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function ch(i,t,e,s){let n=i.indexOf(t);if(n===-1)return lh(i,t,e,s);let o=i.lastIndexOf(t);return n!==o?e:n}var hh=(i,t)=>i===null?null:Y(Math.round(i),0,t);function yo(i){let t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}};M(Fe,"id","category"),M(Fe,"defaults",{ticks:{callback:yo}});function dh(i,t){let e=[],{bounds:n,step:o,min:a,max:r,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:u}=i,f=o||1,g=h-1,{min:p,max:m}=t,b=!A(a),x=!A(r),v=!A(c),y=(m-p)/(d+1),_=Vi((m-p)/g/f)*f,k,w,S,P;if(_<1e-14&&!b&&!x)return[{value:p},{value:m}];P=Math.ceil(m/_)-Math.floor(p/_),P>g&&(_=Vi(P*_/g/f)*f),A(l)||(k=Math.pow(10,l),_=Math.ceil(_*k)/k),n==="ticks"?(w=Math.floor(p/_)*_,S=Math.ceil(m/_)*_):(w=p,S=m),b&&x&&o&&an((r-a)/o,_/1e3)?(P=Math.round(Math.min((r-a)/_,h)),_=(r-a)/P,w=a,S=r):v?(w=b?a:w,S=x?r:S,P=c-1,_=(S-w)/P):(P=(S-w)/_,ie(P,Math.round(P),_/1e3)?P=Math.round(P):P=Math.ceil(P));let O=Math.max(Ni(_),Ni(w));k=Math.pow(10,A(l)?O:l),w=Math.round(w*k)/k,S=Math.round(S*k)/k;let C=0;for(b&&(u&&w!==a?(e.push({value:a}),wr)break;e.push({value:L})}return x&&u&&S!==r?e.length&&ie(e[e.length-1].value,r,vo(r,y,i))?e[e.length-1].value=r:e.push({value:r}):(!x||S===r)&&e.push({value:S}),e}function vo(i,t,{horizontal:e,minRotation:s}){let n=ot(s),o=(e?Math.sin(n):Math.cos(n))||.001,a=.75*t*(""+i).length;return Math.min(t/o,a)}var me=class extends Xt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){let{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds(),{min:n,max:o}=this,a=l=>n=e?n:l,r=l=>o=s?o:l;if(t){let l=lt(n),c=lt(o);l<0&&c<0?r(0):l>0&&c>0&&a(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);r(o+l),t||a(n-l)}this.min=n,this.max=o}getTickLimit(){let t=this.options.ticks,{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){let t=this.options,e=t.ticks,s=this.getTickLimit();s=Math.max(2,s);let n={maxTicks:s,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:e.includeBounds!==!1},o=this._range||this,a=dh(n,o);return t.bounds==="ticks"&&Wi(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){let t=this.ticks,e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){let n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}},ze=class extends me{determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=N(t)?t:0,this.max=N(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){let t=this.isHorizontal(),e=t?this.width:this.height,s=ot(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}};M(ze,"id","linear"),M(ze,"defaults",{ticks:{callback:Se.formatters.numeric}});var je=i=>Math.floor(xt(i)),Ht=(i,t)=>Math.pow(10,je(i)+t);function Mo(i){return i/Math.pow(10,je(i))===1}function ko(i,t,e){let s=Math.pow(10,e),n=Math.floor(i/s);return Math.ceil(t/s)-n}function uh(i,t){let e=t-i,s=je(e);for(;ko(i,t,s)>10;)s++;for(;ko(i,t,s)<10;)s--;return Math.min(s,je(i))}function fh(i,{min:t,max:e}){t=Z(i.min,t);let s=[],n=je(t),o=uh(t,e),a=o<0?Math.pow(10,Math.abs(o)):1,r=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*a)/a,h=Math.floor((t-l)/r/10)*r*10,d=Math.floor((c-h)/Math.pow(10,o)),u=Z(i.min,Math.round((l+h+d*Math.pow(10,o))*a)/a);for(;u=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,a=o>=0?1:a),u=Math.round((l+h+d*Math.pow(10,o))*a)/a;let f=Z(i.max,u);return s.push({value:f,major:Mo(f),significand:d}),s}var Be=class extends Xt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){let s=me.prototype.parse.apply(this,[t,e]);if(s===0){this._zero=!0;return}return N(s)&&s>0?s:null}determineDataLimits(){let{min:t,max:e}=this.getMinMax(!0);this.min=N(t)?Math.max(0,t):null,this.max=N(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!N(this._userMin)&&(this.min=t===Ht(this.min,0)?Ht(this.min,-1):Ht(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:t,maxDefined:e}=this.getUserBounds(),s=this.min,n=this.max,o=r=>s=t?s:r,a=r=>n=e?n:r;s===n&&(s<=0?(o(1),a(10)):(o(Ht(s,-1)),a(Ht(n,1)))),s<=0&&o(Ht(n,-1)),n<=0&&a(Ht(s,1)),this.min=s,this.max=n}buildTicks(){let t=this.options,e={min:this._userMin,max:this._userMax},s=fh(e,this);return t.bounds==="ticks"&&Wi(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){let t=this.min;super.configure(),this._startValue=xt(t),this._valueRange=xt(this.max)-xt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(xt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){let e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}};M(Be,"id","logarithmic"),M(Be,"defaults",{ticks:{callback:Se.formatters.logarithmic,major:{enabled:!0}}});function Is(i){let t=i.ticks;if(t.display&&i.display){let e=q(t.backdropPadding);return D(t.font&&t.font.size,V.font.size)+e.height}return 0}function gh(i,t,e){return e=z(e)?e:[e],{w:pn(i,t.string,e),h:e.length*t.lineHeight}}function wo(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function ph(i){let t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,a=i.options.pointLabels,r=a.centerPointLabels?R/o:0;for(let l=0;lt.r&&(r=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+r)),n.startt.b&&(l=(n.end-t.b)/a,i.b=Math.max(i.b,t.b+l))}function bh(i,t,e){let s=i.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=e,l=i.getPointPosition(t,s+n+a,o),c=Math.round(si(X(l.angle+H))),h=Mh(l.y,r.h,c),d=yh(c),u=vh(l.x,r.w,d);return{visible:!0,x:l.x,y:h,textAlign:d,left:u,top:h,right:u+r.w,bottom:h+r.h}}function xh(i,t){if(!t)return!0;let{left:e,top:s,right:n,bottom:o}=i;return!(ht({x:e,y:s},t)||ht({x:e,y:o},t)||ht({x:n,y:s},t)||ht({x:n,y:o},t))}function _h(i,t,e){let s=[],n=i._pointLabels.length,o=i.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Is(o)/2,additionalAngle:a?R/n:0},c;for(let h=0;h270||e<90)&&(i-=t),i}function kh(i,t,e){let{left:s,top:n,right:o,bottom:a}=e,{backdropColor:r}=t;if(!A(r)){let l=Tt(t.borderRadius),c=q(t.backdropPadding);i.fillStyle=r;let h=s-c.left,d=n-c.top,u=o-s+c.width,f=a-n+c.height;Object.values(l).some(g=>g!==0)?(i.beginPath(),oe(i,{x:h,y:d,w:u,h:f,radius:l}),i.fill()):i.fillRect(h,d,u,f)}}function wh(i,t){let{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){let o=i._pointLabelItems[n];if(!o.visible)continue;let a=s.setContext(i.getPointLabelContext(n));kh(e,a,o);let r=$(a.font),{x:l,y:c,textAlign:h}=o;At(e,i._pointLabels[n],l,c+r.lineHeight/2,r,{color:a.color,textAlign:h,textBaseline:"middle"})}}function qo(i,t,e,s){let{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,B);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let a=1;a{let n=F(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){let t=this.options;t.display&&t.pointLabels.display?ph(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){let e=B/(this._pointLabels.length||1),s=this.options.startAngle||0;return X(t*e+ot(s))}getDistanceFromCenterForValue(t){if(A(t))return NaN;let e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(A(t))return NaN;let e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){let e=this._pointLabels||[];if(t>=0&&t{if(d!==0||d===0&&this.min<0){l=this.getDistanceFromCenterForValue(h.value);let u=this.getContext(d),f=n.setContext(u),g=o.setContext(u);Sh(this,f,l,a,g)}}),s.display){for(t.save(),r=a-1;r>=0;r--){let h=s.setContext(this.getPointLabelContext(r)),{color:d,lineWidth:u}=h;!u||!d||(t.lineWidth=u,t.strokeStyle=d,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),c=this.getPointPosition(r,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){let t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;let n=this.getIndexAngle(0),o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((r,l)=>{if(l===0&&this.min>=0&&!e.reverse)return;let c=s.setContext(this.getContext(l)),h=$(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,a=t.measureText(r.label).width,t.fillStyle=c.backdropColor;let d=q(c.backdropPadding);t.fillRect(-a/2-d.left,-o-h.size/2-d.top,a+d.width,h.size+d.height)}At(t,r.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}};M($t,"id","radialLinear"),M($t,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Se.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),M($t,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),M($t,"descriptors",{angleLines:{_fallback:"grid"}});var Oi={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}},tt=Object.keys(Oi);function So(i,t){return i-t}function Po(i,t){if(A(t))return null;let e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts,a=t;return typeof s=="function"&&(a=s(a)),N(a)||(a=typeof s=="string"?e.parse(a,s):e.parse(a)),a===null?null:(n&&(a=n==="week"&&(Vt(o)||o===!0)?e.startOf(a,"isoWeek",o):e.startOf(a,n)),+a)}function Do(i,t,e,s){let n=tt.length;for(let o=tt.indexOf(i);o=tt.indexOf(e);o--){let a=tt[o];if(Oi[a].common&&i._adapter.diff(n,s,a)>=t-1)return a}return tt[e?tt.indexOf(e):0]}function Oh(i){for(let t=tt.indexOf(i)+1,e=tt.length;t=t?e[s]:e[n];i[o]=!0}}function Ch(i,t,e,s){let n=i._adapter,o=+n.startOf(t[0].value,s),a=t[t.length-1].value,r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=e[r],l>=0&&(t[l].major=!0);return t}function Co(i,t,e){let s=[],n={},o=t.length,a,r;for(a=0;a+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);let a=t.length<3?.5:.25;e=Y(e,0,a),s=Y(s,0,a),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){let t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,a=o.unit||Do(o.minUnit,e,s,this._getLabelCapacity(e)),r=D(n.ticks.stepSize,1),l=a==="week"?o.isoWeekday:!1,c=Vt(l)||l===!0,h={},d=e,u,f;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":a),t.diff(s,e,a)>1e5*r)throw new Error(e+" and "+s+" are too far apart with stepSize of "+r+" "+a);let g=n.ticks.source==="data"&&this.getDataTimestamps();for(u=d,f=0;u+p)}getLabelForValue(t){let e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){let n=this.options.time.displayFormats,o=this._unit,a=e||n[o];return this._adapter.format(t,a)}_tickFormatFunction(t,e,s,n){let o=this.options,a=o.ticks.callback;if(a)return F(a,[t,e,s],this);let r=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&r[l],d=c&&r[c],u=s[e],f=c&&d&&u&&u.major;return this._adapter.format(t,n||(f?d:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?r:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;let n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=ct(i,"pos",t)),{pos:o,time:r}=i[s],{pos:a,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=ct(i,"time",t)),{time:o,pos:r}=i[s],{time:a,pos:l}=i[n]);let c=a-o;return c?r+(l-r)*(t-o)/c:r}var Ve=class extends Ut{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=xi(e,this.min),this._tableRange=xi(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){let{min:e,max:s}=this,n=[],o=[],a,r,l,c,h;for(a=0,r=t.length;a=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(a=0,r=n.length;an-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;let e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(xi(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){let e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return xi(this._table,s*this._tableRange+this._minPos,!0)}};M(Ve,"id","timeseries"),M(Ve,"defaults",Ut.defaults);var Ah=Object.freeze({__proto__:null,CategoryScale:Fe,LinearScale:ze,LogarithmicScale:Be,RadialLinearScale:$t,TimeScale:Ut,TimeSeriesScale:Ve}),Go=[Nr,uc,rh,Ah];at.register(...Go);var Fs=at;function Th({dataChecksum:i,labels:t,values:e}){return{dataChecksum:i,init(){Alpine.effect(()=>{Alpine.store("theme");let s=this.getChart();s&&s.destroy(),this.initChart()}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{Alpine.store("theme")==="system"&&this.$nextTick(()=>{let s=this.getChart();s&&s.destroy(),this.initChart()})})},initChart(){if(!(!this.$refs.canvas||!this.$refs.backgroundColorElement||!this.$refs.borderColorElement))return new Fs(this.$refs.canvas,{type:"line",data:{labels:t,datasets:[{data:e,borderWidth:2,fill:"start",tension:.5,backgroundColor:getComputedStyle(this.$refs.backgroundColorElement).color,borderColor:getComputedStyle(this.$refs.borderColorElement).color}]},options:{animation:{duration:0},elements:{point:{radius:0}},maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{x:{display:!1},y:{display:!1}},tooltips:{enabled:!1}}})},getChart(){return this.$refs.canvas?Fs.getChart(this.$refs.canvas):null}}}export{Th as default}; /*! Bundled license information: -chart.js/dist/chunks/helpers.segment.mjs: +@kurkle/color/dist/color.esm.js: (*! - * Chart.js v3.9.1 - * https://www.chartjs.org - * (c) 2022 Chart.js Contributors - * Released under the MIT License - *) - -chart.js/dist/chunks/helpers.segment.mjs: - (*! - * @kurkle/color v0.2.1 + * @kurkle/color v0.3.4 * https://github.com/kurkle/color#readme - * (c) 2022 Jukka Kurkela + * (c) 2024 Jukka Kurkela * Released under the MIT License *) -chart.js/dist/chart.mjs: +chart.js/dist/chunks/helpers.dataset.js: +chart.js/dist/chart.js: (*! - * Chart.js v3.9.1 + * Chart.js v4.5.1 * https://www.chartjs.org - * (c) 2022 Chart.js Contributors + * (c) 2025 Chart.js Contributors * Released under the MIT License *) */ diff --git a/public/vendor/livewire/livewire.esm.js b/public/vendor/livewire/livewire.esm.js new file mode 100644 index 000000000..ba80bacee --- /dev/null +++ b/public/vendor/livewire/livewire.esm.js @@ -0,0 +1,11365 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); + +// node_modules/alpinejs/dist/module.cjs.js +var require_module_cjs = __commonJS({ + "node_modules/alpinejs/dist/module.cjs.js"(exports, module) { + var __create2 = Object.create; + var __defProp2 = Object.defineProperty; + var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; + var __getOwnPropNames2 = Object.getOwnPropertyNames; + var __getProtoOf2 = Object.getPrototypeOf; + var __hasOwnProp2 = Object.prototype.hasOwnProperty; + var __commonJS2 = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + }; + var __export = (target, all2) => { + for (var name in all2) + __defProp2(target, name, { get: all2[name], enumerable: true }); + }; + var __copyProps2 = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames2(from)) + if (!__hasOwnProp2.call(to, key) && key !== except) + __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, mod)); + var __toCommonJS = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod); + var require_shared_cjs = __commonJS2({ + "node_modules/@vue/shared/dist/shared.cjs.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + function makeMap(str, expectsLowerCase) { + const map = /* @__PURE__ */ Object.create(null); + const list = str.split(","); + for (let i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val]; + } + var PatchFlagNames = { + [1]: `TEXT`, + [2]: `CLASS`, + [4]: `STYLE`, + [8]: `PROPS`, + [16]: `FULL_PROPS`, + [32]: `HYDRATE_EVENTS`, + [64]: `STABLE_FRAGMENT`, + [128]: `KEYED_FRAGMENT`, + [256]: `UNKEYED_FRAGMENT`, + [512]: `NEED_PATCH`, + [1024]: `DYNAMIC_SLOTS`, + [2048]: `DEV_ROOT_FRAGMENT`, + [-1]: `HOISTED`, + [-2]: `BAIL` + }; + var slotFlagsText = { + [1]: "STABLE", + [2]: "DYNAMIC", + [3]: "FORWARDED" + }; + var GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt"; + var isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED); + var range = 2; + function generateCodeFrame(source, start22 = 0, end = source.length) { + let lines = source.split(/(\r?\n)/); + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0); + if (count >= start22) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + const line = j + 1; + res.push(`${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`); + const lineLength = lines[j].length; + const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; + if (j === i) { + const pad = start22 - (count - (lineLength + newLineSeqLength)); + const length = Math.max(1, end > count ? lineLength - pad : end - start22); + res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); + } else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + "^".repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join("\n"); + } + var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; + var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); + var isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`); + var unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/; + var attrValidationCache = {}; + function isSSRSafeAttrName(name) { + if (attrValidationCache.hasOwnProperty(name)) { + return attrValidationCache[name]; + } + const isUnsafe = unsafeAttrCharRE.test(name); + if (isUnsafe) { + console.error(`unsafe attribute name: ${name}`); + } + return attrValidationCache[name] = !isUnsafe; + } + var propsToAttrMap = { + acceptCharset: "accept-charset", + className: "class", + htmlFor: "for", + httpEquiv: "http-equiv" + }; + var isNoUnitNumericStyleProp = /* @__PURE__ */ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width`); + var isKnownAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`); + function normalizeStyle(value) { + if (isArray2(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isObject2(value)) { + return value; + } + } + var listDelimiterRE = /;(?![^(]*\))/g; + var propertyDelimiterRE = /:(.+)/; + function parseStringStyle(cssText) { + const ret = {}; + cssText.split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; + } + function stringifyStyle(styles) { + let ret = ""; + if (!styles) { + return ret; + } + for (const key in styles) { + const value = styles[key]; + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + if (isString(value) || typeof value === "number" && isNoUnitNumericStyleProp(normalizedKey)) { + ret += `${normalizedKey}:${value};`; + } + } + return ret; + } + function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray2(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject2(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); + } + var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; + var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; + var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; + var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); + var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); + var isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); + var escapeRE = /["'&<>]/; + function escapeHtml(string) { + const str = "" + string; + const match = escapeRE.exec(str); + if (!match) { + return str; + } + let html = ""; + let escaped; + let index; + let lastIndex = 0; + for (index = match.index; index < str.length; index++) { + switch (str.charCodeAt(index)) { + case 34: + escaped = """; + break; + case 38: + escaped = "&"; + break; + case 39: + escaped = "'"; + break; + case 60: + escaped = "<"; + break; + case 62: + escaped = ">"; + break; + default: + continue; + } + if (lastIndex !== index) { + html += str.substring(lastIndex, index); + } + lastIndex = index + 1; + html += escaped; + } + return lastIndex !== index ? html + str.substring(lastIndex, index) : html; + } + var commentStripRE = /^-?>||--!>| looseEqual(item, val)); + } + var toDisplayString = (val) => { + return val == null ? "" : isObject2(val) ? JSON.stringify(val, replacer, 2) : String(val); + }; + var replacer = (_key, val) => { + if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => { + entries[`${key} =>`] = val2; + return entries; + }, {}) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()] + }; + } else if (isObject2(val) && !isArray2(val) && !isPlainObject(val)) { + return String(val); + } + return val; + }; + var babelParserDefaultPlugins = [ + "bigInt", + "optionalChaining", + "nullishCoalescingOperator" + ]; + var EMPTY_OBJ = Object.freeze({}); + var EMPTY_ARR = Object.freeze([]); + var NOOP = () => { + }; + var NO = () => false; + var onRE = /^on[^a-z]/; + var isOn = (key) => onRE.test(key); + var isModelListener = (key) => key.startsWith("onUpdate:"); + var extend = Object.assign; + var remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } + }; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var hasOwn = (val, key) => hasOwnProperty.call(val, key); + var isArray2 = Array.isArray; + var isMap = (val) => toTypeString(val) === "[object Map]"; + var isSet = (val) => toTypeString(val) === "[object Set]"; + var isDate = (val) => val instanceof Date; + var isFunction2 = (val) => typeof val === "function"; + var isString = (val) => typeof val === "string"; + var isSymbol = (val) => typeof val === "symbol"; + var isObject2 = (val) => val !== null && typeof val === "object"; + var isPromise = (val) => { + return isObject2(val) && isFunction2(val.then) && isFunction2(val.catch); + }; + var objectToString = Object.prototype.toString; + var toTypeString = (value) => objectToString.call(value); + var toRawType = (value) => { + return toTypeString(value).slice(8, -1); + }; + var isPlainObject = (val) => toTypeString(val) === "[object Object]"; + var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; + var isReservedProp = /* @__PURE__ */ makeMap(",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); + var cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; + }; + var camelizeRE = /-(\w)/g; + var camelize = cacheStringFunction((str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); + }); + var hyphenateRE = /\B([A-Z])/g; + var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); + var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); + var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); + var hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue); + var invokeArrayFns = (fns, arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](arg); + } + }; + var def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); + }; + var toNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; + }; + var _globalThis; + var getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); + }; + exports2.EMPTY_ARR = EMPTY_ARR; + exports2.EMPTY_OBJ = EMPTY_OBJ; + exports2.NO = NO; + exports2.NOOP = NOOP; + exports2.PatchFlagNames = PatchFlagNames; + exports2.babelParserDefaultPlugins = babelParserDefaultPlugins; + exports2.camelize = camelize; + exports2.capitalize = capitalize; + exports2.def = def; + exports2.escapeHtml = escapeHtml; + exports2.escapeHtmlComment = escapeHtmlComment; + exports2.extend = extend; + exports2.generateCodeFrame = generateCodeFrame; + exports2.getGlobalThis = getGlobalThis; + exports2.hasChanged = hasChanged; + exports2.hasOwn = hasOwn; + exports2.hyphenate = hyphenate; + exports2.invokeArrayFns = invokeArrayFns; + exports2.isArray = isArray2; + exports2.isBooleanAttr = isBooleanAttr2; + exports2.isDate = isDate; + exports2.isFunction = isFunction2; + exports2.isGloballyWhitelisted = isGloballyWhitelisted; + exports2.isHTMLTag = isHTMLTag; + exports2.isIntegerKey = isIntegerKey; + exports2.isKnownAttr = isKnownAttr; + exports2.isMap = isMap; + exports2.isModelListener = isModelListener; + exports2.isNoUnitNumericStyleProp = isNoUnitNumericStyleProp; + exports2.isObject = isObject2; + exports2.isOn = isOn; + exports2.isPlainObject = isPlainObject; + exports2.isPromise = isPromise; + exports2.isReservedProp = isReservedProp; + exports2.isSSRSafeAttrName = isSSRSafeAttrName; + exports2.isSVGTag = isSVGTag; + exports2.isSet = isSet; + exports2.isSpecialBooleanAttr = isSpecialBooleanAttr; + exports2.isString = isString; + exports2.isSymbol = isSymbol; + exports2.isVoidTag = isVoidTag; + exports2.looseEqual = looseEqual; + exports2.looseIndexOf = looseIndexOf; + exports2.makeMap = makeMap; + exports2.normalizeClass = normalizeClass; + exports2.normalizeStyle = normalizeStyle; + exports2.objectToString = objectToString; + exports2.parseStringStyle = parseStringStyle; + exports2.propsToAttrMap = propsToAttrMap; + exports2.remove = remove; + exports2.slotFlagsText = slotFlagsText; + exports2.stringifyStyle = stringifyStyle; + exports2.toDisplayString = toDisplayString; + exports2.toHandlerKey = toHandlerKey; + exports2.toNumber = toNumber; + exports2.toRawType = toRawType; + exports2.toTypeString = toTypeString; + } + }); + var require_shared = __commonJS2({ + "node_modules/@vue/shared/index.js"(exports2, module2) { + "use strict"; + if (false) { + module2.exports = null; + } else { + module2.exports = require_shared_cjs(); + } + } + }); + var require_reactivity_cjs = __commonJS2({ + "node_modules/@vue/reactivity/dist/reactivity.cjs.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var shared = require_shared(); + var targetMap = /* @__PURE__ */ new WeakMap(); + var effectStack = []; + var activeEffect; + var ITERATE_KEY = Symbol("iterate"); + var MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); + function isEffect(fn) { + return fn && fn._isEffect === true; + } + function effect3(fn, options = shared.EMPTY_OBJ) { + if (isEffect(fn)) { + fn = fn.raw; + } + const effect4 = createReactiveEffect(fn, options); + if (!options.lazy) { + effect4(); + } + return effect4; + } + function stop2(effect4) { + if (effect4.active) { + cleanup(effect4); + if (effect4.options.onStop) { + effect4.options.onStop(); + } + effect4.active = false; + } + } + var uid = 0; + function createReactiveEffect(fn, options) { + const effect4 = function reactiveEffect() { + if (!effect4.active) { + return fn(); + } + if (!effectStack.includes(effect4)) { + cleanup(effect4); + try { + enableTracking(); + effectStack.push(effect4); + activeEffect = effect4; + return fn(); + } finally { + effectStack.pop(); + resetTracking(); + activeEffect = effectStack[effectStack.length - 1]; + } + } + }; + effect4.id = uid++; + effect4.allowRecurse = !!options.allowRecurse; + effect4._isEffect = true; + effect4.active = true; + effect4.raw = fn; + effect4.deps = []; + effect4.options = options; + return effect4; + } + function cleanup(effect4) { + const { deps } = effect4; + if (deps.length) { + for (let i = 0; i < deps.length; i++) { + deps[i].delete(effect4); + } + deps.length = 0; + } + } + var shouldTrack = true; + var trackStack = []; + function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; + } + function enableTracking() { + trackStack.push(shouldTrack); + shouldTrack = true; + } + function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; + } + function track2(target, type, key) { + if (!shouldTrack || activeEffect === void 0) { + return; + } + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = /* @__PURE__ */ new Set()); + } + if (!dep.has(activeEffect)) { + dep.add(activeEffect); + activeEffect.deps.push(dep); + if (activeEffect.options.onTrack) { + activeEffect.options.onTrack({ + effect: activeEffect, + target, + type, + key + }); + } + } + } + function trigger2(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + const effects = /* @__PURE__ */ new Set(); + const add2 = (effectsToAdd) => { + if (effectsToAdd) { + effectsToAdd.forEach((effect4) => { + if (effect4 !== activeEffect || effect4.allowRecurse) { + effects.add(effect4); + } + }); + } + }; + if (type === "clear") { + depsMap.forEach(add2); + } else if (key === "length" && shared.isArray(target)) { + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 >= newValue) { + add2(dep); + } + }); + } else { + if (key !== void 0) { + add2(depsMap.get(key)); + } + switch (type) { + case "add": + if (!shared.isArray(target)) { + add2(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + add2(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (shared.isIntegerKey(key)) { + add2(depsMap.get("length")); + } + break; + case "delete": + if (!shared.isArray(target)) { + add2(depsMap.get(ITERATE_KEY)); + if (shared.isMap(target)) { + add2(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (shared.isMap(target)) { + add2(depsMap.get(ITERATE_KEY)); + } + break; + } + } + const run = (effect4) => { + if (effect4.options.onTrigger) { + effect4.options.onTrigger({ + effect: effect4, + target, + key, + type, + newValue, + oldValue, + oldTarget + }); + } + if (effect4.options.scheduler) { + effect4.options.scheduler(effect4); + } else { + effect4(); + } + }; + effects.forEach(run); + } + var isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`); + var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(shared.isSymbol)); + var get2 = /* @__PURE__ */ createGetter(); + var shallowGet = /* @__PURE__ */ createGetter(false, true); + var readonlyGet = /* @__PURE__ */ createGetter(true); + var shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true); + var arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); + function createArrayInstrumentations() { + const instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach((key) => { + instrumentations[key] = function(...args) { + const arr = toRaw2(this); + for (let i = 0, l = this.length; i < l; i++) { + track2(arr, "get", i + ""); + } + const res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw2)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { + instrumentations[key] = function(...args) { + pauseTracking(); + const res = toRaw2(this)[key].apply(this, args); + resetTracking(); + return res; + }; + }); + return instrumentations; + } + function createGetter(isReadonly2 = false, shallow = false) { + return function get3(target, key, receiver) { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { + return target; + } + const targetIsArray = shared.isArray(target); + if (!isReadonly2 && targetIsArray && shared.hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + const res = Reflect.get(target, key, receiver); + if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track2(target, "get", key); + } + if (shallow) { + return res; + } + if (isRef(res)) { + const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key); + return shouldUnwrap ? res.value : res; + } + if (shared.isObject(res)) { + return isReadonly2 ? readonly(res) : reactive3(res); + } + return res; + }; + } + var set2 = /* @__PURE__ */ createSetter(); + var shallowSet = /* @__PURE__ */ createSetter(true); + function createSetter(shallow = false) { + return function set3(target, key, value, receiver) { + let oldValue = target[key]; + if (!shallow) { + value = toRaw2(value); + oldValue = toRaw2(oldValue); + if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } + } + const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key); + const result = Reflect.set(target, key, value, receiver); + if (target === toRaw2(receiver)) { + if (!hadKey) { + trigger2(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger2(target, "set", key, value, oldValue); + } + } + return result; + }; + } + function deleteProperty(target, key) { + const hadKey = shared.hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger2(target, "delete", key, void 0, oldValue); + } + return result; + } + function has(target, key) { + const result = Reflect.has(target, key); + if (!shared.isSymbol(key) || !builtInSymbols.has(key)) { + track2(target, "has", key); + } + return result; + } + function ownKeys(target) { + track2(target, "iterate", shared.isArray(target) ? "length" : ITERATE_KEY); + return Reflect.ownKeys(target); + } + var mutableHandlers = { + get: get2, + set: set2, + deleteProperty, + has, + ownKeys + }; + var readonlyHandlers = { + get: readonlyGet, + set(target, key) { + { + console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + }, + deleteProperty(target, key) { + { + console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); + } + return true; + } + }; + var shallowReactiveHandlers = /* @__PURE__ */ shared.extend({}, mutableHandlers, { + get: shallowGet, + set: shallowSet + }); + var shallowReadonlyHandlers = /* @__PURE__ */ shared.extend({}, readonlyHandlers, { + get: shallowReadonlyGet + }); + var toReactive = (value) => shared.isObject(value) ? reactive3(value) : value; + var toReadonly = (value) => shared.isObject(value) ? readonly(value) : value; + var toShallow = (value) => value; + var getProto = (v) => Reflect.getPrototypeOf(v); + function get$1(target, key, isReadonly2 = false, isShallow = false) { + target = target["__v_raw"]; + const rawTarget = toRaw2(target); + const rawKey = toRaw2(key); + if (key !== rawKey) { + !isReadonly2 && track2(rawTarget, "get", key); + } + !isReadonly2 && track2(rawTarget, "get", rawKey); + const { has: has2 } = getProto(rawTarget); + const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } + } + function has$1(key, isReadonly2 = false) { + const target = this["__v_raw"]; + const rawTarget = toRaw2(target); + const rawKey = toRaw2(key); + if (key !== rawKey) { + !isReadonly2 && track2(rawTarget, "has", key); + } + !isReadonly2 && track2(rawTarget, "has", rawKey); + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + } + function size(target, isReadonly2 = false) { + target = target["__v_raw"]; + !isReadonly2 && track2(toRaw2(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); + } + function add(value) { + value = toRaw2(value); + const target = toRaw2(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger2(target, "add", value, value); + } + return this; + } + function set$1(key, value) { + value = toRaw2(value); + const target = toRaw2(this); + const { has: has2, get: get3 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw2(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get3.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger2(target, "add", key, value); + } else if (shared.hasChanged(value, oldValue)) { + trigger2(target, "set", key, value, oldValue); + } + return this; + } + function deleteEntry(key) { + const target = toRaw2(this); + const { has: has2, get: get3 } = getProto(target); + let hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw2(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + const oldValue = get3 ? get3.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger2(target, "delete", key, void 0, oldValue); + } + return result; + } + function clear() { + const target = toRaw2(this); + const hadItems = target.size !== 0; + const oldTarget = shared.isMap(target) ? new Map(target) : new Set(target); + const result = target.clear(); + if (hadItems) { + trigger2(target, "clear", void 0, void 0, oldTarget); + } + return result; + } + function createForEach(isReadonly2, isShallow) { + return function forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw2(target); + const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track2(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; + } + function createIterableMethod(method, isReadonly2, isShallow) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw2(target); + const targetIsMap = shared.isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track2(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); + return { + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + [Symbol.iterator]() { + return this; + } + }; + }; + } + function createReadonlyMethod(type) { + return function(...args) { + { + const key = args[0] ? `on key "${args[0]}" ` : ``; + console.warn(`${shared.capitalize(type)} operation ${key}failed: target is readonly.`, toRaw2(this)); + } + return type === "delete" ? false : this; + }; + } + function createInstrumentations() { + const mutableInstrumentations2 = { + get(key) { + return get$1(this, key); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + const shallowInstrumentations2 = { + get(key) { + return get$1(this, key, false, true); + }, + get size() { + return size(this); + }, + has: has$1, + add, + set: set$1, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + const readonlyInstrumentations2 = { + get(key) { + return get$1(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + const shallowReadonlyInstrumentations2 = { + get(key) { + return get$1(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has$1.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; + iteratorMethods.forEach((method) => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true); + }); + return [ + mutableInstrumentations2, + readonlyInstrumentations2, + shallowInstrumentations2, + shallowReadonlyInstrumentations2 + ]; + } + var [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations(); + function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get(shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); + }; + } + var mutableCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, false) + }; + var shallowCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(false, true) + }; + var readonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, false) + }; + var shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */ createInstrumentationGetter(true, true) + }; + function checkIdentityKeys(target, has2, key) { + const rawKey = toRaw2(key); + if (rawKey !== key && has2.call(target, rawKey)) { + const type = shared.toRawType(target); + console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`); + } + } + var reactiveMap = /* @__PURE__ */ new WeakMap(); + var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); + var readonlyMap = /* @__PURE__ */ new WeakMap(); + var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); + function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } + } + function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(shared.toRawType(value)); + } + function reactive3(target) { + if (target && target["__v_isReadonly"]) { + return target; + } + return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); + } + function shallowReactive(target) { + return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); + } + function readonly(target) { + return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); + } + function shallowReadonly(target) { + return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); + } + function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!shared.isObject(target)) { + { + console.warn(`value cannot be made reactive: ${String(target)}`); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; + } + function isReactive2(value) { + if (isReadonly(value)) { + return isReactive2(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); + } + function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); + } + function isProxy(value) { + return isReactive2(value) || isReadonly(value); + } + function toRaw2(observed) { + return observed && toRaw2(observed["__v_raw"]) || observed; + } + function markRaw(value) { + shared.def(value, "__v_skip", true); + return value; + } + var convert = (val) => shared.isObject(val) ? reactive3(val) : val; + function isRef(r) { + return Boolean(r && r.__v_isRef === true); + } + function ref(value) { + return createRef(value); + } + function shallowRef(value) { + return createRef(value, true); + } + var RefImpl = class { + constructor(value, _shallow = false) { + this._shallow = _shallow; + this.__v_isRef = true; + this._rawValue = _shallow ? value : toRaw2(value); + this._value = _shallow ? value : convert(value); + } + get value() { + track2(toRaw2(this), "get", "value"); + return this._value; + } + set value(newVal) { + newVal = this._shallow ? newVal : toRaw2(newVal); + if (shared.hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = this._shallow ? newVal : convert(newVal); + trigger2(toRaw2(this), "set", "value", newVal); + } + } + }; + function createRef(rawValue, shallow = false) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); + } + function triggerRef(ref2) { + trigger2(toRaw2(ref2), "set", "value", ref2.value); + } + function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; + } + var shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } + }; + function proxyRefs(objectWithRefs) { + return isReactive2(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); + } + var CustomRefImpl = class { + constructor(factory) { + this.__v_isRef = true; + const { get: get3, set: set3 } = factory(() => track2(this, "get", "value"), () => trigger2(this, "set", "value")); + this._get = get3; + this._set = set3; + } + get value() { + return this._get(); + } + set value(newVal) { + this._set(newVal); + } + }; + function customRef(factory) { + return new CustomRefImpl(factory); + } + function toRefs(object) { + if (!isProxy(object)) { + console.warn(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = shared.isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = toRef(object, key); + } + return ret; + } + var ObjectRefImpl = class { + constructor(_object, _key) { + this._object = _object; + this._key = _key; + this.__v_isRef = true; + } + get value() { + return this._object[this._key]; + } + set value(newVal) { + this._object[this._key] = newVal; + } + }; + function toRef(object, key) { + return isRef(object[key]) ? object[key] : new ObjectRefImpl(object, key); + } + var ComputedRefImpl = class { + constructor(getter, _setter, isReadonly2) { + this._setter = _setter; + this._dirty = true; + this.__v_isRef = true; + this.effect = effect3(getter, { + lazy: true, + scheduler: () => { + if (!this._dirty) { + this._dirty = true; + trigger2(toRaw2(this), "set", "value"); + } + } + }); + this["__v_isReadonly"] = isReadonly2; + } + get value() { + const self2 = toRaw2(this); + if (self2._dirty) { + self2._value = this.effect(); + self2._dirty = false; + } + track2(self2, "get", "value"); + return self2._value; + } + set value(newValue) { + this._setter(newValue); + } + }; + function computed(getterOrOptions) { + let getter; + let setter; + if (shared.isFunction(getterOrOptions)) { + getter = getterOrOptions; + setter = () => { + console.warn("Write operation failed: computed value is readonly"); + }; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + return new ComputedRefImpl(getter, setter, shared.isFunction(getterOrOptions) || !getterOrOptions.set); + } + exports2.ITERATE_KEY = ITERATE_KEY; + exports2.computed = computed; + exports2.customRef = customRef; + exports2.effect = effect3; + exports2.enableTracking = enableTracking; + exports2.isProxy = isProxy; + exports2.isReactive = isReactive2; + exports2.isReadonly = isReadonly; + exports2.isRef = isRef; + exports2.markRaw = markRaw; + exports2.pauseTracking = pauseTracking; + exports2.proxyRefs = proxyRefs; + exports2.reactive = reactive3; + exports2.readonly = readonly; + exports2.ref = ref; + exports2.resetTracking = resetTracking; + exports2.shallowReactive = shallowReactive; + exports2.shallowReadonly = shallowReadonly; + exports2.shallowRef = shallowRef; + exports2.stop = stop2; + exports2.toRaw = toRaw2; + exports2.toRef = toRef; + exports2.toRefs = toRefs; + exports2.track = track2; + exports2.trigger = trigger2; + exports2.triggerRef = triggerRef; + exports2.unref = unref; + } + }); + var require_reactivity = __commonJS2({ + "node_modules/@vue/reactivity/index.js"(exports2, module2) { + "use strict"; + if (false) { + module2.exports = null; + } else { + module2.exports = require_reactivity_cjs(); + } + } + }); + var module_exports = {}; + __export(module_exports, { + Alpine: () => src_default2, + default: () => module_default2 + }); + module.exports = __toCommonJS(module_exports); + var flushPending = false; + var flushing = false; + var queue = []; + var lastFlushedIndex = -1; + function scheduler(callback) { + queueJob(callback); + } + function queueJob(job) { + if (!queue.includes(job)) + queue.push(job); + queueFlush(); + } + function dequeueJob(job) { + let index = queue.indexOf(job); + if (index !== -1 && index > lastFlushedIndex) + queue.splice(index, 1); + } + function queueFlush() { + if (!flushing && !flushPending) { + flushPending = true; + queueMicrotask(flushJobs); + } + } + function flushJobs() { + flushPending = false; + flushing = true; + for (let i = 0; i < queue.length; i++) { + queue[i](); + lastFlushedIndex = i; + } + queue.length = 0; + lastFlushedIndex = -1; + flushing = false; + } + var reactive; + var effect; + var release; + var raw; + var shouldSchedule = true; + function disableEffectScheduling(callback) { + shouldSchedule = false; + callback(); + shouldSchedule = true; + } + function setReactivityEngine(engine) { + reactive = engine.reactive; + release = engine.release; + effect = (callback) => engine.effect(callback, { scheduler: (task) => { + if (shouldSchedule) { + scheduler(task); + } else { + task(); + } + } }); + raw = engine.raw; + } + function overrideEffect(override) { + effect = override; + } + function elementBoundEffect(el) { + let cleanup = () => { + }; + let wrappedEffect = (callback) => { + let effectReference = effect(callback); + if (!el._x_effects) { + el._x_effects = /* @__PURE__ */ new Set(); + el._x_runEffects = () => { + el._x_effects.forEach((i) => i()); + }; + } + el._x_effects.add(effectReference); + cleanup = () => { + if (effectReference === void 0) + return; + el._x_effects.delete(effectReference); + release(effectReference); + }; + return effectReference; + }; + return [wrappedEffect, () => { + cleanup(); + }]; + } + function watch(getter, callback) { + let firstTime = true; + let oldValue; + let effectReference = effect(() => { + let value = getter(); + JSON.stringify(value); + if (!firstTime) { + queueMicrotask(() => { + callback(value, oldValue); + oldValue = value; + }); + } else { + oldValue = value; + } + firstTime = false; + }); + return () => release(effectReference); + } + var onAttributeAddeds = []; + var onElRemoveds = []; + var onElAddeds = []; + function onElAdded(callback) { + onElAddeds.push(callback); + } + function onElRemoved(el, callback) { + if (typeof callback === "function") { + if (!el._x_cleanups) + el._x_cleanups = []; + el._x_cleanups.push(callback); + } else { + callback = el; + onElRemoveds.push(callback); + } + } + function onAttributesAdded(callback) { + onAttributeAddeds.push(callback); + } + function onAttributeRemoved(el, name, callback) { + if (!el._x_attributeCleanups) + el._x_attributeCleanups = {}; + if (!el._x_attributeCleanups[name]) + el._x_attributeCleanups[name] = []; + el._x_attributeCleanups[name].push(callback); + } + function cleanupAttributes(el, names) { + if (!el._x_attributeCleanups) + return; + Object.entries(el._x_attributeCleanups).forEach(([name, value]) => { + if (names === void 0 || names.includes(name)) { + value.forEach((i) => i()); + delete el._x_attributeCleanups[name]; + } + }); + } + function cleanupElement(el) { + var _a, _b; + (_a = el._x_effects) == null ? void 0 : _a.forEach(dequeueJob); + while ((_b = el._x_cleanups) == null ? void 0 : _b.length) + el._x_cleanups.pop()(); + } + var observer = new MutationObserver(onMutate); + var currentlyObserving = false; + function startObservingMutations() { + observer.observe(document, { subtree: true, childList: true, attributes: true, attributeOldValue: true }); + currentlyObserving = true; + } + function stopObservingMutations() { + flushObserver(); + observer.disconnect(); + currentlyObserving = false; + } + var queuedMutations = []; + function flushObserver() { + let records = observer.takeRecords(); + queuedMutations.push(() => records.length > 0 && onMutate(records)); + let queueLengthWhenTriggered = queuedMutations.length; + queueMicrotask(() => { + if (queuedMutations.length === queueLengthWhenTriggered) { + while (queuedMutations.length > 0) + queuedMutations.shift()(); + } + }); + } + function mutateDom(callback) { + if (!currentlyObserving) + return callback(); + stopObservingMutations(); + let result = callback(); + startObservingMutations(); + return result; + } + var isCollecting = false; + var deferredMutations = []; + function deferMutations() { + isCollecting = true; + } + function flushAndStopDeferringMutations() { + isCollecting = false; + onMutate(deferredMutations); + deferredMutations = []; + } + function onMutate(mutations) { + if (isCollecting) { + deferredMutations = deferredMutations.concat(mutations); + return; + } + let addedNodes = []; + let removedNodes = /* @__PURE__ */ new Set(); + let addedAttributes = /* @__PURE__ */ new Map(); + let removedAttributes = /* @__PURE__ */ new Map(); + for (let i = 0; i < mutations.length; i++) { + if (mutations[i].target._x_ignoreMutationObserver) + continue; + if (mutations[i].type === "childList") { + mutations[i].removedNodes.forEach((node) => { + if (node.nodeType !== 1) + return; + if (!node._x_marker) + return; + removedNodes.add(node); + }); + mutations[i].addedNodes.forEach((node) => { + if (node.nodeType !== 1) + return; + if (removedNodes.has(node)) { + removedNodes.delete(node); + return; + } + if (node._x_marker) + return; + addedNodes.push(node); + }); + } + if (mutations[i].type === "attributes") { + let el = mutations[i].target; + let name = mutations[i].attributeName; + let oldValue = mutations[i].oldValue; + let add = () => { + if (!addedAttributes.has(el)) + addedAttributes.set(el, []); + addedAttributes.get(el).push({ name, value: el.getAttribute(name) }); + }; + let remove = () => { + if (!removedAttributes.has(el)) + removedAttributes.set(el, []); + removedAttributes.get(el).push(name); + }; + if (el.hasAttribute(name) && oldValue === null) { + add(); + } else if (el.hasAttribute(name)) { + remove(); + add(); + } else { + remove(); + } + } + } + removedAttributes.forEach((attrs, el) => { + cleanupAttributes(el, attrs); + }); + addedAttributes.forEach((attrs, el) => { + onAttributeAddeds.forEach((i) => i(el, attrs)); + }); + for (let node of removedNodes) { + if (addedNodes.some((i) => i.contains(node))) + continue; + onElRemoveds.forEach((i) => i(node)); + } + for (let node of addedNodes) { + if (!node.isConnected) + continue; + onElAddeds.forEach((i) => i(node)); + } + addedNodes = null; + removedNodes = null; + addedAttributes = null; + removedAttributes = null; + } + function scope(node) { + return mergeProxies(closestDataStack(node)); + } + function addScopeToNode(node, data2, referenceNode) { + node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)]; + return () => { + node._x_dataStack = node._x_dataStack.filter((i) => i !== data2); + }; + } + function closestDataStack(node) { + if (node._x_dataStack) + return node._x_dataStack; + if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) { + return closestDataStack(node.host); + } + if (!node.parentNode) { + return []; + } + return closestDataStack(node.parentNode); + } + function mergeProxies(objects) { + return new Proxy({ objects }, mergeProxyTrap); + } + var mergeProxyTrap = { + ownKeys({ objects }) { + return Array.from(new Set(objects.flatMap((i) => Object.keys(i)))); + }, + has({ objects }, name) { + if (name == Symbol.unscopables) + return false; + return objects.some((obj) => Object.prototype.hasOwnProperty.call(obj, name) || Reflect.has(obj, name)); + }, + get({ objects }, name, thisProxy) { + if (name == "toJSON") + return collapseProxies; + return Reflect.get(objects.find((obj) => Reflect.has(obj, name)) || {}, name, thisProxy); + }, + set({ objects }, name, value, thisProxy) { + const target = objects.find((obj) => Object.prototype.hasOwnProperty.call(obj, name)) || objects[objects.length - 1]; + const descriptor = Object.getOwnPropertyDescriptor(target, name); + if ((descriptor == null ? void 0 : descriptor.set) && (descriptor == null ? void 0 : descriptor.get)) + return descriptor.set.call(thisProxy, value) || true; + return Reflect.set(target, name, value); + } + }; + function collapseProxies() { + let keys = Reflect.ownKeys(this); + return keys.reduce((acc, key) => { + acc[key] = Reflect.get(this, key); + return acc; + }, {}); + } + function initInterceptors(data2) { + let isObject2 = (val) => typeof val === "object" && !Array.isArray(val) && val !== null; + let recurse = (obj, basePath = "") => { + Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => { + if (enumerable === false || value === void 0) + return; + if (typeof value === "object" && value !== null && value.__v_skip) + return; + let path = basePath === "" ? key : `${basePath}.${key}`; + if (typeof value === "object" && value !== null && value._x_interceptor) { + obj[key] = value.initialize(data2, path, key); + } else { + if (isObject2(value) && value !== obj && !(value instanceof Element)) { + recurse(value, path); + } + } + }); + }; + return recurse(data2); + } + function interceptor(callback, mutateObj = () => { + }) { + let obj = { + initialValue: void 0, + _x_interceptor: true, + initialize(data2, path, key) { + return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key); + } + }; + mutateObj(obj); + return (initialValue) => { + if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) { + let initialize = obj.initialize.bind(obj); + obj.initialize = (data2, path, key) => { + let innerValue = initialValue.initialize(data2, path, key); + obj.initialValue = innerValue; + return initialize(data2, path, key); + }; + } else { + obj.initialValue = initialValue; + } + return obj; + }; + } + function get(obj, path) { + return path.split(".").reduce((carry, segment) => carry[segment], obj); + } + function set(obj, path, value) { + if (typeof path === "string") + path = path.split("."); + if (path.length === 1) + obj[path[0]] = value; + else if (path.length === 0) + throw error; + else { + if (obj[path[0]]) + return set(obj[path[0]], path.slice(1), value); + else { + obj[path[0]] = {}; + return set(obj[path[0]], path.slice(1), value); + } + } + } + var magics = {}; + function magic(name, callback) { + magics[name] = callback; + } + function injectMagics(obj, el) { + let memoizedUtilities = getUtilities(el); + Object.entries(magics).forEach(([name, callback]) => { + Object.defineProperty(obj, `$${name}`, { + get() { + return callback(el, memoizedUtilities); + }, + enumerable: false + }); + }); + return obj; + } + function getUtilities(el) { + let [utilities, cleanup] = getElementBoundUtilities(el); + let utils = { interceptor, ...utilities }; + onElRemoved(el, cleanup); + return utils; + } + function tryCatch(el, expression, callback, ...args) { + try { + return callback(...args); + } catch (e) { + handleError(e, el, expression); + } + } + function handleError(...args) { + return errorHandler(...args); + } + var errorHandler = normalErrorHandler; + function setErrorHandler(handler4) { + errorHandler = handler4; + } + function normalErrorHandler(error2, el, expression = void 0) { + error2 = Object.assign(error2 != null ? error2 : { message: "No error message given." }, { el, expression }); + console.warn(`Alpine Expression Error: ${error2.message} + +${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); + setTimeout(() => { + throw error2; + }, 0); + } + var shouldAutoEvaluateFunctions = true; + function dontAutoEvaluateFunctions(callback) { + let cache = shouldAutoEvaluateFunctions; + shouldAutoEvaluateFunctions = false; + let result = callback(); + shouldAutoEvaluateFunctions = cache; + return result; + } + function evaluate(el, expression, extras = {}) { + let result; + evaluateLater(el, expression)((value) => result = value, extras); + return result; + } + function evaluateLater(...args) { + return theEvaluatorFunction(...args); + } + var theEvaluatorFunction = normalEvaluator; + function setEvaluator(newEvaluator) { + theEvaluatorFunction = newEvaluator; + } + var theRawEvaluatorFunction; + function setRawEvaluator(newEvaluator) { + theRawEvaluatorFunction = newEvaluator; + } + function normalEvaluator(el, expression) { + let overriddenMagics = {}; + injectMagics(overriddenMagics, el); + let dataStack = [overriddenMagics, ...closestDataStack(el)]; + let evaluator = typeof expression === "function" ? generateEvaluatorFromFunction(dataStack, expression) : generateEvaluatorFromString(dataStack, expression, el); + return tryCatch.bind(null, el, expression, evaluator); + } + function generateEvaluatorFromFunction(dataStack, func) { + return (receiver = () => { + }, { scope: scope2 = {}, params = [], context } = {}) => { + if (!shouldAutoEvaluateFunctions) { + runIfTypeOfFunction(receiver, func, mergeProxies([scope2, ...dataStack]), params); + return; + } + let result = func.apply(mergeProxies([scope2, ...dataStack]), params); + runIfTypeOfFunction(receiver, result); + }; + } + var evaluatorMemo = {}; + function generateFunctionFromString(expression, el) { + if (evaluatorMemo[expression]) { + return evaluatorMemo[expression]; + } + let AsyncFunction = Object.getPrototypeOf(async function() { + }).constructor; + let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression.trim()) || /^(let|const)\s/.test(expression.trim()) ? `(async()=>{ ${expression} })()` : expression; + const safeAsyncFunction = () => { + try { + let func2 = new AsyncFunction(["__self", "scope"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`); + Object.defineProperty(func2, "name", { + value: `[Alpine] ${expression}` + }); + return func2; + } catch (error2) { + handleError(error2, el, expression); + return Promise.resolve(); + } + }; + let func = safeAsyncFunction(); + evaluatorMemo[expression] = func; + return func; + } + function generateEvaluatorFromString(dataStack, expression, el) { + let func = generateFunctionFromString(expression, el); + return (receiver = () => { + }, { scope: scope2 = {}, params = [], context } = {}) => { + func.result = void 0; + func.finished = false; + let completeScope = mergeProxies([scope2, ...dataStack]); + if (typeof func === "function") { + let promise = func.call(context, func, completeScope).catch((error2) => handleError(error2, el, expression)); + if (func.finished) { + runIfTypeOfFunction(receiver, func.result, completeScope, params, el); + func.result = void 0; + } else { + promise.then((result) => { + runIfTypeOfFunction(receiver, result, completeScope, params, el); + }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0); + } + } + }; + } + function runIfTypeOfFunction(receiver, value, scope2, params, el) { + if (shouldAutoEvaluateFunctions && typeof value === "function") { + let result = value.apply(scope2, params); + if (result instanceof Promise) { + result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value)); + } else { + receiver(result); + } + } else if (typeof value === "object" && value instanceof Promise) { + value.then((i) => receiver(i)); + } else { + receiver(value); + } + } + function evaluateRaw(...args) { + return theRawEvaluatorFunction(...args); + } + function normalRawEvaluator(el, expression, extras = {}) { + var _a, _b; + let overriddenMagics = {}; + injectMagics(overriddenMagics, el); + let dataStack = [overriddenMagics, ...closestDataStack(el)]; + let scope2 = mergeProxies([(_a = extras.scope) != null ? _a : {}, ...dataStack]); + let params = (_b = extras.params) != null ? _b : []; + if (expression.includes("await")) { + let AsyncFunction = Object.getPrototypeOf(async function() { + }).constructor; + let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression.trim()) || /^(let|const)\s/.test(expression.trim()) ? `(async()=>{ ${expression} })()` : expression; + let func = new AsyncFunction(["scope"], `with (scope) { let __result = ${rightSideSafeExpression}; return __result }`); + let result = func.call(extras.context, scope2); + return result; + } else { + let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression.trim()) || /^(let|const)\s/.test(expression.trim()) ? `(()=>{ ${expression} })()` : expression; + let func = new Function(["scope"], `with (scope) { let __result = ${rightSideSafeExpression}; return __result }`); + let result = func.call(extras.context, scope2); + if (typeof result === "function" && shouldAutoEvaluateFunctions) { + return result.apply(scope2, params); + } + return result; + } + } + var prefixAsString = "x-"; + function prefix(subject = "") { + return prefixAsString + subject; + } + function setPrefix(newPrefix) { + prefixAsString = newPrefix; + } + var directiveHandlers = {}; + function directive2(name, callback) { + directiveHandlers[name] = callback; + return { + before(directive22) { + if (!directiveHandlers[directive22]) { + console.warn(String.raw`Cannot find directive \`${directive22}\`. \`${name}\` will use the default order of execution`); + return; + } + const pos = directiveOrder.indexOf(directive22); + directiveOrder.splice(pos >= 0 ? pos : directiveOrder.indexOf("DEFAULT"), 0, name); + } + }; + } + function directiveExists(name) { + return Object.keys(directiveHandlers).includes(name); + } + function directives(el, attributes, originalAttributeOverride) { + attributes = Array.from(attributes); + if (el._x_virtualDirectives) { + let vAttributes = Object.entries(el._x_virtualDirectives).map(([name, value]) => ({ name, value })); + let staticAttributes = attributesOnly(vAttributes); + vAttributes = vAttributes.map((attribute) => { + if (staticAttributes.find((attr) => attr.name === attribute.name)) { + return { + name: `x-bind:${attribute.name}`, + value: `"${attribute.value}"` + }; + } + return attribute; + }); + attributes = attributes.concat(vAttributes); + } + let transformedAttributeMap = {}; + let directives2 = attributes.map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority); + return directives2.map((directive22) => { + return getDirectiveHandler(el, directive22); + }); + } + function attributesOnly(attributes) { + return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr)); + } + var isDeferringHandlers = false; + var directiveHandlerStacks = /* @__PURE__ */ new Map(); + var currentHandlerStackKey = Symbol(); + function deferHandlingDirectives(callback) { + isDeferringHandlers = true; + let key = Symbol(); + currentHandlerStackKey = key; + directiveHandlerStacks.set(key, []); + let flushHandlers = () => { + while (directiveHandlerStacks.get(key).length) + directiveHandlerStacks.get(key).shift()(); + directiveHandlerStacks.delete(key); + }; + let stopDeferring = () => { + isDeferringHandlers = false; + flushHandlers(); + }; + callback(flushHandlers); + stopDeferring(); + } + function getElementBoundUtilities(el) { + let cleanups2 = []; + let cleanup = (callback) => cleanups2.push(callback); + let [effect3, cleanupEffect] = elementBoundEffect(el); + cleanups2.push(cleanupEffect); + let utilities = { + Alpine: alpine_default, + effect: effect3, + cleanup, + evaluateLater: evaluateLater.bind(evaluateLater, el), + evaluate: evaluate.bind(evaluate, el) + }; + let doCleanup = () => cleanups2.forEach((i) => i()); + return [utilities, doCleanup]; + } + function getDirectiveHandler(el, directive22) { + let noop = () => { + }; + let handler4 = directiveHandlers[directive22.type] || noop; + let [utilities, cleanup] = getElementBoundUtilities(el); + onAttributeRemoved(el, directive22.original, cleanup); + let fullHandler = () => { + if (el._x_ignore || el._x_ignoreSelf) + return; + handler4.inline && handler4.inline(el, directive22, utilities); + handler4 = handler4.bind(handler4, el, directive22, utilities); + isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler4) : handler4(); + }; + fullHandler.runCleanups = cleanup; + return fullHandler; + } + var startingWith = (subject, replacement) => ({ name, value }) => { + if (name.startsWith(subject)) + name = name.replace(subject, replacement); + return { name, value }; + }; + var into = (i) => i; + function toTransformedAttributes(callback = () => { + }) { + return ({ name, value }) => { + let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => { + return transform(carry); + }, { name, value }); + if (newName !== name) + callback(newName, name); + return { name: newName, value: newValue }; + }; + } + var attributeTransformers = []; + function mapAttributes(callback) { + attributeTransformers.push(callback); + } + function outNonAlpineAttributes({ name }) { + return alpineAttributeRegex().test(name); + } + var alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\b`); + function toParsedDirectives(transformedAttributeMap, originalAttributeOverride) { + return ({ name, value }) => { + if (name === value) + value = ""; + let typeMatch = name.match(alpineAttributeRegex()); + let valueMatch = name.match(/:([a-zA-Z0-9\-_:]+)/); + let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || []; + let original = originalAttributeOverride || transformedAttributeMap[name] || name; + return { + type: typeMatch ? typeMatch[1] : null, + value: valueMatch ? valueMatch[1] : null, + modifiers: modifiers.map((i) => i.replace(".", "")), + expression: value, + original + }; + }; + } + var DEFAULT = "DEFAULT"; + var directiveOrder = [ + "ignore", + "ref", + "data", + "id", + "anchor", + "bind", + "init", + "for", + "model", + "modelable", + "transition", + "show", + "if", + DEFAULT, + "teleport" + ]; + function byPriority(a, b) { + let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type; + let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type; + return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB); + } + function dispatch3(el, name, detail = {}) { + el.dispatchEvent(new CustomEvent(name, { + detail, + bubbles: true, + composed: true, + cancelable: true + })); + } + function walk(el, callback) { + if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) { + Array.from(el.children).forEach((el2) => walk(el2, callback)); + return; + } + let skip = false; + callback(el, () => skip = true); + if (skip) + return; + let node = el.firstElementChild; + while (node) { + walk(node, callback, false); + node = node.nextElementSibling; + } + } + function warn(message, ...args) { + console.warn(`Alpine Warning: ${message}`, ...args); + } + var started = false; + function start2() { + if (started) + warn("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."); + started = true; + if (!document.body) + warn("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` - +
-
-
-

{{ $title ?? 'Page Title' }} - {{ config('app.name') }}

-
- -
- - Admin Panel - -
-
+ @include('layouts.partials.header') {{ $slot }} + + @include('layouts.partials.footer')
{{-- Scripts --}} diff --git a/resources/views/layouts/guest.blade.php b/resources/views/layouts/guest.blade.php new file mode 100644 index 000000000..8e702f5ee --- /dev/null +++ b/resources/views/layouts/guest.blade.php @@ -0,0 +1,36 @@ + + + + + + + {{ $title }} - {{ config('app.name') }} + + + {{-- Fonts --}} + + + {{-- Styles --}} + @filamentStyles + @vite('resources/css/app.css') + + + + + {{ $slot }} + + {{-- Scripts --}} + @filamentScripts + + diff --git a/resources/views/layouts/partials/footer.blade.php b/resources/views/layouts/partials/footer.blade.php new file mode 100644 index 000000000..bca1d3815 --- /dev/null +++ b/resources/views/layouts/partials/footer.blade.php @@ -0,0 +1,15 @@ + diff --git a/resources/views/layouts/partials/header.blade.php b/resources/views/layouts/partials/header.blade.php new file mode 100644 index 000000000..d26419f78 --- /dev/null +++ b/resources/views/layouts/partials/header.blade.php @@ -0,0 +1,80 @@ +
+
+

{{ $title ?? 'Page Title' }} - {{ config('app.name') }}

+
+ +
+
+ + + + + +
+ + @auth + + + + {{ __('general.admin') }} + + @else + + {{ __('auth.sign_in') }} + + @endauth +
+
diff --git a/resources/views/livewire/debug/timezone.blade.php b/resources/views/livewire/debug/timezone.blade.php deleted file mode 100644 index 930db4c4e..000000000 --- a/resources/views/livewire/debug/timezone.blade.php +++ /dev/null @@ -1,76 +0,0 @@ -
- -
-
-

Debug Time Zone - {{ config('app.name') }}

- -

- The purpose of this page is to help debut the current issues around time zones and local time. The table below displays an output of the applications current configuration. -

-
-
-
- -
-
-
-

Timezone

-
- -
    -
  • -

    PHP time zone

    -

    {{ date_default_timezone_get() }}

    -
  • - -
  • -

    App time zone

    -

    {{ config('app.timezone') }}

    -
  • - -
  • -

    Settings time zone

    -

    {{ $settings['timezone'] }} ({{ \Carbon\Carbon::create($settings['timezone'])->format('P') }})

    -
  • -
-
- -
-
-

Time

-
- -
    -
  • -

    UTC time

    -

    {{ \Carbon\Carbon::now() }}

    -
  • - -
  • -

    Local time

    -

    {{ \Carbon\Carbon::now()->timezone($settings['timezone'] ?? 'UTC') }}

    -
  • -
-
- - @isset($latest) -
-
-

Latest result

-
- -
    -
  • -

    Latest result ran at

    -

    {{ $latest->created_at->timezone($settings['db_has_timezone'] ? null : $settings['timezone'] ?? 'UTC')->format('M. jS, Y h:i:s') }}

    -
  • - -
  • -

    Diff for humans

    -

    {{ $latest->created_at->diffForHumans() }}

    -
  • -
-
- @endisset -
-
diff --git a/resources/views/livewire/deprecated-notification-channels-banner.blade.php b/resources/views/livewire/deprecated-notification-channels-banner.blade.php new file mode 100644 index 000000000..a96ed0441 --- /dev/null +++ b/resources/views/livewire/deprecated-notification-channels-banner.blade.php @@ -0,0 +1,25 @@ +
+ @if ($this->hasDeprecatedChannels) +
+
+
+ +
+ +
+

+ Deprecated Notification Channels +

+
+

+ You are currently using the following deprecated notification channels: {{ implode(', ', $this->deprecatedChannelsList) }}. +

+

+ These channels will be removed at the end of January 2026. As of that moment you will no longer receive notifications. Please migrate to Apprise which supports all these services and more. +

+
+
+
+
+ @endif +
diff --git a/resources/views/livewire/latest-result-stats.blade.php b/resources/views/livewire/latest-result-stats.blade.php new file mode 100644 index 000000000..f6997016a --- /dev/null +++ b/resources/views/livewire/latest-result-stats.blade.php @@ -0,0 +1,150 @@ +
+ @filled($this->latestResult) +
+
+
+
+

+ + {{ __('general.last_results') }} +

+ +

{{ $this->latestResult->created_at->timezone(config('app.display_timezone'))->format(config('app.datetime_format')) }}

+
+ + @auth + + {{ __('general.view') }} + + @endauth +
+
+ + + + {{ __('general.download') }} + + + @php + $downloadBenchmark = Arr::get($this->latestResult->benchmarks, 'download'); + $downloadBenchmarkPassed = Arr::get($downloadBenchmark, 'passed', false); + @endphp + + @filled($downloadBenchmark) + + $downloadBenchmarkPassed, + 'text-amber-500 dark:text-amber-400' => ! $downloadBenchmarkPassed, + ]) title="Benchmark {{ $downloadBenchmarkPassed ? 'passed' : 'failed' }}"> + @if ($downloadBenchmarkPassed) + + @else + + @endif + {{ Arr::get($downloadBenchmark, 'value').' '.str(Arr::get($downloadBenchmark, 'unit'))->title() }} + + + @endfilled + +

+ @php + $download = \App\Helpers\Bitrate::formatBits(\App\Helpers\Bitrate::bytesToBits($this->latestResult?->download)); + + $download = explode(' ', $download); + @endphp + + {{ $download[0] }} + {{ $download[1].'ps' }} +

+
+ + + + {{ __('general.upload') }} + + + @php + $uploadBenchmark = Arr::get($this->latestResult->benchmarks, 'upload'); + $uploadBenchmarkPassed = Arr::get($uploadBenchmark, 'passed', false); + @endphp + + @filled($uploadBenchmark) + + $uploadBenchmarkPassed, + 'text-amber-500 dark:text-amber-400' => ! $uploadBenchmarkPassed, + ]) title="Benchmark {{ $uploadBenchmarkPassed ? 'passed' : 'failed' }}"> + @if ($uploadBenchmarkPassed) + + @else + + @endif + {{ Arr::get($uploadBenchmark, 'value').' '.str(Arr::get($uploadBenchmark, 'unit'))->title() }} + + + @endfilled + +

+ @php + $upload = \App\Helpers\Bitrate::formatBits(\App\Helpers\Bitrate::bytesToBits($this->latestResult?->upload)); + + $upload = explode(' ', $upload); + @endphp + + {{ $upload[0] }} + {{ $upload[1].'ps' }} +

+
+ + + + {{ __('general.ping') }} + + + @php + $pingBenchmark = Arr::get($this->latestResult->benchmarks, 'ping'); + $pingBenchmarkPassed = Arr::get($pingBenchmark, 'passed', false); + @endphp + + @filled($pingBenchmark) + + $pingBenchmarkPassed, + 'text-amber-500 dark:text-amber-400' => ! $pingBenchmarkPassed, + ]) title="Benchmark {{ $pingBenchmarkPassed ? 'passed' : 'failed' }}"> + @if ($pingBenchmarkPassed) + + @else + + @endif + {{ Arr::get($pingBenchmark, 'value').' '.str(Arr::get($pingBenchmark, 'unit')) }} + + + @endfilled + +

+ {{ round($this->latestResult?->ping, 2) }} + ms +

+
+ + + + {{ __('results.packet_loss') }} + + +

+ {{ round($this->latestResult?->packet_loss, 2) }} + % +

+
+
+ @endfilled +
diff --git a/resources/views/livewire/next-speedtest-banner.blade.php b/resources/views/livewire/next-speedtest-banner.blade.php new file mode 100644 index 000000000..f7f9211c0 --- /dev/null +++ b/resources/views/livewire/next-speedtest-banner.blade.php @@ -0,0 +1,17 @@ +
+ @if ($this->nextSpeedtest) +
+
+
+ +
+ +
+

+ {{ __('dashboard.next_speedtest_at') }} {{ $this->nextSpeedtest->timezone(config('app.display_timezone'))->format(config('app.datetime_format')) }}. +

+
+
+
+ @endif +
diff --git a/resources/views/livewire/platform-stats.blade.php b/resources/views/livewire/platform-stats.blade.php new file mode 100644 index 000000000..00caf7a17 --- /dev/null +++ b/resources/views/livewire/platform-stats.blade.php @@ -0,0 +1,50 @@ +
+
+

+ + {{ __('general.statistics') }} +

+ + {{-- +
+

Quota Usage

+ Edit +
+ +
+
+ Bandwidth + 450MB of 1 GB +
+ +
+
+
+
+
--}} + + + + {{ __('general.total') }} + + +

{{ $this->platformStats['total'] }}

+
+ + + + {{ __('general.total_complted') }} + + +

{{ $this->platformStats['completed'] }}

+
+ + + + {{ __('general.total_failed') }} + + +

{{ $this->platformStats['failed'] }}

+
+
+
diff --git a/resources/views/livewire/topbar/actions.blade.php b/resources/views/livewire/topbar/actions.blade.php new file mode 100644 index 000000000..20db6f5ea --- /dev/null +++ b/resources/views/livewire/topbar/actions.blade.php @@ -0,0 +1,11 @@ +
+
+ {{ $this->speedtestAction }} + + @if ($showDashboard) + {{ $this->dashboardAction }} + @endif +
+ + +
diff --git a/resources/views/emails/speedtest-completed.blade.php b/resources/views/mail/speedtest/completed.blade.php similarity index 79% rename from resources/views/emails/speedtest-completed.blade.php rename to resources/views/mail/speedtest/completed.blade.php index ab353ef57..cb0413e47 100644 --- a/resources/views/emails/speedtest-completed.blade.php +++ b/resources/views/mail/speedtest/completed.blade.php @@ -8,10 +8,14 @@ |:------------|---------------------------:| | Server name | {{ $serverName }} | | Server ID | {{ $serverId }} | +| ISP | {{ $isp }} | | Ping | {{ $ping }} | | Download | {{ $download }} | | Upload | {{ $upload }} | +@filled($packetLoss) | Packet Loss | {{ $packetLoss }} **%** | +@endfilled + @@ -19,6 +23,10 @@ View Results + +View Results on Ookla + + Thanks,
{{ config('app.name') }} diff --git a/resources/views/mail/speedtest/unhealthy.blade.php b/resources/views/mail/speedtest/unhealthy.blade.php new file mode 100644 index 000000000..f5934fd1e --- /dev/null +++ b/resources/views/mail/speedtest/unhealthy.blade.php @@ -0,0 +1,17 @@ + +# Speedtest Threshold Breached - #{{ $id }} + +A new speedtest was completed using **{{ $service }}** on **{{ $isp }}** but a threshold was breached. + + +| **Metric** | **Type** | **Threshold Value** | **Result Value** | **Status** | +|:-----------|:---------|:--------------------|:-----------------|:---------:| +@foreach ($benchmarks as $benchmark) +| {{ $benchmark['metric'] }} | {{ $benchmark['type'] }} | {{ $benchmark['threshold_value'] }} | {{ $benchmark['result_value'] }} | {{ $benchmark['passed'] ? '✅' : '❌' }} | +@endforeach + + + +{{ __('general.view') }} + + diff --git a/resources/views/emails/test.blade.php b/resources/views/mail/test.blade.php similarity index 100% rename from resources/views/emails/test.blade.php rename to resources/views/mail/test.blade.php diff --git a/resources/views/ntfy/speedtest-completed.blade.php b/resources/views/ntfy/speedtest-completed.blade.php new file mode 100644 index 000000000..64501e794 --- /dev/null +++ b/resources/views/ntfy/speedtest-completed.blade.php @@ -0,0 +1,15 @@ +Deprecation Notice: The Ntfy notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Ntfy and many other services. + +Speedtest Completed - #{{ $id }} + +A new speedtest on {{ config('app.name') }} was completed using {{ $service }}. + +Server name: {{ $serverName }} +Server ID: {{ $serverId }} +ISP: {{ $isp }} +Ping: {{ $ping }} +Download: {{ $download }} +Upload: {{ $upload }} +Packet Loss: {{ $packetLoss }} % +Ookla Speedtest: {{ $speedtest_url }} +URL: {{ $url }} diff --git a/resources/views/ntfy/speedtest-threshold.blade.php b/resources/views/ntfy/speedtest-threshold.blade.php new file mode 100644 index 000000000..7e9ef3c93 --- /dev/null +++ b/resources/views/ntfy/speedtest-threshold.blade.php @@ -0,0 +1,11 @@ +Deprecation Notice: The Ntfy notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Ntfy and many other services. + +Speedtest Threshold Breached - #{{ $id }} + +A new speedtest on **{{ config('app.name') }}** was completed using **{{ $service }}** on **{{ $isp }}** but a threshold was breached. + +@foreach ($metrics as $item) +- {{ $item['name'] }} {{ $item['threshold'] }}: {{ $item['value'] }} +@endforeach +- Ookla Speedtest: {{ $speedtest_url }} +- URL: {{ $url }} diff --git a/resources/views/pushover/speedtest-completed.blade.php b/resources/views/pushover/speedtest-completed.blade.php new file mode 100644 index 000000000..dfae02299 --- /dev/null +++ b/resources/views/pushover/speedtest-completed.blade.php @@ -0,0 +1,15 @@ +Deprecation Notice: The Pushover notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Pushover and many other services. + +Speedtest Completed - #{{ $id }} + +A new speedtest on {{ config('app.name') }} was completed using {{ $service }}. + +- Server name: {{ $serverName }} +- Server ID: {{ $serverId }} +- ISP: {{ $isp }} +- Ping: {{ $ping }} +- Download: {{ $download }} +- Upload: {{ $upload }} +- Packet Loss: {{ $packetLoss }} % +- Ookla Speedtest: {{ $speedtest_url }} +- URL: {{ $url }} diff --git a/resources/views/pushover/speedtest-threshold.blade.php b/resources/views/pushover/speedtest-threshold.blade.php new file mode 100644 index 000000000..6f222fa19 --- /dev/null +++ b/resources/views/pushover/speedtest-threshold.blade.php @@ -0,0 +1,11 @@ +Deprecation Notice: The Pushover notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Pushover and many other services. + +Speedtest Threshold Breached - #{{ $id }} + +A new speedtest on **{{ config('app.name') }}** was completed using **{{ $service }}** on **{{ $isp }}** but a threshold was breached. + +@foreach ($metrics as $item) +- {{ $item['name'] }} {{ $item['threshold'] }}: {{ $item['value'] }} +@endforeach +- Ookla Speedtest: {{ $speedtest_url }} +- URL: {{ $url }} diff --git a/resources/views/slack/speedtest-completed.blade.php b/resources/views/slack/speedtest-completed.blade.php new file mode 100644 index 000000000..c1abcefc5 --- /dev/null +++ b/resources/views/slack/speedtest-completed.blade.php @@ -0,0 +1,15 @@ +*Deprecation Notice: The Slack notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Slack and many other services.* + +*Speedtest Completed - #{{ $id }}* + +A new speedtest on *{{ config('app.name') }}* was completed using *{{ $service }}*. + +- *Server name:* {{ $serverName }} +- *Server ID:* {{ $serverId }} +- *ISP:* {{ $isp }} +- *Ping:* {{ $ping }} +- *Download:* {{ $download }} +- *Upload:* {{ $upload }} +- *Packet Loss:* {{ $packetLoss }} *%* +- *Ookla Speedtest:* {{ $speedtest_url }} +- *URL:* {{ $url }} diff --git a/resources/views/slack/speedtest-threshold.blade.php b/resources/views/slack/speedtest-threshold.blade.php new file mode 100644 index 000000000..2d4a31fc5 --- /dev/null +++ b/resources/views/slack/speedtest-threshold.blade.php @@ -0,0 +1,11 @@ +*Deprecation Notice: The Slack notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Slack and many other services.* + +**Speedtest Threshold Breached - #{{ $id }}** + +A new speedtest on **{{ config('app.name') }}** was completed using **{{ $service }}** on **{{ $isp }}** but a threshold was breached. + +@foreach ($metrics as $item) +- *{{ $item['name'] }}* {{ $item['threshold'] }}: {{ $item['value'] }} +@endforeach +- *Ookla Speedtest:* {{ $speedtest_url }} +- *URL:* {{ $url }} diff --git a/resources/views/telegram/speedtest-completed.blade.php b/resources/views/telegram/speedtest-completed.blade.php index f7974aa04..ba168cb10 100644 --- a/resources/views/telegram/speedtest-completed.blade.php +++ b/resources/views/telegram/speedtest-completed.blade.php @@ -1,11 +1,15 @@ +**Deprecation Notice: The Telegram notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Telegram and many other services.** + *Speedtest Completed - #{{ $id }}* -A new speedtest was completed using *{{ $service }}*. +A new speedtest on *{{ config('app.name') }}* was completed using *{{ $service }}*. - *Server name:* {{ $serverName }} - *Server ID:* {{ $serverId }} +- **ISP:** {{ $isp }} - *Ping:* {{ $ping }} - *Download:* {{ $download }} - *Upload:* {{ $upload }} -- **Packet Loss:** {{ $packetLoss }} **%** +- **Packet Loss:** {{ $packetLoss }}**%** +- **Ookla Speedtest:** {{ $speedtest_url }} - **URL:** {{ $url }} diff --git a/resources/views/telegram/speedtest-threshold.blade.php b/resources/views/telegram/speedtest-threshold.blade.php index 43ccab9c2..81ef8bb74 100644 --- a/resources/views/telegram/speedtest-threshold.blade.php +++ b/resources/views/telegram/speedtest-threshold.blade.php @@ -1,8 +1,11 @@ -*Speedtest Threshold Breached - #{{ $id }}* +**Deprecation Notice: The Telegram notification channel will stop working at the end of January 2026. Please migrate to Apprise which supports Telegram and many other services.** -A new speedtest was completed using *{{ $service }}* but a threshold was breached. +**Speedtest Threshold Breached - #{{ $id }}** + +A new speedtest on **{{ config('app.name') }}** was completed using **{{ $service }}** on **{{ $isp }}** but a threshold was breached. @foreach ($metrics as $item) -- *{{ $item['name'] }}* {{ $item['threshold'] }}: {{ $item['value'] }} +- **{{ $item['name'] }}** {{ $item['threshold'] }}: {{ $item['value'] }} @endforeach +- **Ookla Speedtest:** {{ $speedtest_url }} - **URL:** {{ $url }} diff --git a/routes/api.php b/routes/api.php index 1a632575b..18b7a82cc 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,31 +1,28 @@ get('/user', function (Request $request) { - return $request->user(); -}); - -Route::get('/healthcheck', HealthCheckController::class); +/** + * Health check route to ensure the API is up and running. + */ +Route::get('/healthcheck', function () { + return response()->json([ + 'message' => 'Speedtest Tracker is running!', + ]); +})->name('healthcheck'); /** * This route provides backwards compatibility from https://github.com/henrywhitaker3/Speedtest-Tracker * for Homepage and Organizr dashboards which expects the returned * download and upload values in mbits. + * + * @deprecated */ Route::get('/speedtest/latest', GetLatestController::class) + ->middleware('accept-json') ->name('speedtest.latest'); + +Route::middleware(['auth:sanctum', 'throttle:api', 'accept-json'])->group(function () { + require __DIR__.'/api/v1/routes.php'; +}); diff --git a/routes/api/v1/routes.php b/routes/api/v1/routes.php new file mode 100644 index 000000000..0bc2c6bbc --- /dev/null +++ b/routes/api/v1/routes.php @@ -0,0 +1,27 @@ +name('api.v1.')->group(function () { + Route::get('/results', [ResultsController::class, 'list']) + ->name('results.list'); + + Route::get('/results/latest', [ResultsController::class, 'latest']) + ->name('results.latest'); + + Route::get('/results/{id}', [ResultsController::class, 'show']) + ->name('results.show'); + + Route::post('/speedtests/run', SpeedtestController::class) + ->name('speedtests.run'); + + Route::get('/ookla/list-servers', OoklaController::class) + ->name('ookla.list-servers'); + + Route::get('/stats', StatsController::class) + ->name('stats.aggregated'); +}); diff --git a/routes/channels.php b/routes/channels.php deleted file mode 100644 index 5d451e1fa..000000000 --- a/routes/channels.php +++ /dev/null @@ -1,18 +0,0 @@ -id === (int) $id; -}); diff --git a/routes/console.php b/routes/console.php index e05f4c9a1..e4a670f0b 100644 --- a/routes/console.php +++ b/routes/console.php @@ -1,19 +1,30 @@ daily() + ->when(function () { + return config('speedtest.prune_results_older_than') > 0; + }); -Artisan::command('inspire', function () { - $this->comment(Inspiring::quote()); -})->purpose('Display an inspiring quote'); +/** + * Nightly maintenance + */ +Schedule::daily() + ->group(function () { + Schedule::command('queue:prune-batches --hours=48'); + Schedule::command('queue:prune-failed --hours=48'); + }); + +/** + * Check for scheduled speedtests. + */ +Schedule::everyMinute() + ->group(function () { + Schedule::call(fn () => CheckForScheduledSpeedtests::run()); + }); diff --git a/routes/debug.php b/routes/debug.php deleted file mode 100644 index 4c1538950..000000000 --- a/routes/debug.php +++ /dev/null @@ -1,7 +0,0 @@ -name('debug.timezone'); diff --git a/routes/web.php b/routes/web.php index fc54d396e..19ca32a2a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,8 @@ middleware(['getting-started', 'public-dashboard']) ->name('home'); +Route::get('/prometheus', MetricsController::class) + ->middleware(PrometheusAllowedIpMiddleware::class) + ->name('prometheus'); + +Route::view('/getting-started', 'getting-started') + ->name('getting-started'); + Route::redirect('/login', '/admin/login') ->name('login'); -require __DIR__.'/debug.php'; - if (app()->isLocal()) { require __DIR__.'/test.php'; } diff --git a/storage/app/.gitignore b/storage/app/.gitignore index 8f4803c05..fedb287fe 100644 --- a/storage/app/.gitignore +++ b/storage/app/.gitignore @@ -1,3 +1,4 @@ * +!private/ !public/ !.gitignore diff --git a/storage/app/private/.gitignore b/storage/app/private/.gitignore new file mode 100644 index 000000000..d6b7ef32c --- /dev/null +++ b/storage/app/private/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index f693f9584..000000000 --- a/tailwind.config.js +++ /dev/null @@ -1,30 +0,0 @@ -import defaultTheme from 'tailwindcss/defaultTheme'; -import forms from '@tailwindcss/forms'; -import presets from './vendor/filament/support/tailwind.config.preset'; -import typography from '@tailwindcss/typography'; - -/** @type {import('tailwindcss').Config} */ -export default { - presets: [presets], - - content: [ - './app/Filament/**/*.php', - './resources/views/**/*.blade.php', - './vendor/filament/**/*.blade.php', - ], - - darkMode: 'class', - - theme: { - extend: { - fontFamily: { - sans: ['Inter', ...defaultTheme.fontFamily.sans], - }, - }, - }, - - plugins: [ - forms, - typography, - ], -} diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php deleted file mode 100644 index cc6830112..000000000 --- a/tests/CreatesApplication.php +++ /dev/null @@ -1,21 +0,0 @@ -make(Kernel::class)->bootstrap(); - - return $app; - } -} diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100644 index 871bfbcf1..000000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,19 +0,0 @@ -get('/admin/login'); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/FeatureTestCase.php b/tests/Feature/FeatureTestCase.php new file mode 100644 index 000000000..40578e752 --- /dev/null +++ b/tests/Feature/FeatureTestCase.php @@ -0,0 +1,10 @@ +fill(['prometheus_enabled' => false])->save(); + + $response = $this->get('/prometheus'); + + $response->assertNotFound(); + }); + + test('returns metrics when prometheus is enabled and no IP restrictions', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => [], + ])->save(); + + Result::factory()->create(); + + $response = $this->get('/prometheus'); + + $response->assertSuccessful(); + $response->assertHeader('Content-Type', 'text/plain; version=0.0.4; charset=utf-8'); + }); + + test('returns 403 when IP is not in allowed list', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => ['192.168.1.100', '10.0.0.1'], + ])->save(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '192.168.1.50', + ]); + + $response->assertForbidden(); + }); + + test('returns metrics when IP is in allowed list', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => ['192.168.1.100', '10.0.0.1'], + ])->save(); + + Result::factory()->create(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '192.168.1.100', + ]); + + $response->assertSuccessful(); + $response->assertHeader('Content-Type', 'text/plain; version=0.0.4; charset=utf-8'); + }); + + test('allows access with empty array', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => [], + ])->save(); + + Result::factory()->create(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '10.0.0.1', + ]); + + $response->assertSuccessful(); + }); + + test('allows access when IP is in CIDR range', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => ['192.168.1.0/24'], + ])->save(); + + Result::factory()->create(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '192.168.1.150', + ]); + + $response->assertSuccessful(); + }); + + test('denies access when IP is not in CIDR range', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => ['192.168.1.0/24'], + ])->save(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '192.168.2.1', + ]); + + $response->assertForbidden(); + }); + + test('supports mixed IP addresses and CIDR ranges', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => ['10.0.0.1', '192.168.1.0/24'], + ])->save(); + + Result::factory()->create(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '192.168.1.50', + ]); + + $response->assertSuccessful(); + + $response = $this->get('/prometheus', [ + 'REMOTE_ADDR' => '10.0.0.1', + ]); + + $response->assertSuccessful(); + }); +}); diff --git a/tests/Feature/RouteTest.php b/tests/Feature/RouteTest.php new file mode 100644 index 000000000..8dc6547cf --- /dev/null +++ b/tests/Feature/RouteTest.php @@ -0,0 +1,73 @@ +get('/login'); + + $response->assertRedirect('/admin/login') + ->assertStatus(302); + }); +}); + +describe('page', function () { + test('can render "home" route', function () { + config()->set('speedtest.public_dashboard', true); + + Result::factory()->create(); + + $response = $this->get('/'); + + $response->assertStatus(200) + ->assertSee('Dashboard'); + }); + + test('can render "getting-started" route', function () { + $response = $this->get('/getting-started'); + + $response->assertStatus(200) + ->assertSee('Getting Started'); + }); + + test('can render "admin" route when authenticated', function () { + $this->actingAs(User::factory()->create()); + + $response = $this->get('/admin'); + + $response->assertStatus(200); + }); +}); + +describe('redirects', function () { + test('redirect "admin" to login page when not authenticated', function () { + $response = $this->get('/admin'); + + $response->assertRedirect('/admin/login') + ->assertStatus(302); + }); + + test('redirect "home" to login page when public dashboard is disabled', function () { + config()->set('speedtest.public_dashboard', false); + + Result::factory()->create(); + + $response = $this->get('/'); + + $response->assertRedirect('/admin/login') + ->assertStatus(302); + }); + + test('redirect "home" route to "getting-started" when there are no results', function () { + $response = $this->get('/'); + + $response->assertRedirect('/getting-started') + ->assertStatus(302); + }); +}); diff --git a/tests/Pest.php b/tests/Pest.php new file mode 100644 index 000000000..a80efec37 --- /dev/null +++ b/tests/Pest.php @@ -0,0 +1,51 @@ +extend(Tests\Feature\FeatureTestCase::class) + ->use(Illuminate\Foundation\Testing\RefreshDatabase::class) + ->in('Feature'); + +pest()->extend(Tests\Unit\UnitTestCase::class) + ->use(Illuminate\Foundation\Testing\RefreshDatabase::class) + ->in('Unit'); + +/* +|-------------------------------------------------------------------------- +| Expectations +|-------------------------------------------------------------------------- +| +| When you're writing tests, you often need to check that values meet certain conditions. The +| "expect()" function gives you access to a set of "expectations" methods that you can use +| to assert different things. Of course, you may extend the Expectation API at any time. +| +*/ + +expect()->extend('toBeOne', function () { + return $this->toBe(1); +}); + +/* +|-------------------------------------------------------------------------- +| Functions +|-------------------------------------------------------------------------- +| +| While Pest is very powerful out-of-the-box, you may have some testing code specific to your +| project that you don't want to repeat in every file. Here you can also expose helpers as +| global functions to help you to reduce the number of lines of code in your test files. +| +*/ + +function something() +{ + // .. +} diff --git a/tests/TestCase.php b/tests/TestCase.php index 2932d4a69..fe1ffc2ff 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -6,5 +6,5 @@ abstract class TestCase extends BaseTestCase { - use CreatesApplication; + // } diff --git a/tests/Unit/AcceptJsonMiddlewareTest.php b/tests/Unit/AcceptJsonMiddlewareTest.php new file mode 100644 index 000000000..60287c096 --- /dev/null +++ b/tests/Unit/AcceptJsonMiddlewareTest.php @@ -0,0 +1,160 @@ +handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(200); + + $content = json_decode($response->getContent(), true); + expect($content['success'])->toBe(true); +}); + +test('AcceptJsonMiddleware accepts requests with Accept: application/json header', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'application/json', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(200); + + $content = json_decode($response->getContent(), true); + expect($content['success'])->toBe(true); +}); + +test('AcceptJsonMiddleware rejects requests with Accept: */json header', function () { + // Laravel's acceptsJson() returns false for */json + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => '*/json', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(406); + + $content = json_decode($response->getContent(), true); + expect($content['message'])->toBe('This endpoint only accepts JSON. Please include "Accept: application/json" in your request headers.'); + expect($content['error'])->toBe('Unsupported Media Type'); +}); + +test('AcceptJsonMiddleware accepts requests with Accept: application/* header', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'application/*', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(200); +}); + +test('AcceptJsonMiddleware accepts requests with multiple Accept headers including application/json', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'text/html,application/json,application/xml;q=0.9,*/*;q=0.8', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(200); +}); + +test('AcceptJsonMiddleware rejects requests with only non-JSON Accept headers', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'text/html,application/xml', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(406); + + $content = json_decode($response->getContent(), true); + expect($content['message'])->toBe('This endpoint only accepts JSON. Please include "Accept: application/json" in your request headers.'); + expect($content['error'])->toBe('Unsupported Media Type'); +}); + +test('AcceptJsonMiddleware sets Content-Type header to application/json when not already set', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'application/json', + ]); + + $response = $middleware->handle($request, function () { + return response(['success' => true]); + }); + + expect($response->headers->get('Content-Type'))->toBe('application/json'); +}); + +test('AcceptJsonMiddleware preserves existing application/json Content-Type header', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'application/json', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->headers->get('Content-Type'))->toContain('application/json'); +}); + +test('AcceptJsonMiddleware rejects requests that only accept HTML', function () { + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => 'text/html', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(406); + + $content = json_decode($response->getContent(), true); + expect($content['message'])->toBe('This endpoint only accepts JSON. Please include "Accept: application/json" in your request headers.'); + expect($content['error'])->toBe('Unsupported Media Type'); +}); + +test('AcceptJsonMiddleware accepts requests with */* Accept header', function () { + // Laravel's acceptsJson() returns true for */* + $middleware = new \App\Http\Middleware\AcceptJsonMiddleware; + + $request = \Illuminate\Http\Request::create('/api/test', 'GET', [], [], [], [ + 'HTTP_ACCEPT' => '*/*', + ]); + + $response = $middleware->handle($request, function () { + return response()->json(['success' => true]); + }); + + expect($response->getStatusCode())->toBe(200); +}); diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php deleted file mode 100644 index fff6e3c4c..000000000 --- a/tests/Unit/ExampleTest.php +++ /dev/null @@ -1,16 +0,0 @@ -assertTrue(true); - } -} diff --git a/tests/Unit/ResultTest.php b/tests/Unit/ResultTest.php new file mode 100644 index 000000000..52cac25da --- /dev/null +++ b/tests/Unit/ResultTest.php @@ -0,0 +1,14 @@ +create(); + + expect(Result::count())->toBe(1); +}); diff --git a/tests/Unit/Services/ScheduledSpeedtestServiceTest.php b/tests/Unit/Services/ScheduledSpeedtestServiceTest.php new file mode 100644 index 000000000..e8c4cc5af --- /dev/null +++ b/tests/Unit/Services/ScheduledSpeedtestServiceTest.php @@ -0,0 +1,67 @@ +set('speedtest.schedule', null); + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeNull(); +}); + +test('returns null when schedule config is false', function () { + config()->set('speedtest.schedule', false); + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeNull(); +}); + +test('returns null when schedule config is blank string', function () { + config()->set('speedtest.schedule', ''); + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeNull(); +}); + +test('returns Carbon instance when schedule is configured', function () { + config()->set('speedtest.schedule', '*/5 * * * *'); // Every 5 minutes + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeInstanceOf(Carbon::class); +}); + +test('returns correct next scheduled time for hourly cron', function () { + config()->set('speedtest.schedule', '0 * * * *'); // Every hour at minute 0 + config()->set('app.display_timezone', 'UTC'); + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeInstanceOf(Carbon::class); + expect($result->minute)->toBe(0); +}); + +test('returns correct next scheduled time for daily cron', function () { + config()->set('speedtest.schedule', '0 0 * * *'); // Every day at midnight + config()->set('app.display_timezone', 'UTC'); + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeInstanceOf(Carbon::class); + expect($result->hour)->toBe(0); + expect($result->minute)->toBe(0); +}); + +test('returns future date for next scheduled test', function () { + config()->set('speedtest.schedule', '*/5 * * * *'); // Every 5 minutes + config()->set('app.display_timezone', 'UTC'); + + $result = ScheduledSpeedtestService::getNextScheduledTest(); + + expect($result)->toBeInstanceOf(Carbon::class); + expect($result->isFuture())->toBeTrue(); +}); diff --git a/tests/Unit/UnitTestCase.php b/tests/Unit/UnitTestCase.php new file mode 100644 index 000000000..8541aa5cb --- /dev/null +++ b/tests/Unit/UnitTestCase.php @@ -0,0 +1,10 @@ +